:root{--surface:#ededf0;--reading:72ch;--content:1280px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body{font-size:1.0625rem;line-height:1.6}h1,h2,h3{font-weight:400}h1,h2,h3,a,p{overflow-wrap:break-word}h2{font-size:clamp(1.8rem,3.3vw,3.25rem);line-height:1.12;letter-spacing:-.035em}h3{font-size:1.45rem;line-height:1.25;letter-spacing:-.02em}button,select{font:inherit}button,summary,a,select{-webkit-tap-highlight-color:transparent}.content-wrap{width:min(calc(100% - var(--gutter)*2),var(--content));margin-inline:auto}.spaced-section{padding-block:100px}.surface-section{background:var(--surface)}.section-heading{max-width:860px;margin-bottom:46px}.section-heading .eyebrow{margin-bottom:24px}.section-heading h2{max-width:820px}.section-intro-copy{color:var(--muted);max-width:760px;margin-top:22px}.section-link{display:inline-flex;gap:40px;align-items:center;min-height:44px;font-size:.9375rem;border-bottom:1px solid;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:50px;padding:14px 20px;background:var(--ink);color:var(--paper);font-size:.875rem;line-height:1.35;border:1px solid var(--ink);transition:background .15s,color .15s}.button:hover{background:#38383a}.button span{font-size:1.25rem;line-height:1}.button-light{color:var(--ink);background:var(--paper);border-color:var(--paper)}.button-light:hover{background:#dddde0}.button-outline{background:transparent;border-color:#aaaaaa;color:var(--paper)}.button-outline:hover{background:#38383a}.text-link{min-height:44px;line-height:1.4}.fine-print,.scope-note{font-size:.875rem;line-height:1.65;color:var(--muted)}.scope-note{margin:30px 0 50px;max-width:920px}.inline-actions{display:flex;flex-wrap:wrap;gap:18px 30px}.skip-link:focus{z-index:100}
.shell-header{position:relative;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{width:min(calc(100% - var(--gutter)*2),var(--content));margin:auto;min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:34px}.main-navigation{display:flex;align-items:center;gap:28px;font-size:.875rem;line-height:1.35}.nav-direct,.nav-dropdown>summary{display:flex;align-items:center;gap:14px;min-height:48px;border-bottom:1px solid transparent;cursor:pointer}.nav-direct[aria-current],.current-group{border-bottom-color:var(--ink)!important}.nav-dropdown{position:relative}.nav-dropdown summary{list-style:none}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-chevron{display:block;width:6px;height:6px;flex:0 0 6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.6;transition:transform .18s ease,opacity .18s ease}.nav-dropdown[open]>summary .nav-chevron{transform:translateY(1px) rotate(225deg);opacity:1}.nav-direct,.nav-dropdown>summary{transition:color .18s ease}.nav-direct:hover,.nav-dropdown>summary:hover{color:var(--muted)}.nav-dropdown[open]>summary{color:var(--ink)}.nav-popover{position:absolute;top:calc(100% + 8px);left:-16px;width:270px;border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:8px;box-shadow:0 14px 38px #1d1d1f14;z-index:40}.nav-popover a{display:flex;align-items:center;min-height:46px;padding:10px 12px;border-radius:3px;transition:background .15s ease}.nav-popover a:hover,.nav-popover a[aria-current]{background:var(--surface)}.nav-mission{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;border:1px solid var(--ink);padding:12px 17px;white-space:nowrap}.nav-mission:hover{background:var(--ink);color:var(--paper)}.nav-toggle{display:none;background:none;border:0;min-width:72px;min-height:44px;color:var(--ink);padding:8px 0;align-items:center;justify-content:space-between;gap:20px;font-size:.9375rem}
.home-hero{display:grid;grid-template-columns:1.18fr 1fr;background:var(--ink);color:var(--paper);min-height:680px;position:relative;overflow:hidden}.home-hero-copy{padding:85px 38px 85px max(var(--gutter),calc((100vw - var(--content))/2));position:relative;z-index:2;align-self:center}.home-hero .eyebrow{color:#aaa;max-width:32em}.home-hero h1{font-size:clamp(3.15rem,5.3vw,5rem);line-height:1.045;letter-spacing:-.055em;margin:28px 0}.home-hero-copy>p:not(.eyebrow){max-width:620px;color:#f5f5f7;text-shadow:0 1px 3px #0008;font-size:1.0625rem;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.home-hero-media{position:absolute;inset:0;overflow:hidden}.home-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;filter:grayscale(1)}.home-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,29,31,.66) 0%,rgba(29,29,31,.62) 50%,rgba(29,29,31,.1) 76%,transparent 92%)}
.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.product-card{border:1px solid var(--line);padding:38px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.product-status{font-size:.875rem;line-height:1.5;color:var(--muted);padding:6px 10px;border:1px solid #aaaaaa;border-radius:2px;display:inline-block}.product-card h3{font-size:clamp(1.6rem,2.5vw,2.1rem);margin:34px 0 20px;letter-spacing:-.035em}.product-card>p:not(.product-status){color:var(--muted);max-width:510px}.product-card .text-link{margin-top:auto;padding-top:30px;width:100%;justify-content:space-between}.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 42px}.capability-card{padding:30px 0 26px;border-top:1px solid var(--line);min-width:0;display:flex;flex-direction:column;align-items:flex-start}.capability-card h3{font-size:1.45rem;max-width:520px}.capability-card p{font-size:1rem;color:var(--muted);margin-top:17px;max-width:560px}.card-link{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;margin-top:auto;padding-top:20px;font-size:.875rem;line-height:1.5;width:100%}.card-link span{flex-shrink:0;font-size:1.125rem}.card-link:hover{text-decoration:underline;text-underline-offset:5px}.experience-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.experience-layout h2{font-size:clamp(2rem,3vw,2.9rem);margin:24px 0}.experience-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.experience-metrics>div{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.experience-metrics .metric-number{font-size:clamp(3rem,6vw,5.5rem);font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}.experience-metrics .metric-label{font-size:1rem;line-height:1.45;color:var(--ink)}.experience-metrics p{font-size:.875rem;color:var(--muted);margin-top:7px}.experience-attribution{font-size:.9375rem;line-height:1.6;color:var(--muted);max-width:600px;border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}.three-grid article,.application-grid article,.two-grid article,.discipline-grid article{min-width:0;border-top:1px solid var(--line);padding-top:25px}.three-grid p,.application-grid p,.two-grid p,.discipline-grid p{color:var(--muted);margin-top:18px;font-size:1rem}.three-grid .text-link,.two-grid .text-link{gap:22px;margin-top:15px;max-width:100%}.application-grid,.two-grid,.discipline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 60px}.approach-preview{border-top:1px solid var(--line);padding-block:65px 90px}.approach-preview .section-heading{margin-bottom:10px}
.closing-panel{background:var(--ink);color:var(--paper);padding-block:78px}.closing-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw}.closing-panel h2{font-size:clamp(2rem,3.5vw,3.5rem);max-width:620px}.closing-panel p{color:#c7c7c9;margin-bottom:28px;max-width:560px}.page-heading{padding-block:68px 56px}.page-heading>.eyebrow{margin-bottom:24px}.page-heading h1{font-size:clamp(2.65rem,4.7vw,4.65rem);line-height:1.065;letter-spacing:-.045em;max-width:1020px}.page-intro{max-width:800px;color:var(--muted);margin-top:30px;font-size:1.125rem}.page-intro p+p{margin-top:16px}.breadcrumbs{font-size:.875rem;margin-bottom:34px;color:var(--muted)}.breadcrumbs ol{padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 14px;list-style:none}.breadcrumbs li{display:flex;align-items:center;gap:14px}.breadcrumbs li+li:before{content:"/";color:#aaa}.breadcrumbs a{display:inline-block;min-height:44px;align-content:center}.breadcrumbs span[aria-current]{color:var(--ink)}.cards-section{padding-bottom:65px}.editorial-section{display:grid;grid-template-columns:1fr 1.3fr;gap:7vw;border-top:1px solid var(--line);padding-block:65px}.editorial-section h2{font-size:clamp(1.9rem,3vw,2.75rem)}.prose{max-width:var(--reading);color:var(--muted)}.prose p+p{margin-top:20px}.prose h2,.prose h3{color:var(--ink)}.prose h2{font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.2;margin-bottom:22px}.prose h3{font-size:1rem;line-height:1.5;font-weight:500;margin-bottom:8px}.prose .text-link{color:var(--ink)}.offering-crosslink{padding-top:5px}.offering-crosslink>p:first-child{margin-top:25px}.offering-crosslink .scope-note{margin-top:45px}.product-detail{padding-block:54px 90px;min-height:calc(100vh - 430px)}.product-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:35px}.product-detail h1{font-size:clamp(2.8rem,4.5vw,4.7rem);line-height:1.055;letter-spacing:-.045em;margin:24px 0}.product-subheading{font-size:1.2rem;color:var(--muted);margin-bottom:25px}.product-detail .prose h2{font-size:1.55rem;margin-top:30px}.product-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin:30px 0 20px}.related-service{display:inline-flex;align-items:center;gap:20px;font-size:.875rem;min-height:44px;margin-top:20px;border-bottom:1px solid var(--line);color:var(--ink)}.detail-layout,.service-layout{display:grid;grid-template-columns:240px 1fr;gap:8vw;padding-block:25px 70px}.page-contents{align-self:start;position:sticky;top:30px;display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid var(--line);padding-top:18px;font-size:.9375rem;line-height:1.4}.page-contents p{color:var(--muted);font-size:.8125rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:15px}.page-contents a{min-height:44px;padding-block:10px}.page-contents a:hover{text-decoration:underline;text-underline-offset:5px}.detail-section{border-top:1px solid var(--line);padding:30px 0 45px;scroll-margin-top:30px}.related-section{padding-block:60px}.related-section>h2{font-size:2rem;margin-bottom:35px}.related-section .capability-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.related-section h3{font-size:1.3rem}.service-section{border-top:1px solid var(--line);padding-block:30px 55px;scroll-margin-top:28px}.output-note{margin-top:25px;padding-left:22px;border-left:2px solid #aaa}.output-note p{font-size:1rem}.service-section .inline-actions{margin-top:20px}.process-list{padding-bottom:60px}.process-step{display:grid;grid-template-columns:55px .9fr 1.25fr;gap:35px;border-top:1px solid var(--line);padding-block:34px 45px}.process-number{font-size:.875rem;color:var(--muted);padding-top:8px}.process-step h2{font-size:1.9rem}.experience-feature{padding-block:5px 80px}.experience-feature .experience-attribution{max-width:none}.attribution-section{padding-block:20px 80px}.attribution-section h2{font-size:1.7rem;margin-bottom:22px}.attribution-section p{max-width:950px;color:var(--muted);font-size:1rem}
.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;padding-block:5px 85px}.email-panel{border:1px solid var(--line);padding:36px}.email-panel h2,.contact-guidance h2{font-size:1.8rem;margin-bottom:20px}.email-panel p,.contact-guidance p{color:var(--muted);max-width:560px}.email-panel label{display:block;font-size:1rem;margin-top:28px;margin-bottom:10px}.email-panel label span{color:var(--muted)}.email-panel select{width:100%;min-height:50px;font-size:1rem;border:1px solid #77777a;background:var(--paper);color:var(--ink);border-radius:0;padding:10px 34px 10px 12px;text-overflow:ellipsis}.email-action{margin-top:25px}.email-address{margin-top:22px}.email-address a{display:inline-block;min-height:44px;color:var(--ink)}.email-panel .email-help{font-size:.875rem;line-height:1.6;margin-top:10px}.contact-guidance{padding-top:28px}.contact-guidance .text-link{margin-top:20px}.faq-section{padding-bottom:90px}.faq-section>h2{margin-bottom:35px}.faq-item{border-top:1px solid var(--line);padding-block:0}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:25px;list-style:none;cursor:pointer;min-height:74px;padding-block:18px;font-size:1.125rem;line-height:1.5}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{flex-shrink:0;font-size:1.4rem}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item p{max-width:850px;color:var(--muted);padding-bottom:28px}.legal-copy{margin-left:max(var(--gutter),calc((100vw - var(--content))/2));padding-bottom:90px}.legal-copy section{margin-bottom:40px}.error-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-bottom:100px}
.site-footer-v2{padding:40px max(var(--gutter),calc((100vw - var(--content))/2)) 30px;border-top:1px solid var(--line)}
@media(min-width:1700px){.home-hero-copy{padding-right:60px}.home-hero{min-height:750px}}
@media(max-width:1150px){.main-navigation{gap:18px;font-size:.8125rem}.header-inner{gap:24px}.nav-mission{padding-inline:12px;gap:15px}.nav-direct,.nav-dropdown>summary{gap:9px}.home-hero{grid-template-columns:1.2fr 1fr}.home-hero h1{font-size:3.5rem}.home-hero-copy{padding-block:65px}.three-grid{gap:26px}.detail-layout,.service-layout{grid-template-columns:190px 1fr;gap:5vw}}
@media(max-width:980px){.js .nav-toggle{display:flex}.header-inner{min-height:84px;flex-wrap:wrap;gap:0;padding-block:14px}.main-navigation{width:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:18px}.js .main-navigation:not(.is-open){display:none}.nav-direct,.nav-dropdown>summary{min-height:50px;justify-content:space-between;font-size:1rem;border-bottom:1px solid var(--line)}.nav-popover{position:static;width:auto;border:0;border-radius:0;border-left:1px solid #aaa;padding:6px 0 6px 15px;box-shadow:none;margin:8px 0 10px}.nav-popover a{font-size:.9375rem}.nav-mission{align-self:flex-start;font-size:.9375rem;margin:20px 0 10px;min-height:48px}.home-hero{grid-template-columns:1fr 1fr}.home-hero-copy{padding-right:0}.home-hero h1{font-size:3rem}.home-hero-media:after{background:linear-gradient(90deg,rgba(29,29,31,.68),rgba(29,29,31,.64) 52%,rgba(29,29,31,.04) 90%)}.hero-actions{align-items:flex-start;flex-direction:column}.experience-layout{gap:45px}.three-grid{grid-template-columns:1fr}.three-grid article{display:grid;grid-template-columns:.85fr 1fr;gap:0 35px}.three-grid p{margin-top:0}.three-grid .text-link{grid-column:2}.product-detail-layout{gap:45px}.process-step{grid-template-columns:40px 1fr;gap:20px}.process-step .prose{grid-column:2}.closing-layout{gap:45px}.related-section .capability-grid{grid-template-columns:1fr 1fr}.related-section .capability-card:last-child{grid-column:1 / -1}.product-card{padding:28px}}
@media(max-width:700px){.spaced-section{padding-block:65px}.home-hero{grid-template-columns:1fr}.home-hero-copy{padding:58px var(--gutter) 65px}.home-hero h1{font-size:clamp(2.85rem,9vw,4rem);max-width:580px}.home-hero-copy>p:not(.eyebrow){font-size:1rem}.home-hero-media{position:absolute;inset:0}.home-hero-media img{object-position:50% 50%}.home-hero-media:after{background:linear-gradient(90deg,rgba(29,29,31,.7),rgba(29,29,31,.66))}.hero-actions{gap:13px}.hero-actions .button{min-height:50px}.home-hero .eyebrow{font-size:.75rem;max-width:30em}.section-heading{margin-bottom:35px}.section-intro-copy{font-size:1rem}.product-grid,.capability-grid,.experience-layout,.application-grid,.two-grid,.discipline-grid,.closing-layout,.editorial-section,.product-detail-layout,.contact-layout{grid-template-columns:1fr}.product-card{padding:27px;min-height:300px}.product-card h3{font-size:1.85rem;margin-top:28px}.product-grid{gap:22px}.capability-grid{gap:0}.capability-card{padding-block:26px}.capability-card h3{font-size:1.4rem}.card-link{font-size:.875rem}.experience-layout{gap:34px}.experience-layout h2{font-size:2.1rem}.experience-metrics{gap:18px}.experience-metrics .metric-number{font-size:clamp(3rem,9vw,4.5rem)}.experience-metrics .metric-label{font-size:.875rem}.experience-attribution{font-size:.9375rem}.three-grid article{display:block}.three-grid p{margin-top:16px}.three-grid .text-link{margin-top:14px}.application-grid,.discipline-grid{gap:30px}.approach-preview{padding-block:50px 65px}.closing-panel{padding-block:55px}.closing-layout{gap:24px}.closing-panel h2{font-size:2.1rem}.closing-panel p{font-size:1rem}.page-heading{padding-block:46px 38px}.page-heading h1{font-size:clamp(2.3rem,8.5vw,3.5rem)}.page-intro{font-size:1rem;margin-top:25px}.page-heading>.eyebrow{font-size:.75rem;margin-bottom:20px}.breadcrumbs{font-size:.8125rem;margin-bottom:25px}.breadcrumbs li{gap:10px}.breadcrumbs ol{gap:3px 10px}.cards-section{padding-bottom:40px}.editorial-section{gap:22px;padding-block:45px}.editorial-section h2{font-size:2rem}.prose{font-size:1rem}.product-detail{padding-block:32px 65px}.product-detail-layout{gap:32px;margin-top:15px}.product-detail h1{font-size:2.85rem}.product-detail .prose h2{font-size:1.5rem}.product-subheading{font-size:1.1rem}.detail-layout,.service-layout{display:block;padding-top:8px;padding-bottom:30px}.page-contents{position:static;margin-bottom:30px;padding-bottom:15px}.detail-section{padding-block:25px 35px}.detail-section h2{font-size:1.6rem}.related-section{padding-block:45px}.related-section .capability-grid{grid-template-columns:1fr}.related-section .capability-card:last-child{grid-column:auto}.service-section{padding-block:28px 40px}.service-section h2{font-size:1.8rem}.process-step{grid-template-columns:28px 1fr;gap:15px}.process-step h2{font-size:1.7rem}.process-list{padding-bottom:30px}.experience-feature{padding-bottom:55px}.attribution-section{padding-bottom:55px}.contact-layout{gap:30px;padding-bottom:50px}.email-panel{padding:26px 22px}.email-panel h2,.contact-guidance h2{font-size:1.65rem}.email-panel p,.contact-guidance p{font-size:1rem}.contact-guidance{padding-top:0}.faq-section{padding-bottom:65px}.faq-section>h2{font-size:2rem}.faq-item summary{font-size:1rem}.faq-item p{font-size:1rem}.legal-copy{padding-bottom:55px}.site-footer-v2{padding-top:45px}}
@media(max-width:380px){.home-hero h1{font-size:2.8rem}.hero-actions .button{width:100%;gap:12px;padding-inline:14px;font-size:.8125rem}.page-heading h1{font-size:2.2rem}.product-detail h1{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Use the supplied vector artwork at its natural proportions. */
.wordmark{display:flex;align-items:center;width:220px;max-width:100%;min-height:44px;flex-shrink:0;font-size:0;line-height:0;letter-spacing:normal}
.wordmark img{display:block;width:100%;height:auto}

@media(min-width:981px) and (max-width:1100px){.header-inner>.wordmark{width:195px}}
@media(max-width:700px){.header-inner>.wordmark{width:195px}}

/* Editorial notebook studies sit beside the relevant introduction. */
.concept-sketch{margin:0;min-width:0;width:100%;max-width:560px;justify-self:end}
.concept-sketch img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:contain;filter:grayscale(1) contrast(1.06) brightness(1.04);mix-blend-mode:multiply}
.live-orbit{position:relative}
.live-orbit-scene{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;pointer-events:none;filter:grayscale(1) contrast(1.06) brightness(1.04);mix-blend-mode:multiply}
.live-orbit.is-live>img{opacity:0}
.live-orbit.is-live .live-orbit-scene{opacity:1}
.orbit-playback{position:absolute;right:0;bottom:0;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:5px 8px;border:0;border-radius:3px;background:transparent;color:var(--muted);font-size:.6875rem;line-height:1.2;cursor:pointer}
.orbit-playback[hidden]{display:none}
.orbit-playback:hover{color:var(--ink);background:#1d1d1f08}
.orbit-playback:focus-visible{outline:1px solid var(--ink);outline-offset:2px}
.orbit-playback-icon{width:8px;height:9px;border-inline:2px solid currentColor}
.live-orbit.is-paused .orbit-playback-icon{width:8px;height:9px;border:0;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
@media(max-width:700px){.orbit-playback{min-height:44px;bottom:-12px}}
@media(prefers-reduced-motion:reduce){.live-orbit.is-live>img{opacity:1}.live-orbit .live-orbit-scene{opacity:0!important}.orbit-playback{display:none}}
.illustrated-heading,.page-heading.has-sketch{display:grid;grid-template-columns:1.12fr 1fr;gap:6vw;align-items:center}
.illustrated-heading{margin-bottom:48px}
.illustrated-heading>.section-heading{margin:0;min-width:0}
.page-heading-copy{min-width:0}
.page-heading-copy>.eyebrow{margin-bottom:24px}
.page-heading.has-sketch h1{font-size:clamp(2.65rem,4.2vw,4.3rem)}
.page-heading.has-sketch .page-intro{font-size:1.0625rem}
@media(max-width:980px){.illustrated-heading,.page-heading.has-sketch{gap:32px;grid-template-columns:1.1fr 1fr}.illustrated-heading h2{font-size:2.25rem}.page-heading.has-sketch h1{font-size:2.75rem}}
@media(max-width:700px){.illustrated-heading,.page-heading.has-sketch{grid-template-columns:1fr;gap:30px}.concept-sketch{max-width:440px;justify-self:center}.illustrated-heading{margin-bottom:32px}.illustrated-heading h2{font-size:2.2rem}.page-heading-copy>.eyebrow{font-size:.75rem;margin-bottom:20px}.page-heading.has-sketch h1{font-size:clamp(2.3rem,8.5vw,3.5rem)}.page-heading.has-sketch .page-intro{font-size:1rem}}

/* A compact footer keeps contact and legal information easy to find. */
.footer-main{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px}
.footer-email{display:inline-flex;align-items:center;min-height:44px;font-size:1rem}
.footer-email:hover,.footer-meta a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 28px;border-top:1px solid var(--line);margin-top:28px;padding-top:18px;color:var(--muted);font-size:.8125rem;line-height:1.5}
.footer-meta>span{margin-right:auto}
.footer-meta a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem}
.footer-meta .footer-credit{font-size:.8125rem}
@media(max-width:700px){.footer-main{flex-direction:column;align-items:flex-start;gap:12px}.footer-meta{margin-top:20px;gap:8px 24px}.footer-meta>span{width:100%}}

/* Long technical copy retains the site's restrained editorial layout. */
.technical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 64px;padding-bottom:80px}
.technical-block{min-width:0;border-top:1px solid var(--line);padding-top:26px;scroll-margin-top:30px}
.technical-block h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.2;letter-spacing:-.03em;margin-bottom:20px}
.technical-block p{font-size:1.0625rem;line-height:1.75;color:var(--muted);max-width:65ch}
.technical-block:last-child:nth-child(odd){grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:64px}
.related-links{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px}
.related-links li{min-width:0}
.related-links .text-link{display:flex;justify-content:space-between;gap:20px;min-height:60px;height:100%;line-height:1.5}
.related-links .text-link span{flex-shrink:0}
@media(max-width:980px){.technical-grid{gap:36px 36px}.technical-block:last-child:nth-child(odd){gap:36px}.related-links{gap:24px}}
@media(max-width:700px){.technical-grid{grid-template-columns:1fr;gap:32px;padding-bottom:55px}.technical-block:last-child:nth-child(odd){display:block;grid-column:auto}.technical-block p{font-size:1rem}.related-links{grid-template-columns:1fr;gap:12px}.related-links .text-link{min-height:52px}}
.capability-card-name{padding-block:22px}
.capability-card-name h3{width:100%;max-width:none}
.capability-name-link{display:grid;grid-template-columns:72px minmax(0,1fr) 20px;align-items:center;column-gap:22px;min-height:72px}
.capability-symbol{display:block;justify-self:center;width:56px;height:56px;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1) contrast(1.08);pointer-events:none}
.capability-name{min-width:0;font-size:inherit;line-height:1.3}
.capability-arrow{justify-self:end;font-size:1.125rem;line-height:1}

@media(max-width:1150px){.capability-name-link{grid-template-columns:64px minmax(0,1fr) 18px;column-gap:18px}.capability-symbol{width:50px;height:50px}}
@media(max-width:900px){.capability-grid-symbols{grid-template-columns:1fr}}
@media(max-width:700px){.capability-card-name{padding-block:20px}.capability-card-name h3{font-size:1.2rem}.capability-name-link{grid-template-columns:56px minmax(0,1fr) 18px;column-gap:14px;min-height:60px}.capability-symbol{width:44px;height:44px}}
.technical-heading h1{font-size:clamp(2.35rem,4.3vw,4.3rem);max-width:1100px}
.technical-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:36px 0 0;padding:0;list-style:none}
.technical-highlights li{border-top:1px solid var(--line);padding-top:14px;font-size:.9375rem;line-height:1.55}
.contents-column{min-width:0;align-self:stretch}
.contents-desktop{max-height:calc(100dvh - 60px);overflow-y:auto;padding-right:14px;scrollbar-width:thin}
.contents-desktop a{font-size:.875rem;line-height:1.5;flex-shrink:0}
.contents-mobile{display:none}
.detail-sections{min-width:0}
.technical-table-region{max-width:100%;overflow-x:auto;margin-block:26px;overscroll-behavior-x:contain;border:1px solid var(--line)}
.technical-table-region:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.technical-table-region table{border-collapse:collapse;width:100%;min-width:560px;font-size:1rem;line-height:1.65;color:var(--muted)}
.technical-table-region th,.technical-table-region td{padding:18px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.technical-table-region thead th{background:var(--surface);font-weight:500;color:var(--ink)}
.technical-table-region tbody th{width:34%;font-weight:500;color:var(--ink)}
.technical-table-region tbody tr:last-child>*{border-bottom:0}
.technical-scope .scope-note{margin:0 0 22px;padding-top:22px}
.technical-scope .text-link,.editorial-section .text-link{margin-top:22px;max-width:100%;line-height:1.6}
.technical-scope .text-link span,.editorial-section .text-link span{flex-shrink:0}
.process-list{scroll-margin-top:30px}
.process-step h3{font-size:1.9rem;font-weight:400;line-height:1.2;letter-spacing:-.025em}
.process-step h4{font-size:1rem;font-weight:500;line-height:1.5;color:var(--ink);margin-bottom:8px}
@media(max-width:980px){.technical-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}}
@media(max-width:700px){
  .technical-heading h1{font-size:clamp(2.15rem,8vw,3.2rem)}
  .technical-highlights{gap:16px 20px;margin-top:28px}
  .technical-highlights li{font-size:.875rem;padding-top:12px}
  .contents-desktop{display:none}
  .contents-mobile{display:block;border-block:1px solid var(--line);margin-bottom:28px}
  .contents-mobile summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;min-height:54px;font-size:1rem}
  .contents-mobile summary::-webkit-details-marker{display:none}
  .contents-mobile summary span{font-size:1.3rem}
  .contents-mobile[open] summary span{transform:rotate(45deg)}
  .contents-mobile nav{display:flex;flex-direction:column;padding-bottom:16px}
  .contents-mobile a{display:flex;align-items:center;min-height:44px;padding-block:10px;font-size:.9375rem;line-height:1.5}
  .technical-table-region th,.technical-table-region td{padding:16px}
  .technical-scope{padding-bottom:20px}
  .process-step h3{font-size:1.7rem}
}

/* Compact mobile menu control; disclosure chevrons remain consistent at every width. */
.nav-menu-icon{position:relative;display:block;width:19px;height:16px;flex:0 0 19px}
.nav-menu-icon:before,.nav-menu-icon:after{content:"";position:absolute;left:0;top:7px;width:19px;height:1px;background:currentColor;transition:transform .18s ease}
.nav-menu-icon:before{transform:translateY(-3px)}
.nav-menu-icon:after{transform:translateY(3px)}
.nav-toggle[aria-expanded="true"] .nav-menu-icon:before{transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-menu-icon:after{transform:rotate(-45deg)}
@media(prefers-reduced-motion:reduce){.nav-chevron,.nav-menu-icon:before,.nav-menu-icon:after{transition:none}}

/* A brief orbital pass highlights product cards and subsystem rows. */
[data-orbit]{position:relative;transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}
.orbital-cue{position:absolute;top:-30px;left:0;width:100%;height:32px;overflow:visible;pointer-events:none;opacity:0;color:#66666a}
.orbital-cue path{fill:none;stroke:currentColor;stroke-linecap:round}
.orbit-track{stroke-width:.7;opacity:0}
.orbit-trail{stroke-width:1;stroke-dashoffset:0;opacity:0}
.orbit-dot{stroke-width:3;stroke-dashoffset:0;opacity:0}
.is-orbiting>.orbital-cue{opacity:1}
.is-orbiting .orbit-track{animation:orbit-track-reveal 1.45s ease both}
.is-orbiting .orbit-trail{animation:orbit-trail-flight 1.45s linear both}
.is-orbiting .orbit-dot{animation:orbit-dot-flight 1.45s linear both}
.product-card.is-orbiting,.product-card:focus-within{border-color:#aaaaae;background:#fafafa;box-shadow:0 8px 24px #1d1d1f08}
.capability-card[data-orbit].is-orbiting,.capability-card[data-orbit]:focus-within{border-top-color:#99999d;background:#1d1d1f04}
.capability-arrow,.capability-card[data-orbit] .card-link>span{transition:transform .25s ease}
.capability-card[data-orbit]:focus-within .capability-arrow,.capability-card[data-orbit]:focus-within .card-link>span{transform:translate(3px,-3px)}
@media(hover:hover){
  .product-card:hover{border-color:#aaaaae;background:#fafafa;box-shadow:0 8px 24px #1d1d1f08}
  .capability-card[data-orbit]:hover{border-top-color:#99999d;background:#1d1d1f04}
  .capability-card[data-orbit]:hover .capability-arrow,.capability-card[data-orbit]:hover .card-link>span{transform:translate(3px,-3px)}
}
@keyframes orbit-track-reveal{0%,100%{opacity:0}18%,72%{opacity:.24}}
@keyframes orbit-trail-flight{0%{stroke-dashoffset:calc(var(--orbit-distance) + var(--orbit-tail));opacity:0}12%{opacity:.45}82%{opacity:.45}100%{stroke-dashoffset:var(--orbit-tail);opacity:0}}
@keyframes orbit-dot-flight{0%{stroke-dashoffset:var(--orbit-distance);opacity:0}8%{opacity:.85}88%{opacity:.85}100%{stroke-dashoffset:0;opacity:0}}
@media(max-width:700px){.orbital-cue{top:-22px}}
@media(prefers-reduced-motion:reduce){.orbital-cue{display:none}[data-orbit],.capability-arrow,.capability-card[data-orbit] .card-link>span{transition:none}.capability-arrow,.capability-card[data-orbit] .card-link>span{transform:none!important}}

/* Shared field menus: quiet borders, graphite focus and bounded option lists. */
.espoir-select{position:relative;width:100%;min-width:0}
.espoir-select>select[hidden]{display:none!important}
.espoir-select-trigger{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:52px;padding:13px 16px;border:1px solid #c6c6ca;border-radius:3px;background:var(--paper);color:var(--ink);font:inherit;font-size:1rem;line-height:1.45;text-align:left;cursor:pointer;transition:border-color .16s,background .16s;box-shadow:none}
.espoir-select-trigger:hover{border-color:#9a9a9e;background:#f9f9fa}
.espoir-select-trigger:focus{outline:none}
.espoir-select-trigger:focus-visible,.espoir-select-trigger[aria-invalid=true]{outline:1px solid var(--ink);outline-offset:3px}
.espoir-select-trigger:disabled{opacity:.5;cursor:default}
.espoir-select-value{min-width:0;overflow-wrap:anywhere}
.espoir-select-chevron{display:block;flex:none;width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .16s;opacity:.65;margin-right:2px}
.espoir-select.is-open{z-index:35}
.espoir-select.is-open .espoir-select-trigger{border-color:#77777a}
.espoir-select.is-open .espoir-select-chevron{transform:translateY(2px) rotate(225deg)}
.espoir-select.is-placeholder .espoir-select-value{color:var(--muted)}
.espoir-select-options{position:absolute;z-index:36;top:calc(100% + 7px);left:0;right:0;max-height:336px;overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid #d1d1d5;border-radius:3px;background:var(--paper);box-shadow:0 12px 30px #1d1d1f0c;scrollbar-width:thin;scrollbar-color:#b5b5b9 transparent;animation:select-menu-in .14s ease-out}
.espoir-select-options[hidden]{display:none!important}
.espoir-select.opens-up .espoir-select-options{top:auto;bottom:calc(100% + 7px)}
.espoir-select-option{position:relative;display:flex;align-items:center;min-height:44px;padding:11px 34px 11px 12px;border-radius:2px;font-size:.9375rem;line-height:1.4;color:var(--ink);cursor:pointer;overflow-wrap:anywhere;user-select:none;-webkit-user-select:none}
.espoir-select-option.is-active{background:#e8e8eb}
.espoir-select-option[aria-selected=true]{font-weight:500;background:#eeeef0}
.espoir-select-option[aria-selected=true].is-active{background:#e5e5e8}
.espoir-select-option[aria-selected=true]:after{content:"";position:absolute;right:14px;top:calc(50% - 5px);width:5px;height:9px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:rotate(45deg)}
.espoir-select-option[aria-disabled=true]{opacity:.45;cursor:default}
.mission-workspace .espoir-select-trigger{font-size:.9375rem}
@keyframes select-menu-in{from{opacity:0}to{opacity:1}}
@media(max-width:700px){.espoir-select-trigger{min-height:52px;padding:13px 14px;gap:14px}.espoir-select-option{min-height:46px;padding-block:12px}}
@media(prefers-reduced-motion:reduce){.espoir-select-trigger,.espoir-select-chevron{transition:none}.espoir-select-options{animation:none}}
@media(forced-colors:active){.espoir-select-trigger,.espoir-select-options{border:1px solid ButtonText}.espoir-select-option.is-active{outline:1px solid Highlight}.espoir-select-option[aria-selected=true]:after{border-color:ButtonText}}
