/* Details pass on shell B. Main-content scope preserves the hero, nav and approved footer.
   Credits: fable-why shell, astra-critic phone rails, fable-pages form-first order,
   both motion crews' stationary reading text. No additional animation controller. */
.page-e main{--paper:#F3F5F8;--paper-2:#F3F5F8;--ink:#030C1B;--ink-80:#354356;--ink-66:#526074;--line:#D9DEE6;--acc:#4C7CC0;--sky:#4C7CC0;background:var(--paper);color:var(--ink)}
.page-e main :is(.eyebrow,.page-e__k,.res-g__k,.res-g__tags,.link-u,.what-w__link,.study-link,.form__field>span){font-family:"Hanken Grotesk",sans-serif;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.12em}
.page-e main :is(.eyebrow,.page-e__k){color:var(--acc)}
.page-e main :is(.link-u,.what-w__link,.study-link){color:var(--ink)}
.page-e main :is(h1,h2,h3){text-wrap:pretty}
.page-e main .article{max-width:65ch}
.page-e main :is(.page-e__lede,.page-e__lead p,.article p){text-wrap:pretty}
/* Printed text from first paint, on scroll-back, and when a reveal observer fails. */
html.motion-v2 .page-e main [data-scrub]>:not(.fx-frame),html.motion-v2 .page-e main [data-reveal]>:not(.fx-frame),html.motion-v2 .page-e main .rv{opacity:1!important;transform:none!important;transition:none!important}
html[data-fx="fluid"].motion-ready .v3-e.page-e main .eyebrow--ticks{--o:1;--t:1;opacity:1}
html[data-fx="fluid"].motion-ready .v3-e.page-e main .eyebrow--ticks .eyebrow__t{max-width:none;opacity:1}
/* A real select affordance and a keyboard state that does not depend on a subtle border change. */
.page-e main .form__field>span{letter-spacing:.08em;color:var(--ink)}
.page-e main .form__field small{font-size:12px;letter-spacing:0;text-transform:none;font-weight:400;color:#526074}
.page-e main .form__field :is(input,select,textarea){min-height:48px;border-color:#D9DEE6;background:transparent;font-size:16px}
.page-e main .form__field select{appearance:auto;-webkit-appearance:menulist;cursor:pointer}
.page-e main .form__field :is(input,select,textarea):focus-visible{outline:1px solid #D9DEE6;outline-offset:3px;border-color:#D9DEE6}
.page-e main .form__field :is(input,select,textarea):user-invalid{border-color:#D9DEE6;outline:1px solid #D9DEE6;outline-offset:3px}
.page-e main :is(a,button):focus-visible{outline:1px solid #D9DEE6;outline-offset:4px}
.page-e main :is(a,button,input,select,textarea,[tabindex]){scroll-margin-block:calc(var(--navh,96px) + 24px)}
.page-e__open--contact .page-e__body{grid-template-areas:"aside lead"}
.page-e__open--contact .page-e__aside{grid-area:aside}
.page-e__open--contact .page-e__lead{grid-area:lead}
.page-e__open--contact .page-e__facts a{overflow-wrap:anywhere}
.page-e__open--contact .page-e__aside img{object-position:50% 58%}
.page-e main:focus{outline:none}
.skip-link{position:fixed;z-index:1000;top:12px;left:24px;padding:14px 18px;background:#F3F5F8;color:#030C1B;border:1px solid #D9DEE6;font:500 16px/1.3 "Hanken Grotesk",sans-serif;transform:translateY(-200%)}
.skip-link:focus{transform:none;outline:1px solid #D9DEE6;outline-offset:4px}
@media(max-width:900px){
 .page-e__open--contact .page-e__body{grid-template-areas:"lead" "aside";gap:48px}
 .page-e__open--contact .page-e__aside .page-e__ph{margin-top:0}
 .page-e__open--contact .page-e__lead h2{font-size:28px;line-height:1.2;max-width:20ch}
 .page-e__open--contact .page-e__lead p{font-size:17px;line-height:1.6}
 .page-e__open--contact .page-e__lead{min-width:0}
 .page-e main .article{font-size:17px;line-height:1.75}
}
@media(prefers-reduced-motion:reduce){
 .page-e main *,.page-e main *::before,.page-e main *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
/* Avoid blank reading text while the already preloaded house faces arrive. */
@font-face{font-family:"Spectral";src:url("/lab/home-v3/d/fonts/spectral-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("/lab/home-v3/d/fonts/hanken-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("/lab/home-v3/d/fonts/hanken-500.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
/* Fix the shell selector that places Research rails at -4px on phones. */
.page-e.research-index main{--study-ink:#030C1B;--study-muted:#354356;--study-line:#D9DEE6}
.v3-e.page-e main :is(.eyebrow,.page-e__k,.res-g__k,.res-g__tags,.link-u,.what-w__link,.study-link,.form__field>span,.research-filter,.research-count,.research-meta,.research-tail>span){font-family:"Hanken Grotesk",sans-serif}
.v3-e.page-e main :is(.eyebrow,.page-e__k){font-size:12px;letter-spacing:.12em}
.page-e.research-index main :is(h1,h2){letter-spacing:-.012em}
@media(max-width:900px){
 .page-e.research-index .study-rail::before{left:12px}
 .page-e.research-index .study-rail::after{right:12px}
}
@media(max-width:900px){
 .page-e--404 .page-e__body>.page-e__lead{order:-1}
 .page-e--404 .page-e__links{gap:8px}
 .page-e--404 .page-e__links a{min-height:40px;align-items:center}
}
.page-e main section[id]{scroll-margin-top:calc(var(--navh,96px) + 24px)}
.page-e main section[tabindex="-1"]:focus{outline:none}

/* Captain 002: every structural line is the quiet, one-pixel rail gray. */
.page-e main .form__field :is(input,select,textarea):focus-visible{background:#fff}
.page-e main .form__field:focus-within>span{font-weight:700}
.page-e--note main::before,.page-e .study-accent::before,.page-e .study-accent::after{background:#D9DEE6}
.page-e .nav :focus-visible{outline:1px solid #D9DEE6;outline-offset:4px}
html.motion-v2 .page-e main :is(.lnk,.study-link,.what-w__link)::before{background:#D9DEE6}
html.motion-v2 .page-e main :is(.lnk,.study-link,.what-w__link)::after{border-color:#D9DEE6}
