@font-face{font-family:Kage Pixel;src:url('assets/kage-pixel.woff') format('woff');font-weight:400 900;font-style:normal;font-display:swap}
:root{--bg:#09090b;--panel:#121215;--raised:#18181d;--text:#f1f0ea;--muted:#aaa8b1;--dim:#8c8894;--line:#2b2a30;--orange:#ff702e;--violet:#a27bff;--max:1264px;--body:Arial,Helvetica,sans-serif;--mono:'Courier New',monospace;--pixel:'Kage Pixel','Courier New',monospace;color-scheme:dark;font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--violet);outline-offset:6px}button:disabled{cursor:default}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}button{border:0}::selection{background:var(--orange);color:var(--bg)}[hidden]{display:none!important}.section-shell{max-width:var(--max);margin-inline:auto;padding-inline:32px}.mono,.eyebrow,.tab-kicker,.tab-number{font-family:var(--mono)}.pixel-heading{font-family:var(--pixel);font-weight:400;line-height:1.22;letter-spacing:-.055em}.orange{color:var(--orange)}.violet{color:var(--violet)}.muted-heading{color:#9c99a4}.eyebrow{display:flex;align-items:center;gap:12px;font-size:.8125rem;line-height:1.5;letter-spacing:.075em;text-transform:uppercase}.section-number{color:var(--orange)}.skip-link{position:fixed;z-index:100;top:-100px;left:20px;background:var(--orange);color:#09090b;padding:12px 20px}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:50;background:#09090bf5;border-bottom:1px solid var(--line)}.header-inner{max-width:var(--max);margin:auto;min-height:88px;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{width:205px;height:52px;overflow:hidden;flex:none}.brand img{width:270px;max-width:none;transform:translate(-36px,-17px);mix-blend-mode:screen}.desktop-nav{display:flex;gap:29px;font-size:.875rem}.desktop-nav a{color:#c0bdc6;position:relative;white-space:nowrap;padding:8px 0}.desktop-nav a:after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--orange);transition:width .2s}.desktop-nav a:hover{color:#fff}.desktop-nav a:hover:after{width:100%}.header-actions{display:flex;align-items:center;gap:20px}.motion-toggle{background:transparent;display:flex;gap:8px;align-items:center;color:#a8a5af;font-size:.8125rem;padding:8px;min-width:44px;min-height:44px}.motion-toggle:hover{color:var(--text)}.motion-toggle[aria-pressed=true]{color:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--orange);color:#100b08;padding:17px 24px;font-size:.9375rem;font-weight:700;line-height:1.4;min-height:52px;position:relative;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));transition:background .2s,transform .2s}.button span{font-size:1.3rem;line-height:1}.button:hover{background:#ff8c55;transform:translateY(-2px)}.button:focus-visible{outline-offset:-5px;outline-color:#09090b}.button-small{padding:12px 18px;min-height:44px;font-size:.875rem;gap:18px}.menu-toggle{display:none;background:transparent;width:44px;height:44px;position:relative;padding:12px 8px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--text);margin:6px 0;transition:transform .2s}.mobile-nav{display:none}.hero{min-height:704px;display:grid;grid-template-columns:1fr 1.06fr;gap:5px;align-items:center;padding-top:66px;padding-bottom:58px;overflow:hidden}.hero-copy{position:relative;z-index:2}.pixel-spark{width:12px;height:12px;background:var(--orange);box-shadow:5px -5px 0 -3px var(--orange);flex:none}.hero .eyebrow{font-size:.75rem;margin-bottom:28px}.hero h1{font-size:clamp(3.25rem,6.6vw,5.7rem);line-height:1.14;letter-spacing:-.065em}.hero-description{font-size:1rem;max-width:410px;line-height:1.8;color:#b8b5c0;margin-top:25px}.hero-actions{display:flex;gap:27px;align-items:center;margin-top:29px}.text-link{display:inline-flex;align-items:center;gap:13px;font-size:.9375rem;font-weight:500;min-height:44px;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}.text-link:hover{color:var(--orange);border-color:var(--orange)}.hero-footnote{margin-top:22px;color:var(--dim);font-size:.8125rem}.hero-scene{position:relative;min-width:0;aspect-ratio:1/1;isolation:isolate;align-self:center}.scene-grid{position:absolute;inset:3% -6% 0;opacity:.5;z-index:-2;transform:skewY(-8deg)}.scene-heading{display:flex;justify-content:space-between;align-items:center;position:absolute;top:1%;left:10%;right:0;z-index:2;font-size:.75rem;letter-spacing:.075em;color:#96909f}.scene-coordinate{color:var(--violet)}.dojo-art{position:relative;width:106%;max-width:none;left:-3%;top:-5%;image-rendering:pixelated;mix-blend-mode:lighten;animation:dojo-float 7s steps(30,end) infinite}.scene-caption{position:absolute;bottom:2%;left:18%;display:flex;align-items:center;gap:13px;font-size:.8125rem;line-height:1.5;color:#a9a5b1;z-index:2;background:var(--bg);padding:12px 17px 12px 4px}.scene-caption strong{color:#e3e0e7;font-weight:500}.pixel-bracket{font-size:2.7rem;align-self:flex-start;color:var(--orange);line-height:1}.caption-arrow{font-size:1.6rem;color:var(--violet);margin-left:25px}.scene-pixel{position:absolute;background:var(--violet);width:8px;height:8px;animation:pixel-rise 5s steps(9,end) infinite}.pixel-one{right:2%;top:32%}.pixel-two{left:10%;top:58%;width:5px;height:5px;background:var(--orange);animation-delay:-2s}.pixel-three{right:22%;bottom:6%;width:5px;height:5px;animation-delay:-3.5s}.discipline-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#101012}.discipline-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:74px;font-family:var(--mono);font-size:.8125rem;font-weight:700;letter-spacing:.04em;white-space:nowrap}.discipline-inner i{width:6px;height:6px;background:var(--orange);flex:none}.discipline-inner .strip-signature{font-size:.75rem;color:var(--dim);letter-spacing:.055em}.build-section{padding-top:104px;padding-bottom:108px}.section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.section-marker{color:var(--orange);font-size:1.8rem;line-height:1}.section-heading-row{display:flex;justify-content:space-between;align-items:end;gap:64px;margin-bottom:46px}.section-heading-row h2{font-size:clamp(1.75rem,3.1vw,2.5rem)}.section-heading-row>p{font-size:1rem;line-height:1.8;color:var(--muted);max-width:368px;padding-bottom:4px}.service-explorer{display:grid;grid-template-columns:.86fr 1.14fr;border:1px solid var(--line);min-height:460px}.service-tabs{display:flex;flex-direction:column;border-right:1px solid var(--line)}.service-tab{padding:25px 25px 25px 23px;display:flex;text-align:left;gap:20px;align-items:center;background:transparent;border-bottom:1px solid var(--line);flex:1;position:relative;transition:background .2s}.service-tab:last-child{border-bottom:0}.service-tab:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:transparent}.service-tab:hover{background:#171519}.service-tab.active{background:#1c1714}.service-tab.active:before{background:var(--orange)}.tab-number{color:#98919f;font-size:.8125rem;align-self:flex-start;padding-top:3px}.active .tab-number{color:var(--orange)}.tab-copy{display:flex;flex-direction:column;gap:7px}.tab-kicker{font-size:.75rem;letter-spacing:.075em;color:#a09ba8}.active .tab-kicker{color:var(--orange)}.tab-title{font-weight:500;font-size:1.125rem;color:#d4d0db}.active .tab-title{color:#fff}.tab-arrow{margin-left:auto;font-size:1.4rem;opacity:0;transform:translate(-5px,5px);transition:opacity .2s,transform .2s}.active .tab-arrow,.service-tab:hover .tab-arrow{opacity:1;transform:translate(0);color:var(--orange)}.service-panel{padding:25px 34px 0;background:var(--panel);display:flex;flex-direction:column;min-width:0}.panel-topline{display:flex;align-items:center;justify-content:space-between;color:#96919f;font-size:.75rem;letter-spacing:.075em}.pixel-cross{color:var(--violet);font-size:1.5rem;line-height:1}.system-diagram{display:flex;align-items:center;padding:25px 0 34px;min-height:157px}.diagram-node,.diagram-core{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex-shrink:0;position:relative;color:#a8a1b5}.diagram-node{min-width:85px}.diagram-node>span,.diagram-core>span{font-family:var(--mono);font-size:.75rem;white-space:nowrap}.diagram-core{background:#211b2d;color:var(--violet);width:113px;height:101px;border:1px solid #514168;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.diagram-connection{height:1px;background:#4d3e5c;flex:1;min-width:16px;position:relative;margin:0 9px 22px}.diagram-connection i{position:absolute;width:5px;height:5px;top:-2px;left:0;background:var(--violet);animation:data-packet 2.6s steps(20,end) infinite}.second-connection i{animation-delay:-1.3s;background:var(--orange)}.output-node{color:#cec7d8}.panel-content{padding-bottom:27px}.panel-content h3{font-size:1.4375rem;line-height:1.3;letter-spacing:-.025em;margin-bottom:12px;font-weight:500}.panel-content p{font-size:.9375rem;line-height:1.8;color:var(--muted);max-width:475px;min-height:81px}.capability-list{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:19px 0 0}.capability-list li{font-family:var(--mono);font-size:.75rem;background:#1d1b21;border:1px solid #35303d;padding:5px 9px;line-height:1.4;color:#b9b2c4}.panel-link{display:flex;justify-content:space-between;align-items:center;padding:19px 0;color:var(--violet);border-top:1px solid var(--line);margin-top:auto;font-size:.875rem}.panel-link:hover{color:#ceb7ff}.panel-link span{font-size:1.3rem}.panel-switched .panel-content{animation:content-in .3s steps(5,end)}.process-section{background:#101012;border-block:1px solid var(--line);padding-block:90px 74px}.process-side-note{font-size:.75rem;color:var(--dim);letter-spacing:.05em}.process-section .section-heading-row{margin-bottom:48px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;list-style:none;padding:0;margin:0}.step-track{display:flex;align-items:center;gap:25px;margin-bottom:25px}.step-number{font-size:2.5rem;color:var(--orange)}.step-line{height:1px;flex:1;background:#423024;position:relative}.step-line:after{content:'';position:absolute;right:0;top:-3px;width:7px;height:7px;background:var(--orange)}.step-finish{margin-left:auto;font-size:2.6rem;color:var(--orange);line-height:1}.process-grid h3{font-size:1.125rem;font-weight:500;letter-spacing:-.015em;margin-bottom:13px}.process-grid p{font-size:.9375rem;color:var(--muted);line-height:1.8;max-width:310px;min-height:109px}.step-deliverable{display:block;font-size:.75rem;letter-spacing:.045em;color:#8d8497;margin-top:23px;line-height:1.7}.sprint-callout{display:flex;align-items:center;gap:27px;border:1px solid #493128;background:#171311;margin-top:58px;padding:27px 30px}.sprint-stamp{width:62px;min-width:62px;height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--orange);font-size:2.25rem;line-height:1;border:1px solid #74513d;transform:rotate(-5deg)}.sprint-stamp span{font-size:.75rem;line-height:2}.sprint-callout .eyebrow{font-size:.75rem;color:var(--orange);margin-bottom:3px}.sprint-callout h3{font-size:1.1875rem;font-weight:500;margin-bottom:4px}.sprint-callout p:not(.eyebrow){font-size:.875rem;color:var(--muted)}.sprint-callout .text-link{margin-left:auto;white-space:nowrap;font-size:.875rem}.about-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:98px;align-items:center;padding-top:93px;padding-bottom:93px}.about-mark{aspect-ratio:1.15/1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);overflow:hidden;background:#0b0b0d}.about-mark>span{position:absolute;left:22px;top:20px;font-size:.75rem;letter-spacing:.045em;color:#87808f;z-index:2}.about-mark img{width:95%;mix-blend-mode:screen;transition:transform .4s steps(8,end)}.about-mark:hover img{transform:translateY(-7px)}.about-mark .about-mark-caption{top:auto;bottom:20px;left:auto;right:22px;color:var(--violet)}.about-copy .eyebrow{margin-bottom:27px}.about-copy h2{font-size:clamp(1.5rem,2.7vw,2.2rem);margin-bottom:23px}.about-copy p:not(.eyebrow){font-size:1rem;color:var(--muted);line-height:1.8;margin-bottom:16px}.about-copy strong{font-weight:500;color:#e3dfe9}.about-copy .text-link{color:var(--violet);margin-top:8px}.contact-section{padding-bottom:82px}.contact-frame{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;isolation:isolate;padding:55px 54px;background:#141018;border:1px solid #30243d}.contact-frame .eyebrow{font-size:.75rem;color:#b7a7c6;margin-bottom:20px}.contact-frame h2{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:22px}.contact-frame p:not(.eyebrow){max-width:470px;color:#aaa0b4;font-size:.9375rem;line-height:1.8}.contact-button{white-space:nowrap;flex:none;margin-right:13px}.corner{width:12px;height:12px;position:absolute;border-color:var(--violet);border-style:solid;z-index:2}.corner-tl{left:-1px;top:-1px;border-width:2px 0 0 2px}.corner-tr{right:-1px;top:-1px;border-width:2px 2px 0 0}.corner-bl{left:-1px;bottom:-1px;border-width:0 0 2px 2px}.corner-br{right:-1px;bottom:-1px;border-width:0 2px 2px 0}.contact-pixels{position:absolute;right:38px;top:28px;width:115px;height:65px;opacity:.35;z-index:-1}.contact-pixels i{width:14px;height:14px;background:var(--violet);position:absolute;animation:pixel-rise 5s steps(7,end) infinite}.contact-pixels i:nth-child(1){left:0;bottom:0}.contact-pixels i:nth-child(2){left:23px;bottom:20px;width:10px;height:10px;animation-delay:-1s}.contact-pixels i:nth-child(3){left:40px;bottom:27px;animation-delay:-2s}.contact-pixels i:nth-child(4){left:63px;bottom:51px;width:8px;height:8px;animation-delay:-3s}.site-footer{border-top:1px solid var(--line);padding-top:25px;padding-bottom:31px;display:flex;justify-content:space-between;align-items:center}.footer-brand{display:block;width:179px;height:45px}.footer-brand img{width:238px;transform:translate(-32px,-15px)}.site-footer p{font-family:var(--mono);font-size:.75rem;color:#85808e}.site-footer>div>p{margin-top:3px}.footer-right{text-align:right;display:flex;flex-direction:column;gap:9px}.back-to-top{font-size:.8125rem;min-height:32px;display:inline-flex;justify-content:flex-end;gap:15px;align-items:center}.back-to-top:hover{color:var(--orange)}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused{scroll-behavior:auto}.motion-paused .button,.motion-paused .about-mark img{transition:none}.motion-paused .button:hover,.motion-paused .about-mark:hover img{transform:none}
@keyframes dojo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pixel-rise{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-13px);opacity:1}}@keyframes data-packet{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}@keyframes content-in{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1450px){.hero{min-height:760px}.hero-scene{margin-left:20px}.hero h1{font-size:6rem}}
@media(max-width:1150px){.desktop-nav{gap:20px}.header-inner{gap:15px}.header-actions{gap:8px}.motion-toggle span{display:none}.hero-actions{gap:17px}.hero-actions .button{padding-inline:18px}.discipline-inner{gap:14px}.discipline-inner .strip-signature{display:none}.discipline-inner i:last-of-type{display:none}.section-heading-row{gap:35px}.section-heading-row>p{max-width:325px}.service-panel{padding-inline:24px}.service-tab{gap:13px;padding-inline:20px}.tab-title{font-size:1rem}.about-section{gap:50px}.contact-frame{padding:45px 38px}}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block}.header-inner{min-height:78px}.header-actions{gap:12px}.mobile-nav:not([hidden]){display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#111114;padding:12px 32px 24px;box-shadow:0 20px 0 #09090b40;border-bottom:1px solid var(--line)}.mobile-nav a{display:flex;align-items:center;justify-content:space-between;min-height:62px;border-bottom:1px solid var(--line);font-size:1.125rem}.mobile-nav a span{font-family:var(--mono);font-size:.75rem;color:var(--orange)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{padding-top:57px;padding-bottom:52px;min-height:610px;grid-template-columns:1.06fr .94fr}.hero h1{font-size:clamp(3.2rem,6.9vw,4.6rem)}.hero .eyebrow{font-size:.75rem;max-width:280px}.hero-description{font-size:.9375rem;max-width:360px}.hero-actions{align-items:flex-start;flex-direction:column;gap:9px}.hero-actions .text-link{font-size:.875rem}.hero-footnote{font-size:.75rem;max-width:270px;margin-top:13px}.hero-scene{margin-left:-27px}.scene-heading{top:-10%;left:9%;right:0;font-size:.75rem}.scene-coordinate{display:none}.scene-caption{left:9%;bottom:-13%;font-size:.75rem;gap:8px;white-space:nowrap}.caption-arrow{margin-left:12px}.build-section{padding-block:78px}.section-heading-row{align-items:flex-start}.section-heading-row h2{font-size:1.75rem}.section-heading-row>p{max-width:280px;font-size:.9375rem}.service-explorer{grid-template-columns:.85fr 1.15fr}.tab-number{display:none}.service-panel{padding-inline:20px}.service-tab{padding:24px 17px}.tab-title{font-size:.9375rem}.tab-kicker{font-size:.75rem}.tab-arrow{font-size:1.1rem}.diagram-node{min-width:65px}.diagram-node>span,.diagram-core>span{font-size:.75rem}.diagram-core{width:88px;height:88px}.diagram-connection{margin-inline:5px;min-width:10px}.panel-content h3{font-size:1.25rem}.panel-content p{font-size:.875rem}.capability-list li{font-size:.75rem}.process-section{padding-block:73px 61px}.process-grid{gap:25px}.process-grid h3{font-size:1rem}.process-grid p{font-size:.875rem;min-height:132px}.step-deliverable{font-size:.75rem;letter-spacing:0}.sprint-callout{padding:24px;gap:20px;flex-wrap:wrap}.sprint-callout .text-link{margin-left:82px}.about-section{gap:35px;padding-block:74px}.about-copy h2{font-size:1.55rem}.about-copy p:not(.eyebrow){font-size:.9375rem}.about-mark>span{font-size:.75rem;left:14px}.about-mark .about-mark-caption{right:14px}.contact-frame{flex-direction:column;align-items:flex-start;gap:25px}.contact-button{margin:0}.contact-frame p:not(.eyebrow){max-width:520px}.contact-pixels{top:auto;bottom:55px;right:40px}}
@media(max-width:640px){:root{font-size:16px}.section-shell{padding-inline:22px}.header-inner{min-height:74px;padding:10px 20px;gap:10px}.brand{width:180px;height:46px}.brand img{width:239px;transform:translate(-32px,-15px)}.header-cta{display:none}.header-actions{gap:3px}.motion-toggle{padding:10px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-top:42px;padding-bottom:36px;overflow:hidden;min-height:auto}.hero .eyebrow{max-width:none;font-size:.75rem;gap:10px;margin-bottom:25px}.pixel-spark{width:9px;height:9px}.hero h1{font-size:clamp(3.25rem,12.8vw,5rem);line-height:1.17;letter-spacing:-.07em}.hero-description{font-size:1rem;margin-top:23px;max-width:390px}.hero-actions{flex-direction:row;gap:20px;align-items:center;flex-wrap:wrap;margin-top:25px}.hero-actions .button{font-size:.875rem;gap:15px;padding:15px 18px}.hero-actions .text-link{font-size:.8125rem;gap:9px}.hero-footnote{max-width:none;font-size:.75rem;margin-top:17px}.hero-scene{margin:8px -9px 3px;aspect-ratio:1.15/1;max-width:510px;width:calc(100% + 18px);align-self:center}.scene-heading{left:8%;right:5%;top:0;font-size:.75rem}.scene-coordinate{display:inline}.dojo-art{width:100%;left:0;top:-6%}.scene-grid{inset:7% 0 0}.scene-caption{bottom:0;left:11%;font-size:.75rem;padding:7px 12px 7px 2px}.pixel-bracket{font-size:2.2rem}.caption-arrow{margin-left:18px}.pixel-one{right:9%;top:32%}.pixel-two{left:9%;top:48%}.discipline-inner{flex-wrap:wrap;justify-content:center;gap:10px 19px;padding-block:19px;min-height:72px;font-size:.75rem;line-height:1.5;letter-spacing:.025em}.discipline-inner i{width:4px;height:4px}.discipline-inner span:nth-of-type(3){flex-basis:100%;text-align:center}.discipline-inner i:nth-of-type(2){display:none}.build-section{padding-top:61px;padding-bottom:61px}.section-top{margin-bottom:22px}.eyebrow{font-size:.75rem;gap:10px}.section-marker{font-size:1.3rem}.section-heading-row{flex-direction:column;gap:19px;margin-bottom:30px}.section-heading-row h2{font-size:clamp(1.3rem,5.55vw,2rem);letter-spacing:-.075em;line-height:1.3}.section-heading-row>p{max-width:430px;font-size:.9375rem;line-height:1.8}.service-explorer{display:flex;flex-direction:column}.service-tabs{display:grid;grid-template-columns:1fr 1fr;border-right:0;border-bottom:1px solid var(--line)}.service-tab{padding:17px 13px;min-height:94px;gap:5px;align-items:flex-start;flex:none;border-bottom:1px solid var(--line)}.service-tab:nth-child(odd){border-right:1px solid var(--line)}.service-tab:nth-child(n+3){border-bottom:0}.service-tab:before{inset:auto 0 0 0;width:auto;height:3px}.tab-copy{gap:5px}.tab-title{font-size:.8125rem;line-height:1.5}.tab-kicker{font-size:.75rem;letter-spacing:.02em}.tab-arrow{display:none}.service-panel{padding:22px 20px 0;min-height:431px}.panel-topline{font-size:.75rem}.system-diagram{padding:25px 0 28px;min-height:145px}.diagram-node{min-width:64px}.diagram-node>span,.diagram-core>span{font-size:.75rem}.diagram-core{width:94px;height:90px}.panel-content h3{font-size:1.25rem;margin-bottom:12px}.panel-content p{font-size:.9375rem;min-height:108px}.capability-list{gap:6px}.capability-list li{font-size:.75rem;padding:5px 7px}.panel-link{font-size:.875rem;padding-block:18px}.process-section{padding-top:61px;padding-bottom:45px}.process-side-note{display:none}.process-section .section-heading-row{margin-bottom:33px}.process-grid{grid-template-columns:1fr;gap:0}.process-grid li{position:relative;padding:0 0 32px 63px}.process-grid li:not(:last-child):before{content:'';position:absolute;width:1px;top:45px;bottom:7px;left:18px;background:#483125}.process-grid li:last-child{padding-bottom:0}.step-track{position:absolute;left:0;top:1px;width:39px}.step-number{font-size:1.625rem}.step-line,.step-finish{display:none}.process-grid h3{font-size:1.0625rem;margin-bottom:10px}.process-grid p{font-size:.9375rem;max-width:400px;min-height:0}.step-deliverable{font-size:.75rem;margin-top:13px}.sprint-callout{margin-top:38px;padding:21px 18px;gap:16px}.sprint-stamp{width:47px;min-width:47px;height:61px;font-size:1.8rem}.sprint-stamp span{font-size:.75rem}.sprint-callout .eyebrow{font-size:.75rem}.sprint-callout h3{font-size:1rem;line-height:1.5}.sprint-callout p:not(.eyebrow){font-size:.8125rem;line-height:1.65;margin-top:7px}.sprint-callout .text-link{margin-left:63px;font-size:.8125rem}.about-section{display:flex;flex-direction:column-reverse;align-items:stretch;gap:33px;padding-top:61px;padding-bottom:61px}.about-copy .eyebrow{margin-bottom:22px}.about-copy h2{font-size:clamp(1.3rem,5.5vw,2rem);letter-spacing:-.075em;line-height:1.3;margin-bottom:22px}.about-copy p:not(.eyebrow){font-size:.9375rem}.about-copy .text-link{font-size:.9375rem}.about-mark{max-width:400px;width:100%;align-self:center;aspect-ratio:1.35/1}.about-mark img{width:85%;align-self:center}.about-mark>span{font-size:.75rem;left:18px;top:17px}.about-mark .about-mark-caption{right:18px;bottom:17px}.contact-section{padding-bottom:53px}.contact-frame{padding:31px 23px;gap:25px}.contact-frame .eyebrow{font-size:.75rem;line-height:1.8;max-width:250px;margin-bottom:21px}.contact-frame h2{font-size:clamp(1.4rem,5.8vw,2.2rem);letter-spacing:-.075em;line-height:1.3;margin-bottom:20px}.contact-frame p:not(.eyebrow){font-size:.9375rem}.contact-button{font-size:.875rem;padding:15px 19px}.contact-pixels{right:6px;bottom:32px;transform:scale(.7);transform-origin:bottom right;opacity:.23}.site-footer{padding-top:25px;padding-bottom:28px;flex-direction:column;align-items:flex-start;gap:23px}.footer-brand{width:179px}.site-footer p{font-size:.75rem}.footer-right{width:100%;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:15px;text-align:left}.footer-right p{max-width:190px;line-height:1.7}.back-to-top{font-size:.75rem;white-space:nowrap;gap:8px}.mobile-nav:not([hidden]){padding-inline:22px}}
@media(max-width:359px){.section-shell{padding-inline:18px}.header-inner{padding-inline:15px}.brand{width:167px}.brand img{width:224px;transform:translate(-30px,-14px)}.hero h1{font-size:12.5vw}.hero .eyebrow{font-size:.75rem;letter-spacing:.015em}.hero-actions{gap:12px}.hero-actions .text-link{font-size:.75rem}.hero-actions .button{padding-inline:14px;font-size:.8125rem}.service-panel{padding-inline:15px}.diagram-core{width:80px}.diagram-node{min-width:61px}.capability-list li{font-size:.75rem}.footer-right{align-items:flex-start;flex-direction:column-reverse}.section-heading-row h2,.about-copy h2{font-size:5.5vw}.contact-frame{padding-inline:18px}.contact-frame h2{font-size:5.65vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover,.about-mark:hover img{transform:none}}

/* Readable text and flexible diagrams at every viewport. */
.hero-description,.section-heading-row>p,.panel-content p,.process-grid p,.about-copy p:not(.eyebrow),.contact-frame p:not(.eyebrow){font-size:1rem}
.motion-toggle,.hero-actions .text-link,.tab-title,.sprint-callout .text-link,.back-to-top{font-size:.875rem}
.diagram-node{width:84px;min-width:0}
.diagram-node>span,.diagram-core>span{font-size:.75rem;line-height:1.4;white-space:normal;text-align:center;max-width:100%;padding-inline:3px}
.diagram-core{min-height:106px;height:auto;padding:10px 3px}
.system-diagram{align-items:center}
.process-grid p{min-height:0}
.service-tab:focus-visible{outline-offset:-5px}
.scene-heading{flex-wrap:wrap;gap:8px}
.about-copy,.section-heading-row>h2,.hero-copy{min-width:0}
@media(max-width:900px){.diagram-node{width:68px}.diagram-core{width:88px}.panel-content p{min-height:0}.service-explorer{min-height:510px}}
@media(max-width:640px){.hero-actions{column-gap:18px;row-gap:7px}.service-explorer{min-height:0}.service-panel{min-height:470px}.tab-title{font-size:.875rem}.diagram-node{width:68px}.diagram-core{width:88px}.diagram-connection{min-width:6px;margin-inline:4px}.section-heading-row>p{padding-bottom:0}.sprint-callout p:not(.eyebrow){font-size:.875rem}.about-mark>span{max-width:calc(100% - 36px)}.contact-pixels{display:none}.footer-right{flex-wrap:wrap}.hero-footnote{font-size:.75rem}}
@media(max-width:359px){.diagram-node{width:63px}.diagram-core{width:82px}.header-actions{gap:0}.hero-actions .text-link{font-size:.875rem}.service-tab{padding-inline:10px}}

.pixel-heading{overflow-wrap:anywhere}

/* v2 keeps the architecture still and animates only details inside the scene. */
.hero-scene .dojo-art{animation:none}
.dojo-canvas{position:absolute;width:106%;max-width:none;height:auto;aspect-ratio:1;left:-3%;top:-5%;image-rendering:pixelated;mix-blend-mode:lighten;pointer-events:none;opacity:0}
.dojo-ready .dojo-canvas{opacity:1}
.dojo-ready .dojo-art{opacity:0}
@media(max-width:640px){.dojo-canvas{width:100%;left:0;top:-6%}}

/* v3 uses exact approved logo pieces; links keep their existing behavior. */
.brand{position:relative}
.logo-motion-canvas{position:absolute;pointer-events:none;mix-blend-mode:screen;opacity:0}
.logo-motion-ready>.logo-motion-canvas{opacity:1}
.logo-motion-ready>img{opacity:0}
.about-mark.logo-replay{padding:0;color:inherit;text-align:left}
.about-mark.logo-replay:hover img{transform:none}
.about-mark.logo-replay .about-mark-caption{font-size:.875rem;letter-spacing:0;min-height:30px;display:flex;align-items:center}
.logo-replay:hover .about-mark-caption{color:var(--orange)}
.logo-replay:disabled{cursor:default}
.logo-replay:disabled .about-mark-caption{color:var(--muted)}

/* Content stays readable when a decorative animation is paused mid-transition. */
.motion-paused .panel-content{animation:none!important;opacity:1;transform:none}

/* Preserve the desktop composition with content first in the reading order. */
.panel-topline{order:0}
.system-diagram{order:1}
.panel-content{order:2}
.panel-link{order:3}
.motion-play-icon{display:none}
.motion-toggle[aria-pressed=true] .motion-pause-icon{display:none}
.motion-toggle[aria-pressed=true] .motion-play-icon{display:block}

@media(max-width:900px){
  .mobile-nav:not([hidden]){
    max-height:calc(100vh - 100%);
    max-height:calc(100dvh - 100%);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
}

/* Mobile: choose a service, understand it, then act. */
@media(max-width:640px){
  .site-header{background:var(--bg)}
  .header-inner{min-height:64px;padding:8px 16px;gap:8px}
  html{scroll-padding-top:80px}

  .service-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-tab{min-height:64px;padding:12px 14px;align-items:center;min-width:0}
  .tab-copy{min-width:0;gap:0}
  .service-tab .tab-kicker{display:none}
  .service-tab .tab-title{font-size:.9375rem;font-weight:600;line-height:1.4;letter-spacing:0}
  .service-tab.active{background:#211a15}
  .service-tab:before{height:3px}

  .service-panel{min-height:0;padding:18px 16px 16px}
  .panel-topline{margin-bottom:12px;font-size:.75rem;letter-spacing:.045em;color:var(--orange)}
  .panel-topline .pixel-cross{display:none}
  .service-panel .panel-content{order:1;padding:0}
  .panel-content h3{font-size:1.25rem;line-height:1.35;font-weight:600;letter-spacing:-.015em;margin-bottom:10px}
  .panel-content p{font-size:1rem;line-height:1.65;letter-spacing:0;min-height:0;color:#bdbac4}

  .capability-list{gap:5px 14px;margin-top:14px}
  .capability-list li{display:inline-flex;align-items:baseline;gap:6px;border:0;background:none;padding:0;font-family:var(--body);font-size:.875rem;line-height:1.5;color:#c7c2cf}
  .capability-list li:before{content:'';width:4px;height:4px;flex:none;background:var(--violet);align-self:center}

  .service-panel .panel-link{order:2;min-height:48px;margin:18px 0 0;padding:12px 14px;gap:12px;border:0;background:var(--orange);color:#100b08;font-size:1rem;font-weight:600;line-height:1.5}
  .service-panel .panel-link:hover{background:#ff8c55;color:#100b08}
  .panel-link span{flex:none}

  .service-panel .system-diagram{order:3;display:grid;grid-template-columns:minmax(0,1fr) 10px minmax(0,1.1fr) 10px minmax(0,1fr);min-height:0;margin-top:20px;padding:16px 0 0;border-top:1px solid var(--line);gap:0}
  .system-diagram .diagram-node,.system-diagram .diagram-core{width:auto;min-width:0;min-height:0;height:auto;gap:5px}
  .system-diagram .diagram-core{padding:9px 4px}
  .system-diagram svg{width:24px;height:24px}
  .system-diagram .diagram-node>span,.system-diagram .diagram-core>span{font-size:.75rem;line-height:1.4;letter-spacing:0;padding:0;overflow-wrap:anywhere}
  .system-diagram .diagram-connection{min-width:0;margin:0;width:100%}
}

/* v4: explicit sprint-card rows prevent the action from squeezing the copy. */
.sprint-callout{
  display:grid;
  grid-template-columns:62px minmax(0,1fr) auto;
  grid-template-areas:"stamp eyebrow action" "stamp title action" "stamp description action";
  column-gap:27px;
  row-gap:0;
}
.sprint-stamp{grid-area:stamp;align-self:center}
.sprint-eyebrow{grid-area:eyebrow;min-width:0}
.sprint-title{grid-area:title;min-width:0}
.sprint-description{grid-area:description;min-width:0}
.sprint-callout .sprint-action{grid-area:action;align-self:center;margin-left:0}
@media(max-width:900px){
  .sprint-callout{
    grid-template-columns:62px minmax(0,1fr);
    grid-template-areas:"stamp eyebrow" "stamp title" "stamp description" ". action";
    column-gap:20px;
  }
  .sprint-callout .sprint-action{margin-top:10px;justify-self:start}
}
@media(max-width:640px){
  .sprint-callout{
    grid-template-columns:minmax(0,1fr) 48px;
    grid-template-areas:"eyebrow stamp" "title title" "description description" "action action";
    padding:20px;
    gap:12px 16px;
    align-items:start;
  }
  .sprint-callout .sprint-stamp{width:48px;min-width:0;height:56px;justify-self:end}
  .sprint-callout .sprint-eyebrow{align-self:center;margin:0;line-height:1.5;letter-spacing:.055em}
  .sprint-callout .sprint-title{margin:0;font-size:1.25rem;font-weight:600;line-height:1.4;letter-spacing:-.015em;overflow-wrap:anywhere}
  .sprint-callout .sprint-description{margin:0;font-size:1rem;line-height:1.65;overflow-wrap:anywhere}
  .sprint-callout .sprint-action{justify-self:stretch;justify-content:space-between;gap:12px;min-width:0;min-height:48px;margin:4px 0 0;padding:12px 14px;background:var(--orange);color:#100b08;font-size:1rem;font-weight:600;line-height:1.5;white-space:normal;border:0}
  .sprint-callout .sprint-action:hover{background:#ff8c55;color:#100b08}
  .sprint-action span{flex:none}
}
