:root{--blue:#0159d3;--cyan:#0bc4d9;--bright:#136fef;--deep:#00347d;--ink:#1b1d1f;--text:#2c3338;--muted:#5b6168;--line:#dbe0e6;--paper:#f2f4f6;--white:#fff;--orange:#fa8835;--red:#ef4848;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{color:var(--text);-webkit-font-smoothing:antialiased;background:#fff;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{color:var(--ink);letter-spacing:-.045em;font-weight:600;line-height:1.12}h1{font-size:clamp(2.65rem,5.7vw,5.7rem)}h2{font-size:clamp(2.05rem,3.8vw,3.65rem)}h3{letter-spacing:-.025em;font-size:1.4rem}a{color:inherit;text-decoration:none}p+p{margin-top:1em}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}button:disabled{cursor:default;opacity:.55}a,button{touch-action:manipulation}button{border:0}img,svg{vertical-align:middle}img{max-width:100%;height:auto;display:block}ul{padding-left:1.25rem}::selection{background:var(--cyan);color:var(--deep)}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button:focus-visible{z-index:2;position:relative}button:disabled:focus-visible{outline:0}.wrap{width:min(1320px,100% - 96px);margin-inline:auto}.section{padding-block:112px}.eyebrow{letter-spacing:.13em;text-transform:uppercase;color:var(--blue);align-items:center;gap:16px;margin-bottom:24px;font-size:12px;font-weight:700;display:flex}.eyebrow>span:first-child{font-variant-numeric:tabular-nums}.micro{letter-spacing:.13em;font-size:10px;font-weight:700}.lede{font-size:clamp(1.125rem,1.7vw,1.4rem);line-height:1.6}.muted{color:var(--muted)}.skip-link{background:var(--blue);color:#fff;z-index:100;padding:14px 24px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.button{background:var(--blue);color:#fff;min-height:54px;transition:background .25s,transform .3s var(--ease),box-shadow .3s;border:1px solid #0000;border-radius:3px;justify-content:space-between;align-items:center;gap:28px;padding:15px 23px;font-size:14px;font-weight:650;line-height:1.5;display:inline-flex}.button:hover{background:var(--deep);transform:translateY(-2px);box-shadow:0 8px 20px #00347d14}.button svg,.text-link svg{flex-shrink:0}.button--secondary{color:var(--ink);border-color:var(--line);background:0 0}.button--secondary:hover{background:var(--paper);color:var(--blue)}.text-link{align-items:center;gap:22px;min-height:44px;font-size:14px;font-weight:700;display:inline-flex}.text-link:hover{color:var(--blue)}.text-link span,.text-link svg{transition:transform .25s}.text-link:hover span,.text-link:hover svg{transform:translate(3px,-2px)}.art{object-fit:cover;width:100%;height:100%}.pill{background:var(--paper);border-radius:30px;align-items:center;min-height:32px;padding:5px 12px;font-size:11px;font-weight:650;line-height:1.4;display:inline-flex}.pill:hover{color:var(--blue)}.link-circle{border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;width:45px;height:45px;transition:background .25s,color .25s;display:grid}.tag-list{flex-wrap:wrap;gap:8px;display:flex}.note{color:var(--muted);font-size:13px;line-height:1.7}.empty-state{background:var(--paper);padding:32px}.site-header{z-index:50;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffff2;border-bottom:1px solid #e8ebef;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:30px;min-height:90px;display:flex}.wordmark{color:var(--deep);letter-spacing:-1.8px;align-items:baseline;font-size:32px;font-weight:800;line-height:1;display:inline-flex}.wordmark span{color:var(--blue)}.wordmark small{letter-spacing:1px;color:var(--muted);align-self:flex-start;margin-left:7px;font-size:10px;line-height:2}.nav-links{align-items:center;gap:32px;font-size:13px;font-weight:600;display:flex}.nav-links>a{padding-block:14px;position:relative}.nav-links>a:not(.nav-contact):after{content:"";background:var(--blue);transform-origin:0;width:100%;height:2px;transition:transform .25s;position:absolute;bottom:7px;left:0;transform:scaleX(0)}.nav-links>a:hover:after,.nav-links>a[aria-current]:after{transform:scaleX(1)}.nav-links .nav-contact{color:#fff;background:var(--blue);border-radius:3px;padding:12px 19px}.nav-contact span{margin-left:25px}.menu-toggle{background:0 0;align-items:center;gap:18px;min-height:44px;font-size:13px;font-weight:700;display:none}.menu-toggle span{font-size:27px}.hero{background:var(--paper);overflow:clip}.hero-grid{grid-template-columns:.95fr 1.15fr;align-items:stretch;gap:28px;min-height:730px;display:grid}.hero-copy{z-index:1;padding:78px 0 46px;position:relative}.hero h1{letter-spacing:-.065em;margin:0 0 30px;font-size:clamp(3.5rem,6.2vw,6.1rem);font-weight:600;line-height:1.025}.hero h1>span{color:var(--blue)}.hero-copy>p{max-width:450px;color:var(--muted);font-size:16px;line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:25px;margin-top:34px;display:flex}.hero-footnote{color:var(--muted);align-items:center;gap:10px;margin-top:52px;font-size:11px;display:flex}.line-mark{background:linear-gradient(90deg,var(--blue) 65%,var(--cyan) 65%);border-radius:3px;width:30px;height:8px;display:block}.hero-visual{min-width:0;color:var(--ink);background:#eceff2;flex-direction:column;align-self:stretch;transition:background .7s;display:flex;position:relative}.hero-image-shell{position:absolute;inset:0;overflow:hidden}.hero-image{object-fit:cover;width:100%;height:100%;animation:art-in 1.2s var(--ease) both}.hero-visual[data-art=sistemas]{color:#fff;background:#102a46}.hero-visual[data-art=sistemas] .hero-image{opacity:.76}.hero-stamp{z-index:1;letter-spacing:.08em;justify-content:space-between;padding:28px;font-size:10px;font-weight:600;display:flex;position:relative}.hero-caption{z-index:1;background:linear-gradient(#0000,#f1f3f6e6 65%);margin-top:auto;padding:100px 30px 30px;position:relative}.hero-caption .micro{color:var(--deep);margin-bottom:12px;display:block}.hero-caption a{letter-spacing:-.04em;animation:slide-in .5s var(--ease) both;justify-content:space-between;align-items:center;gap:25px;font-size:23px;font-weight:600;line-height:1.25;display:flex}.hero-caption a>span{font-size:30px}.hero-visual[data-art=sistemas] .hero-caption{background:linear-gradient(#0000,#052444e6 65%)}.hero-visual[data-art=sistemas] .micro{color:#18d6ec}.hero-controls{z-index:1;color:var(--text);background:#fff;align-items:stretch;min-height:88px;display:flex;position:relative}.hero-controls>button{text-align:left;background:#fff;border-top:2px solid #0000;flex:1;padding:15px 10px;font-size:10px;font-weight:600;line-height:1.4;transition:background .2s}.hero-controls>button span{color:var(--muted);margin-bottom:5px;font-size:11px;display:block}.hero-controls>button[aria-pressed=true]{border-color:var(--blue);color:var(--blue);background:#f6f8fa}.hero-controls>button:hover{background:var(--paper)}.hero-controls>.pause-button{text-align:center;flex:0 0 42px;font-size:16px}.expertise-strip{background:var(--deep);color:#fff}.expertise-strip>.wrap{letter-spacing:.01em;justify-content:space-between;align-items:center;gap:24px;padding-block:22px;font-size:13px;display:flex}.expertise-strip span{align-items:center;gap:15px;display:flex}.expertise-strip span:before{content:"";background:var(--cyan);border-radius:50%;width:5px;height:5px}.section-head{justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:48px;display:flex}.section-head>p{max-width:335px;color:var(--muted);font-size:14px;line-height:1.8}.section-head .eyebrow{margin-bottom:18px}.service-browser{background:var(--paper);grid-template-columns:.9fr 1.3fr;min-height:560px;display:grid}.service-menu{background:#e9edf1;grid-template-columns:1fr 1fr;align-content:start;gap:3px;padding:18px;display:grid}.service-menu button{text-align:left;background:0 0;border-radius:2px;align-items:center;gap:11px;min-height:68px;padding:17px 12px;font-size:12px;font-weight:600;line-height:1.4;transition:background .25s,color .25s;display:flex}.service-menu button>span:first-child{opacity:.65;font-size:10px}.service-menu button>span:last-child{margin-left:auto;font-size:15px}.service-menu button.selected{background:var(--blue);color:#fff;box-shadow:0 4px 12px #00347d14}.service-menu button:hover:not(.selected){background:#fff}.service-body{flex-direction:column;min-width:0;padding:34px 48px;display:flex}.service-body-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;display:flex}.service-body-top>.micro{color:var(--muted);font-size:9px}.service-count{color:var(--blue);letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:36px;font-weight:500}.service-count small{color:var(--muted);letter-spacing:0;font-size:14px}.service-slide{animation:slide-in .5s var(--ease) both}.service-slide h3{max-width:560px;font-size:clamp(1.65rem,2.5vw,2.5rem);line-height:1.2}.service-slide p{color:var(--muted);margin-top:20px;font-size:14px;line-height:1.8}.service-slide ul{grid-template-columns:1fr 1fr;gap:12px 20px;margin:28px 0;padding:0;font-size:12px;list-style:none;display:grid}.service-slide li:before{content:"+";color:var(--blue);margin-right:9px}.carousel-controls{align-items:center;gap:8px;margin-top:auto;padding-top:30px;display:flex}.carousel-controls>button:not(.pause-text),.rail-controls button{background:0 0;border:1px solid #c8d0d9;border-radius:50%;flex-shrink:0;width:44px;height:44px;font-size:20px;transition:background .25s,color .25s}.carousel-controls>button:hover,.rail-controls button:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.carousel-controls .pause-text{background:0 0;min-height:44px;padding:10px;font-size:11px}.carousel-controls>span{color:var(--muted);margin-left:auto;font-size:10px}.approach{background:#f8f9fa}.approach-grid{grid-template-columns:1fr 1fr;align-items:center;gap:100px;display:grid}.approach-visual{background:#eaeef3;height:650px;position:relative;overflow:hidden}.approach-visual>.art{object-position:47% 55%;transform:scale(1.15)}.art-annotation{color:var(--deep);flex-direction:column;gap:12px;display:flex;position:absolute;inset:30px auto auto 32px}.art-annotation strong{letter-spacing:-.04em;font-size:26px;font-weight:500;line-height:1.1}.approach-copy>.lede{margin:28px 0 18px}.approach-copy>p:not(.lede){color:var(--muted);font-size:14px}.process-accordion{margin-block:32px}.process-accordion details{border-top:1px solid var(--line)}.process-accordion details:last-child{border-bottom:1px solid var(--line)}summary{align-items:center;gap:17px;min-height:62px;padding:15px 35px 15px 0;font-size:14px;font-weight:600;line-height:1.5;list-style:none;display:flex;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--blue);font-size:24px;font-weight:400;position:absolute;top:14px;right:4px}details[open]>summary:after{content:"−"}summary>span{color:var(--blue);font-size:11px}details>p{color:var(--muted);padding:0 20px 22px 32px;font-size:14px;line-height:1.8}.rail-controls{justify-content:flex-end;align-items:center;gap:9px;margin-bottom:22px;display:flex}.rail-controls>span{color:var(--muted);margin-right:auto;font-size:12px}.project-rail{scroll-snap-type:x mandatory;scrollbar-color:var(--blue) var(--paper);scrollbar-width:thin;gap:24px;padding-bottom:24px;display:flex;overflow-x:auto}.project-rail>.project-card{scroll-snap-align:start;flex:0 0 calc(50% - 12px);min-width:0}.project-card{min-width:0;display:block}.project-art{background:var(--paper);height:330px;position:relative;overflow:hidden}.project-art .art{transition:transform .8s var(--ease);filter:brightness(.96)}.project-card:hover .art{transform:scale(1.05)}.project-card:nth-child(2n) .project-art{background:var(--deep)}.case-label{background:#fff;border-radius:2px;padding:6px 12px;font-size:10px;position:absolute;top:20px;left:20px}.case-initial{color:#fff;letter-spacing:-.06em;text-shadow:0 3px 25px #00347d80;mix-blend-mode:normal;font-size:90px;font-weight:800;line-height:.85;position:absolute;bottom:40px;left:24px}.image-caption{letter-spacing:.02em;color:#485460;background:#fffffff0;padding:5px 10px;font-size:9px;position:absolute;bottom:0;right:0}.project-caption{justify-content:space-between;align-items:center;gap:20px;padding:24px 0;display:flex}.project-caption h3{margin-bottom:6px;font-size:22px;line-height:1.3}.project-caption p{color:var(--muted);font-size:11px}.project-card:hover .link-circle,.project-row:hover .link-circle{background:var(--blue);color:#fff;border-color:var(--blue)}.project-grid{grid-template-columns:1fr 1fr;gap:32px;display:grid}.engineering{color:#fff;background:#061e36;position:relative;overflow:hidden}.engineering-image{position:absolute;inset:0 0 0 36%}.engineering-image:after{content:"";background:linear-gradient(90deg,#061e36,#0000 70%);position:absolute;inset:0}.engineering-image>.art{opacity:.7;object-position:center;height:100%}.engineering-content{padding-block:100px;position:relative}.engineering-content>div{max-width:650px}.engineering .eyebrow{color:#18d6ec}.engineering h2{color:#fff;font-size:clamp(2.7rem,4.5vw,4.75rem);line-height:1.08}.engineering h2 span{color:var(--cyan)}.engineering p{color:#d0dfe9;max-width:460px;margin:28px 0 35px;font-size:14px;line-height:1.8}.engineering .button{color:var(--deep);background:#fff}.engineering :focus-visible,.footer :focus-visible{outline-color:var(--cyan)}.article-grid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.article-card{border-top:1px solid var(--line);flex-direction:column;min-width:0;padding-top:24px;display:flex}.article-info{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-bottom:23px;font-size:11px;display:flex}.article-card h3{letter-spacing:-.04em;margin-bottom:18px;font-size:24px;line-height:1.3}.article-card h3 a:hover{color:var(--blue)}.article-card>p{color:var(--muted);margin-bottom:22px;font-size:13px;line-height:1.85}.article-card>.text-link{margin-top:auto;font-size:12px}.testimonial-section{background:var(--paper);padding:70px 0}.quotes{grid-template-columns:1fr 1fr;gap:80px;display:grid}.quotes blockquote{letter-spacing:-.025em;margin:0;font-size:24px;line-height:1.45}.quotes figcaption{justify-content:space-between;gap:18px;margin-top:28px;font-size:11px;font-weight:650;display:flex}.quotes figcaption a{color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:4px;font-weight:400}.closing{background:var(--blue);color:#fff;padding-block:85px}.closing .eyebrow{color:#a5eaf3}.closing h2{color:#fff;font-size:clamp(2.3rem,4.5vw,4.5rem)}.closing-inner{grid-template-columns:1.4fr 1fr;align-items:end;gap:70px;display:grid}.closing-inner>div:last-child{justify-self:end;max-width:340px}.closing p{color:#e2edfc;margin-bottom:25px;font-size:15px}.closing .button{color:var(--deep);background:#fff}.closing :focus-visible{outline-color:#fff}.footer{color:#c7d1df;background:#0b2036;padding-top:75px}.footer-grid{grid-template-columns:1.4fr 1fr 1.2fr 1.3fr;gap:45px;display:grid}.footer .wordmark,.footer .wordmark span{color:#fff}.footer .wordmark small{color:var(--cyan)}.footer p{margin:20px 0;font-size:13px}.footer h2{color:#fff;letter-spacing:0;margin:0 0 24px;font-size:12px;font-weight:600}.footer-grid>div>a:not(.wordmark){overflow-wrap:anywhere;padding:7px 0;font-size:12px;display:block}.footer a:hover{color:#fff}.footer-location{color:#9fb1c6;font-size:11px}.footer-bottom{color:#9fb1c6;border-top:1px solid #ffffff19;justify-content:space-between;gap:20px;margin-top:65px;padding-block:25px;font-size:10px;display:flex}.breadcrumbs{color:var(--muted);margin-bottom:35px;font-size:11px}.breadcrumbs ol{flex-wrap:wrap;gap:8px 10px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li:not(:last-child):after{content:"/";color:#85909b;margin-left:10px}.breadcrumbs a:hover{color:var(--blue)}.breadcrumbs li:last-child{color:#566778}.page-heading{background:var(--paper);padding:36px 0 65px}.page-heading h1{max-width:1020px}.page-heading .lede{max-width:740px;color:var(--muted);margin-top:28px}.page-heading .tag-list{margin-top:30px}.page-heading .pill{background:#fff}.service-hero{background:var(--paper);padding:32px 0 76px}.service-hero-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;display:grid}.service-hero h1{font-size:clamp(2.7rem,4.7vw,4.5rem);line-height:1.12}.service-hero p{color:var(--muted);margin:26px 0;font-size:15px;line-height:1.85}.service-hero .art{object-fit:cover;border-radius:3px;height:470px}.service-hero .eyebrow{margin-bottom:18px}.anchor-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:25px;padding-block:20px;font-size:12px;display:flex}.anchor-nav a{padding-block:10px}.anchor-nav a:hover{color:var(--blue)}.two-column{grid-template-columns:1fr 1fr;gap:80px;display:grid}.two-column h2{max-width:520px;font-size:clamp(2rem,3vw,3rem)}.two-column .lede{margin-bottom:24px}.prose{overflow-wrap:break-word;font-size:16px;line-height:1.9}.prose p{color:#48515a}.prose a,.note a{text-underline-offset:4px;color:var(--blue);text-decoration:underline}.prose h2{margin-bottom:25px;font-size:clamp(1.8rem,3vw,2.35rem);line-height:1.25}.prose h3{margin:30px 0 15px}.prose section+section{margin-top:65px}.feature-grid{grid-template-columns:1fr 1fr;gap:20px;margin-top:35px;display:grid}.feature{border-top:1px solid var(--line);padding-top:20px}.feature>span{color:var(--blue);margin-bottom:18px;font-size:12px;display:block}.feature h3{font-size:21px;line-height:1.4}.accent-box{background:var(--deep);color:#fff;align-self:start;padding:38px}.accent-box .eyebrow{color:var(--cyan)}.accent-box h2,.accent-box h3{color:#fff}.accent-box p{color:#d2deec;margin:22px 0;font-size:15px}.accent-box a{color:#fff}.mini-grid{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.mini-link{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;min-height:100px;padding:25px 0;display:flex}.mini-link h3{font-size:22px;line-height:1.3}.mini-link:hover{color:var(--blue)}.mini-link:hover h3{color:inherit}.filter-row{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:35px;font-size:13px;display:flex}.filter-row label{font-weight:650}.filter-row select{min-width:260px}.filter-row>span{color:var(--muted);margin-left:auto}.project-row{border-top:1px solid var(--line);grid-template-columns:55px 1fr 180px 45px;align-items:center;gap:20px;padding-block:23px;display:grid}.project-row:last-child{border-bottom:1px solid var(--line)}.project-row h2{font-size:24px;line-height:1.3}.project-row>span:not(.link-circle){color:var(--muted);font-size:12px}.project-index{font-variant-numeric:tabular-nums}.project-row:hover h2{color:var(--blue)}.category-nav{flex-wrap:wrap;gap:8px;margin:30px 0;display:flex}.category-nav a{border:1px solid var(--line);border-radius:30px;min-height:44px;padding:10px 15px;font-size:12px}.category-nav a:hover,.category-nav a[aria-current]{color:#fff;background:var(--blue);border-color:var(--blue)}.archive-group+.archive-group{margin-top:65px}.archive-group>h2{padding-bottom:20px;font-size:25px}.archive-group>.article-grid{margin-top:12px}.article-heading .lede{max-width:830px}.article-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px 25px;margin-top:28px;font-size:12px;display:flex}.article-meta .pill{color:var(--blue)}.article-layout{grid-template-columns:255px 1fr;align-items:start;gap:90px;display:grid}.article-layout>.prose{max-width:760px}.article-sidebar{position:sticky;top:130px}.article-sidebar h2{letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px;font-size:12px}.article-sidebar ol{color:var(--muted);margin:0;padding-left:20px;font-size:12px}.article-sidebar li{padding:8px 0 8px 6px}.article-sidebar a:hover{color:var(--blue)}.article-sidebar .note{border-top:1px solid var(--line);margin-top:30px;padding-top:22px;font-size:11px}.article-cta{background:var(--paper);margin-top:50px;padding:30px}.article-cta h2{margin-bottom:16px;font-size:24px}.article-cta p{margin-bottom:18px;font-size:14px}.article-cta .button{color:#fff;text-decoration:none}.case-cover{aspect-ratio:2.2;background:var(--paper);position:relative;overflow:hidden}.case-cover .art{object-position:50% 50%;height:100%}.case-cover figcaption{background:#fffffff0;max-width:100%;padding:12px 20px;font-size:11px;position:absolute;bottom:0;right:0}.case-detail{grid-template-columns:280px 1fr;gap:80px;display:grid}.case-detail dl{margin:0}.case-detail dt{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;font-size:10px}.case-detail dd{margin:8px 0 25px;font-size:14px}.case-detail .prose h2{margin-top:0}.case-detail .prose p{max-width:800px}.case-detail .tag-list .pill{border:1px solid var(--line);background:#fff}.faq-list{max-width:860px;margin-inline:auto}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{padding-block:24px;padding-right:45px;font-size:18px}.faq-list summary:after{top:20px}.faq-list details>p{padding:0 45px 28px 0;font-size:15px}.quote-full{max-width:850px;margin-inline:auto}.quote-full blockquote{letter-spacing:-.035em;margin:0 0 35px;font-size:clamp(1.5rem,3.5vw,2.7rem);line-height:1.45}.quote-full figcaption{color:var(--muted);font-size:14px}.portrait-free{background:var(--paper);padding:45px}.portrait-free>.art{max-height:460px}.contact-layout{grid-template-columns:.9fr 1.1fr;align-items:start;gap:90px;display:grid}.contact-links{gap:0;margin-block:35px;display:grid}.contact-links>a{border-top:1px solid var(--line);letter-spacing:-.025em;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:18px;padding-block:23px;font-size:20px;display:flex}.contact-links small{color:var(--muted);letter-spacing:0;margin-bottom:6px;font-size:11px;display:block}.contact-links>a:hover{color:var(--blue)}.contact-aside>h2{font-size:clamp(2rem,3vw,3rem)}.contact-aside>p{color:var(--muted);margin-top:24px;font-size:14px}.contact-form{background:var(--paper);padding:36px}.contact-form h2{margin-bottom:20px;font-size:28px}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.field{flex-direction:column;gap:7px;margin-bottom:20px;display:flex}.form-grid .field{margin-bottom:0}.field label{font-size:12px;font-weight:700}.field input,.field textarea,.field select,.filter-row select{width:100%;color:var(--ink);outline-offset:2px;background:#fff;border:1px solid #c7d0da;border-radius:2px;min-height:48px;padding:12px 13px;font-size:14px;line-height:1.5}.field textarea{resize:vertical;min-height:140px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue)}.contact-form .form-grid{margin-bottom:20px}.form-help{color:var(--muted);margin-bottom:18px;font-size:11px}.form-status{color:var(--deep);margin-top:20px;font-size:13px}.form-status[data-error=true]{color:#a12020}.contact-form .button{width:100%}.contact-form .button:disabled{opacity:1;box-shadow:none;background:#657687;transform:none}.form-notice{border-left:3px solid var(--orange);background:#fff;margin-bottom:25px;padding:15px 17px;font-size:12px;line-height:1.8}.checkbox-field{align-items:flex-start;gap:10px;margin:15px 0 25px;font-size:11px;line-height:1.7;display:flex}.checkbox-field input{width:17px;height:17px;accent-color:var(--blue);flex-shrink:0;margin-top:4px}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.session-box{background:var(--paper);max-width:850px;margin-inline:auto;padding:45px}.session-box h2{font-size:32px}.session-box p{color:var(--muted);margin:25px 0}.session-actions{flex-wrap:wrap;gap:18px;display:flex}.no-js-hint{background:var(--paper);padding:15px;font-size:13px;display:block}[data-reveal]{transition:opacity .75s var(--ease),transform .9s var(--ease)}.will-reveal{opacity:0;transform:translateY(28px)}.revealed{opacity:1;transform:none}@keyframes slide-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes art-in{0%{opacity:.3;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}@media (min-width:1600px){.hero-grid{min-height:795px}.hero-copy{padding-top:95px}}@media (max-width:1150px){.wrap{width:calc(100% - 64px)}.nav-links{gap:22px}.hero-grid{min-height:670px}.hero-copy{padding-top:65px}.hero h1{font-size:clamp(3.5rem,6.5vw,5.2rem)}.hero-copy>p{font-size:14px}.hero-actions{gap:15px}.hero-actions .button{padding:14px 17px;font-size:12px}.hero-actions .text-link{font-size:12px}.hero-caption{padding-inline:22px}.hero-controls>button{padding-inline:8px;font-size:9px}.section{padding-block:85px}.approach-grid{gap:60px}.approach-visual{height:600px}.service-browser{grid-template-columns:1fr 1.3fr}.service-menu{scrollbar-width:thin;scrollbar-color:var(--blue) transparent;grid-template-columns:1fr;max-height:570px;padding:12px;overflow:auto}.service-menu button{min-height:47px;padding:12px 15px}.service-body{padding:30px}.service-slide ul{grid-template-columns:1fr;gap:9px}.footer-grid{gap:30px}.two-column,.contact-layout{gap:50px}.article-layout{grid-template-columns:220px 1fr;gap:55px}.service-hero-grid{gap:35px}.service-hero .art{height:450px}.case-detail{grid-template-columns:240px 1fr;gap:50px}}@media (max-width:850px){.wrap{width:calc(100% - 44px)}.nav{flex-wrap:wrap;gap:0;min-height:76px}.wordmark{font-size:29px}.menu-toggle{display:flex}.nav-links{width:100%;padding:10px 0 24px;display:none}.nav-links.is-open{flex-direction:column;align-items:stretch;gap:0;display:flex}.nav-links>a{border-bottom:1px solid var(--line);padding:15px 5px}.nav-links>a:not(.nav-contact):after{display:none}.nav-links .nav-contact{text-align:center;margin-top:15px}.nav-links>a[aria-current]{color:var(--blue)}.hero-grid{grid-template-columns:1fr 1fr;gap:15px;min-height:615px}.hero-copy{padding-top:50px}.hero .eyebrow{letter-spacing:.07em;font-size:9px}.hero h1{font-size:clamp(3rem,6.3vw,4.6rem)}.hero-stamp{padding:20px;font-size:8px}.hero-caption a{font-size:20px}.hero-controls{flex-wrap:wrap;min-height:70px}.hero-controls>button{min-height:55px;padding:13px 10px;font-size:0}.hero-controls>button span{margin:0;font-size:14px}.hero-controls>.pause-button{font-size:14px}.hero-footnote{max-width:235px;margin-top:35px;font-size:10px;line-height:1.6}.expertise-strip>.wrap{gap:18px;font-size:10px}.expertise-strip span{gap:8px}.expertise-strip span:before{flex-shrink:0}.approach-grid{gap:35px}.approach-visual{height:580px}.art-annotation{top:22px;left:22px}.art-annotation strong{font-size:23px}.approach-copy>.lede{font-size:17px}.project-art{height:280px}.project-caption h3{font-size:20px}.case-initial{font-size:75px}.quotes{gap:40px}.quotes blockquote{font-size:21px}.footer-grid{grid-template-columns:1.2fr 1fr;gap:40px}.footer h2{margin-bottom:16px}.article-grid{gap:22px}.article-card h3{font-size:21px}.article-info{align-items:flex-start}.article-info .pill{font-size:9px}.closing-inner{gap:40px}.service-hero-grid{grid-template-columns:1fr 1fr;gap:25px}.service-hero .art{height:420px}.service-hero h1{font-size:40px}.two-column{gap:40px}.article-layout{grid-template-columns:190px 1fr;gap:35px}.article-meta{gap:14px;font-size:11px}.project-row{grid-template-columns:32px 1fr 140px 40px;gap:16px}.project-row h2{font-size:21px}.project-row .link-circle{width:40px;height:40px}.case-detail{grid-template-columns:200px 1fr;gap:35px}.contact-layout{gap:35px}.contact-form{padding:24px}.form-grid{grid-template-columns:1fr}.contact-links>a{font-size:17px}}@media (max-width:650px){.wrap{width:calc(100% - 36px)}.section{padding-block:65px}.eyebrow{margin-bottom:20px;font-size:10px}.section-head{flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:32px}.section-head>p{max-width:100%;font-size:13px}.hero-grid{flex-direction:column;gap:0;min-height:0;display:flex}.hero-copy{padding:45px 0 35px}.hero .eyebrow{letter-spacing:.05em;font-size:10px}.hero h1{margin-bottom:25px;font-size:clamp(3.35rem,13.5vw,5.5rem);line-height:1.02}.hero h1 br:nth-of-type(2){display:none}.hero h1>span:before{content:" "}.hero-copy>p{max-width:480px;font-size:14px}.hero-actions{gap:20px;margin-top:25px}.hero-actions .button{padding:14px 19px;font-size:13px}.hero-actions .text-link{font-size:12px}.hero-footnote{max-width:none;margin-top:26px;font-size:10px}.hero-visual{width:100%;height:445px;margin-bottom:24px}.hero-stamp{padding:19px;font-size:9px}.hero-image{object-position:50% 47%}.hero-caption{padding:75px 20px 20px}.hero-caption a{font-size:23px}.hero-controls{min-height:69px}.hero-controls>button{padding:11px 8px;font-size:9px}.hero-controls>button span{margin-bottom:4px;font-size:10px}.hero-controls>.pause-button{flex-basis:35px}.expertise-strip>.wrap{grid-template-columns:1fr;gap:9px;padding-block:22px;font-size:12px;display:grid}.expertise-strip span{gap:13px}.service-browser{grid-template-columns:1fr}.service-menu{scroll-snap-type:x proximity;gap:6px;max-height:none;padding:12px;display:flex;overflow-x:auto}.service-menu button{scroll-snap-align:start;border:1px solid #d6dde5;flex:0 0 175px;min-height:52px;font-size:11px}.service-menu button>span:last-child{display:none}.service-body{min-height:530px;padding:25px 22px}.service-body-top{margin-bottom:20px}.service-slide h3{font-size:28px}.service-slide p{font-size:13px}.service-slide ul{grid-template-columns:1fr 1fr;gap:12px;margin:25px 0;font-size:11px}.service-slide .button{gap:14px;padding-inline:17px;font-size:12px}.carousel-controls>span{font-size:9px}.carousel-controls .pause-text{padding-inline:8px}.approach-grid{flex-direction:column;gap:36px;display:flex}.approach-visual{order:2;width:100%;height:395px}.approach-visual>.art{object-position:center;transform:none}.approach-copy{order:1}.approach-copy h2{font-size:38px}.approach-copy>.lede{margin-top:22px}.process-accordion{margin-block:25px}.art-annotation strong{font-size:26px}.project-rail>.project-card{flex-basis:86%}.project-art{height:285px}.project-caption{padding-top:19px}.project-caption h3{font-size:20px}.project-grid{grid-template-columns:1fr;gap:24px}.engineering-content{padding-block:70px}.engineering h2{font-size:43px}.engineering-image{opacity:.6;inset:0}.engineering-image:after{background:linear-gradient(90deg,#061e36ef,#061e3690)}.engineering p{max-width:360px;font-size:14px}.engineering .button{font-size:12px}.article-grid{grid-template-columns:1fr;gap:35px}.article-card{padding-top:22px}.article-info{margin-bottom:18px}.article-info .pill{font-size:10px}.article-card h3{margin-bottom:15px;font-size:25px}.article-card>p{margin-bottom:15px;font-size:14px}.quotes{grid-template-columns:1fr;gap:40px}.quotes blockquote{font-size:22px}.quotes figcaption{margin-top:20px}.testimonial-section{padding-block:55px}.closing{padding-block:60px}.closing-inner{grid-template-columns:1fr;gap:28px}.closing-inner>div:last-child{justify-self:start;max-width:100%}.closing h2{font-size:40px}.closing p{margin-bottom:20px;font-size:14px}.footer{padding-top:55px}.footer-grid{gap:32px 20px}.footer-grid>div:first-child{grid-column:1/-1;margin-bottom:10px}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid>div>a:not(.wordmark){padding-block:9px;font-size:12px}.footer-bottom{flex-direction:column;gap:8px;margin-top:38px;padding-block:22px}.page-heading{padding:25px 0 45px}.page-heading h1{font-size:clamp(2.25rem,9vw,3.25rem);line-height:1.15}.page-heading .lede{margin-top:22px;font-size:17px}.breadcrumbs{margin-bottom:32px;font-size:10px}.page-heading .eyebrow{margin-bottom:16px}.service-hero{padding-top:25px;padding-bottom:30px}.service-hero-grid{grid-template-columns:1fr;gap:30px}.service-hero h1{font-size:clamp(2.5rem,10vw,3.4rem)}.service-hero .art{height:320px}.service-hero p{margin-block:22px;font-size:14px}.anchor-nav{gap:12px 25px;padding-block:10px;font-size:11px}.two-column{grid-template-columns:1fr;gap:35px}.feature-grid{gap:25px 20px}.feature h3{font-size:20px}.accent-box{padding:28px}.mini-grid{grid-template-columns:1fr;gap:0}.mini-link{min-height:90px}.mini-link h3{font-size:23px}.filter-row{gap:10px;margin-bottom:25px}.filter-row label{width:100%}.filter-row select{flex:1;width:100%;min-width:0;max-width:300px;font-size:12px}.filter-row>span{font-size:10px}.project-row{grid-template-columns:26px 1fr 38px;gap:12px;padding-block:23px}.project-row h2{font-size:21px}.project-row>span:nth-child(3){grid-area:2/2;font-size:10px}.project-row>.link-circle{grid-area:1/3/3;width:38px;height:38px}.category-nav{gap:7px;margin-block:24px}.category-nav a{padding:10px 12px;font-size:11px}.archive-group+.archive-group{margin-top:45px}.archive-group>h2{font-size:23px}.article-layout{grid-template-columns:1fr;gap:35px}.article-sidebar{background:var(--paper);padding:22px;position:static}.article-sidebar h2{margin-bottom:14px;font-size:11px}.article-sidebar .note{display:none}.article-sidebar li{padding-block:5px}.article-meta{gap:10px 15px;font-size:10px}.prose{font-size:15px;line-height:1.9}.prose h2{font-size:27px}.prose section+section{margin-top:45px}.article-cta{padding:23px}.article-cta h2{font-size:24px}.article-cta .button{font-size:12px}.case-cover{aspect-ratio:1.25}.case-cover figcaption{padding:10px 13px;font-size:9px}.case-detail{grid-template-columns:1fr;gap:35px}.case-detail dl{grid-template-columns:1fr 1fr;gap:0 25px;display:grid}.case-detail dt,.case-detail dd{grid-column:auto}.case-detail dl>div{min-width:0}.case-detail .prose h2{font-size:28px}.faq-list summary{padding-block:22px;font-size:17px;line-height:1.5}.faq-list details>p{padding-right:15px;font-size:14px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-form{padding:27px 22px}.contact-links>a{font-size:22px}.contact-form h2{font-size:27px}.form-grid{grid-template-columns:1fr}.contact-form .button{font-size:13px}.session-box{padding:28px 23px}.session-box h2{font-size:28px}.session-actions{flex-direction:column;align-items:stretch}.session-actions .button{font-size:13px}.portrait-free{padding:20px}.quote-full blockquote{font-size:25px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.will-reveal{opacity:1;transform:none}}@media print{.site-header,.footer,.closing,.carousel-controls,.hero-controls,.rail-controls,.skip-link{display:none}.wrap{width:100%}.section{padding-block:25px}.will-reveal{opacity:1;transform:none}.article-layout{display:block}.article-sidebar{display:none}.hero-grid{display:block}.hero-visual{height:350px}.button{color:#000;background:#fff;border-color:#000}}
