@font-face{font-family:Anton;src:url('assets/anton-regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/dm-sans-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/dm-sans-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--forest:#10221c;--deep:#0b211b;--white:#fffaf0;--coral:#ee8068;--gold:#dec38a;--lime:#c5f58c;--lime-edge:#8fbf58;--muted:#46584e;--line:#dcd9c8;--hand:'Segoe Print','Bradley Hand','Chalkboard SE','Marker Felt',cursive}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--white);color:var(--forest);font:400 19px/1.55 'DM Sans',Arial,sans-serif}
img,video,canvas{display:block;max-width:100%;height:auto}
h1,h2,h3{margin:0;font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.005em}
h2{font-size:clamp(40px,6.4vw,72px);line-height:1.06}
h2 em{color:var(--coral);font-style:normal}
p{margin:0}
section{position:relative}
.forest{background-color:var(--forest);background-image:url('assets/grain.png'),url('assets/arcs.svg'),radial-gradient(70% 60% at 50% 30%,#23503f 0,transparent 70%),radial-gradient(40% 40% at 88% 80%,#dec38a1a 0,transparent 70%);background-size:220px,1440px 960px,auto,auto;background-position:0 0,center top,0 0,0 0;color:var(--white)}

/* Announcement */
.news{display:flex;align-items:stretch;background:var(--deep);color:var(--white);border-bottom:1px solid #dec38a66}
.news-tab{display:flex;align-items:center;padding:7px 14px;background:var(--coral);color:var(--deep);font:400 17px/1.1 Anton,Impact,sans-serif;letter-spacing:.05em;white-space:nowrap}
.news p{display:flex;align-items:center;padding:7px 14px;font-size:17px;font-weight:700;line-height:1.25}
.top{display:flex;justify-content:center;padding:10px 16px;background:var(--white)}
.top img{width:190px}

/* Hero */
.hero{padding:clamp(20px,3vw,40px) 16px clamp(40px,5vw,64px);overflow:hidden;text-align:center}
.mark{position:absolute;width:26px;height:26px;opacity:.55;pointer-events:none;background:linear-gradient(var(--gold),var(--gold)) center/100% 1px no-repeat,linear-gradient(var(--gold),var(--gold)) center/1px 100% no-repeat}
.mark-a{top:22px;left:22px}
.mark-b{top:22px;right:22px}
h1{font-size:clamp(54px,14.6vw,132px);line-height:1}
.h-top,.h-strip{display:block}
.h-top{margin-top:.12em;font-size:.62em}
.h-strip{position:relative;width:max-content;max-width:100%;margin:.06em auto 0;padding:.08em .22em .1em;background:url('assets/brush.svg') center/100% 100% no-repeat;color:var(--forest);transform:rotate(-1.4deg)}
.scribble{position:absolute;inset:-14% -5%;width:110%;height:128%;overflow:visible;fill:none;pointer-events:none}
.scribble path{stroke:var(--coral);stroke-width:5;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.1s .3s ease-out forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.lead{max-width:27em;margin:16px auto 0;font-size:clamp(19px,2.1vw,23px);line-height:1.4}

.stage-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:22px;align-items:center;max-width:1020px;margin:24px auto 0}
.vsl{position:relative;aspect-ratio:16/9;border-radius:6px;background:var(--deep);box-shadow:0 26px 60px #00000080}
.vsl video{width:100%;height:100%;border-radius:6px;background:#000}
.vsl-poster{position:absolute;inset:0;display:grid;grid-template-columns:46% 1fr;overflow:hidden;border-radius:6px;background:linear-gradient(120deg,#0b211b,#1d4537);text-align:left}
.vsl-poster>img{width:100%;height:100%;object-fit:cover;object-position:50% 14%}
.vsl-words{align-self:center;padding:14px clamp(14px,3vw,34px)}
.note{font-family:var(--hand);color:var(--gold);font-size:clamp(17px,2vw,22px);line-height:1.2}
.vsl-name{font:400 clamp(30px,4.6vw,56px)/1.04 Anton,Impact,sans-serif;text-transform:uppercase}
.vsl-state{margin-top:8px;font-size:clamp(16px,1.6vw,18px);line-height:1.35}
.vsl-state a{color:var(--lime);font-weight:700}
.vsl-play{appearance:none;display:grid;place-items:center;width:76px;height:76px;margin-top:12px;border:0;border-radius:50%;background:var(--lime);cursor:pointer;transition:transform .15s}
.vsl-play:hover{transform:scale(1.06)}
.vsl-play span{width:0;height:0;margin-left:6px;border-left:24px solid var(--forest);border-block:15px solid transparent}
.corner{position:absolute;width:22px;height:22px;border:2px solid var(--gold);pointer-events:none}
.c1{top:-9px;left:-9px;border-right:0;border-bottom:0}.c2{top:-9px;right:-9px;border-left:0;border-bottom:0}.c3{bottom:-9px;left:-9px;border-right:0;border-top:0}.c4{bottom:-9px;right:-9px;border-left:0;border-top:0}

.proof-side{display:grid;gap:14px;text-align:left}
.cared{font:400 clamp(26px,3vw,32px)/1.12 Anton,Impact,sans-serif;text-transform:uppercase;color:var(--gold)}
.badge{display:grid;gap:5px;justify-items:start;padding:12px 14px;border-radius:10px;background:var(--white);color:var(--forest);text-decoration:none}
.badge .ti{width:112px}
.badge-row{display:flex;align-items:center;gap:8px}
.badge-row img{width:66px}
.stars{color:#f5a70f;letter-spacing:.04em}
.badge-text{font-size:16px;font-weight:700;line-height:1.25}

.next{max-width:520px;margin:30px auto 0}
.next p{margin-top:14px;font-size:18px}

/* Buttons */
.btn{appearance:none;position:relative;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:58px;margin-top:12px;padding:12px 20px;overflow:hidden;border:2px solid var(--forest);border-radius:12px;background:transparent;color:var(--forest);font:700 19px/1.2 'DM Sans',Arial,sans-serif;text-align:center;text-decoration:none;cursor:pointer;transition:transform .13s ease-out,box-shadow .13s ease-out,background .15s,color .15s}
.btn.light{border-color:var(--white);color:var(--white)}
.btn.line:hover{background:var(--forest);color:var(--white)}
.btn.line.light:hover{background:var(--white);color:var(--forest)}
.btn.go{min-height:72px;border:0;background:var(--lime);color:var(--forest);font-size:23px;box-shadow:0 6px 0 var(--lime-edge)}
.btn.go i{font-style:normal;font-size:27px;transition:transform .15s ease-out}
.btn.go::after{content:"";position:absolute;top:-30%;bottom:-30%;left:-45%;width:30%;background:linear-gradient(100deg,transparent,#ffffffc7,transparent);transform:skewX(-18deg)}
.btn.go:hover:not(:disabled),.btn.go:focus-visible{transform:translateY(-2px);box-shadow:0 8px 0 var(--lime-edge)}
.btn.go:hover:not(:disabled) i,.btn.go:focus-visible i{transform:translateX(4px)}
.btn.go:hover:not(:disabled)::after,.btn.go:focus-visible::after{left:125%;transition:left .6s ease-out}
.btn.go:active:not(:disabled){transform:translateY(5px);box-shadow:0 1px 0 var(--lime-edge)}
.btn.go:disabled{background:#dfe3d5;box-shadow:none;color:#596a5f;cursor:not-allowed}
.hero .btn.go{animation:hello .7s .9s ease-out both}
@keyframes hello{0%{transform:scale(.97);opacity:.6}60%{transform:scale(1.02);opacity:1}100%{transform:none}}
.link-btn{appearance:none;min-height:44px;padding:6px 2px;border:0;background:none;color:var(--forest);font:700 17px/1.2 'DM Sans',Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px}

/* Explainer */
.preview{padding:clamp(44px,6vw,76px) 16px;background:var(--white) url('assets/grain.png');text-align:center}
.explain{position:relative;max-width:1000px;margin:0 auto}
.peek{position:absolute;top:-30px;right:0;width:130px;transform:translateY(40px);opacity:0;transition:transform .6s cubic-bezier(.2,1.2,.4,1),opacity .4s}
.in-view .peek,.peek.in{transform:none;opacity:1}
.panels{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0 0;padding:0;list-style:none}
.panels h3{margin-top:10px;font-size:28px}
.panel-art{display:flex;align-items:center;justify-content:center;height:220px;overflow:hidden;border-radius:14px;background:var(--forest) url('assets/grain.png')}
.art-choose{flex-direction:column;gap:10px}
.art-choose span{width:70%;padding:9px;border:2px solid #fffaf066;border-radius:10px;color:var(--white);font-weight:700}
.art-choose .on{border-color:var(--lime);background:var(--lime);color:var(--forest)}
.phone{position:relative;width:128px;height:206px;padding:7px;border-radius:20px;background:#000;box-shadow:0 0 0 2px #dec38a}
.phone img{width:100%;height:100%;border-radius:14px;object-fit:cover}
.phone b{position:absolute;left:20%;right:20%;top:40%;height:21%;border:3px solid var(--lime);border-radius:6px}
.art-compare{gap:4px;padding:14px}
.art-compare img{width:50%;height:100%;border-radius:8px;object-fit:cover}
.example-note{margin:14px auto 18px;max-width:34em;font-size:16px;color:var(--muted)}
.explain .btn.go{max-width:420px;margin-inline:auto}

/* Survey */
.survey{max-width:620px;margin:0 auto;padding:clamp(16px,3vw,26px);border:1px solid var(--line);border-top:5px solid var(--lime);border-radius:14px;background:#fff;box-shadow:0 18px 44px #10221c24;text-align:left}
.survey-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.count{font-size:16px;font-weight:700;color:var(--muted)}
.bar{height:8px;margin:6px 0 16px;overflow:hidden;border-radius:9px;background:#e7e8dc}
.bar i{display:block;width:10%;height:100%;border-radius:9px;background:var(--coral);transition:width .3s ease-out}
.notice{margin-bottom:12px;padding:10px 12px;border-radius:10px;background:#fbeee8;font-size:16px}
.q h2{font-size:clamp(30px,5.4vw,40px);line-height:1.1}
.q>p,.q [data-sp]>p{margin-top:10px}
.q{animation:qin .28s ease-out;outline:none}
@keyframes qin{from{opacity:0;transform:translateX(14px)}}
.hint{color:var(--muted);font-size:17px}
.sub-q{margin-top:18px;font-weight:700}
.pics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.pics label,.opts label{position:relative;cursor:pointer}
.pics input,.opts input{position:absolute;opacity:0}
.pics span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:150px;padding:10px;border:2px solid var(--line);border-radius:12px;font-size:20px;font-weight:700;text-align:center;transition:transform .12s,border-color .12s,background .12s}
.pics img{width:120px}
.opts{display:grid;gap:10px;margin-top:14px}
.opts.two{grid-template-columns:1fr 1fr}
.opts span{display:flex;align-items:center;min-height:58px;padding:10px 16px;border:2px solid var(--line);border-radius:12px;font-size:19px;font-weight:700;transition:transform .12s,background .12s}
.pics label:hover span,.opts label:hover span{transform:translateY(-2px)}
.pics input:checked+span,.opts input:checked+span{border-color:var(--forest);background:var(--lime)}
.pics input:focus-visible+span,.opts input:focus-visible+span{outline:3px solid var(--coral);outline-offset:2px}
.row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.row .btn{margin-top:0;padding-inline:6px;font-size:17px}
.field{display:block;margin-top:14px;font-weight:700}
.field small{display:block;font-size:16px;font-weight:400;color:var(--muted)}
.field input,.field textarea{display:block;width:100%;min-height:54px;margin-top:6px;padding:10px 12px;border:2px solid var(--line);border-radius:10px;background:#fff;color:var(--forest);font:400 19px/1.3 'DM Sans',Arial,sans-serif}
.tel-row{display:flex;align-items:stretch;gap:8px;margin-top:6px}
.tel-row input{margin-top:0}
.cc{display:flex;align-items:center;padding:0 12px;border-radius:10px;background:#e7e8dc;font-weight:700}
.agree{display:grid;grid-template-columns:28px 1fr;gap:12px;margin-top:16px;font-size:17px;line-height:1.4;cursor:pointer}
.agree input{width:26px;height:26px;margin:0;accent-color:var(--forest)}
.fine{margin-top:12px;font-size:16px;line-height:1.4;color:var(--muted)}
.fine.light{color:#d7ddd0}
.status,.vstate{margin-top:10px;font-size:17px;font-weight:700}
.status:empty,.vstate:empty{display:none}
.vstate.bad{color:#b23a20}
.vstate.good{color:#2d6a3f}
.summary{margin:12px 0 0;padding:0;list-style:none}
.summary li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:18px}
.summary b{text-align:right}
.receipt{margin-top:12px;padding:10px 12px;border-radius:10px;background:#eef6e2;font-size:17px}
.receipt.warn{background:#fbeee8}
.next-btn{margin-top:20px}
.live{position:relative;overflow:hidden;margin-top:12px;border-radius:12px;background:var(--forest);aspect-ratio:1}
.live video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}
.guide{position:absolute;inset:20%;border:4px solid var(--lime);border-radius:12px;box-shadow:0 0 0 2000px #10221c80}
.stage{position:relative;overflow:hidden;margin-top:12px;border-radius:12px;background:var(--forest);touch-action:none;cursor:pointer;user-select:none}
.stage canvas{width:100%}
.square{position:absolute;border:4px solid var(--lime);border-radius:10px;box-shadow:0 0 0 2000px #10221c80;pointer-events:none}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.pair .btn{margin-top:0;font-size:17px}
.sides{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.sides figure{margin:0}
.sides canvas{width:100%;border-radius:10px}
.sides figcaption{margin-top:6px;text-align:center;font-size:16px;font-weight:700}

/* Gallery */
.gallery{padding:clamp(44px,6vw,76px) 0}
.gallery-head{display:grid;grid-template-columns:1fr auto;gap:6px 20px;align-items:end;max-width:1160px;margin:0 auto;padding:0 16px}
.gallery-head p{grid-column:1}
.nav-btns{grid-column:2;grid-row:1/3;display:flex;align-items:center;gap:10px;font-weight:700}
.round{appearance:none;width:52px;height:52px;border:2px solid currentcolor;border-radius:50%;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer;transition:background .15s,color .15s}
.round:hover{background:var(--white);color:var(--forest)}
.track{display:flex;gap:18px;margin-top:22px;padding:6px max(16px,calc(50vw - 564px)) 14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.track figure{flex:0 0 min(620px,88vw);margin:0;scroll-snap-align:center}
.track button{appearance:none;display:block;width:100%;padding:0;border:0;border-radius:12px;background:none;cursor:zoom-in}
.track img{width:100%;max-height:74vh;border-radius:12px;object-fit:contain;background:#000}
.track figcaption{margin-top:8px;font-size:17px}
.track figcaption b{margin-right:8px;color:var(--lime)}
.gallery>.fine{max-width:1160px;margin:6px auto 0;padding:0 16px}
.zoom{width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:0;padding:10px;border:0;background:#000000eb;color:#fff}
.zoom::backdrop{background:#000}
.zoom img{width:100%;height:100%;object-fit:contain}
.zoom .round{position:absolute;top:10px;right:10px;background:#000}

/* Story */
.story{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(24px,5vw,64px);align-items:center;padding:clamp(48px,7vw,92px) max(16px,calc(50vw - 540px));background:var(--white) url('assets/grain.png')}
.story-main p{max-width:32em;margin-top:14px}
.big-quote{font:400 clamp(30px,4.4vw,46px)/1.16 Anton,Impact,sans-serif;text-transform:uppercase;color:var(--forest)}
.story-main .big-quote{margin-top:22px;padding-left:16px;border-left:5px solid var(--coral)}
.talk{display:grid;gap:10px;margin:22px 0 0;padding:0;list-style:none}
.talk li{padding:10px 0;border-bottom:1px solid var(--line)}
.talk b{display:block}
.story-pic{margin:0;transform:rotate(1.6deg)}
.story-pic img{width:100%;padding:8px 8px 36px;border-radius:4px;background:#fff;box-shadow:0 18px 40px #10221c33}
.story-pic figcaption{margin-top:-30px;text-align:center;color:var(--forest)}

/* Visit */
.visit{display:grid;grid-template-columns:1fr 340px;gap:clamp(24px,5vw,60px);align-items:center;padding:clamp(48px,6vw,84px) max(16px,calc(50vw - 500px))}
.asks{display:grid;gap:8px;margin:22px 0 0;padding:0;list-style:none}
.asks li{font-family:var(--hand);color:var(--gold);font-size:clamp(21px,2.6vw,27px);line-height:1.25}
.film{overflow:hidden;border:2px solid var(--gold);border-radius:14px;background:#000}
.film video{width:100%}

/* Reviews */
.wall{padding:clamp(48px,6vw,84px) 16px;background:#f3efe2 url('assets/grain.png')}
.wall-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;max-width:1160px;margin:0 auto}
.badge.dark{background:#fff;box-shadow:0 6px 16px #10221c1a}
.wall-grid{columns:3 310px;column-gap:18px;max-width:1160px;margin:24px auto 0}
.quote{display:inline-block;width:100%;margin:0 0 18px;padding:20px;border-radius:12px;background:#fff;box-shadow:0 8px 20px #10221c14;break-inside:avoid}
.quote header{display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:center;margin-bottom:8px}
.quote .face,.quote .letter{width:46px;height:46px;border-radius:50%;object-fit:cover}
.quote .letter{display:grid;place-items:center;background:var(--forest);color:#fff;font-weight:700}
.quote strong{display:block;font-size:18px;line-height:1.2}
.quote .stars{font-size:15px}
.quote .ctx{margin-bottom:6px;font-size:15px;font-weight:700;color:#a4482f}
.quote p{font-size:18px;line-height:1.5}
.quote p+p{margin-top:10px}
.quote .src{display:flex;align-items:center;gap:6px;margin-top:10px;color:#5f6b64;font-size:15px}
.quote .src img{width:50px}
.wall>.fine{max-width:1160px;margin:6px auto 0}

/* Questions */
.worries{padding:clamp(48px,6vw,84px) 16px;background:var(--white) url('assets/grain.png')}
.worries h2{max-width:1000px;margin:0 auto}
.worry-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;align-items:start;max-width:1000px;margin:22px auto 0}
.worry-grid details{border:1px solid var(--line);border-radius:12px;background:#fff}
.worry-grid summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px;padding:10px 16px;font-weight:700;cursor:pointer;list-style:none}
.worry-grid summary::-webkit-details-marker{display:none}
.worry-grid summary::after{content:"+";font-size:30px;line-height:1;color:var(--coral);transition:transform .15s}
.worry-grid details[open] summary::after{transform:rotate(45deg)}
.worry-grid details p{padding:0 16px 16px}

.last{padding:clamp(50px,7vw,90px) 16px;overflow:hidden;text-align:center}
.last>*{max-width:520px;margin-inline:auto}
.last h2{max-width:800px}
.peek-last{width:150px;margin-bottom:6px}
.last .btn.go{margin-top:24px}
.last .btn.line{margin-top:16px}
.foot{padding:26px 16px 90px;background:var(--white);text-align:center;font-size:17px}
.foot img{width:170px;margin:0 auto 8px}
.foot a{color:var(--forest);font-weight:700}

.review-x{appearance:none;position:absolute;top:2px;right:2px;width:44px;height:44px;border:0;background:none;color:#5f6b64;font-size:24px;line-height:1;cursor:pointer}
.keep{position:fixed;z-index:15;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:center;padding:9px 14px;background:var(--deep);border-top:2px solid var(--gold);color:var(--white)}
.keep-title{font-size:16px;font-weight:700;line-height:1.25}
.keep-meta{display:flex;flex-wrap:wrap;gap:0 14px;font-size:16px;color:var(--gold)}
.keep-meta b{color:var(--white);letter-spacing:.06em}
.keep-acts{grid-column:2;grid-row:1/3;display:flex;gap:8px}
.btn.small{width:auto;min-height:46px;margin:0;padding:8px 14px;font-size:16px;box-shadow:none}
.btn.go.small{box-shadow:0 3px 0 var(--lime-edge)}
body.has-keep .activity{bottom:96px}
body.has-keep .foot{padding-bottom:130px}

/* Gift */
.gift{position:fixed;z-index:40;inset:0;display:flex;flex-direction:column;align-items:center;overflow:auto;background:#000;color:var(--white);animation:fade .25s ease-out}
@keyframes fade{from{opacity:0}}
.chest{position:relative;flex:0 0 auto;width:min(100%,calc(58dvh*.8036));aspect-ratio:900/1120;background:radial-gradient(70% 60% at 50% 45%,#23503f,#000);overflow:hidden}
.chest img,.chest video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.chest-box{transform-origin:50% 72%;animation:burst 2.2s ease-in-out infinite}
@keyframes burst{0%,52%,100%{transform:none}56%{transform:rotate(-1.7deg) translateY(-3px)}60%{transform:rotate(1.9deg) translateY(1px)}64%{transform:rotate(-1.5deg) translateY(-4px)}68%{transform:rotate(1.3deg)}72%{transform:rotate(-.9deg) translateY(-2px)}76%{transform:rotate(.6deg)}80%{transform:none}}
.chest.calm .chest-box,.chest.opening .chest-box{animation:none}
.chest-film{opacity:0;background:transparent}
.chest.film-on .chest-film{opacity:1}
.chest.film-on .chest-box,.chest.still-on .chest-box{visibility:hidden}
.gift.has-card .chest{width:min(100%,calc(30dvh*.8036))}
.gift.has-card .chest video,.gift.has-card .chest img{object-position:50% 0}
.gift-panel{flex:1 0 auto;width:min(480px,100%);padding:6px 16px 18px;text-align:center}
.gift-micro{margin-top:14px;font-size:18px}
.link-btn.light{color:var(--white)}
.gift-wait{padding-top:10px;font-weight:700}
.gift-x{appearance:none;position:absolute;z-index:3;top:10px;right:10px;width:54px;height:54px;border:2px solid #fff;border-radius:50%;background:#000000b3;color:#fff;font-size:30px;line-height:1;cursor:pointer}
.offer{animation:panelup .4s ease-out}
@keyframes panelup{from{opacity:0;transform:translateY(14px)}}
.review-tag{display:inline-block;margin-bottom:6px;padding:2px 10px;border-radius:6px;background:var(--coral);color:var(--deep);font-size:15px;font-weight:700}
.offer h2{font-size:clamp(28px,7.6vw,38px);line-height:1.08;color:var(--gold)}
.offer-sub{font-size:18px;font-weight:700}
.code-label{margin-top:8px;font-size:16px}
.code-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch;margin-top:4px}
.code{position:relative;display:block;overflow:hidden;padding:8px 6px;border:2px solid var(--gold);border-radius:10px;background:#0b211b;font:400 clamp(32px,9vw,42px)/1.1 Anton,Impact,sans-serif;letter-spacing:.06em;user-select:all}
.code.shine::after{content:"";position:absolute;top:-30%;bottom:-30%;left:-40%;width:34%;background:linear-gradient(100deg,transparent,#fff5d6d9,transparent);transform:skewX(-18deg);animation:sweep .9s ease-out forwards}
@keyframes sweep{to{left:130%}}
.btn.copy{width:auto;min-height:0;margin:0;padding:6px 12px;font-size:16px}
.copy-state{min-height:0;font-size:16px;color:var(--lime)}
.copy-state:empty{display:none}
.offer-note{margin-top:6px;font-size:16px;line-height:1.3}
.offer-time{margin-top:6px;font-size:17px;font-weight:700;color:var(--gold);line-height:1.3}
.offer .btn.go{min-height:60px;margin-top:10px}
.terms{margin-top:8px;text-align:left;font-size:16px}
.terms summary{cursor:pointer;text-align:center;text-decoration:underline}
.terms p{margin-top:6px;line-height:1.35}
@media (min-aspect-ratio:1/1){
  .gift{flex-direction:row;justify-content:center;gap:32px;align-items:center}
  .chest,.gift.has-card .chest{width:auto;height:100dvh}
  .gift.has-card .chest video,.gift.has-card .chest img{object-position:center}
  .gift-panel{flex:0 1 440px}
}

/* Sections settle in as they arrive */
.js .rise{opacity:0;transform:translateY(24px);transition:opacity .5s ease-out,transform .5s ease-out}
.js .rise.in{opacity:1;transform:none}

@media (max-width:860px){
  .stage-grid{grid-template-columns:1fr;gap:14px}
  .proof-side{grid-template-columns:1fr 1fr;align-items:center;order:2}
  .panels{grid-template-columns:1fr}
  .panel-art{height:190px}
  .peek{display:none}
  .story,.visit{grid-template-columns:1fr}
  .story-pic{max-width:320px;margin:0 auto}
  .film{max-width:340px;margin:0 auto}
  .worry-grid{grid-template-columns:1fr}
}
@media (max-width:520px){
  body{font-size:18px}
  .news-tab{font-size:15px;padding:6px 9px}
  .news p{padding:6px 10px;font-size:15px}
  .top{padding:6px 16px}
  .top img{width:140px}
  .hero{padding-top:14px}
  .mark{display:none}
  .lead{margin-top:10px;font-size:18px}
  .stage-grid{margin-top:16px}
  .vsl-name{font-size:28px}
  .vsl-state{font-size:16px}
  .proof-side{gap:10px}
  .cared{font-size:21px}
  .badge{padding:8px 10px}
  .badge .ti{width:88px}
  .badge-row img{width:50px}
  .badge .stars{font-size:13px}
  .badge-text{font-size:14px}
  .next{margin-top:18px}
  .row{grid-template-columns:1fr}
  .opts.two{grid-template-columns:1fr}
  .review{max-height:42vh}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero .btn.go,.q,.gift,[data-gift-card]{animation:none}
  .scribble path{animation:none;stroke-dashoffset:0}
  .js .rise{opacity:1;transform:none;transition:none}
  .btn,.peek,.bar i{transition:none}
  .peek{opacity:1;transform:none}
  .btn.go::after{display:none}
}

.offer-bar{margin-bottom:12px;padding:8px 12px;border-left:4px solid var(--gold);background:#10221c;color:var(--white);font-size:16px;font-weight:700}
.gallery-cta{max-width:460px;margin:22px auto 0;padding:0 16px;text-align:center}
.gallery-cta p{margin-top:12px}
.story-cta{max-width:420px;margin-top:24px}
.wall-cta{max-width:420px;margin:18px auto 0}
.source-link{color:var(--forest);font-weight:700}
.travel{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,4vw,48px);align-items:center;padding:clamp(40px,6vw,72px) max(16px,calc(50vw - 520px));background:#f3efe2 url('assets/grain.png')}
.travel h2{font-size:clamp(34px,5vw,54px)}
.travel h2 em{color:#6950a1}
.travel-copy p{margin-top:12px}
.address{font-size:18px}
.travel-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:12px}
.travel-links a{color:var(--forest);font-weight:700}
.line-map{margin:0;padding:16px;border-radius:12px;background:#fff}
.line-map svg{display:block;width:100%;height:auto}
.line-map line{stroke:#6950a1;stroke-width:8;stroke-linecap:round}
.line-map circle{fill:#fff;stroke:#6950a1;stroke-width:4}
.line-map circle.here{fill:var(--lime);stroke:var(--forest);stroke-width:5}
.line-map text{font:700 17px 'DM Sans',Arial,sans-serif;fill:var(--forest)}
.line-map text.here-t{font-size:22px}
.line-map figcaption{margin-top:6px;font-size:15px;color:var(--muted)}
.last>p{margin-top:12px}
.activity{position:fixed;z-index:19;left:16px;bottom:16px;width:min(340px,calc(100vw - 32px));padding:12px 40px 12px 14px;border-left:4px solid var(--gold);border-radius:10px;background:#fff;color:var(--forest);box-shadow:0 12px 30px #10221c40;font-size:16px;font-weight:700}
@media (max-width:860px){.travel{grid-template-columns:1fr}}
@media (max-width:640px){
  .keep{grid-template-columns:1fr}
  .keep-acts{grid-column:1;grid-row:auto;margin-top:6px}
  .keep-acts .btn{flex:1}
  body.has-keep .activity{bottom:130px}
  body.has-keep .foot{padding-bottom:170px}
}
@media (max-height:700px) and (max-aspect-ratio:1/1){
  .gift.has-card .chest{width:min(100%,calc(22dvh*.8036))}
  .offer-note{font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  .chest-box,.offer,.code.shine::after{animation:none}
  .code.shine::after{display:none}
}
.h-strip{white-space:nowrap;font-size:min(1em,11.2vw)}
.h-top{font-size:min(.62em,9.6vw)}

/* The form is its own full screen. Nothing else on the page mixes with it. */
.survey{position:fixed;z-index:30;inset:0;max-width:none;margin:0;padding:10px max(16px,calc(50vw - 280px)) 28px;overflow-y:auto;border:0;border-top:5px solid var(--lime);border-radius:0;background:#fff;box-shadow:none}
body.in-survey{overflow:hidden}
body.in-survey .keep,body.in-survey .activity{display:none}
.q h2{font-size:clamp(30px,8vw,40px)}
.opts span{min-height:64px;font-size:20px}
.pics span{min-height:136px}
.pics .plain-pic{font-size:18px}
.link-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin-top:8px}
.link-btn:disabled{color:var(--muted);text-decoration:none}
.more{margin-top:12px;font-size:17px}
.more summary{cursor:pointer;color:var(--muted);text-decoration:underline}
.summary li{padding:6px 0;font-size:17px}
.next-btn{position:sticky;bottom:8px;z-index:2}
.badge .ti{height:auto;min-height:18px}

/* Slim offer bar */
.keep{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 12px}
.keep[hidden]{display:none}
.keep-view{appearance:none;flex:1;min-width:0;min-height:46px;padding:0;border:0;background:none;color:var(--white);font:inherit;text-align:left;cursor:pointer}
.keep-title{display:block;overflow:hidden;font-size:15px;font-weight:700;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}
.keep-meta{display:block;font-size:15px;color:var(--gold);line-height:1.3}
.keep-meta b{letter-spacing:.05em}
.keep .btn.small{flex:0 0 auto;margin:0}
body.has-keep .foot{padding-bottom:84px}
body.has-keep .activity{bottom:72px}
/* Real patient beside the 1,000 line */
.cared-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}
.patient{width:84px;height:84px;border:3px solid var(--gold);border-radius:50%;object-fit:cover}
@media (min-width:861px){.cared-row{grid-template-columns:1fr}.patient{width:150px;height:150px}}
@media (max-width:860px){.proof-side{grid-template-columns:1fr}}
@media (max-width:520px){.patient{width:64px;height:64px}.cared{font-size:21px}.proof-side .badge{grid-template-columns:auto 1fr;align-items:center;gap:2px 10px}.proof-side .badge .ti{grid-column:1/3}}
.stage{width:fit-content;max-width:100%;margin-inline:auto}
.stage canvas{width:auto;max-width:100%;max-height:44dvh}
.badge .ti{box-sizing:content-box;padding:4px 8px;border-radius:6px;background:var(--forest)}
