/* Sou Voe · "Voe todos os dias" */
:root{
  --creme:#FFFDF9; --tinta:#231F20; --verde:#537A5E; --verde-e:#46684F;
  --ambar:#C2561A; --ambar-e:#7A2E0E; --ambar-c:#E07A34;
  --bordo:#8E1B2C; --ocean:#3D6FB6; --pink:#E7769B; --tropical:#F2C230; --skin:#CFE3EE;
  --noite:#1E2A44; --cobre:#A8622D;
  --cinza:#6E6966;
  --fonte:"Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.22,.8,.24,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--creme);-webkit-text-size-adjust:100%}
body{background:var(--creme);color:var(--tinta);font-family:var(--fonte);font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
img{display:block;max-width:none}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:fixed;left:16px;top:-60px;z-index:100;background:var(--tinta);color:var(--creme);padding:12px 18px;border-radius:999px;text-decoration:none;transition:top .3s}
.pular:focus{top:16px}
:focus-visible{outline:2px solid var(--ambar);outline-offset:4px;border-radius:999px}

/* ---------- palco fixo ---------- */
#trilho{width:1px;pointer-events:none}
#palco{position:fixed;inset:0;overflow:hidden;background:var(--fundo,var(--creme));z-index:1;touch-action:pan-y}
#mundo{position:absolute;inset:0;transform-origin:50% 60%}
.cap{position:absolute;inset:0;visibility:hidden;contain:layout style}
.cap.vis{visibility:visible}
.cam{position:absolute;inset:0;pointer-events:none;will-change:transform}
.cam a,.cam button,.cam .painel,.cam .giro{pointer-events:auto}

/* ---------- tipografia ---------- */
.titulo{font-weight:300;font-size:clamp(34px,9.4vw,78px);line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
.sobre{font-size:13px;font-weight:400;letter-spacing:.04em;color:var(--ambar-e);margin-bottom:12px}
.apoio{font-size:clamp(16px,4.3vw,20px);line-height:1.4;max-width:30ch;margin-top:14px;color:#3b3536;text-wrap:pretty}
.texto{display:flex;flex-direction:column;align-items:flex-start;padding:0 24px}

/* ---------- pílulas ---------- */
.pilula{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:999px;background:var(--verde);color:var(--creme);text-decoration:none;font-weight:400;font-size:16px;letter-spacing:.005em;box-shadow:0 10px 30px -12px rgba(83,122,94,.7);animation:boia 3.6s ease-in-out infinite;animation-delay:var(--fase,0s);transition:background .3s,transform .3s;margin-top:22px;white-space:nowrap}
.pilula::after{content:"";width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);margin-left:2px}
.pilula:hover{background:var(--verde-e)}
.pilula-clara{background:rgba(255,253,249,.6);color:var(--tinta);box-shadow:inset 0 0 0 1px rgba(35,31,32,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.pilula-clara:hover{background:var(--creme)}
@keyframes boia{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}

.painel{background:rgba(255,253,249,.74);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);border-radius:30px;padding:20px 22px 22px;box-shadow:0 30px 60px -30px rgba(122,46,14,.35)}

/* ---------- fotos que se fundem ao ar ---------- */
.foto{position:absolute;object-fit:cover;opacity:0;transition:opacity 1.2s var(--ease)}
.foto.ok{opacity:1}
.f-oval{-webkit-mask-image:radial-gradient(closest-side,#000 58%,rgba(0,0,0,.6) 78%,transparent 100%);mask-image:radial-gradient(closest-side,#000 58%,rgba(0,0,0,.6) 78%,transparent 100%)}
.f-nevoa{filter:blur(6px) saturate(.9);-webkit-mask-image:radial-gradient(closest-side,#000 30%,transparent 100%);mask-image:radial-gradient(closest-side,#000 30%,transparent 100%)}
.brilho{position:absolute;border-radius:50%;background:radial-gradient(closest-side,rgba(224,122,52,.42),rgba(194,86,26,.12) 55%,transparent);filter:blur(10px);animation:pulsa 6s ease-in-out infinite}
@keyframes pulsa{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}

/* ---------- 0 · chão ---------- */
#chao-fisica{perspective:900px}
#chao-fisica img{position:absolute;left:0;top:0;will-change:transform;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 14px 14px rgba(0,0,0,.22))}
.chao-chao{background:linear-gradient(to top,rgba(35,31,32,.14),transparent 9%);transition:opacity 1.6s}
.decolado .chao-chao{opacity:0}
.chao-txt{display:flex;flex-direction:column;align-items:center;padding:0 28px}
.chao-frase{position:absolute;top:13%;left:28px;right:28px;text-align:center;font-size:clamp(15px,4.2vw,19px);line-height:1.45;color:var(--cinza);font-weight:300;height:3em}
.chao-frase .fr{position:absolute;inset:0;transition:opacity .9s var(--ease),transform .9s var(--ease);text-wrap:balance}
.chao-frase .fr-b{opacity:0;transform:translateY(8px);color:var(--tinta);font-size:1.15em}
.respirando .fr-a{opacity:0;transform:translateY(-8px)}
.respirando .fr-b{opacity:1;transform:none}
.respirar-bloco{position:absolute;top:27%;left:0;right:0;display:flex;flex-direction:column;align-items:center;pointer-events:auto}
.respirar{position:relative;width:112px;height:112px;border-radius:50%;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.respirar span{position:absolute;inset:0;border-radius:50%;pointer-events:none}
.respirar-anel{box-shadow:inset 0 0 0 1px rgba(35,31,32,.35);animation:anel 3.2s ease-in-out infinite}
.respirar-luz{background:radial-gradient(closest-side,rgba(255,196,120,.95),rgba(224,122,52,.85) 45%,rgba(194,86,26,.35) 75%,transparent);transform:scale(var(--h,0));opacity:calc(.25 + var(--h,0))}
.respirar-nucleo{inset:46%!important;background:var(--tinta);transition:transform .4s}
.respirando .respirar-nucleo{transform:scale(0)}
@keyframes anel{0%,100%{transform:scale(.92);opacity:.55}50%{transform:scale(1.12);opacity:1}}
.respirar-dica{margin-top:18px;font-size:15px;color:var(--tinta);letter-spacing:.01em}
.decolar-alt{margin-top:4px;min-height:48px;padding:0 16px;font-size:13px;color:var(--cinza);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(110,105,102,.4)}
.decolou{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;opacity:0}
.decolou .logo-svg{width:min(44vw,250px);height:auto}
.logo-svg path{fill:var(--tinta)}
.decolou-frase{margin-top:34px;font-size:clamp(30px,8.4vw,68px);line-height:1.04;letter-spacing:-.025em;font-weight:300;text-wrap:balance}
.decolou-dica{margin-top:30px;font-size:13px;color:var(--cinza);letter-spacing:.06em;display:flex;flex-direction:column;align-items:center;gap:10px}
.decolou-dica::after{content:"";width:1px;height:38px;background:linear-gradient(var(--cinza),transparent);animation:desce 2.2s ease-in-out infinite}
@keyframes desce{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.decolado .chao-txt{opacity:0;visibility:hidden;transition:opacity .6s,visibility 0s .6s}

/* véu P&B e onda de cor */
#veu{position:absolute;inset:0;pointer-events:none;z-index:8;-webkit-backdrop-filter:grayscale(1) contrast(.86) brightness(1.03);backdrop-filter:grayscale(1) contrast(.86) brightness(1.03);
  -webkit-mask-image:radial-gradient(circle at var(--ox,50%) var(--oy,50%),transparent var(--r,-80px),#000 calc(var(--r,-80px) + 80px));mask-image:radial-gradient(circle at var(--ox,50%) var(--oy,50%),transparent var(--r,-80px),#000 calc(var(--r,-80px) + 80px))}
#onda{position:absolute;inset:0;pointer-events:none;z-index:9;opacity:0;mix-blend-mode:multiply;
  background:radial-gradient(circle at var(--ox,50%) var(--oy,50%),transparent calc(var(--r,0px) - 160px),rgba(224,122,52,.16) calc(var(--r,0px) - 70px),rgba(194,86,26,.42) calc(var(--r,0px) + 10px),rgba(255,190,120,.25) calc(var(--r,0px) + 50px),transparent calc(var(--r,0px) + 90px))}
.sem-backdrop #veu{display:none}
.sem-backdrop.pb #mundo,.sem-backdrop.pb #pena{filter:grayscale(var(--g,1)) contrast(calc(1 - .14 * var(--g,1)))}

/* ---------- pena guia ---------- */
#pena{position:absolute;left:0;top:0;z-index:7;pointer-events:none;will-change:transform;filter:drop-shadow(0 8px 10px rgba(122,46,14,.25))}
#pena svg{display:block;width:100%;height:100%;overflow:visible}

/* ---------- 2.1 · raiz ---------- */
.raiz-gotas{width:78vw;height:78vw;left:-24vw;top:46%}
.raiz-pedras{width:118vw;height:92vw;left:-9vw;top:58%}
.brilho-raiz{width:110vw;height:110vw;left:-5vw;top:36%}
.raiz-espuma{width:40vw;height:40vw;right:-10vw;top:27%}
.texto-raiz{top:10%}
.giro{position:absolute;display:flex;flex-direction:column;align-items:center}
.giro-a{left:6%;top:39%}
.giro-b{left:46%;top:43%}
.frasco{position:relative;display:block;perspective:700px;min-width:48px}
.frasco-faces{position:relative;display:block;transform-style:preserve-3d}
.frasco img{height:min(23svh,200px);width:auto;backface-visibility:hidden;-webkit-backface-visibility:hidden;filter:drop-shadow(0 22px 18px rgba(122,46,14,.32))}
.frasco img.verso{position:absolute;inset:0;transform:rotateY(180deg)}
.frasco-brilho{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,214,160,.65) 48%,rgba(255,240,220,.2) 54%,transparent 66%);background-size:300% 100%;background-position:120% 0;mix-blend-mode:screen;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.giro.gira .frasco-faces{animation:gira 2.6s cubic-bezier(.45,.05,.3,1)}
.giro.gira .frasco-brilho{animation:varre 2.6s ease-in-out}
@keyframes gira{0%{transform:rotateY(0) translateY(0)}50%{transform:rotateY(180deg) translateY(-14px)}100%{transform:rotateY(360deg) translateY(0)}}
@keyframes varre{0%{background-position:120% 0}100%{background-position:-60% 0}}
.giro-rotulo{margin-top:10px;font-size:13px;text-align:center;line-height:1.35;opacity:0;transform:translateY(6px);transition:opacity .5s,transform .5s;max-width:150px;background:rgba(255,253,249,.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:16px;padding:8px 12px}
.giro-rotulo a{display:inline-flex;min-height:32px;align-items:center;color:var(--verde);font-weight:500;text-underline-offset:3px}
.giro.mostra .giro-rotulo{opacity:1;transform:none}

/* ---------- 2.2 · vento ---------- */
.vento-cena{overflow:hidden}
.vento-fotos,#ventoGL{position:absolute;inset:0;width:100%;height:100%;-webkit-mask-image:linear-gradient(transparent,#000 22%,#000 82%,transparent);mask-image:linear-gradient(transparent,#000 22%,#000 82%,transparent)}
.vento-fotos img{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;opacity:0;transition:opacity 1.4s var(--ease),transform 8s linear;filter:saturate(.95)}
.vento-fotos img.on{opacity:1}
.gl-ok .vento-fotos{visibility:hidden}
.texto-vento{top:7%;align-items:center;text-align:center}
.texto-vento .titulo{max-width:13ch}
.vento-dica{margin-top:14px;font-size:13px;letter-spacing:.04em;color:var(--ambar-e)}
.so-mouse{display:none}
.correntes .corrente{position:absolute;min-height:48px;padding:8px 6px;font-size:clamp(20px,5.4vw,30px);font-weight:300;color:var(--creme);text-shadow:0 2px 18px rgba(0,0,0,.45);letter-spacing:-.01em;transition:color .5s,transform .6s var(--ease)}
.corrente::after{content:"";position:absolute;left:6px;right:6px;bottom:6px;height:1px;background:linear-gradient(90deg,transparent,currentColor 30%,currentColor 70%,transparent);opacity:.6;transform-origin:left;animation:sopro 3s ease-in-out infinite}
@keyframes sopro{0%,100%{transform:scaleX(.3) translateX(0)}50%{transform:scaleX(1) translateX(6%)}}
.corrente[data-linha="ah"]{left:7%;top:39%}
.corrente[data-linha="cs"]{right:7%;top:50%}
.corrente[data-linha="sp"]{left:12%;top:61%}
.corrente.on{color:var(--c);text-shadow:0 0 22px rgba(255,253,249,.9),0 0 2px rgba(255,253,249,1);transform:translateX(8px) scale(1.06)}
.vl{position:absolute;left:0;right:0;bottom:78px;display:flex;align-items:flex-end;padding:0 16px;gap:4px;opacity:0;transition:opacity .6s}
.vl.on{opacity:1}
.vl:not(.on),.vl:not(.on) *{pointer-events:none!important}
.vl-frasco{height:min(21svh,190px);width:auto;flex:none;transform:translate(-60vw,-30px) rotate(-18deg);transition:transform 1.4s var(--ease);filter:drop-shadow(0 24px 20px rgba(0,0,0,.35))}
.vl.on .vl-frasco{transform:none}
.vl .painel{flex:1;max-width:330px;margin-bottom:12px}
.vl .pilula{margin-top:14px;min-height:48px}
.vl-frase{font-size:17px;line-height:1.35}
.cachos-fotos .cf{width:42vw;height:42vw;opacity:0;transition:opacity 1s,transform 1.4s var(--ease);transform:scale(.8)}
.cf-a{right:-6vw;top:18%}
.cf-b{left:-8vw;top:20%}
.cs-on .cachos-fotos .cf.ok{opacity:1;transform:none}

/* ---------- 2.3 · céu ---------- */
#nevoa{position:absolute;inset:0;width:100%;height:100%}
.ceu-veu{position:absolute;inset:0;background:linear-gradient(var(--creme) 4%,rgba(255,253,249,.55) 28%,transparent 46%);transition:opacity 1s;pointer-events:none}
.revelado .ceu-veu{opacity:.85}
.texto-ceu{top:8%;align-items:center;text-align:center}
.texto-ceu .titulo{max-width:12ch}
.ceu-dica{margin-top:14px;font-size:13px;color:var(--ambar-e);letter-spacing:.04em;transition:opacity .6s}
.revelado .ceu-dica{opacity:0}
.ceu-frascos .splash{position:absolute;width:22vw;max-width:150px;min-height:48px;transform:translate(-50%,-50%);transition:filter .6s,opacity .6s}
.splash img{width:100%;height:auto;filter:drop-shadow(0 24px 20px rgba(30,42,68,.28));transition:transform .8s var(--ease)}
.splash:hover img{transform:translateY(-6px) rotate(-3deg)}
.splash.borrifa img{animation:aperta .5s var(--ease)}
@keyframes aperta{30%{transform:scale(.94,1.03) translateY(4px)}}
.revelado .splash:not(.ativo){opacity:.55;filter:saturate(.7)}
.splash[data-f="ocean"]{left:15%;top:58%}
.splash[data-f="pink"]{left:38%;top:50%}
.splash[data-f="tropical"]{left:62%;top:55%}
.splash[data-f="skin"]{left:85%;top:47%}
.ceu-destino .destino{position:absolute;left:16px;right:16px;bottom:76px;text-align:center;opacity:0;transform:translateY(20px);transition:opacity .7s,transform .9s var(--ease);padding:16px 18px 14px}
#cap-ceu:not(.revelado) .destino,#cap-ceu:not(.revelado) .destino *{pointer-events:none!important}
.revelado .destino{opacity:1;transform:none;transition:opacity .7s .5s,transform .9s .5s var(--ease)}
.destino-nome{font-size:clamp(38px,10vw,84px);line-height:1;letter-spacing:-.03em;font-weight:300;color:var(--c,var(--tinta))}
.destino-botoes{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.destino-botoes .pilula{margin-top:12px;padding:0 18px;font-size:15px}
.destino-todos{display:inline-flex;min-height:44px;align-items:center;margin-top:4px;font-size:13px;color:var(--cinza);text-underline-offset:4px}

/* ---------- 2.3b · banho ---------- */
.brilho-banho{width:130vw;height:130vw;left:-15vw;top:30%}
.banho-foto{width:112vw;height:112vw;left:-6vw;top:42%}
.texto-banho{top:9%}
.bf{position:absolute;height:min(27svh,250px);width:auto;filter:drop-shadow(0 26px 22px rgba(122,46,14,.35)) saturate(1.05)}
.bf-a{left:6%;top:44%;transform:rotate(-8deg)}
.bf-b{right:6%;top:48%;transform:rotate(7deg)}
.bf-c{height:min(11svh,110px);right:4%;top:32%;transform:rotate(-10deg)}
.bf-d{height:min(17svh,160px);left:-2%;top:78%;transform:rotate(12deg)}
.raios{mix-blend-mode:screen;overflow:hidden}
.raios i{position:absolute;top:-20%;height:140%;width:18vw;background:linear-gradient(90deg,transparent,rgba(255,170,90,.32),rgba(255,214,160,.18),transparent);transform:skewX(-18deg);filter:blur(6px);animation:raio 7s ease-in-out infinite}
.raios i:nth-child(1){left:8%;animation-delay:-1s}
.raios i:nth-child(2){left:34%;width:9vw;animation-delay:-3s}
.raios i:nth-child(3){left:58%;animation-delay:-5s}
.raios i:nth-child(4){left:82%;width:7vw;animation-delay:-2s}
@keyframes raio{0%,100%{opacity:.25;transform:skewX(-18deg) translateX(-4vw)}50%{opacity:1;transform:skewX(-18deg) translateX(4vw)}}

/* ---------- 2.4 · entardecer ---------- */
#cap-tarde{color:var(--creme)}
.tarde-mar{width:120vw;height:120vw;left:-10vw;top:18%;opacity:0}
.tarde-mar.ok{opacity:.55}
.palavras .pw{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;will-change:transform,opacity}
.pw-foto{width:86vw;height:118vw;max-width:640px;max-height:860px;left:50%;top:50%;transform:translate(-50%,-50%)}
.pw[data-i="0"] .pw-foto{left:42%}
.pw[data-i="1"] .pw-foto{left:58%}
.pw-palavra{position:relative;font-size:clamp(76px,25vw,300px);font-weight:200;letter-spacing:-.05em;line-height:1;color:var(--creme);text-shadow:0 10px 60px rgba(30,42,68,.6);white-space:nowrap}
.tarde-fim{opacity:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 16px 5%}
.tarde-trio{width:100vw;height:100vw;left:0;top:12%;opacity:0}
.painel-noite{position:relative;background:rgba(30,42,68,.6);color:var(--creme);text-align:center;max-width:420px;width:100%}
.painel-noite .sobre{color:#E9A877}
.tarde-frase{font-size:18px;line-height:1.35}
.painel-noite .pilula{margin-top:14px}

/* ---------- 3 · topo ---------- */
.nuvens i{position:absolute;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,253,249,.7) 45%,rgba(255,253,249,0));filter:blur(8px)}
.nuvens i:nth-child(1){width:120vw;height:60vw;left:-30vw;top:10%}
.nuvens i:nth-child(2){width:100vw;height:50vw;right:-30vw;top:34%}
.nuvens i:nth-child(3){width:140vw;height:70vw;left:-20vw;top:60%}
.nuvens i:nth-child(4){width:80vw;height:40vw;left:30vw;top:-10%}
.nuvens i:nth-child(5){width:110vw;height:56vw;left:-40vw;top:86%}
.trilha{position:absolute;inset:6% 0;width:100%;height:88%;overflow:visible}
.trilha path{fill:none;stroke:var(--ambar);stroke-width:1.4;stroke-linecap:round;opacity:.7;vector-effect:non-scaling-stroke}
.voe{display:flex;flex-direction:column;justify-content:center;gap:2svh;padding:0 24px}
.voe-l{position:relative;opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1.3s var(--ease)}
.voe-l.on{opacity:1;transform:none}
.voe-p{display:flex;align-items:baseline;font-weight:200;line-height:.9}
.voe-letra{font-size:clamp(88px,27vw,230px);letter-spacing:-.04em}
.voe-resto{font-size:clamp(26px,7.4vw,62px);letter-spacing:-.02em;margin-left:.08em;display:inline-block;padding-bottom:.12em;clip-path:inset(-30% 100% -40% 0);transition:clip-path 1.1s var(--ease) .2s}
.voe-l.on .voe-resto{clip-path:inset(-30% -4% -40% 0)}
.voe-desc{font-size:14px;color:var(--cinza);margin-top:4px;max-width:30ch;opacity:0;transition:opacity .8s .7s}
.voe-l.on .voe-desc{opacity:1}
.voe-img{position:absolute;right:-2vw;top:-4%;width:26vw;height:26vw;max-width:220px;max-height:220px;transform:translateY(60px);transition:transform 1.6s var(--ease) .3s,opacity 1.2s .3s}
.voe-rec{object-fit:contain;height:30vw;max-height:240px;width:auto;opacity:0;filter:drop-shadow(0 18px 16px rgba(122,46,14,.3))}
.voe-l.on .voe-img{transform:none}
.voe-l.on .voe-img.ok{opacity:1}
.voe-l[data-i="1"]{align-self:center}
.voe-l[data-i="2"]{align-self:flex-end}

/* ---------- 4 · pouso ---------- */
.pouso{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 16px}
.pouso .logo-svg{width:min(36vw,200px);height:auto}
.logo-pena{opacity:0;transition:opacity .4s}
.pousou .logo-pena{opacity:1}
.pouso-frase{font-weight:300;font-size:clamp(34px,9vw,72px);letter-spacing:-.03em;line-height:1.02;margin-top:22px}
.links{list-style:none;display:flex;flex-direction:column;align-items:center;gap:0;margin-top:8px;width:100%;max-width:440px}
.links li{display:flex;justify-content:center;width:100%}
.links .pilula{margin-top:12px}
.links li:first-child .pilula{min-height:56px;padding:0 34px;font-size:17px}
.links .dupla{gap:10px}
.links .dupla .pilula{flex:1;padding:0 12px;font-size:15px;min-width:0}
.links .dupla .pilula::after{display:none}
.redes{display:flex;gap:6px;margin-top:16px}
.redes a{display:inline-flex;align-items:center;min-height:48px;padding:0 12px;font-size:14px;text-decoration:none;color:var(--tinta);border-bottom:1px solid transparent}
.redes a:hover{border-color:var(--tinta)}
.rodape{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:12px;color:var(--cinza)}

/* ---------- persistentes ---------- */
#altimetro{position:fixed;right:6px;top:24%;bottom:24%;width:48px;z-index:20;opacity:0;visibility:hidden;transition:opacity .8s,visibility 0s .8s;color:var(--tinta-alt,var(--tinta))}
.decolado #altimetro{opacity:1;visibility:visible;transition:opacity .8s}
.alt-linha{position:absolute;left:50%;top:0;bottom:0;width:1px;background:currentColor;opacity:.25}
.alt-pena{position:absolute;left:50%;top:0;width:22px;height:9px;margin:-4px 0 0 -11px;background:url(assets/pena.svg) center/contain no-repeat;transform:translateY(var(--ap,0px)) rotate(-28deg);transition:transform .2s linear}
.alt-nome{position:absolute;right:42px;top:0;transform:translateY(calc(var(--ap,0px) - 50%));font-size:11px;letter-spacing:.06em;white-space:nowrap;opacity:.75;transition:transform .2s linear}
#altimetro button{position:absolute;left:0;width:48px;height:48px;margin-top:-24px}
#altimetro button::before{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:currentColor;opacity:.45;transition:transform .3s,opacity .3s}
#altimetro button.atual::before{opacity:1;transform:scale(1.5)}
#altimetro button span{position:absolute;right:44px;top:50%;transform:translateY(-50%);font-size:12px;white-space:nowrap;opacity:0;transition:opacity .3s;pointer-events:none}
#altimetro button:hover span,#altimetro button:focus-visible span{opacity:1}
#comprar{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:20;display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:999px;background:var(--verde);color:var(--creme);text-decoration:none;font-size:15px;font-weight:400;box-shadow:0 12px 30px -10px rgba(83,122,94,.8);opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .6s,transform .6s var(--ease),visibility 0s .6s}
#comprar.on{opacity:1;visibility:visible;transform:none;transition:opacity .6s,transform .6s var(--ease)}

.sem-js{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 24px;text-align:center}

/* ---------- desktop ---------- */
@media (hover:hover) and (pointer:fine){.so-toque{display:none}.so-mouse{display:inline}}
@media (min-width:900px){
  .texto{padding:0 0 0 8vw}
  .titulo{font-size:clamp(48px,5.6vw,92px)}
  .chao-frase{top:15%}
  .respirar-bloco{top:30%}
  .decolou .logo-svg{width:min(18vw,250px)}
  .raiz-gotas{width:30vw;height:30vw;left:auto;right:-8vw;top:-4%}
  .raiz-pedras{width:58vw;height:44vw;left:44vw;top:34%}
  .brilho-raiz{width:56vw;height:56vw;left:46vw;top:26%}
  .raiz-espuma{width:22vw;height:22vw;right:auto;left:-3vw;top:62%}
  .texto-raiz{top:16%}
  .giro-a{left:24%;top:46%}
  .giro-b{left:35%;top:52%}
  .frasco img{height:min(34svh,310px)}
  .giro-rotulo{max-width:200px}
  .texto-vento{top:8%}
  .texto-vento .titulo{max-width:none}
  .corrente[data-linha="ah"]{left:9%;top:40%}
  .corrente[data-linha="cs"]{right:auto;left:26%;top:66%}
  .corrente[data-linha="sp"]{left:56%;top:34%}
  .vl{left:auto;right:6vw;bottom:8%;width:620px;padding:0}
  .vl-frasco{height:min(40svh,380px)}
  .cachos-fotos .cf{width:24vw;height:24vw}
  .cf-a{right:2vw;top:14%}
  .cf-b{left:2vw;top:52%}
  .texto-ceu .titulo{max-width:none}
  .ceu-frascos .splash{width:9vw;max-width:150px}
  .splash[data-f="ocean"]{left:26%;top:62%}
  .splash[data-f="pink"]{left:42%;top:56%}
  .splash[data-f="tropical"]{left:58%;top:60%}
  .splash[data-f="skin"]{left:74%;top:54%}
  .ceu-destino .destino{left:50%;right:auto;width:560px;margin-left:-280px;bottom:5%}
  .brilho-banho{width:60vw;height:60vw;left:34vw;top:14%}
  .banho-foto{width:56vw;height:56vw;left:38vw;top:18%}
  .texto-banho{top:24%}
  .texto-banho .titulo{max-width:9ch}
  .bf{height:min(40svh,380px)}
  .bf-a{left:44%;top:50%}
  .bf-b{right:3%;top:40%}
  .bf-c{height:min(15svh,140px);right:8%;left:auto;top:8%}
  .bf-d{height:min(24svh,220px);left:4%;top:70%}
  .tarde-mar{width:60vw;height:60vw;left:-8vw;top:6%}
  .pw-foto{width:40vw;height:52vw}
  .pw[data-i="0"] .pw-foto{left:34%}
  .pw[data-i="1"] .pw-foto{left:66%}
  .tarde-fim{flex-direction:row;align-items:center;justify-content:flex-end;padding:0 8vw}
  .tarde-trio{width:54vw;height:54vw;left:4vw;top:50%;transform:translateY(-50%)}
  .voe{flex-direction:row;align-items:flex-start;justify-content:center;gap:5vw;padding:0 8vw}
  .voe-l{flex:1;max-width:340px}
  .voe-l[data-i="0"]{margin-top:4svh}
  .voe-l[data-i="1"]{margin-top:16svh;align-self:auto}
  .voe-l[data-i="2"]{margin-top:28svh;align-self:auto}
  .voe-letra{font-size:clamp(120px,12vw,230px)}
  .voe-resto{font-size:clamp(30px,3.2vw,56px)}
  .voe-img{width:11vw;height:11vw;right:-1vw;top:-8%}
  .voe-rec{width:auto;height:15vw}
  .pouso .logo-svg{width:min(14vw,210px)}
  .links .dupla .pilula{flex:none;padding:0 22px}
  #altimetro{right:20px}
  #comprar{left:auto;right:84px;bottom:28px}
}

/* ---------- movimento reduzido ---------- */
.rm .cam{will-change:auto}
.rm .pilula,.rm .respirar-anel,.rm .brilho,.rm .raios i,.rm .corrente::after,.rm .decolou-dica::after{animation:none}
.rm .cap{transition:opacity .8s}
