/* Shared extensions to the approved homepage design. */
.skip-link{position:fixed;left:20px;top:-80px;z-index:100;background:#eee;color:#151515;padding:14px 20px;border-radius:5px}.skip-link:focus{top:15px}.brand img{width:145px;height:auto;aspect-ratio:946/210;object-fit:contain}.menu{cursor:pointer}.nav-contact{display:inline-flex;align-items:center;justify-content:center}header nav a[aria-current=page]{color:#fff}.site-footer{display:block;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:40px}.footer-brand img{display:block;width:125px;max-width:100%;height:auto;filter:grayscale(1)}.footer-brand p{font-size:12px;line-height:1.8;color:#96969c;max-width:200px;margin:20px 0}.footer-column h2{font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#d4d4d8;margin:0 0 24px}.footer-column ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}.footer-column a{font-size:12px;color:#9999a1;line-height:1.6}.footer-column a:hover{color:#fff}.footer-bottom{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:50px;padding-top:25px;font-size:10px;color:#7c7c85}.footer-bottom a:hover{color:#fff}.industry-links{display:flex;gap:30px;flex-wrap:wrap;margin-top:28px}.industry-links a{font-size:12px;border-bottom:1px solid #5f5f65;padding:12px 0}.industry-links a:hover{color:#c8d6df}.industry-band{background:#101012}.industry-band .band-inner{display:grid;grid-template-columns:1fr 1.5fr;gap:50px}.industry-band h2{font-size:43px}.industry-band p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);max-width:500px}.education-note{margin-top:30px;color:#a4a4aa;font-size:14px;line-height:1.8}.education-note a{color:#e2e2e5;border-bottom:1px solid #666}.service-row .row-arrow{display:block;align-self:center}.service-row h3 a:hover{color:#b9c8d3}.service-row:target{scroll-margin-top:100px}.project-detail .project-page-link{display:flex;width:fit-content;font-size:12px;margin-bottom:18px}.project-archive-link{display:inline-flex;margin-top:25px;font-size:12px;color:#b9c8d3}.orbit-accessible{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:18px}.orbit-accessible a{font-size:11px;color:#b5b5bc;border-bottom:1px solid #45454b;padding-bottom:4px}
.inner-page main{padding-top:94px}.page-hero{padding-top:45px;padding-bottom:95px;position:relative}.breadcrumb{display:flex;gap:12px;align-items:center;font-size:10px;color:#777781;flex-wrap:wrap;margin-bottom:70px}.breadcrumb a:hover{color:white}.page-hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:end}.page-hero h1{font-size:clamp(52px,5.5vw,84px);line-height:1.03;max-width:830px;margin-bottom:26px}.page-hero .eyebrow{margin-bottom:27px}.page-hero .page-deck{font-size:17px;line-height:1.8;color:#a7a7af;max-width:575px;font-weight:300;margin:0}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:33px}.quiet-link{font-size:12px;color:#a5a5af;border-bottom:1px solid #444;padding:10px 0}.quiet-link:hover{color:white}.page-art{position:relative;min-height:340px;display:flex;flex-direction:column;justify-content:center;padding:40px 0;border-top:1px solid #36363f;border-bottom:1px solid #36363f;isolation:isolate}.page-art:before{content:'';position:absolute;inset:-30px -20px;z-index:-1;background:radial-gradient(ellipse,#8195a31c,transparent 66%);pointer-events:none}.art-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#6f747e;margin-bottom:35px}.art-line{display:flex;align-items:center;gap:15px;padding:20px 0;border-top:1px solid #ffffff12;color:#c8cbd3;font-size:15px;font-weight:300}.art-line i{font:9px var(--mono);color:#666b74;font-style:normal;width:20px}.art-line b{font-weight:300;color:#667784;margin-left:auto}.art-line:nth-child(3){padding-left:20px}.art-line:nth-child(4){padding-left:40px}.art-caption{font-size:10px;color:#82838c;margin:25px 0 0}.content-section{padding:85px 0;border-top:1px solid var(--line)}.content-heading{display:block;margin-bottom:55px}.content-heading .eyebrow{padding-top:0;margin-bottom:28px}.content-heading>div{max-width:880px}.content-heading h2{font-size:47px}.content-heading .lead{font-size:15px;margin-top:22px}.capability{display:grid;grid-template-columns:50px 1fr 1.3fr;gap:35px;border-top:1px solid var(--line);padding:29px 0}.capability:last-child{padding-bottom:0}.capability h3{font-size:24px;line-height:1.3;margin:0}.capability p{font-size:14px;line-height:1.8;color:#a3a3ac;margin:0;max-width:520px}.capability .cap-link{display:inline-block;font-size:11px;color:#c7cdd3;margin-top:18px;border-bottom:1px solid #565963;padding-bottom:5px}.scenario{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.scenario h2{font-size:44px}.scenario p{font-size:16px;line-height:1.85;color:#a6a6ad;font-weight:300}.scenario-steps{padding:0;margin:0;list-style:none;counter-reset:steps}.scenario-steps li{counter-increment:steps;border-top:1px solid #3c3d44;padding:22px 0;display:grid;grid-template-columns:24px 1fr;gap:20px;font-size:14px;line-height:1.7;color:#a6a8b0}.scenario-steps li:before{content:'0' counter(steps);font:10px var(--mono);color:#656b76;margin-top:5px}.faq-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:70px}.faq-layout h2{font-size:43px}.faq-item{border-top:1px solid #34343a}.faq-item:last-child{border-bottom:1px solid #34343a}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 0;cursor:pointer;font-size:15px;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';font-size:19px;font-weight:300;color:#858591}.faq-item[open] summary:after{content:'−'}.faq-item p{font-size:14px;line-height:1.8;color:#a3a3ab;margin:0;padding:0 30px 25px 0}.faq-item summary:focus-visible{outline:2px solid #b7c8d5;outline-offset:5px}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.related-links a{padding:22px 0;border-top:1px solid #37373e;font-size:18px;font-weight:300;line-height:1.4;display:flex;justify-content:space-between;gap:20px}.related-links a:hover{color:#c3d3df}.related-links span{color:#727c85}.page-cta{padding:80px 0 90px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:50px}.page-cta h2{font-size:45px;max-width:650px}.page-cta p{color:#91919a;font-size:14px;line-height:1.8;max-width:480px}.page-cta .text-link{flex-shrink:0;background:#e2e3df;color:#19191b}.editorial-list{margin:0;padding:0;list-style:none}.editorial-list li{padding:25px 0;border-top:1px solid #323239;display:grid;grid-template-columns:1fr 1.8fr;gap:50px}.editorial-list h3{font-size:23px;margin:0}.editorial-list p{margin:0;font-size:14px;line-height:1.8;color:#a6a6ae}.project-banner{font-size:11px;line-height:1.7;color:#969ea8;border-left:1px solid #738797;padding-left:15px;margin-top:30px;max-width:480px}.work-index{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}.work-entry{border-top:1px solid #35353b;padding:35px 0}.work-entry .eyebrow{font-size:9px;margin-bottom:20px}.work-entry h2{font-size:39px;margin-bottom:15px}.work-entry p{font-size:14px;color:#9b9ba5;line-height:1.8;max-width:430px}.work-entry>a{display:inline-flex;gap:30px;font-size:12px;margin-top:14px;border-bottom:1px solid #5c6069;padding:8px 0}.not-found{min-height:70svh;padding-top:110px}.not-found h1{max-width:700px}.not-found p{font-size:16px;color:#a0a0a9;line-height:1.8}.inner-page .page-hero .primary-link{background:linear-gradient(180deg,#eeefeb,#d6d8d5);color:#18181a;font-weight:500}.page-footnote{font-size:12px;color:#8b8b95;line-height:1.8;margin-top:30px;max-width:740px}
@media(min-width:761px){header nav{display:flex}.menu{display:none}}
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr;gap:45px}.page-hero-grid{gap:40px;grid-template-columns:1.2fr 1fr}.page-hero h1{font-size:62px}.page-art{min-height:300px}.content-heading{gap:30px}.content-heading h2{font-size:42px}.capability{grid-template-columns:30px 1fr 1.3fr;gap:25px}.scenario{gap:45px}.faq-layout{gap:40px}.page-cta h2{font-size:38px}header nav{gap:22px}.brand img{width:125px}}
@media(max-width:760px){header{height:76px;padding:0 20px}header nav{display:none}.menu{display:block;border:0;background:none;color:#ddd;font-size:11px;padding:10px 0}.nav-contact{margin-left:auto;margin-right:22px;font-size:11px;padding:10px 12px;min-height:38px}.nav-contact span{margin-left:10px}header.open nav{position:absolute;display:flex;flex-direction:column;top:76px;left:0;right:0;background:#141416;padding:30px 20px;gap:26px;border-bottom:1px solid #444}.inner-page main{padding-top:76px}.page-hero{padding-top:30px;padding-bottom:60px}.breadcrumb{margin-bottom:42px;font-size:9px}.page-hero-grid{grid-template-columns:1fr;gap:45px}.page-hero h1{font-size:52px}.page-hero .page-deck{font-size:15px}.page-art{min-height:0;padding:25px 0}.art-top{margin-bottom:20px}.art-line{padding:15px 0}.content-section{padding:60px 0}.content-heading{display:block;margin-bottom:35px}.content-heading h2{font-size:37px}.content-heading .eyebrow{margin-bottom:25px}.capability{grid-template-columns:25px 1fr;gap:16px;padding:25px 0}.capability>div{grid-column:2}.capability h3{font-size:23px}.capability p{font-size:13px}.scenario{grid-template-columns:1fr;gap:25px}.scenario h2{font-size:37px}.scenario p{font-size:15px}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-layout h2{font-size:37px}.faq-item summary{font-size:14px}.related-links{grid-template-columns:1fr;gap:0}.related-links a{font-size:18px;padding:23px 0}.page-cta{display:block;padding:60px 0}.page-cta h2{font-size:39px}.page-cta .text-link{margin-top:15px}.editorial-list li{grid-template-columns:1fr;gap:15px}.work-index{grid-template-columns:1fr}.work-entry h2{font-size:35px}.industry-band .band-inner{grid-template-columns:1fr;gap:20px}.industry-band h2{font-size:37px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 25px}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:320px}.footer-column h2{font-size:9px}.footer-column a{font-size:11px}.footer-bottom{font-size:9px}.site-footer{padding-top:50px}.service-row .row-arrow{display:none}.industry-links{gap:15px}.industry-links a{font-size:11px}.page-art{max-width:100%}}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-heading h1{font-size:clamp(48px,5vw,76px)}.contact-heading .page-deck{max-width:410px;font-size:16px}.contact-direct{margin-top:40px;display:grid;gap:12px}.contact-direct>span{font-size:10px;color:#797982}.contact-direct a{font-size:20px;font-weight:300}.contact-facts{margin-top:38px;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:#8f8f99;line-height:1.8}.enquiry-form{padding-top:3px}.field{margin-bottom:25px;min-width:0}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field label{display:flex;gap:10px;justify-content:space-between;font-size:12px;color:#d3d3da;margin-bottom:12px}.field label span{font-size:9px;color:#74747f}.field input,.field select,.field textarea{font:14px var(--font);color:#e5e5e9;background:#121215;border:1px solid #34343d;border-radius:4px;padding:14px;width:100%;min-width:0;outline:none;line-height:1.5}.field textarea{resize:vertical;min-height:145px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#b8c6d0;box-shadow:0 0 0 2px #b8c6d018}.field input::placeholder,.field textarea::placeholder{color:#6e6e79}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-privacy{font-size:11px;line-height:1.8;color:#868692;margin:22px 0}.form-privacy a{color:#bcbcc6;border-bottom:1px solid #666}.form-status{font-size:13px;line-height:1.7;color:#becbc7;min-height:22px}.form-status.error{color:#d8bfb3}.form-submit{font-family:var(--font);font-size:12px;display:inline-flex;align-items:center;justify-content:space-between;background:#e2e3df;color:#151518;cursor:pointer;min-width:175px}.form-submit:disabled{opacity:.45;cursor:default;transform:none}.enquiry-form noscript{font-size:13px;color:#aaa}.enquiry-form #turnstile-widget{min-height:0;max-width:100%}
@media(max-width:1000px){.contact-layout{gap:45px}.field-pair{grid-template-columns:1fr;gap:0}}
@media(max-width:760px){.contact-layout{grid-template-columns:1fr;gap:45px}.contact-heading h1{font-size:51px}.field label{font-size:11px}.field input,.field select,.field textarea{font-size:16px}.contact-facts{margin-top:25px}.form-submit{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
