:root{
  --verde:#164A35;
  --verde-esc:#0E3324;
  --folha:#88A57A;
  --coco:#FAF8F1;
  --areia:#E8DDC8;
  --castanho:#49372B;
  --branco:#fff;
  --gut:clamp(20px,4vw,56px);
  --ease:cubic-bezier(.22,.8,.22,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{font-family:'DM Sans',system-ui,sans-serif;background:var(--coco);color:var(--castanho);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--folha);outline-offset:3px}
h1,h2,h3,.disp{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;letter-spacing:-.035em;line-height:.98;color:var(--verde)}
.wrap{width:min(1240px,100% - var(--gut)*2);margin-inline:auto}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--verde)}
.eyebrow::before{content:'';width:28px;height:1px;background:currentColor}
.dark .eyebrow,.eyebrow.claro{color:var(--folha)}

/* grain */
body::after{content:'';position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.05;background-image: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='.9' 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 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* preloader */
.pre{display:none}
.js .pre{position:fixed;inset:0;z-index:100;background:var(--verde);display:grid;place-items:center;animation:preOut 1s cubic-bezier(.77,0,.18,1) 1.35s forwards}
.pre span{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(3.4rem,12vw,8rem);letter-spacing:-.05em;color:var(--coco);animation:preIn 1s var(--ease) both}
@keyframes preIn{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes preOut{to{transform:translateY(-100%);visibility:hidden}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--verde);color:var(--coco);font-weight:700;font-size:1rem;text-decoration:none;padding:6px 6px 6px 28px;border-radius:999px;position:relative;overflow:hidden;isolation:isolate;transition:color .4s var(--ease),background .4s}
.btn i{width:46px;height:46px;border-radius:50%;background:var(--coco);color:var(--verde);display:grid;place-items:center;font-style:normal;font-size:1.15rem;transition:transform .5s var(--ease)}
.btn:hover i{transform:rotate(-45deg)}
.btn.claro{background:var(--coco);color:var(--verde)}
.btn.claro i{background:var(--verde);color:var(--coco)}
.btn.sm{padding:4px 4px 4px 20px;font-size:.9rem}
.btn.sm i{width:36px;height:36px;font-size:.95rem}

/* header */
.hd{position:fixed;top:0;left:0;right:0;z-index:50;transition:transform .5s var(--ease),background .4s,box-shadow .4s}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;height:78px}
.hd.on{background:rgba(250,248,241,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(22,74,53,.1)}
.hd.off{transform:translateY(-100%)}
.marca{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:1.75rem;letter-spacing:-.05em;color:var(--verde);text-decoration:none}
.nav{display:flex;gap:34px;font-size:.92rem;font-weight:500}
.nav a{text-decoration:none;position:relative;padding:4px 0}
.nav a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--verde);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}

