@font-face{font-family:'IBM Plex Sans';src:url('fonts/ibm-plex-sans-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'IBM Plex Sans';src:url('fonts/ibm-plex-sans-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'IBM Plex Sans';src:url('fonts/ibm-plex-sans-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:'IBM Plex Sans';src:url('fonts/ibm-plex-sans-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--ink:#17283d;--muted:#3b4a5c;--green:#213c5e;--green-dark:#0f1e30;--mint:#e0e3e6;--paper:#eff1f3;--line:#cfd7e1;--white:#fcfcfc;--gold:#d49c72;--radius:12px;--max:1240px;--down:#bd8357;--ease:cubic-bezier(.2,.7,.2,1);--display:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
body{font-family:var(--display);font-size:17px;line-height:1.75;background:var(--paper);color:var(--ink)}h1,h2,h3{font-family:var(--display);font-weight:550;letter-spacing:-.018em}h2{font-size:clamp(34px,4vw,54px);line-height:1.1}h2 em,h1 em{font-family:inherit;font-weight:500;letter-spacing:-.018em;font-style:italic}h2 em{font-size:1.14em;line-height:.92}.wrap{width:min(var(--max),calc(100% - 96px))}.section{padding:80px 0}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:650;margin-bottom:20px}.small,.mono{font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}p{text-wrap:pretty}a,button,input,select,textarea,summary{touch-action:manipulation}.btn{border-radius:3px;background:var(--green-dark);min-height:48px;font-size:14px;font-weight:600;gap:20px;padding:13px 20px;transition:background .25s,transform .25s,box-shadow .25s}.btn:hover{background:var(--green);box-shadow:0 6px 18px #15273d14;transform:translateY(-2px)}.btn span,.text-link>span{display:inline-block;transition:transform .25s}.btn:hover span,.text-link:hover>span{transform:translate(2px,-2px)}.text-link{font-size:14px;border-color:#7d92ac;gap:15px}.reading-progress{height:2px;position:fixed;top:0;left:0;width:100%;z-index:100;background:var(--green);transform:scaleX(0);transform-origin:left;pointer-events:none}.site-header{background:#eff1f3f2;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{height:88px;gap:28px}.brand{font-size:18px;font-weight:700;gap:11px;letter-spacing:-.018em}.brand-mark{height:34px;width:27px}.brand-descriptor{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin-top:0;color:var(--muted)}.nav{margin-left:auto;gap:29px}.nav>a{font-size:13px;font-weight:550}.nav .btn{min-height:40px;border-radius:3px;font-size:13px;padding:9px 17px}.motion-toggle{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:transparent;color:var(--muted);padding:8px 10px;gap:7px;min-height:36px;font-size:12px;border-radius:3px;white-space:nowrap}.motion-toggle>span:first-child{font-size:14px;line-height:1}.motion-toggle:hover{border-color:var(--green);color:var(--ink)}.studio-hero{padding:65px 0 26px;position:relative;isolation:isolate;overflow:hidden}.hero-gridlines{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent calc(50% - 1px),#d1d9e233 50%,transparent calc(50% + 1px)),radial-gradient(ellipse at 90% 10%,#dadde188,transparent 50%);pointer-events:none}.hero-grid{grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}.hero-copy{padding-bottom:15px}.hero h1{font-size:clamp(54px,5.9vw,84px);line-height:1.03;font-weight:600;letter-spacing:-.018em;margin:26px 0}.hero h1 em{font-size:1.18em;color:var(--green)}.hero .lede{font-size:16px;line-height:1.8;color:#3e4e61;max-width:405px;margin-bottom:18px}.hero-sub{font-size:14px;color:var(--muted);max-width:410px;line-height:1.9;margin-bottom:27px}.hero .actions{gap:24px}.hero .actions .text-link{border:0}.status-dot{display:inline-block;background:#31527a;border-radius:50%;width:6px;height:6px;margin-right:8px;vertical-align:1px;box-shadow:0 0 0 4px #31527a0b}.hero-signature{display:flex;align-items:center;gap:12px;margin-top:35px}.signature-mark{display:grid;place-items:center;background:#dfe2e5;border:1px solid #c3ccd8;color:var(--green);width:38px;height:38px;border-radius:50%;font:600 20px "IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}.hero-signature strong{display:block;font-size:12px;font-weight:650}.hero-signature small{display:block;font-size:12px;color:var(--muted);margin-top:2px}.hero-visual{position:relative}.workspace-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin:0 0 11px;letter-spacing:.04em}.workspace-dot{width:5px;height:5px;border-radius:50%;background:var(--green)}.model-board{background:#11253d;color:#f0f2f4;border:1px solid #3b4b5f;box-shadow:0 28px 70px -35px #0d1e3370,0 0 0 7px #d1d8e14d;border-radius:9px;padding:23px 26px;overflow:hidden}.model-board::before{content:'';position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#b7c5d6,transparent);pointer-events:none}.board-top{font-size:12px;letter-spacing:.11em;color:#b9c4d2}.board-number{font:500 40px/1.1 "IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;letter-spacing:-.018em;margin-top:19px;margin-bottom:5px;font-variant-numeric:tabular-nums}.board-caption{font-size:12px;color:#c0cad6}.bridge{height:115px;gap:14px;margin-top:24px}.bridge-bar{background:#a6b4c6;transition:height .5s var(--ease),bottom .5s var(--ease)}.bridge-bar.negative{background:#cf9e79}.bridge-bar.end{background:#e1e4e8}.bridge-col span{font-size:12px;color:#cdd5df}.bridge-label{margin:28px 0 9px;font-size:12px;color:#b6c2d0}.driver{padding-top:9px;margin-top:8px}.driver label{font-size:12px;color:#e0e2e5}.driver output{font-size:12px}.driver input{height:17px;margin-top:4px;accent-color:#bacadd;min-height:22px}.board-bottom{padding-top:8px;margin-top:9px;font-size:12px}.board-reset{font-size:12px}.board-footer{font-size:12px;max-width:360px;margin-top:4px;line-height:1.7}.scenario-output{font-size:12px;min-height:16px}.workspace-caption{display:flex;gap:12px;align-items:center;font-size:12px;margin-top:17px;color:var(--muted)}.workspace-caption>span{font-size:17px;color:var(--green)}.credential-line{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:44px;padding-top:22px;font-size:12px;color:#495b71}.credential-line span::before{content:'✓';margin-right:8px;color:var(--green)}
.section-top{gap:70px;margin-bottom:35px}.section-top>p{font-size:14px;line-height:1.9;max-width:290px}.section-top h2{max-width:none}.expertise-section{padding-top:68px;border-bottom:1px solid var(--line)}.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);background:#f7f8f9}.expertise-card{position:relative;padding:28px 29px 19px;transition:background .3s}.expertise-card+.expertise-card{border-left:1px solid var(--line)}.expertise-card:hover{background:#e4e7ea}.expertise-card>.eyebrow{font-size:12px;margin-top:20px;margin-bottom:13px}.expertise-card h3{font-size:24px;font-weight:550;line-height:1.23;margin-bottom:14px;letter-spacing:-.018em}.expertise-card p{font-size:13px;line-height:1.9;color:var(--muted);max-width:260px;margin-bottom:23px}.service-bottom{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.service-bottom a{display:grid;place-items:center;width:34px;height:34px;background:#dce0e4;color:var(--green);text-decoration:none;font-size:18px;border-radius:50%;transition:transform .3s,background .3s}.service-bottom a:hover{transform:rotate(5deg);background:#c3d0df}.service-glyph{height:56px;width:150px;position:relative}.glyph-build i{display:block;position:absolute;border:1px solid #95a7bc;background:#e1e5e9;width:51px;height:30px;transform:skewY(-12deg);transition:transform .5s}.glyph-build i:nth-child(1){left:4px;top:24px}.glyph-build i:nth-child(2){left:42px;top:12px;background:#b3c1d1}.glyph-build i:nth-child(3){left:80px;top:0;background:#2d486a}.expertise-card:hover .glyph-build i:nth-child(1){transform:skewY(-12deg) translateY(-3px)}.expertise-card:hover .glyph-build i:nth-child(2){transform:skewY(-12deg) translateY(-7px)}.expertise-card:hover .glyph-build i:nth-child(3){transform:skewY(-12deg) translateY(-11px)}.glyph-fix svg{width:150px;height:55px;overflow:visible}.glyph-fix path{fill:none;stroke:#4a6381;stroke-width:1.6;stroke-dasharray:240;stroke-dashoffset:0}.expertise-card:hover .glyph-fix path{animation:trace 1.2s var(--ease) both}.glyph-partner i{position:absolute;left:12px;top:9px;width:40px;height:40px;border:1px solid #778da8;border-radius:50%;background:#dadee3;transition:transform .5s}.glyph-partner i:nth-child(2){left:43px;background:#223c5bd9;border-color:#223c5b}.expertise-card:hover .glyph-partner i:first-child{transform:translateX(6px)}.expertise-card:hover .glyph-partner i:nth-child(2){transform:translateX(-6px)}.glyph-partner span{width:63px;height:1px;background:#8a9db4;position:absolute;left:84px;top:29px}
.portfolio-section{background:#e6e8ea;border-bottom:1px solid #cad3dd}.work-tabs{display:flex;border:1px solid #bec9d6;border-bottom:0;background:#eff1f3}.work-tabs button{font-family:inherit;flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 19px;border:0;border-right:1px solid #c1cbd7;background:transparent;font-size:13px;color:var(--muted);position:relative;transition:background .25s,color .25s}.work-tabs button:last-child{border-right:0}.work-tabs button>span{font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-variant-numeric:tabular-nums;font-size:12px;opacity:.6}.work-tabs button[aria-selected=true]{background:#162940;color:#ebedef}.work-tabs button:hover{background:#d0dae6;color:#162940}.work-tabs button[aria-selected=true]:hover{background:#233954;color:white}.work-stage{border:1px solid #bec9d6;background:#fbfbfc}.work-panel{display:grid;grid-template-columns:1fr 1.1fr;min-height:350px}.work-panel[hidden]{display:none}.work-story{padding:40px}.work-story .tag{font-size:12px;letter-spacing:.02em;border-color:#b5c1d0;background:#eaecef}.work-story h3{font-size:32px;letter-spacing:-.018em;line-height:1.15;margin:23px 0 16px;max-width:330px}.work-story p{font-size:14px;line-height:1.9;color:var(--muted);max-width:340px;margin-bottom:26px}.work-canvas{margin:20px;background:#e9ebee;border:1px solid #ced6df;padding:20px 25px 17px;display:flex;flex-direction:column;overflow:hidden;position:relative}.work-canvas::before{content:'';position:absolute;inset:0;background-image:linear-gradient(#a4b3c514 1px,transparent 1px),linear-gradient(90deg,#a4b3c514 1px,transparent 1px);background-size:27px 27px;pointer-events:none}.canvas-top,.canvas-bottom{position:relative;display:flex;justify-content:space-between;gap:12px;color:#546a84;font:12px "IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}.canvas-kpi{position:relative;margin-top:20px}.canvas-kpi small{font-size:12px;color:var(--muted);display:block}.canvas-kpi strong{font-size:42px;line-height:1.3;font-weight:500;letter-spacing:-.018em;font-variant-numeric:tabular-nums;display:block}.canvas-kpi strong>span{font-size:20px;margin-left:3px;color:#576d88}.canvas-bottom{margin-top:auto;border-top:1px solid #b8c5d5;padding-top:14px}.mini-waterfall{position:relative;height:135px;display:flex;gap:17px;align-items:flex-end;padding-bottom:20px;margin-top:5px;margin-bottom:20px}.mini-waterfall i{position:relative;flex:1;height:var(--height);bottom:var(--lift);background:#4c627d;border-radius:2px;max-height:100%;transform-origin:bottom;animation:bar-in .8s var(--ease) var(--delay) both}.mini-waterfall i:last-child{background:#1b314c}.mini-waterfall .loss{background:#bb8b66}.mini-waterfall span{position:absolute;top:100%;left:50%;font:7px var(--display);font-style:normal;color:#51667f;transform:translateX(-50%);white-space:nowrap;margin-top:6px}.work-directory{display:flex;flex-wrap:wrap;gap:10px 23px;margin-top:19px}.work-directory a{color:#4a5d74;font-size:12px;text-decoration:none}.work-directory a>span{margin-left:5px}.sales-bars{display:grid;gap:10px;margin:15px 0 25px}.sales-bars>div{display:grid;grid-template-columns:50px 1fr 30px;gap:12px;align-items:center;font-size:12px}.sales-bars i{display:block;width:var(--width);height:10px;background:#68809e;transform-origin:left;animation:grow-x .8s var(--ease) var(--delay) both}.sales-bars b{font:12px "IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-weight:400}.flow-sequence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:35px 0 40px;position:relative}.flow-sequence::before{content:'';position:absolute;left:0;right:0;height:1px;top:50%;background:#9dadc1}.flow-sequence>span{padding:16px 5px;border:1px solid #a6b6c9;background:#f3f4f6;text-align:center;font-size:12px;position:relative;animation:scene-in .7s var(--ease) var(--delay) both}.flow-sequence small{display:block;color:#5a7493;font:12px "IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;margin-bottom:8px}.cash-orbit{display:flex;justify-content:center;gap:10px;align-items:center;margin:12px 0 20px;position:relative}.orbit-node{font-size:12px;border:1px solid #a4b3c5;background:#f1f3f5;padding:17px;z-index:1}.orbit-core{font-size:30px;color:#495f7b;padding:10px;animation:orbit-shift 2s var(--ease) 2}.cash-stack{height:16px;display:flex;gap:4px;margin:5px 0 25px}.cash-stack i{width:19%;background:#2c4768;transform-origin:left;animation:grow-x .9s var(--ease) both}.cash-stack i:nth-child(2){width:18%;background:#bf8f6a}.cash-stack i:nth-child(3){width:63%;background:#a4b4c8}
.partner-section{border-bottom:1px solid var(--line)}.partner-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:center}.partner-layout h2{margin-bottom:23px}.partner-layout .lede{font-size:17px;max-width:400px}.partner-layout>.muted,.partner-layout p.muted{font-size:14px;max-width:410px}.partner-layout .text-link{margin-top:5px}.delivery-map{border-top:1px solid #c0cad6;padding-top:20px;position:relative}.delivery-heading{display:flex;justify-content:space-between;font-size:12px;gap:15px;color:var(--muted)}.delivery-heading .mono{font-size:12px;letter-spacing:.06em}.delivery-path{margin-top:30px}.delivery-path svg{width:100%;display:block;overflow:visible}.delivery-path path{fill:none;stroke-width:1}.path-base{stroke:#acbaca}.path-trace{stroke:#405978;stroke-width:2!important;stroke-dasharray:530;stroke-dashoffset:530}.is-seen .path-trace{animation:trace 2s var(--ease) forwards}.delivery-path circle{fill:var(--paper);stroke:#4e647e;stroke-width:1.3}.delivery-path circle:nth-of-type(3){fill:#213c5e;stroke:#213c5e}.delivery-steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,1fr);text-align:center;gap:9px;font-size:12px;margin-top:-5px}.delivery-steps li{margin:0}.delivery-steps span{display:block;font:12px "IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#6b83a1;margin-bottom:5px}.delivery-map>p{font-size:12px;text-align:center;margin-top:28px;color:var(--muted)}.delivery-note{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:26px;background:#e0e3e7;padding:13px;font-size:12px;color:#3d5068}.delivery-note>span{border:1px solid #9fb0c4;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:12px}
.studio-contact{background:#14263c}.studio-contact h2{font-size:clamp(38px,4.5vw,60px);color:#f0f1f3;line-height:1.05}.studio-contact h2 em{color:#b3c2d4}.contact-grid{grid-template-columns:1fr 1fr;gap:100px}.contact-section .eyebrow{font-size:12px;color:#afbccc}.studio-contact .lede{font-size:15px;max-width:370px;line-height:1.9}.studio-contact .email-link{font-size:16px;letter-spacing:-.02em;color:#ebedf0;margin-top:8px}.contact-faq{margin-top:33px;max-width:380px}.contact-faq details{border-top:1px solid #44566b;padding:12px 0}.contact-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:12px;color:#cfd7e1}.contact-faq summary::after{content:'+';font-size:17px}.contact-faq details[open] summary::after{content:'−'}.contact-faq p{font-size:12px;color:#b5c1cf;margin:12px 0 4px}.enquiry-form{border-radius:7px;background:#f6f7f9;padding:28px}.enquiry-form h3{font-size:23px;line-height:1.2;letter-spacing:-.018em;max-width:280px}.form-intro{font-size:12px}.field label{font-size:12px}.field input,.field select,.field textarea{font-size:14px;border-color:#c0cad6;background:#fbfbfc;border-radius:3px;min-height:42px}.field{margin-bottom:14px}.field textarea{min-height:85px}.form-note{font-size:12px;line-height:1.8}.form-status{font-size:12px;min-height:15px}.form-actions .btn{font-size:13px}.btn.secondary{border-color:#9cacc0;color:var(--green-dark)}.site-footer{background:#0f1d2f;padding:27px 0 20px}.footer-top{align-items:center}.footer-note{font-size:12px;color:#aab7c8;margin-top:9px}.footer-bottom{font-size:12px;color:#a0b0c3;padding-top:17px;margin-top:22px}.footer-links{font-size:12px}.site-footer .brand{font-size:16px}.site-footer .brand-mark{height:27px}
/* Deep pages retain their information architecture, with the shared visual language. */
.page-hero{padding-top:50px}.page-hero h1{font-size:clamp(40px,5vw,64px);font-weight:600;letter-spacing:-.018em}.page-hero .lede{font-size:16px;line-height:1.9}.case-content h2{font-size:33px;font-weight:600}.case-content p,.case-content li{font-size:16px}.case-aside{top:120px}.case-aside a{font-size:13px}.detail-block,.illus-card,.wb,.table-scroll{border-radius:7px}.architecture{background:#dfe2e6}.arch-box{border-radius:5px}.tag{font-size:12px}.wb .driver-editor{border-bottom:1px solid var(--line);padding:20px;background:#eef0f2}.driver-editor>p{font-size:13px;margin:0 0 13px}.driver-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.driver-editor label{font-size:13px;font-weight:600;display:block}.driver-editor output{float:right;font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-variant-numeric:tabular-nums;color:var(--green)}.driver-editor input{width:100%;min-height:28px;margin:8px 0}.driver-editor .as-btn{font-size:12px}.board-method{font-size:12px!important}.will-reveal{opacity:1;transform:none}.is-seen .studio-reveal{animation:scene-in .65s var(--ease) both}.expertise-card.is-seen .service-glyph{animation:scene-in .8s var(--ease) both}.work-panel.is-active .work-story{animation:scene-in .4s var(--ease)}.studio-contact .form-status{color:var(--green)}
@keyframes trace{from{stroke-dashoffset:530}to{stroke-dashoffset:0}}@keyframes bar-in{from{transform:scaleY(.05);opacity:.4}to{transform:scaleY(1);opacity:1}}@keyframes grow-x{from{transform:scaleX(.05)}to{transform:scaleX(1)}}@keyframes scene-in{from{transform:translateY(9px);opacity:.55}to{transform:translateY(0);opacity:1}}@keyframes orbit-shift{0%,100%{transform:translateX(0)}35%{transform:translateX(5px)}70%{transform:translateX(-5px)}}
.motion-off *, .motion-off *::before,.motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .path-trace{stroke-dashoffset:0}.motion-off .will-reveal{opacity:1;transform:none}.motion-off .undrawn .g{transform:none;opacity:1}html.motion-off{scroll-behavior:auto}
@media(min-width:1440px){.hero{padding-top:72px}.hero-grid{gap:100px}.hero h1{font-size:86px}.studio-hero .wrap{max-width:1240px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header-inner{gap:17px}.nav{gap:20px}.motion-label{display:none}.motion-toggle{width:33px;min-height:33px;padding:5px}.hero-grid{gap:45px;grid-template-columns:1fr 1fr}.hero h1{font-size:65px}.hero .actions{gap:15px}.hero .actions>.btn{font-size:13px;padding:12px 15px;gap:12px}.model-board{padding:22px}.partner-layout,.contact-grid{gap:60px}.service-bottom{font-size:12px}.work-tabs button{padding-inline:14px}.work-story{padding:30px}.work-story h3{font-size:29px}.work-canvas{margin:16px;padding:20px}.mini-waterfall{gap:12px}}
@media(max-width:850px) and (min-width:761px){.nav{gap:15px}.nav>a{font-size:12px}.brand{font-size:16px}.brand-descriptor{font-size:7px}.hero-grid{gap:30px}.hero h1{font-size:57px}.hero .lede{font-size:16px}.expertise-card{padding:22px}.expertise-card h3{font-size:21px}.work-tabs button>span{display:none}.work-story{padding:27px}.work-story h3{font-size:26px}.canvas-kpi strong{font-size:35px}.mini-waterfall{gap:8px}}
@media(max-width:760px){html{scroll-padding-top:86px}.wrap{width:calc(100% - 40px)}.section{padding:55px 0}.header-inner{height:72px;gap:12px;flex-wrap:nowrap}.brand{font-size:16px;gap:9px}.brand-mark{width:23px;height:29px}.brand-descriptor{font-size:6px;letter-spacing:.12em}.menu-toggle{order:2;margin-left:auto;min-height:36px;padding:6px 10px;font-size:12px;border-radius:3px}.motion-toggle{order:3;width:30px;min-height:34px}.nav{top:71px;gap:0;margin:0;background:#eff1f3}.nav>a{font-size:15px;min-height:44px}.nav .btn{margin-top:12px;min-height:44px;font-size:14px}.studio-hero{padding:39px 0 25px}.hero-grid{grid-template-columns:1fr;gap:37px}.hero-copy{padding:0}.hero h1{font-size:clamp(49px,11.6vw,74px);margin:24px 0 22px;line-height:1.02}.hero .eyebrow{font-size:12px;letter-spacing:.12em}.hero .lede{font-size:17px;max-width:480px;line-height:1.8}.hero-sub{font-size:13px;line-height:1.8;margin-bottom:24px}.hero .actions{gap:22px}.hero .actions>.btn{font-size:13px;min-height:46px;padding-inline:16px}.hero .text-link{font-size:13px}.hero-signature{margin-top:26px}.hero-signature small{font-size:12px}.signature-mark{width:32px;height:32px;font-size:18px}.workspace-label{font-size:7px;letter-spacing:0}.model-board{padding:22px 23px;box-shadow:0 20px 45px -30px #0d1e3370,0 0 0 5px #d1d8e14d}.board-number{font-size:38px}.board-top{font-size:12px}.bridge{height:115px;gap:12px}.driver label{font-size:12px}.driver output{font-size:12px}.driver input{min-height:25px}.board-bottom{font-size:12px}.board-footer{font-size:12px}.workspace-caption{font-size:12px;margin-top:13px}.credential-line{margin-top:28px;padding-top:18px;display:grid;grid-template-columns:1fr 1fr;font-size:12px;gap:10px 15px}.section-top{display:block;margin-bottom:28px}.section-top h2{font-size:37px}.section-top>p{font-size:13px;margin-top:17px;max-width:340px}.expertise-grid{grid-template-columns:1fr}.expertise-card{padding:22px;display:grid;grid-template-columns:1fr 80px;gap:0 10px}.expertise-card+.expertise-card{border-left:0;border-top:1px solid var(--line)}.service-glyph{grid-column:2;grid-row:1 / span 3;width:90px;height:55px;transform:scale(.65);transform-origin:top right;margin-top:10px}.expertise-card>.eyebrow{grid-column:1;grid-row:1;margin:0 0 12px;font-size:12px}.expertise-card h3{grid-column:1;grid-row:2;font-size:23px;margin-bottom:12px}.expertise-card p{grid-column:1/-1;font-size:13px;max-width:400px;margin-bottom:15px}.service-bottom{grid-column:1/-1;font-size:12px;padding-top:8px}.service-bottom a{width:34px;height:34px}.work-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.work-tabs button{font-size:12px;min-height:44px;padding:12px;border-bottom:1px solid #bec9d6}.work-tabs button>span{font-size:12px}.work-tabs button:nth-child(3){border-right:0}.work-panel{grid-template-columns:1fr;min-height:0}.work-story{padding:26px}.work-story h3{font-size:29px;max-width:330px;margin:19px 0 13px}.work-story p{font-size:13px;max-width:450px;margin-bottom:20px}.work-canvas{margin:0 15px 15px;padding:20px 22px;min-height:280px}.canvas-kpi{margin-top:18px}.canvas-kpi strong{font-size:39px}.mini-waterfall{height:120px;gap:14px}.mini-waterfall span{font-size:7px}.canvas-top,.canvas-bottom{font-size:7px}.work-directory{gap:9px 19px;margin-top:15px}.work-directory a{font-size:12px}.partner-layout{grid-template-columns:1fr;gap:34px}.partner-layout .lede{font-size:16px;max-width:450px}.partner-layout p.muted{font-size:13px}.delivery-heading{font-size:12px}.delivery-heading .mono{font-size:7px}.delivery-path{margin-top:15px}.delivery-steps{font-size:12px;margin-top:-10px}.delivery-map>p{font-size:12px;margin-top:22px}.delivery-note{font-size:12px;margin-top:19px;padding:10px}.contact-grid{grid-template-columns:1fr;gap:31px}.studio-contact h2{font-size:43px}.studio-contact .lede{font-size:14px;max-width:410px}.studio-contact .email-link{font-size:15px}.contact-faq{margin-top:25px;max-width:none}.contact-faq summary{font-size:13px;min-height:20px}.contact-faq p{font-size:13px}.enquiry-form{padding:24px}.enquiry-form h3{font-size:23px}.form-intro{font-size:12px}.form-row{grid-template-columns:1fr 1fr;gap:12px}.field label{font-size:12px}.field input,.field select,.field textarea{font-size:14px;padding:10px}.form-actions .btn{font-size:12px}.form-note{font-size:12px}.footer-top{display:block}.footer-links{margin-top:20px;gap:23px;font-size:12px}.footer-bottom{font-size:12px}.footer-bottom p+p{margin-top:12px}.site-footer .brand{font-size:16px}.page-hero h1{font-size:40px}.page-hero .lede{font-size:16px}.case-content h2{font-size:28px}.case-content p,.case-content li{font-size:15px}.driver-editor-grid{grid-template-columns:1fr;gap:10px}.driver-editor{padding:16px!important}.driver-editor label{font-size:13px}.motion-label{display:none}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.brand{font-size:16px}.brand-descriptor{font-size:5.5px}.hero h1{font-size:47px}.hero .actions{gap:14px}.hero .actions>.btn{font-size:12px;gap:10px;padding-inline:12px}.hero .text-link{font-size:12px}.credential-line{font-size:7px;gap:10px}.form-row{grid-template-columns:1fr;gap:0}.enquiry-form{padding:20px}.board-top{font-size:7px}.bridge-col span{font-size:7px}.model-board{padding:20px}.motion-toggle{width:28px}.header-inner{gap:8px}.flow-sequence{gap:6px}.flow-sequence>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.path-trace{stroke-dashoffset:0}.will-reveal{opacity:1;transform:none}.undrawn .g{transform:none;opacity:1}}
@media print{.motion-toggle,.reading-progress{display:none}.work-panel[hidden]{display:block}.work-tabs{display:none}.studio-hero,.portfolio-section,.studio-contact{background:white;color:black}.studio-contact h2,.studio-contact .lede,.studio-contact .email-link{color:black}.hero-grid,.partner-layout{display:block}.will-reveal{opacity:1}.work-panel{break-inside:avoid}.path-trace{stroke-dashoffset:0}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.scenario-presets{display:flex;gap:6px;margin-top:31px}.scenario-presets button{background:transparent;border:1px solid #4d6179;color:#c9d5e3;border-radius:3px;font:12px "IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;min-height:28px;padding:5px 12px;transition:background .2s,color .2s}.scenario-presets button[aria-pressed=true]{background:#cad8e9;color:#1f344d;border-color:#cad8e9}.scenario-presets button:hover{border-color:#d8dce1}.model-board .scenario-presets+.bridge-label{margin-top:12px}.forecast-method{margin-top:20px;padding:16px 20px;border:1px solid var(--line);background:#eceef1;border-radius:5px}.forecast-method summary{cursor:pointer;font-size:14px;font-weight:600}.forecast-method p{font-size:14px;line-height:1.9;margin-top:14px}.service-bottom a{min-width:40px;min-height:40px}.motion-toggle:disabled{opacity:.7;cursor:default}.studio-home .form-row{min-width:0}.studio-home .field{min-width:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #a96a39;outline-offset:4px}.work-tabs button:focus-visible{outline-offset:-4px;z-index:1}.site-footer .brand-descriptor{color:#aab7c8}.board-method,.form-note{overflow-wrap:anywhere}@media(max-width:760px){.service-bottom a{min-width:44px;min-height:44px}.scenario-presets button{min-height:36px;padding:7px 16px}.hero .bridge-label{font-size:12px}.board-footer{font-size:12px}}
/* Comfortable reading sizes for the executive audience. */
.hero-sub{font-size:15px}.eyebrow{font-size:13px}.nav>a{font-size:14px}.brand-descriptor{font-size:12px}.hero-signature strong{font-size:13px}.hero-signature small{font-size:12px}.credential-line{font-size:13px}.section-top>p{font-size:16px}.expertise-card>.eyebrow{font-size:12px}.expertise-card p{font-size:15px}.service-bottom{font-size:13px}.work-tabs button{font-size:14px}.work-story p{font-size:16px}.work-story .tag{font-size:12px}.work-directory a{font-size:13px}.text-link{font-size:15px}.partner-layout p.muted{font-size:15px}.delivery-steps{font-size:13px}.delivery-map>p{font-size:13px}.delivery-note{font-size:13px}.studio-contact .lede{font-size:16px}.contact-faq summary{font-size:14px}.contact-faq p{font-size:14px}.form-intro{font-size:14px}.field label{font-size:14px}.field input,.field select,.field textarea{font-size:16px}.form-note{font-size:13px}.form-status{font-size:14px}.footer-bottom{font-size:12px}.footer-note{font-size:13px}.footer-links{font-size:14px}.board-footer{font-size:12px}.driver label{font-size:13px}.driver output{font-size:13px}.scenario-presets button{font-size:13px}.bridge-label{font-size:12px}.board-bottom{font-size:12px}.scenario-output{font-size:12px}.board-reset{font-size:12px}.workspace-caption{font-size:12px}.motion-toggle{font-size:12px}
@media(max-width:1100px){.credential-line{font-size:12px}.nav>a{font-size:13px}.service-bottom{font-size:12px}.section-top>p{font-size:15px}}
@media(max-width:760px){.hero-sub{font-size:14px}.hero .lede{font-size:16px}.hero .eyebrow{font-size:12px}.hero .actions>.btn{font-size:14px}.hero .text-link{font-size:14px}.credential-line{font-size:12px}.expertise-card p{font-size:15px}.expertise-card>.eyebrow{font-size:12px}.service-bottom{font-size:13px}.section-top>p{font-size:15px}.work-story p{font-size:15px}.work-tabs button{font-size:13px}.work-directory a{font-size:12px}.partner-layout p.muted{font-size:15px}.delivery-steps{font-size:12px}.delivery-note{font-size:12px}.studio-contact .lede{font-size:16px}.contact-faq summary{font-size:14px}.contact-faq p{font-size:14px}.field label{font-size:13px}.field input,.field select,.field textarea{font-size:16px}.form-intro{font-size:14px}.form-note{font-size:13px}.form-actions .btn{font-size:14px}.form-status{font-size:14px}.footer-bottom{font-size:12px}.driver label,.driver output{font-size:13px}.scenario-presets button{font-size:13px}.board-footer{font-size:12px}.board-bottom{font-size:12px}.board-reset{font-size:12px}.hero-signature small{font-size:12px}.hero-signature strong{font-size:12px}.studio-contact .email-link{font-size:16px}.enquiry-form{padding:22px}.motion-toggle{min-height:36px}.motion-toggle:disabled{min-height:36px}}
.motion-toggle{display:none}.has-studio-js .motion-toggle{display:flex}
.wf-scroll{min-width:0;max-width:100%;overflow-x:auto}.mobile-chart-hint{display:none}.case-content,.illus-card,.wb-chart{min-width:0}@media(max-width:760px){.wf-scroll svg.wf{min-width:520px}.mobile-chart-hint{display:block;font-size:12px!important;color:var(--muted);margin:5px 0 0}}
.canvas-top,.canvas-bottom,.mini-waterfall span,.flow-sequence small{color:#425368}.canvas-kpi strong>span{color:#425368}.delivery-steps span{color:#45576c}.work-tabs button>span{opacity:.9}.field input::placeholder,.field textarea::placeholder{color:#566c86}
.service-details{margin:0 0 18px;border-top:1px solid var(--line);padding-top:12px}.service-details summary{cursor:pointer;font-size:13px;font-weight:600;line-height:1.6;list-style:none;display:flex;justify-content:space-between;gap:12px}.service-details summary::after{content:'+';color:var(--green)}.service-details[open] summary::after{content:'−'}.expertise-card .service-details p{font-size:14px;margin:12px 0 0;max-width:none;line-height:1.85}.wf-scroll svg.wf{aspect-ratio:640/300}.terr,.cc{min-width:0}@media(max-width:760px){.expertise-card .service-details{grid-column:1/-1}.service-details summary{font-size:14px}}

/* fix: decorative service glyph pushed the page 4px wider on phones */
.expertise-card{position:relative}
@media(max-width:760px){.expertise-card .service-glyph{overflow:hidden;max-width:calc(100% - 8px)}}
html,body{overflow-x:clip}
.contact-book{margin:28px 0 8px}
.contact-book .btn{background:#f0f1f3;color:#14263c;border-color:#f0f1f3}.contact-book .btn:hover{background:#ffffff;color:#14263c}.contact-book+.muted{color:#c4ceda;font-size:16px}

.h1-kicker{display:block;font-family:inherit;font-size:clamp(15px,1.25vw,18px);font-weight:600;letter-spacing:-.01em;line-height:1.35;color:var(--green);margin:0 0 14px;font-style:normal}.page-faq{margin-top:56px}.page-faq h2{margin-bottom:18px}.home-faq .faq-list{max-width:820px}
.trust-points{list-style:none;padding:0;margin:22px 0 26px;display:grid;gap:10px;font-size:17px}.trust-points li{position:relative;padding-left:28px}.trust-points li::before{content:'✓';position:absolute;left:0;top:0;color:var(--green);font-weight:700}

/* readability */html{scroll-padding-top:120px}[id]{scroll-margin-top:110px}.h1-kicker{font-size:clamp(16px,1.3vw,19px)}

/* theme */body{font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}h1 em,h2 em,h3 em,.hero h1 em{font-family:inherit;font-style:normal;font-weight:inherit;color:var(--green)}h1,h2,h3{font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}p,li{font-size:max(1em,16px)}.lede{font-size:clamp(18px,1.35vw,20px);line-height:1.6}.eyebrow,.tag,.mono{letter-spacing:.06em}.h1-kicker{color:var(--green)}:root{--paper:#ffffff;--white:#ffffff}body{background:#fff}.hero h1,.studio-hero h1{font-size:clamp(44px,4.4vw,66px);line-height:1.06}.page-hero h1{font-size:clamp(36px,3.8vw,54px)}h2{line-height:1.1}@media(max-width:480px){.brand-descriptor{display:none}.menu-toggle{margin-left:auto}}

/* polish */.btn{background:#2452d6;border-color:#2452d6;color:#fff}.btn:hover{background:#1b3fa8;border-color:#1b3fa8}.btn.secondary{background:#fff;color:#1e2a3b;border-color:#c9d1dc}.contact-section .contact-book .btn{background:#fff;color:#14243a;border-color:#fff}.hero-points{list-style:none;padding:0;margin:22px 0 30px;display:grid;gap:12px;max-width:520px}.hero-points li{position:relative;padding-left:22px;font-size:16px;line-height:1.55;color:var(--muted)}.hero-points li::before{content:'';position:absolute;left:0;top:.62em;width:9px;height:2px;background:#2452d6}.hero-points strong{color:var(--ink);font-weight:600}.stack-section{border-top:1px solid var(--line)}.stack-section h2{max-width:760px}.stack-flow{display:grid;grid-template-columns:1fr 56px 1fr 56px 1fr;align-items:stretch}.flow-col{border:1px solid var(--line);border-radius:10px;background:#fff;padding:24px 24px 18px}.flow-core{background:#14243a;border-color:#14243a;color:#e8edf4}.flow-core .eyebrow{color:#a9bbd3}.flow-col ul{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}.flow-col li{font-size:16px;line-height:1.45;padding-bottom:10px;border-bottom:1px solid var(--line)}.flow-core li{border-color:#2b3d57}.flow-col li:last-child{border:0;padding-bottom:0}.flow-link{display:flex;align-items:center;justify-content:center}.flow-link svg{width:100%;height:20px;overflow:visible}.flow-link path{stroke:#2452d6;stroke-width:1.6;fill:none}.flow-beam{stroke-dasharray:6 6;animation:beam 2.5s linear infinite}@keyframes beam{to{stroke-dashoffset:-24}}@media(prefers-reduced-motion:reduce){.flow-beam{animation:none}}@media(max-width:900px){.stack-flow{grid-template-columns:1fr}.flow-link{height:40px;transform:rotate(90deg);width:40px;margin:0 auto}}.model-board,.canvas-kpi,table,output,.mono,[data-ending],.illus-result,.wb{font-variant-numeric:tabular-nums}
