/* Blisz Aromas · seja.blisz.com.br · site.css
   Riviera Blu, blue hour. Tokens do DS v4, papéis do pacote de design (seção 2).
   Hero: pipeline-scrub por inteiro. Sem framework, sem build. */

:root{
  /* Riviera Blu, preservada do DS v4 */
  --royal:#2340C4; --marino:#2E4A7A; --cielo:#3E8EDE; --serenity:#A9C4E8;
  --brezza:#CBDDEE; --crema:#F5EFDD; --burro:#F6E9AC; --limone:#E8C85A;
  --pervinca:#7B87C8; --notte:#16264F; --oro:#C9A961;

  /* Papéis da página */
  --canvas:#F5EFDD; --panel:#FBF7EA; --accent:#2340C4; --accent-hover:#2E4A7A;
  --accent-muted:rgba(35,64,196,.18); --text-secondary:#4F6289; --text-primary:#2E4A7A;

  /* Papéis do hero */
  --hero-canvas:#16264F; --hero-panel:rgba(22,38,79,.55); --hero-text:#F2F0E4;
  --hero-text-secondary:#CBDDEE; --hero-day-text:#16264F; --hero-accent:#F6E9AC; --flame:#E8C85A;

  /* Cor de cada coleção */
  --blz-01:#F6E9AC; --blz-02:#A9C4E8; --blz-03:#C9A961; --blz-04:#7B87C8;

  /* Linhas e easing */
  --line:rgba(35,64,196,.18); --line-soft:rgba(35,64,196,.08);
  --ease-lux:cubic-bezier(.16,1,.3,1); --ease-soft:cubic-bezier(.4,0,.2,1);

  /* Fontes */
  --display:'Bricolage Grotesque','Arial Black',sans-serif;
  --sans:'Nunito','Avenir Next',sans-serif;
  --script:'Dancing Script','Segoe Script',cursive;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;

  /* Sombra de texto do hero, por modo */
  --tshadow-night:0 1px 2px rgba(5,5,10,.95),0 3px 12px rgba(5,5,10,.78),0 10px 44px rgba(5,5,10,.8);
  --tshadow-day:0 1px 2px rgba(245,239,221,.9),0 3px 12px rgba(245,239,221,.6);
  --tshadow:var(--tshadow-night);
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:hidden;overflow-x:clip}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);font-size:16px;line-height:1.7;color:var(--text-primary);
  background:var(--canvas);-webkit-font-smoothing:antialiased;position:relative;
}
::selection{background:var(--serenity);color:var(--notte)}
img{max-width:100%;display:block}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.dark :focus-visible,.hero :focus-visible,.nav-pill.on-hero :focus-visible,footer :focus-visible,.colorir .vela-card :focus-visible{outline-color:var(--burro)}
button{font:inherit;color:inherit}

.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;top:-60px;left:16px;z-index:200;background:var(--accent);color:var(--crema);padding:10px 16px;border-radius:999px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px;text-decoration:none;transition:top .3s var(--ease-lux)}
.skip:focus-visible{top:14px;outline-color:var(--burro)}

/* ---------- Ambiente: aquarela fixa com deriva de 90 s ---------- */
.ambient{position:fixed;inset:-4%;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 45% at 8% 10%, rgba(169,196,232,.75), transparent 65%),
    radial-gradient(ellipse 55% 40% at 95% 90%, rgba(246,233,172,.8), transparent 62%),
    radial-gradient(ellipse 38% 30% at 88% 12%, rgba(169,196,232,.45), transparent 60%),
    var(--brezza);
  animation:drift 90s var(--ease-soft) infinite alternate -30s}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(2%,-2%)}}
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}

/* ---------- Grão (Tier 3 do DS) ---------- */
.grain{position:relative}
.grain::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:multiply;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
.grain.dark::after{mix-blend-mode:screen;opacity:.04}

/* ---------- Nav pill ---------- */
.nav-pill{
  position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:100;
  display:flex;gap:4px;align-items:center;padding:8px 10px 8px 12px;border-radius:999px;
  background:rgba(245,239,221,.62);backdrop-filter:blur(22px) saturate(1.15);-webkit-backdrop-filter:blur(22px) saturate(1.15);
  border:1px solid rgba(35,64,196,.14);max-width:min(94vw,900px);
  transition:background .5s var(--ease-lux),border-color .5s var(--ease-lux)}
.nav-pill.on-hero{background:var(--hero-panel);border-color:rgba(203,221,238,.22)}
.nav-pill .brand{display:flex;flex-direction:column;align-items:center;color:var(--royal);text-decoration:none;
  padding:2px 14px 2px 6px;border-right:1px solid var(--line);margin-right:6px;white-space:nowrap;line-height:1}
.nav-pill.on-hero .brand{color:var(--crema);border-right-color:rgba(203,221,238,.25)}
.nav-pill .brand-main{font-family:var(--display);font-size:19px;font-weight:760;line-height:.85;letter-spacing:-.05em}
.nav-pill .brand-sub{font-family:var(--sans);font-size:6px;font-weight:800;letter-spacing:.32em;line-height:1;margin-top:4px;padding-left:.32em;text-transform:uppercase}
.nav-pill .links{display:flex;gap:2px;align-items:center}
.nav-pill .links a,.nav-pill .conta{
  font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--marino);text-decoration:none;
  padding:8px 11px;border-radius:999px;white-space:nowrap;transition:background .35s var(--ease-lux),color .35s var(--ease-lux)}
.nav-pill.on-hero .links a,.nav-pill.on-hero .conta{color:var(--hero-text-secondary)}
.nav-pill .links a:hover,.nav-pill .conta:hover{background:var(--royal);color:var(--crema)}
.nav-pill .btn-luxe{margin-left:6px}
/* CTA do pill: rótulo inteiro no desktop, "Momentos" abaixo de 720px (o aria-label leva o rótulo inteiro) */
.nav-pill .cta-curta{display:none}
@media (max-width:720px){.nav-pill .links{display:none}.nav-pill{gap:2px;padding:6px 8px 6px 10px;max-width:calc(100vw - 24px)}.nav-pill .brand{padding-right:10px}
  .nav-pill .conta{font-size:10.5px;letter-spacing:.06em;padding:8px 8px}
  .nav-pill .btn-luxe.compact{padding:9px 14px;font-size:10px;letter-spacing:.1em;gap:6px;margin-left:4px}
  .nav-pill .cta-longa{display:none}.nav-pill .cta-curta{display:inline}}