/* hero */
.hero{min-height:100svh;padding:110px 0 70px;display:flex;align-items:center;position:relative;overflow:hidden}
.hero-bg{position:absolute;top:0;bottom:0;left:16%;right:0;overflow:hidden;background:var(--areia)}
.hero-bg video{position:absolute;left:0;top:-9%;width:100%;height:118%;object-fit:cover;object-position:50% 55%}
.hero-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--coco) 0,var(--coco) 18%,rgba(250,248,241,.9) 30%,rgba(250,248,241,.55) 44%,rgba(250,248,241,0) 64%),linear-gradient(180deg,rgba(250,248,241,.75),rgba(250,248,241,0) 22%)}
.hero-grid{position:relative;z-index:1;display:block}
.hero-txt{max-width:640px}
.hero h1{font-size:clamp(3.3rem,7.6vw,7.4rem);margin:26px 0 30px;font-weight:800}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.hero h1 .ln>span{display:block}
.hero h1 em{font-style:normal;color:var(--folha)}
.hero .lead{font-size:clamp(1.05rem,1.4vw,1.25rem);max-width:34ch;margin-bottom:34px}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:26px}
.hero-cta .assin{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.15rem;color:var(--verde);letter-spacing:-.02em}
.hero-fig{position:relative;justify-self:end;width:min(100%,520px)}
.arch{position:relative;aspect-ratio:3/4;border-radius:200px 200px 32px 32px;overflow:hidden;background:var(--areia);box-shadow:0 60px 90px -50px rgba(22,74,53,.7)}
.arch img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover;will-change:transform}
.badge{position:absolute;z-index:2;right:calc(var(--gut) + 8px);bottom:44px;width:128px;height:128px;border-radius:50%;background:var(--verde);display:grid;place-items:center;box-shadow:0 24px 40px -20px rgba(14,51,36,.7)}
.badge svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 22s linear infinite}
.badge text{fill:var(--coco);font-family:'DM Sans',sans-serif;font-weight:700;font-size:10.6px;letter-spacing:.2em}
.badge b{font-family:'Bricolage Grotesque',sans-serif;color:var(--folha);font-size:1.7rem;line-height:1}
@keyframes spin{to{transform:rotate(360deg)}}
.chip{position:absolute;background:rgba(250,248,241,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.7);border-radius:18px;padding:12px 18px;font-size:.84rem;line-height:1.35;color:var(--verde);box-shadow:0 20px 40px -24px rgba(22,74,53,.6)}
.chip b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:1.5rem;letter-spacing:-.03em;line-height:1}
.chip.c1{right:-22px;top:16%}
.chip.c2{right:-22px;bottom:7%;max-width:190px}
.rolar{position:absolute;left:var(--gut);bottom:26px;display:flex;align-items:center;gap:12px;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--verde)}
.rolar::after{content:'';width:1px;height:42px;background:var(--verde);transform-origin:top;animation:linha 2s var(--ease) infinite}
@keyframes linha{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* marquee */
.faixa{background:var(--verde);color:var(--coco);overflow:hidden;white-space:nowrap;padding:22px 0}
.faixa .tr{display:inline-flex;animation:corre 34s linear infinite}
.faixa span{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(2rem,4.4vw,3.6rem);letter-spacing:-.03em;padding:0 .5em}
.faixa span.o{color:transparent;-webkit-text-stroke:1.3px var(--coco)}
.faixa span.d{color:var(--folha);padding:0}
@keyframes corre{to{transform:translateX(-50%)}}

section{position:relative}
.pad{padding:clamp(80px,12vw,170px) 0}

/* statement */
.statement p{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;letter-spacing:-.035em;line-height:1.08;font-size:clamp(2rem,4.9vw,4.4rem);color:var(--verde);max-width:19em}
.statement .w{display:inline-block}
.statement .eyebrow{margin-bottom:34px}

/* story */
.story-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,110px);align-items:center;min-height:100svh;padding:70px 0}
.story h2,.produto h2,.galeria h2,.dia h2,.faq h2{font-size:clamp(2.4rem,5.4vw,5rem);margin:22px 0 0}
.steps{margin-top:clamp(30px,5vh,64px)}
.step{padding:22px 0;border-top:1px solid rgba(22,74,53,.18)}
.step b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(2.4rem,4.6vw,4.2rem);letter-spacing:-.04em;line-height:1;color:var(--verde)}
.step p{margin-top:8px;max-width:34ch}
.step-m{display:none}
.stack{position:relative;aspect-ratio:4/5;max-height:80svh;width:100%;justify-self:end;border-radius:32px;overflow:hidden;background:var(--areia);box-shadow:0 60px 90px -55px rgba(22,74,53,.7)}
.sfig{position:absolute;inset:0}
.sfig img{width:100%;height:100%;object-fit:cover}

