/* Efraim Vitaliano · Direito Canábico */
:root{
  --cream:#F3EEE3; --sand:#E8DFCB; --forest:#1E3328; --forest-2:#16271E; --moss:#5A6B45;
  --rust:#C2541F; --rust-d:#AD4517; --red:#8E1F1A; --ink:#121512;
  --disp:'Bodoni Moda','Playfair Display','Times New Roman',serif;
  --sans:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  --pad:clamp(18px,2.6vw,44px);
  --ease:cubic-bezier(.16,1,.3,1);
  --line:color-mix(in srgb,currentColor 22%,transparent);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font:400 16px/1.6 var(--sans);background:var(--cream);color:var(--forest);overflow-x:clip;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
ul,ol{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--rust);outline-offset:3px}
section,footer{position:relative;padding:clamp(72px,14vh,160px) var(--pad);overflow:clip}
.skip{position:absolute;left:-999px;top:8px;background:var(--forest);color:var(--cream);padding:12px 16px;z-index:300}
.skip:focus{left:8px}

/* ---------- tipografia ---------- */
h1,h2,h3,.foot-big,.fill,.stage-word,.ribbon{font-family:var(--disp);font-weight:400;letter-spacing:-.035em;line-height:.92;text-transform:lowercase}
.ln{display:block;overflow:hidden;padding:.06em .08em .16em;margin:-.06em -.08em -.16em}
.ln>span{display:block}
.ln-r{text-align:right}
h1 em,h2 em,.foot-big em,.stage-word em{font-style:italic;font-size:.5em;letter-spacing:-.01em;margin:0 .14em 0 .04em}
.kicker{font:600 13px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-bottom:clamp(28px,6vh,64px)}
.caps{font:600 13px/1.75 var(--sans);letter-spacing:.06em;text-transform:uppercase;max-width:40ch}
.split-title{font-size:clamp(3rem,9.4vw,10rem);max-width:min(100%,11.5em);margin-bottom:clamp(36px,8vh,90px)}

