:root{--ink:#172025;--ink-deep:#11181c;--muted:#5e676b;--paper:#f5f5f0;--white:#fff;--line:#dddfd9;--yellow:#f3cb35;--yellow-hover:#ffda4d;--max:1240px;--gutter:clamp(22px,4vw,64px);--radius:3px;--font:Arial,Helvetica,sans-serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:var(--font);font-size:16px;line-height:1.65;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}body.menu-open,body.modal-open{overflow:hidden}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{line-height:1.08;letter-spacing:-.04em}h1{font-size:clamp(42px,5vw,72px);font-weight:750}h2{font-size:clamp(32px,3.25vw,48px);font-weight:750}h3{font-size:25px;font-weight:700;line-height:1.2}h4{font-size:19px;line-height:1.25}p+p{margin-top:18px}a{color:inherit}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-underline-offset:4px}img{display:block;max-width:100%;height:auto}svg{vertical-align:middle;flex-shrink:0}button{color:inherit}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}:focus-visible{outline:3px solid #956c00;outline-offset:5px}.dark :focus-visible,.hero :focus-visible{outline-color:var(--yellow)}::selection{background:var(--yellow);color:var(--ink)}.container{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}.section{padding:94px 0}.section-sm{padding:60px 0}.paper{background:var(--paper)}.dark{background:var(--ink);color:white}.eyebrow{font-family:var(--mono);font-size:11px;line-height:1.5;letter-spacing:.15em;font-weight:600;text-transform:uppercase;display:flex;gap:11px;align-items:center;margin-bottom:20px}.eyebrow:before{content:'';width:24px;height:3px;background:var(--yellow);flex-shrink:0}.eyebrow.no-line:before{display:none}.lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:660px}.dark .lead{color:#c1c8ca}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.7}.mono{font-family:var(--mono)}.accent{color:var(--yellow)}.text-link{font-weight:700;font-size:14px;display:inline-flex;gap:12px;align-items:center;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.text-link:hover{gap:18px}.btn{min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:13px 22px;font-size:13px;line-height:1.5;font-weight:700;text-decoration:none;border:1px solid transparent;border-radius:var(--radius);transition:background .16s,transform .16s;letter-spacing:.015em}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--yellow);color:var(--ink-deep)}.btn-primary:hover{background:var(--yellow-hover)}.btn-dark{background:var(--ink);color:white}.btn-dark:hover{background:#303e45}.btn-outline{background:transparent;border-color:#bcc3c5}.btn-outline:hover{background:#f0f1ec}.dark .btn-outline,.hero .btn-outline{color:white;border-color:#647076}.dark .btn-outline:hover,.hero .btn-outline:hover{background:#2e383e}.button-row{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}.skip-link{position:fixed;top:-100px;left:16px;z-index:2000;background:var(--yellow);padding:12px 18px;color:var(--ink)}.skip-link:focus{top:10px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Navigation */
.site-header{height:96px;position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{display:inline-flex;align-items:center;text-decoration:none;gap:13px;flex-shrink:0}.brand img{width:77px;height:48px;object-fit:contain}.brand-wordmark{display:flex;flex-direction:column;line-height:1.05}.brand-wordmark strong{font-size:23px;letter-spacing:-.045em}.brand-wordmark span{font-size:12px;font-weight:700;letter-spacing:.205em;margin-top:5px}.desktop-nav{display:flex;align-items:center;gap:31px}.desktop-nav>a:not(.btn){font-size:13px;text-decoration:none;font-weight:700;position:relative;padding:10px 0;white-space:nowrap}.desktop-nav>a:not(.btn):after{content:'';height:3px;position:absolute;bottom:0;left:0;right:100%;background:var(--yellow);transition:right .16s}.desktop-nav>a:hover:after,.desktop-nav>a[aria-current=page]:after{right:0}.desktop-nav .btn{margin-left:6px;min-height:43px;padding:11px 17px}.menu-toggle{display:none;background:none;border:1px solid var(--line);width:46px;height:44px;align-items:center;justify-content:center}.mobile-nav{display:none}
/* Home hero */
.hero{position:relative;isolation:isolate;background:var(--ink-deep);color:#fff;min-height:645px;overflow:hidden}.hero-media{position:absolute;inset:0 0 0 38%;z-index:-2}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:52% 50%}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#11181c 0%,#11181c 23%,rgba(17,24,28,.93) 34%,rgba(17,24,28,.6) 51%,rgba(17,24,28,.12) 75%)}.hero-inner{min-height:645px;display:flex;align-items:center;padding-top:65px;padding-bottom:96px}.hero-copy{max-width:640px}.hero .eyebrow{color:#d3dadd;margin-bottom:27px}.hero h1{font-size:clamp(49px,5.8vw,82px);letter-spacing:-.055em;line-height:1.015;max-width:690px}.hero .lead{color:#c8d0d3;font-size:18px;max-width:460px;margin-top:28px}.hero .button-row{margin-top:34px}.hero-foot{position:absolute;bottom:26px;left:0;width:100%;font-family:var(--mono);font-size:10px;letter-spacing:.09em;line-height:1.6;text-transform:uppercase;color:#c3cbd0}.hero-foot .container{display:flex;justify-content:space-between;align-items:center;gap:20px}.hero-photo-label{font-size:9px;padding:8px 10px;border:1px solid #718088;background:rgba(17,24,28,.62);letter-spacing:.07em}.platform-strip{background:var(--paper);border-bottom:1px solid var(--line)}.platform-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:90px}.strip-label{font:10px/1.6 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--muted);max-width:120px}.platform-list{display:flex;align-items:center;justify-content:space-between;gap:45px;flex:1;max-width:935px}.platform-list span{font-size:20px;font-weight:700;letter-spacing:-.03em}.platform-list small{font-weight:400;font-size:12px;display:block;line-height:1.1;letter-spacing:0;color:var(--muted)}
/* Reusable content */
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:43px}.section-heading h2{max-width:630px}.section-heading p{max-width:370px;font-size:15px;color:var(--muted)}.section-heading .text-link{white-space:nowrap;margin-bottom:4px}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:95px;align-items:start}.intro-copy .lead{font-size:18px}.intro-copy .text-link{margin-top:26px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line);margin-top:50px}.service-card{position:relative;padding:31px 31px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s}.service-card:hover{background:var(--paper)}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px;color:var(--muted)}.card-number{font:11px var(--mono);letter-spacing:.08em}.service-card h3{font-size:23px;max-width:270px;margin-bottom:17px}.service-card p{font-size:14px;color:var(--muted);max-width:300px;line-height:1.75}.service-icon{color:var(--ink)}.service-card .arrow{position:absolute;right:26px;bottom:26px}.photo-story{display:grid;grid-template-columns:1.17fr 1fr;min-height:505px}.photo-story>.story-image{position:relative;overflow:hidden;min-height:460px}.story-image img{width:100%;height:100%;object-fit:cover}.image-caption{position:absolute;bottom:0;left:0;right:0;color:white;background:linear-gradient(transparent,rgba(0,0,0,.75));padding:36px 25px 20px;font:10px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.07em}.story-copy{padding:70px 64px;display:flex;flex-direction:column;justify-content:center;background:var(--ink);color:white}.story-copy h2{margin-bottom:22px}.story-copy p{color:#c3ccce;font-size:16px}.story-copy .text-link{align-self:start;color:var(--yellow);margin-top:27px}.check-list{padding:0;list-style:none;margin:24px 0 0}.check-list li{position:relative;padding-left:25px;margin:12px 0;font-size:14px}.check-list li:before{content:'+';color:var(--yellow);font-family:var(--mono);position:absolute;left:0;font-weight:700}.dark .check-list{color:#e5e9e9}.work-teasers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:23px}.work-teaser{text-decoration:none}.work-teaser .photo-frame{aspect-ratio:1.43;overflow:hidden;background:#dee2e1}.work-teaser img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.work-teaser:hover img{transform:scale(1.025)}.tag{font:10px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.work-teaser .tag{margin-top:21px;margin-bottom:8px;display:block}.work-teaser h3{font-size:23px;display:flex;justify-content:space-between;gap:10px}.work-teaser p{font-size:14px;color:var(--muted);margin-top:11px}.simulation-feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:center}.simulation-feature .lead{font-size:16px;margin-top:23px}.simulation-image{position:relative;background:#e1e3df;padding:20px;border:1px solid #d3d8d3}.simulation-image img{width:100%;aspect-ratio:1.6;object-fit:cover}.simulation-image figcaption{margin-top:12px;font:10px/1.5 var(--mono);letter-spacing:.045em;color:var(--muted);display:flex;justify-content:space-between;gap:15px}.mini-tags{display:flex;gap:8px;flex-wrap:wrap;margin:23px 0}.mini-tags span{font:11px/1.5 var(--mono);background:#e9ebe5;padding:6px 9px}.process-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:50px}.process-step{border-top:1px solid #465159;padding-top:24px}.process-step .card-number{color:var(--yellow);display:block;margin-bottom:19px}.process-step h3{font-size:22px;margin-bottom:14px}.process-step p{font-size:14px;color:#c4ccce}.cta-band{background:var(--yellow);padding:55px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:55px}.cta-band h2{font-size:clamp(29px,3vw,42px);max-width:750px}.cta-band p{font-size:15px;margin-top:12px}.cta-band .btn{flex-shrink:0}.footer{background:var(--ink-deep);color:#c0c8ca;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:55px;padding-bottom:48px}.footer-logo{width:139px;background:#fff;padding:10px 11px;margin-bottom:21px;border-radius:2px}.footer-logo img{width:100%}.footer p{font-size:13px;max-width:245px;line-height:1.8}.footer h2{font-size:11px;letter-spacing:.08em;text-transform:uppercase;line-height:1.5;color:white;margin:0 0 20px}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:9px 0;font-size:13px}.footer a{text-decoration:none}.footer a:hover{color:var(--yellow)}.footer-contact{display:grid;gap:11px;font-size:13px}.footer-contact a{overflow-wrap:anywhere}.footer-bottom{border-top:1px solid #364149;padding-top:21px;display:flex;justify-content:space-between;gap:25px;font-size:11px;color:#9da9ae}.footer-disclaimer{font-size:10px!important;color:#9da9ae;max-width:100%!important;line-height:1.7!important;margin-top:21px}.footer .text-link{font-size:13px;color:var(--yellow);margin-top:17px}.page-intro{padding:65px 0 57px;background:var(--paper);border-bottom:1px solid var(--line)}.breadcrumbs{font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:33px;display:flex;gap:12px;flex-wrap:wrap}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.page-intro h1{max-width:870px}.page-intro .lead{margin-top:23px;font-size:18px;max-width:780px}.page-intro .eyebrow{margin-bottom:19px}.page-intro.tight{padding-bottom:43px}.inline-nav{margin-top:35px;display:flex;gap:10px;flex-wrap:wrap}.inline-nav a{font-size:12px;padding:8px 13px;border:1px solid #cdd2cc;text-decoration:none;font-weight:700;background:white}.inline-nav a:hover{background:var(--yellow);border-color:var(--yellow)}
/* Services */
.service-detail{display:grid;grid-template-columns:80px 1fr 1fr;gap:35px;padding:64px 0;border-bottom:1px solid var(--line);scroll-margin-top:108px}.service-detail:last-child{border-bottom:0}.detail-number{font:13px/1.5 var(--mono);color:var(--muted);padding-top:9px}.service-detail h2{font-size:34px;max-width:385px;margin-bottom:19px}.service-detail p{font-size:15px;color:var(--muted)}.service-detail .detail-body{padding-top:3px}.detail-body ul{list-style:none;margin:0;padding:0}.detail-body li{padding:10px 0 10px 21px;border-bottom:1px solid #e5e7e1;position:relative;font-size:14px;line-height:1.7}.detail-body li:before{content:'+';position:absolute;left:0;color:#837014;font-family:var(--mono)}.service-detail .mini-tags{margin-bottom:0}.detail-note{font-size:12px!important;padding:13px 15px;background:var(--paper);margin-top:18px}.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px}.capability{border-top:2px solid var(--yellow);padding:24px 0 0}.capability h3{font-size:21px;margin-bottom:15px}.capability p{font-size:14px;color:#bdc6ca}.capability p+p{margin-top:10px}.service-banner{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding-top:15px}.service-banner img{height:280px;width:100%;object-fit:cover}.service-banner h2{font-size:32px;margin-bottom:20px}
/* Work */
.portfolio-note{font-size:13px;color:var(--muted);max-width:880px;padding-left:16px;border-left:3px solid var(--yellow);margin-bottom:34px}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}.filter-button{font-size:12px;font-weight:700;line-height:1.4;padding:11px 16px;border:1px solid #cbd1cf;background:white;min-height:42px}.filter-button:hover{border-color:var(--ink)}.filter-button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.gallery-card .gallery-open{display:block;width:100%;padding:0;border:0;background:#e0e4e1;position:relative;overflow:hidden;text-align:left;aspect-ratio:1.36}.gallery-card img{height:100%;width:100%;object-fit:cover;transition:transform .3s}.gallery-card .gallery-open:hover img{transform:scale(1.03)}.gallery-zoom{position:absolute;bottom:12px;right:12px;width:32px;height:32px;display:grid;place-items:center;background:white;color:var(--ink)}.gallery-card .tag{display:block;margin-top:18px;margin-bottom:8px}.gallery-card h3{font-size:21px}.gallery-card p{font-size:13px;color:var(--muted);margin-top:9px;line-height:1.65}.gallery-card figcaption{padding:0 1px}.reference-tag{color:#70642d}.reference-intro{margin:58px 0 30px;max-width:800px}.reference-intro h2{font-size:32px;margin-bottom:18px}.reference-intro p{font-size:14px;color:var(--muted)}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.reference-grid img{object-fit:contain!important;padding:9px;background:#e4e6e2}.lightbox{padding:0;border:1px solid #3f4a50;background:#11181c;color:white;width:min(1100px,calc(100vw - 32px));max-height:calc(100vh - 32px);border-radius:3px;overflow:auto}.lightbox::backdrop{background:rgba(7,12,15,.9)}.lightbox-top{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;border-bottom:1px solid #36434a;font:11px var(--mono);letter-spacing:.07em;text-transform:uppercase}.lightbox-close{height:40px;width:40px;display:grid;place-items:center;border:1px solid #65727a;background:transparent;color:white}.lightbox img{width:100%;max-height:71vh;object-fit:contain;background:#11181c}.lightbox-caption{padding:20px 25px;color:#d0d7db;font-size:14px}.lightbox-caption strong{display:block;color:white;font-size:20px;margin-bottom:5px}
/* Careers */
.careers-intro{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.careers-intro img{width:100%;height:370px;object-fit:cover}.careers-intro .lead{font-size:17px;margin-top:25px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:50px}.value{border-top:1px solid var(--line);padding-top:24px}.value .card-number{display:block;margin-bottom:18px;color:var(--muted)}.value h3{font-size:23px;margin-bottom:13px}.value p{font-size:14px;color:var(--muted)}.jobs{border-top:1px solid #cbd0c8}.job-row{padding:31px 0;display:grid;grid-template-columns:1.4fr 1fr auto;gap:30px;align-items:center;border-bottom:1px solid #cbd0c8;text-decoration:none}.job-row h3{font-size:26px;margin-bottom:11px}.job-row .tag{color:#655922}.job-row p{font-size:14px;color:var(--muted)}.job-row .job-arrow{width:48px;height:48px;display:grid;place-items:center;background:white;border:1px solid #cbd0c8;transition:background .2s}.job-row:hover .job-arrow{background:var(--yellow);border-color:var(--yellow)}.recruitment-note{font-size:12px;color:var(--muted);max-width:850px;margin-top:23px}.split-form{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start}.split-form h2{margin-bottom:23px}.split-form .lead{font-size:16px}.side-note{margin-top:28px;border-top:1px solid var(--line);padding-top:23px}.side-note h3{font-size:18px;margin-bottom:12px}.side-note p{font-size:14px;color:var(--muted)}.job-layout{display:grid;grid-template-columns:1fr 330px;gap:80px;align-items:start}.job-content h2{font-size:28px;margin:40px 0 18px}.job-content h2:first-child{margin-top:0}.job-content p{font-size:16px;color:var(--muted)}.job-content ul{padding-left:20px;color:var(--muted);font-size:15px}.job-content li{padding-left:4px;margin:12px 0}.job-aside{background:var(--paper);border-top:4px solid var(--yellow);padding:28px;position:sticky;top:124px}.job-aside h2{font-size:23px;margin-bottom:25px}.job-aside dl{margin:0 0 26px}.job-aside dt{font:10px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:19px}.job-aside dd{margin:6px 0 0;font-size:14px}.job-aside .btn{width:100%}.job-aside .small{margin-top:20px}.job-aside .alternate-logo{width:102px;margin:24px 0 0;opacity:.75}
/* Contact and forms */
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:88px;align-items:start}.contact-intro h2{font-size:34px;margin-bottom:22px}.contact-intro>.lead{font-size:16px}.contact-details{margin:29px 0;display:grid;gap:17px}.contact-item{border-bottom:1px solid var(--line);padding-bottom:15px}.contact-item .tag{display:block;margin-bottom:6px}.contact-item a{font-size:20px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.contact-item a:hover{text-decoration:underline}.contact-item p{font-size:15px}.contact-preview-note{font-size:12px;background:var(--paper);border-left:3px solid var(--yellow);padding:12px 15px;color:var(--muted);margin:27px 0}.contact-image{margin-top:29px}.contact-image img{height:245px;width:100%;object-fit:cover}.contact-image figcaption{font:10px/1.5 var(--mono);margin-top:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.urgent-note{padding:20px 22px;background:var(--paper);border-top:3px solid var(--yellow);margin-top:25px}.urgent-note h3{font-size:18px;margin-bottom:10px}.urgent-note p{font-size:13px;color:var(--muted)}.form-panel{padding:34px;border:1px solid var(--line);background:white}.form-panel h2{font-size:27px;margin-bottom:7px}.form-panel .form-subtitle{color:var(--muted);font-size:13px;margin-bottom:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 20px}.field{display:flex;flex-direction:column;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700;line-height:1.5;margin-bottom:7px}.field label span{font-weight:400;color:var(--muted)}.field input,.field select,.field textarea{min-width:0;width:100%;border:1px solid #bfc7c5;border-radius:2px;background:#fff;color:var(--ink);font-size:14px;padding:11px 12px;line-height:1.5;min-height:45px}.field input::placeholder,.field textarea::placeholder{color:#667174;opacity:1}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #9a7b17;outline-offset:1px;border-color:#9a7b17}.field textarea{min-height:135px;resize:vertical}.field small{font-size:11px;color:var(--muted);margin-top:7px}.consent{display:flex;gap:10px;font-size:12px;color:var(--muted);line-height:1.6;margin:20px 0}.consent input{width:16px;height:16px;flex-shrink:0;margin-top:3px;accent-color:#554715}.form-submit{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.form-submit .small{font-size:11px;max-width:230px;color:var(--muted)}.form-preview{background:#fff6d6;border:1px solid #e8d694;padding:12px 14px;font-size:12px;color:#534820;margin-top:20px}.form-result{padding:14px 16px;margin-top:20px;background:var(--paper);font-size:13px;border-left:3px solid var(--yellow)}.form-result.is-error{border-left-color:#a33825;background:#fff1ed;color:#782c21}.form-result.is-success{background:#edf5ed;border-left-color:#416a47}.faq{max-width:890px}.faq details{border-bottom:1px solid var(--line);padding:21px 0}.faq summary{font-size:19px;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;line-height:1.4}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font:24px var(--mono);color:#6b7475}.faq details[open] summary:after{content:'-'}.faq details p{font-size:15px;line-height:1.75;color:var(--muted);padding-top:16px;max-width:790px}.prose{max-width:820px}.prose h2{font-size:28px;margin:35px 0 16px}.prose p{font-size:15px;color:var(--muted)}.prose ul{font-size:15px;color:var(--muted);padding-left:20px}.prose li{margin:10px 0}.message-page{padding:110px 0 130px}.message-page h1{max-width:800px}.message-page .lead{margin-top:25px}
/* Responsive layouts */
@media(min-width:1600px){.hero-media{left:42%}.hero:after{background:linear-gradient(90deg,#11181c 0%,#11181c 30%,rgba(17,24,28,.94) 40%,rgba(17,24,28,.55) 54%,rgba(17,24,28,.1) 80%)}}
@media(max-width:1100px){.desktop-nav{gap:20px}.header-inner{gap:20px}.brand-wordmark strong{font-size:21px}.brand-wordmark span{font-size:11px}.brand img{width:64px}.story-copy{padding:48px 40px}.intro-grid{gap:50px}.simulation-feature{gap:40px}.platform-list{gap:28px}.platform-list span{font-size:18px}.contact-layout{gap:48px}.split-form{gap:45px}.job-layout{gap:45px}.footer-grid{gap:30px}.hero-copy{max-width:590px}.hero h1{font-size:68px}.service-detail{grid-template-columns:45px 1fr 1fr;gap:28px}}
@media(max-width:860px){.site-header{height:80px}.desktop-nav{display:none}.menu-toggle{display:flex}.mobile-nav{position:fixed;inset:80px 0 0;background:#fff;z-index:99;padding:27px var(--gutter) 45px;overflow:auto}.mobile-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.mobile-nav>a:not(.btn){font-size:25px;text-decoration:none;padding:18px 0;border-bottom:1px solid var(--line);font-weight:700;letter-spacing:-.025em}.mobile-nav>a[aria-current=page]{color:#786000}.mobile-nav .btn{margin-top:25px;align-self:start}.mobile-nav-note{margin-top:auto;padding-top:32px;font-size:13px;color:var(--muted)}.hero,.hero-inner{min-height:640px}.hero h1{font-size:64px}.hero-media{left:18%;opacity:.8}.hero:after{background:linear-gradient(90deg,rgba(17,24,28,.98) 5%,rgba(17,24,28,.85) 40%,rgba(17,24,28,.22) 100%)}.hero-copy{max-width:610px}.hero-photo-label{display:none}.section{padding:72px 0}.platform-inner{flex-direction:column;align-items:start;gap:19px;padding:25px 0}.strip-label{max-width:none}.platform-list{width:100%;gap:24px;flex-wrap:wrap}.platform-list span{font-size:18px}.intro-grid{gap:35px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{padding:28px}.photo-story{grid-template-columns:1fr 1fr}.story-copy{padding:40px 30px}.story-copy h2{font-size:33px}.story-copy p{font-size:14px}.story-image{min-height:490px!important}.work-teasers{gap:19px}.work-teaser h3{font-size:20px}.simulation-feature{grid-template-columns:1fr;gap:35px}.simulation-feature>div{max-width:680px}.simulation-image{max-width:760px}.section-heading{gap:30px}.section-heading p{max-width:300px}.footer-grid{grid-template-columns:1.2fr 1fr;gap:40px 55px}.cta-inner{gap:30px}.cta-inner h2{font-size:32px}.service-detail{grid-template-columns:35px 1fr;gap:24px}.detail-body{grid-column:2}.service-detail h2{max-width:580px}.detail-body ul{columns:2;column-gap:30px}.detail-body li{break-inside:avoid}.capability-grid{grid-template-columns:1fr 1fr;gap:34px}.gallery{grid-template-columns:1fr 1fr}.reference-grid{grid-template-columns:1fr 1fr}.careers-intro{gap:40px}.careers-intro img{height:380px}.careers-intro h2{font-size:34px}.values{gap:25px}.value h3{font-size:21px}.job-row{grid-template-columns:1fr auto;gap:18px}.job-row p{grid-column:1;grid-row:2}.job-row .job-arrow{grid-column:2;grid-row:1/3}.split-form{grid-template-columns:1fr;gap:35px}.split-form>div:first-child{max-width:690px}.job-layout{grid-template-columns:1fr 270px;gap:35px}.job-aside{padding:23px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-intro{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.contact-intro>.eyebrow,.contact-intro>h2,.contact-intro>.lead,.contact-intro>.contact-details,.contact-intro>.contact-preview-note,.contact-intro>.urgent-note{grid-column:1}.contact-image{grid-column:2;grid-row:1/7;margin:0;align-self:stretch}.contact-image img{height:calc(100% - 25px);min-height:440px}.form-panel{padding:30px}.page-intro{padding:48px 0}.page-intro h1{font-size:55px}.breadcrumbs{margin-bottom:27px}}
@media(max-width:600px){:root{--gutter:22px}body{font-size:15px}h1{font-size:44px}h2{font-size:33px}h3{font-size:23px}.site-header{height:76px}.brand{gap:10px}.brand img{width:65px;height:42px}.brand-wordmark strong{font-size:20px}.brand-wordmark span{font-size:10px;letter-spacing:.23em;margin-top:4px}.mobile-nav{top:76px}.hero,.hero-inner{min-height:670px}.hero-inner{padding:58px 0 140px;align-items:flex-start}.hero-media{inset:0;opacity:.62}.hero-media img{object-position:58% 50%}.hero:after{background:linear-gradient(180deg,rgba(17,24,28,.82) 0%,rgba(17,24,28,.8) 46%,rgba(17,24,28,.35) 100%)}.hero h1{font-size:clamp(43px,11.5vw,66px);max-width:500px;line-height:1.06}.hero .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:25px}.hero .lead{font-size:16px;line-height:1.7;max-width:390px;margin-top:24px;color:#e1e5e6}.hero .button-row{gap:12px;margin-top:27px;flex-direction:column;align-items:flex-start}.hero .btn{min-height:47px;font-size:12px}.hero-foot{bottom:25px;font-size:9px}.hero-foot .container{display:block}.hero-foot span:first-child{max-width:270px;display:block}.platform-inner{padding:23px 0;gap:20px}.platform-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 16px}.platform-list span{font-size:17px;line-height:1.4}.platform-list small{font-size:10px}.strip-label{font-size:9px}.section{padding:60px 0}.section-sm{padding:42px 0}.eyebrow{font-size:10px;margin-bottom:17px}.lead{font-size:17px}.intro-grid{grid-template-columns:1fr;gap:25px}.intro-copy .lead{font-size:16px}.intro-copy .text-link{margin-top:23px}.service-grid{grid-template-columns:1fr;margin-top:35px}.service-card{padding:25px 27px 30px}.card-top{margin-bottom:24px}.service-card h3{max-width:none;font-size:24px}.service-card p{max-width:340px;padding-right:17px}.section-heading{display:block;margin-bottom:30px}.section-heading p{margin-top:19px;max-width:100%}.section-heading .text-link{margin-top:23px}.photo-story{grid-template-columns:1fr}.photo-story>.story-image{min-height:0!important;aspect-ratio:1.25}.story-copy{padding:42px 28px}.story-copy h2{font-size:34px}.story-copy p{font-size:15px}.work-teasers{grid-template-columns:1fr;gap:34px}.work-teaser .photo-frame{aspect-ratio:1.5}.work-teaser h3{font-size:24px}.work-teaser p{font-size:14px}.work-teaser .tag{margin-top:17px}.simulation-feature{gap:30px}.simulation-feature .lead{font-size:15px}.simulation-image{padding:12px}.simulation-image figcaption{font-size:9px}.simulation-image figcaption span:last-child{display:none}.process-strip{grid-template-columns:1fr;gap:27px;margin-top:32px}.process-step{padding-top:23px}.process-step .card-number{margin-bottom:13px}.process-step h3{font-size:23px;margin-bottom:12px}.cta-band{padding:39px 0}.cta-inner{display:block}.cta-inner .btn{margin-top:25px}.cta-band h2{font-size:33px}.cta-band p{font-size:14px}.footer{padding:48px 0 23px}.footer-grid{gap:35px 25px;padding-bottom:36px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid>div:first-child p{max-width:320px}.footer-logo{width:115px;margin-bottom:17px}.footer-bottom{display:block;font-size:10px}.footer-bottom div+div{margin-top:12px}.footer-disclaimer{font-size:9px!important}.page-intro{padding:35px 0 39px}.page-intro h1{font-size:43px;line-height:1.09}.page-intro .lead{font-size:16px;margin-top:21px}.breadcrumbs{font-size:9px;margin-bottom:26px}.inline-nav{gap:7px;margin-top:28px}.inline-nav a{font-size:11px;padding:8px 10px}.service-detail{grid-template-columns:1fr;padding:40px 0;gap:17px}.detail-number{padding:0;font-size:11px}.service-detail h2{font-size:29px;margin-bottom:16px}.service-detail p{font-size:14px}.detail-body{grid-column:1}.detail-body ul{columns:1}.detail-body li{font-size:13px}.detail-note{font-size:11px!important}.capability-grid{grid-template-columns:1fr;gap:25px;margin-top:30px}.capability{padding-top:18px}.capability h3{margin-bottom:12px}.service-banner{grid-template-columns:1fr;gap:30px}.service-banner img{height:auto;aspect-ratio:1.4}.service-banner h2{font-size:29px}.portfolio-note{font-size:12px;margin-bottom:26px}.filter-bar{gap:7px;margin-bottom:27px}.filter-button{font-size:11px;padding:10px 12px}.gallery{grid-template-columns:1fr;gap:30px}.gallery-card h3{font-size:23px}.gallery-card .gallery-open{aspect-ratio:1.42}.reference-grid{grid-template-columns:1fr;gap:30px}.reference-intro{margin-top:42px}.reference-intro h2{font-size:29px}.lightbox-top{padding:8px 13px}.lightbox img{max-height:63vh}.lightbox-caption{padding:17px}.careers-intro{grid-template-columns:1fr;gap:30px}.careers-intro img{height:auto;aspect-ratio:1.36}.careers-intro .lead{font-size:16px;margin-top:20px}.values{grid-template-columns:1fr;gap:26px;margin-top:37px}.value{padding-top:21px}.value .card-number{margin-bottom:14px}.value h3{font-size:23px}.job-row{padding:26px 0;gap:11px 16px}.job-row h3{font-size:24px}.job-row p{font-size:13px;line-height:1.7}.job-row .tag{font-size:9px}.job-row .job-arrow{width:39px;height:39px}.split-form{gap:29px}.job-layout{grid-template-columns:1fr;gap:35px}.job-aside{position:static;grid-row:1}.job-aside dl{display:grid;grid-template-columns:1fr 1fr;column-gap:18px;row-gap:4px}.job-aside dl>div{min-width:0}.job-aside .alternate-logo{display:none}.job-content h2{font-size:27px}.job-content p,.job-content ul{font-size:14px}.contact-layout{gap:30px}.contact-intro{display:block}.contact-intro h2{font-size:31px}.contact-image{margin-top:25px}.contact-image img{height:240px;min-height:0}.contact-preview-note{margin:22px 0}.contact-details{margin:25px 0}.form-panel{padding:23px 19px}.form-panel h2{font-size:26px}.form-grid{grid-template-columns:1fr;gap:18px}.field.full{grid-column:1}.field input,.field select,.field textarea{font-size:16px}.form-submit{display:block}.form-submit .btn{width:100%}.form-submit .small{margin-top:12px;max-width:none}.consent{font-size:11px}.form-preview{font-size:11px;padding:11px 12px}.faq summary{font-size:17px;line-height:1.45}.faq details p{font-size:14px}.message-page{padding:65px 0 85px}.message-page h1{font-size:43px}.prose h2{font-size:26px}.prose p,.prose ul{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.btn:hover{transform:none}.work-teaser:hover img,.gallery-open:hover img{transform:none}}
@media print{.site-header,.footer,.cta-band,.button-row,.filter-bar,.form-panel,.menu-toggle,.lightbox{display:none!important}.section{padding:25px 0}.hero{min-height:0;color:#000;background:#fff}.hero-inner{min-height:0;padding:30px 0}.hero-media,.hero:after,.hero-foot{display:none}.hero .lead,.hero .eyebrow,.accent{color:#000}.container{width:100%}.dark{color:#000;background:#fff}.dark p{color:#333!important}.job-layout{display:block}.job-aside{position:static;margin-bottom:25px}body{font-size:11pt}.page-intro h1,.hero h1{font-size:34pt}a{text-decoration:none}}
/* Logo lockup sits on a white tile so the supplied black artwork remains legible. */
.footer-logo{display:block}