/* produto */
.produto{background:var(--areia)}
.produto .head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.produto .head p{max-width:34ch;font-size:1.1rem}
.wide{margin:clamp(30px,5vw,60px) 0;overflow:hidden;border-radius:32px;background:#fff;box-shadow:0 50px 80px -50px rgba(22,74,53,.5)}
.wide img{width:100%;transform:scale(1.04)}
.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(22,74,53,.28)}
.specs li{padding:26px 24px 8px 0}
.specs li+li{padding-left:24px;border-left:1px solid rgba(22,74,53,.2)}
.specs b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(1.6rem,2.6vw,2.4rem);letter-spacing:-.04em;color:var(--verde);line-height:1.05;margin-bottom:8px}
.specs span{font-size:.95rem}

/* galeria */
.galeria{background:var(--verde);color:var(--coco);overflow:hidden}
.galeria h2{color:var(--coco)}
.galeria .intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:clamp(34px,5vw,60px)}
.galeria .intro p{max-width:32ch;opacity:.85;font-size:1.08rem}
.gal-pin{display:flex;flex-direction:column;justify-content:center}
.gal-track{display:flex;gap:clamp(14px,2vw,28px);padding:0 var(--gut);width:max-content}
.gcard{flex:none;width:clamp(240px,26vw,380px);aspect-ratio:3/4;border-radius:26px;overflow:hidden;background:var(--verde-esc)}
.gcard:nth-child(even){margin-top:56px}
.gcard img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.gcard:hover img{transform:scale(1.05)}

/* dia */
.dia .topo{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:clamp(30px,5vw,60px)}
.dia .topo p{max-width:30ch;font-size:1.08rem}
.rows li{position:relative;display:grid;grid-template-columns:70px 1.1fr 1fr 40px;gap:20px;align-items:center;padding:30px 0;border-top:1px solid rgba(22,74,53,.22);overflow:hidden;isolation:isolate;transition:color .5s var(--ease),padding .5s var(--ease)}
.rows li:last-child{border-bottom:1px solid rgba(22,74,53,.22)}
.rows li::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--verde);transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--ease)}
.rows li:hover{color:var(--coco);padding-left:22px;padding-right:22px}
.rows li:hover::before{transform:scaleY(1)}
.rows li:hover h3{color:var(--coco)}
.rows .n{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;color:var(--folha);font-size:1.1rem}
.rows h3{font-size:clamp(1.5rem,3vw,2.7rem);transition:color .5s}
.rows .ar{justify-self:end;font-size:1.5rem}
.nota{margin-top:30px;max-width:64ch;font-size:1rem;opacity:.9}

/* cenario */
.cenario{padding:0 0 clamp(80px,12vw,170px)}
.cen{position:relative;border-radius:36px;overflow:hidden;min-height:min(78svh,720px);display:flex;align-items:flex-end}
.cen img{position:absolute;left:0;top:-15%;width:100%;height:130%;object-fit:cover}
.cen::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,51,36,.9),rgba(14,51,36,.55) 34%,rgba(14,51,36,0) 55%)}
.cen div{position:relative;z-index:1;padding:clamp(28px,5vw,64px);max-width:min(40%,520px);color:var(--coco);align-self:center}
.cen h2{color:var(--coco);font-size:clamp(2.2rem,4.4vw,4rem);margin-bottom:16px}
.cen p{opacity:.92}

/* faq */
.faq .grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,100px)}
details{border-top:1px solid rgba(22,74,53,.22);padding:26px 0}
details:last-child{border-bottom:1px solid rgba(22,74,53,.22)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(1.2rem,2vw,1.6rem);letter-spacing:-.025em;color:var(--verde)}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';flex:none;width:42px;height:42px;border-radius:50%;border:1px solid rgba(22,74,53,.35);display:grid;place-items:center;font-weight:400;font-size:1.5rem;line-height:1;transition:transform .5s var(--ease),background .3s,color .3s}
details[open] summary::after{transform:rotate(45deg);background:var(--verde);color:var(--coco)}
details p{margin-top:14px;max-width:56ch}

