/* Laura & Caio — rústico no celeiro, Tiradentes (MG).
   Madeira de demolição, vinho, eucalipto, palha e a luz âmbar das luzinhas.
   Layout: portas do celeiro (rolagem) → capa → folhinha → Maria-Fumaça → carretéis → mapa → postais → quadro do armazém → caderneta → varal de luzes. */
:root{
  --noite:#211812; --noite2:#2C211A; --madeira:#6B5644; --mel:#B08A5B; --palha:#D9C7A7; --linho:#F3ECDF; --papel:#FBF7EF; --kraft:#E6D8BF;
  --vinho:#7A2E32; --vinho2:#5E2126; --eucalipto:#8A9A7B; --ardosia:#4E5A6B; --ambar:#F4B860; --tinta:#2A211B; --texto:#5A4C40;
  --linha:rgba(42,33,27,.16);
  --serif:"Young Serif", Georgia, "Times New Roman", serif;
  --mao:"La Belle Aurore", "Bradley Hand", cursive;
  --sans:"Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  --top-h:70px;
  --wrap:min(1140px, calc(100% - 40px));
  color-scheme:light;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{background:var(--linho);color:var(--tinta);font:400 17px/1.65 var(--sans);overflow-x:hidden;text-wrap:pretty}
[hidden]{display:none!important}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit;color:inherit}
h1,h2,h3{font-weight:400;text-wrap:balance}
a{color:inherit}
.wrap{width:var(--wrap);margin-inline:auto}
.nw{white-space:nowrap}
:focus-visible{outline:2px solid var(--vinho);outline-offset:3px}

/* ---------- tipografia ---------- */
.h2{font:400 clamp(38px,5vw,66px)/1.05 var(--serif);color:var(--tinta);letter-spacing:-.01em}
.h2--light{color:var(--linho)}
.lede{max-width:56ch;margin-top:20px;color:var(--texto);font-size:clamp(16.5px,1.25vw,18.5px)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:0;border-radius:999px;padding:15px 30px;font:600 13px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:transform .3s ease, box-shadow .3s ease, background .3s}
.btn--amber{background:var(--ambar);color:var(--noite);box-shadow:0 0 0 0 rgba(244,184,96,.55),0 14px 30px -14px rgba(0,0,0,.6);animation:pulse 2.8s ease-in-out infinite}
.btn--amber:hover{transform:translateY(-2px);background:#f7c57a}
.btn--ink{background:var(--vinho);color:var(--linho)}
.btn--ink:hover{background:var(--vinho2);transform:translateY(-1px)}
.btn--wide{width:100%}
.btn:active{transform:scale(.98)}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(244,184,96,.5),0 14px 30px -14px rgba(0,0,0,.6)}50%{box-shadow:0 0 0 12px rgba(244,184,96,0),0 14px 30px -14px rgba(0,0,0,.6)}}
.lnk{position:relative;border:0;background:none;padding:0 0 5px;font:600 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--vinho);border-bottom:1px solid currentColor;cursor:pointer}
.lnk::after{content:"";position:absolute;inset:-14px -8px}
.lnk--light{color:var(--ambar)}

/* =================== ABERTURA =================== */
.stage{position:fixed;inset:0;z-index:100;overflow:hidden;background:#0f0b08;will-change:opacity}
.stage__in{position:absolute;inset:0;transform-origin:50% 55%;will-change:transform,filter}
.stage__in img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.stage__on{--r:0%;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 22%,#000 var(--r),transparent calc(var(--r) + 28%));mask-image:radial-gradient(ellipse 70% 80% at 50% 22%,#000 var(--r),transparent calc(var(--r) + 28%));opacity:0}
.stage__warm{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 30%,rgba(244,184,96,.35),transparent 70%);mix-blend-mode:screen;opacity:0;pointer-events:none}
.stage__straw{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.doors{position:absolute;inset:0;z-index:2;pointer-events:none}
.door{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;will-change:transform;box-shadow:0 0 50px rgba(0,0,0,.55)}
.door--l{left:0}
.door--r{right:0}
.door__img{position:absolute;top:0;bottom:0;width:200%;background:#6B5644 url(img/portas.webp) center/cover no-repeat}
.door--l .door__img{left:0}
.door--r .door__img{right:0}
.door__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,10,6,.0),rgba(15,10,6,.55));opacity:.15;pointer-events:none}
.door--r .door__shade{background:linear-gradient(-90deg,rgba(15,10,6,.0),rgba(15,10,6,.55))}
.doors__seam{position:absolute;left:50%;top:6%;bottom:0;width:3px;translate:-50% 0;background:linear-gradient(180deg,rgba(255,214,150,.0),rgba(255,214,150,.95) 20%,rgba(255,200,120,.9) 80%,rgba(255,214,150,.2));box-shadow:0 0 18px 4px rgba(244,184,96,.55),0 0 60px 12px rgba(244,184,96,.22);animation:seam 3s ease-in-out infinite}
@keyframes seam{50%{box-shadow:0 0 12px 2px rgba(244,184,96,.4),0 0 40px 8px rgba(244,184,96,.14)}}