/* ---------- botânica como fundo (máscara recolorível) ---------- */
.bot{display:block;background:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat;pointer-events:none}
.m-folha{-webkit-mask-image:url(../assets/botanica/folha.webp);mask-image:url(../assets/botanica/folha.webp)}
.m-planta{-webkit-mask-image:url(../assets/botanica/planta-inteira.webp);mask-image:url(../assets/botanica/planta-inteira.webp)}
.m-ramo{-webkit-mask-image:url(../assets/botanica/ramo-flor.webp);mask-image:url(../assets/botanica/ramo-flor.webp)}
.m-flor{-webkit-mask-image:url(../assets/botanica/flor-aberta.webp);mask-image:url(../assets/botanica/flor-aberta.webp)}
.m-botao{-webkit-mask-image:url(../assets/botanica/botao.webp);mask-image:url(../assets/botanica/botao.webp)}
.m-fruto{-webkit-mask-image:url(../assets/botanica/fruto-corte.webp);mask-image:url(../assets/botanica/fruto-corte.webp)}
.m-semente-a{-webkit-mask-image:url(../assets/botanica/semente-a.webp);mask-image:url(../assets/botanica/semente-a.webp)}
.m-semente-b{-webkit-mask-image:url(../assets/botanica/semente-b.webp);mask-image:url(../assets/botanica/semente-b.webp)}
[data-view]{--v:0}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;font:600 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;text-align:center;border:1px solid transparent;transition:background .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease),transform .5s var(--ease)}
.btn:active{transform:scale(.97)}
.btn-forest{background:var(--forest);color:var(--cream)}
.btn-forest:hover{background:var(--rust-d)}
.btn-rust{background:var(--rust-d);color:var(--cream)}
.btn-rust:hover{background:var(--cream);color:var(--forest)}
.btn-cream{background:var(--cream);color:var(--forest)}
.btn-cream:hover{background:var(--rust-d);color:var(--cream)}
.btn-line{border-color:currentColor}
.btn-line:hover{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.btn-light:hover{background:var(--cream);color:var(--forest);border-color:var(--cream)}
.btn-xl{min-height:64px;padding:0 40px;font-size:14px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 30px}
.chips li{border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:999px;padding:7px 14px;font:500 13px/1.2 var(--sans)}

/* ---------- grão ---------- */
.grain{position:fixed;inset:-50%;z-index:200;pointer-events:none;opacity:.09;mix-blend-mode:multiply;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* ---------- topo ---------- */
.top{position:fixed;inset:0 0 auto 0;z-index:120;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px var(--pad);color:var(--forest);transition:color .4s,transform .6s var(--ease)}
.top[data-tone=dark]{color:var(--cream)}
.top.hide{transform:translateY(-110%)}
.top-side{display:flex;gap:clamp(20px,4.5vw,84px);align-items:center}
.top-right{justify-content:flex-end}
.top-side a{font:600 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:16px 0;position:relative}
.top-side a::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.top-side a:hover::after{transform:scaleX(1);transform-origin:left}
.top-side .top-cta{border:1px solid currentColor;border-radius:999px;padding:16px 20px}
.top-side .top-cta::after{display:none}
.mono{font:400 44px/1 var(--disp);text-decoration:none;letter-spacing:-.06em;padding:0 10px 6px;min-height:44px;display:inline-flex;align-items:center;text-transform:uppercase}
.mono i{margin-left:-.1em}
.burger{display:none;font:600 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;min-height:44px;padding:0 4px;justify-self:end}
.menu{position:fixed;inset:0;z-index:110;background:var(--forest);color:var(--cream);padding:96px var(--pad) 28px;display:flex;flex-direction:column;justify-content:space-between;clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease);overflow:hidden}
.menu[hidden]{display:none}
.menu.open{clip-path:inset(0)}
.menu nav{display:flex;flex-direction:column}
.menu nav a{font:400 clamp(2.1rem,10.5vw,4rem)/1.05 var(--disp);letter-spacing:-.03em;text-decoration:none;padding:10px 0;border-bottom:1px solid rgba(243,238,227,.16);display:flex;align-items:baseline;gap:14px;transform:translateY(30px);opacity:0;transition:transform .8s var(--ease),opacity .8s}
.menu.open nav a{transform:none;opacity:1}
.menu nav a:nth-child(2){transition-delay:.05s}.menu nav a:nth-child(3){transition-delay:.1s}.menu nav a:nth-child(4){transition-delay:.15s}.menu nav a:nth-child(5){transition-delay:.2s}.menu nav a:nth-child(6){transition-delay:.25s}
.menu small{font:600 13px var(--sans);letter-spacing:.1em;color:var(--rust)}
.menu-leaf{position:absolute;right:-30%;bottom:-12%;width:110vw;aspect-ratio:1;opacity:.09;transform:rotate(-24deg)}
.menu .btn{position:relative}

/* ---------- hero ---------- */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding-top:clamp(110px,19vh,200px);padding-bottom:0}
.hero-title{font-size:clamp(3rem,7.3vw,9.4rem);display:grid;grid-template-columns:1fr 1fr;column-gap:4vw;row-gap:.02em;position:relative;z-index:2}
.ht-2,.ht-4{text-align:right}
.ht-1{grid-area:1/1}.ht-2{grid-area:2/1}.ht-3{grid-area:1/2;padding-left:.6em}.ht-4{grid-area:2/2}
.hero-title b{font-weight:400;font-style:italic;color:var(--rust)}
.hero-foot{display:grid;grid-template-columns:1fr 1fr;column-gap:4vw;align-items:start;margin-top:clamp(36px,7vh,80px);padding-bottom:clamp(96px,15vh,150px);position:relative;z-index:2}
.hero-list{font:600 13px/1.7 var(--sans);letter-spacing:.02em}
.hero-lede p{font:500 15px/1.6 var(--sans);max-width:44ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.hero-bot{position:absolute;opacity:.2;color:var(--moss)}
.hero-bot-a{width:min(34vw,460px);aspect-ratio:1;right:-4vw;top:6vh;opacity:.17;transform:translateY(calc(var(--v)*-70px)) rotate(calc(8deg + var(--v)*10deg))}
.hero-bot-b{width:5vw;min-width:44px;aspect-ratio:182/353;left:47%;top:50vh;opacity:.5;transform:translateY(calc(var(--v)*-140px)) rotate(18deg)}
.hero-bot-c{width:4.4vw;min-width:38px;aspect-ratio:237/357;left:30%;bottom:20vh;opacity:.4;transform:translateY(calc(var(--v)*-220px)) rotate(-24deg)}
.notch{position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;z-index:3}
.notch i{width:1px;height:clamp(54px,9vh,90px);background:var(--forest);transform-origin:top;animation:drop 1.6s var(--ease) .9s both}
.notch svg{width:120px;height:44px;fill:var(--forest);display:block}
@keyframes drop{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* ---------- palco ---------- */
.stage{--p:1;height:auto;padding:0;background:var(--forest);color:var(--cream);overflow:visible}
.stage-pin{position:relative;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center;background:radial-gradient(120% 90% at 50% 40%,#2A4636 0%,var(--forest) 55%,var(--forest-2) 100%)}
.stage-bot{position:absolute;z-index:4;will-change:transform}
.stage-bot-r{right:-7vw;top:-8vh;height:124vh;aspect-ratio:1941/3708;opacity:.5;transform:translateX(calc((1 - var(--p))*-30vw)) rotate(calc((1 - var(--p))*-6deg))}
.stage-bot-l{left:-15vh;bottom:-22vh;height:92vh;aspect-ratio:1;opacity:.45;transform:translateX(calc((1 - var(--p))*34vw)) rotate(calc(-22deg + (1 - var(--p))*26deg))}
.stage-bot-f{left:8vw;top:-12vh;height:46vh;aspect-ratio:1;opacity:.28;z-index:1;transform:translateY(calc((1 - var(--p))*26vh)) rotate(calc(160deg + var(--p)*30deg))}
.stage-photo{position:relative;z-index:2;height:min(66vh,620px);aspect-ratio:3/4;border-radius:999px 999px 6px 6px;overflow:hidden;transform:scale(calc(.58 + var(--p)*.42));box-shadow:0 40px 90px rgba(0,0,0,.45);will-change:transform}
.stage-photo img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.25 - var(--p)*.25))}
.stage-word{position:absolute;z-index:3;font-size:clamp(4rem,12.5vw,15rem);white-space:nowrap;will-change:transform}
.w-1{left:5vw;top:13vh;z-index:1;transform:translateX(calc((1 - var(--p))*-46vw))}
.w-2{right:4vw;bottom:15vh;transform:translateX(calc((1 - var(--p))*46vw))}
.stage-tag{position:absolute;z-index:5;left:50%;bottom:6vh;translate:-50% 0;background:var(--rust-d);color:var(--cream);font:600 13px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:11px 18px;white-space:nowrap;opacity:clamp(0,calc((var(--p) - .7)*4),1)}
.stage-tag span{opacity:.8;font-weight:500}
.corner{position:absolute;z-index:5;font:600 13px/1 var(--sans);letter-spacing:.14em;text-transform:lowercase;opacity:.8}
.c-tl{left:var(--pad);top:84px}.c-tr{right:var(--pad);top:84px}.c-bl{left:var(--pad);bottom:26px}.c-br{right:var(--pad);bottom:26px}

/* ---------- manifesto ---------- */
.man-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);column-gap:4vw;row-gap:clamp(24px,4vh,44px);align-items:end;position:relative;z-index:2}
.man-grid .man-title{grid-area:1/1}
.man-grid .caps{grid-area:2/1}
.man-video{grid-area:1/2/3/3;justify-self:end;position:relative;width:min(100%,330px);aspect-ratio:9/16;background:var(--forest);border-radius:6px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(18,21,18,.45)}
.man-video video{width:100%;height:100%;object-fit:cover;display:block}
.man-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;padding:0 16px 26px;color:var(--cream);background:linear-gradient(to top,rgba(18,21,18,.72),rgba(18,21,18,0) 48%);font:600 13px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.man-play[hidden]{display:none}
.man-play i{width:72px;height:72px;border-radius:50%;background:var(--rust-d);display:grid;place-items:center;margin-bottom:10px;transition:transform .6s var(--ease),background .4s}
.man-play i::before{content:"";border-left:18px solid var(--cream);border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:5px}
.man-play:hover i{transform:scale(1.1);background:var(--cream)}
.man-play:hover i::before{border-left-color:var(--forest)}
.man-play small{font:500 13px var(--sans);letter-spacing:.04em;text-transform:none;opacity:.85}
.man-duo{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:5vw;align-items:center;margin:clamp(80px,16vh,180px) 0;position:relative;z-index:2}
.man-duo .fill{margin:0}
.man-photo{aspect-ratio:4/5;overflow:hidden;border-radius:6px;transform:rotate(2deg)}
.man-photo img{width:100%;height:112%;object-fit:cover;transform:translateY(calc(-5% + var(--v)*-5%))}
.man-title{font-size:clamp(3.2rem,11.6vw,13rem)}
.man-title .ln-r em{font-size:1em;color:var(--rust);margin:0 .08em 0 0}
.man-bot{position:absolute;right:-9vw;top:34%;width:min(52vw,720px);aspect-ratio:1;color:var(--moss);opacity:.16;transform:translateY(calc(var(--v)*-90px)) rotate(calc(var(--v)*-14deg))}
.fill{font-size:clamp(2.1rem,5.6vw,6rem);line-height:1.02;letter-spacing:-.03em;margin:clamp(90px,20vh,220px) 0;max-width:17em;position:relative;z-index:2}
.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw;border-top:1px solid var(--line);padding-top:28px;position:relative;z-index:2}
.nums dt{font:400 clamp(2.6rem,5.4vw,5.6rem)/1 var(--disp);letter-spacing:-.03em;font-variant-numeric:lining-nums}
.nums dd{font:500 14px/1.5 var(--sans);max-width:26ch;margin-top:10px}

