/* Acampamento HG Cartas do Amor — identidade rústica */
@font-face {
  font-family: 'Bevan';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/Bevan-400.woff2) format('woff2');
}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/Caveat-500.woff2) format('woff2');
}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/Caveat-700.woff2) format('woff2');
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/Lora-400i.woff) format('woff');
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/Lora-400.woff2) format('woff2');
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/Lora-600.woff2) format('woff2');
}
@font-face {
  font-family: 'Special Elite';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/SpecialElite-400.woff2) format('woff2');
}
:root{
  --night:#150d07;
  --walnut:#2a1a0e;
  --oak:#5a3a20;
  --kraft:#cfae7c;
  --paper:#f0e4c6;
  --ink:#33200f;
  --ember:#e0661c;
  --ember-2:#f2a03a;
  --wax:#8d2a1d;
  --moss:#55633f;
  --cream:#f6ecd4;
  --display:"Bevan","Alfa Slab One",Georgia,serif;
  --type:"Special Elite","Courier New",monospace;
  --hand:"Caveat","Segoe Script",cursive;
  --body:"Lora",Georgia,serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --gut:clamp(20px,4vw,56px);
  --wrap:1200px;
  /* texturas procedurais */
  --wood:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='900' height='300'><filter id='a' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='0.006 0.26' numOctaves='5' seed='11'/><feColorMatrix values='0 0 0 0 0.04  0 0 0 0 0.02  0 0 0 0 0.01  1.7 0 0 0 -0.6'/></filter><filter id='b' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='0.012 0.55' numOctaves='3' seed='4'/><feColorMatrix values='0 0 0 0 0.66  0 0 0 0 0.45  0 0 0 0 0.25  0 1.5 0 0 -0.72'/></filter><rect width='100%25' height='100%25' fill='%23552f16'/><rect width='100%25' height='100%25' filter='url(%23a)'/><rect width='100%25' height='100%25' filter='url(%23b)' opacity='.55'/></svg>");
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .9 -.25'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  --fiber:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'><filter id='f'><feTurbulence type='fractalNoise' baseFrequency='.02 .6' numOctaves='3' seed='2'/><feColorMatrix values='0 0 0 0 .35  0 0 0 0 .22  0 0 0 0 .1  0 0 1.2 0 -.5'/></filter><rect width='100%25' height='100%25' filter='url(%23f)' opacity='.55'/></svg>");
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--cream);font-family:var(--body);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--ember-2);outline-offset:3px}
::selection{background:var(--ember);color:#fff}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.section{padding-block:clamp(72px,9vw,140px);position:relative}

/* Madeira */
.wood{background-color:#552f16;background-image:
  repeating-linear-gradient(180deg,transparent 0 196px,rgba(0,0,0,.5) 196px 199px,rgba(255,200,140,.07) 199px 201px),
  var(--wood);background-size:auto,900px 300px}
.wood-dark{background-color:var(--walnut);background-image:
  repeating-linear-gradient(180deg,transparent 0 196px,rgba(0,0,0,.65) 196px 199px,rgba(255,200,140,.04) 199px 201px),
  var(--wood),linear-gradient(rgba(10,5,2,.55),rgba(10,5,2,.55));background-size:auto,900px 300px,auto}
.grain::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:var(--grain);opacity:.22;mix-blend-mode:multiply}

