/* A letter before the journey. The colours and type reuse the itinerary's tokens. */
html.site-locked body{overflow:hidden}
html.site-locked .skip-link,html.site-locked #header,html.site-locked #main,html.site-locked #footer,html.site-locked #toast{visibility:hidden}
.entry-gate{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;min-height:100svh;overflow:auto;padding:30px clamp(24px,4.5vw,78px) 24px;background:radial-gradient(circle at 71% 41%,rgba(87,176,230,.21),transparent 33%),radial-gradient(circle at 88% 82%,rgba(255,92,138,.11),transparent 29%),linear-gradient(135deg,#f4faff 0%,#eaf5fb 55%,#f9f7fc 100%);transition:opacity .9s ease,transform .9s var(--ease)}
.entry-gate:before{content:"";position:absolute;inset:14px;border:1px solid rgba(45,111,157,.14);border-radius:18px;pointer-events:none}
.entry-topbar,.entry-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--ink)}
.entry-topbar{min-height:43px}
.entry-top-actions{display:flex;align-items:center;gap:22px}
.entry-language{display:flex;gap:3px;padding:3px;border:1px solid rgba(45,111,157,.13);border-radius:99px;background:rgba(255,255,255,.55)}
.entry-language button{min-width:39px;padding:5px 9px;border-radius:99px;color:var(--muted);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:.03em}
.entry-language button[aria-pressed=true]{background:var(--ink);color:white}
.entry-brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;letter-spacing:.22em;line-height:1.2}
.entry-brand-mark{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:var(--gradient);color:white;font-size:16px;font-weight:400;letter-spacing:0}
.entry-brand small{display:block;margin-top:5px;color:var(--muted);font-size:9px;font-weight:500;letter-spacing:.17em}
.entry-topnote,.entry-bottom{font-size:10px;font-weight:600;letter-spacing:.16em;color:#6b8297}
.entry-topnote span{padding-inline:5px;color:var(--pink)}
.entry-content{position:relative;z-index:1;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(450px,1fr);gap:clamp(30px,5vw,100px);align-items:center;flex:1;width:min(1350px,100%);margin:auto}
.entry-intro{padding-bottom:28px}
.entry-eyebrow{display:inline-flex;align-items:center;gap:14px;border-radius:99px;background:rgba(87,176,230,.10);padding:8px 16px;color:#3c749a;font-size:11px;font-weight:700;letter-spacing:.15em}
.entry-eyebrow span{color:var(--pink);font-size:17px;line-height:0}
.entry-intro h1{margin:29px 0 27px;font-size:clamp(65px,6.4vw,105px);line-height:1.04;letter-spacing:-.045em}
.entry-intro h1 em{font-weight:400;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.entry-intro>p{font-size:16px;line-height:1.95;color:var(--muted)}
.entry-rule{display:flex;align-items:center;gap:18px;max-width:350px;margin-top:62px;color:#7d90a1;font-size:11px;font-weight:600;letter-spacing:.13em;white-space:nowrap}
.entry-rule span:first-child{height:1px;flex:1;background:linear-gradient(90deg,#57b0e6,#ff5c8a)}
.entry-envelope-scene{position:relative;display:flex;align-items:center;justify-content:center;min-height:550px;padding-top:110px;isolation:isolate}
.entry-aura{position:absolute;width:min(100%,650px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.76) 0%,rgba(205,229,245,.49) 49%,transparent 72%);z-index:-1}
.entry-envelope{position:relative;width:min(100%,560px);height:318px;filter:drop-shadow(0 32px 35px rgba(28,80,120,.14));perspective:1000px;transform:rotate(-2deg);transition:transform .75s var(--ease),filter .75s ease}
.entry-envelope:hover{transform:rotate(-1deg) translateY(-3px);filter:drop-shadow(0 38px 40px rgba(28,80,120,.18))}
.entry-envelope-back{position:absolute;inset:0;border-radius:8px;background:linear-gradient(135deg,#e9f4fa,#c9e3f3 70%,#c1dbee);box-shadow:inset 0 0 0 1px rgba(42,101,139,.14)}
.entry-letter{position:absolute;z-index:2;left:7%;right:7%;bottom:20px;height:274px;padding:24px 33px 22px;background:#fffefa;border:1px solid rgba(41,84,110,.12);box-shadow:0 7px 25px rgba(34,75,105,.13);transform:translateY(0);transition:transform 1s var(--ease),box-shadow 1s ease;display:flex;flex-direction:column}
.entry-letter:before{content:"";position:absolute;inset:9px;border:1px solid rgba(87,176,230,.17);pointer-events:none}
.entry-letter-overline{font-size:9px;letter-spacing:.2em;color:#6286a0;font-weight:700}
.entry-letter h2{font-size:32px;line-height:1.15;margin-top:15px}
.entry-letter>p{font-size:12px;line-height:1.7;color:var(--muted);margin:8px 0 12px}
.entry-letter form{margin-top:auto;position:relative;z-index:1}
.entry-letter label{display:block;font-size:11px;font-weight:700;letter-spacing:.07em;color:#456d8b;margin-bottom:7px}
.entry-password-row{display:flex;align-items:stretch;height:45px;border-bottom:1px solid rgba(45,111,157,.38)}
.entry-password-row:focus-within{border-bottom-color:var(--pink)}
.entry-password-row input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:600 17px var(--sans);letter-spacing:.2em;padding:4px 0}
.entry-password-row button{flex:none;width:45px;display:grid;place-items:center;border-radius:50%;background:var(--gradient);color:#fff;font-size:24px;line-height:1;transition:transform .35s var(--ease)}
.entry-password-row button:hover{transform:translateX(3px)}
.entry-password-row button:focus-visible,.entry-seal:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.entry-error{height:18px;margin-top:5px!important;color:#bd245a!important;font-size:11px!important}
.entry-envelope-front{position:absolute;inset:0;z-index:3;border-radius:8px;background:linear-gradient(135deg,#f1f8fc 0%,#c8e3f3 58%,#b9d9ec 100%);clip-path:polygon(0 0,50% 50%,100% 0,100% 100%,0 100%);box-shadow:inset 0 0 0 1px rgba(45,111,157,.15)}
.entry-envelope-front:after{content:"";position:absolute;inset:0;background:linear-gradient(25deg,rgba(255,255,255,.4),transparent 49%,rgba(45,111,157,.07));clip-path:polygon(0 100%,50% 46%,100% 100%)}
.entry-envelope-flap{position:absolute;inset:0;z-index:4;background:linear-gradient(165deg,#f8fbfd,#d4e9f5 68%,#b9daec);clip-path:polygon(0 0,100% 0,50% 55%);transform-origin:top center;backface-visibility:hidden;transition:transform .7s var(--ease)}
.entry-seal{position:absolute;z-index:5;top:47%;left:50%;display:grid;place-items:center;width:69px;height:69px;border-radius:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#e84279,#b5447d 62%,#8c4f98);color:white;box-shadow:0 6px 17px rgba(142,57,104,.25),inset 0 1px 1px rgba(255,255,255,.5);transition:opacity .25s ease,transform .4s var(--ease)}
.entry-seal:before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.55);border-radius:50%}
.entry-seal span{font:italic 36px/1 var(--serif);transform:translateY(-1px)}
.entry-seal:hover{transform:translate(-50%,-50%) scale(1.07)}
.entry-prompt{position:absolute;bottom:15px;left:0;right:0;text-align:center;color:#53768e;font-size:13px;font-weight:700;letter-spacing:.1em}
.entry-prompt span{color:var(--pink);margin-left:7px}
.entry-envelope.is-open .entry-envelope-flap{transform:rotateX(180deg);z-index:1}
.entry-envelope.is-open .entry-letter{transform:translateY(-137px);z-index:5;box-shadow:0 21px 45px rgba(34,75,105,.18)}
.entry-envelope.is-open .entry-seal{opacity:0;pointer-events:none;transform:translate(-50%,-85%) scale(.7)}
.entry-envelope.is-open{transform:rotate(0)}
.entry-envelope.is-wrong .entry-letter{animation:entry-shake .38s ease}
.entry-gate.is-entering{opacity:0;transform:scale(1.025);pointer-events:none}
.entry-gate.is-entering .entry-letter{transform:translateY(-220px) rotate(-3deg)}
.entry-bottom{min-height:24px}
@keyframes entry-shake{20%,60%{margin-left:-7px}40%,80%{margin-left:7px}}
@media(max-width:1050px){.entry-content{grid-template-columns:1fr 1fr;gap:10px}.entry-intro h1{font-size:clamp(58px,7vw,79px)}.entry-envelope-scene{min-height:520px}.entry-letter{padding-inline:23px}}
@media(max-width:760px){.entry-gate{padding:20px 22px 14px}.entry-gate:before{inset:8px;border-radius:13px}.entry-topbar{padding:3px 4px}.entry-topnote{display:none}.entry-content{display:block;margin:auto 0}.entry-intro{padding:27px 7px 0}.entry-eyebrow{font-size:9px;padding:7px 11px}.entry-intro h1{font-size:clamp(54px,12.5vw,76px);margin:19px 0 13px}.entry-intro>p{font-size:14px;line-height:1.7}.entry-rule{display:none}.entry-envelope-scene{min-height:420px;padding-top:119px}.entry-envelope{width:min(100%,430px);height:246px}.entry-letter{height:224px;bottom:12px;left:6%;right:6%;padding:18px 22px 13px}.entry-letter-overline{font-size:8px}.entry-letter h2{font-size:27px;margin-top:9px}.entry-letter>p{font-size:11px;line-height:1.55;margin:5px 0 8px}.entry-letter label{font-size:10px;margin-bottom:3px}.entry-password-row{height:38px}.entry-password-row input{font-size:16px}.entry-password-row button{width:38px;font-size:22px}.entry-error{height:15px;margin-top:3px!important;font-size:10px!important}.entry-envelope.is-open .entry-letter{transform:translateY(-113px)}.entry-seal{width:56px;height:56px}.entry-seal span{font-size:30px}.entry-prompt{bottom:12px;font-size:11px}.entry-bottom{font-size:8px;padding:0 4px}.entry-bottom span:nth-child(2){display:none}}
@media(max-width:390px){.entry-intro h1{font-size:54px}.entry-envelope-scene{min-height:390px;padding-top:100px}.entry-envelope{height:224px}.entry-letter{height:208px;padding:15px 17px 11px}.entry-letter h2{font-size:25px}.entry-letter>p{font-size:10px}.entry-envelope.is-open .entry-letter{transform:translateY(-106px)}}
@media(prefers-reduced-motion:reduce){.entry-gate,.entry-envelope,.entry-envelope-flap,.entry-letter,.entry-seal,.entry-password-row button{transition-duration:.01ms!important}.entry-envelope.is-wrong .entry-letter{animation:none}}
