body:has(.welcome-surface) .site-header{background:#183e35;color:#f7f6ed;border-bottom-color:#ffffff20}
.welcome-surface{position:relative;isolation:isolate;overflow:hidden;background:#183e35;color:#f7f6ed;min-height:calc(100svh - 112px);display:flex;align-items:stretch}
.welcome-inner{width:100%;padding-block:clamp(36px,6vh,76px);display:flex;flex-direction:column;justify-content:space-between;gap:36px;position:relative;z-index:1;text-align:center;align-items:center}
.welcome-label{display:flex;align-items:center;gap:14px;font-size:.75rem;letter-spacing:.19em;font-weight:600;text-transform:uppercase}
.welcome-label::before{content:'';width:28px;height:1px;background:currentColor;opacity:.65}
.welcome-surface h1{max-width:1120px;font-size:clamp(3rem,6.7vw,6.5rem);font-weight:500;line-height:1.15;letter-spacing:-.025em;margin-block:12px 22px}
.welcome-surface h1 em{white-space:nowrap;background:none;font-weight:400}
.welcome-surface .welcome-break{display:block}
.welcome-bottom{display:flex;align-items:center;justify-content:center;width:100%;gap:26px;padding-top:26px;border-top:1px solid #ffffff26}
.welcome-bottom .eyebrow{font-size:.7rem;letter-spacing:.18em}
.welcome-next{display:inline-flex;align-items:center;gap:20px;font-size:.88rem;font-weight:500;white-space:nowrap}
.welcome-next>span{display:grid;place-items:center;width:44px;height:44px;border:1px solid #183e3555;border-radius:50%;transition:background .25s,transform .25s}
.welcome-next:hover>span{background:#183e35;color:#e4eca8;transform:translateY(3px)}
.welcome-rings{position:absolute;width:660px;height:660px;right:-300px;bottom:-350px;border:1px solid #ffffff10;border-radius:50%;pointer-events:none;z-index:0}
.welcome-rings::before,.welcome-rings::after{content:'';position:absolute;inset:50px;border:1px solid #ffffff10;border-radius:50%}
.welcome-rings::after{inset:100px}
#possibilities{scroll-margin-top:112px}
.hero h2.hero-headline{font-size:clamp(3.4rem,5.3vw,5.25rem);line-height:1.14;letter-spacing:-.025em}
@media(max-width:1000px){.hero h2.hero-headline{font-size:3.9rem}}
@media(max-width:720px){.welcome-surface{min-height:calc(100svh - 88px)}.welcome-inner{padding-block:36px;gap:32px}.welcome-label{font-size:.65rem;letter-spacing:.13em}.welcome-surface h1{font-size:clamp(2.8rem,9.5vw,4.5rem);line-height:1.1;margin:10px 0 20px}.welcome-bottom{align-items:center;flex-direction:column;gap:24px}.welcome-bottom .eyebrow{font-size:.62rem}.welcome-next{font-size:.82rem}.welcome-break{display:inline!important}.welcome-rings{right:-470px;bottom:-430px}.hero h2.hero-headline{font-size:clamp(3.5rem,12vw,5rem)}}
@media(max-width:380px){.hero h2.hero-headline{font-size:3rem}}
@media(prefers-reduced-motion:reduce){.welcome-next>span{transition:none}}

body:has(.welcome-surface) .site-header .brand{color:#f7f6ed}body:has(.welcome-surface) .site-header .button{border-color:#f7f6ed66}body:has(.welcome-surface) .site-header nav.is-open{background:#183e35;color:#f7f6ed}.welcome-label::before{display:none}.welcome-surface h1{margin-inline:auto}.welcome-bottom{border-top:0}.welcome-surface h1 span{font:inherit}

/* Keep the destination stationary while the portal opens. */
html.logo-intro .site-shell{position:fixed;inset:0 0 auto;width:100%;transform:none!important}
html.logo-intro .logo-reveal-runway{height:calc(var(--intro-distance,90svh) + 100svh)}
html.logo-intro .welcome-surface,html.logo-intro .welcome-surface *{animation:none!important;translate:none!important;transition:none!important}
html.logo-intro .welcome-surface .word-reveal{opacity:1!important;transform:none!important}

/* An illustrated conversation, with clear space around the opening message. */
.welcome-story{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(24px,4vw,64px);width:100%;max-width:1280px;text-align:left}
.welcome-surface .welcome-story h1{font-size:clamp(2.8rem,5vw,5.1rem);max-width:16ch;margin:0;line-height:1.15;text-wrap:balance}
.welcome-story .welcome-break{display:inline}
.welcome-story h1>span:last-child{color:#e4eca8}
.welcome-surface .welcome-inner{gap:24px;padding-block:clamp(28px,4vh,48px)}
@media(max-width:720px){.welcome-story{grid-template-columns:1fr;gap:12px;text-align:center}.welcome-surface .welcome-story h1{font-size:clamp(2rem,7.8vw,3.25rem);max-width:19ch;margin-inline:auto}.welcome-story .welcome-illustration{max-width:300px;width:75%;margin-inline:auto}.welcome-surface .welcome-inner{gap:18px;padding-block:26px}.welcome-bottom{padding-top:0}}
@media(max-width:720px) and (max-height:740px){.welcome-story .welcome-illustration{max-width:210px}.welcome-surface .welcome-story h1{font-size:clamp(1.9rem,7vw,2.7rem)}}

/* Three two-pixel type steps larger for both opening labels. */
.welcome-surface .welcome-label{font-size:1.125rem}.welcome-surface .welcome-bottom .eyebrow{font-size:1.075rem}
@media(max-width:720px){.welcome-surface .welcome-label{font-size:1.025rem}.welcome-surface .welcome-bottom .eyebrow{font-size:.995rem}}

/* Spacious single-line labels across narrow mobile widths. */
@media(max-width:720px){.welcome-surface .welcome-label,.welcome-surface .welcome-bottom .eyebrow{font-size:clamp(12.5px,3.6vw,16px);white-space:nowrap;line-height:1.5;text-align:center}.welcome-surface .welcome-label{letter-spacing:.055em;justify-content:center}.welcome-surface .welcome-bottom .eyebrow{letter-spacing:.025em}}