@media (max-width:420px){.nav-pill .btn-luxe .arr{display:none}}

/* ---------- Botão assinatura ---------- */
.btn-luxe{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;
  padding:17px 34px;border-radius:999px;text-decoration:none;border:0;cursor:pointer;
  background:var(--crema);color:var(--notte);font-family:var(--sans);
  font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1.2;
  transition:background .5s var(--ease-lux),transform .5s var(--ease-lux),color .5s var(--ease-lux);text-shadow:none;white-space:nowrap}
.btn-luxe::before{content:'';position:absolute;inset:-7px;border-radius:999px;border:1px solid rgba(245,239,221,.38);
  transition:inset .5s var(--ease-lux),border-color .5s var(--ease-lux);pointer-events:none}
.btn-luxe .arr{display:inline-block;transition:transform .5s var(--ease-lux);font-family:var(--display);font-size:17px;line-height:0}
.btn-luxe:hover{background:var(--burro);transform:translateY(-2px)}
.btn-luxe:hover::before{inset:-4px;border-color:rgba(246,233,172,.6)}
.btn-luxe:hover .arr{transform:translateX(5px)}
.btn-luxe.on-light{background:var(--royal);color:var(--crema)}
.btn-luxe.on-light::before{border-color:rgba(35,64,196,.35)}
.btn-luxe.on-light:hover{background:var(--marino)}
.btn-luxe.compact{padding:10px 18px;font-size:11px;gap:8px}
.btn-luxe.compact::before{inset:-4px}
.btn-luxe.compact:hover::before{inset:-2px}
.nav-pill:not(.on-hero) .btn-luxe{background:var(--royal);color:var(--crema)}
.nav-pill:not(.on-hero) .btn-luxe::before{border-color:rgba(35,64,196,.35)}
.nav-pill:not(.on-hero) .btn-luxe:hover{background:var(--marino)}
.btn-luxe[disabled]{opacity:.7;cursor:progress;transform:none}
.link-anim{color:var(--royal);text-decoration:none;font-weight:600;font-size:14px;letter-spacing:.05em;
  background-image:linear-gradient(currentColor,currentColor);background-size:0% 1.5px;background-position:0 100%;background-repeat:no-repeat;
  transition:background-size .45s var(--ease-lux);padding-bottom:3px;display:inline-block}
.link-anim:hover{background-size:100% 1.5px}
.link-anim.light{color:var(--brezza)}

/* ==========================================================
   HERO DE SCRUB (900vh, palco sticky)
   ========================================================== */
.hero{position:relative;height:900vh;background:var(--hero-canvas);z-index:2}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--hero-canvas);color:var(--hero-text)}
.stage .poster,.stage .ending{position:absolute;inset:0;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}
.stage .ending{opacity:0;display:none}
.stage.video-failed .ending{display:block}
.stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;will-change:transform;transition:opacity .6s var(--ease-soft)}
.stage.video-ready video{opacity:1}
.stage.video-failed video{display:none}

/* Camada 1: scrim global, dois modos trocados por classe */
.stage .scrim{position:absolute;inset:0;pointer-events:none;transition:opacity .5s var(--ease-soft)}
.stage .scrim-day{background:radial-gradient(ellipse 120% 90% at 50% 45%,rgba(245,239,221,0) 35%,rgba(245,239,221,.55) 100%);opacity:0}
.stage .scrim-night{background:radial-gradient(ellipse 120% 90% at 50% 45%,rgba(10,10,18,0) 35%,rgba(10,10,18,.62) 100%);opacity:0}
.stage.day .scrim-day{opacity:1}
.stage.night .scrim-night{opacity:1}
.stage.day{--tshadow:var(--tshadow-day)}
.stage.night{--tshadow:var(--tshadow-night)}

/* Halo da chama (x 72%, y 26%), acompanha --kh e respira no repouso */
.stage .halo{position:absolute;left:72%;top:26%;width:60vmin;height:52vmin;transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(ellipse 70% 55% at 50% 30%,rgba(246,233,172,.24),transparent 70%);mix-blend-mode:screen;opacity:var(--kh,0)}
.stage.rest .halo{animation:breathe 4.8s var(--ease-soft) infinite -1.2s}
@keyframes breathe{0%,100%{opacity:1}50%{opacity:.82}}

/* Poeira na luz da manhã (faixas 1 e 2) */
.stage .dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .8s var(--ease-soft)}
.stage.day.live .dust{opacity:1}
.dust circle{fill:var(--accent-muted)}
.dust.on-notte circle{fill:rgba(246,233,172,.3)}
.stage.live .dust circle,.chapeco.live .dust circle{animation:mote var(--d,55s) linear infinite var(--dl,-10s)}
@keyframes mote{0%{transform:translate(0,0)}25%{transform:translate(1.4vw,-1.2vh)}50%{transform:translate(-.6vw,-2.4vh)}75%{transform:translate(-1.6vw,-1vh)}100%{transform:translate(0,0)}}

/* Faixas */
.band{position:absolute;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;padding:0 clamp(24px,6vw,96px);
  opacity:0;pointer-events:none;text-shadow:var(--tshadow);--k:0}
.band > .col{position:relative;z-index:1;pointer-events:auto}
.band .btn-luxe{text-shadow:none}
/* Camada 2: scrim por faixa, pico do pacote */
.band::before{content:'';position:absolute;inset:-4%;pointer-events:none;opacity:calc(.25 + .75*var(--k,1));
  background:radial-gradient(ellipse 60% 62% at 26% 50%,rgba(5,5,10,var(--pk,.62)) 0%,rgba(5,5,10,calc(var(--pk,.62)*.66)) 46%,rgba(5,5,10,0) 76%)}
