/* Shared experience system: editorial surfaces, useful navigation, restrained motion. */
:root{--paper:#f7f8f2;--ease-spring:cubic-bezier(.22,1,.36,1)}
body{background:var(--paper)}
.hero,.page-hero{background:radial-gradient(ellipse at 90% 10%,#26595480,transparent 58%),linear-gradient(125deg,#09182e,#102d3a);isolation:isolate}
.hero-grid-lines{mask-image:linear-gradient(110deg,transparent,#000);opacity:.22}
.page-title{letter-spacing:-.055em}
.page-hero .lead{color:#c7d8df;max-width:610px;font-size:clamp(16px,1.35vw,19px);line-height:1.8}
.page-hero .text-link.ink{color:var(--mint);background:none;text-decoration:underline;text-underline-offset:5px}
.hero-portrait{border-radius:180px 180px 28px 28px;box-shadow:0 35px 90px #0004,0 0 0 12px #ffffff04}
.hero-photo-tag{border-left:3px solid var(--mint)}
.hero-bottom{color:#bacdcf}
.page-hero .art-frame,.photo-hero{border-radius:28px;overflow:hidden}
.crumbs{font-size:12px;letter-spacing:.02em}
.crumbs a{color:#bbd4d9}
.pale{background:#edf2ec}
.section-heading{gap:36px}
.section-heading>p{line-height:1.9}
.service,.promise,.pathway-card,.audience-card,.contact-route{background:#fff;border:1px solid #dce4db;border-radius:24px}
.service,.promise,.pathway-card,.audience-card{transition:translate .45s var(--ease-spring),box-shadow .45s,border-color .3s}
.service .icon{background:#edf4ec;color:#146551}
.service small,.audience-number{letter-spacing:.13em}
.service h3,.pathway-card h3{letter-spacing:-.035em}
.h-card{border:1px solid #dce4db;background:#fff}
.h-card figure{overflow:hidden}
.h-card figure img{transition:scale .8s var(--ease-spring)}
.promise{padding:32px}
.photo-frame,.industry-scene{box-shadow:0 24px 55px #11284110}
.button,.nav-cta{transition:translate .3s var(--ease-spring),box-shadow .3s,background .3s,color .3s}
.button:active{translate:0 1px}
.section-nav{background:#f7f8f2f5;border-bottom:1px solid #dbe3d9;padding-block:16px}
.section-nav>.wrap{display:flex;align-items:center;gap:28px}
.section-nav-label{font-size:10px;letter-spacing:.16em;color:#557066;white-space:nowrap;font-weight:700}
.section-nav-links{display:flex;gap:8px;overflow:auto;scrollbar-width:thin;padding:4px;min-width:0}
.section-nav a{display:block;white-space:nowrap;padding:9px 17px;border:1px solid #dce4da;border-radius:30px;font-size:13px;background:#fff;transition:background .25s,color .25s}
.section-nav a:hover,.section-nav a[aria-current]{background:#153c37;color:#fff;border-color:#153c37}
main :is(section[id],h2[id]){scroll-margin-top:100px}
.legal-nav,.faq-nav{padding:20px;border:1px solid #dce4db;border-radius:20px;background:#fff}
.prose{max-width:760px}
.prose p{line-height:1.9}
.prose h2{padding-top:18px;letter-spacing:-.03em}
.faq details{border-bottom:1px solid #d9e2d9;transition:background .25s}
.faq summary{padding-block:24px;gap:20px}
.faq details[open]{background:#eaf1e8;border-radius:16px}
.faq details[open] .answer{animation:answer-in .35s var(--ease-spring)}
.faq-search{margin-bottom:30px;padding:24px;background:#fff;border:1px solid #dce4db;border-radius:20px}
.faq-search label{display:block;font-weight:600;font-size:14px;margin-bottom:10px;color:var(--ink)}
.faq-search-row{display:flex;gap:10px}
.faq-search input{min-width:0;flex:1;border:1px solid #becdc2;border-radius:12px;background:#f8faf6;padding:14px 16px;font:inherit;color:var(--ink)}
.faq-search input::placeholder{color:#64756a;opacity:1}
.faq-search button{border:1px solid #c9d6cd;border-radius:12px;background:#fff;padding:10px 16px}
.faq-search p{font-size:13px;color:#566b60;margin-top:10px}
.apply-form,.lead-form{border:1px solid #d9e3da;border-radius:26px;background:#fff;box-shadow:0 24px 70px #203c3510}
.field input,.field select,.field textarea{border-radius:12px;background:#fafbf8;min-height:50px;transition:border-color .2s,box-shadow .2s,background .2s}
.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:#16785e;box-shadow:0 0 0 4px #16785e12}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#b84437;background:#fff8f6}
.chip>span{border-radius:12px}
.apply-steps li.current{color:#10694f}
.apply-steps li.current>button>span{box-shadow:0 0 0 5px #15785e12}
.apply-progress span{background:linear-gradient(90deg,#117b6d,#72e3ad);transition:width .55s var(--ease-spring)}
.step.active{animation:answer-in .4s var(--ease-spring)}
.journey-step{transition:opacity .4s,border-color .4s}
.journey-step.experience-active .num{background:#173f36;color:#b4f7ce;box-shadow:0 0 0 8px #16785e0c}
.route-invite{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 36px;margin-top:8px;margin-bottom:36px;border:1px solid #cbdacb;border-radius:22px;background:#eaf1e5}
.route-invite p{font-size:15px;color:#526452;margin-top:5px}
.route-invite h2{font-size:24px;letter-spacing:-.035em}
.route-invite .button{flex-shrink:0}
.footer-cta{border-top-color:#ffffff20}
.site-header.away{transform:none}
.motion .experience-enter{animation:answer-in .65s var(--ease-spring) both}
@keyframes answer-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 html:not(.motion-paused) :is(.service,.pathway-card,.audience-card):hover{translate:0 -6px;border-color:#8bae94;box-shadow:0 22px 48px #193c4214}
 html:not(.motion-paused) .h-card:hover figure img{scale:1.045}
 html:not(.motion-paused) .button:hover{translate:0 -2px}
}
@media(min-width:901px){.hero-grid{min-height:740px}.hero h1{font-size:clamp(64px,6.3vw,88px)}.page-hero:not(.compact){padding-bottom:85px}.legal-nav a,.faq-nav a{padding:11px 12px;border-radius:9px}.legal-nav a.active,.faq-nav a.active{background:#eaf2e6}.apply-sticky{top:100px}}
@media(max-width:900px){.section-nav>.wrap{gap:12px}.section-nav-label{display:none}.route-invite{padding:26px;align-items:flex-start;flex-direction:column}.page-hero-grid{gap:36px}.section-nav-links{width:100%}.site-header{background:#09182ef5}.nav nav.open{background:#0b2230}}
@media(max-width:600px){.page-title{font-size:clamp(38px,10.5vw,60px)}.section-nav{padding-block:10px}.section-nav>.wrap{width:calc(100% - 32px)}.section-nav a{font-size:12px;padding:8px 14px}.apply-form,.lead-form{border-radius:18px}.faq-search{padding:18px}.faq-search-row{gap:6px}.faq-search button{padding:10px}.route-invite .button{width:100%}.route-invite h2{font-size:22px}.promise{padding:24px}.hero-portrait{border-radius:120px 120px 24px 24px}}
@media(prefers-reduced-motion:reduce){.step.active,.faq details[open] .answer,.experience-enter{animation:none!important}}
