@font-face{font-family:Cinzel;font-weight:500;src:url(fonts/cinzel-latin-500-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Cinzel;font-weight:700;src:url(fonts/cinzel-latin-700-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Garamond;font-weight:400;src:url(fonts/eb-garamond-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Garamond;font-weight:500;src:url(fonts/eb-garamond-latin-500-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Garamond;font-style:italic;font-weight:400;src:url(fonts/eb-garamond-latin-400-italic.woff2) format("woff2");font-display:swap}
:root{color-scheme:dark only;--ink:#120c07;--ink2:#1a1109;--paper:#f3e6cc;--text:#e3d4b4;--muted:#a8946f;--gold:#e0bd72;--gold2:#a9833f;--line:rgba(224,189,114,.25);
  --d:"Cinzel",Georgia,serif;--b:"Garamond",Garamond,"Times New Roman",serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--text);font-family:var(--b);font-size:20px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:var(--gold)}
.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(16px,5vw,48px)}
.narrow{max-width:820px}
.gold{background:linear-gradient(180deg,#f6dc9c 0%,#e0bd72 45%,#a9833f 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.kick{font-family:var(--d);font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--gold2);font-size:clamp(12px,1.4vw,15px)}
.kick.bright{color:var(--gold);letter-spacing:.14em;font-size:clamp(16px,2.2vw,26px)}
.big{font-family:var(--d);font-weight:700;line-height:1.04;letter-spacing:.04em;filter:drop-shadow(0 0 28px rgba(255,200,110,.45))}
.it{font-style:italic}
.center{text-align:center}
.div{display:flex;align-items:center;justify-content:center;gap:10px;margin:28px auto}
.div i{display:block;height:1px;width:clamp(60px,12vw,110px);background:var(--gold)}
.div b{display:block;width:10px;height:10px;background:var(--gold);transform:rotate(45deg)}
.div.left{justify-content:flex-start;margin-left:0}
.btn{display:inline-block;font-family:var(--d);font-weight:700;font-size:15px;letter-spacing:.22em;text-transform:uppercase;color:var(--paper);text-decoration:none;border:1.5px solid var(--gold);padding:16px 34px;background:rgba(18,12,7,.55);transition:background .25s,color .25s;cursor:pointer}
.btn:hover{background:var(--gold);color:var(--ink)}
.btn.ghost{border-color:rgba(224,189,114,.45);background:transparent;color:var(--gold)}
.btn.ghost:hover{background:rgba(224,189,114,.12);color:var(--paper)}
.soon{font-style:italic;color:var(--muted);font-size:18px;margin-top:14px}
/* header */
header{position:fixed;top:0;left:0;right:0;z-index:10;transition:background .3s}
header.solid{background:rgba(18,12,7,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-family:var(--d);font-weight:700;letter-spacing:.2em;font-size:15px;color:var(--paper);text-decoration:none;white-space:nowrap}
.brand span{color:var(--gold)}
header nav a{font-family:var(--d);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--text);text-decoration:none;margin-left:24px}
header nav a.cta{color:var(--gold)}
header nav a.on{color:var(--gold);border-bottom:1px solid var(--gold2);padding-bottom:3px}
@media(max-width:860px){header nav a:not(.cta):not(.keep){display:none}header nav a.home{display:none}header nav a{margin-left:14px;letter-spacing:.1em;font-size:12px}}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;justify-content:center;text-align:center;overflow:hidden}
.hero picture,.hero picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero picture img{animation:kb 46s ease-in-out infinite alternate;transform-origin:50% 40%}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.08)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,12,7,.45) 0%,rgba(18,12,7,.1) 30%,rgba(18,12,7,.35) 50%,rgba(18,12,7,.96) 82%,var(--ink) 100%)}
.hero .in{position:relative;z-index:2;padding:96px 16px 7vh;max-width:1000px}
.hero .big{font-size:clamp(46px,min(7.5vw,11vh),112px);margin-top:14px}
.hero p.lead{font-size:clamp(20px,2.4vw,28px);color:var(--paper);text-shadow:0 2px 14px #000}
.hero p.lead em{display:block;margin-top:10px}
.hero .what{font-size:clamp(17px,1.7vw,21px);color:var(--text);margin-top:18px;text-shadow:0 2px 12px #000}
.hero .ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:clamp(18px,3.5vh,34px)}
.hero.short{min-height:78svh}
.hero.short .big{font-size:clamp(40px,min(6.6vw,10vh),96px)}
/* motes */
.motes{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.motes i{position:absolute;bottom:-10px;width:4px;height:4px;border-radius:50%;background:#ffe2a0;opacity:0;box-shadow:0 0 8px 2px rgba(255,226,160,.5);animation:mote linear infinite}
@keyframes mote{0%{transform:translate3d(0,0,0);opacity:0}10%{opacity:.7}60%{opacity:.5}100%{transform:translate3d(var(--dx),-110vh,0);opacity:0}}
/* sections */
section{position:relative}
.band{padding:clamp(90px,12vw,150px) 0;text-align:center;overflow:hidden}
.band.tight{padding-top:clamp(40px,6vw,70px)}
.band.bg::before{content:"";position:absolute;inset:0;background:var(--img) center/cover;filter:brightness(.42)}
.band.bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,rgba(255,200,110,.14) 0%,rgba(18,12,7,0) 55%),linear-gradient(180deg,var(--ink) 0%,rgba(18,12,7,0) 18%,rgba(18,12,7,0) 82%,var(--ink) 100%)}
.band .wrap{position:relative;z-index:1}
.band h2{font-size:clamp(48px,8vw,104px);margin-top:16px}
.band h2.mid{font-size:clamp(40px,6vw,80px)}
@media(max-width:520px){.band h2{font-size:clamp(28px,8.6vw,44px);letter-spacing:.02em}}
.band .sub{font-family:var(--d);font-weight:700;letter-spacing:.2em;color:var(--gold);font-size:clamp(13px,1.6vw,17px)}
.band p.copy{font-size:clamp(20px,2.3vw,27px);color:var(--paper);max-width:760px;margin:0 auto}
.band p.copy em{display:block;margin-top:10px}
/* three words */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:1000px;margin:0 auto}
.three div{background:var(--ink);padding:clamp(26px,4vw,44px) 20px;text-align:center}
.three b{display:block;font-family:var(--d);font-weight:700;letter-spacing:.3em;color:var(--gold);font-size:clamp(14px,1.8vw,20px)}
.three span{display:block;font-style:italic;color:var(--text);font-size:clamp(16px,1.7vw,19px);margin-top:10px;line-height:1.4}
@media(max-width:600px){.three{grid-template-columns:1fr}}
/* before / after */
.ba{display:grid;grid-template-columns:1fr 1fr;max-width:980px;margin:56px auto 0;border:1px solid var(--line);text-align:left}
.ba > div{padding:clamp(22px,4vw,44px)}
.ba .before{background:#1d1d1f;font-family:ui-monospace,Menlo,monospace;font-size:clamp(13px,1.5vw,17px);color:#9a9a9a}
.ba .before h3,.ba .after h3{font-family:var(--d);font-weight:500;font-size:16px;letter-spacing:.3em;margin-bottom:26px}
.ba .before h3{color:#888;font-family:var(--b)}
.ba .before li{list-style:none;display:flex;gap:12px;align-items:center;margin:12px 0}
.ba .before li::before{content:"";width:16px;height:20px;border:1.5px solid #777;flex:none}
.ba .after{background:var(--ink2);border-left:2px solid var(--gold);position:relative}
.ba .after h3{color:var(--gold)}
.ba .after .shelf{position:relative;border:1px solid var(--gold);box-shadow:0 0 0 6px var(--ink),0 0 0 7px var(--gold2)}
.ba .after .cat{position:absolute;left:-4%;right:auto;bottom:33.5%;width:31%;filter:drop-shadow(0 10px 16px rgba(0,0,0,.8))}
@media(max-width:700px){.ba{grid-template-columns:1fr}.ba .after{border-left:0;border-top:2px solid var(--gold)}}
/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,80px);align-items:center;text-align:left}
.split .txt .copy{margin:0;max-width:none}
.split .txt .feat{max-width:none;margin-left:0}
.split>figure,.split>.breath{width:100%;max-width:520px;justify-self:center}
.split h2.big{font-size:clamp(40px,5.4vw,76px)}
.framed{position:relative;overflow:hidden;border:1px solid var(--gold);box-shadow:0 0 0 7px var(--ink),0 0 0 8px var(--gold2),0 30px 60px rgba(0,0,0,.6)}
.framed>img{width:100%;height:100%;object-fit:cover;display:block}
.framed.sq{aspect-ratio:1}
.framed.tall{aspect-ratio:4/5}
.framed figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 22px 16px;background:linear-gradient(180deg,rgba(18,12,7,0),rgba(18,12,7,.9));font-style:italic;color:var(--paper);font-size:17px;text-align:center}
@media(max-width:860px){.split{grid-template-columns:1fr;text-align:center}.div.left{justify-content:center;margin-left:auto}}
/* interaction grid */
.acts{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:56px;text-align:left}
.act{position:relative;aspect-ratio:16/10;overflow:hidden;border:1px solid var(--line);background:var(--ink2)}
.act img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s ease;filter:brightness(.85)}
.act:hover img{transform:scale(1.05)}
.act::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,12,7,0) 35%,rgba(18,12,7,.95) 88%)}
.act .t{position:absolute;left:26px;right:26px;bottom:22px;z-index:1}
.act .t small{font-family:var(--d);font-weight:700;letter-spacing:.28em;color:var(--gold2);font-size:12px}
.act .t h3{font-family:var(--d);font-weight:700;font-size:clamp(22px,2.4vw,30px);letter-spacing:.06em;color:var(--gold);line-height:1.1;margin:6px 0 8px}
.act .t p{font-size:18px;line-height:1.4;color:var(--paper)}
.act .t p em{color:var(--gold)}
@media(max-width:760px){.acts{grid-template-columns:1fr}.act{aspect-ratio:16/11}}
/* awe */
.awe{position:relative;padding:clamp(300px,34vw,520px) 0 clamp(110px,14vw,170px);overflow:hidden;text-align:center}
.awe>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%;filter:brightness(.62)}
.awe::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--ink) 0%,rgba(18,12,7,0) 14%,rgba(18,12,7,.1) 45%,rgba(18,12,7,.88) 70%,var(--ink) 100%)}
.awe .wrap{position:relative;z-index:1}
.awe h2{font-style:italic;font-weight:400;font-size:clamp(40px,6.4vw,84px);color:var(--paper);line-height:1.08;text-shadow:0 2px 30px rgba(0,0,0,.9)}
.awe ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 60px;max-width:860px;margin:46px auto 0;text-align:left}
.awe li{font-size:clamp(18px,2vw,23px);color:var(--paper);text-shadow:0 2px 12px #000;padding-left:26px;position:relative;line-height:1.35}
.awe li::before{content:"◆";position:absolute;left:0;top:.35em;color:var(--gold);font-size:12px}
@media(max-width:700px){.awe ul{grid-template-columns:1fr}}
/* companions */
.comp{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,2vw,28px);margin-top:60px;align-items:end}
.comp figure{text-align:center}
.comp img{height:clamp(120px,18vw,230px);width:100%;margin:0 auto;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 22px rgba(0,0,0,.7));transition:transform .4s}
.comp figure:hover img{transform:translateY(-8px)}
.comp b{display:block;font-family:var(--d);font-weight:700;letter-spacing:.16em;color:var(--gold);font-size:clamp(13px,1.6vw,18px);margin-top:18px}
.comp span{display:block;font-style:italic;font-size:clamp(15px,1.6vw,18px);color:var(--text);line-height:1.35;margin-top:6px}
@media(max-width:760px){.comp{grid-template-columns:repeat(2,1fr);row-gap:40px}.comp figure:last-child{grid-column:1/-1}}
.wide{position:relative;max-width:1120px;margin:56px auto 0;border:1px solid var(--gold);box-shadow:0 0 0 7px var(--ink),0 0 0 8px var(--gold2),0 30px 60px rgba(0,0,0,.6);overflow:hidden}
.wide img{width:100%;display:block}
/* spells */
.spells{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:50px}
.spells article{border:1px solid var(--line);padding:34px 18px 30px;background:radial-gradient(ellipse at 50% 0%,rgba(255,200,110,.12),rgba(18,12,7,0) 70%)}
.spells h3{font-family:var(--d);font-weight:700;font-size:clamp(22px,2.4vw,30px);letter-spacing:.06em;line-height:1.1;filter:drop-shadow(0 0 16px rgba(255,200,110,.4))}
.spells .tr{font-style:italic;color:var(--gold);margin:8px 0 14px}
.spells p{font-size:18px;line-height:1.4;color:var(--paper)}
@media(max-width:860px){.spells{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.spells{grid-template-columns:1fr}}
/* rooms */
.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;text-align:left}
.room{position:relative;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;background:rgba(18,12,7,.88)}
.room img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1.2s ease}
.room:hover img{transform:scale(1.05)}
.room .t{padding:20px 20px 24px}
.room .t small{font-family:var(--d);font-weight:700;letter-spacing:.28em;color:var(--gold2);font-size:12px}
.room .t h3{font-family:var(--d);font-weight:700;font-size:clamp(20px,2vw,25px);letter-spacing:.06em;color:var(--gold);line-height:1.1;margin:6px 0 8px}
.room .t p{font-size:17px;line-height:1.4;color:var(--paper)}
.phase{font-family:var(--d);letter-spacing:.24em;color:var(--gold);font-size:13px;margin-top:8px;min-height:1.4em}
@media(max-width:860px){.rooms{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}.room img{aspect-ratio:16/11}}
/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;text-align:left}
.steps article{background:rgba(18,12,7,.82);border:1px solid var(--line);position:relative}
.steps img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(.85)}
.steps .num{position:absolute;top:14px;left:18px;font-family:var(--d);font-weight:700;font-size:40px;color:var(--gold);text-shadow:0 2px 12px #000;z-index:1}
.steps h3{font-family:var(--d);font-weight:700;letter-spacing:.12em;color:var(--gold);font-size:18px;padding:22px 24px 6px}
.steps p{padding:0 24px 26px;font-size:18px;line-height:1.45;color:var(--paper)}
@media(max-width:860px){.steps{grid-template-columns:1fr}}
/* functionality */
.feat{max-width:720px;margin:44px auto 0;text-align:left;list-style:none}
.feat li{display:flex;gap:18px;align-items:baseline;font-size:clamp(19px,2vw,24px);color:var(--paper);padding:14px 0;border-bottom:1px solid var(--line)}
.feat li::before{content:"◆";color:var(--gold);font-size:15px;flex:none}
.feat li small{color:var(--muted);font-size:.8em;margin-left:4px;white-space:nowrap}
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);max-width:960px;margin:50px auto 0}
.trust div{background:rgba(18,12,7,.88);padding:30px 22px}
.trust b{display:block;font-family:var(--d);letter-spacing:.16em;color:var(--gold);font-size:16px}
.trust span{display:block;font-size:18px;color:var(--paper);margin-top:8px;line-height:1.4}
@media(max-width:860px){.trust{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.trust{grid-template-columns:1fr}}
/* pricing */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:56px auto 0;text-align:left}
.plan{border:1px solid var(--line);background:rgba(26,17,9,.85);padding:clamp(26px,4vw,40px);position:relative}
.plan.pc{border-color:var(--gold);box-shadow:0 0 0 6px var(--ink),0 0 0 7px var(--gold2)}
.plan small.k{font-family:var(--d);font-weight:700;letter-spacing:.28em;color:var(--gold2);font-size:12px}
.plan h3{font-family:var(--d);font-weight:700;font-size:28px;letter-spacing:.08em;color:var(--gold);margin:8px 0 4px}
.plan .price{font-family:var(--d);font-size:44px;color:var(--paper)}
.plan .price span{font-family:var(--b);font-style:italic;font-size:19px;color:var(--muted)}
.plan ul{list-style:none;margin-top:18px}
.plan li{font-size:19px;padding:7px 0;display:flex;gap:12px;align-items:baseline}
.plan li::before{content:"◆";color:var(--gold);font-size:12px}
@media(max-width:760px){.plans{grid-template-columns:1fr}}
.table{max-width:860px;margin:50px auto 0;border:1px solid var(--gold);box-shadow:0 0 0 6px var(--ink),0 0 0 7px var(--gold2);text-align:left}
.table .r{display:grid;grid-template-columns:1.3fr 1fr 1fr;border-top:1px solid var(--line)}
.table .r:first-child{border-top:0}
.table .r span{padding:16px 20px;font-size:19px;color:var(--paper)}
.table .r span+span{text-align:center;color:var(--gold)}
.table .r span.m{color:var(--muted)}
.table .r.h span{font-family:var(--d);font-weight:700;letter-spacing:.14em;color:var(--gold);font-size:17px;background:rgba(224,189,114,.06)}
.table .r.h small{display:block;font-family:var(--b);font-style:italic;letter-spacing:0;color:var(--muted);font-weight:400;font-size:15px}
/* nudge */
.nudge{margin-top:clamp(60px,7vw,90px);text-align:center}
.nudge-q{font-style:italic;font-size:clamp(26px,3.2vw,38px);color:var(--paper);margin-bottom:24px}
.nudge-s{font-style:italic;color:var(--muted);font-size:18px;margin-top:16px}
/* coming */
.coming{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px;margin:50px auto 0;text-align:left}
.coming article{border:1px solid var(--line);padding:28px 24px;background:rgba(18,12,7,.8)}
.coming small{font-family:var(--d);font-weight:700;letter-spacing:.28em;color:var(--gold2);font-size:12px}
.coming h3{font-family:var(--d);font-weight:700;font-size:21px;letter-spacing:.06em;color:var(--gold);margin:8px 0 10px;line-height:1.15}
.coming p{font-size:18px;line-height:1.45;color:var(--paper)}
@media(max-width:760px){.coming{grid-template-columns:1fr}}
/* faq */
.faq{margin-top:46px;text-align:left}
.faq details{border-bottom:1px solid var(--line);background:rgba(18,12,7,.7)}
.faq summary{cursor:pointer;list-style:none;padding:22px 50px 22px 24px;font-size:clamp(20px,2.2vw,24px);color:var(--paper);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"◆";position:absolute;right:24px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:13px;transition:transform .3s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 24px 24px;font-size:19px;color:var(--text);line-height:1.55}
/* breath */
.breath{position:relative;aspect-ratio:1;border:1px solid var(--gold);box-shadow:0 0 0 7px var(--ink),0 0 0 8px var(--gold2);overflow:hidden;display:grid;place-items:center}
.breath img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.4)}
.ring{position:relative;width:40%;aspect-ratio:1;border-radius:50%;border:1.5px solid var(--gold);display:grid;place-items:center;background:radial-gradient(circle,rgba(255,210,130,.25),rgba(18,12,7,.2) 70%);box-shadow:0 0 40px rgba(255,200,110,.25);animation:box 16s ease-in-out infinite}
.ring span{font-family:var(--d);font-weight:700;letter-spacing:.2em;color:var(--paper);font-size:clamp(11px,1.3vw,15px);animation:unscale 16s ease-in-out infinite;white-space:nowrap}
@keyframes box{0%{transform:scale(1)}25%{transform:scale(1.7)}50%{transform:scale(1.7)}75%{transform:scale(1)}100%{transform:scale(1)}}
@keyframes unscale{0%{transform:scale(1)}25%{transform:scale(.59)}50%{transform:scale(.59)}75%{transform:scale(1)}100%{transform:scale(1)}}
/* roadmap */
.road{max-width:860px;margin:60px auto 0;text-align:left;position:relative;padding-left:40px}
.road::before{content:"";position:absolute;left:9px;top:10px;bottom:10px;width:1px;background:linear-gradient(180deg,var(--gold),rgba(224,189,114,.15))}
.road section{margin-bottom:clamp(50px,7vw,80px);position:relative}
.road section::before{content:"";position:absolute;left:-36px;top:12px;width:10px;height:10px;background:var(--gold);transform:rotate(45deg);box-shadow:0 0 14px rgba(255,200,110,.6)}
.road h2{font-family:var(--d);font-weight:700;font-size:clamp(26px,3.2vw,40px);letter-spacing:.08em;line-height:1.1}
.road .when{font-style:italic;color:var(--muted);margin:6px 0 20px;font-size:19px}
.road ul{list-style:none}
.road li{padding:14px 0;border-bottom:1px solid var(--line);font-size:clamp(18px,2vw,22px);color:var(--paper);display:grid;grid-template-columns:16px 1fr;column-gap:14px;align-items:baseline;line-height:1.4}
.road li::before{content:"◆";color:var(--gold);font-size:12px;flex:none}
.road li.ok::before{content:"✓";color:var(--gold);font-size:16px}
.road li small{grid-column:2;color:var(--muted);font-size:.82em;font-style:italic;margin-top:2px}
/* end / waitlist */
.end{padding:clamp(90px,12vw,140px) 0;text-align:center;position:relative;overflow:hidden}
.end::before{content:"";position:absolute;inset:0;background:url(img/chair.jpg) center/cover;filter:blur(5px) brightness(.38);transform:scale(1.06)}
.end .wrap{position:relative;z-index:1}
.end .owl{width:clamp(220px,30vw,380px);margin:0 auto -10px;filter:drop-shadow(0 22px 30px rgba(0,0,0,.7))}
.end .owl.duo{width:clamp(260px,38vw,460px)}
.end .owl.closeup{-webkit-mask-image:linear-gradient(180deg,#000 78%,transparent 100%);mask-image:linear-gradient(180deg,#000 78%,transparent 100%);margin-bottom:6px}
.end h2{font-style:italic;font-weight:400;font-size:clamp(34px,4.6vw,56px);color:var(--paper);line-height:1.12}
.corner{position:absolute;width:110px;height:110px;border:0 solid var(--gold);opacity:.8}
.corner.tl{top:36px;left:36px;border-top-width:1.5px;border-left-width:1.5px}
.corner.tr{top:36px;right:36px;border-top-width:1.5px;border-right-width:1.5px}
.corner.bl{bottom:36px;left:36px;border-bottom-width:1.5px;border-left-width:1.5px}
.corner.br{bottom:36px;right:36px;border-bottom-width:1.5px;border-right-width:1.5px}
@media(max-width:700px){.corner{width:60px;height:60px}.corner.tl,.corner.tr{top:16px}.corner.bl,.corner.br{bottom:16px}.corner.tl,.corner.bl{left:16px}.corner.tr,.corner.br{right:16px}}
.form{max-width:520px;margin:34px auto 0}
.form .row{display:flex;border:1.5px solid var(--gold);background:rgba(18,12,7,.75)}
.form input[type=email]{flex:1;min-width:0;background:transparent;border:0;color:var(--paper);font-family:var(--b);font-size:20px;padding:16px 18px;outline:none}
.form input::placeholder{color:#8a7a5a}
.form button{font-family:var(--d);font-weight:700;letter-spacing:.2em;font-size:14px;background:var(--gold);color:var(--ink);border:0;padding:0 26px;cursor:pointer}
.form button:disabled{opacity:.6;cursor:default}
.hp{position:absolute;left:-9999px}
#wl-note{min-height:1.5em;margin-top:12px;font-size:17px;color:var(--muted)}
.done{font-family:var(--d);letter-spacing:.14em;color:var(--gold);font-size:22px;margin-top:30px}
.priv{font-size:15px;color:var(--muted);margin-top:8px}
.back{font-family:var(--d);letter-spacing:.18em;font-size:14px;text-decoration:none}
footer{border-top:1px solid var(--line);padding:30px 0 40px;font-size:16px;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
footer a{color:inherit}
/* ambience button */
.amb{position:fixed;right:18px;bottom:18px;z-index:20;display:flex;align-items:center;gap:12px;font-family:var(--d);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper);background:rgba(18,12,7,.88);border:1.5px solid var(--gold);padding:12px 18px 12px 14px;cursor:pointer;backdrop-filter:blur(6px);box-shadow:0 10px 30px rgba(0,0,0,.6);transition:background .25s}
.amb:hover{background:rgba(224,189,114,.14)}
.amb .bars{display:flex;align-items:flex-end;gap:2px;height:14px;width:16px}
.amb .bars i{display:block;width:3px;background:var(--gold);height:30%;transition:height .2s}
.amb.on .bars i{animation:eq 1.1s ease-in-out infinite}
.amb.on .bars i:nth-child(2){animation-delay:.2s}.amb.on .bars i:nth-child(3){animation-delay:.45s}.amb.on .bars i:nth-child(4){animation-delay:.1s}
@keyframes eq{0%,100%{height:30%}50%{height:100%}}
.amb .lbl{white-space:nowrap}
.amb .sub{display:block;font-family:var(--b);font-weight:400;font-style:italic;letter-spacing:0;text-transform:none;font-size:14px;color:var(--muted);margin-top:2px}
@media(max-width:520px){.amb{right:12px;bottom:12px;padding:10px 14px 10px 12px;font-size:11px}.amb .sub{display:none}.hero .in{padding-bottom:calc(7vh + 44px)}}
/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.reveal.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.hero picture img,.motes i,.ring,.ring span,.amb .bars i{animation:none!important}}
html.samsung .gold{background:none!important;color:#ecc97e!important;-webkit-text-fill-color:#ecc97e!important}
/* phones: solid gold instead of gradient text (Samsung Internet renders clipped gradients dark) */
@media (max-width:900px),(hover:none),(pointer:coarse){
  .gold{background:none!important;color:#ecc97e!important;-webkit-text-fill-color:#ecc97e!important}
  .big{filter:none!important;text-shadow:0 0 22px rgba(255,200,110,.45),0 2px 10px rgba(0,0,0,.8)}
  .it.gold{text-shadow:0 2px 10px rgba(0,0,0,.9)}
}
@media (max-width:520px){
  .brand{font-size:13px;letter-spacing:.14em}
  header nav a.cta{font-size:12px;margin-left:12px}
  header nav a.keep{font-size:11px;margin-left:10px}
  .kick.bright{font-size:15px;letter-spacing:.1em}
  .hero .ctas{flex-direction:column;align-items:center}
  .hero .ctas .btn{width:min(320px,100%);text-align:center}
  .band .sub{font-size:12px;letter-spacing:.12em;line-height:1.9}
  .table .r{grid-template-columns:1.15fr 1fr 1fr}
  .table .r span{padding:11px 7px;font-size:14.5px;line-height:1.35}
  .table .r.h span{font-size:14px;letter-spacing:.08em}
  .faq summary{padding:18px 44px 18px 18px;font-size:19px}
  .faq details p{padding:0 18px 20px;font-size:17px}
  .end h2{font-size:clamp(28px,8vw,38px)}
  .awe h2{font-size:clamp(30px,8vw,40px)}
  .road{padding-left:30px}.road section::before{left:-26px}
}

/* lives */
.lives{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);max-width:1000px;margin:50px auto 0;text-align:left}
.lives article{background:rgba(18,12,7,.9);padding:26px 24px}
.lives small{font-family:var(--d);font-weight:700;letter-spacing:.26em;color:var(--gold2);font-size:11px}
.lives p{font-size:clamp(18px,1.8vw,20px);line-height:1.45;color:var(--paper);margin-top:8px}
@media(max-width:860px){.lives{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.lives{grid-template-columns:1fr}}

.end .owl.five{width:clamp(300px,46vw,560px);margin-bottom:26px}

.end .motes.soft{opacity:1}

/* a note's journey */
#journey{text-align:center}
.journey{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:26px;counter-reset:j;text-align:left}
.journey li{position:relative;background:rgba(18,12,7,.82);border:1px solid var(--line);counter-increment:j}
.journey img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.journey h3{font-family:var(--d);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-size:16px;padding:18px 20px 4px}
.journey h3::before{content:counter(j,upper-roman) " · ";color:var(--gold2)}
.journey p{padding:0 20px 20px;margin:0;font-size:18px;line-height:1.4;color:var(--paper)}
@media(max-width:900px){.journey{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:560px){.journey{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:36px -16px 0;padding:0 16px 8px}.journey li{flex:0 0 82%;scroll-snap-align:center}}

/* game screenshots gallery */
.gtabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:40px 0 28px}
.gtabs button{font-family:var(--d);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);background:rgba(18,12,7,.7);border:1px solid var(--line);padding:11px 18px;cursor:pointer;transition:.2s}
.gtabs button:hover{border-color:var(--gold)}
.gtabs button[aria-selected=true]{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:left}
.ggrid[hidden]{display:none}
.ggrid figure{margin:0;background:rgba(18,12,7,.82);border:1px solid var(--line)}
.gz{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.gz img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:filter .3s}
.gz:hover img{filter:brightness(1.12)}
.ggrid figcaption{font-style:italic;font-size:18px;color:var(--paper);padding:12px 16px 14px}
.glb{margin:auto;inset:0;max-height:92vh;overflow:auto;max-width:min(1600px,94vw);width:94vw;padding:0;border:1px solid var(--line);background:var(--ink);color:var(--paper)}
.glb::backdrop{background:rgba(5,3,2,.88)}
.glb img{display:block;width:100%;height:auto}
.glb p{margin:0;padding:12px 18px;font-style:italic;font-size:19px}
.gx{position:absolute;top:8px;right:10px;width:44px;height:44px;font-size:30px;line-height:1;color:var(--paper);background:rgba(10,6,4,.6);border:1px solid var(--line);cursor:pointer}
@media(max-width:900px){.ggrid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:560px){.ggrid{grid-template-columns:1fr}.gtabs button{padding:10px 13px;font-size:12px}}
/* reading section */
.readhero{position:relative;max-width:1120px;margin:52px auto 0;border:1px solid var(--gold);box-shadow:0 0 0 7px var(--ink),0 0 0 8px var(--gold2),0 30px 60px rgba(0,0,0,.6);overflow:hidden}
.readhero img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover;object-position:50% 45%}
.readhero figcaption,.life figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 24px 16px;background:linear-gradient(180deg,rgba(18,12,7,0),rgba(18,12,7,.92));font-style:italic;font-size:clamp(17px,1.6vw,21px);color:var(--paper);text-align:left}
.readrow{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1120px;margin:30px auto 0;text-align:left}
.readrow figure{margin:0;border:1px solid var(--line);background:rgba(18,12,7,.85)}
.readrow img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.readrow figcaption{font-style:italic;font-size:17px;color:var(--paper);padding:12px 16px 14px}
/* companions in action */
.life{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto;gap:16px;max-width:1120px;margin:52px auto 0}
.life figure{position:relative;margin:0;overflow:hidden;border:1px solid var(--line)}
.life figure.big{grid-row:span 2;border-color:var(--gold)}
.life img{display:block;width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;transition:transform 1.2s ease}
.life figure.big img{position:absolute;inset:0;aspect-ratio:auto}
.life figure.big{min-height:280px}
.life figure:hover img{transform:scale(1.04)}
.life figcaption{padding:30px 14px 10px;font-size:15px}
.life figure.big figcaption{font-size:clamp(17px,1.6vw,21px);padding:44px 22px 16px}
/* toy war */
#war .pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
#war .pair img{width:100%;aspect-ratio:16/10;object-fit:cover;border:1px solid var(--line);display:block}
@media(max-width:900px){.readrow{grid-template-columns:1fr 1fr}.readrow figure:nth-child(3){display:none}.life{grid-template-columns:1fr 1fr}.life figure.big{grid-column:span 2;grid-row:auto}.life figure.big img{position:static;aspect-ratio:16/10}}
@media(max-width:560px){.readrow{grid-template-columns:1fr}.readrow figure:nth-child(3){display:block}.readhero img{aspect-ratio:4/3}}

/* logo in header */
.brand{display:inline-flex;align-items:center;gap:12px}
.brand .mark{height:32px;width:auto;flex:none;filter:drop-shadow(0 0 6px rgba(224,189,114,.45))}
@media(max-width:520px){.brand .mark{height:24px}.brand{gap:9px}}
.brand .bt{color:var(--paper)}.brand .bt span{color:var(--gold)}
@media(max-width:440px){.brand .bt{display:none}.brand .mark{height:30px}}
.brand .mark{transform:translateY(-2px)}

/* slider */
.sl{max-width:1180px;margin:46px auto 0}
.sl-view{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--gold);box-shadow:0 0 0 7px var(--ink),0 0 0 8px var(--gold2),0 30px 70px rgba(0,0,0,.65);background:var(--ink);touch-action:pan-y}
.sl-view figure{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s ease}
.sl-view figure.on{opacity:1}
.sl-view figure img{width:100%;height:100%;object-fit:cover;transform:scale(1.035);transition:transform 7s ease}
.sl-view figure.on img{transform:scale(1)}
.sl-arr{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:58px;height:58px;border-radius:50%;border:1px solid rgba(233,200,126,.7);background:rgba(18,12,7,.55);backdrop-filter:blur(4px);color:var(--gold);cursor:pointer;display:grid;place-items:center;transition:.25s;opacity:.85}
.sl-arr span{font-family:var(--d);font-size:34px;line-height:1;margin-top:-4px}
.sl-arr:hover{background:var(--gold);color:var(--ink);opacity:1;box-shadow:0 0 24px rgba(233,200,126,.5)}
.sl-arr.prev{left:18px}.sl-arr.next{right:18px}
.sl-count{position:absolute;top:16px;right:18px;z-index:2;font-family:var(--d);font-weight:700;font-size:12px;letter-spacing:.2em;color:var(--paper);background:rgba(18,12,7,.6);padding:5px 10px;border:1px solid var(--line)}
.sl-caps{position:relative;min-height:3.4em;margin-top:22px}
.sl-caps p{position:absolute;inset:0;margin:0;opacity:0;transform:translateY(6px);transition:opacity .6s ease,transform .6s ease;font-style:italic;font-size:clamp(19px,1.9vw,24px);color:var(--paper)}
.sl-caps p.on{opacity:1;transform:none}
.sl-caps time{display:block;font-style:normal;font-family:var(--d);font-weight:700;letter-spacing:.24em;font-size:14px;color:var(--gold);margin-bottom:6px}
.night-sl .sl-caps{min-height:4.6em}
.sl-thumbs{display:flex;justify-content:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.sl-thumbs button{width:92px;aspect-ratio:16/10;padding:0;border:1px solid var(--line);background:none;cursor:pointer;opacity:.45;transition:.3s;overflow:hidden}
.sl-thumbs button img{width:100%;height:100%;object-fit:cover;display:block}
.sl-thumbs button:hover{opacity:.8}
.sl-thumbs button[aria-current=true]{opacity:1;border-color:var(--gold);box-shadow:0 0 0 2px var(--ink),0 0 0 3px var(--gold2)}
@media(max-width:560px){.sl-view{aspect-ratio:4/3}.sl-arr{width:44px;height:44px}.sl-arr span{font-size:28px}.sl-arr.prev{left:8px}.sl-arr.next{right:8px}.sl-thumbs button{width:58px}.night-sl .sl-caps{min-height:6em}}

/* roadmap pictures */
.roadpic{position:relative;margin:18px 0 24px;border:1px solid var(--gold);box-shadow:0 0 0 6px var(--ink),0 0 0 7px var(--gold2),0 24px 50px rgba(0,0,0,.55);overflow:hidden}
.roadpic img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover}
.roadpic figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 12px;background:linear-gradient(180deg,rgba(18,12,7,0),rgba(18,12,7,.9));font-style:italic;font-size:17px;color:var(--paper)}
/* the garrison parade */
.parade-head{text-align:center;margin:84px auto 22px;max-width:760px;padding:0 16px}
.parade-head .copy{margin-top:8px}
.parade{position:relative;overflow:hidden;border-top:1px solid var(--gold2);border-bottom:1px solid var(--gold2);background:#3a3129;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.parade-track{width:max-content;animation:parade 48s ease-in-out infinite alternate}
.parade-track img{display:block;height:clamp(220px,26vw,380px);width:auto}
.parade:hover .parade-track{animation-play-state:paused}
@keyframes parade{from{transform:translateX(0)}to{transform:translateX(calc(100vw - 100%))}}
@media(prefers-reduced-motion:reduce){.parade{overflow-x:auto}.parade-track{animation:none}}
.rooms.four{grid-template-columns:repeat(2,1fr)}
.rooms.four .room img{aspect-ratio:16/10}
@media(max-width:560px){.rooms.four{grid-template-columns:1fr}}