.band[data-mode="day"]::before{background:radial-gradient(ellipse 60% 62% at 26% 50%,rgba(245,239,221,var(--pk,.55)) 0%,rgba(245,239,221,calc(var(--pk,.55)*.66)) 46%,rgba(245,239,221,0) 76%)}
.band[data-mode="day"]{color:var(--hero-day-text)}
.band[data-mode="night"]{color:var(--hero-text)}
.band .t{font-family:var(--display);font-weight:700;font-size:clamp(34px,4.6vw,66px);line-height:1.04;letter-spacing:-.012em;margin:0}
.band .t + .t{margin-top:.15em}
.band .apoio{font-family:var(--sans);font-weight:400;font-size:clamp(17px,1.5vw,22px);line-height:1.5;margin:.7em 0 0;max-width:34ch}
.band[data-mode="day"] .apoio{color:var(--hero-day-text)}
.band[data-mode="night"] .apoio{color:var(--hero-text-secondary)}
/* teto em px no contêiner (o ch fica no próprio .t): o título quebra antes da borda do vidro, que começa em 58% da largura no quadro inicial */
.b1 .col{max-width:min(50vw,560px)}
.b1 .t{max-width:22ch}
.b2 .col{max-width:min(42vw,560px)}
.b2 .t{max-width:20ch}
.b3 .t{max-width:18ch}
.b4 .t{font-size:clamp(56px,8vw,120px);letter-spacing:-.03em}
.b5 .t{max-width:22ch;font-size:clamp(30px,4vw,58px)}
.b6 h1{font-family:var(--display);font-weight:700;font-size:clamp(34px,4.4vw,62px);line-height:1.04;letter-spacing:-.012em;margin:0;max-width:min(52vw,18ch)}
.b6 .sub{font-size:clamp(16px,1.4vw,20px);max-width:42ch;margin:.9em 0 0;color:var(--hero-text-secondary)}
.b6 .cta-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:1.6em;max-width:min(52vw,560px)}
.b6 .cta-row .btn-luxe{flex:none}
.b6 .sussurro{display:flex;align-items:center;gap:14px;margin-top:22px;flex-wrap:wrap}
.b3 .col,.b4 .col,.b5 .col,.b6 .col{max-width:50vw}
@media (max-width:1100px){.b1 .col,.b3 .col,.b4 .col,.b5 .col,.b6 .col{max-width:56vw}.b2 .col{max-width:min(48vw,560px)}}

/* Camada 4: chip para texto pequeno */
.chip{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  padding:8px 14px;border-radius:999px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);white-space:nowrap}
.band[data-mode="night"] .chip{background:var(--hero-panel);border:1px solid rgba(203,221,238,.3);color:var(--hero-text-secondary);text-shadow:0 1px 3px rgba(5,5,10,.85)}
.band[data-mode="day"] .chip{background:rgba(245,239,221,.62);border:1px solid rgba(35,64,196,.2);color:var(--marino);text-shadow:none}
.b1 .sussurro{margin-top:26px;display:flex;align-items:center;gap:12px}
.ring{width:22px;height:22px;color:var(--royal);transform:rotate(-90deg);flex:none}
.ring circle{transition:stroke-dashoffset .25s linear}
.chev{width:16px;height:16px;flex:none;animation:nod 2.2s var(--ease-lux) infinite}
@keyframes nod{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
.oval-code{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.12em;border-radius:50%;padding:12px 15px;display:inline-block;line-height:1}
.band .oval-code{color:var(--hero-text-secondary);border:1px solid rgba(203,221,238,.5)}
.cue{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);width:20px;height:44px;pointer-events:none;color:var(--marino);opacity:var(--cue,0);transition:opacity .4s var(--ease-soft)}
.cue .line{position:absolute;left:50%;top:0;width:1.5px;height:42px;background:linear-gradient(180deg,currentColor,transparent);transform-origin:top;animation:drip 2.6s var(--ease-lux) infinite}
@keyframes drip{0%{transform:scaleY(0)}45%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
@media (max-height:560px){.chip,.ring,.chev,.cue,.b1 .sussurro,.b6 .sussurro{display:none}}

/* Coreografia. Só transform e opacity, guiados por --k. Cópia oculta no .sr. */
.vis{display:block}
.vis.soft{position:absolute;inset:0;filter:blur(10px);pointer-events:none}
.line{position:relative;display:block}
.w{display:inline-block;white-space:nowrap}
.c{display:inline-block}
/* (c) desfoque-para-nítido, faixa 1 (rampa de carregamento incluída) */
.b1 .vis.sharp{--kc:clamp(0,var(--k,0)*1.25,1);opacity:var(--kc)}
.b1 .vis.soft{--kc:clamp(0,var(--k,0)*1.25,1);opacity:calc(1 - var(--kc))}
/* (g) aproximação da profundidade, faixa 2 */
.b2 .vis.sharp{--kc:clamp(0,var(--k,0)*1.3,1);opacity:var(--kc);transform:scale(calc(.82 + .18*var(--kc)));transform-origin:0 50%}
.b2 .vis.soft{--kc:clamp(0,var(--k,0)*1.3,1);opacity:calc(1 - var(--kc));transform:scale(calc(.82 + .18*var(--kc)));transform-origin:0 50%}
/* (f) deriva para baixo, faixa 3 */
.b3 .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.8,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*-24px))}
/* (d) soco de palavra com overshoot, faixa 4; apoio por --ks depois de 0.6 */
.b4 .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*3,1);--ks:clamp(0,(var(--k,0) - var(--th,0) - var(--sd,.1))*var(--ss,3.2),1);
  opacity:var(--kc);transform:scale(calc(0.6 + (0.4 + var(--ov,.12))*var(--kc) - var(--ov,.12)*var(--ks)));transform-origin:0 80%}
.b4 .w.em{--ov:0.24;--sd:0.16;--ss:2.6}
.b4 .apoio{--ks:clamp(0,(var(--k,0) - .6)*3,1);opacity:var(--ks)}
/* Brasa, faixa 5: caracteres acendem do meio da linha para as pontas */
.b5 .c{--jx:0px;--jy:0px;--jr:0deg;--kc:clamp(0,(var(--k,0) - var(--th,0))*2.6,1);opacity:var(--kc);
  transform:translate(calc((1 - var(--kc))*var(--jx)),calc((1 - var(--kc))*var(--jy))) rotate(calc((1 - var(--kc))*var(--jr))) scale(calc(.96 + .04*var(--kc)))}
/* (e) subida palavra por palavra, faixa 6 */
.b6 h1 .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*3,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*18px))}
.b6 .sub{--ks:clamp(0,(var(--k,0) - .66)*4,1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks))*12px))}
.b6 .cta-row,.b6 .sussurro{--kb:clamp(0,(var(--k,0) - .78)*5,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*10px))}