/* Cabeçalho */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .4s,box-shadow .4s}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:78px}
.site-header.is-solid{background-color:#2a1a0e;background-image:var(--wood),linear-gradient(rgba(10,5,2,.5),rgba(10,5,2,.5));background-size:900px 300px,auto;box-shadow:0 6px 24px rgba(0,0,0,.55),inset 0 -3px 0 rgba(0,0,0,.6)}
.brand img{height:40px;width:auto}
.nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,34px)}
.nav a{font-family:var(--type);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--cream);opacity:.85;transition:opacity .2s,color .2s}
.nav a:hover{opacity:1;color:var(--ember-2)}
.nav .nav-cta{opacity:1;background:var(--wax);padding:10px 18px;border-radius:999px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.12),0 3px 0 #4a130b;color:#fff}
.nav .nav-cta:hover{color:#fff;filter:brightness(1.15)}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;color:var(--cream);cursor:pointer;position:relative}
.menu-btn span{position:absolute;left:10px;right:10px;height:3px;border-radius:2px;background:currentColor;transition:transform .35s var(--ease),opacity .2s}
.menu-btn span:nth-child(1){top:14px}.menu-btn span:nth-child(2){top:21px}.menu-btn span:nth-child(3){top:28px}
.menu-open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-open .menu-btn span:nth-child(2){opacity:0}
.menu-open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Hero */
.hero{position:relative;padding:130px var(--gut) 80px;overflow:hidden;isolation:isolate}
.hero__inner{display:grid;justify-items:center;gap:26px;text-align:center;max-width:1040px;margin-inline:auto}
.sign{position:relative;transform-origin:50% -80px;animation:sway 7s ease-in-out infinite;max-width:94vw}
.sign::before,.sign::after{content:"";position:absolute;top:-80px;width:4px;height:84px;background:repeating-linear-gradient(180deg,#c5a46c 0 6px,#7a5a2e 6px 9px);border-radius:2px;box-shadow:1px 0 2px rgba(0,0,0,.6)}
.sign::before{left:16%;transform:rotate(-7deg);transform-origin:50% 100%}
.sign::after{right:16%;transform:rotate(7deg);transform-origin:50% 100%}
.sign__board{position:relative;padding:clamp(26px,4vw,48px) clamp(26px,5vw,64px) clamp(28px,4vw,46px);border-radius:10px;
  background-color:#552f16;background-image:linear-gradient(180deg,transparent 0 48%,rgba(0,0,0,.45) 48% calc(48% + 3px),transparent calc(48% + 3px)),var(--wood);background-size:auto,900px 300px;
  box-shadow:inset 0 0 0 3px rgba(0,0,0,.55),inset 0 0 0 5px rgba(255,200,140,.12),0 24px 50px rgba(0,0,0,.6),0 4px 0 #1a0f08}
.sign__board::before,.sign__board::after{content:"";position:absolute;top:14px;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d9c6a2,#5b4a30 60%,#2a1f10);box-shadow:0 1px 2px rgba(0,0,0,.7)}
.sign__board::before{left:16px}.sign__board::after{right:16px}
.sign__kicker{font-family:var(--type);font-size:clamp(12px,1.4vw,15px);letter-spacing:.28em;text-transform:uppercase;color:var(--kraft)}
.sign__title{font-family:var(--display);font-size:clamp(26px,5.2vw,68px);line-height:.95;text-transform:uppercase;color:var(--cream);letter-spacing:.01em;text-shadow:0 3px 0 rgba(0,0,0,.7),0 0 1px #000;margin-top:10px}
.sign__sub{font-family:var(--hand);font-weight:700;font-size:clamp(34px,5.6vw,72px);line-height:.9;color:var(--ember-2);transform:rotate(-2.5deg);margin-top:4px;text-shadow:0 2px 0 rgba(0,0,0,.6)}
.stamp-year{position:absolute;right:-18px;bottom:-26px;font-family:var(--type);font-size:clamp(13px,1.6vw,18px);letter-spacing:.2em;color:#f3d9d3;border:3px solid var(--wax);background:rgba(141,42,29,.92);padding:8px 14px;transform:rotate(6deg);box-shadow:0 3px 0 #3a0e07;text-transform:uppercase}
@keyframes sway{0%,100%{transform:rotate(-.7deg)}50%{transform:rotate(.7deg)}}
.hero__date{font-family:var(--type);font-size:clamp(15px,1.8vw,20px);letter-spacing:.14em;text-transform:uppercase;color:var(--cream);text-shadow:0 2px 12px rgba(0,0,0,.7)}
.hero__date b{color:var(--ember-2);font-weight:400}

/* Botões */
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 28px;border-radius:999px;font-family:var(--type);font-size:15px;letter-spacing:.1em;text-transform:uppercase;border:0;cursor:pointer;transition:transform .3s var(--ease),filter .3s;color:#fff}
.btn:hover{transform:translateY(-3px) rotate(-1deg);filter:brightness(1.12)}
.btn--wax{background:radial-gradient(circle at 30% 25%,#b8402e,var(--wax) 55%,#5a160d);box-shadow:inset 0 0 0 3px rgba(255,255,255,.12),0 5px 0 #3a0e07,0 14px 26px rgba(0,0,0,.5)}
.btn--ghost{background:rgba(21,13,7,.4);box-shadow:inset 0 0 0 2px rgba(246,236,212,.6)}
.btn svg{width:18px;height:18px}
.hero__ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}

/* Faixa de informações */
.strip{position:relative;z-index:2;margin-top:-1px;border-block:4px solid #120a05;box-shadow:0 14px 30px rgba(0,0,0,.5)}
.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.strip__item{padding:26px 22px;text-align:center;position:relative}
.strip__item+.strip__item::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:12px;background:radial-gradient(circle at 50% 12%,#cdb88e 0 3px,transparent 4px),radial-gradient(circle at 50% 88%,#cdb88e 0 3px,transparent 4px);opacity:.7;transform:translateX(-6px)}
.strip__label{font-family:var(--type);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--kraft)}
.strip__value{font-family:var(--display);font-size:clamp(20px,2.2vw,30px);line-height:1.15;margin-top:6px;color:var(--cream);text-shadow:0 2px 0 rgba(0,0,0,.6)}
.strip__small{font-size:14px;color:rgba(246,236,212,.7);margin-top:2px}

/* Papel */
.paper{position:relative;color:var(--ink);background-color:var(--paper);background-image:var(--fiber),var(--grain),linear-gradient(135deg,rgba(255,255,255,.35),rgba(150,100,40,.12));box-shadow:0 2px 0 rgba(0,0,0,.2),0 28px 60px rgba(0,0,0,.55)}
.paper--kraft{background-color:var(--kraft)}
.torn{clip-path:polygon(0.0% 0.5%,3.8% 0.2%,7.7% 1.0%,11.5% 0.1%,15.4% 0.9%,19.2% 0.6%,23.1% 0.1%,26.9% 0.8%,30.8% 0.1%,34.6% 0.7%,38.5% 0.1%,42.3% 0.1%,46.2% 0.7%,50.0% 1.3%,53.8% 0.2%,57.7% 0.4%,61.5% 1.0%,65.4% 1.5%,69.2% 0.9%,73.1% 0.6%,76.9% 1.6%,80.8% 0.1%,84.6% 1.4%,88.5% 0.5%,92.3% 0.2%,96.2% 0.2%,100.0% 0.5%,100.0% 98.8%,96.2% 99.3%,92.3% 99.8%,88.5% 98.4%,84.6% 99.5%,80.8% 98.8%,76.9% 98.6%,73.1% 99.2%,69.2% 99.1%,65.4% 99.6%,61.5% 98.9%,57.7% 98.7%,53.8% 99.5%,50.0% 99.3%,46.2% 99.1%,42.3% 99.5%,38.5% 99.3%,34.6% 98.9%,30.8% 99.7%,26.9% 99.9%,23.1% 99.9%,19.2% 99.1%,15.4% 99.4%,11.5% 99.0%,7.7% 99.1%,3.8% 99.7%,0.0% 98.7%)}
.tape{position:absolute;width:120px;height:34px;background:rgba(235,225,190,.6);box-shadow:0 1px 3px rgba(0,0,0,.3);top:-14px;left:50%;transform:translateX(-50%) rotate(-3deg);backdrop-filter:blur(1px)}
.tape--r{left:auto;right:8%;transform:rotate(5deg)}
.tape--l{left:8%;transform:rotate(-5deg)}

/* Carta */
.letter-wrap{padding-inline:var(--gut)}
.letter{max-width:780px;margin:0 auto;padding:clamp(40px,6vw,76px) clamp(26px,6vw,80px);transform:rotate(-.8deg)}
.letter__hi{font-family:var(--hand);font-size:clamp(34px,4.4vw,52px);font-weight:700;line-height:1;color:var(--wax)}
.letter p{font-family:var(--type);font-size:clamp(17px,1.7vw,21px);line-height:1.75;margin-top:22px}
.letter p strong{font-weight:400;background:linear-gradient(transparent 58%,rgba(224,102,28,.35) 58%)}
.letter__sign{font-family:var(--hand);font-size:clamp(30px,3.6vw,42px);font-weight:700;margin-top:28px;color:var(--ink);transform:rotate(-2deg);display:inline-block}
.seal{position:absolute;right:clamp(14px,5%,50px);bottom:-26px;width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#c24a35,var(--wax) 55%,#4f130a);box-shadow:0 6px 0 rgba(0,0,0,.25),0 12px 24px rgba(0,0,0,.5),inset 0 0 0 5px rgba(0,0,0,.12);display:grid;place-items:center;transform:rotate(12deg)}
.seal img{width:46px;height:auto;filter:brightness(0) invert(.88) opacity(.85);mix-blend-mode:normal}

/* Títulos de seção */
.sec-title{font-family:var(--display);font-size:clamp(32px,5vw,64px);line-height:1;text-transform:uppercase;text-shadow:0 3px 0 rgba(0,0,0,.65);letter-spacing:.01em}
.sec-title em{font-family:var(--hand);font-style:normal;font-weight:700;text-transform:none;color:var(--ember-2);font-size:1.25em;line-height:.6;text-shadow:0 2px 0 rgba(0,0,0,.5)}
.sec-lead{margin-top:18px;max-width:58ch;color:rgba(246,236,212,.8);font-size:clamp(17px,1.5vw,20px)}

/* Placas */
.boards{display:grid;gap:clamp(18px,2.2vw,30px);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));margin-top:clamp(36px,5vw,64px)}
.board{position:relative;padding:34px 28px 30px;border-radius:8px;background-color:#552f16;background-image:var(--wood);background-size:900px 300px;box-shadow:inset 0 0 0 3px rgba(0,0,0,.55),inset 0 0 0 5px rgba(255,200,140,.1),0 18px 34px rgba(0,0,0,.5),0 4px 0 #130a05;transition:transform .5s var(--ease)}
.board:nth-child(odd){transform:rotate(-.9deg)}.board:nth-child(even){transform:rotate(.8deg)}
.board:hover{transform:rotate(0) translateY(-6px)}
.board::before,.board::after{content:"";position:absolute;top:12px;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d9c6a2,#5b4a30 60%,#2a1f10);box-shadow:0 1px 2px rgba(0,0,0,.7)}
.board::before{left:14px}.board::after{right:14px}
.board svg{width:46px;height:46px;color:var(--ember-2);margin-bottom:14px}
.board h3{font-family:var(--display);font-size:clamp(22px,2vw,28px);line-height:1.1;text-transform:uppercase;text-shadow:0 2px 0 rgba(0,0,0,.6)}
.board p{margin-top:10px;color:rgba(246,236,212,.82);font-size:17px;line-height:1.55}

/* Quem pode */
.who{display:grid;gap:clamp(30px,5vw,80px);align-items:center}
@media(min-width:900px){.who{grid-template-columns:.8fr 1.2fr}}
.rubber{width:150px;aspect-ratio:1;position:absolute;right:-6px;bottom:-24px;border-radius:50%;border:8px double var(--wax);color:var(--wax);display:grid;place-items:center;text-align:center;transform:rotate(-9deg);
  background-image:var(--grain);background-blend-mode:multiply;opacity:.95;background-color:rgba(21,13,7,.55)}
.rubber::before{content:"";position:absolute;inset:14px;border-radius:50%;border:3px solid var(--wax)}
.rubber b{display:block;font-family:var(--display);font-size:56px;line-height:.9}
.rubber span{font-family:var(--type);letter-spacing:.2em;font-size:12px;text-transform:uppercase}
.checks li{position:relative;padding:14px 0 14px 44px;border-bottom:1px dashed rgba(246,236,212,.25);font-size:clamp(17px,1.5vw,20px)}
.checks li::before{content:"";position:absolute;left:4px;top:20px;width:20px;height:11px;border-left:4px solid var(--ember-2);border-bottom:4px solid var(--ember-2);transform:rotate(-45deg)}

/* Tags (o que você vai viver) */
.tags{display:flex;flex-wrap:wrap;gap:clamp(14px,2vw,26px);justify-content:center;margin-top:clamp(40px,5vw,70px);padding-top:30px;position:relative}
.tags::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:repeating-linear-gradient(90deg,#c5a46c 0 8px,#7a5a2e 8px 12px);border-radius:3px;box-shadow:0 3px 6px rgba(0,0,0,.5)}
.tag{position:relative;min-width:170px;padding:26px 24px 20px;background-color:var(--kraft);background-image:var(--fiber),var(--grain);color:var(--ink);font-family:var(--type);font-size:18px;text-align:center;clip-path:polygon(12% 0,88% 0,100% 18%,100% 100%,0 100%,0 18%);box-shadow:0 10px 18px rgba(0,0,0,.5);transform-origin:50% -26px;transition:transform .5s var(--ease)}
.tag:nth-child(odd){transform:rotate(-3deg)}.tag:nth-child(even){transform:rotate(2.5deg)}
.tag:hover{transform:rotate(0)}
.tag::before{content:"";position:absolute;left:50%;top:-4px;width:12px;height:12px;border-radius:50%;background:#2a1a0e;transform:translateX(-50%);box-shadow:0 0 0 3px rgba(255,255,255,.35)}

/* Linha do tempo (corda) */
.rope{position:relative;margin-top:clamp(40px,5vw,70px);display:grid;gap:34px;padding-left:44px}
.rope::before{content:"";position:absolute;left:12px;top:6px;bottom:6px;width:8px;border-radius:4px;background:repeating-linear-gradient(180deg,#d1b27a 0 10px,#8a6a38 10px 15px);box-shadow:2px 0 4px rgba(0,0,0,.5)}
.rope__item{position:relative}
.rope__item::before{content:"";position:absolute;left:-44px;top:4px;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--ember-2),var(--ember) 60%,#7a2d08);box-shadow:0 0 0 4px var(--night),0 0 18px rgba(224,102,28,.55)}
.rope__year{font-family:var(--hand);font-weight:700;font-size:34px;color:var(--ember-2);line-height:1}
.rope__item h3{font-family:var(--display);font-size:clamp(22px,2.4vw,30px);text-transform:uppercase;line-height:1.1;text-shadow:0 2px 0 rgba(0,0,0,.6)}
.rope__item p{margin-top:8px;color:rgba(246,236,212,.8);max-width:60ch}

/* Inclui */
.pack{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));margin-top:clamp(36px,5vw,60px)}
.pack__item{padding:26px 22px;background-color:var(--paper);background-image:var(--fiber),var(--grain);color:var(--ink);font-family:var(--type);font-size:18px;line-height:1.4;box-shadow:0 14px 28px rgba(0,0,0,.45);position:relative;transform:rotate(-1deg)}
.pack__item:nth-child(even){transform:rotate(1.2deg)}
.pack__item small{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--wax);margin-bottom:6px}

/* Inscrição */
.cta{text-align:center}
.cta__board{max-width:900px;margin:0 auto;padding:clamp(40px,6vw,80px) clamp(24px,5vw,70px);border-radius:12px;background-color:#552f16;background-image:var(--wood);background-size:900px 300px;box-shadow:inset 0 0 0 4px rgba(0,0,0,.55),inset 0 0 0 7px rgba(255,200,140,.12),0 30px 70px rgba(0,0,0,.65);position:relative}
.cta__price{font-family:var(--display);font-size:clamp(40px,6vw,76px);line-height:1;margin-top:20px;text-shadow:0 3px 0 rgba(0,0,0,.65)}
.cta__meta{font-family:var(--type);letter-spacing:.12em;text-transform:uppercase;color:var(--kraft);margin-top:10px}
.cta .btn{margin-top:34px;font-size:17px;padding:20px 36px}
.cta__note{margin-top:20px;font-size:15px;color:rgba(246,236,212,.65)}

/* Rodapé */
.footer{background:#0e0804;border-top:4px solid #000;padding-block:48px 34px;text-align:center}
.footer img{height:54px;width:auto;margin:0 auto 18px}
.footer p{color:rgba(246,236,212,.6);font-size:15px}
.footer a{color:var(--ember-2)}
.footer__links{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:16px;font-family:var(--type);text-transform:uppercase;letter-spacing:.1em;font-size:14px}

/* Reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-in{opacity:1;transform:none}

@media(max-width:900px){
  .menu-btn{display:block;z-index:3}
  .brand{position:relative;z-index:3}
  .nav{position:fixed;inset:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:100px var(--gut) 40px;background-color:#2a1a0e;background-image:var(--wood),linear-gradient(rgba(10,5,2,.5),rgba(10,5,2,.5));background-size:900px 300px,auto;transform:translateY(-100%);visibility:hidden;transition:transform .6s var(--ease),visibility 0s .6s}
  .menu-open .nav{transform:none;visibility:visible;transition:transform .6s var(--ease)}
  .nav a{font-family:var(--display);font-size:clamp(28px,8vw,40px);opacity:1;text-transform:none}
  .nav .nav-cta{margin-top:18px;font-family:var(--type);font-size:16px}
  .menu-open{overflow:hidden}
  .strip .wrap{grid-template-columns:1fr 1fr}
  .strip__item:nth-child(3)::before{display:none}
}
@media(max-width:560px){
  body{font-size:17px}
  .strip .wrap{grid-template-columns:1fr 1fr}
  .strip__item{padding:20px 12px}
  .stamp-year{right:-6px}
  .sign{transform-origin:50% -60px}
  .sign::before,.sign::after{top:-60px;height:64px}
  .seal{width:68px;height:68px;bottom:-22px}
  .btn{padding:14px 20px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}

/* Fundo liso: madeira só como acento */
.soil{background-color:#17100a}
.soil-2{background-color:#1e150d}
.soil.grain::after{opacity:.35;mix-blend-mode:overlay}
.beam{height:26px;background-color:#552f16;background-image:var(--wood);background-size:900px 300px;border-block:3px solid #0d0703;box-shadow:inset 0 3px 0 rgba(255,200,140,.1),inset 0 -5px 0 rgba(0,0,0,.45),0 10px 24px rgba(0,0,0,.45);position:relative;z-index:1}

/* Polaroids */
.polaroid{position:relative;margin:0;background:#f3ead2;background-image:var(--grain);padding:12px 12px 16px;box-shadow:0 16px 34px rgba(0,0,0,.55);transform:rotate(var(--r,-2deg));transition:transform .5s var(--ease)}
.polaroid:hover{transform:rotate(0) scale(1.02)}
.polaroid img{width:100%;aspect-ratio:1;object-fit:cover;filter:sepia(.12) saturate(.95) contrast(1.03)}
.polaroid figcaption{font-family:var(--hand);font-weight:700;font-size:clamp(24px,2.4vw,32px);color:var(--ink);text-align:center;margin-top:10px;line-height:1}
.polaroid .tape{top:-16px;width:96px;height:30px}
.polaroid--lg{max-width:420px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:clamp(26px,3.4vw,50px);margin-top:clamp(36px,5vw,64px)}
.gallery .polaroid:nth-child(even){margin-top:34px}

.letter-grid{display:grid;gap:clamp(34px,5vw,70px);align-items:center}
@media(min-width:960px){.letter-grid{grid-template-columns:1.25fr .75fr}}
.letter{margin:0;transform:rotate(-.8deg)}
.letter-grid .polaroid{justify-self:center;width:100%}

.who__media{position:relative;justify-self:center;width:min(380px,86vw)}
@media(min-width:900px){.who{grid-template-columns:.75fr 1.25fr}}

.hist{display:grid;gap:clamp(34px,5vw,80px);align-items:start}
@media(min-width:960px){.hist{grid-template-columns:1.25fr .75fr}.hist .polaroid{position:sticky;top:120px;margin-top:40px}}
.hist .polaroid{justify-self:center;width:100%}

/* Faixa de foto */
.photo-band{position:relative;min-height:min(78vh,720px);display:flex;align-items:flex-end;background-size:cover;background-position:center 40%;isolation:isolate;padding:80px 0 clamp(36px,6vw,70px)}
.photo-band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(21,13,7,.35) 0%,rgba(21,13,7,.15) 40%,rgba(21,13,7,.85) 100%)}
.photo-band__text{font-family:var(--display);font-size:clamp(30px,5.2vw,68px);line-height:1.02;text-transform:uppercase;text-shadow:0 3px 0 rgba(0,0,0,.6),0 8px 30px rgba(0,0,0,.6)}
.photo-band__text span{font-family:var(--hand);text-transform:none;color:var(--ember-2);font-size:1.15em}

/* Pagamento em duas etapas */
.pay{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,24px);margin:30px auto 0;max-width:640px;text-align:left}
.pay__step{padding:22px 24px;transform:rotate(-1.2deg)}
.pay__step:nth-child(2){transform:rotate(1.2deg)}
.pay__step small{display:block;font-family:var(--type);letter-spacing:.2em;text-transform:uppercase;font-size:12px;color:var(--wax)}
.pay__step strong{display:block;font-family:var(--display);font-size:clamp(28px,3.4vw,40px);line-height:1.1;margin-top:4px}
.pay__step p{font-family:var(--type);font-size:15px;line-height:1.4;margin-top:6px}
@media(max-width:560px){.pay{grid-template-columns:1fr}}

.pay__step.paper{background-image:linear-gradient(135deg,rgba(255,255,255,.4),rgba(150,100,40,.1));color:var(--ink)}
.pay__step small{color:var(--wax);font-weight:700}

/* Hero: caixa de madeira com o vídeo */
.hero{background:radial-gradient(70% 60% at 50% 0%,rgba(224,102,28,.16),transparent 70%),#17100a}
.vframe{width:100%;max-width:980px;padding:clamp(10px,1.8vw,20px);border-radius:12px;background-color:#552f16;background-image:var(--wood);background-size:900px 300px;
  box-shadow:inset 0 0 0 3px rgba(0,0,0,.6),inset 0 0 0 6px rgba(255,200,140,.12),0 30px 70px rgba(0,0,0,.65),0 5px 0 #130a05;position:relative}
.vframe::before,.vframe::after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d9c6a2,#5b4a30 60%,#2a1f10);box-shadow:0 1px 2px rgba(0,0,0,.7);top:7px}
.vframe::before{left:7px}.vframe::after{right:7px}
.vframe__inner{position:relative;border-radius:4px;overflow:hidden;background:#000;aspect-ratio:16/9;box-shadow:inset 0 0 0 2px rgba(0,0,0,.8)}
.vframe video{width:100%;height:100%;object-fit:cover;display:block}
.vplay{position:absolute;left:50%;top:50%;width:clamp(72px,9vw,108px);height:clamp(72px,9vw,108px);transform:translate(-50%,-50%);border:0;border-radius:50%;cursor:pointer;color:#fff;
  background:radial-gradient(circle at 32% 28%,#c24a35,var(--wax) 55%,#4f130a);box-shadow:inset 0 0 0 4px rgba(255,255,255,.12),0 6px 0 #3a0e07,0 18px 36px rgba(0,0,0,.6);display:grid;place-items:center;transition:transform .3s var(--ease),opacity .3s}
.vplay svg{width:42%;height:42%;margin-left:6%}
.vplay:hover{transform:translate(-50%,-52%) scale(1.06)}
.vplay.is-hidden{opacity:0;pointer-events:none}
.vframe__inner::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(21,13,7,.15),rgba(21,13,7,.35))}
.vframe__inner:has(.vplay.is-hidden)::after{display:none}
.hero .sign{transform-origin:50% -50px}
.hero .sign::before,.hero .sign::after{top:-46px;height:50px}
@media(max-width:560px){.hero{padding-top:110px}.vframe{padding:8px}}

/* Carta: hashtag e polaroid sem legenda */
.letter__tag{font-family:var(--hand);font-weight:700;font-size:clamp(28px,3.2vw,38px);color:var(--wax);transform:rotate(-1.5deg);display:inline-block;margin-top:6px}
.letter-grid .polaroid{padding-bottom:56px}
.who__media .polaroid{padding-bottom:56px}

/* Tags em linha, mesma largura */
.tags{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.6vw,22px)}
.tag{min-width:0;display:grid;place-items:center;min-height:120px;line-height:1.3;padding:30px 12px 22px;font-size:clamp(16px,1.5vw,19px)}
@media(max-width:1000px){.tags{grid-template-columns:repeat(2,1fr)}.tag:last-child{grid-column:1/-1;max-width:50%;justify-self:center;width:100%}}
@media(max-width:480px){.tags{grid-template-columns:1fr}.tag:last-child{max-width:none}}

/* Faixa de foto centralizada */
.photo-band{align-items:flex-end;text-align:center}
.photo-band__text{margin-inline:auto}

.hero{padding-top:104px;padding-bottom:56px}
.hero__inner{gap:20px}
.vframe{max-width:820px}
@media(max-width:560px){.hero{padding-top:92px}}

.vframe{max-width:max(520px,min(820px,calc((100svh - 470px) * 1.7778)))}
.hero{padding-bottom:44px}
@media(max-width:700px){.vframe{max-width:100%}}

/* Hero compacto: tudo na primeira tela */
.hero{padding-top:92px;padding-bottom:36px}
.hero .sign__board{padding:clamp(16px,2vw,26px) clamp(24px,4vw,56px) clamp(18px,2vw,26px)}
.hero .sign__title{font-size:clamp(24px,4.1vw,56px);margin-top:4px}
.hero .sign__sub{font-size:clamp(30px,4.7vw,62px)}
.hero .sign__kicker{font-size:clamp(11px,1.1vw,13px)}
.hero__inner{gap:16px}
.vframe{max-width:max(480px,min(820px,calc((100svh - 440px) * 1.7778)))}
@media(max-width:700px){.vframe{max-width:100%}.hero{padding-top:88px}}

.hero .stamp-year{bottom:auto;top:-18px;right:-14px}

/* Título sem placa */
.htitle{display:grid;justify-items:center;gap:6px}
.htitle__kicker{font-family:var(--type);font-size:clamp(11px,1.2vw,14px);letter-spacing:.3em;text-transform:uppercase;color:var(--kraft)}
.htitle h1{display:grid;justify-items:center;gap:0;margin:0}
.htitle__main{font-family:var(--display);font-size:clamp(26px,4.4vw,56px);line-height:1;text-transform:uppercase;letter-spacing:.02em;color:var(--cream);text-shadow:0 3px 0 rgba(0,0,0,.65),0 0 28px rgba(224,102,28,.18);opacity:0;animation:rise 1s var(--ease) .1s forwards}
.htitle__sub{font-family:var(--hand);font-weight:700;font-size:clamp(34px,5.2vw,66px);line-height:.95;color:var(--ember-2);text-shadow:0 2px 0 rgba(0,0,0,.55),0 0 22px rgba(242,160,58,.35);transform-origin:50% 0;opacity:0;animation:rise 1s var(--ease) .35s forwards,sway-sub 7s ease-in-out 1.4s infinite,glow 4.5s ease-in-out 1.4s infinite}
@keyframes rise{from{opacity:0;transform:translateY(16px) rotate(-2deg)}to{opacity:1;transform:translateY(0) rotate(-2deg)}}
@keyframes sway-sub{0%,100%{transform:rotate(-2.6deg) translateY(0)}50%{transform:rotate(-1deg) translateY(3px)}}
@keyframes glow{0%,100%{text-shadow:0 2px 0 rgba(0,0,0,.55),0 0 18px rgba(242,160,58,.28)}50%{text-shadow:0 2px 0 rgba(0,0,0,.55),0 0 30px rgba(242,160,58,.55)}}
.hero .hero__date{margin-top:8px;font-size:clamp(13px,1.5vw,17px)}
.hero{padding-top:96px}
@media(max-width:700px){.hero{padding-top:90px}}
@media(prefers-reduced-motion:reduce){.htitle__main,.htitle__sub{opacity:1;animation:none}}

.footer__links a{display:inline}
[hidden]{display:none!important}
