/* Entrance art direction: a single typographic system with deliberate line breaks. */
.entrance-page header{top:clamp(24px,4.5svh,48px)}
.entrance-page header img{width:clamp(240px,24vw,350px)}
.entrance-page .brand-descriptor{font-size:9px;letter-spacing:.42em;margin-top:8px;color:#e9e5dd}
body.entrance-page .entrance-explainer{
 top:clamp(160px,22svh,218px);left:32px;right:32px;max-width:none;
 margin:0 auto;font-family:WhisperDisplay,'Arial Narrow',sans-serif;font-weight:700;
 font-size:clamp(32px,3.5vw,54px);line-height:1.06;letter-spacing:.025em;
 text-transform:uppercase;color:#f4f0e8;text-shadow:0 2px 24px #030911a6;
 animation:invitation-reveal 1.5s cubic-bezier(.2,.7,.3,1) both;
}
.invitation-kicker{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:15px;font:700 10px/1.4 WhisperSans,Arial,sans-serif;letter-spacing:.25em;color:#d5dddF}
.invitation-kicker:before,.invitation-kicker:after{content:'';width:28px;height:1px;background:#c9d8db66}
.invitation-line{display:inline-block;white-space:nowrap}
.invitation-warm{margin-left:.18em;color:#e4d5bf}
.entrance-page .choice{left:9%;right:9%;bottom:9%;padding-top:23px;border-top:1px solid #dce5e442;border-image:none;gap:24px;align-items:center}
.entrance-page .choice h2{font-size:clamp(64px,7.2vw,112px);line-height:.93;letter-spacing:.018em}
.entrance-page .choice-copy p{margin-top:7px;font-size:clamp(9px,.72vw,11px);line-height:1.5;letter-spacing:.2em;color:#dbe3e6}
.entrance-page .chill .choice-copy p{color:#e3cfb4}
.entrance-page .choice>span{border-radius:0;width:42px;height:42px;background:none;backdrop-filter:none;border:1px solid #dce5e440}
.entrance-page .portal:before{inset:20px;border-color:#e6e9df1b}
.entrance-page .explore .shade{background:linear-gradient(180deg,#040911de 0%,#050c1480 25%,#060c1420 43%,transparent 59%,#04080dbd 100%)}
.entrance-page .chill .shade{background:linear-gradient(180deg,#040911de 0%,#080c1480 25%,#080c1420 43%,transparent 59%,#08090dbd 100%)}
@media(hover:hover) and (pointer:fine){
 .entrance-page .choice{transition:border-color .6s,transform .6s}
 .entrance-page .portal:hover .choice{transform:translateY(-4px);border-color:#eef2e995}
 .entrance-page .portal:hover .choice>span{background:#edf0e512;border-color:#edf0e599}
}
@media(max-width:700px){
 .entrance-page header{top:max(16px,env(safe-area-inset-top))}
 .entrance-page header img{width:clamp(190px,52vw,232px)}
 .entrance-page .brand-descriptor{font-size:7px;letter-spacing:.36em;margin-top:6px}
 body.entrance-page .entrance-explainer{top:max(112px,calc(env(safe-area-inset-top) + 100px));left:24px;right:24px;font-size:clamp(25px,7.3vw,32px);line-height:1.06;letter-spacing:.025em}
 .invitation-kicker{font-size:8px;letter-spacing:.23em;gap:10px;margin-bottom:10px}
 .invitation-kicker:before,.invitation-kicker:after{width:19px}
 .invitation-line{display:block}
 .invitation-warm{margin-left:0;margin-top:3px}
 .entrance-page .choice,.entrance-page .chill .choice{left:24px;right:24px;bottom:23px;padding:12px 0 0;gap:12px;border-top:1px solid #dce5e43b;align-items:center}
 .entrance-page .chill .choice{bottom:max(24px,calc(env(safe-area-inset-bottom) + 16px));border-color:#e5cfb334}
 .entrance-page .choice h2{font-size:34px;line-height:.95;letter-spacing:.035em}
 .entrance-page .choice-copy p{font-size:8px;letter-spacing:.15em;margin-top:4px}
 .entrance-page .choice>span{display:grid;width:32px;height:32px;margin:0;border:0}
 .entrance-page .choice .direction-icon{width:18px;height:18px}
 .entrance-page .explore .shade{background:linear-gradient(180deg,#040911dc 0%,#050c147a 31%,#060c1420 51%,transparent 68%,#04080dbd 100%)}
 .entrance-page .chill .shade{background:linear-gradient(180deg,#04091130,transparent 22%,transparent 60%,#08090dc4)}
}
@media(max-width:360px){
 body.entrance-page .entrance-explainer{font-size:25px;top:110px}
 .entrance-page .choice,.entrance-page .chill .choice{left:20px;right:20px;bottom:20px}
}
@media(max-height:500px) and (orientation:landscape){
 .entrance-page header{top:8px}.entrance-page header img{width:185px}
 .entrance-page .brand-descriptor{font-size:6px;margin-top:4px}
 body.entrance-page .entrance-explainer{top:88px;font-size:27px;left:20px;right:20px}
 .invitation-kicker{font-size:7px;margin-bottom:7px}
 .invitation-line{display:inline-block}.invitation-warm{margin-left:.18em;margin-top:0}
 .entrance-page .choice,.entrance-page .chill .choice{bottom:23px;left:27px;right:27px;padding-top:12px}
 .entrance-page .choice h2{font-size:42px}.entrance-page .choice-copy p{font-size:8px}
}
@keyframes invitation-reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){body.entrance-page .entrance-explainer{animation:none}}

/* Each promise belongs to its destination, including when the panels stack. */
body.entrance-page .accessible-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;margin:-1px;top:0;left:0;right:auto}
.entrance-page .brand-descriptor{margin-top:12px;font-size:9px;letter-spacing:.28em;padding-left:.28em}
.entrance-page .world-promise{position:absolute;z-index:2;top:clamp(174px,25svh,250px);left:7%;right:7%;margin:0;text-align:center;font:700 clamp(29px,3.55vw,54px)/1.08 WhisperDisplay,'Arial Narrow',sans-serif;letter-spacing:.035em;color:#f4f0e8;text-shadow:0 2px 24px #030911b0;pointer-events:none;animation:invitation-reveal 1.5s cubic-bezier(.2,.7,.3,1) both}
.entrance-page .chill .world-promise{color:#e4d5bf}
@media(max-width:700px){
 .entrance-page .brand-descriptor{margin-top:9px;font-size:7px;letter-spacing:.23em}
 .entrance-page .world-promise{left:24px;right:24px;font-size:clamp(26px,7.6vw,36px);line-height:1.08;top:max(130px,calc(env(safe-area-inset-top) + 118px))}
 .entrance-page .chill .world-promise{top:30px}
 .entrance-page .chill .shade{background:linear-gradient(180deg,#04091188,transparent 34%,transparent 60%,#08090dc4)}
}
@media(max-height:500px) and (orientation:landscape){
 .entrance-page .brand-descriptor{margin-top:6px;font-size:6px}
 .entrance-page .world-promise,.entrance-page .chill .world-promise{top:118px;font-size:clamp(24px,3.8vw,34px);left:20px;right:20px}
}
@media(prefers-reduced-motion:reduce){.entrance-page .world-promise{animation:none}}

/* Destination titles remain unruled at every breakpoint. */
.entrance-page .choice,.entrance-page .chill .choice{border-top:0;border-image:none}

/* Lock the tagline closely to the parent wordmark. */
.entrance-page .brand-descriptor{margin-top:4px}
@media(max-width:700px){.entrance-page .brand-descriptor{margin-top:3px}}
@media(max-height:500px) and (orientation:landscape){.entrance-page .brand-descriptor{margin-top:2px}}

/* Publisher-style typography: broad, weighty sans with restrained tracking. */
.entrance-page .world-promise{
 font-family:WhisperSans,Helvetica,Arial,sans-serif;
 font-weight:700;font-size:clamp(22px,2.7vw,43px);
 line-height:1.08;letter-spacing:-.045em;text-wrap:balance;
 text-shadow:0 2px 18px #03091180;
}
.entrance-page .choice h2{
 font-family:WhisperSans,Helvetica,Arial,sans-serif;
 font-weight:700;font-size:clamp(52px,6.2vw,90px);
 line-height:.94;letter-spacing:-.065em;
}
.entrance-page .choice-copy p{
 font-family:WhisperSans,Helvetica,Arial,sans-serif;
 font-size:clamp(9px,.75vw,11px);line-height:1.5;
 letter-spacing:.13em;margin-top:9px;color:#e7ebeb;
}
.entrance-page .brand-descriptor{letter-spacing:.19em;padding-left:.19em;font-size:9px;line-height:1.4}
@media(max-width:700px){
 .entrance-page .world-promise{font-size:clamp(21px,5.65vw,29px);letter-spacing:-.04em;line-height:1.1}
 .entrance-page .choice h2{font-size:clamp(32px,9vw,42px);letter-spacing:-.055em;line-height:1}
 .entrance-page .choice-copy p{font-size:8px;letter-spacing:.10em;margin-top:5px}
 .entrance-page .brand-descriptor{font-size:7px;letter-spacing:.17em;padding-left:.17em}
}
@media(max-height:500px) and (orientation:landscape){
 .entrance-page .world-promise,.entrance-page .chill .world-promise{font-size:clamp(20px,2.8vw,28px)}
 .entrance-page .choice h2{font-size:38px}
 .entrance-page .brand-descriptor{font-size:6px}
}

/* Full character coverage prevents mixed fallback letters within a word. */
@font-face{font-family:WhisperInterface;src:url('/fonts/ww-interface-bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
.entrance-page .world-promise,.entrance-page .choice h2,.entrance-page .choice-copy p{font-family:WhisperInterface,Helvetica,Arial,sans-serif}
.entrance-page header a{width:clamp(230px,25vw,350px);padding:0;display:inline-flex;flex-direction:column;align-items:stretch;gap:7px}
.entrance-page .master-wordmark{display:block;width:100%;height:auto;overflow:hidden}
.entrance-page .brand-kicker{display:block;width:100%;height:auto;margin:0;padding:0;overflow:visible}
.entrance-page .brand-kicker text{font:700 55px WhisperInterface,Helvetica,Arial,sans-serif;fill:#eeeae2;letter-spacing:0}
.entrance-page .choice-copy{display:flex;flex-direction:column;align-items:flex-start}
.entrance-page .choice h2{font-size:clamp(70px,8vw,116px);line-height:.9;letter-spacing:-.055em}
.entrance-page .choice-copy p{margin-top:3px;font-size:clamp(10px,.9vw,13px);line-height:1.2;letter-spacing:.10em}
@media(max-width:700px){
 .entrance-page header a{width:clamp(210px,59vw,260px);gap:5px;padding:0}
 .entrance-page .brand-kicker{margin:0}
 .entrance-page .choice h2{font-size:clamp(44px,12vw,58px);line-height:.91}
 .entrance-page .choice-copy p{margin-top:2px;font-size:9px;line-height:1.2;letter-spacing:.085em}
}
@media(max-height:500px) and (orientation:landscape){
 .entrance-page header a{width:200px;gap:4px}
 .entrance-page .choice h2{font-size:49px}
 .entrance-page .choice-copy p{font-size:8px;margin-top:2px}
}

/* Keep each laptop launch arrow attached to its title, above the subtitle. */
@media(min-width:701px){
 .entrance-page .choice{display:grid;grid-template-columns:max-content 24px;grid-template-rows:auto auto;justify-content:start;align-items:center;gap:3px 24px}
 .entrance-page .choice-copy{display:contents}
 .entrance-page .choice h2{grid-column:1;grid-row:1}
 .entrance-page .choice-copy p{grid-column:1;grid-row:2;margin-top:0}
 .entrance-page .choice>span{grid-column:2;grid-row:1;width:24px;height:24px;margin:0;border:0;background:none;align-self:center}
 .entrance-page .choice .direction-icon{width:22px;height:22px}
 .entrance-page .portal:hover .choice>span,.entrance-page .portal:focus-visible .choice>span{border:0;background:none}
}

/* Quiet cinematic promises give the destination lockups room to lead. */
@font-face{font-family:WhisperInterface;src:url('/fonts/ww-interface-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
.entrance-page .world-promise{
 font-family:WhisperInterface,Helvetica,Arial,sans-serif;font-weight:400;
 font-size:clamp(18px,2.05vw,30px);line-height:1.35;letter-spacing:.16em;
 padding-left:.16em;text-wrap:balance;color:#e9e6df;
 text-shadow:0 2px 18px #030911a6;
}
.entrance-page .chill .world-promise{color:#e6d9c6}
@media(max-width:700px){
 .entrance-page .world-promise{font-size:clamp(17px,4.6vw,21px);line-height:1.4;letter-spacing:.12em;padding-left:.12em;left:24px;right:24px}
}
@media(max-height:500px) and (orientation:landscape){
 .entrance-page .world-promise,.entrance-page .chill .world-promise{font-size:clamp(16px,2.1vw,22px);letter-spacing:.12em;padding-left:.12em}
}

/* Real footage supplies all environmental motion. */
.entrance-page .video-scene{inset:0;animation:none;transform:none}
.entrance-page .world-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .6s;pointer-events:none;filter:saturate(.9) contrast(1.025)}
.entrance-page .world-video.is-playing{opacity:1}
.entrance-page .chill .world-video{object-position:50% 62%}
@media(max-width:700px){.entrance-page .chill .world-video{object-position:50% 67%}.entrance-page .explore .world-video{object-position:50% 49%}}
@media(prefers-reduced-motion:reduce){.entrance-page .world-video{display:none;transition:none}}

/* Inset the tagline to the inner feet of the outer wordmark letters. */
.entrance-page .brand-kicker{width:94%;margin:0 auto}

/* Glass highlights frame each world without covering its central artwork. */
.entrance-page .portal:before{
 content:'';display:block;position:absolute;inset:12px;z-index:2;pointer-events:none;
 border:1px solid #e5edf338;border-top-color:#f7f7ee66;border-left-color:#edf3f34a;
 border-radius:16px;mask-image:none;-webkit-mask-image:none;
 background:none;box-shadow:inset 0 1px 0 #ffffff1a,inset 1px 0 0 #ffffff0a,0 0 0 1px #03091235;
 transition:border-color .4s,box-shadow .4s;
}
.entrance-page .portal:after{
 content:'';position:absolute;inset:15px;z-index:2;pointer-events:none;
 border:1px solid #dce7ee0e;border-bottom-color:#dce7ee24;border-radius:13px;
 background:none;
}
.entrance-page .chill:before{border-color:#e8d5ba38;border-top-color:#fff0d966;border-left-color:#f5e2c54a}
@media(hover:hover) and (pointer:fine){
 .entrance-page .portal:hover:before{border-top-color:#fffff299;box-shadow:inset 0 1px 0 #ffffff24,0 0 12px #e1e8e909}
}
@media(max-width:700px){
 .entrance-page .portal:before{inset:8px;border-radius:12px}
 .entrance-page .portal:after{inset:11px;border-radius:9px}
}

/* Local contrast follows each promise without dimming the world itself. */
.entrance-page .world-promise{isolation:isolate;text-shadow:0 1px 3px #03070cb3,0 3px 18px #03070c99}
.entrance-page .world-promise::before{
 content:'';position:absolute;z-index:-1;pointer-events:none;
 inset:-32px -5%;background:radial-gradient(ellipse at center,#040a126b 0%,#040a1247 38%,#040a1214 66%,transparent 82%);
}
.entrance-page .chill .world-promise::before{background:radial-gradient(ellipse at center,#0b09076b 0%,#0b090747 38%,#0b090714 66%,transparent 82%)}
@media(max-width:700px){.entrance-page .world-promise::before{inset:-22px -12px}}