/* ---------- HERO ESTÁTICO (cinco portões) ---------- */
.hero-static{display:none;position:relative;min-height:100vh;min-height:100svh;background:var(--hero-canvas);color:var(--hero-text);z-index:2;overflow:hidden}
.hero-static .bg{position:absolute;inset:0;background-size:cover;background-position:70% 50%;background-repeat:no-repeat}
.hero-static .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,38,79,.5),rgba(22,38,79,.28) 45%,rgba(22,38,79,.85))}
.hero-static .halo{position:absolute;left:72%;top:26%;width:70vmin;height:60vmin;transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(ellipse 70% 55% at 50% 30%,rgba(246,233,172,.24),transparent 70%);mix-blend-mode:screen;opacity:1}
.hero-static .content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;min-height:100vh;min-height:100svh;padding:110px clamp(22px,6vw,80px) 56px;max-width:720px;text-shadow:var(--tshadow-night)}
.hero-static .kicker{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--hero-text-secondary);margin:0 0 18px}
.hero-static h1{font-family:var(--display);font-weight:700;font-size:clamp(34px,7.6vw,56px);line-height:1.04;letter-spacing:-.012em;margin:0;max-width:16ch}
.hero-static .sub{font-size:clamp(16px,2.4vw,19px);max-width:38ch;margin:.9em 0 0;color:var(--hero-text-secondary)}
.hero-static .cta-row{margin-top:1.5em;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.hero-static .apoio{font-size:13.5px;color:var(--brezza);opacity:.85;margin:18px 0 0;max-width:38ch}
@media (max-width: 720px), (orientation: portrait) and (max-width: 1024px), (orientation: portrait) and (pointer: coarse), (orientation: landscape) and (pointer: coarse) and (max-height: 560px), (prefers-reduced-motion: reduce){
  .hero{display:none}
  .hero-static{display:block}
  .hero-static .bg{background-image:url('hero-final.jpg')}
  @media (orientation: portrait){
    .hero-static .bg{background-image:url('hero-final-retrato.jpg');background-position:100% 25%}
    .hero-static .halo{left:74%;top:22%}
    .hero-static .veil{background:linear-gradient(180deg,rgba(22,38,79,.35),rgba(22,38,79,.2) 40%,rgba(22,38,79,.85))}
  }
  /* telas rasas em retrato (375x667): o bloco encolhe para o kicker nascer abaixo do pé do vidro (y≈380), sempre sobre o linho */
  @media (orientation: portrait) and (max-height: 700px){
    .hero-static .content{padding-bottom:40px}
    .hero-static .kicker{margin-bottom:12px}
    .hero-static h1{font-size:30px}
    .hero-static .sub{font-size:15px;line-height:1.5;margin-top:.6em}
    .hero-static .cta-row{margin-top:1.1em}
    .hero-static .apoio{display:none}
  }
}

/* ==========================================================
   SEÇÕES
   ========================================================== */
main{position:relative;z-index:2}
main:focus{outline:none}
.sec{position:relative;padding:clamp(72px,9vw,128px) 0;background:var(--canvas);color:var(--text-primary)}
/* alvo de âncora nunca fica atrás do pill fixo (18px de topo + pill de ~50px + folga) */
.sec,.fim{scroll-margin-top:92px}
@media (max-width:720px){.sec{padding-top:clamp(84px,14vw,100px)}}
.sec.dark{background:var(--notte);color:var(--brezza)}
.sec.burro{background:#FBF3D3;overflow:hidden}
/* vichy em sussurro, com deriva de 60 s (o elemento vivo da seção Presente); pausa fora de tela e com movimento reduzido */
.sec.burro::before{content:'';position:absolute;inset:-44px;pointer-events:none;z-index:0;
  background:
    repeating-linear-gradient(90deg,rgba(246,233,172,.35) 0 22px,transparent 22px 44px),
    repeating-linear-gradient(0deg,rgba(246,233,172,.35) 0 22px,transparent 22px 44px);
  background-size:44px 44px}
.sec.burro.live::before{animation:vichy-drift 60s linear infinite -20s}
@keyframes vichy-drift{from{transform:translate(0,0)}to{transform:translate(44px,44px)}}
.sec.brezza{background:transparent}
.sec.brezza::before{content:'';position:absolute;inset:0;background:rgba(203,221,238,.55);pointer-events:none;z-index:0}
.wrap{position:relative;z-index:2;width:min(1180px,calc(100% - 2*clamp(20px,5vw,64px)));margin:0 auto}

/* Borda postal perfurada: recorta o topo da seção com a cor da seção de cima */
.perf{position:absolute;left:0;right:0;top:0;height:14px;z-index:3;pointer-events:none;background:var(--above,var(--canvas));
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='14'%3E%3Cdefs%3E%3Cpattern id='p' width='18' height='14' patternUnits='userSpaceOnUse'%3E%3Crect width='18' height='14' fill='%23000'/%3E%3Ccircle cx='9' cy='14' r='7' fill='%23fff'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='18' height='14' fill='url(%23p)'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='14'%3E%3Cdefs%3E%3Cpattern id='p' width='18' height='14' patternUnits='userSpaceOnUse'%3E%3Crect width='18' height='14' fill='%23000'/%3E%3Ccircle cx='9' cy='14' r='7' fill='%23fff'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='18' height='14' fill='url(%23p)'/%3E%3C/svg%3E");
  -webkit-mask-mode:luminance;mask-mode:luminance;-webkit-mask-size:18px 14px;mask-size:18px 14px;-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x}
.perf.from-notte{--above:var(--notte)}
.perf.from-crema{--above:var(--canvas)}
.perf.from-burro{--above:#FBF3D3}
.perf.from-brezza{--above:#D9E5F1}

.kicker{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--royal);margin:0 0 18px}
.dark .kicker{color:var(--serenity)}
.sec h2{font-family:var(--display);font-weight:700;font-size:clamp(30px,4vw,52px);line-height:1.06;letter-spacing:-.012em;margin:0;color:var(--marino);max-width:22ch}
.dark h2{color:var(--hero-text)}
.lede{font-size:clamp(16px,1.3vw,18px);max-width:52ch;margin:18px 0 0;color:var(--text-secondary)}
.dark .lede{color:var(--brezza)}
.titulo-filete{display:inline-block;position:relative;padding-bottom:16px}
.filete{display:block;width:100%;height:10px;overflow:visible;margin-top:12px}
.filete line,.filete path,.filete rect{fill:none;stroke:var(--royal);stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--ease-lux)}
.dark .filete line,.dark .filete path,.dark .filete rect{stroke:var(--burro)}
.filete .l1{stroke-width:1.5}
.filete .l2{stroke-width:1;transition-delay:.12s}
.in .filete line,.in .filete path,.in .filete rect{stroke-dashoffset:0}

/* Entradas: .part chega em sequência quando a seção ganha .in */
.sec .part{opacity:0;transform:translateY(22px)}
.sec.in .part{animation:rise .9s var(--ease-lux) forwards}
.sec.in .part:nth-child(2){animation-delay:.08s}
.sec.in .part:nth-child(3){animation-delay:.16s}
.sec.in .part:nth-child(4){animation-delay:.24s}
.sec.in .part:nth-child(5){animation-delay:.32s}
.sec.in .part:nth-child(6){animation-delay:.4s}
.sec.in .part:nth-child(7){animation-delay:.48s}
.sec.in .part:nth-child(8){animation-delay:.56s}
@keyframes rise{to{opacity:1;transform:translateY(0)}}

/* ---------- 1. Prova ---------- */
.prova{background:var(--canvas)}
.prova .righe{position:absolute;left:0;right:0;top:14px;height:34px;opacity:.5;
  background:repeating-linear-gradient(90deg,var(--crema) 0 26px,#E4E9F2 26px 30px,var(--brezza) 30px 52px,#E4E9F2 52px 56px);
  -webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent)}
.prova .trio{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px);margin-top:clamp(40px,5vw,64px);list-style:none;padding:0}
@media (max-width:820px){.prova .trio{grid-template-columns:1fr}}
.prova .bloco{position:relative;padding:26px 6px 0}
.prova .num{font-family:var(--display);font-weight:800;font-size:clamp(28px,2.5vw,40px);line-height:1;color:var(--royal);letter-spacing:-.02em;display:inline-block;min-width:6ch;position:relative;padding:14px 18px;margin:0 0 16px -18px;white-space:nowrap}
.prova .num .contorno{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.prova .num .contorno rect{fill:none;stroke:var(--royal);stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--ease-lux)}
.prova .num .contorno.inner{inset:6px;width:calc(100% - 12px);height:calc(100% - 12px)}
.prova .num .contorno .r2{stroke-width:1;transition-delay:.12s}
.prova.in .num .contorno rect{stroke-dashoffset:0}
.prova .bloco p{margin:0;max-width:34ch;color:var(--text-secondary)}
.prova .apoio-num{margin:34px 0 0;color:var(--text-secondary);max-width:60ch;display:none}
.prova.com-numeros .apoio-num{display:block}

/* ---------- 2. Marquee ---------- */
.marquee-wrap{overflow:hidden;padding:38px 0;border-top:1.5px solid var(--royal);border-bottom:1.5px solid var(--royal);background:var(--crema);position:relative;z-index:2}
.marquee{display:flex;width:max-content;animation:scrollx 46s linear infinite}
.marquee:hover{animation-play-state:paused}
.marquee span{font-family:var(--display);font-weight:700;font-size:clamp(40px,6vw,80px);color:var(--royal);padding:0 30px;white-space:nowrap;line-height:1.1}
.marquee span.ghost{color:transparent;-webkit-text-stroke:1.3px var(--serenity)}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* ---------- 3. Perfumes ---------- */
.perfumes .cabeca{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap}
.perfumes .cabeca .txt{max-width:640px}
.lede-toque{display:none}
@media (pointer:coarse){.lede-mouse{display:none}.lede-toque{display:inline}}
.presente-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-family:var(--sans);font-weight:600;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--brezza);
  border:1px solid rgba(203,221,238,.5);border-radius:999px;padding:10px 18px;transition:border-color .4s var(--ease-lux),background .4s var(--ease-lux);user-select:none}