/* lousinha pendurada com o nome do convidado */
.slate{position:absolute;left:50%;top:max(56px,8vh);z-index:6;width:min(560px,82vw);transform:translate(-50%,0);transform-origin:50% -40vh;cursor:pointer}
.slate__rope{position:absolute;left:50%;bottom:100%;width:2px;height:60vh;translate:-50% 0;background:repeating-linear-gradient(180deg,#b79b74 0 5px,#8e7556 5px 9px)}
.slate__rope::after{content:"";position:absolute;left:50%;bottom:-6px;width:14px;height:14px;translate:-50% 0;border-radius:50%;border:2px solid #2b221b;background:#3a2f26}
.slate__board{position:relative;text-align:center;padding:clamp(24px,3.6vw,38px) clamp(20px,3vw,36px) clamp(22px,3vw,32px);background:radial-gradient(ellipse at 30% 30%,rgba(255,255,255,.07),transparent 55%),radial-gradient(ellipse at 75% 80%,rgba(255,255,255,.05),transparent 50%),#22281f;border:clamp(10px,1.4vw,14px) solid #7a5f43;border-image:linear-gradient(135deg,#8b6c4c,#5e4630 40%,#94754f 60%,#5a432e) 1;box-shadow:0 30px 60px -20px rgba(0,0,0,.75),inset 0 0 40px rgba(0,0,0,.5)}
.slate__to{font:400 clamp(30px,4vw,44px)/1 var(--mao);color:rgba(246,240,228,.82)}
.slate__name{font:400 clamp(52px,7.6vw,96px)/1.05 var(--mao);color:#fbf6ea;margin-top:6px;text-shadow:0 0 1px rgba(255,255,255,.6),0 0 12px rgba(255,255,255,.12);overflow-wrap:anywhere}
.slate__name.is-long{font-size:clamp(40px,5.4vw,70px)}
.slate__name.is-xlong{font-size:clamp(32px,4.2vw,54px)}
.slate__sub{font:500 12px/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:rgba(246,240,228,.65);margin-top:14px}

/* convite pendurado no varal */
.card{position:absolute;left:50%;top:52%;z-index:8;width:min(520px,88vw);transform:translate(-50%,-50%);transform-origin:50% -30%;opacity:0}
.card__twine{position:absolute;bottom:calc(100% - 14px);width:2px;height:70vh;background:repeating-linear-gradient(180deg,#c8ad85 0 6px,#a48963 6px 10px);transform-origin:50% 100%}
.card__twine--l{left:16%;rotate:6deg}
.card__twine--r{right:16%;rotate:-6deg}
.card__pin{position:absolute;top:-16px;width:16px;height:44px;z-index:2;border-radius:3px;background:linear-gradient(90deg,#c9a777,#e2c799 45%,#b48f5e);box-shadow:0 4px 6px rgba(0,0,0,.35)}
.card__pin::after{content:"";position:absolute;left:3px;right:3px;top:18px;height:5px;border-radius:2px;background:#6b6b6b;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.card__pin--l{left:calc(16% - 7px);rotate:-4deg}
.card__pin--r{right:calc(16% - 7px);rotate:5deg}
.card__paper{position:relative;text-align:center;padding:clamp(28px,4.6vh,50px) clamp(22px,4vw,46px) clamp(24px,4vh,44px);background:linear-gradient(rgba(251,247,239,.86),rgba(251,247,239,.86)),repeating-linear-gradient(0deg,rgba(176,138,91,.05) 0 2px,transparent 2px 5px),var(--papel);box-shadow:0 40px 80px -30px rgba(0,0,0,.8),0 2px 8px rgba(0,0,0,.25)}
.card__paper::before{content:"";position:absolute;inset:10px;border:1px solid rgba(122,46,50,.32);pointer-events:none}
.card__hi{font:400 clamp(30px,min(5vw,4.6vh),42px)/1.15 var(--mao);color:var(--vinho);padding:0 .2em}
.card__p{font:400 clamp(15px,min(2vw,2.1vh),18px)/1.45 var(--sans);color:var(--texto);margin-top:clamp(6px,1.2vh,12px);text-wrap:balance}
.card__names{font:400 clamp(44px,min(8.6vw,7.4vh),76px)/1.16 var(--serif);color:var(--tinta);margin:clamp(8px,1.6vh,16px) 0 clamp(2px,.6vh,6px);letter-spacing:-.01em}
.card__names i{font-family:var(--serif);font-style:normal;color:var(--vinho);font-size:.62em}
.card__date{font:600 clamp(11px,1.3vh,12.5px)/1.9 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--madeira);margin-top:clamp(10px,1.8vh,18px);padding-top:clamp(10px,1.8vh,16px);border-top:1px solid var(--linha)}
.card__sig{font:400 clamp(24px,min(3.6vw,3.4vh),32px)/1.2 var(--mao);color:var(--vinho);margin-top:clamp(6px,1.4vh,14px)}

.stage__cta{position:absolute;left:0;right:0;bottom:max(30px,5.5vh);display:flex;flex-direction:column;align-items:center;gap:12px;z-index:9}
.stage__hint{font:500 11.5px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:rgba(251,246,234,.92);background:rgba(20,14,10,.55);padding:8px 16px;border-radius:999px;animation:breathe 2.6s ease-in-out infinite}
@keyframes breathe{50%{opacity:.45}}
@keyframes stageIn{from{opacity:0;transform:translateY(14px)}}
.stage__cta{animation:stageIn 1.2s .6s backwards}
.slate__board{animation:slateIn 1.6s .2s backwards cubic-bezier(.2,1.4,.4,1)}
@keyframes slateIn{from{transform:translateY(-60vh)}}

/* =================== CABEÇALHO =================== */
.top{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--top-h);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(16px,3vw,40px);padding-top:env(safe-area-inset-top,0px);background:rgba(33,24,18,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(244,184,96,.18);transform:translateY(-110%);transition:transform .6s cubic-bezier(.2,.9,.2,1);color:var(--linho)}
body.is-open .top{transform:none}
.top__mono{font:400 28px/1 var(--serif);text-decoration:none;color:var(--linho);padding:8px 0}
.top__mono i{font-family:var(--serif);font-style:normal;color:var(--ambar);margin:0 3px;font-size:.8em}
.top__nav{display:flex;gap:30px}
.top__nav a{font:500 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;opacity:.82}
.top__nav a:hover{opacity:1;color:var(--ambar)}
.top__cta{font:600 11.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding:12px 16px;border-radius:999px;background:var(--ambar);color:var(--noite)}
@media (max-width:900px){.top__nav{display:none}.top__cta{padding:11px 14px;font-size:10.5px}.top{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(33,24,18,.97)}}

/* =================== CAPA =================== */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:calc(var(--top-h) + 30px) 0 70px;background:var(--noite)}
.hero__bg{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(33,24,18,.72) 0%,rgba(33,24,18,.42) 34%,rgba(33,24,18,0) 58%),linear-gradient(0deg,rgba(33,24,18,.45),transparent 30%)}
.hero__in{position:relative;z-index:2;width:var(--wrap);margin-inline:auto;color:var(--linho)}
.hero__names{font:400 clamp(76px,11vw,168px)/.92 var(--serif);display:flex;flex-direction:column;letter-spacing:-.02em;width:max-content;max-width:100%;text-shadow:0 4px 30px rgba(0,0,0,.35)}
.hero__names > span{white-space:nowrap}
.hero__names i{font-family:var(--serif);font-style:normal;font-size:.42em;line-height:1.2;color:var(--ambar);padding-left:.45em}
.hero__date{font:600 13px/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;margin-top:26px;color:var(--palha)}
.hero__sub{font:400 clamp(19px,1.8vw,23px)/1.4 var(--serif);text-shadow:0 2px 12px rgba(0,0,0,.55);max-width:24ch;margin:12px 0 30px;color:rgba(243,236,223,.92)}
.hero__down{position:absolute;z-index:2;left:50%;bottom:20px;translate:-50% 0;width:44px;height:44px;display:grid;place-items:center}
.hero__down span{width:1px;height:30px;background:var(--palha);animation:drop 2s ease-in-out infinite;transform-origin:top}
@keyframes drop{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* =================== HISTÓRIA + FOLHINHA =================== */
.story{padding:clamp(90px,11vw,160px) 0;background:var(--linho)}
.story__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(40px,7vw,110px);align-items:center}
.story__grid > *{min-width:0}
.story__txt .lede:first-of-type{margin-top:26px}
.folha{position:relative;justify-self:center;width:min(300px,100%);padding-top:26px}
.folha__nail{position:absolute;left:50%;top:0;width:14px;height:14px;translate:-50% 0;border-radius:50%;background:radial-gradient(circle at 35% 35%,#c9c2b8,#55504a);box-shadow:0 3px 4px rgba(0,0,0,.35)}
.folha__nail::after{content:"";position:absolute;left:50%;top:10px;width:1px;height:24px;background:rgba(42,33,27,.4);rotate:-28deg;transform-origin:top;translate:-50% 0}
.folha__pad{position:relative;background:var(--papel);box-shadow:0 30px 50px -26px rgba(42,33,27,.55),0 1px 0 #fff inset,0 3px 0 -1px #e9dfcd,0 6px 0 -2px #ddd0b9;perspective:700px}
.folha__top{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--vinho);color:var(--linho);padding:14px 10px 12px;text-align:center}
.folha__top span{font:600 12px var(--sans);letter-spacing:.3em;text-transform:uppercase}
.folha__top i{font:400 22px/1 var(--mao);font-style:normal;color:var(--palha)}
.folha__sheet,.folha__fly{display:flex;flex-direction:column;align-items:center;padding:16px 10px 4px;background:var(--papel)}
.folha__fly{position:absolute;left:0;right:0;top:66px;opacity:0;pointer-events:none;box-shadow:0 10px 20px -10px rgba(0,0,0,.3);backface-visibility:hidden}
.folha__sheet b,.folha__fly b{font:400 clamp(92px,11vw,128px)/1 var(--serif);color:var(--tinta);font-variant-numeric:lining-nums tabular-nums}
.folha__sheet span,.folha__fly span{font:600 12px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--madeira)}
.folha__clock{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px dashed rgba(107,86,68,.4);margin:14px 18px 0;padding:12px 0 18px}
.folha__clock div{display:flex;flex-direction:column;align-items:center}
.folha__clock b{font:400 28px/1 var(--serif);color:var(--vinho);font-variant-numeric:tabular-nums}
.folha__clock span{font:600 10.5px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--madeira);margin-top:4px}
.folha__foot{text-align:center;margin-top:20px;font:400 24px/1.3 var(--mao);color:var(--vinho)}

/* =================== PROGRAMAÇÃO: Maria-Fumaça =================== */
.prog{background:var(--noite);color:var(--linho);position:relative}
.prog__pin{position:relative;height:100svh;min-height:600px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:radial-gradient(ellipse 80% 60% at 50% 100%,rgba(244,184,96,.12),transparent 70%),var(--noite)}
.prog__head{padding-top:calc(var(--top-h) + 10px)}
.prog__lede{color:rgba(243,236,223,.75);max-width:52ch;margin-top:14px;font-size:clamp(16px,1.2vw,18px)}
.rail{position:relative;margin-top:clamp(12px,2.4vh,40px);height:clamp(480px,62vh,520px)}
.rail__strip{position:absolute;left:0;top:0;bottom:0;display:flex;align-items:flex-end;gap:clamp(40px,6vw,90px);padding-bottom:var(--pb);will-change:transform;--pb:200px}
.rail__lead{flex:none;width:clamp(260px,32vw,440px)}
.rail__tail{flex:none;width:clamp(40px,12vw,160px)}
.rail__track{position:absolute;left:0;right:0;bottom:30px;height:20px;background:repeating-linear-gradient(90deg,#4a3828 0 10px,transparent 10px 34px);pointer-events:none}
.rail__track::before,.rail__track::after{content:"";position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,#8d8a86,#c9c4bd,#8d8a86);border-radius:2px}
.rail__track::before{top:2px}
.rail__track::after{bottom:2px}
.train{position:absolute;left:clamp(10px,4vw,60px);bottom:44px;width:200px;z-index:3;animation:chug .5s ease-in-out infinite alternate}
.train img{width:100%;transform:scaleX(-1);filter:drop-shadow(0 8px 10px rgba(0,0,0,.5)) brightness(1.08)}
@keyframes chug{to{transform:translateY(-1.5px)}}
.train__steam{position:absolute;right:16%;top:8%;width:1px;height:1px}
.puff{position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle,rgba(243,236,223,.55),rgba(243,236,223,0) 70%);animation:puff 1.6s ease-out forwards;pointer-events:none}
@keyframes puff{from{transform:translate(0,0) scale(.4);opacity:.9}to{transform:translate(var(--dx),-120px) scale(2.6);opacity:0}}
.stn{position:relative;flex:none;width:clamp(260px,26vw,330px);display:flex;flex-direction:column;align-items:center;transition:transform .5s ease, opacity .5s}
.stn__post{position:absolute;top:100%;left:50%;width:6px;height:calc(var(--pb) - 42px);translate:-50% 0;background:linear-gradient(90deg,#3d2f24,#5a4535);z-index:-1}
.stn__sign{display:flex;flex-direction:column;align-items:center;background:var(--papel);color:var(--tinta);border:3px solid var(--tinta);outline:2px solid var(--papel);padding:8px 18px 6px;min-width:120px;box-shadow:0 10px 20px -10px rgba(0,0,0,.6);transition:background .4s,color .4s}
.stn__sign span{font:600 11px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--madeira)}
.stn__sign b{font:400 32px/1.05 var(--serif)}
.stn__card{margin-top:14px;width:100%;background:rgba(243,236,223,.06);border:1px solid rgba(243,236,223,.16);padding:20px 20px 18px;text-align:center;transition:background .4s,border-color .4s}
.stn__card h3{font:400 clamp(22px,1.9vw,26px)/1.15 var(--serif);color:var(--linho)}
.stn__card p{font-size:15px;line-height:1.5;color:rgba(243,236,223,.72);margin-top:8px}
.stn__card .lnk{margin-top:14px;color:var(--ambar)}
.stn.is-here .stn__sign{background:var(--ambar)}
.stn.is-here .stn__card{background:rgba(244,184,96,.1);border-color:rgba(244,184,96,.5)}
.stn--main .stn__sign{border-color:var(--vinho)}
.stn--main .stn__card{border-color:rgba(244,184,96,.35)}
.prog__hint{text-align:center;font:400 22px var(--mao);color:rgba(217,199,167,.7);margin-top:2px;padding:0 16px 14px}

/* =================== TRAJE: carretéis =================== */
.dress{padding:clamp(90px,10vw,150px) 0;background:var(--papel)}
.dress__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,90px);align-items:center}
.dress__grid > *{min-width:0}
.dress__tips{list-style:none;margin-top:24px;display:grid;gap:10px;color:var(--texto);font-size:16px}
.dress__tips li{padding-left:24px;position:relative}
.dress__tips li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:6px;border-radius:50%;background:var(--eucalipto)}
.spools{display:flex;justify-content:center;gap:clamp(10px,2vw,22px);flex-wrap:wrap}
.spool{display:flex;flex-direction:column;align-items:center;gap:12px;border:0;background:none;cursor:pointer;padding:0;min-width:56px}
.spool__body{position:relative;display:block;width:clamp(56px,6vw,74px);height:clamp(110px,12vw,140px)}
.spool__top,.spool__bot{position:absolute;left:-8%;right:-8%;height:14%;border-radius:4px/50%;background:linear-gradient(90deg,#9c7a52,#d0ac7c 45%,#8a6a45);box-shadow:inset 0 -2px 0 rgba(0,0,0,.2)}
.spool__top{top:0}
.spool__bot{bottom:0;box-shadow:0 10px 14px -8px rgba(42,33,27,.6),inset 0 2px 0 rgba(255,255,255,.2)}
.spool__thread{position:absolute;left:4%;right:4%;top:12%;bottom:12%;background:repeating-linear-gradient(170deg,rgba(255,255,255,.14) 0 2px,rgba(0,0,0,.08) 2px 4px),linear-gradient(90deg,rgba(0,0,0,.28),rgba(255,255,255,.18) 40%,rgba(0,0,0,.22)),var(--c)}
.spool__end{position:absolute;left:92%;top:50%;width:3px;height:0;background:var(--c);border-radius:2px;transform-origin:top}
.spool.is-pull .spool__end{animation:pull 1.4s ease-out}
@keyframes pull{0%{height:0}40%{height:70px;transform:rotate(-10deg)}100%{height:0}}
.spool:hover .spool__body{transform:rotate(-6deg);transition:transform .4s}
.spool__name{font:400 23px/1 var(--mao);color:var(--tinta)}

/* =================== MAPA =================== */
.mapsec{padding:clamp(90px,10vw,140px) 0;background:var(--linho)}
.mapsec__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(20px,3vw,40px);margin-top:44px;align-items:start}
.mapsec__grid > *{min-width:0}
.map{height:min(70vh,600px);background:var(--kraft);border:1px solid var(--linha);z-index:1;border-radius:6px}
.map .leaflet-tile-pane{filter:sepia(.35) saturate(.85) contrast(.95) brightness(1.02)}
.leaflet-container{font-family:var(--sans)}
.pin{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--papel);box-shadow:0 0 0 3px var(--mel),0 10px 18px -8px rgba(42,33,27,.6);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.pin img{width:40px;height:40px;object-fit:contain;max-width:none}
.pin.is-on{transform:scale(1.22);box-shadow:0 0 0 3px var(--vinho),0 14px 24px -8px rgba(42,33,27,.7)}
.places{list-style:none;display:grid;gap:12px}
.place{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:start;background:var(--papel);border:1px solid var(--linha);border-radius:6px;padding:16px;cursor:pointer;transition:border-color .3s, box-shadow .3s}
.place__il{width:64px;height:64px;object-fit:contain}
.place.is-on{border-color:var(--vinho);box-shadow:0 18px 30px -24px rgba(42,33,27,.7)}
.place__day{font:600 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--vinho)}
.place h3{font:400 22px/1.15 var(--serif);color:var(--tinta);margin:4px 0 2px}
.place p{font-size:14.5px;color:var(--texto)}
.place__go{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.place__go a{position:relative;font:600 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:9px 12px;border:1px solid var(--linha);border-radius:999px;min-height:36px;display:inline-flex;align-items:center}
.place__go a::after{content:"";position:absolute;inset:-5px -2px}
.place__go a:hover{background:var(--tinta);color:var(--linho)}
.places__hint{display:none}

/* =================== VIAGEM: postais =================== */
.trip{padding:clamp(90px,10vw,150px) 0;background:var(--kraft)}
.posts{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,3.4vw,44px);margin-top:50px}
.post{position:relative;background:var(--papel);padding:30px 140px 30px 30px;min-height:210px;rotate:var(--r);box-shadow:0 24px 40px -26px rgba(42,33,27,.6);transition:rotate .5s cubic-bezier(.3,1.4,.5,1)}
.post:hover{rotate:0deg}
.post::before{content:"";position:absolute;right:122px;top:30px;bottom:30px;width:1px;background:rgba(42,33,27,.18)}
.post__stamp{position:absolute;right:22px;top:22px;width:84px;height:100px;padding:12px;display:grid;place-items:center;background:radial-gradient(circle at 5px 5px,transparent 3.2px,#efe4cf 3.8px) -5px -5px/10px 10px;filter:drop-shadow(0 2px 2px rgba(42,33,27,.18))}
.post__stamp::before{content:"";position:absolute;inset:5px;background:#efe4cf;box-shadow:inset 0 0 0 1px rgba(122,46,50,.35)}
.post__stamp img{position:relative}
.post__stamp img{max-height:100%;object-fit:contain}
.post__mark{position:absolute;right:58px;top:88px;width:76px;height:76px;border-radius:50%;border:2px solid rgba(122,46,50,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;rotate:-14deg;color:rgba(122,46,50,.7);pointer-events:none}
.post__mark b{font:600 9px var(--sans);letter-spacing:.14em;text-transform:uppercase}
.post__mark i{font:600 9px var(--sans);letter-spacing:.06em;font-style:normal;margin-top:2px}
.post h3{font:400 clamp(24px,2.2vw,30px)/1.1 var(--serif);color:var(--tinta)}
.post p{font-size:15.5px;color:var(--texto);margin-top:10px}

/* =================== PRESENTES: quadro do armazém =================== */
.gifts{padding:clamp(90px,10vw,150px) 0;background:linear-gradient(rgba(33,24,18,.86),rgba(33,24,18,.9)),repeating-linear-gradient(90deg,#4b3a2c 0 2px,#3a2c21 2px 120px,#33271d 120px 122px,#41321f 122px 240px)}
.board{position:relative;background:radial-gradient(ellipse at 20% 25%,rgba(255,255,255,.06),transparent 45%),radial-gradient(ellipse at 80% 70%,rgba(255,255,255,.05),transparent 45%),radial-gradient(ellipse at 55% 10%,rgba(255,255,255,.035),transparent 30%),#252b23;border:clamp(12px,1.6vw,18px) solid #6b5134;border-image:linear-gradient(135deg,#8b6c4c,#5e4630 40%,#94754f 60%,#5a432e) 1;box-shadow:0 40px 80px -30px rgba(0,0,0,.8),inset 0 0 60px rgba(0,0,0,.55);padding:clamp(34px,5vw,64px) clamp(22px,5vw,64px) clamp(40px,5vw,64px);color:#f3eee3}
.board__head{text-align:center;max-width:720px;margin:0 auto}
.board__title{font:400 clamp(40px,5.4vw,72px)/1.1 var(--mao);color:#fbf7ec;text-shadow:0 0 1px rgba(255,255,255,.5)}
.board__lede{color:rgba(243,238,227,.78);margin-top:14px;font-size:clamp(15.5px,1.15vw,17.5px)}
.board__list{display:grid;grid-template-columns:1fr 1fr;gap:6px clamp(30px,5vw,70px);margin-top:clamp(30px,4vw,50px)}
.item{display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:16px;border:0;background:none;color:inherit;text-align:left;padding:14px 8px;border-bottom:1px dashed rgba(243,238,227,.18);cursor:pointer;transition:background .3s}
.item:hover{background:rgba(255,255,255,.04)}
.item:active{transform:scale(.99)}
.item img{width:76px;height:64px;object-fit:contain;filter:invert(1) grayscale(1) brightness(1.15) contrast(1.1);opacity:.88;transition:transform .5s ease}
.item:hover img{transform:rotate(-5deg) scale(1.06)}
.item__t{display:flex;flex-direction:column;min-width:0}
.item__t b{font:400 clamp(25px,2.1vw,30px)/1.1 var(--mao);font-weight:400;color:#fbf7ec}
.item__t i{font-style:normal;font-size:14px;line-height:1.4;color:rgba(243,238,227,.65);margin-top:2px}
.item__dots{display:none}
.item__v{font:400 clamp(22px,1.9vw,26px)/1 var(--serif);color:var(--ambar);white-space:nowrap}
.board__chalk{position:absolute;right:8%;bottom:-6px;width:58px;height:12px;border-radius:3px;background:linear-gradient(#fbf7ec,#ddd6c8);box-shadow:0 2px 3px rgba(0,0,0,.4)}

/* modal Pix */
.modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px}
.modal__bg{position:absolute;inset:0;background:rgba(20,14,10,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.modal__box{position:relative;width:min(400px,100%);max-height:92svh;overflow:auto;background:var(--papel);padding:40px 30px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);border-radius:4px}
.modal__box::before{content:"";position:absolute;inset:8px;border:1px solid rgba(122,46,50,.3);pointer-events:none}
.modal__x{position:absolute;top:8px;right:10px;width:44px;height:44px;border:0;background:none;font-size:30px;cursor:pointer;color:var(--tinta);z-index:1}
.pix__art{height:80px;max-width:140px;object-fit:contain}
.pix__title{font:400 26px/1.15 var(--serif);color:var(--tinta)}
.pix__amount{font:400 32px var(--serif);color:var(--vinho)}
.pix__val{display:flex;align-items:center;gap:8px;font:400 28px var(--serif)}
.pix__val input{width:140px;border:0;border-bottom:1px solid var(--tinta);background:none;text-align:center;font:inherit;outline:0}
.pix__qr{width:190px;height:190px;background:#fff;padding:10px;box-shadow:0 0 0 1px var(--linha)}
.pix__qr svg{width:100%;height:100%}
.pix__demo{font-size:12.5px;color:var(--madeira);max-width:32ch}

/* =================== RSVP: caderneta =================== */
.rsvp{padding:clamp(90px,10vw,140px) 16px;background:radial-gradient(ellipse at 50% 0%,rgba(244,184,96,.16),transparent 60%),var(--linho);display:grid;place-items:center}
.rsvp__card{position:relative;width:min(620px,100%);background:linear-gradient(90deg,transparent 46px,rgba(122,46,50,.28) 46px 47px,transparent 47px),repeating-linear-gradient(180deg,transparent 0 31px,rgba(78,90,107,.12) 31px 32px),var(--papel);padding:clamp(44px,6vw,64px) clamp(24px,5vw,56px) clamp(40px,5vw,56px) clamp(62px,7vw,80px);box-shadow:0 40px 80px -40px rgba(42,33,27,.55);border-radius:3px}
.rsvp__card::before{content:"";position:absolute;left:50%;top:-14px;width:26px;height:26px;translate:-50% 0;border-radius:50%;background:var(--linho);box-shadow:inset 0 2px 4px rgba(0,0,0,.25)}
.rsvp__form,.rsvp__done{display:flex;flex-direction:column;gap:20px;position:relative}
.rsvp__form .h2{font-size:clamp(34px,4.6vw,52px)}
.rsvp__deadline{color:var(--texto);margin-top:-6px}
.rsvp__lbl{font:600 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--vinho)}
.fld{display:flex;flex-direction:column;gap:6px;font:600 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--madeira)}
.fld input,.fld textarea,.fld select{font:400 17px var(--sans);letter-spacing:0;text-transform:none;color:var(--tinta);padding:12px 2px;border:0;border-bottom:1.5px solid var(--mel);background:transparent;outline:0;border-radius:0;resize:vertical}
.fld input:focus,.fld textarea:focus,.fld select:focus{border-color:var(--vinho)}
fieldset{border:0}
legend{font:600 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--madeira);margin-bottom:10px}
.choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.choice legend{grid-column:1/-1}
.choice input,.chips input{position:absolute;opacity:0;pointer-events:none}
.choice span{display:flex;align-items:center;justify-content:center;min-height:52px;text-align:center;padding:12px 10px;border:1.5px solid var(--mel);border-radius:999px;cursor:pointer;font:400 18px/1.2 var(--serif);transition:all .3s}
.choice input:checked + span{background:var(--vinho);color:var(--linho);border-color:var(--vinho)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips legend{width:100%}
.chips span{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid var(--mel);border-radius:999px;cursor:pointer;font-size:14.5px;transition:all .25s}
.chips input:checked + span{background:rgba(138,154,123,.22);border-color:var(--eucalipto);color:var(--tinta)}
.choice input:focus-visible + span,.chips input:focus-visible + span{outline:2px solid var(--vinho);outline-offset:2px}
.stepper{display:flex;align-items:center;border:1.5px solid var(--mel);border-radius:999px;width:max-content}
.stepper button{width:48px;height:46px;border:0;background:none;font-size:22px;cursor:pointer;color:var(--tinta)}
.stepper output{min-width:40px;text-align:center;font:400 26px var(--serif);color:var(--tinta)}
.rsvp__err{color:#9a3b2f;font-size:14px}
.rsvp__err:empty{display:none}
.rsvp__done{align-items:center;text-align:center}
.rsvp__done > img{width:120px}
.rsvp__done p{color:var(--texto);max-width:40ch}
.recibo{align-self:stretch;text-align:left;background:#fffdf7;border:1px dashed rgba(107,86,68,.45);padding:16px 18px;font:400 14.5px/1.55 var(--sans);color:var(--tinta);white-space:pre-line;max-width:440px;margin:0 auto;width:100%}
.rsvp__demo{font-size:13px!important;color:var(--madeira)!important}
.people{display:flex;flex-direction:column;gap:14px}
.person{position:relative;border:1px solid var(--linha);background:rgba(243,236,223,.7);border-radius:6px;padding:20px 18px 18px;display:flex;flex-direction:column;gap:14px}
.person legend{font:400 22px/1 var(--serif);letter-spacing:0;text-transform:none;color:var(--tinta);padding:0 8px;margin:0 0 0 -8px}
.p-restr input{position:absolute;opacity:0;pointer-events:none}
.p-lbl{width:100%;font:600 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--madeira);margin-bottom:2px}
.p-lbl i{font-style:normal;letter-spacing:.04em;text-transform:none;font-size:12.5px}
.p-restr span,.p-cat span{font-size:13.5px;padding:7px 12px;min-height:38px}
.person .fld input{padding:9px 2px}
.rsvp__mesa{position:relative;text-align:center;padding-bottom:26px;margin-bottom:30px;border-bottom:1px solid var(--linha)}
.rsvp__mesas{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;margin-top:10px}
.rsvp__mn{font:400 clamp(38px,6vw,54px)/1 var(--serif);color:var(--tinta)}
.rsvp__mp{font:400 22px/1.3 var(--mao);color:var(--vinho);margin-top:6px;max-width:30ch}
.rsvp__closed{position:relative;display:flex;flex-direction:column;gap:16px;text-align:center;align-items:center}
.rsvp__closed p:last-child{color:var(--texto);max-width:40ch}
.van{gap:8px}
.van label{font:600 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--madeira)}
.van__n{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.van__n span{font:600 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--madeira)}
.stepper--sm button{width:40px;height:40px;font-size:20px}
.stepper--sm output{font-size:22px;min-width:32px}
.lead{border-top:1px solid var(--linha);padding-top:14px}
.lead summary{cursor:pointer;list-style:none;font:400 17px/1.4 var(--serif);color:var(--tinta);display:flex;gap:10px;align-items:flex-start}
.lead summary::-webkit-details-marker{display:none}
.lead summary::before{content:"+";font:400 22px/1 var(--serif);color:var(--vinho)}
.lead[open] summary::before{content:"–"}
.lead__b{display:flex;flex-direction:column;gap:14px;margin-top:14px;padding:16px;border:1px solid var(--linha);background:rgba(243,236,223,.7);border-radius:6px}
.lead__b .chips span{font-size:13.5px;padding:8px 12px}
.lead__ok{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--tinta);cursor:pointer}
.lead__ok input{width:18px;height:18px;margin-top:2px;accent-color:var(--vinho);flex:none}
.rsvp__qr{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.rsvp__qr p:last-child{font-size:14px;color:var(--texto)}
.rsvp__qri{width:170px;height:170px;background:#fff;padding:8px;border:1px solid var(--linha)}
.rsvp__qri svg{width:100%;height:100%;display:block}
.rsvp__qr--top{position:relative;padding-bottom:24px;margin-bottom:26px;border-bottom:1px solid var(--linha)}
.ccard{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border:1px solid var(--linha);background:var(--papel);padding:22px 20px;width:100%;max-width:420px;margin:4px auto 0}
.ccard__logo{max-width:130px;max-height:70px;object-fit:contain;margin-bottom:4px}
.ccard__n{font:400 24px/1.1 var(--serif);color:var(--tinta)}
.ccard__f{font:400 16px/1.4 var(--sans);color:var(--texto);max-width:32ch;text-wrap:balance}
.ccard__a{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px}
.ccard__a a{font:600 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--tinta);border:1px solid var(--mel);border-radius:999px;padding:12px 14px}
.ccard__a a:first-child{background:var(--vinho);color:var(--linho);border-color:var(--vinho)}

/* envio: pote com vaga-lumes */
.jar{position:fixed;inset:0;z-index:125;pointer-events:none;visibility:hidden;display:grid;place-items:center}
.jar__night{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,rgba(44,33,26,.82),rgba(20,14,10,.94));opacity:0}
.jar__img{position:relative;width:min(240px,52vw);opacity:0;filter:drop-shadow(0 20px 30px rgba(0,0,0,.35))}
.jar__note{position:absolute;left:50%;top:50%;translate:-50% -60%;background:var(--papel);border:1px solid var(--linha);padding:10px 18px;font:400 28px/1 var(--mao);color:var(--vinho);box-shadow:0 10px 20px -10px rgba(0,0,0,.4);opacity:0;z-index:2}
.flies{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:130}

/* =================== FINAL: varal de luzinhas =================== */
.end{position:relative;min-height:100svh;overflow:hidden;background:#120d09;color:var(--linho);touch-action:pan-y;user-select:none;-webkit-user-select:none}
.end__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%;filter:brightness(.32) saturate(.8);transition:filter 2.4s ease}
.end.is-formed .end__bg{filter:brightness(.22) saturate(.7)}
.end::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,13,9,.55),rgba(18,13,9,.1) 40%,rgba(18,13,9,.75));z-index:1;pointer-events:none}
.end__cv{position:absolute;inset:0;width:100%;height:100%;z-index:2;cursor:crosshair}
.end__in{position:absolute;left:16px;right:16px;bottom:clamp(120px,19vh,180px);z-index:3;text-align:center;pointer-events:none;display:flex;flex-direction:column;align-items:center}
.end__big{font:400 clamp(44px,7vw,100px)/1.02 var(--serif);color:var(--linho);text-shadow:0 4px 30px rgba(0,0,0,.6)}
.end__sig{font:400 clamp(34px,4.4vw,58px)/1.3 var(--mao);color:var(--ambar);margin-top:8px;padding:0 .3em;white-space:nowrap}
.end__ui{position:absolute;left:0;right:0;top:calc(var(--top-h) + 22px);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;padding:0 16px}
.end__hint{font:400 clamp(22px,2vw,26px)/1.2 var(--mao);color:var(--palha);text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.end__bar{width:min(220px,60vw);height:3px;border-radius:2px;background:rgba(243,236,223,.18);overflow:hidden}
.end__bar i{display:block;height:100%;background:var(--ambar);transform:scaleX(0);transform-origin:left;transition:transform .3s;box-shadow:0 0 10px var(--ambar)}
.end__ui .lnk{pointer-events:auto;margin-top:4px}
.end__foot{position:absolute;z-index:3;bottom:18px;left:16px;right:16px;text-align:center;font:400 12px/1.5 var(--sans);letter-spacing:.06em;color:rgba(217,199,167,.75)}
.end__foot a{position:relative;color:var(--ambar)}
.end__foot a::after{content:"";position:absolute;inset:-14px -6px}

/* selo "modelo" */
.demo-tag{position:fixed;z-index:60;left:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));font:500 11px var(--sans);letter-spacing:.1em;text-decoration:none;background:rgba(33,24,18,.9);color:var(--linho);padding:8px 13px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .4s, transform .4s}
.demo-tag b{font-weight:600;color:var(--ambar)}
body.is-open .demo-tag{opacity:1;pointer-events:auto}
body.at-end .demo-tag,body.tag-away .demo-tag{opacity:0;pointer-events:none;transform:translateY(8px)}

.toast{position:fixed;left:50%;bottom:24px;translate:-50% 220%;background:var(--noite);color:var(--linho);padding:12px 20px;font-size:14px;z-index:140;border-radius:999px;transition:translate .4s ease;visibility:hidden}
.toast.is-on{translate:-50% 0;visibility:visible}

/* entradas */
.reveal-words .w{display:inline-block;overflow:hidden;vertical-align:top;padding:.12em 0 .1em;margin:-.12em 0 -.1em}
.reveal-words .w > span{display:inline-block}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* =================== CELULAR =================== */
@media (max-width:900px){
  .mapsec__grid{grid-template-columns:1fr;width:100%;gap:14px}
  .mapbox{padding:0 16px}
  .map{height:min(56svh,440px)}
  .places{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 7vw 10px;scroll-padding:0 7vw;scrollbar-width:none;overscroll-behavior-x:contain}
  .places::-webkit-scrollbar{display:none}
  .place{flex:none;width:84vw;max-width:400px;scroll-snap-align:center}
  .places__hint{display:block;text-align:center;font:400 21px var(--mao);color:var(--madeira)}
  .pin{width:46px;height:46px}
  .pin img{width:32px;height:32px}
  .board__list{grid-template-columns:1fr}
}
@media (max-width:800px){
  .story__grid,.dress__grid{grid-template-columns:1fr}
  .posts{grid-template-columns:1fr}
}
@media (max-width:700px){
  .slate{top:max(48px,7vh);width:88vw}
  .stage__in img{object-position:50% 50%}
  .hero{align-items:flex-start;padding-top:calc(var(--top-h) + 36px)}
  .hero__veil{background:linear-gradient(180deg,rgba(33,24,18,.86) 0%,rgba(33,24,18,.78) 44%,rgba(33,24,18,0) 70%),linear-gradient(0deg,rgba(33,24,18,.5),transparent 25%)}
  .hero__bg img{object-position:50% 100%}
  .hero__in{text-align:center}
  .hero__names{margin-inline:auto;align-items:center;font-size:clamp(70px,21vw,96px)}
  .hero__names i{padding-left:0}
  .hero__date{margin-top:18px;font-size:12px}
  .hero__sub{margin-inline:auto;font-size:19px}
  .story__txt,.mapsec__head,.trip > .wrap > .h2,.dress__txt > .h2,.dress__txt > .lede{text-align:center}
  .story__txt .lede,.dress .lede,.mapsec .lede{margin-inline:auto}
  .dress__tips{max-width:36ch;margin-inline:auto}
  .prog__head{text-align:center}
  .prog__lede{margin-inline:auto}
  .prog__head .h2{font-size:clamp(34px,9.6vw,42px)}
  .prog__lede{font-size:15.5px;margin-top:10px}
  .rail{height:clamp(420px,58svh,470px)}
  .rail__strip{--pb:162px}
  .rail__lead{width:56vw}
  .train{width:150px;left:4px}
  .prog__hint{font-size:20px}
  .stn{width:76vw}
  .stn__card{padding:16px 16px 14px}
  .stn__card p{font-size:14.5px}
  .rsvp__form > .h2,.rsvp__deadline{text-align:center}
  .rsvp__card{padding:44px 20px 38px 40px;background:linear-gradient(90deg,transparent 26px,rgba(122,46,50,.28) 26px 27px,transparent 27px),repeating-linear-gradient(180deg,transparent 0 31px,rgba(78,90,107,.12) 31px 32px),var(--papel)}
  .choice{grid-template-columns:1fr}
  .spools{max-width:330px;margin-inline:auto;row-gap:20px}
  .spool{flex:0 0 28%}
  .post{padding:24px 20px 24px 20px;min-height:0}
  .post::before{display:none}
  .post h3{padding-right:96px;min-height:92px}
  .post__stamp{width:70px;height:84px;right:16px;top:16px}
  .post__mark{right:64px;top:62px;width:54px;height:54px}
  .post__mark b,.post__mark i{font-size:7.5px}
  .post p{margin-top:6px}
  .board{padding:30px 16px 34px}
  .item{grid-template-columns:58px 1fr;column-gap:14px;row-gap:4px;padding:14px 4px}
  .item img{grid-row:span 2}
  .item__v{grid-column:2}
  .item img{width:58px;height:52px}
  .item__dots{display:none}
  .item__t b{font-size:24px}
  .item__v{font-size:21px}
  .end__in{bottom:clamp(96px,16svh,150px)}
}
@media (max-width:380px){
  .stn{width:80vw}
  .item__v{font-size:19px}
}
@media (max-height:700px) and (min-width:701px){
  .rail{height:420px}
  .stn__card p{font-size:14px}
}

.amp{font-family:var(--serif);font-style:normal;font-size:.62em;vertical-align:.12em;margin:0 .1em}
.card__names [data-n]{white-space:nowrap}
