@font-face{font-family:Delius;src:url('/assets/delius-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Itim;src:url('/assets/itim-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{font-family:Delius,"Trebuchet MS",sans-serif;color:#4c2d16;background:#8d6138;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}[hidden]{display:none!important}a,button,input{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e5f3bc;outline-offset:5px}
.world{position:relative;width:100%;height:100svh;min-height:620px;overflow:hidden;isolation:isolate}
.world-art{position:absolute;inset:0;z-index:-1}.world-art img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.welcome{position:absolute;top:9.5%;left:50%;transform:translateX(-50%);width:min(51vw,760px);text-align:center}
h1{margin:0;line-height:1}h1 img{width:100%;height:auto}
.tagline{margin:-1.8% 0 0;font-family:Itim,Delius,sans-serif;font-size:clamp(20px,2.25vw,33px);line-height:1.35;color:#fff0cd;text-shadow:0 2px 3px #593410}
.world-note{width:clamp(260px,20vw,300px);margin:2px auto 0}
.wood-button,.mail-button{--control-x:0%;position:relative;display:block;color:#573214;text-decoration:none;text-align:center;transform:translateX(var(--control-x));transition:transform .16s ease;user-select:none;-webkit-user-select:none}
.wood-button img,.mail-button img{width:100%;height:auto;pointer-events:none}
.meet-button{--control-x:-50%;position:absolute;bottom:2.4%;left:50%;width:min(38vw,520px)}
.home-mail{position:absolute;right:max(3.4%,env(safe-area-inset-right));bottom:max(2.8%,env(safe-area-inset-bottom));width:clamp(120px,11vw,172px)}
@media(hover:hover) and (pointer:fine){.wood-button:hover,.mail-button:hover{transform:translateX(var(--control-x)) translateY(-3px) scale(1.015)}}
.wood-button:active,.mail-button:active{transform:translateX(var(--control-x)) translateY(2px) scale(.97)}
dialog{container-type:inline-size;padding:0;border:0;background:transparent;color:#4c3423;width:min(560px,96vw);max-width:560px;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border-radius:30px}
dialog::backdrop{background:#25190de0}
.letter-sheet{position:relative;isolation:isolate;min-height:700px;padding:174px 66px 74px}
/* Nine-slice the original artwork: the seal and both leafy corners scale
   uniformly with the letter width; only the unadorned paper can grow taller. */
.letter-sheet::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 border:0 solid transparent;border-image-source:url('/assets/letter-paper.webp');
 border-image-slice:420 280 370 350 fill;
 border-image-width:var(--paper-slices,41.015625cqw 27.34375cqw 36.1328125cqw 34.1796875cqw);
 border-image-repeat:stretch}

.close-letter{position:absolute;right:45px;top:64px;width:44px;height:44px;display:grid;place-items:center;background:#f9eacc;border:1px solid #c3a178;border-radius:50%;color:#614427}
.close-letter svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.close-letter:hover{background:#efdab1}.letter-content{text-align:center}
.letter-eyebrow{font-size:10px;line-height:1.5;letter-spacing:1.5px;color:#82704b;margin:0 0 12px}
h2{font-family:Itim,Delius,sans-serif;font-weight:400;font-size:38px;line-height:1.15;margin:0 0 22px;color:#58351d}
.letter-content h2[tabindex="-1"]:focus{outline:none}
.letter-intro{font-size:15px;line-height:1.7;margin:0 0 25px;color:#756147}
#waitlist-form{text-align:left}#waitlist-form label{display:block;margin-bottom:9px;font-size:13px;color:#725a3b}
#waitlist-email{width:100%;height:52px;border:1px solid #bfa278;border-radius:12px;padding:12px 15px;color:#4c3423;background:#fffaf0b8;font-family:Delius,sans-serif;font-size:16px;box-shadow:inset 0 2px 4px #84582b12}
#waitlist-email::placeholder{color:#988364}#waitlist-email:focus-visible{outline:2px solid #6c8251;outline-offset:2px}
.send-button{display:block;width:100%;height:52px;margin-top:14px;border:1px solid #5d7045;border-radius:12px;background:#6c8051;color:#fff8e7;font-size:17px;box-shadow:inset 0 1px 0 #c8d4b14d,0 3px 0 #52623f}
.send-button:hover{background:#5b7243}.send-button>span{margin-left:14px}.send-button:disabled{opacity:.65;cursor:wait}
.form-status{font-family:Delius,sans-serif;font-size:13px;line-height:1.5;min-height:20px;margin:12px 0 0;color:#4f663f}.form-status.error{color:#a0452e}
.local-note{font-size:11px;line-height:1.5;color:#89795f;margin:7px 0 17px}
.letter-return{display:inline-flex;min-height:44px;align-items:center;gap:12px;text-decoration:none;border-bottom:1px solid #b19c77;font-size:15px;color:#715438}
.letter-return:hover{color:#395734;border-color:#6c8051}
#world-letter>p:not(.letter-eyebrow){font-size:15px;line-height:1.7;text-align:left;color:#735d43;margin:0 0 16px}
#world-letter h2{font-size:34px}.world-meet{margin-top:3px}
.noscript-note{position:fixed;bottom:0;background:#fff3dc;padding:12px;width:100%;margin:0;text-align:center;font-size:14px}
@media(min-aspect-ratio:2/1){.world{min-height:500px}.welcome{top:5%;width:min(43vw,650px)}.tagline{font-size:26px}.meet-button{width:370px;bottom:0}.home-mail{width:135px}}
@media(max-aspect-ratio:4/5){
 .world{height:100svh;min-height:700px;max-height:1400px}
 .world-art img{object-position:50% 56%}
 .welcome{top:3%;width:91%;max-width:640px}
 .tagline{font-size:clamp(18px,5vw,30px);margin:0}
 .world-note{width:78%;max-width:300px;margin-top:9px}
 .meet-button{width:86%;max-width:490px;bottom:13.2%}
 .home-mail{--control-x:-50%;left:50%;right:auto;width:clamp(145px,39vw,210px);bottom:max(2.2%,env(safe-area-inset-bottom))}
}
@media(orientation:landscape) and (max-height:550px){
 .world{height:100svh;min-height:0}
 .world-art img{object-position:50% 65%}
 .welcome{top:0;width:min(45vw,60svh)}
 .tagline{font-size:18px}
 .world-note{width:240px;max-width:110%;margin:2px auto 0}
 .meet-button{width:min(34vw,270px);bottom:0}
 .home-mail{width:110px;bottom:1%;right:max(2%,env(safe-area-inset-right))}
}
@media(orientation:landscape) and (max-height:350px){
 .welcome{display:grid;grid-template-columns:190px 170px;column-gap:12px;width:372px;top:0}
 .welcome h1{grid-column:1;grid-row:1}
 .tagline{grid-column:1;grid-row:2;font-size:12px;white-space:nowrap}
 .world-note{grid-column:2;grid-row:1 / span 2;align-self:center;width:170px;max-width:none;margin:0}
}
@media(max-width:600px){
 dialog{width:calc(100vw - 14px);max-height:calc(100dvh - 16px);border-radius:20px}
 .letter-sheet{min-height:610px;padding:154px 42px 63px}
 .close-letter{right:30px;top:50px}
 h2{font-size:32px;margin-bottom:18px}
 .letter-eyebrow{font-size:9px;letter-spacing:1.1px}
 .letter-intro{font-size:14px;margin-bottom:21px}
 #world-letter>p:not(.letter-eyebrow){font-size:14px;line-height:1.65}
 #world-letter h2{font-size:29px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