.presente-switch:hover{border-color:var(--burro)}
.presente-switch input{appearance:none;-webkit-appearance:none;width:34px;height:20px;border-radius:999px;background:rgba(203,221,238,.4);position:relative;margin:0;cursor:pointer;transition:background .4s var(--ease-lux);flex:none}
.presente-switch input::after{content:'';position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--crema);transition:transform .4s var(--ease-lux)}
.presente-switch input:checked{background:var(--burro)}
.presente-switch input:checked::after{transform:translateX(14px);background:var(--notte)}
.presente-switch:has(input:checked){border-color:var(--burro);background:rgba(246,233,172,.08)}
.velas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none;padding:0;margin:clamp(36px,4vw,56px) 0 0}
@media (max-width:1020px){.velas-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.velas-grid{grid-template-columns:1fr}}
.vela-card{position:relative;border-radius:24px;overflow:hidden;text-align:left;background:rgba(245,239,221,.04);border:1px solid rgba(203,221,238,.13);
  -webkit-touch-callout:none;user-select:none;-webkit-user-select:none;--hold:0;
  transition:transform .55s var(--ease-lux),border-color .55s var(--ease-lux)}
.vela-card:hover{transform:translateY(-7px);border-color:rgba(246,233,172,.4)}
.vela-card.lit{border-color:rgba(246,233,172,.35)}
.v-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--cc,var(--serenity))}
.v-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v-media .lit-img{opacity:var(--hold)}
.v-media .flame{opacity:var(--hold);transform:scale(calc(.6 + .4*var(--hold)));transform-origin:50% 30%;
  -webkit-mask-image:radial-gradient(ellipse 22% 18% at 50% 30%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 22% 18% at 50% 30%,#000 55%,transparent 100%)}
.v-media::after{content:'';position:absolute;inset:0;opacity:var(--hold);pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(ellipse 70% 55% at 50% 30%,rgba(246,233,172,.24),transparent 70%)}
.vela-card.lit .v-media::after{animation:breathe 4.8s var(--ease-soft) infinite -1.2s}
.v-media .oval-code{position:absolute;top:12px;right:12px;z-index:2;color:var(--crema);background:rgba(22,38,79,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(203,221,238,.4)}
.accendi{position:absolute;left:14px;bottom:12px;z-index:3;font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,239,221,.9);
  background:rgba(22,38,79,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(203,221,238,.3);border-radius:999px;padding:9px 16px;cursor:pointer;
  touch-action:none;transition:opacity .5s var(--ease-lux),background .35s var(--ease-lux),transform .35s var(--ease-lux)}
.accendi:hover{background:rgba(22,38,79,.65)}
.accendi:active{transform:scale(.97)}
.vela-card.lit .accendi{opacity:0;pointer-events:none;visibility:hidden}
.v-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px}
.mood{display:inline-block;align-self:flex-start;font-family:var(--sans);font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:5px 12px;border-radius:999px;background:var(--cc,var(--serenity));color:var(--notte)}
/* Incanto: Pervinca puro dá 4.3:1 com Notte em texto pequeno; o chip usa Pervinca clareado com 25% de Crema (5.9:1). O selo e o halo seguem em Pervinca. */
.vela-card[data-handle="incanto"] .mood{background:#9AA1CD}
.v-body h3{font-family:var(--script);font-weight:600;font-size:38px;line-height:1.1;margin:4px 0 0;color:var(--hero-text)}
.v-body .intens{margin:0;font-size:14.5px;color:var(--brezza)}
.v-body .notas,.v-body .momento{margin:0;opacity:0;transform:translateY(8px);transition:opacity .8s var(--ease-lux),transform .8s var(--ease-lux)}
/* as notas ficam em sussurro antes do gesto (a reserva de altura não lê como vazio); o gesto acende as notas e a frase do momento */
.v-body .notas{font-family:var(--display);font-weight:700;font-size:16px;color:var(--serenity);margin-top:4px;opacity:.38;transform:none}
.v-body .momento{font-size:14px;color:var(--brezza);transition-delay:.12s}
.vela-card.lit .notas,.vela-card.lit .momento{opacity:1;transform:none}
.vela-card.lit .momento{transition-delay:.12s}
.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-top:1px solid rgba(203,221,238,.14);padding-top:14px;margin-top:10px;flex-wrap:wrap}
.preco{font-family:var(--display);font-weight:800;font-size:22px;color:var(--hero-text);letter-spacing:-.01em;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.preco .estado{font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--notte);background:var(--serenity);border-radius:999px;padding:4px 10px;line-height:1.2}
.preco .aguarde{font-family:var(--mono);font-weight:500;font-size:11.5px;letter-spacing:.02em;color:var(--brezza);display:inline-flex;align-items:center;gap:10px;line-height:1.4}
.preco .aguarde .anel{width:18px;height:18px;color:var(--serenity);transform:rotate(-90deg);flex:none;animation:gira 1.6s linear infinite}
@keyframes gira{to{transform:rotate(270deg)}}
.preco .aviso{font-family:var(--sans);font-weight:400;font-size:13.5px;color:var(--brezza);line-height:1.5}
.peso{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brezza);min-height:1.2em}
.v-body .levar{margin-top:12px;width:100%}
.v-body .erro{margin:8px 0 0;font-size:13px;color:var(--brezza);display:none}
.v-body .erro a{color:var(--burro)}
.v-body .erro.on{display:block}
.v-body .avise{display:inline-block;margin-top:6px;color:var(--burro);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(246,233,172,.5)}
.bilhete{display:none;margin-top:28px;padding:22px 24px;border:1px solid rgba(203,221,238,.2);border-radius:20px;background:rgba(245,239,221,.04)}
.bilhete.on{display:block}
.bilhete label{display:block;font-family:var(--sans);font-weight:600;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--serenity);margin-bottom:10px}
.bilhete textarea{width:100%;resize:none;border:1px solid rgba(203,221,238,.5);border-radius:14px;background:rgba(22,38,79,.4);color:var(--hero-text);font-family:var(--sans);font-size:15px;line-height:1.5;padding:12px 16px;min-height:calc(1.5em + 24px);max-height:calc(6em + 24px);overflow:auto}
.bilhete textarea::placeholder{color:rgba(203,221,238,.55)}
.bilhete .rodape{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:8px;flex-wrap:wrap}
.bilhete .contador{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.1em;color:var(--serenity)}
.bilhete .apoio{margin:0;font-size:13.5px;color:var(--brezza)}
.medidas{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.08em;color:var(--serenity);margin:30px 0 0;display:none}
.medidas.on{display:block}
.confianca{display:flex;gap:10px 26px;flex-wrap:wrap;list-style:none;padding:0;margin:26px 0 0;font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.06em}
.confianca a{color:var(--brezza);text-decoration:none;border-bottom:1px solid rgba(203,221,238,.35);padding-bottom:2px;transition:color .35s var(--ease-lux),border-color .35s var(--ease-lux)}
.confianca a:hover{color:var(--burro);border-color:var(--burro)}
.perfumes .rodape-sec{margin:22px 0 0;font-size:13.5px;color:var(--brezza);max-width:70ch}