/* ---------- triagem ---------- */
.caso{background:var(--sand)}
.art-moss{background:var(--moss)}.art-rust{background:var(--rust-d)}.art-red{background:var(--red)}.art-forest{background:var(--forest)}
/* ---------- cards de serviço ---------- */
.gloss{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,3vw,56px);align-items:start}
.g-2,.g-4{margin-top:9vh}
.g-art{aspect-ratio:4/5;display:grid;place-items:center;color:var(--cream);overflow:hidden;clip-path:inset(100% 0 0 0);transition:clip-path 1.3s var(--ease)}
.g-2 .g-art,.g-4 .g-art{aspect-ratio:1}
.g.in .g-art{clip-path:inset(0)}
.g-art .bot{width:74%;height:74%;transform:scale(1.25) rotate(-8deg);transition:transform 1.6s var(--ease)}
.g.in .g-art .bot{transform:none}
.g:hover .g-art .bot{transform:scale(1.08) rotate(5deg)}
.g h3{font-size:clamp(1.7rem,2.5vw,2.6rem);line-height:1;margin:20px 0 14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.g p{font-size:14.5px;max-width:36ch}
.g h3 em{font-style:italic;color:var(--rust-d)}
.g-art .m-planta{height:120%;width:90%;align-self:start}
.g-link{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;font:600 13px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--rust);transition:color .4s}
.g-link:hover{color:var(--rust-d)}
.snap-hint{display:none}