/* cta */
.cta{background:var(--verde);color:var(--coco);overflow:hidden;position:relative;text-align:center;padding:clamp(80px,12vw,170px) 0}
.cta::before,.cta::after{content:'';position:absolute;border-radius:50%;border:1px solid rgba(136,165,122,.28)}
.cta::before{width:min(90vw,820px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%)}
.cta::after{width:min(60vw,520px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%)}
.cta .wrap{position:relative;z-index:1}
.cta h2{color:var(--coco);font-size:clamp(2.8rem,8vw,7.6rem);font-weight:800;margin:24px auto 22px;max-width:11em}
.cta h2 em{font-style:normal;color:var(--folha)}
.cta p{max-width:44ch;margin:0 auto 12px;opacity:.88;font-size:1.1rem}
.cta .palavra{display:block;margin:0 0 36px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;letter-spacing:.2em;font-size:1.05rem;color:var(--folha)}

/* footer */
footer{background:var(--verde-esc);color:var(--coco);padding:60px 0 0;overflow:hidden}
footer .wrap{overflow:hidden}
footer .cols{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;font-size:.95rem}
footer .cols p{opacity:.85;max-width:32ch}
footer a.ig{font-weight:700;color:var(--folha);text-decoration:none}
footer a.ig:hover{text-decoration:underline}
footer .giga{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;letter-spacing:-.045em;line-height:.8;font-size:clamp(7rem,28vw,26rem);color:#1A4533;margin:40px 0 -.12em;text-align:center;user-select:none}
.credit{font-size:.78rem;opacity:.7;text-align:center;padding:22px 0 26px;position:relative;z-index:1;background:var(--verde-esc)}
.credit a{text-decoration:underline}

/* animacao (so com JS) */
.js .rv{opacity:0;transform:translateY(46px)}
.js .hi{opacity:0}
.js .arch{clip-path:inset(100% 0% 0% 0% round 200px 200px 32px 32px)}
/* responsivo */
@media (max-width:980px){
  .nav{display:none}
  .specs{grid-template-columns:1fr 1fr}
  .specs li:nth-child(3){padding-left:0;border-left:0}
  .specs li:nth-child(n+3){border-top:1px solid rgba(22,74,53,.2);margin-top:18px;padding-top:26px}
  .rows li{grid-template-columns:48px 1fr 28px}
  .rows li p{grid-column:2/3;grid-row:2}
  .rows .ar{grid-row:1;grid-column:3}
  .faq .grid{grid-template-columns:1fr}
}
@media (max-width:860px){
  .hd .wrap{height:66px}
  .hero{padding:92px 0 56px;min-height:0;flex-direction:column;align-items:stretch}
  .hero-bg{position:relative;order:2;left:auto;right:auto;top:auto;bottom:auto;width:calc(100% - var(--gut)*2);margin:40px auto 0;aspect-ratio:4/5;border-radius:28px;box-shadow:0 50px 80px -50px rgba(22,74,53,.6)}
  .hero-bg video{top:0;height:100%;object-position:50% 60%}
  .hero-veil{display:none}
  .hero-grid{order:1}
  .badge{right:calc(var(--gut) + 14px);bottom:84px;width:96px;height:96px}
  .badge b{font-size:1.3rem}
  .rolar{display:none}
  .story-in{display:block;min-height:0;padding:0}
  .story .pad{padding:80px 0}
  .stack{display:none}
  .step-m{display:block;margin-top:20px;border-radius:24px;overflow:hidden;aspect-ratio:4/5;background:var(--areia)}
  .step-m img{width:100%;height:100%;object-fit:cover}
  .step{padding:30px 0}
  .steps{margin-top:30px}
  .gal-pin{display:block}
  .gal-track{overflow-x:auto;scroll-snap-type:x mandatory;width:auto;padding-bottom:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .gal-track::-webkit-scrollbar{display:none}
  .gcard{scroll-snap-align:center;width:72vw}
  .gcard:nth-child(even){margin-top:0}
  .cen{display:block;min-height:0;background:var(--verde)}
  .cen img{position:static;height:auto;aspect-ratio:4/3}
  .cen::after{display:none}
  .cen div{max-width:none;padding:30px 26px 36px}
}
@media (max-width:480px){
  .hero h1{font-size:clamp(3rem,15vw,4.2rem)}
  .chip.c2{display:none}
  .specs{grid-template-columns:1fr}
  .specs li,.specs li+li{padding-left:0;border-left:0}
  .specs li:nth-child(n+2){border-top:1px solid rgba(22,74,53,.2);margin-top:14px;padding-top:22px}
}
@media (prefers-reduced-motion:reduce){
  .faixa .tr,.badge svg,.rolar::after{animation:none}
  .js .pre{display:none}
  .js .rv{opacity:1;transform:none}
}

/* ===== textos centralizados ===== */
.eyebrow{justify-content:center}
.eyebrow::after{content:'';width:28px;height:1px;background:currentColor}
.hero-txt{text-align:center}
.hero-txt .lead{margin-inline:auto}
.hero-cta{justify-content:center}
.statement .wrap{text-align:center}
.statement p{margin-inline:auto}
.story-txt{text-align:center}
.step p{margin-inline:auto}
.produto .head,.galeria .intro,.dia .topo{flex-direction:column;align-items:center;text-align:center;gap:18px}
.produto .head p,.galeria .intro p,.dia .topo p{margin-inline:auto}
.specs{text-align:center}
.specs li,.specs li+li{padding-left:24px;padding-right:24px}
.rows li,.rows li:hover{grid-template-columns:1fr;justify-items:center;text-align:center;gap:6px;padding-left:0;padding-right:0}
.rows li p{grid-column:auto;grid-row:auto}
.rows .ar{display:none}
.nota{margin-inline:auto;text-align:center}
.faq .grid{grid-template-columns:1fr;max-width:860px;text-align:center;gap:34px}
summary{justify-content:center;position:relative;padding:0 60px}
summary::after{position:absolute;right:0;top:50%;margin-top:-21px}
details p{margin-inline:auto}
.cen div{text-align:center;max-width:min(42%,540px)}
footer .cols{flex-direction:column;align-items:center;text-align:center}
footer .cols p{margin-inline:auto}
@media (max-width:860px){
  .cen div{max-width:none}
  .specs li,.specs li+li{padding-left:10px;padding-right:10px}
}
@media (max-width:480px){
  .specs li,.specs li+li{padding-left:0;padding-right:0}
  summary{padding:0 52px 0 8px}
}

/* ===== ritual: video controlado pelo scroll ===== */
.ritual{position:relative;height:640vh;background:#fff}
.r-sticky{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;background:#fff}
.r-sticky video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.r-fade{position:absolute;left:0;right:0;height:16%;z-index:2;pointer-events:none}
.r-top{top:0;background:linear-gradient(var(--coco),rgba(250,248,241,0))}
.r-bot{bottom:0;background:linear-gradient(rgba(250,248,241,0),var(--coco))}
.r-hud{position:absolute;z-index:4;top:92px;left:var(--gut);right:var(--gut);display:flex;justify-content:space-between;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--verde)}
.r-bar{position:absolute;z-index:4;left:var(--gut);right:var(--gut);bottom:34px;height:2px;background:rgba(22,74,53,.16)}
.r-bar i{display:block;height:100%;background:var(--verde);transform-origin:left;transform:scaleX(0)}
.r-scenes{position:absolute;inset:0;z-index:3;pointer-events:none}
.scene{position:absolute;top:0;bottom:0;width:min(460px,38vw);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:16px;opacity:0;isolation:isolate;will-change:transform,opacity}
.scene::before{content:'';position:absolute;inset:-14% -24%;z-index:-1;background:radial-gradient(closest-side,rgba(250,248,241,.9),rgba(250,248,241,.55) 55%,rgba(250,248,241,0))}
.sc-left{left:var(--gut)}
.sc-right{right:var(--gut)}
.sc-center{left:0;right:0;margin-inline:auto;width:min(720px,86vw);justify-content:flex-end;padding-bottom:15vh}
.sc-center::before{inset:-6% -20%}
.scene h2{font-size:clamp(2rem,4.2vw,4rem);margin:0}
.scene p{max-width:30ch}
.scene .w{display:inline-block;will-change:transform,opacity}
.scene .btn{pointer-events:none}
.scene.on .btn{pointer-events:auto}
.no-scrub .ritual{display:none}

/* ===== efeitos de scroll ===== */
.pbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;background:var(--folha);transform-origin:left;transform:scaleX(0);pointer-events:none}
.statement{overflow:hidden}
.statement .wrap{position:relative;z-index:1}
.ghost{position:absolute;left:0;right:0;top:4%;text-align:center;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(10rem,34vw,36rem);letter-spacing:-.06em;line-height:.8;color:transparent;-webkit-text-stroke:1.5px rgba(22,74,53,.13);pointer-events:none;user-select:none}
.sw{display:inline-block;overflow:hidden;vertical-align:top;padding:.05em .03em .16em;margin:-.05em -.03em -.16em}
.si{display:inline-block;will-change:transform}
.jsm .faixa .tr{animation:none;will-change:transform}

@media (max-width:860px){
  .ritual{height:560vh}
  .scene,.sc-right,.sc-left{left:var(--gut);right:var(--gut);width:auto;justify-content:flex-end;padding-bottom:16vh}
  .scene::before{inset:-4% -8%;background:radial-gradient(closest-side,rgba(250,248,241,.92),rgba(250,248,241,.6) 60%,rgba(250,248,241,0))}
  .scene h2{font-size:clamp(1.9rem,8vw,2.8rem)}
  .sc-center{padding-bottom:18vh}
  .r-hud{top:80px}
}
@media (prefers-reduced-motion:reduce){.ritual{display:none}}

/* ajustes finos do ritual */
.scene.sc-left,.scene.sc-right{width:min(360px,26vw)}
.sc-center::before{inset:auto -14% -4% -14%;height:60%;background:radial-gradient(ellipse at 50% 72%,rgba(250,248,241,.94),rgba(250,248,241,.5) 55%,rgba(250,248,241,0) 75%)}
@media (max-width:860px){
  .scene.sc-left,.scene.sc-right{width:auto}
  .sc-center::before{inset:auto -8% -4% -8%;height:55%}
}

/* mobile: video em cima, texto em fundo creme embaixo */
@media (max-width:860px){
  .r-sticky{background:var(--coco)}
  .r-sticky video{bottom:auto;height:72%}
  .r-top{height:9%}
  .r-bot{bottom:auto;top:calc(72% - 12%);height:12%}
  .scene::before,.sc-center::before{display:none}
  .scene,.scene.sc-left,.scene.sc-right,.sc-center{top:auto;bottom:0;height:30%;left:var(--gut);right:var(--gut);margin:0;width:auto;justify-content:center;padding-bottom:6vh;gap:10px}
  .scene h2{font-size:clamp(1.8rem,7.6vw,2.6rem)}
  .scene p{max-width:32ch;font-size:.95rem}
  .sc-center{justify-content:center;gap:14px}
  .sc-center .btn{margin-top:4px}
}

.sc-center{padding-bottom:9vh}
.sc-center::before{height:44%}
@media (max-width:860px){.sc-center{padding-bottom:6vh}}

/* desktop: quadro inteiro (sem zoom/corte), bordas dissolvendo no branco */
@media (min-width:861px){
  .r-sticky video{
    object-fit:contain;
    -webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);
    mask-composite:intersect;
  }
}

/* desktop: caixa com a proporcao exata do video, para a mascara fadar as bordas reais */
@media (min-width:861px){
  .r-sticky{background:var(--coco)}
  .r-sticky video{
    inset:auto;left:50%;top:50%;right:auto;bottom:auto;
    width:min(100%,calc(100vh*16/9));width:min(100%,calc(100dvh*16/9));
    height:auto;aspect-ratio:16/9;object-fit:cover;
    transform:translate(-50%,-50%);
  }
}

/* ===== abertura com o logo do rotulo ===== */
.js .pre{background:var(--coco)}
.js .pre::after{content:'';position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--verde)}
.pre img{width:min(440px,70vw);height:auto;animation:logoIn 1.1s var(--ease) .15s both}
@keyframes logoIn{from{opacity:0;transform:translateY(26px) scale(.94)}to{opacity:1;transform:none}}