/* ---------- 3b. Colorir: Crema com bolinhas pastel em sussurro ---------- */
.colorir{background:var(--canvas);overflow:hidden}
/* o motivo desta seção: cinco camadas de bolinhas (Burro, Serenity, Pervinca, Limone e rosa pastel), cada uma com o seu passo, derivando devagar */
.colorir .bolinhas{position:absolute;inset:-80px;pointer-events:none;z-index:0;opacity:.3;
  background-image:
    radial-gradient(circle at 30px 40px,rgba(246,233,172,.9) 0 11px,transparent 12px),
    radial-gradient(circle at 120px 150px,rgba(169,196,232,.75) 0 9px,transparent 10px),
    radial-gradient(circle at 70px 110px,rgba(123,135,200,.45) 0 7px,transparent 8px),
    radial-gradient(circle at 160px 60px,rgba(232,200,90,.55) 0 8px,transparent 9px),
    radial-gradient(circle at 20px 180px,rgba(243,198,212,.85) 0 10px,transparent 11px);
  background-size:190px 210px,260px 230px,230px 250px,210px 190px,250px 270px;
  background-position:0 0,40px 60px,110px 20px,70px 130px,150px 90px}
/* acima de 900px as bolinhas vivem ao redor da foto (coluna esquerda) e somem sob a coluna de texto, para o corpo nunca correr por cima delas */
@media (min-width:901px){.colorir .bolinhas{-webkit-mask-image:linear-gradient(90deg,#000 38%,transparent 52%);mask-image:linear-gradient(90deg,#000 38%,transparent 52%)}}
.colorir.live .bolinhas{animation:bolinhas-deriva 80s var(--ease-soft) infinite alternate -26s}
@keyframes bolinhas-deriva{from{transform:translate(0,0)}to{transform:translate(-40px,28px)}}
.colorir .topo{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(30px,5vw,64px);align-items:start}
@media (max-width:900px){.colorir .topo{grid-template-columns:1fr}}
.colorir .moldura.retrato{aspect-ratio:4/5;max-width:520px}
.colorir .corpo{margin:22px 0 0;max-width:52ch;color:var(--text-secondary);font-size:clamp(16px,1.25vw,17.5px)}
/* três passos em linha, cada um com o filete que se traça em sequência */
.colorir .passos{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:560px}
.colorir .passos li{position:relative;display:flex;align-items:baseline;gap:8px;padding-bottom:4px}
.colorir .passos .n{font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.02em;color:var(--royal)}
.colorir .passos .p{font-family:var(--display);font-weight:700;font-size:clamp(18px,1.7vw,23px);letter-spacing:-.01em;color:var(--marino);white-space:nowrap}
.colorir .passos .filete{position:absolute;left:0;bottom:-10px;margin:0}
.colorir .passos li:nth-child(2) .filete line{transition-delay:.22s}
.colorir .passos li:nth-child(2) .filete .l2{transition-delay:.34s}
.colorir .passos li:nth-child(3) .filete line{transition-delay:.44s}
.colorir .passos li:nth-child(3) .filete .l2{transition-delay:.56s}
@media (max-width:480px){.colorir .passos{grid-template-columns:1fr;gap:22px}}
.colorir .mono{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.08em;color:var(--royal);margin:30px 0 0}
/* o card da vitrine, deitado, sobre Crema: um cartão de Notte em cima do linho */
.colorir .vela-card{background:var(--notte);border-color:rgba(35,64,196,.18);box-shadow:0 18px 44px rgba(35,64,196,.12)}
.colorir .texto > .part:last-child{margin-top:30px}
.colorir .vela-card:hover{border-color:rgba(35,64,196,.4)}
.vela-card.wide{display:grid;grid-template-columns:minmax(150px,38%) 1fr}
.vela-card.wide .v-media{aspect-ratio:auto;min-height:280px}
.vela-card.wide .v-body{padding:20px 22px 22px;justify-content:center}
.v-body h3.nome-sans{font-family:var(--display);font-weight:700;font-size:clamp(22px,2vw,28px);line-height:1.1;letter-spacing:-.012em;margin:6px 0 0}
@media (max-width:480px){.vela-card.wide{grid-template-columns:1fr}.vela-card.wide .v-media{aspect-ratio:4/5}}
.colorir .larga{margin-top:clamp(36px,5vw,64px);border-radius:26px;overflow:hidden;aspect-ratio:16/9;background:var(--brezza);border:10px solid var(--panel);box-shadow:0 18px 44px rgba(35,64,196,.13)}
.colorir .larga img{width:100%;height:100%;object-fit:cover}
.colorir .larga.vazia img{visibility:hidden}

/* ---------- 4. Vidro ---------- */
/* espelhado (texto à esquerda, foto inclinada à direita): Colorir e Presente já abrem pela foto à esquerda, e duas vizinhas nunca dividem o mesmo esqueleto */
.edit-split{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(30px,5vw,60px);align-items:center}
.edit-split > .part:first-child{order:2}
@media (max-width:900px){.edit-split{grid-template-columns:1fr}.edit-split > .part:first-child{order:0}}
.edit-photo{border-radius:26px;overflow:hidden;transform:rotate(5deg);border:10px solid var(--panel);box-shadow:0 18px 44px rgba(35,64,196,.13);transition:transform .7s var(--ease-lux);aspect-ratio:16/10;background:var(--brezza)}
.edit-photo:hover{transform:rotate(0deg)}
.edit-photo img{width:100%;height:100%;object-fit:cover}
.vidro .corpo{margin:22px 0 0;max-width:52ch;color:var(--text-secondary);font-size:clamp(16px,1.25vw,17.5px)}

/* ---------- 5. Presente ---------- */
.presente .grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(30px,5vw,64px);align-items:center}
@media (max-width:900px){.presente .grid{grid-template-columns:1fr}}
.moldura{position:relative;padding:14px;background:var(--crema);border:8px dotted var(--royal);outline:1.5px solid var(--royal);outline-offset:-13px;aspect-ratio:16/11}
.moldura img{width:100%;height:100%;object-fit:cover}
.moldura.vazia img{visibility:hidden}
.moldura.vazia{background:var(--brezza)}
.staccato{font-family:var(--display);font-weight:700;font-size:clamp(26px,3.2vw,42px);line-height:1.12;letter-spacing:-.012em;margin:0;color:var(--marino);max-width:22ch}
.staccato span{display:block}
.presente .corpo{margin:22px 0 26px;max-width:48ch;color:var(--text-secondary)}

/* ---------- 6. Como chega ---------- */
.linha-tempo{position:relative;list-style:none;padding:0 0 0 44px;margin:clamp(36px,4vw,56px) 0 0;max-width:640px;--draw:0}
.linha-tempo .trilho{position:absolute;left:8px;top:8px;bottom:8px;width:12px;overflow:visible}
.linha-tempo .trilho line{stroke:var(--burro);stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--draw));transition:stroke-dashoffset .25s linear}
.linha-tempo .trilho .l1{stroke-width:1.5}
.linha-tempo .trilho .l2{stroke-width:1}
.etapa{position:relative;padding:0 0 30px}
.etapa::before{content:'';position:absolute;left:-40px;top:9px;width:9px;height:9px;border-radius:50%;background:var(--burro);box-shadow:0 0 0 4px var(--notte)}
.etapa .rotulo{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--serenity);margin:0 0 4px}
.etapa p{margin:0;color:var(--brezza);max-width:44ch}
.fecho{font-family:var(--display);font-weight:700;font-size:clamp(20px,2vw,26px);line-height:1.3;color:var(--burro);margin:30px 0 0;max-width:32ch}
.como .mono{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.06em;color:var(--serenity);margin:22px 0 0;max-width:60ch}