/* ---------- avaliações ---------- */
.aval-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:6vw;align-items:end;position:relative;z-index:2}
.aval-n{font:400 clamp(7rem,19vw,20rem)/.8 var(--disp);letter-spacing:-.05em;font-variant-numeric:lining-nums}
.stars{display:flex;gap:6px;margin:26px 0 14px}
.stars svg{width:30px;height:30px;fill:var(--rust)}
.aval-meta{font-size:15px;max-width:28ch}
.aval-title{font-size:clamp(3rem,8.4vw,9rem);margin-bottom:clamp(30px,6vh,60px)}
.aval-list{margin:clamp(50px,9vh,100px) calc(var(--pad)*-1) 0;overflow:hidden;position:relative;z-index:2;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.aval-list[hidden]{display:none}
.aval-track{display:flex;width:max-content;animation:aval-run var(--dur,60s) linear infinite}
@media (hover:hover) and (pointer:fine){.aval-list:hover .aval-track{animation-play-state:paused}}
@keyframes aval-run{to{transform:translateX(-50%)}}
.aval-card{flex:0 0 auto;width:min(80vw,380px);margin-right:clamp(18px,2.4vw,36px);border-top:1px solid var(--line);padding-top:18px}
.aval-card .stars{margin:0 0 12px;gap:3px}
.aval-card .stars svg{width:16px;height:16px}
.aval-card blockquote{font:400 1.35rem/1.25 var(--disp);letter-spacing:-.01em}
.aval-card.longo{width:min(86vw,520px)}
.aval-card.longo blockquote{font-size:1.12rem;line-height:1.3}
.aval-card cite{display:block;margin-top:14px;font:600 13px var(--sans);font-style:normal;letter-spacing:.08em;text-transform:uppercase}
.aval-actions{display:flex;flex-wrap:wrap;gap:10px}
.aval-note{font-size:13px;opacity:.7;margin-top:18px}
.aval-bot{position:absolute;right:4vw;top:6vh;width:min(16vw,220px);aspect-ratio:325/662;color:var(--moss);opacity:.2;transform:translateY(calc(var(--v)*-70px)) rotate(calc(14deg + var(--v)*10deg))}

/* ---------- sobre ---------- */
.sobre{background:var(--sand);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:6vw;align-items:center}
.sobre-photo{aspect-ratio:3/5;max-height:88vh;overflow:hidden;border-radius:999px 999px 6px 6px;justify-self:center;width:min(100%,440px)}
.sobre-photo img{width:100%;height:118%;object-fit:cover;object-position:50% 12%;transform:translateY(calc(-8% + var(--v)*-7%))}
.sobre-title{font-size:clamp(3.2rem,8.6vw,9.6rem);margin-bottom:30px}
.sobre-title em{font-size:.42em}
.sobre-text>p:not(.kicker){max-width:48ch;margin-bottom:16px;font-size:16.5px}
.sobre-text .kicker{margin-bottom:26px}
.sobre-bot{position:absolute;right:-7vw;bottom:-9vh;width:min(36vw,480px);aspect-ratio:1;color:var(--moss);opacity:.2;transform:translateY(calc(var(--v)*-70px)) rotate(calc(-18deg + var(--v)*12deg))}
.sobre-text{position:relative;z-index:2}

/* ---------- rodapé ---------- */
.foot{background:var(--forest);color:var(--cream);padding-bottom:26px}
.foot-big{font-size:clamp(3.2rem,13.4vw,16rem);margin-bottom:clamp(40px,9vh,100px);position:relative;z-index:2}
.foot-grid{display:grid;grid-template-columns:auto 1fr 1.3fr;gap:5vw;align-items:start;position:relative;z-index:2}
.foot-note{font-size:13px;opacity:.75;margin-top:12px}
.foot-links a{display:inline-flex;align-items:center;min-height:44px;font:500 15px var(--sans);text-decoration:none;border-bottom:1px solid rgba(243,238,227,.25)}
.foot-links a:hover{border-color:var(--rust)}
.foot-legal{font-size:13px;line-height:1.7;opacity:.8;max-width:56ch}
.foot-end{display:flex;justify-content:space-between;gap:16px;font:500 13px var(--sans);opacity:.6;border-top:1px solid rgba(243,238,227,.18);margin-top:clamp(40px,8vh,80px);padding-top:20px;position:relative;z-index:2}
.foot-bot{position:absolute;right:-12vw;top:-8vh;width:min(70vw,900px);aspect-ratio:1;color:var(--cream);opacity:.07;transform:rotate(calc(18deg + var(--v)*-20deg))}
.float{display:none}

/* ---------- revelações (só com JS) ---------- */
.js .ln>span{transform:translateY(112%);transition:transform 1.25s var(--ease)}
.js .in .ln>span,.js .ln.in>span{transform:none}
.js .in .ln:nth-child(2)>span{transition-delay:.09s}.js .in .ln:nth-child(3)>span{transition-delay:.18s}.js .in .ln:nth-child(4)>span{transition-delay:.27s}
.js .rv{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .rv.in{opacity:1;transform:none}

/* ---------- abertura ---------- */
.pre{display:none}
.intro .pre{display:grid;place-items:center;position:fixed;inset:0;z-index:300;background:var(--cream);color:var(--forest);animation:pre-out 1s cubic-bezier(.76,0,.24,1) 2.3s both}
.intro:not(.intro-end){overflow:hidden}
.pre-bar{position:absolute;inset:0 0 auto 0;height:3px;background:color-mix(in srgb,var(--forest) 14%,transparent)}
.pre-bar::after{content:"";position:absolute;inset:0;background:var(--rust);transform-origin:left;animation:pre-bar 2.2s cubic-bezier(.65,0,.35,1) both}
.pre-mid{display:grid;justify-items:center;animation:pre-lift 1s cubic-bezier(.76,0,.24,1) 2.3s both}
.pre-leaf{width:min(46vmin,340px);aspect-ratio:1;color:var(--moss);animation:pre-grow 1.9s cubic-bezier(.3,.7,.2,1) .1s both;transform-origin:47% 100%}
.pre-name{font:400 clamp(2.2rem,6vw,4.2rem)/1 var(--disp);letter-spacing:-.035em;margin-top:-.5em;overflow:hidden;padding:.1em .1em .18em}
.pre-name em{font-style:italic;color:var(--rust)}
.pre-sub{font:600 13px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;margin-top:10px;overflow:hidden;padding:2px 0}
.pre-name span,.pre-sub span{display:block;animation:pre-up 1.1s var(--ease) .75s both}
.pre-sub span{animation-delay:.95s}
@keyframes pre-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes pre-grow{from{clip-path:circle(0% at 47% 100%);transform:scale(.8) rotate(-10deg)}to{clip-path:circle(125% at 47% 100%);transform:none}}
@keyframes pre-up{from{transform:translateY(115%)}to{transform:none}}
@keyframes pre-out{from{clip-path:inset(0)}to{clip-path:inset(0 0 100% 0);visibility:hidden}}
@keyframes pre-lift{to{transform:translateY(-18vh) scale(1.06)}}
.intro .hero-title .ln>span{transition-delay:2.45s}
.intro .hero-title .ln:nth-child(2)>span{transition-delay:2.54s}
.intro .hero-title .ln:nth-child(3)>span{transition-delay:2.63s}
.intro .hero-title .ln:nth-child(4)>span{transition-delay:2.72s}
.intro .hero .rv{transition-delay:2.9s}
.intro .notch i{animation-delay:3.2s}
.intro .top{animation:pre-top 1s var(--ease) 2.7s both}
@keyframes pre-top{from{opacity:0;translate:0 -20px}to{opacity:1;translate:0 0}}

/* ---------- tablet / celular ---------- */
@media (max-width:900px){
  .top{grid-template-columns:1fr auto;padding:8px var(--pad)}
  .top-side{display:none}
  .burger{display:block}
  .mono{justify-self:start;padding-left:0;font-size:36px}
  .hero{padding-top:104px}
  .hero-title{display:block;font-size:clamp(3rem,15vw,7rem)}
  .ht-3{padding-left:0}
  .hero-foot{grid-template-columns:1fr;row-gap:22px;margin-top:30px;padding-bottom:120px}
  .hero-bot-a{width:58vw;top:auto;bottom:16vh;right:-16vw}
  .hero-bot-b{left:78%;top:92px}.hero-bot-c{left:62%;bottom:auto;top:44%}
  .stage-photo{height:auto;width:min(66vw,46vh)}
  .stage-word{font-size:clamp(3.4rem,21vw,9rem)}
  .w-1{top:15svh;left:4vw}.w-2{bottom:17svh;right:4vw}
  .stage-bot-r{height:104svh;right:-68vw;top:-4svh}
  .stage-bot-l{height:50svh;left:-34vw;bottom:-14svh}
  .w-2 em{display:block;margin:0 0 -.1em}
  .stage-bot-f{display:none}
  .c-tr,.c-bl{display:none}
  .c-tl{top:70px}
  .stage-tag{bottom:64px;font-size:13px;white-space:normal;text-align:center;width:max-content;max-width:86vw}
  .stage-tag span{display:block}
  .c-br{right:auto;left:50%;translate:-50% 0;bottom:22px}
  .c-tl{left:50%;translate:-50% 0;white-space:nowrap}
  .man-grid{grid-template-columns:1fr;gap:30px}
  .man-grid .man-title,.man-grid .caps,.man-video{grid-area:auto}
  .man-video{justify-self:center;width:min(100%,360px)}
  .man-duo{grid-template-columns:1fr;gap:34px;margin:70px 0}
  .man-photo{width:min(78%,320px);justify-self:end}
  .aval-grid{grid-template-columns:1fr;gap:44px}
  .aval-n{font-size:clamp(7rem,40vw,12rem)}
  .aval-title{font-size:clamp(2.9rem,14.4vw,7rem)}
  .aval-actions .btn{width:100%}
  .aval-bot{width:26vw;right:2vw;top:5vh}
  .man-title{font-size:clamp(3rem,17vw,8rem)}
  .man-bot{width:92vw;right:-34vw;top:20%}
  .nums{grid-template-columns:1fr 1fr;row-gap:30px}
  .nums div:last-child{grid-column:1/-1}
  .split-title{font-size:clamp(2.9rem,14.4vw,7rem)}
  .gloss{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--pad)*-1);padding:0 var(--pad) 8px;scrollbar-width:none;scroll-padding-left:var(--pad)}
  .gloss::-webkit-scrollbar{display:none}
  .g-art,.g-2 .g-art,.g-4 .g-art{aspect-ratio:5/4}
  .g{flex:0 0 min(76vw,340px);scroll-snap-align:start;margin-top:0!important}
  .g h3{font-size:1.8rem}
  .snap-hint{display:block;font:600 13px var(--sans);letter-spacing:.12em;text-transform:uppercase;opacity:.6;margin-top:18px}
  .sobre{grid-template-columns:1fr;gap:40px}
  .sobre-photo{width:min(72vw,340px);justify-self:start;aspect-ratio:3/4}
  .sobre-title{font-size:clamp(3rem,16vw,7.4rem)}
  .sobre-bot{width:66vw;right:-22vw;bottom:auto;top:6vh}
  .foot{padding-bottom:96px}
  .foot-big{font-size:clamp(3rem,16.6vw,9rem)}
  .foot-grid{grid-template-columns:1fr;gap:30px}
  .foot-grid .btn{width:100%}
  .foot-bot{width:120vw;right:-50vw}
  .foot-end{flex-direction:column;gap:6px}
  .float{display:inline-flex;align-items:center;position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:100;min-height:50px;padding:0 24px;border-radius:999px;background:var(--rust-d);color:var(--cream);font:600 13px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;box-shadow:0 12px 30px rgba(18,21,18,.35);transform:translateY(140%);transition:transform .7s var(--ease)}
  .float.show{transform:none}
}
@media (max-width:900px) and (min-width:600px){
  .hero-title{font-size:13vw}
}

/* ---------- sem movimento ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .ln>span,.js .rv{transform:none;opacity:1}
  .stage{height:auto}.stage-pin{position:relative}
  .fill span{opacity:1}
  .g-art{clip-path:none}.g-art .bot{transform:none}
  [data-view]{--v:0!important}
  .aval-list{overflow-x:auto;-webkit-mask-image:none;mask-image:none;padding:0 var(--pad)}
}