/* ===== abertura em video ===== */
.js .pre{display:block;background:#498158;animation:preOut 1s cubic-bezier(.77,0,.18,1) 14s forwards;transition:transform 1s cubic-bezier(.77,0,.18,1);overflow:hidden}
.js .pre::after{display:none}
.js .pre.out{transform:translateY(-100%);animation:none}
.pre video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pre-skip{position:absolute;z-index:2;right:var(--gut);bottom:30px;background:rgba(250,248,241,.14);color:#fff;border:1px solid rgba(255,255,255,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:11px 22px;font:700 .78rem 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;opacity:0;animation:skipIn .6s ease 1s forwards;transition:background .3s}
.pre-skip:hover{background:rgba(250,248,241,.3)}
@keyframes skipIn{to{opacity:1}}
.intro-seen .pre{display:none!important}
.intro-lock,.intro-lock body{overflow:hidden}
/* tela vertical: o logo precisa caber, entao o quadro e ampliado so ate o logo ocupar a largura */
@media (max-aspect-ratio:1/1){
  .pre video{inset:auto;left:-25%;top:50%;width:150%;height:auto;aspect-ratio:16/9;transform:translateY(-50%);
    -webkit-mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent)}
}

/* ===== logo oficial no rodape ===== */
.foot-logo{display:block;width:min(540px,78vw);height:auto;margin:56px auto 46px}

@media (max-aspect-ratio:1/1){.pre video{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent)}}