/* ---------- 8. Chapecó ---------- */
.chapeco .grid{display:grid;grid-template-columns:1fr .9fr;gap:clamp(30px,5vw,64px);align-items:center}
@media (max-width:900px){.chapeco .grid{grid-template-columns:1fr}.chapeco .foto{order:-1}}
.chapeco .foto{position:relative}
.chapeco .foto .moldura{aspect-ratio:16/10}
.chapeco .foto .filete-moldura{position:absolute;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);overflow:visible;pointer-events:none;margin:0}
.chapeco .foto .filete-moldura.inner{inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px)}
.chapeco .foto .filete-moldura rect{fill:none;stroke:var(--royal);stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s var(--ease-lux)}
.chapeco .foto .filete-moldura .r1{stroke-width:1.5}
.chapeco .foto .filete-moldura .r2{stroke-width:1;transition-delay:.15s}
.chapeco.in .foto .filete-moldura rect{stroke-dashoffset:0}
.chapeco .foto .dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.chapeco .corpo{margin:22px 0 0;max-width:50ch;color:var(--text-secondary)}
.regras{margin:34px 0 0;padding:26px 0 0;position:relative;max-width:52ch}
.regras .filete{margin:0 0 20px}
.regras h3{font-family:var(--sans);font-weight:800;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--royal);margin:0 0 12px}
.regras p{margin:0 0 10px;color:var(--text-primary)}

