/* ProductZapp: an intentionally small, framework-free design system. */
:root{--navy:#011330;--deep:#022049;--blue:#0083f7;--blue-text:#0065c7;--cyan:#08dbfc;--ice:#b3f3f8;--cloud:#f7fafc;--slate:#66758b;--ink-soft:#50617a;--line:#dce5ed;--radius:20px;--shell:1240px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;color:var(--navy);background:#fff;font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}button{color:inherit}button:disabled{cursor:default}svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}a:focus-visible,button:focus-visible{outline:3px solid var(--blue-text);outline-offset:5px}::selection{background:var(--ice);color:var(--navy)}[hidden]{display:none!important}.shell{width:min(var(--shell),calc(100% - 112px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:var(--navy);color:#fff;padding:12px 20px;border-radius:8px}.skip-link:focus{top:12px}.js-only{display:none}.js .js-only{display:inline-flex}.text-blue{color:var(--blue-text)}.text-cyan{color:var(--cyan)}.muted-heading{color:#718197}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;line-height:1.6;display:flex;align-items:center;gap:10px}.status-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #0083f710}.section-kicker{margin-bottom:22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 25px;border:1px solid transparent;border-radius:9px;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap;transition:background .2s,transform .25s var(--ease),box-shadow .25s}.button svg{width:19px;height:19px}.button:hover{transform:translateY(-2px)}.button-navy{background:var(--navy);color:#fff}.button-navy:hover{background:#063463;box-shadow:0 8px 22px #01133016}.button-small{padding:13px 20px;font-size:12px;gap:20px}.text-link{display:inline-flex;align-items:center;gap:13px;font-size:13px;font-weight:600;line-height:1.5}.text-link svg{width:17px;height:17px;transition:transform .25s}.text-link:hover svg{transform:translate(2px,-2px)}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.site-header{position:sticky;top:0;background:#ffffffed;z-index:30;border-bottom:1px solid #e3eaf080;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.nav-shell{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:block;width:218px;flex-shrink:0}.brand img{width:100%;height:auto}.main-nav{display:flex;align-items:center;gap:35px}.main-nav>a:not(.button){font-size:12px;color:var(--ink-soft);font-weight:600;position:relative;padding-block:15px}.main-nav>a:not(.button):after{content:"";height:2px;position:absolute;left:0;bottom:7px;width:0;background:var(--blue);transition:width .2s}.main-nav>a:hover:after,.main-nav>a[aria-current="location"]:after{width:100%}.menu-toggle{display:none!important;border:0;background:none;width:46px;height:46px;padding:12px;flex-direction:column;gap:6px;align-items:center;justify-content:center}.menu-toggle span{width:24px;height:2px;background:var(--navy);transition:transform .25s}
/* HERO: the logo is an existing approved asset. Motion lives around it. */
.hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#fff 0%,#fff 40%,#f6fbff 100%)}.hero-wash{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 76% 42%,#08dbfc12,transparent 38%)}.hero-grid{position:relative;min-height:659px;display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:26px;padding-top:40px;padding-bottom:40px}.hero-copy{z-index:2}.hero h1{font-size:clamp(48px,5.15vw,76px);line-height:1.06;letter-spacing:-4px;font-weight:750;margin-top:27px;margin-bottom:24px}.hero-description{max-width:475px;color:var(--ink-soft);font-size:16px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:31px;flex-wrap:wrap}.hero-footnote{display:flex;gap:10px;align-items:center;color:#536781;font-size:11px;margin-top:32px}.small-cross{color:var(--blue);font-size:19px;font-weight:400}.hero-visual{position:relative;height:535px;isolation:isolate}.hero-visual:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#7996b349 .7px,transparent .8px);background-size:21px 21px;mask-image:radial-gradient(ellipse,black 25%,transparent 67%);-webkit-mask-image:radial-gradient(ellipse,black 25%,transparent 67%);z-index:-2}.visual-coordinates{display:flex;justify-content:space-between;font-family:ui-monospace,monospace;font-size:8px;letter-spacing:1.5px;color:#6e8ba0;position:absolute;top:7px;left:25px;right:10px}.orbital-system{position:absolute;inset:0;will-change:transform}.orbit{position:absolute;border:1px solid #84b9d75e;left:50%;top:53%;border-radius:50%;transform:translate(-50%,-50%) rotate(-24deg)}.orbit-one{width:103%;height:58%}.orbit-two{width:91%;height:77%;transform:translate(-50%,-50%) rotate(36deg);border-color:#93c4de38}.orbit-three{width:116%;height:42%;transform:translate(-50%,-50%) rotate(-24deg);border-style:dashed;border-color:#93c4de35}.orbit-dot{position:absolute;width:7px;height:7px;background:var(--cyan);border-radius:50%;box-shadow:0 0 0 5px #08dbfc0d}.orbit-dot-one{left:9%;top:47%}.orbit-dot-two{right:7%;top:66%;background:var(--blue);width:5px;height:5px}.cube-anchor{position:absolute;left:50%;top:51%;width:60%;max-width:350px;transform:translate(-50%,-50%);will-change:transform}.hero-cube{width:100%;animation:cube-float 7s ease-in-out infinite}.floating-label{position:absolute;display:flex;gap:11px;align-items:center;background:#fffffff2;backdrop-filter:blur(12px);border:1px solid #e7eef5;box-shadow:0 10px 24px #02204908;padding:12px 17px;border-radius:12px;font-size:12px;line-height:1.4;font-weight:600;z-index:3;animation:label-float 8s ease-in-out infinite}.floating-label small{display:block;font-size:9px;font-weight:400;margin-top:4px;color:var(--slate)}.label-icon{width:32px;height:32px;border-radius:8px;background:#edf8ff;display:grid;place-items:center;color:var(--blue-text)}.label-icon svg{width:18px;height:18px}.label-ai{top:76px;right:-6px;animation-delay:-2s}.label-systems{left:-23px;top:270px;animation-delay:-4s}.label-growth{right:-3px;bottom:43px;animation-delay:-1s}.visual-caption{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font-family:ui-monospace,monospace;letter-spacing:2px;font-size:8px;color:#70889d;white-space:nowrap}.hero-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;padding-bottom:26px;padding-top:3px}.scroll-cue{font-size:10px;color:#6a7c92;display:flex;gap:10px;align-items:center}.scroll-cue span{display:block;width:13px;height:20px;border:1px solid #9bb1c2;border-radius:10px;position:relative}.scroll-cue span:after{content:"";position:absolute;width:2px;height:5px;background:#6b879d;top:4px;left:5px;border-radius:2px}.motion-toggle{background:none;border:1px solid #dce5ec;border-radius:6px;padding:7px 9px;gap:6px;align-items:center;font-size:9px;color:#5b7188}.motion-toggle svg{width:11px;height:11px}.capability-strip{background:var(--navy);color:#c7d5e7}.capability-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:23px;font-size:9px;letter-spacing:2px;font-weight:500}.capability-inner i{height:4px;width:4px;background:var(--cyan);transform:rotate(45deg);opacity:.8}
/* CONTENT */
.section{padding:108px 0}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:flex-end;margin-bottom:45px}h2{font-size:clamp(30px,3.05vw,43px);line-height:1.17;letter-spacing:-1.8px;font-weight:700}.section-intro{max-width:360px;color:var(--ink-soft);font-size:14px;line-height:1.85}.services{background:white}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.service-card{border:1px solid var(--line);border-radius:var(--radius);padding:29px 29px 26px;background:linear-gradient(155deg,#fff 45%,#f7fafc);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;display:flex;flex-direction:column}.service-card:hover{transform:translateY(-5px);border-color:#a8cdea;box-shadow:0 12px 30px #02204908}.service-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:36px}.service-icon{display:block;color:var(--blue-text)}.service-icon svg{width:44px;height:44px;stroke-width:1.8}.card-index{font-family:ui-monospace,monospace;font-size:9px;letter-spacing:1px;color:#6b7e92}.service-card h3{font-size:21px;letter-spacing:-.6px;line-height:1.35;margin-bottom:14px}.service-card p{color:var(--ink-soft);font-size:13px;line-height:1.85;margin-bottom:27px}.service-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.service-tags span{border:1px solid #dce7ef;border-radius:4px;font-size:9px;padding:4px 8px;color:#526780;background:#fff}.philosophy-line{display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);margin-top:48px;padding-top:31px}.philosophy-line p{font-size:15px;line-height:1.6;color:var(--slate)}.philosophy-line strong{color:var(--navy);font-weight:600}.portal-symbol{width:42px;height:42px;display:block;flex:none;background:var(--blue);clip-path:polygon(50% 0,60% 32%,68% 40%,100% 50%,68% 60%,60% 68%,50% 100%,40% 68%,32% 60%,0 50%,32% 40%,40% 32%)}.fine-caption{margin-left:auto;font-family:ui-monospace,monospace;font-size:9px;letter-spacing:1.6px;color:#6f8294}
/* PORTFOLIO: add data in content/projects.json; layout expands automatically. */
.portfolio{background:var(--navy);color:#fff;position:relative;overflow:hidden}.portfolio-grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#496c8b0a 1px,transparent 1px),linear-gradient(90deg,#496c8b0a 1px,transparent 1px),radial-gradient(ellipse at 90% 0,#0077e020,transparent 58%);background-size:65px 65px,65px 65px,auto}.portfolio-content{position:relative}.portfolio .section-kicker{color:#9bacbf}.portfolio .section-intro{color:#aebed1}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.project-card{min-width:0;border:1px solid #31465e;border-radius:18px;overflow:hidden;background:#09203d;transition:transform .3s var(--ease),border-color .3s}.project-card:hover{transform:translateY(-5px);border-color:#6b99ba}.project-visual{height:263px;position:relative;overflow:hidden;padding:25px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#edf8ff;color:var(--navy)}.project-marker{position:absolute;top:21px;left:24px;font-family:ui-monospace,monospace;letter-spacing:1.3px;font-size:9px;color:#60788f}.project-visual-name{font-size:clamp(28px,3vw,43px);font-weight:750;letter-spacing:-2px;z-index:1}.project-visual-note{z-index:1;font-family:ui-monospace,monospace;font-size:8px;letter-spacing:2px;margin-top:8px;color:#48617e}.project-visual-bottom{position:absolute;bottom:20px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;z-index:1}.project-domain{font-size:10px;color:#516982}.project-visual-bottom svg{width:17px;height:17px}.project-visual--toner{background:#f2f8ff}.toner-shapes{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:rotate(-24deg);gap:13px;opacity:.13}.toner-shapes span{height:450px;width:77px;border-radius:45px;background:#0083f7}.toner-shapes span:nth-child(2){background:#08dbfc}.toner-shapes span:nth-child(3){background:#5c87f7}.toner-shapes span:nth-child(4){background:#014f8e}.project-visual--office{background:#edfaf8}.office-shapes{position:absolute;width:330px;height:330px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-20deg)}.office-shapes span{position:absolute;inset:0;border:33px solid #08b7ad14;border-radius:26%;transform:rotate(35deg)}.office-shapes span:nth-child(2){inset:45px;border-width:26px;border-color:#00b1a91a}.office-shapes span:nth-child(3){inset:92px;border-width:21px;border-color:#0083f721}.project-visual--neutral{background:#f0f5ff}.project-visual--neutral:after{content:"";position:absolute;inset:35px;border:1px solid #d0e0f3;transform:rotate(-10deg);border-radius:30px}.project-body{padding:28px 29px}.project-category{font-size:9px;letter-spacing:1.7px;text-transform:uppercase;color:#9ab0c9;margin-bottom:12px}.project-body h3{font-size:25px;font-weight:650;letter-spacing:-.7px;margin-bottom:7px}.project-headline{font-size:13px!important;color:#e5edf6!important;margin-bottom:12px!important;font-weight:500}.project-body p{color:#abbdd0;font-size:13px;line-height:1.85;max-width:460px}.project-bottom{border-top:1px solid #30445c;margin-top:24px;padding-top:19px;display:flex;align-items:center;justify-content:space-between;gap:15px}.project-tags{display:flex;flex-wrap:wrap;gap:8px}.project-tags span{font-size:8px;letter-spacing:.3px;color:#adc0d4;padding:5px 8px;border-radius:4px;background:#18304c}.project-bottom .text-link{color:#fff;font-size:11px;white-space:nowrap;gap:10px}.portfolio a:focus-visible{outline-color:var(--cyan)}.next-project{display:flex;align-items:center;gap:20px;border:1px dashed #38516e;border-radius:14px;padding:25px 29px;margin-top:25px;background:#ffffff02}.next-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #3a536d;border-radius:10px;flex:none;color:var(--cyan);font-size:27px;font-weight:300}.next-project h3{font-size:16px;font-weight:500;margin-bottom:3px;letter-spacing:-.2px}.next-project p{font-size:11px;color:#9db1c9}.next-project .text-link{margin-left:auto;color:#c9e6f5;font-size:12px;white-space:nowrap}.story{background:#fff}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.story-copy>p:not(.eyebrow){margin-top:23px;color:var(--ink-soft);font-size:14px;line-height:1.9;max-width:480px}.story-signoff{margin-top:30px;font-size:10px;display:flex;align-items:center;gap:12px;color:#4d6681}.people-list{display:flex;flex-direction:column;gap:22px}.person-card{display:flex;gap:23px;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--cloud)}.person-initial{width:56px;height:66px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--navy);color:white;font-size:28px;font-weight:700;border-radius:10px;position:relative}.person-initial span{position:absolute;right:-5px;bottom:-5px;font-size:15px;width:22px;height:22px;display:grid;place-items:center;background:var(--cyan);color:var(--navy);border:3px solid var(--cloud);border-radius:6px;line-height:1}.person-discipline{font-family:ui-monospace,monospace;font-size:8px!important;letter-spacing:1.2px;color:var(--blue-text)!important;margin-bottom:6px}.person-card h3{font-size:23px;line-height:1.3;margin-bottom:10px;letter-spacing:-.5px}.person-card p{font-size:12px;line-height:1.85;color:var(--ink-soft)}
/* CONTACT */
.contact-section{position:relative;overflow:hidden;background:#edf7fd;border-top:1px solid #dfedf6;border-bottom:1px solid #dfedf6}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding-block:85px;position:relative}.contact-top h2{font-size:clamp(43px,4.4vw,64px);line-height:1.09;letter-spacing:-2.6px}.contact-top>p:not(.eyebrow){font-size:13px;color:var(--ink-soft);line-height:1.9;margin-top:21px;margin-bottom:26px}.contact-orbit{position:absolute;width:550px;height:550px;border:1px solid #0083f712;border-radius:50%;left:-300px;top:30px;box-shadow:0 0 0 70px #0083f703,0 0 0 140px #0083f703}.contact-details{border-top:1px solid #cbdfea}.contact-item{display:flex;align-items:flex-start;gap:18px;border-bottom:1px solid #cbdfea;padding:23px 0;transition:transform .2s}.contact-item:hover{transform:translateX(3px)}.contact-item-icon{color:#407498;margin-top:3px}.contact-item-icon svg{width:21px;height:21px;stroke-width:1.5}.contact-item small{display:block;font-size:8px;font-weight:600;letter-spacing:1.6px;color:#5b778e;margin-bottom:7px}.contact-item strong{font-size:17px;line-height:1.6;font-weight:500;letter-spacing:-.2px;overflow-wrap:anywhere}.contact-item .contact-arrow{margin-left:auto;color:#497895;font-size:22px;line-height:1.3}.map-note{display:block;font-size:10px;color:var(--blue-text);margin-top:8px}.site-footer{background:white;padding-top:35px}.footer-top{display:flex;align-items:center;gap:35px;padding-bottom:31px}.footer-brand{width:195px}.footer-top p{font-size:10px;color:var(--slate);line-height:1.7;padding-left:28px;border-left:1px solid var(--line)}.back-top{margin-left:auto;font-size:10px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:22px;font-size:9px;color:#586c83}.footer-bottom>div{display:flex;align-items:center;gap:20px}.footer-bottom a:hover,.text-button:hover{text-decoration:underline;text-underline-offset:4px}.footer-divider{color:#9db0c2;margin-inline:9px}.text-button{border:0;background:none;padding:0;font-size:inherit;line-height:inherit;color:inherit}.cookie-banner{position:fixed;bottom:18px;left:18px;max-width:420px;width:calc(100% - 36px);background:#fff;color:var(--navy);border:1px solid #cbdbe7;box-shadow:0 12px 45px #01133025;padding:20px;z-index:80;border-radius:13px}.cookie-banner strong{font-size:13px;line-height:1.5}.cookie-banner p{font-size:11px;line-height:1.7;color:var(--ink-soft);margin-top:6px}.cookie-banner p a{text-decoration:underline;text-underline-offset:3px}.cookie-actions{display:flex;gap:10px;margin-top:14px}.cookie-actions button{flex:1;border:1px solid #c6d4e0;background:#fff;border-radius:6px;padding:9px 12px;font-size:11px;font-weight:600}.cookie-actions button:last-child{background:var(--navy);color:white;border-color:var(--navy)}.cookie-actions button:hover{box-shadow:0 3px 10px #01133015}.legal-main{padding:70px 0 95px}.legal-main .shell{max-width:800px}.legal-main h1{font-size:48px;line-height:1.2;letter-spacing:-2px;margin-bottom:24px}.legal-main h2{font-size:24px;letter-spacing:-.5px;margin-top:36px;margin-bottom:12px}.legal-main p,.legal-main li{font-size:15px;color:var(--ink-soft);line-height:1.9;margin-bottom:12px}.legal-main a:not(.button){color:var(--blue-text);text-decoration:underline;text-underline-offset:3px}.legal-main .button{margin-top:24px}.legal-note{padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--cloud)}.error-main{min-height:65vh;display:grid;place-items:center;text-align:center;padding:70px 24px}.error-main img{width:120px;margin:0 auto 28px}.error-main h1{font-size:43px;letter-spacing:-2px;line-height:1.15}.error-main p{max-width:480px;margin:20px auto 28px;color:var(--slate)}
/* A class is added only after IntersectionObserver successfully initialises. */
.can-reveal .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.can-reveal .reveal.is-visible{opacity:1;transform:none}.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .reveal{opacity:1!important;transform:none!important}.motion-paused{scroll-behavior:auto}.motion-paused [data-parallax]{translate:none!important}.motion-paused .service-card,.motion-paused .project-card,.motion-paused .button,.motion-paused .contact-item{transition:none}.motion-paused .service-card:hover,.motion-paused .project-card:hover,.motion-paused .button:hover,.motion-paused .contact-item:hover{transform:none}@keyframes cube-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes label-float{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media(min-width:1500px){.hero-grid{min-height:710px}.hero h1{font-size:79px}.hero-visual{height:550px}}
@media(max-width:1180px){.shell{width:calc(100% - 72px)}.hero-grid{gap:10px}.hero h1{font-size:60px;letter-spacing:-3px}.hero-visual{height:500px}.cube-anchor{width:59%}.label-systems{left:-3px;top:270px}.label-ai{right:0;top:70px}.label-growth{right:0;bottom:38px}.floating-label{padding:10px 12px;font-size:10px}.floating-label small{font-size:8px}.section-heading{gap:35px}.section-intro{max-width:320px}.service-card{padding:25px 22px}.service-card h3{font-size:19px}.story-grid{gap:45px}.person-card{padding:23px;gap:17px}.contact-inner{gap:65px}.project-body{padding:24px}.project-bottom{align-items:flex-start;flex-direction:column;gap:16px}}
@media(max-width:920px){.shell{width:calc(100% - 48px)}.main-nav{gap:22px}.brand{width:195px}.nav-shell{min-height:83px}.hero-grid{min-height:610px;grid-template-columns:1.1fr .9fr;padding-block:35px}.hero h1{font-size:50px;letter-spacing:-2.7px}.hero-description{font-size:14px}.hero-actions{gap:18px}.hero-actions .text-link{font-size:12px}.hero-visual{height:440px}.cube-anchor{width:75%}.visual-coordinates{display:none}.floating-label small{display:none}.label-ai{top:45px;right:0}.label-systems{top:255px;left:-15px}.label-growth{bottom:23px;right:0}.floating-label{gap:8px}.label-icon{width:27px;height:27px}.hero-footnote{font-size:10px}.section{padding-block:80px}.section-heading{align-items:flex-start;flex-direction:column;gap:22px}.section-intro{max-width:620px}h2{font-size:36px}.service-grid{gap:13px}.service-card{padding:22px 19px}.service-card p{font-size:12px}.service-card h3{font-size:18px}.service-tags span{font-size:8px}.capability-inner{letter-spacing:1px;font-size:8px;gap:10px}.story-grid{grid-template-columns:1fr;gap:35px}.story-copy>p:not(.eyebrow){max-width:630px}.people-list{flex-direction:row;gap:18px}.person-card{flex:1;flex-direction:column;gap:20px;padding:26px}.person-initial{height:53px;width:49px;font-size:24px}.contact-inner{gap:35px;padding-block:70px}.contact-top h2{font-size:47px}.contact-item strong{font-size:15px}.contact-item{gap:12px}.footer-bottom{font-size:8px}.footer-bottom>div{gap:15px}.footer-top{gap:20px}.footer-top p{padding-left:20px}.footer-brand{width:180px}}
@media(max-width:700px){html{scroll-padding-top:88px}.shell{width:calc(100% - 40px)}.nav-shell{min-height:76px;flex-wrap:wrap;padding-block:10px;gap:0}.brand{width:190px}.main-nav{width:100%;justify-content:center;flex-wrap:wrap;padding-block:12px;gap:10px 22px}.main-nav>a:not(.button){font-size:12px}.js .menu-toggle{display:inline-flex!important}.js .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:25px 26px 30px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #01133008;flex-direction:column;align-items:stretch;gap:6px;max-height:calc(100dvh - 76px);overflow:auto}.js .main-nav.is-open{display:flex}.js .main-nav>a:not(.button){font-size:17px;padding:13px 0}.js .main-nav .button{margin-top:13px;justify-content:space-between}.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-grid{grid-template-columns:1fr;gap:15px;padding-top:45px;padding-bottom:15px;min-height:auto}.hero h1{font-size:clamp(42px,8.4vw,58px);letter-spacing:-2.7px;margin-top:24px;margin-bottom:21px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}.hero-description{font-size:14px;max-width:510px;line-height:1.85}.hero-actions{margin-top:27px;gap:20px}.button{font-size:12px;padding:15px 18px;gap:16px}.hero-actions .text-link{font-size:11px;gap:8px}.hero-footnote{margin-top:22px}.hero-visual{height:420px;max-width:490px;width:100%;margin:6px auto 0}.cube-anchor{width:54%;max-width:260px;top:49%}.label-ai{top:28px;right:2px}.label-systems{top:222px;left:0}.label-growth{right:3px;bottom:32px}.floating-label{font-size:11px;padding:11px 13px}.floating-label small{display:block;font-size:8px}.label-icon{width:29px;height:29px}.visual-caption{bottom:6px;font-size:7px}.orbit-one{width:96%;height:58%}.orbit-two{width:81%;height:75%}.orbit-three{width:103%;height:43%}.hero-bottom{padding-bottom:21px;gap:8px}.scroll-cue{font-size:8px;gap:8px}.motion-toggle{font-size:8px}.capability-inner{display:grid;grid-template-columns:1fr 1fr;gap:15px 22px;padding-block:22px;font-size:8px;letter-spacing:1.2px}.capability-inner i{display:none}.capability-inner>span{display:flex;align-items:center;gap:8px}.capability-inner>span:before{content:"";width:3px;height:3px;background:var(--cyan);display:block;flex:none}.section{padding-block:66px}.section-kicker{font-size:9px;letter-spacing:1.7px;margin-bottom:17px}h2{font-size:33px;letter-spacing:-1.4px}.section-heading{margin-bottom:30px;gap:19px}.section-intro{font-size:13px}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:25px}.service-top{margin-bottom:22px}.service-icon svg{width:38px;height:38px}.service-card h3{font-size:21px;margin-bottom:11px}.service-card p{font-size:13px;margin-bottom:22px}.service-tags span{font-size:9px}.philosophy-line{margin-top:31px;padding-top:25px;gap:17px}.philosophy-line p{font-size:13px}.fine-caption{display:none}.portal-symbol{width:32px;height:32px}.project-grid{grid-template-columns:1fr;gap:22px}.project-visual{height:235px}.project-visual-name{font-size:40px}.project-body{padding:25px}.project-bottom{flex-direction:row;align-items:center}.project-tags{gap:5px}.project-tags span{font-size:8px;padding:4px 6px}.project-bottom .text-link{font-size:10px}.next-project{padding:23px;gap:16px;flex-wrap:wrap}.next-project>div:nth-child(2){flex:1;min-width:170px}.next-project h3{font-size:15px}.next-project p{font-size:11px;line-height:1.8}.next-project .text-link{margin-left:58px;font-size:11px}.next-icon{width:40px;height:40px}.story-grid{gap:29px}.story-copy>p:not(.eyebrow){font-size:13px;margin-top:21px}.story-signoff{font-size:9px;margin-top:25px}.people-list{flex-direction:column;gap:16px}.person-card{padding:24px;flex-direction:row;gap:20px}.person-card h3{font-size:22px}.person-card p{font-size:12px}.person-discipline{font-size:7px!important}.contact-inner{grid-template-columns:1fr;gap:35px;padding-block:62px}.contact-top h2{font-size:49px}.contact-top>p:not(.eyebrow){font-size:13px}.contact-item{padding-block:21px;gap:18px}.contact-item strong{font-size:16px}.site-footer{padding-top:29px}.footer-top{flex-wrap:wrap;gap:15px;padding-bottom:25px}.footer-brand{width:190px}.footer-top p{border:0;padding-left:0;width:100%;order:3;font-size:11px}.back-top{font-size:9px}.footer-bottom{flex-direction:column;gap:13px;padding-block:23px;font-size:9px}.footer-bottom>div{gap:23px}.footer-divider{margin-inline:5px}.cookie-banner{padding:17px;bottom:12px;left:12px;width:calc(100% - 24px);max-width:400px}.legal-main{padding-block:50px}.legal-main h1{font-size:38px}.legal-main h2{font-size:23px}.legal-main p,.legal-main li{font-size:14px}.legal-main .shell{width:calc(100% - 44px)}}
@media(max-width:370px){.hero h1{font-size:41px;letter-spacing:-2.3px}.hero-actions{gap:15px}.hero-actions .text-link{font-size:10px}.hero-visual{height:375px}.label-systems{top:200px}.floating-label{font-size:10px;padding:9px}.floating-label small{font-size:7px}.project-bottom{flex-direction:column;align-items:flex-start}.project-visual-name{font-size:35px}.contact-top h2{font-size:44px}.person-card{padding:21px;gap:14px}.hero .eyebrow{font-size:7px;letter-spacing:1.3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}[data-parallax]{translate:none!important}}
@media print{.site-header{position:static}.main-nav,.hero-bottom,.cookie-banner,.motion-toggle,.next-project .text-link{display:none!important}.hero-grid{min-height:0}.hero-visual{height:300px}.section{padding-block:35px}.service-card,.project-card,.person-card{break-inside:avoid}.reveal{opacity:1!important;transform:none!important}.portfolio{background:#fff;color:var(--navy)}.portfolio .section-intro,.portfolio .section-kicker{color:var(--ink-soft)}.project-card{background:#fff;color:var(--navy);border-color:var(--line)}.project-body p,.project-headline,.project-category{color:var(--ink-soft)!important}.project-bottom a{color:var(--navy)!important}.project-visual{height:180px}.next-project{display:none}.footer-bottom{font-size:9px}.text-cyan{color:var(--blue-text)}*{animation:none!important;box-shadow:none!important}}
.page-inactive *, .page-inactive *:before, .page-inactive *:after{animation-play-state:paused!important}
/* Reading-size refinements: metadata remains compact; substantive copy stays comfortable. */
.section-intro{font-size:15px}.service-card p{font-size:14px}.service-tags span{font-size:10px}.project-body p{font-size:14px}.project-headline{font-size:14px!important}.project-category{font-size:10px!important}.project-tags span{font-size:9px}.project-bottom .text-link{font-size:12px}.person-card p{font-size:14px}.person-discipline{font-size:9px!important}.contact-top>p:not(.eyebrow){font-size:14px}.contact-item small{font-size:9px}.footer-bottom{font-size:10px}.footer-top p{font-size:11px}.map-note{font-size:11px}.next-project p{font-size:12px}.fine-caption{color:#536c82}
@media(max-width:920px){.service-card p{font-size:13px}.person-card p{font-size:13px}.project-bottom .text-link{font-size:11px}}
@media(max-width:700px){.hero-description{font-size:15px}.section-intro{font-size:14px}.service-card p{font-size:14px}.project-body p{font-size:14px}.project-category{font-size:9px!important}.project-headline{font-size:14px!important}.project-bottom .text-link{font-size:11px}.story-copy>p:not(.eyebrow){font-size:14px}.person-card p{font-size:13px}.person-discipline{font-size:8px!important}.contact-top>p:not(.eyebrow){font-size:14px}.footer-bottom{font-size:9px}}
/* Keep floating annotations clear of the approved cube artwork. */
@media(min-width:921px){.label-ai{top:45px}.label-systems{top:auto;bottom:48px}}
@media(min-width:701px) and (max-width:920px){.label-systems{top:auto;bottom:35px}}
@media(max-width:700px){.hero-grid{padding-top:36px}.hero-actions{gap:12px}.hero-actions .text-link{font-size:10px}.hero-visual{height:370px}.label-systems{top:auto;bottom:28px;left:0}.label-growth{right:0;bottom:28px}.floating-label{padding:10px 11px;font-size:10px;gap:7px}.floating-label small{font-size:7px}.label-ai{top:13px}}
@media(max-width:370px){.hero-visual{height:350px}.floating-label small{display:none}.hero-actions{gap:16px}.hero-actions .text-link{font-size:10px}}
