@font-face{font-family:CG;src:url(cg.ttf)}@font-face{font-family:Lora;src:url(Lora.ttf)}@font-face{font-family:Cav;src:url(Caveat.ttf)}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:auto}
body{font-family:Lora,serif;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.top{position:fixed;top:0;left:0;right:0;height:40px;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:0 40px;font-size:12px;letter-spacing:.2em;background:var(--barbg);color:var(--barfg);border-bottom:1px solid var(--accent);backdrop-filter:blur(6px)}
.top .langs button,.top .seasons button{background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;margin-right:16px;padding:2px 0;opacity:.75}
.top button.on{opacity:1;border-bottom:1px solid currentColor}
.top .seasons{display:flex;align-items:center}.top .seasons i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:0;border:1px solid rgba(255,255,255,.4)}
.nav{position:absolute;top:40px;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:22px 40px;font-size:13px;letter-spacing:.16em;color:var(--herofg)}
.nav .links a{margin-right:28px}.nav .env{display:flex;align-items:center;gap:9px;cursor:pointer}
.env svg{width:24px;height:18px}
.hero{position:relative;height:100vh;min-height:680px;overflow:hidden;background:#000}
.hero img.plate,.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero video{opacity:0;transition:opacity 1.2s ease}
.hero video.base{opacity:1;transition:none}
.hero .c{position:absolute;left:50%;top:53%;transform:translate(-50%,-50%);text-align:center;width:min(720px,88vw);z-index:5;color:var(--herofg)}
.mark{height:120px}.wm{font-family:CG;font-weight:300;letter-spacing:.34em;text-transform:uppercase;font-size:15px;margin:20px 0 26px;color:var(--accent)}
h1{font-family:CG;font-weight:300;font-size:clamp(48px,6.2vw,96px);line-height:1}
.hero p{font-size:19px;line-height:1.6;margin:24px auto 32px;max-width:520px;opacity:.92}
.btn{display:inline-block;padding:15px 34px;font-size:12px;letter-spacing:.22em;border:1px solid var(--accent);color:inherit;cursor:pointer;background:none}
.btn.solid{background:var(--plum);border-color:var(--plum);color:#F4EEE3}
section{padding:120px 8vw}
.lab{font-size:12px;letter-spacing:.24em;color:var(--accent2);margin-bottom:14px;text-transform:uppercase}
h2{font-family:CG;font-weight:300;font-size:clamp(40px,4.4vw,64px);line-height:1.04;margin-bottom:20px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}
.sample .paper{background:#F4EEE3;box-shadow:0 30px 60px rgba(0,0,0,.35);max-height:620px;overflow:hidden;cursor:pointer}.sample .paper img{width:100%;display:block}
p.body{font-size:18px;line-height:1.7;max-width:520px;opacity:.9}
.hand{font-family:Cav;font-size:32px;color:var(--accent);margin:18px 0}
.catsec{position:relative;height:92vh;min-height:560px;overflow:hidden;padding:0}
.catsec video,.catsec img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.catsec .t{position:absolute;right:8vw;top:50%;transform:translateY(-50%);width:min(440px,80vw);color:var(--herofg)}
.qr .row{display:flex;gap:40px;flex-wrap:wrap;margin-top:34px}.qr .card{background:#F4EEE3;color:#2E2622;padding:20px;width:240px;text-align:center}.qr .card img{width:190px;display:block;margin:0 auto 12px}.qr .card b{font-family:CG;font-weight:400;font-size:24px;display:block}.qr .card span{font-size:13px}
.arrow{font-family:Cav;font-size:30px;color:var(--accent);margin-top:22px}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.plan{border:1px solid var(--line);padding:34px}.plan b{font-family:CG;font-weight:400;font-size:32px;display:block}.plan .pr{font-size:15px;opacity:.8;margin:8px 0 22px}.plan.f{background:var(--feat);color:var(--featfg)}
.sub form{display:flex;gap:0;margin-top:34px;max-width:560px}.sub input{flex:1;padding:15px;border:1px solid var(--line);background:transparent;color:inherit;font:inherit}
footer{padding:70px 8vw 40px;background:var(--foot);color:#F4EEE3;font-size:14px}footer .g{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px}footer img{height:60px}footer .tag{font-family:CG;font-size:24px;font-style:italic;margin-top:12px}
.modal{position:fixed;inset:0;background:rgba(20,14,18,.78);z-index:50;display:none;align-items:center;justify-content:center;padding:40px}.modal.on{display:flex}.modal img{max-height:92vh;max-width:90vw;box-shadow:0 20px 60px #000}
.modal .x{position:absolute;top:24px;right:34px;color:#fff;font-size:30px;cursor:pointer}
@media(max-width:760px){.top{padding:0 14px;font-size:10px;letter-spacing:.12em}.top .seasons button{margin-right:8px}.top .seasons span{display:none}.nav .links{display:none}.nav{padding:16px}.two,.plans{grid-template-columns:1fr}section{padding:80px 7vw}.mark{height:90px}.catsec .t{right:auto;left:7vw;top:auto;bottom:40px;transform:none}}
@media(prefers-reduced-motion:reduce){.hero video{display:none}}
.plans{grid-template-columns:1fr 1fr;max-width:900px}.plan .us{font-size:13px;letter-spacing:.12em;margin-top:14px;opacity:0}.plan.off{opacity:.38;filter:grayscale(1);pointer-events:none}.plan.off .us{opacity:1}
.draft{display:inline-block;font-size:11px;letter-spacing:.18em;border:1px dashed currentColor;padding:4px 10px;margin-left:14px;vertical-align:middle;opacity:.8}
.soc{display:flex;gap:16px;margin-top:16px}.soc span{width:34px;height:34px;border:1px solid rgba(244,238,227,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;opacity:.75}
@media(max-width:760px){.top .langs button{margin-right:7px}.top .langs button:last-child{margin-right:0}.hero img.plate,.hero video{object-position:14% 50%}.hero .c{background:radial-gradient(closest-side,rgba(40,24,36,.82),rgba(40,24,36,.55) 70%,transparent);padding:40px 10px}}
html,body{overflow-x:hidden;max-width:100%}
.hero::after{content:"";position:absolute;left:0;right:0;top:0;height:160px;z-index:3;pointer-events:none;background:linear-gradient(rgba(30,18,28,.78),transparent)}
.nav{z-index:6}
.top .seasons button[data-s=c] i{border-color:rgba(46,38,34,.55)}
.plan.off{background:#D9D4CC!important;color:#3a3430!important;opacity:.6}.plan.off .body,.plan.off b,.plan.off .pr{color:#3a3430!important}.plan.off .btn{background:transparent!important;color:#3a3430!important;border:1px solid #3a3430}
.env{text-shadow:0 1px 8px rgba(244,238,227,.9)}
/* FLOW (2026-10-23): one continuous plum wall from hero to footer. Shared wall texture, soft feathered joins, no flat colour bands. */
body{background:#241A22 url(wall.jpg) repeat;background-size:512px auto}
section,section.sec2,.sub,.sample{background:transparent!important;position:relative;color:#F4EEE3}
.sample::before,.qr::before,.sub::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.sample::before{background:linear-gradient(rgba(26,16,24,.55),rgba(26,16,24,.25) 40%,rgba(26,16,24,.35))}
.qr::before{background:linear-gradient(rgba(26,16,24,.35),rgba(74,46,69,.18) 50%,rgba(26,16,24,.4))}
.sub::before{background:linear-gradient(rgba(26,16,24,.4),rgba(22,14,20,.7))}
section{isolation:isolate}
.hero::before{content:"";position:absolute;left:0;right:0;bottom:0;height:200px;z-index:3;pointer-events:none;background:linear-gradient(transparent,rgba(26,16,24,.55))}
.catsec::before,.catsec::after{content:"";position:absolute;left:0;right:0;height:140px;z-index:2;pointer-events:none}
.catsec::before{top:0;background:linear-gradient(rgba(38,24,35,.85),transparent)}.catsec::after{bottom:0;background:linear-gradient(transparent,rgba(38,24,35,.85))}
.catsec .t{z-index:4}.catsec .t h2,.catsec .t .body{color:#F4EEE3;text-shadow:0 1px 14px rgba(20,10,18,.85)}
footer{background:linear-gradient(rgba(22,14,20,.7),#1A1218)!important}
.plan{background:rgba(26,16,24,.35)}.plan.f{background:var(--feat)}
.sub input{color:#F4EEE3}.sub input::placeholder{color:rgba(244,238,227,.6)}
.signup-msg{margin-top:16px;font-size:15px;min-height:1.4em}.signup-msg[data-state=bad]{color:#E8B3A6}
.top .seasons button[data-s=e] i{border-color:rgba(255,255,255,.7)}
@media(max-width:760px){body{background-size:384px auto}}
/* sample letter: front + back, per language */
.sample .paper{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:transparent;box-shadow:none;max-height:none}.sample .paper img{box-shadow:0 30px 60px rgba(0,0,0,.35);background:#F4EEE3}
.modal{overflow:auto}.modal .sides{display:flex;gap:20px;align-items:flex-start;margin:auto}.modal .sides img{max-height:92vh;max-width:44vw}
@media(max-width:700px){.modal{padding:50px 12px 12px;align-items:flex-start}.modal .sides{flex-direction:column}.modal .sides img{max-width:100%;max-height:none;width:100%}}