/* ---------- 9. Perguntas ---------- */
.faq{max-width:720px;margin:clamp(30px,4vw,48px) 0 0}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;font-family:var(--display);font-weight:700;font-size:clamp(18px,1.6vw,22px);line-height:1.3;color:var(--marino)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .chev-faq{flex:none;width:14px;height:14px;color:var(--royal);transition:transform .45s var(--ease-lux)}
.faq details[open] summary .chev-faq{transform:rotate(180deg)}
.faq details p{padding:0 4px 22px;margin:0;font-size:15.5px;max-width:58ch;color:var(--text-secondary)}

/* ---------- 10. CTA final + 11. Rodapé (um bloco só de Notte) ---------- */
.fim{position:relative;min-height:88vh;display:flex;align-items:center;background:var(--notte);color:var(--hero-text);overflow:hidden;padding:clamp(90px,12vw,160px) 0}
.fim .bg{position:absolute;inset:0;background:url('hero-final.jpg') 70% 50%/cover no-repeat}
.fim .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,38,79,.5),rgba(22,38,79,.28) 45%,rgba(22,38,79,.85))}
.fim .halo{position:absolute;left:72%;top:36%;width:70vmin;height:60vmin;transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(ellipse 70% 55% at 50% 30%,rgba(246,233,172,.24),transparent 70%)}
.fim.live .halo{animation:breathe 4.8s var(--ease-soft) infinite -2.4s}
.fim .wrap{text-shadow:var(--tshadow-night)}
.fim h2{color:var(--hero-text);max-width:16ch;font-size:clamp(34px,5vw,64px);font-family:var(--display);font-weight:700;line-height:1.06;letter-spacing:-.012em;margin:0}
.fim .filete line{stroke:var(--burro)}
.presente .titulo-filete{display:block}
.fim .linha{font-size:clamp(16px,1.4vw,19px);color:var(--hero-text-secondary);margin:.8em 0 0;max-width:40ch}
.fim .cta-row{margin-top:1.8em;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.fim .fecho-fim{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.02em;color:var(--burro);margin:44px 0 0}
/* retrato no celular: a mesma regra do hero estático (o 16:9 a 70% viraria um close do rótulo); o retrato já está baixado */
@media (orientation: portrait) and (max-width: 720px){
  .fim .bg{background-image:url('hero-final-retrato.jpg');background-position:100% 25%}
  .fim .halo{left:74%;top:22%}
  /* e o bloco de texto desce para o pé do quadro, sobre o linho, como no hero estático (a vela vive no terço superior direito) */
  .fim{min-height:100vh;min-height:100svh;align-items:flex-end;padding:110px 0 56px}
  .fim .veil{background:linear-gradient(180deg,rgba(22,38,79,.35),rgba(22,38,79,.2) 40%,rgba(22,38,79,.85))}
  @media (max-height: 700px){
    .fim{padding-bottom:36px}
    .fim h2{font-size:30px}
    .fim .linha{font-size:15px;line-height:1.5;margin-top:.6em}
    .fim .cta-row{margin-top:1em}
    .fim .fecho-fim{margin-top:20px}
  }
}
footer{background:var(--notte);color:var(--brezza);position:relative;z-index:2;padding:clamp(40px,6vw,72px) 0 28px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr;gap:34px;margin-bottom:44px;max-width:760px}
@media (max-width:760px){footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:480px){footer .cols{grid-template-columns:1fr}}
footer h2{font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--serenity);margin:0 0 14px}
footer p{margin:0 0 8px;font-size:13.5px;opacity:.85}
footer ul{list-style:none;padding:0;margin:0}
footer li a{display:inline-block;color:var(--brezza);opacity:.85;text-decoration:none;font-size:13.5px;margin-bottom:8px;transition:color .35s var(--ease-lux),opacity .35s var(--ease-lux)}
footer li a:hover{color:var(--burro);opacity:1}
footer .wm-big{display:flex;flex-direction:column;align-items:center;line-height:.85;font-family:var(--display);font-weight:760;letter-spacing:-.05em;font-size:clamp(64px,12vw,160px);color:rgba(245,239,221,.14);margin:0 0 26px}
footer .wm-big small{font-family:var(--sans);font-size:.16em;font-weight:800;letter-spacing:.32em;text-transform:uppercase;padding-left:.32em;margin-top:.55em}
footer .base{border-top:1px solid rgba(203,221,238,.15);padding-top:18px;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.06em;opacity:.7}

/* ---------- Alvos de 44px sob ponteiro grosso ---------- */
@media (pointer:coarse){
  .btn-luxe,.accendi,.presente-switch,.nav-pill .conta,.nav-pill .links a,.confianca a,.faq summary,.link-anim,footer li a,.v-body .avise,.skip{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .nav-pill .brand{min-height:44px;justify-content:center}
  .faq summary{justify-content:space-between}
  footer li a,.confianca a,.link-anim,.v-body .avise{justify-content:flex-start}
  .btn-luxe.compact{min-height:44px}
}

/* ---------- Movimento reduzido, por completo ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important;animation-delay:0s!important}
  html{scroll-behavior:auto}
  .ambient{transform:none}
  .sec .part{opacity:1;transform:none}
  .filete line,.filete path,.filete rect,.prova .num .contorno rect,.chapeco .foto .filete-moldura rect{stroke-dashoffset:0!important}
  .sec.burro::before{transform:none}
  .colorir .bolinhas{transform:none}
  .linha-tempo{--draw:1}
  .marquee{animation:none!important;transform:none}
  .stage .dust,.chapeco .dust{display:none}
  .stage .halo,.fim .halo,.hero-static .halo{opacity:1}
  .vela-card .accendi{display:none}
  .vela-card{--hold:1}
  .v-body .notas,.v-body .momento{opacity:1;transform:none}
  .edit-photo{transform:rotate(5deg)}
  .nav-pill{transform:translateX(-50%)}
  .cue{display:none}
}