/* ===== abertura: menos zoom + logo centralizado ===== */
@media (min-aspect-ratio:1/1){
  .pre video{
    inset:auto;left:50%;top:50%;right:auto;bottom:auto;
    width:min(86vw,150vh);height:auto;aspect-ratio:16/9;object-fit:cover;
    transform:translate(-50%,-41%);
    -webkit-mask-image:linear-gradient(to right,transparent,#000 11%,#000 89%,transparent),linear-gradient(to bottom,transparent,#000 13%,#000 87%,transparent);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to right,transparent,#000 11%,#000 89%,transparent),linear-gradient(to bottom,transparent,#000 13%,#000 87%,transparent);
    mask-composite:intersect;
  }
}
@media (max-aspect-ratio:1/1){
  .pre video{left:-15%;width:130%;transform:translateY(-41%)}
}

/* fundo da abertura = o proprio video desfocado (sem emenda visivel) */
.pre video.pre-bg{position:absolute;inset:-12%;left:-12%;top:-12%;width:124%;height:124%;aspect-ratio:auto;transform:none;object-fit:cover;filter:blur(46px);-webkit-mask-image:none;mask-image:none}

/* fundo da abertura: degradê gerado das bordas reais do video */
.js .pre{background:#498158 url(assets/intro-bg.png) center/100% 100% no-repeat}

/* contorno limpo na faixa: o preenchimento (cor da faixa) cobre as linhas internas das letras */
.faixa span.o{color:var(--verde);-webkit-text-stroke:2.8px var(--coco);paint-order:stroke fill}

.faixa span.o{letter-spacing:.03em}
