/* ==========================================================================
   SANTO CONSELHO — Design System & Landing
   Mobile-first. Pinned / 3D layouts são ativados por classes no <html>
   (.pin = desktop com movimento permitido, .motion = movimento permitido).
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. TOKENS
   -------------------------------------------------------------------------- */
:root {
  /* Paleta base */
  --ivory-50:  #FFFCFA;   /* marfim quase branco */
  --ivory-100: #FFF8F5;   /* marfim quente */
  --nude-200:  #F7EAE6;   /* nude rosado */
  --petal-200: #F3DEE3;   /* pétala */
  --petal-300: #EACAD2;
  --satin-300: #E7B7C3;   /* rosa acetinado */
  --rose-400:  #C5909D;   /* rosa antigo */
  --rasp-400:  #D04A70;   /* framboesa viva */
  --rasp-500:  #B73559;   /* framboesa */
  --wine-600:  #70243F;   /* vinho */
  --wine-700:  #5E1A35;   /* vinho da marca (logo) */
  --wine-800:  #44112A;
  --wine-900:  #2C0B1B;
  --wine-950:  #1C0911;   /* vinho quase preto */
  --plum-900:  #30222A;   /* ameixa */

  /* Texto */
  --ink:        #2A1B22;
  --ink-soft:   #66525B;
  --ink-mute:   #8D7882;
  --on-dark:    #FBEFF1;
  --on-dark-soft: rgba(251, 239, 241, .72);
  --on-dark-mute: rgba(251, 239, 241, .5);

  /* Superfícies */
  --bg:          var(--ivory-100);
  --surface:     #FFFFFF;
  --surface-2:   var(--ivory-50);
  --line:        rgba(48, 34, 42, .12);
  --line-strong: rgba(48, 34, 42, .22);
  --line-dark:   rgba(255, 255, 255, .14);

  /* Glass */
  --glass:        rgba(255, 250, 248, .62);
  --glass-strong: rgba(255, 250, 248, .86);
  --glass-line:   rgba(255, 255, 255, .7);
  --glass-dark:   rgba(36, 12, 22, .46);
  --glass-dark-line: rgba(255, 255, 255, .12);
  --blur:   saturate(160%) blur(18px);
  --blur-l: saturate(150%) blur(28px);

  /* Tipografia */
  --f-serif: "Newsreader", "Iowan Old Style", Georgia, serif;
  --f-sans:  "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;

  --t-giant:   clamp(3rem, 9.2vw, 9rem);
  --t-display: clamp(2.6rem, 5.5vw, 5.2rem);
  --t-h1:      clamp(2.25rem, 4.4vw, 4.1rem);
  --t-h2:      clamp(2rem, 3.8vw, 3.4rem);
  --t-h3:      clamp(1.5rem, 2.4vw, 2.15rem);
  --t-h4:      clamp(1.2rem, 1.6vw, 1.45rem);
  --t-lead:    clamp(1.06rem, 1.25vw, 1.22rem);
  --t-body:    1rem;
  --t-small:   .875rem;
  --t-micro:   .72rem;

  --lh-tight: .98;
  --lh-head:  1.04;
  --lh-body:  1.62;
  --track-tight: -.025em;
  --track-label: .2em;

  /* Espaço (base 4) */
  --s-1: .25rem; --s-2: .5rem; --s-3: .75rem; --s-4: 1rem; --s-5: 1.5rem;
  --s-6: 2rem; --s-7: 3rem; --s-8: 4rem; --s-9: 6rem; --s-10: 8rem;
  --gutter: clamp(1rem, 4vw, 2.5rem);
  --section: clamp(5.5rem, 12vw, 10rem);
  --maxw: 1240px;

  /* Raios */
  --r-xs: 6px; --r-sm: 12px; --r-md: 18px; --r-lg: 24px; --r-xl: 32px; --r-pill: 999px;

  /* Sombras (camadas, tom vinho) */
  --sh-1: 0 1px 2px rgba(60, 18, 36, .05), 0 4px 14px -4px rgba(60, 18, 36, .08);
  --sh-2: 0 2px 4px rgba(60, 18, 36, .05), 0 18px 40px -14px rgba(60, 18, 36, .2);
  --sh-3: 0 6px 12px rgba(60, 18, 36, .06), 0 40px 80px -28px rgba(60, 18, 36, .38);
  --sh-dark: 0 30px 70px -24px rgba(0, 0, 0, .6);
  --glow-rasp: 0 14px 34px -14px rgba(183, 53, 89, .7);

  /* Motion */
  --ease-out:   cubic-bezier(.16, 1, .3, 1);
  --ease-inout: cubic-bezier(.65, 0, .35, 1);
  --ease-soft:  cubic-bezier(.25, .8, .25, 1);
  --ease-pop:   cubic-bezier(.34, 1.56, .64, 1);
  --d-1: .18s; --d-2: .32s; --d-3: .6s; --d-4: .9s; --d-5: 1.25s;

  /* Profundidade */
  --z-raised: 10; --z-sticky: 40; --z-nav: 60; --z-dock: 55; --z-menu: 90; --z-toast: 100;

  /* Textura (grão) */
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .19 0 0 0 0 .13 0 0 0 0 .16 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* --------------------------------------------------------------------------
   2. RESET & BASE
   -------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 90px; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--f-sans);
  font-size: var(--t-body);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
[hidden] { display: none !important; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
h1, h2, h3, h4, p, ol, ul, figure, blockquote { margin: 0; }
ol, ul { padding: 0; list-style: none; }
em { font-style: italic; }
strong, b { font-weight: 650; }
::selection { background: var(--satin-300); color: var(--wine-900); }

:focus-visible { outline: 2px solid var(--rasp-500); outline-offset: 3px; border-radius: 6px; }
[data-nav-dark] :focus-visible, .offer :focus-visible { outline-color: var(--satin-300); }

.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
use[href^="#i-"], use[href^="#f-"] { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ic { width: 1.15em; height: 1.15em; flex: none; }

.skip-link {
  position: fixed; top: 10px; left: 10px; z-index: 200;
  padding: 12px 18px; border-radius: var(--r-pill);
  background: var(--wine-700); color: var(--ivory-100); font-weight: 600;
  transform: translateY(-160%); transition: transform var(--d-2) var(--ease-out);
}
.skip-link:focus { transform: none; }

.wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }

/* --------------------------------------------------------------------------
   3. TIPOGRAFIA
   -------------------------------------------------------------------------- */
.display, .h1, .h2, .h3, .quote {
  font-family: var(--f-serif);
  font-weight: 400;
  letter-spacing: var(--track-tight);
  font-optical-sizing: auto;
  color: var(--wine-700);
  text-wrap: balance;
}
.display { font-size: var(--t-display); line-height: var(--lh-tight); font-weight: 350; }
.h1 { font-size: var(--t-h1); line-height: var(--lh-head); font-weight: 380; }
.h2 { font-size: var(--t-h2); line-height: 1.06; }
.h3 { font-size: var(--t-h3); line-height: 1.1; }
.display em, .h1 em, .h2 em, .h3 em, .quote em { color: var(--rasp-500); font-weight: 340; }
.accent { color: var(--rasp-500); font-weight: 330; padding-right: .06em; }

.lead { font-size: var(--t-lead); line-height: 1.6; color: var(--ink-soft); max-width: 34rem; text-wrap: pretty; }
.lead strong { color: var(--ink); }

.label {
  display: inline-flex; align-items: center; gap: .8em;
  font-size: var(--t-micro); font-weight: 650;
  letter-spacing: var(--track-label); text-transform: uppercase;
  color: var(--rasp-500); margin-bottom: var(--s-5);
}
.label::before { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .7; }
.label--light { color: var(--satin-300); }

.eyebrow {
  display: inline-flex; align-items: center; gap: .65em;
  padding: .5em 1.05em .5em .6em; margin-bottom: var(--s-6);
  border-radius: var(--r-pill);
  background: var(--glass); border: 1px solid var(--glass-line);
  -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur);
  box-shadow: var(--sh-1);
  font-size: var(--t-micro); font-weight: 650; letter-spacing: var(--track-label); text-transform: uppercase;
  color: var(--wine-700);
}
.eyebrow i { font-family: var(--f-serif); font-size: 1.5em; line-height: 0; letter-spacing: 0; text-transform: none; color: var(--rasp-500); }
.eyebrow__mark { width: 26px; height: 24px; color: var(--wine-700); }

.quote { font-size: clamp(1.9rem, 3.9vw, 3.3rem); line-height: 1.08; }

/* Dark contexts */
[data-nav-dark] .display, [data-nav-dark] .h1, [data-nav-dark] .h2, [data-nav-dark] .h3 { color: var(--on-dark); }
[data-nav-dark] .display em, [data-nav-dark] .h1 em, [data-nav-dark] .h2 em { color: var(--satin-300); }
[data-nav-dark] .lead { color: var(--on-dark-soft); }

/* --------------------------------------------------------------------------
   4. BOTÕES
   -------------------------------------------------------------------------- */
.btn {
  --h: 50px;
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: .6em;
  min-height: var(--h); padding: 0 1.55em;
  border-radius: var(--r-pill);
  font-weight: 650; font-size: .95rem; letter-spacing: .01em; white-space: nowrap;
  transition: transform var(--d-2) var(--ease-out), box-shadow var(--d-3) var(--ease-out),
              background-position var(--d-4) var(--ease-out), background-color var(--d-2), color var(--d-2), border-color var(--d-2);
  -webkit-tap-highlight-color: transparent;
}
.btn .ic { transition: transform var(--d-3) var(--ease-out); }
.btn:hover .ic { transform: translateX(4px); }
.btn:hover .ic--down { transform: translateY(3px); }
.btn:active { transform: scale(.982); }
.btn::after { /* brilho que atravessa */
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.28) 50%, transparent 70%);
  transform: translateX(-120%); transition: transform 0s;
}
.btn:hover::after { transform: translateX(120%); transition: transform 1s var(--ease-out); }

.btn--sm { --h: 44px; padding: 0 1.15em; font-size: .88rem; }
.btn--lg { --h: 58px; padding: 0 1.85em; font-size: 1rem; }
.btn--block { width: 100%; }

.btn--primary {
  color: var(--ivory-100);
  background: linear-gradient(115deg, var(--wine-700) 0%, var(--wine-600) 45%, var(--rasp-500) 100%);
  background-size: 230% 100%; background-position: 0 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 12px 26px -14px rgba(94, 26, 53, .85);
}
.btn--primary:hover { background-position: 100% 0; box-shadow: inset 0 1px 0 rgba(255,255,255,.22), var(--glow-rasp); }

.btn--ghost { color: var(--wine-700); border: 1px solid var(--line-strong); background: rgba(255,255,255,.35); }
.btn--ghost:hover { background: #fff; border-color: transparent; box-shadow: var(--sh-2); }

.btn--light {
  color: var(--wine-700);
  background: linear-gradient(115deg, #fff 0%, var(--ivory-100) 50%, var(--petal-200) 100%);
  background-size: 230% 100%;
  box-shadow: inset 0 -1px 0 rgba(94,26,53,.08), 0 18px 40px -18px rgba(0,0,0,.55);
}
.btn--light:hover { background-position: 100% 0; box-shadow: 0 0 0 6px rgba(255,248,245,.12), 0 22px 46px -18px rgba(0,0,0,.6); }

/* --------------------------------------------------------------------------
   5. MOTION SYSTEM
   -------------------------------------------------------------------------- */
/* Revelação padrão: sobe + aparece. Usa `translate` para deixar `transform` livre p/ parallax. */
.js [data-reveal] {
  opacity: 0; translate: 0 28px;
  transition: opacity var(--d-4) var(--ease-soft) var(--d, 0s), translate var(--d-5) var(--ease-out) var(--d, 0s);
}
.js [data-reveal].is-in { opacity: 1; translate: 0 0; }

/* Headline por linha (máscara) */
.line { display: block; overflow: hidden; padding: .02em .08em .1em 0; margin-bottom: -.1em; }
.line > span { display: inline-block; }
.js [data-lines] .line > span {
  translate: 0 108%; rotate: 0 0 1 3deg; transform-origin: 0 100%;
  transition: translate var(--d-5) var(--ease-out), rotate var(--d-5) var(--ease-out);
}
.js [data-lines] .line:nth-child(2) > span { transition-delay: .09s; }
.js [data-lines] .line:nth-child(3) > span { transition-delay: .18s; }
.js [data-lines] .line:nth-child(4) > span { transition-delay: .27s; }
.js [data-lines].is-in .line > span { translate: 0 0; rotate: 0 0 1 0deg; }

@keyframes float { 0%,100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@keyframes wave  { 0%,100% { transform: scaleY(.35); } 50% { transform: scaleY(1); } }
@keyframes blink { 50% { opacity: 0; } }
@keyframes dots  { 0%, 60%, 100% { transform: translateY(0); opacity: .45; } 30% { transform: translateY(-4px); opacity: 1; } }
@keyframes pop   { 0% { transform: scale(1); } 35% { transform: scale(.78); } 70% { transform: scale(1.22); } 100% { transform: scale(1); } }
@keyframes ring  { from { transform: scale(.4); opacity: .9; } to { transform: scale(1.7); opacity: 0; } }
@keyframes paneIn { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes tick  { to { transform: translateX(-50%); } }

/* --------------------------------------------------------------------------
   6. NAVEGAÇÃO
   -------------------------------------------------------------------------- */
.nav { position: fixed; inset: 0 0 auto; z-index: var(--z-nav); padding: 10px var(--gutter) 0; pointer-events: none; }
.nav__bar {
  pointer-events: auto;
  max-width: var(--maxw); margin: 0 auto; height: 64px;
  display: flex; align-items: center; gap: var(--s-5);
  padding: 0 8px 0 14px;
  border-radius: 22px;
  background: rgba(255, 250, 248, .4);
  border: 1px solid rgba(255,255,255,.55);
  -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur);
  transition: height var(--d-3) var(--ease-out), background-color var(--d-3), border-color var(--d-3), box-shadow var(--d-3), color var(--d-3);
  color: var(--wine-700);
}
.nav.is-scrolled .nav__bar { height: 56px; background: var(--glass-strong); box-shadow: var(--sh-2); }
.nav.is-dark .nav__bar { background: var(--glass-dark); border-color: var(--glass-dark-line); color: var(--on-dark); box-shadow: 0 10px 40px -20px rgba(0,0,0,.6); }

.nav__brand { display: flex; align-items: center; gap: 8px; margin-right: auto; height: 100%; }
.nav__symbol { width: 40px; height: 38px; transition: transform var(--d-4) var(--ease-out); }
.nav__wordmark { width: 70px; height: 36px; }
.nav__brand:hover .nav__symbol { transform: rotate(-6deg) translateY(-1px); }

.nav__links { display: none; gap: 4px; }
.nav__links a {
  position: relative; padding: 10px 14px; border-radius: var(--r-pill);
  font-size: .88rem; font-weight: 550; opacity: .82; transition: opacity var(--d-2), background-color var(--d-2);
}
.nav__links a:hover { opacity: 1; background: rgba(112, 36, 63, .07); }
.nav.is-dark .nav__links a:hover { background: rgba(255,255,255,.08); }
.nav__actions { display: flex; align-items: center; gap: 6px; }
.nav__menu { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; }
.nav__menu .ic { width: 22px; height: 22px; }
.nav.is-dark .btn--primary { background: var(--ivory-100); color: var(--wine-700); box-shadow: none; }

@media (max-width: 420px) { .nav .btn--sm span { font-size: .82rem; } .nav__wordmark { display: none; } }
@media (min-width: 960px) {
  .nav__links { display: flex; }
  .nav__menu { display: none; }
  .nav__bar { padding: 0 10px 0 18px; }
}

/* Menu mobile */
.menu { position: fixed; inset: 0; z-index: var(--z-menu); background: var(--ivory-100); overflow: hidden; }
.menu[hidden] { display: none; }
.menu__inner { height: 100%; display: flex; flex-direction: column; padding: 90px var(--gutter) calc(28px + env(safe-area-inset-bottom)); }
.menu__close { position: absolute; top: 20px; right: calc(var(--gutter) + 6px); width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: #fff; box-shadow: var(--sh-1); color: var(--wine-700); }
.menu__links { display: flex; flex-direction: column; margin-bottom: auto; }
.menu__links a {
  display: flex; align-items: baseline; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line);
  font-family: var(--f-serif); font-size: clamp(2rem, 9vw, 2.6rem); line-height: 1.1; color: var(--wine-700);
  opacity: 0; translate: 0 18px; transition: opacity .6s var(--ease-soft), translate .8s var(--ease-out);
}
.menu__links a span { font-family: var(--f-sans); font-size: .72rem; letter-spacing: .14em; color: var(--rasp-500); }
.menu.is-open .menu__links a { opacity: 1; translate: 0 0; }
.menu.is-open .menu__links a:nth-child(2) { transition-delay: .05s; }
.menu.is-open .menu__links a:nth-child(3) { transition-delay: .1s; }
.menu.is-open .menu__links a:nth-child(4) { transition-delay: .15s; }
.menu.is-open .menu__links a:nth-child(5) { transition-delay: .2s; }
.menu__mark { position: absolute; right: -60px; bottom: 90px; width: 280px; height: 262px; color: var(--petal-200); z-index: -1; }

/* --------------------------------------------------------------------------
   7. COMPONENTE · CELULAR
   -------------------------------------------------------------------------- */
.phone { --phone-w: 260px; position: relative; width: var(--phone-w); aspect-ratio: 9 / 19.2; transform-style: preserve-3d; }
.phone__body {
  position: absolute; inset: 0;
  padding: calc(var(--phone-w) * .034);
  border-radius: calc(var(--phone-w) * .165);
  background: linear-gradient(150deg, #4a3540 0%, #1b1015 32%, #120a0e 60%, #3a2831 100%);
  box-shadow:
    inset 0 0 0 1.5px rgba(255,255,255,.12),
    inset 0 0 0 4px #0d070a,
    1px 1px 0 #2b1b22, 2px 2px 0 #25171d, 3px 3px 0 #201318, 4px 4px 0 #1b1014, 5px 5px 0 #170d11, 6px 6px 0 #130a0e,
    18px 40px 60px -20px rgba(44, 11, 27, .55),
    40px 80px 120px -50px rgba(44, 11, 27, .55);
}
.phone__screen {
  position: relative; height: 100%; overflow: hidden;
  border-radius: calc(var(--phone-w) * .135);
  background: var(--ivory-100);
  font-size: calc(var(--phone-w) / 23.5);
  line-height: 1.35;
}
.phone__glare {
  position: absolute; inset: 0; z-index: 5; pointer-events: none;
  background: linear-gradient(118deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.06) 28%, transparent 42%);
  translate: calc(var(--mx, 0) * 18px) 0;
  mix-blend-mode: soft-light;
}

/* Telas */
.scr { position: relative; height: 100%; display: flex; flex-direction: column; gap: .85em; padding: .75em 1.05em .7em; color: var(--ink); }
.scr svg { width: 1.25em; height: 1.25em; }
.scr__status { display: flex; align-items: center; justify-content: space-between; font-size: .82em; font-weight: 700; padding: 0 .5em; height: 2.2em; }
.scr__island { width: 7em; height: 2.05em; border-radius: 1.1em; background: #0d070a; }
.scr__sig { display: flex; gap: 2px; align-items: flex-end; }
.scr__sig b { width: 3px; background: currentColor; border-radius: 1px; height: 5px; }
.scr__sig b:nth-child(2) { height: 7px; } .scr__sig b:nth-child(3) { height: 9px; }

.scr__head { display: flex; align-items: center; gap: .65em; }
.scr__logo { width: 2.7em !important; height: 2.5em !important; color: var(--wine-700); }
.scr__head small { display: block; font-size: .78em; color: var(--ink-mute); }
.scr__head strong { display: block; font-family: var(--f-serif); font-weight: 450; font-size: 1.3em; line-height: 1; color: var(--wine-700); }
.scr__avatar { margin-left: auto; width: 2.3em; height: 2.3em; border-radius: 50%; display: grid; place-items: center; background: var(--petal-200); color: var(--wine-700); font-weight: 700; font-size: .85em; }

.scr__days { display: grid; grid-template-columns: repeat(7, 1fr); gap: .3em; }
.scr__days i { height: .3em; border-radius: 1em; background: var(--petal-300); }
.scr__days .done { background: var(--wine-700); }
.scr__days .now { background: linear-gradient(90deg, var(--rasp-500) 55%, var(--petal-300) 55%); }

.scr__card { position: relative; padding: 1.05em; border-radius: 1.35em; background: #fff; box-shadow: 0 .4em 1.4em -.6em rgba(94,26,53,.3); overflow: hidden; }
.scr__card::before { content: ""; position: absolute; right: -2em; top: -2em; width: 7em; height: 7em; border-radius: 50%; background: radial-gradient(circle, rgba(231,183,195,.55), transparent 70%); }
.scr__kicker { position: relative; display: flex; align-items: center; gap: .35em; font-size: .7em; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--rasp-500); }
.scr__kicker svg { width: 1.2em; height: 1.2em; }
.scr__q { position: relative; margin: .5em 0 .85em; font-family: var(--f-serif); font-size: 1.32em; line-height: 1.16; color: var(--ink); }
.scr__player { display: flex; align-items: center; gap: .6em; padding-top: .75em; border-top: 1px solid var(--line); }
.scr__player small { font-size: .75em; color: var(--ink-mute); font-weight: 600; }
.scr__play { width: 2.4em; height: 2.4em; border-radius: 50%; display: grid; place-items: center; background: var(--wine-700); color: var(--ivory-100); flex: none; }
.scr__play svg { width: 1.1em; height: 1.1em; }

.wave { display: flex; align-items: center; gap: .2em; height: 1.7em; flex: 1; }
.wave i { flex: 1; height: 100%; border-radius: 1em; background: var(--satin-300); transform: scaleY(.4); transform-origin: center; }
.wave i:nth-child(-n+6) { background: var(--rasp-500); }
.motion .is-live .wave i, .motion .wave.is-playing i { animation: wave 1.1s var(--ease-inout) infinite; }
.wave i:nth-child(2n) { animation-delay: -.3s !important; } .wave i:nth-child(3n) { animation-delay: -.55s !important; } .wave i:nth-child(5n) { animation-delay: -.8s !important; }

.scr__tip { display: flex; align-items: center; gap: .7em; padding: .55em; border-radius: 1.15em; background: rgba(255,255,255,.75); border: 1px solid var(--line); }
.scr__tip img { width: 3.3em; height: 3.3em; object-fit: cover; border-radius: .8em; flex: none; }
.scr__tip small { font-size: .66em; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--rasp-500); }
.scr__tip p { font-size: .86em; line-height: 1.25; font-weight: 600; }
.scr__tabs { margin-top: auto; display: flex; justify-content: space-around; padding: .7em 0 .2em; border-top: 1px solid var(--line); color: var(--ink-mute); }
.scr__tabs svg { width: 1.55em; height: 1.55em; }
.scr__tabs .on { color: var(--wine-700); }

/* --------------------------------------------------------------------------
   8. HERO
   -------------------------------------------------------------------------- */
.hero {
  position: relative; overflow: clip;
  padding: 108px 0 var(--s-8);
  background:
    radial-gradient(60% 50% at 85% 20%, rgba(243, 222, 227, .9), transparent 70%),
    radial-gradient(40% 40% at 0% 100%, rgba(247, 234, 230, .9), transparent 70%),
    var(--ivory-100);
}
.hero__glow { position: absolute; inset: auto -20% -30% 30%; height: 60%; background: radial-gradient(closest-side, rgba(231, 183, 195, .45), transparent); filter: blur(20px); pointer-events: none; }
.hero__grid { position: relative; display: grid; gap: var(--s-7); }
.hero__copy { position: relative; z-index: 2; }
.hero__title { margin-bottom: var(--s-5); }
@media (min-width: 380px) { .hero__title .line > span { white-space: nowrap; } }
.hero__lead { margin-bottom: var(--s-6); }
.hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: var(--s-6); }
.hero__facts { display: flex; flex-wrap: wrap; gap: 10px 22px; font-size: .84rem; color: var(--ink-soft); font-weight: 550; }
.hero__facts li { display: inline-flex; align-items: center; gap: 8px; }
.hero__facts .ic { color: var(--rasp-500); }

/* Palco */
.hero__stage { position: relative; height: 560px; perspective: 1300px; perspective-origin: 50% 40%; }
.hero__arch {
  position: absolute; left: 50%; top: 2%; width: min(78%, 360px); height: 92%; translate: -50% 0;
  border-radius: 999px 999px 30px 30px; overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.3), var(--sh-3);
}
.hero__arch img { width: 100%; height: 100%; object-fit: cover; scale: 1.12; transform: translate3d(calc(var(--mx, 0) * -12px), calc(var(--my, 0) * -10px + var(--sy, 0) * 40px), 0); }
.hero__arch::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(28,9,17,0) 40%, rgba(28,9,17,.35)), radial-gradient(70% 40% at 50% 0%, rgba(255,255,255,.18), transparent); }

.hero__scene {
  position: absolute; inset: 0; transform-style: preserve-3d;
  transform: rotateX(calc(4deg + var(--my, 0) * -5deg)) rotateY(calc(-10deg + var(--mx, 0) * 8deg)) translateY(calc(var(--sy, 0) * -30px));
  will-change: transform;
}
.hero__scene > * { position: absolute; transform: translateZ(var(--z, 0)) rotate(var(--r, 0deg)); }
.phone--hero { --phone-w: 230px; left: 50%; top: 5%; margin-left: calc(var(--phone-w) / -2); }

.snap { background: #fff; padding: 6px 6px 26px; border-radius: 4px; box-shadow: var(--sh-3); width: 118px; }
.snap img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 2px; }
.snap figcaption { position: absolute; left: 0; right: 0; bottom: 5px; text-align: center; font-family: var(--f-serif); font-style: italic; font-size: .78rem; color: var(--ink-soft); display: flex; justify-content: center; align-items: center; gap: 4px; }
.snap figcaption .ic { width: 12px; height: 12px; color: var(--rasp-500); }
.snap--a { --r: -8deg; left: 0; top: 10%; }
.snap--b { --r: 7deg; right: 0; bottom: 6%; }

.thought {
  padding: .6em 1em; border-radius: 18px 18px 18px 5px;
  background: var(--glass-strong); border: 1px solid var(--glass-line);
  -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur);
  box-shadow: var(--sh-2);
  font-size: .8rem; font-weight: 600; color: var(--ink); white-space: nowrap;
}
.motion .thought { animation: float 6s var(--ease-inout) infinite; }
.thought--1 { top: 3%; right: 4%; animation-delay: -1s !important; }
.thought--2 { top: 38%; left: -2%; animation-delay: -3s !important; }
.thought--3 { top: 56%; right: 0; animation-delay: -4.5s !important; border-radius: 18px 18px 5px 18px; }
.thought--4 { bottom: 2%; left: 10%; animation-delay: -2s !important; }
.thought--wine { background: var(--wine-700); color: var(--ivory-100); border-color: transparent; }

.hero__cue { display: none; }

@media (min-width: 640px) {
  .hero__stage { height: 640px; }
  .phone--hero { --phone-w: 262px; }
  .snap { width: 150px; padding: 8px 8px 32px; }
  .snap figcaption { font-size: .88rem; bottom: 7px; }
  .thought { font-size: .9rem; }
}
@media (min-width: 960px) {
  .hero { min-height: 100svh; padding: 140px 0 var(--s-8); display: flex; align-items: center; }
  .hero__grid { grid-template-columns: 1.05fr .95fr; align-items: center; gap: var(--s-6); }
  .hero__stage { height: 680px; }
  .phone--hero { --phone-w: 270px; top: 6%; }
  .snap--a { left: -2%; }
  .thought--2 { left: -4%; top: 42%; }
  .hero__cue {
    display: block; position: absolute; left: 50%; bottom: 26px; width: 26px; height: 42px; margin-left: -13px;
    border-radius: 20px; border: 1.5px solid var(--line-strong);
  }
  .hero__cue span { position: absolute; left: 50%; top: 8px; width: 3px; height: 8px; margin-left: -1.5px; border-radius: 2px; background: var(--wine-700); animation: cue 2.2s var(--ease-inout) infinite; }
}
@keyframes cue { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 80%,100% { opacity: 0; transform: translateY(14px); } }

/* --------------------------------------------------------------------------
   9. CABEÇA · ticker de pensamentos
   -------------------------------------------------------------------------- */
.noise {
  position: relative; padding: var(--section) 0;
  background: linear-gradient(180deg, var(--nude-200), var(--petal-200));
  overflow: clip;
}
.noise::before { content: ""; position: absolute; inset: 0; background-image: var(--grain); opacity: .35; pointer-events: none; }
.noise__title { margin-bottom: var(--s-8); }

.ticker { display: grid; gap: 14px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.ticker__row { display: flex; width: max-content; }
.ticker__row > * { margin-right: 14px; }
.motion .ticker__row { animation: tick var(--dur, 60s) linear infinite; }
.ticker__row--rev { animation-direction: reverse !important; }
.ticker.is-paused .ticker__row, .ticker:hover .ticker__row { animation-play-state: paused; }
.ticker__row:nth-child(2) { margin-left: -120px; }

.bubble {
  display: inline-flex; align-items: center; gap: 4px; flex: none;
  padding: 14px 22px; border-radius: 24px 24px 24px 6px;
  background: #fff; box-shadow: var(--sh-1);
  font-size: clamp(.98rem, 1.4vw, 1.12rem); font-weight: 560; color: var(--ink); white-space: nowrap;
}
.bubble:nth-child(even) { border-radius: 24px 24px 6px 24px; }
.bubble--wine { background: var(--wine-700); color: var(--ivory-100); box-shadow: var(--glow-rasp); }
.bubble--soft { background: rgba(255,255,255,.5); font-family: var(--f-serif); font-style: italic; font-weight: 400; font-size: 1.2rem; color: var(--ink-soft); }
.bubble--seen { background: transparent; box-shadow: none; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--rose-400); }
.bubble--typing { padding: 18px 22px; }
.bubble--typing i, .story__typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--rose-400); animation: dots 1.3s infinite; }
.bubble--typing i:nth-child(2), .story__typing i:nth-child(2) { animation-delay: .15s; }
.bubble--typing i:nth-child(3), .story__typing i:nth-child(3) { animation-delay: .3s; }

.noise__answer { margin-top: var(--s-9); max-width: 980px; margin-inline: auto; text-align: center; }
.noise__note { margin-top: var(--s-5); font-size: var(--t-lead); color: var(--ink-soft); }
.noise__note strong { color: var(--wine-700); }

/* --------------------------------------------------------------------------
   10. HUMOR · stories
   -------------------------------------------------------------------------- */
.humor { padding: var(--section) 0; background: var(--ivory-50); overflow: clip; }
.humor__head { display: grid; gap: var(--s-5); margin-bottom: var(--s-8); }
.humor__aside { max-width: 22rem; color: var(--ink-soft); }
@media (min-width: 960px) { .humor__head { grid-template-columns: 1fr auto; align-items: end; } }

.stories {
  display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
  padding: 10px var(--gutter) 30px; scroll-padding-inline: var(--gutter);
}
.stories::-webkit-scrollbar { display: none; }
@media (min-width: 960px) {
  .stories { justify-content: center; overflow: visible; gap: 28px; }
  .stories .story:nth-child(1) { rotate: -2deg; margin-top: 40px; }
  .stories .story:nth-child(3) { rotate: 2deg; margin-top: 70px; }
}

.story {
  position: relative; isolation: isolate; flex: 0 0 min(78vw, 320px); scroll-snap-align: center;
  aspect-ratio: 9 / 16; border-radius: 28px; overflow: hidden;
  display: flex; flex-direction: column; padding: 14px 18px 12px;
  box-shadow: var(--sh-3);
  transition: transform var(--d-4) var(--ease-out), box-shadow var(--d-4) var(--ease-out);
}
@media (hover: hover) { .story:hover { transform: translateY(-8px) rotate(0deg); box-shadow: 0 50px 90px -30px rgba(60,18,36,.45); } }
.story--wine { background: radial-gradient(120% 80% at 20% 0%, var(--wine-600), var(--wine-900) 70%); color: var(--on-dark); }
.story--photo { color: #fff; background: var(--wine-950); }
.story--petal { background: linear-gradient(180deg, var(--petal-200), var(--nude-200)); color: var(--wine-700); }
.story__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.story--photo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(20,6,12,.55), rgba(20,6,12,.05) 35%, rgba(20,6,12,.75)); }

.story__bars { display: flex; gap: 4px; margin-bottom: 12px; }
.story__bars i { position: relative; flex: 1; height: 2.5px; border-radius: 2px; background: currentColor; opacity: .3; overflow: hidden; }
.story__bars i::after { content: ""; position: absolute; inset: 0; background: currentColor; transform: scaleX(0); transform-origin: left; }
.story__bars i:first-child { opacity: 1; }
.story__bars i:first-child::after { transform: scaleX(1); }
.motion .story.is-in .story__bars i:nth-child(2)::after { animation: bar 5s linear .4s forwards; }
.story__bars i:nth-child(2) { opacity: .45; }
@keyframes bar { to { transform: scaleX(1); } }

.story__head { display: flex; align-items: center; gap: 8px; font-size: .78rem; }
.story__head small { opacity: .65; }
.story__ava { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--ivory-100); color: var(--wine-700); box-shadow: 0 0 0 2px rgba(255,255,255,.4); }
.story__ava svg { width: 22px; height: 20px; }

.story__body { margin: auto 0; display: grid; gap: 6px; }
.story__who { font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; opacity: .7; }
.story__who--late { margin-top: 18px; }
.story__big { font-family: var(--f-serif); font-style: italic; font-size: clamp(1.75rem, 2.4vw, 2.1rem); line-height: 1.06; }
.story__typing { display: inline-flex; align-items: center; gap: 5px; width: max-content; padding: 10px 16px; border-radius: 20px 20px 20px 6px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.16); font-size: .9rem; font-weight: 600; }
.story__typing span { margin-right: 4px; }
.story__typing i { background: var(--satin-300); width: 6px; height: 6px; }

.story__search { margin-top: 24px; padding: 12px 14px; border-radius: 18px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.2); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); }
.story__search small { display: block; font-size: .7rem; letter-spacing: .14em; font-weight: 700; color: var(--satin-300); margin-bottom: 4px; }
.story__search p { display: flex; align-items: center; gap: 8px; font-size: .95rem; min-height: 1.6em; }
.typer::after { content: ""; display: inline-block; width: 1.5px; height: 1.05em; margin-left: 2px; vertical-align: -2px; background: currentColor; animation: blink 1s steps(1) infinite; }

.story__show { margin-top: 6px; padding: 14px; border-radius: 16px; background: var(--wine-900); color: var(--on-dark); display: grid; gap: 4px; box-shadow: var(--sh-2); }
.story__show-tag { font-size: .62rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--rasp-400); }
.story__show strong { font-family: var(--f-serif); font-weight: 500; font-size: 1.35rem; line-height: 1.1; }
.story__show small { font-size: .74rem; color: var(--on-dark-soft); line-height: 1.4; }
.story__show-play { margin-top: 6px; display: inline-flex; align-items: center; gap: 6px; width: max-content; padding: 6px 12px; border-radius: 8px; background: var(--ivory-100); color: var(--wine-900); font-size: .75rem; font-weight: 700; }
.story__show-play .ic { width: 14px; height: 14px; }

.story__foot { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.story__send { display: inline-flex; align-items: center; gap: 8px; flex: 1; height: 40px; padding: 0 14px; border-radius: var(--r-pill); border: 1px solid currentColor; font-size: .78rem; opacity: .75; }
.story__send .ic { width: 15px; height: 15px; }

/* Coração / salvar (microinteração) */
.heart, .save, .share {
  position: relative; width: 44px; height: 44px; flex: none; display: grid; place-items: center; border-radius: 50%;
  transition: background-color var(--d-2), transform var(--d-2) var(--ease-out);
}
.heart .ic, .save .ic, .share .ic { width: 23px; height: 23px; transition: color var(--d-2); }
.heart:hover, .save:hover, .share:hover { background: rgba(112, 36, 63, .07); }
.heart:active, .save:active, .share:active { transform: scale(.9); }
.heart[aria-pressed="true"] { color: var(--rasp-500); }
.story--wine .heart[aria-pressed="true"], .story--photo .heart[aria-pressed="true"] { color: var(--rasp-400); }
.heart[aria-pressed="true"] use, .save[aria-pressed="true"] use { fill: currentColor; }
.heart[aria-pressed="true"] .ic, .save[aria-pressed="true"] .ic { animation: pop .5s var(--ease-pop); }
.heart::after, .save::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; border: 2px solid currentColor; opacity: 0; pointer-events: none; }
.heart.is-pop::after, .save.is-pop::after { animation: ring .6s var(--ease-out); }
.save[aria-pressed="true"] { color: var(--wine-700); }

/* --------------------------------------------------------------------------
   11. FULL BLEED
   -------------------------------------------------------------------------- */
.bleed { position: relative; isolation: isolate; min-height: 100svh; display: flex; align-items: flex-end; padding: 22vh 0 var(--section); color: var(--on-dark); background: var(--wine-950); overflow: clip; }
.bleed__media { position: absolute; inset: 0; z-index: -1; clip-path: inset(calc((1 - var(--rv, 1)) * 6%) calc((1 - var(--rv, 1)) * 6%) round calc((1 - var(--rv, 1)) * 40px)); }
.bleed__media img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; transform: scale(calc(1.16 - var(--p, .5) * .16)); transform-origin: 60% 50%; }
.bleed__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(28,9,17,.3) 0%, rgba(28,9,17,.55) 45%, rgba(28,9,17,.94) 100%); }
.bleed__grid { display: grid; gap: var(--s-7); }
.bleed__copy .h1 { margin-bottom: var(--s-5); }
.notes { display: grid; gap: 12px; }
.note {
  position: relative; padding: 18px 64px 18px 20px; border-radius: var(--r-lg);
  background: rgba(255, 248, 245, .1); border: 1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur);
  transform: translate3d(0, calc((var(--p, .5) - .5) * var(--depth, 1) * -90px), 0);
}
.note p { font-family: var(--f-serif); font-size: 1.32rem; line-height: 1.15; margin-bottom: 6px; }
.note small { display: block; font-size: .86rem; color: var(--on-dark-soft); line-height: 1.5; }
.note .save { position: absolute; top: 10px; right: 10px; color: var(--on-dark); }
.note .save:hover { background: rgba(255,255,255,.1); }
.note .save[aria-pressed="true"] { color: var(--satin-300); }
@media (min-width: 960px) {
  .bleed { align-items: center; padding: var(--section) 0; min-height: 110svh; }
  .bleed__media::after { background: linear-gradient(90deg, rgba(28,9,17,.92) 0%, rgba(28,9,17,.6) 45%, rgba(28,9,17,.2) 100%), linear-gradient(0deg, rgba(28,9,17,.6), transparent 40%); }
  .bleed__grid { grid-template-columns: 1.2fr .8fr; align-items: end; gap: var(--s-9); }
  .note:nth-child(2) { margin-left: -40px; margin-right: 40px; }
}

/* --------------------------------------------------------------------------
   12. 7 DIAS
   -------------------------------------------------------------------------- */
.days { position: relative; background: radial-gradient(90% 70% at 80% 0%, var(--wine-700), var(--wine-900) 60%, var(--wine-950)); color: var(--on-dark); }
.days__pin { padding: var(--section) 0 var(--s-8); overflow: hidden; }
.days__head { display: grid; gap: var(--s-5); margin-bottom: var(--s-7); }
.days__intro { max-width: 24rem; color: var(--on-dark-soft); }
@media (min-width: 960px) { .days__head { grid-template-columns: 1fr auto; align-items: end; } }

.days__viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.days__viewport::-webkit-scrollbar { display: none; }
.days__track { display: flex; gap: 14px; width: max-content; padding: 10px var(--gutter) 20px; }
.day {
  position: relative; display: flex; flex-direction: column; scroll-snap-align: center;
  width: min(80vw, 340px); min-height: 430px; padding: 26px 26px 22px;
  border-radius: 30px;
  background: linear-gradient(160deg, rgba(255,248,245,.1), rgba(255,248,245,.03));
  border: 1px solid var(--line-dark);
  -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur);
  transition: border-color var(--d-3), background-color var(--d-3), transform var(--d-4) var(--ease-out);
}
.day__n { font-family: var(--f-serif); font-style: italic; font-weight: 300; font-size: 6rem; line-height: .8; color: transparent; -webkit-text-stroke: 1px rgba(231, 183, 195, .6); margin-bottom: auto; transition: color var(--d-4); }
.day h3 { margin: 40px 0 12px; font-family: var(--f-serif); font-weight: 400; font-size: 1.75rem; line-height: 1.08; letter-spacing: -.015em; }
.day p { color: var(--on-dark-soft); font-size: .95rem; line-height: 1.55; }
.day__tool { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line-dark); font-size: .8rem; font-weight: 600; color: var(--satin-300); }
.day.is-active { border-color: rgba(231, 183, 195, .5); }
.day.is-active .day__n { color: var(--satin-300); }
.day--final { background: var(--ivory-100); color: var(--wine-700); border-color: transparent; box-shadow: 0 40px 80px -30px rgba(0,0,0,.6); }
.day--final .day__n { color: var(--rasp-500); -webkit-text-stroke: 0; }
.day--final p { color: var(--ink-soft); }
.day__kicker { margin-top: 30px; font-size: .7rem !important; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--rasp-500) !important; }
.day--final h3 { margin-top: 8px; color: var(--wine-700); }
.day--final .btn { margin-top: 22px; align-self: flex-start; }

.days__progress { display: flex; align-items: center; gap: 18px; margin-top: var(--s-5); font-size: .8rem; color: var(--on-dark-mute); }
.days__count b { color: var(--on-dark); font-weight: 650; }
.days__bar { position: relative; flex: 1; max-width: 360px; height: 2px; border-radius: 2px; background: var(--line-dark); overflow: hidden; }
.days__bar i { position: absolute; inset: 0; background: var(--satin-300); transform-origin: left; transform: scaleX(var(--dp, .14)); transition: transform .2s linear; }

/* Pinned horizontal (desktop) */
.pin .days__pin { position: sticky; top: 0; height: 100svh; display: flex; flex-direction: column; justify-content: center; padding: 90px 0 40px; }
.pin .days__viewport { overflow: visible; }
.pin .days__track { transform: translate3d(var(--tx, 0), 0, 0); will-change: transform; padding-left: max(var(--gutter), calc((100vw - var(--maxw)) / 2 + var(--gutter))); padding-right: 30vw; }
.pin .day { width: 340px; min-height: min(430px, 50svh); }
.pin .days__head { margin-bottom: var(--s-6); }
.pin .days .h1 { font-size: clamp(2.2rem, 3.5vw, 3.5rem); }
.pin .days__intro { max-width: 21rem; }
.pin .day h3 { margin-top: 28px; }

/* --------------------------------------------------------------------------
   13. VIRADA
   -------------------------------------------------------------------------- */
.turn { padding: var(--section) 0 calc(var(--section) * .7); background: var(--ivory-100); overflow: clip; }
.turn__title { font-family: var(--f-serif); font-weight: 340; font-size: clamp(2.6rem, 7.2vw, 7rem); line-height: .98; letter-spacing: -.03em; color: var(--wine-700); text-wrap: balance; }
.turn__a, .turn__b { display: block; }
.turn__a { color: var(--plum-900); }
.turn__b { margin-top: .25em; }
.turn__b em { color: var(--rasp-500); font-weight: 320; }
.turn__strike { position: relative; display: inline-block; font-style: italic; transition: color 1s var(--ease-soft) 1s; }
.turn__strike svg { position: absolute; left: -4%; top: 38%; width: 108%; height: .42em; overflow: visible; }
.turn__strike path { fill: none; stroke: var(--rasp-500); stroke-width: 5; stroke-linecap: round; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.1s var(--ease-inout) .55s; }
.turn__a.is-in .turn__strike path, .no-js .turn__strike path { stroke-dashoffset: 0; }
.turn__a.is-in .turn__strike { color: var(--rose-400); }
.turn__note { margin-top: var(--s-6); max-width: 30rem; font-size: var(--t-lead); color: var(--ink-soft); }

.marquee { margin-top: var(--s-9); padding: 18px 0; border-block: 1px solid var(--line); overflow: hidden; }
.marquee__row { display: flex; align-items: center; width: max-content; font-family: var(--f-serif); font-size: clamp(2.6rem, 7vw, 6.2rem); line-height: 1.1; letter-spacing: -.02em; white-space: nowrap; }
.motion .marquee__row { animation: tick var(--dur, 50s) linear infinite; }
.marquee.is-paused .marquee__row { animation-play-state: paused; }
.marquee__row span { color: var(--wine-700); }
.marquee__row span:nth-of-type(even) { font-style: italic; color: transparent; -webkit-text-stroke: 1px var(--rose-400); }
.marquee__row svg { width: .42em; height: .42em; color: var(--rasp-500); flex: none; margin: 0 .5em; }

/* --------------------------------------------------------------------------
   14. A VIDA NÃO É SÓ ELE
   -------------------------------------------------------------------------- */
.life { position: relative; background: linear-gradient(180deg, var(--ivory-100), var(--ivory-50)); }
.life__pin { padding: var(--s-8) 0 var(--section); }
.life__grid { display: grid; gap: var(--s-7); }
.life__title { font-family: var(--f-serif); font-weight: 340; font-size: clamp(3.4rem, 8.4vw, 8.4rem); line-height: .9; letter-spacing: -.035em; color: var(--wine-700); }
.life__title span { display: block; }
.life__title em { color: var(--rasp-500); }
.life__index { display: none; }

.life__right { display: grid; gap: var(--s-7); }
.chapter { position: relative; }
.chapter__img { position: relative; overflow: hidden; border-radius: var(--r-xl); aspect-ratio: 4 / 5; box-shadow: var(--sh-3); background: var(--petal-200); }
.chapter__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--ease-out); }
.chapter__txt {
  position: relative; margin: -90px 14px 0; padding: 22px 22px 24px; border-radius: var(--r-lg);
  background: var(--glass-strong); border: 1px solid var(--glass-line);
  -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); box-shadow: var(--sh-2);
}
.chapter__tag { display: block; margin-bottom: 10px; font-size: var(--t-micro); font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--rasp-500); }
.chapter h3 { font-family: var(--f-serif); font-weight: 400; font-size: clamp(1.5rem, 2.4vw, 2.2rem); line-height: 1.08; letter-spacing: -.015em; color: var(--wine-700); text-wrap: balance; }
.chapter h3 em { color: var(--rasp-500); }
.chapter__end { display: grid; place-items: center; gap: 18px; padding: 70px 24px; border-radius: var(--r-xl); text-align: center; background: radial-gradient(100% 80% at 50% 0%, var(--wine-600), var(--wine-900)); color: var(--on-dark); box-shadow: var(--sh-3); }
.chapter__end svg { width: 120px; height: 112px; color: var(--satin-300); }
.chapter__end p { font-family: var(--f-serif); font-size: clamp(2.6rem, 5vw, 4.6rem); line-height: .98; letter-spacing: -.02em; }
.chapter__end em { color: var(--satin-300); }

.js:not(.pin) .chapter { opacity: 0; translate: 0 40px; transition: opacity var(--d-4) var(--ease-soft), translate var(--d-5) var(--ease-out); }
.js:not(.pin) .chapter.is-in { opacity: 1; translate: 0 0; }

/* Pinned (desktop) */
.pin .life { height: 620svh; }
.pin .life__pin { position: sticky; top: 0; height: 100svh; padding: 96px 0 40px; display: flex; align-items: center; }
.pin .life__grid { grid-template-columns: .9fr 1.1fr; align-items: center; gap: var(--s-8); width: 100%; }
.pin .life__index { display: grid; gap: 4px; margin-top: var(--s-7); counter-reset: idx; }
.pin .life__index li { display: flex; align-items: center; gap: 12px; font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-mute); transition: color var(--d-3); counter-increment: idx; }
.pin .life__index li::before { content: "0" counter(idx); font-family: var(--f-serif); font-style: italic; letter-spacing: 0; font-size: .95rem; width: 22px; }
.pin .life__index li::after { content: ""; height: 1px; width: 0; background: currentColor; transition: width var(--d-4) var(--ease-out); }
.pin .life__index li.is-active { color: var(--wine-700); }
.pin .life__index li.is-active::after { width: 46px; }

.pin .life__right { position: relative; display: block; height: min(78svh, 720px); }
.pin .chapter { position: absolute; inset: 0; }
.pin .chapter__img { position: absolute; inset: 0 0 0 14%; aspect-ratio: auto; clip-path: inset(100% 0 0 0 round var(--r-xl)); transition: clip-path 1.1s var(--ease-inout); }
.pin .chapter__img img { transform: scale(1.18); }
.pin .chapter__txt { position: absolute; left: 0; bottom: 8%; width: min(58%, 380px); margin: 0; opacity: 0; translate: 0 30px; transition: opacity .6s var(--ease-soft), translate .9s var(--ease-out); }
.pin .chapter.is-active .chapter__img, .pin .chapter.is-past .chapter__img { clip-path: inset(0 0 0 0 round var(--r-xl)); }
.pin .chapter.is-active .chapter__img img { transform: scale(1); }
.pin .chapter.is-active .chapter__txt { opacity: 1; translate: 0 0; transition-delay: .35s; }
.pin .chapter--end .chapter__end { position: absolute; inset: 0 0 0 14%; clip-path: inset(100% 0 0 0 round var(--r-xl)); transition: clip-path 1.1s var(--ease-inout); }
.pin .chapter--end.is-active .chapter__end { clip-path: inset(0 0 0 0 round var(--r-xl)); }

/* --------------------------------------------------------------------------
   15. PHOTO DUMP
   -------------------------------------------------------------------------- */
.dump { position: relative; padding: var(--section) var(--gutter); background: var(--petal-200); overflow: clip; }
.dump::before { content: ""; position: absolute; inset: 0; background-image: var(--grain); opacity: .4; pointer-events: none; }
.dump__canvas { position: relative; max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; align-items: start; }
.dump__title {
  grid-column: 1 / -1; order: -1; margin-bottom: var(--s-7); text-align: center;
  font-family: var(--f-serif); font-weight: 360; font-size: clamp(2.3rem, 5.4vw, 5.4rem); line-height: .98; letter-spacing: -.03em; color: var(--wine-700); text-transform: none;
}
.dump__title span { display: block; }
.dump__title em { color: var(--rasp-500); }

.pd {
  position: relative; background: #fff; padding: 6px; border-radius: 4px; box-shadow: var(--sh-2);
  rotate: var(--rot, 0deg);
  transition: rotate var(--d-4) var(--ease-out), scale var(--d-4) var(--ease-out), box-shadow var(--d-4), opacity .8s var(--ease-soft);
}
.pd img { width: 100%; height: 100%; object-fit: cover; border-radius: 2px; }
.pd--polaroid { padding: 7px 7px 34px; }
.pd--polaroid figcaption { position: absolute; left: 8px; right: 8px; bottom: 8px; text-align: center; font-family: var(--f-serif); font-style: italic; font-size: .86rem; color: var(--ink-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pd--story { padding: 0; border-radius: 18px; overflow: hidden; }
.pd--story img { border-radius: 0; aspect-ratio: 9 / 15; }
.pd__bars { position: absolute; top: 10px; left: 10px; right: 10px; display: flex; gap: 4px; }
.pd__bars i { flex: 1; height: 2px; border-radius: 2px; background: rgba(255,255,255,.5); }
.pd__bars i:first-child { background: #fff; }
.pd__sticker { position: absolute; left: 12px; right: 12px; bottom: 14px; padding: 8px 12px; border-radius: 12px; background: rgba(255,255,255,.85); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); font-size: .76rem; font-weight: 700; color: var(--wine-700); text-align: center; }
.pd--note { padding: 18px 18px 22px; background: #FBF3D9; border-radius: 2px; font-family: var(--f-serif); font-style: italic; font-size: 1.15rem; line-height: 1.25; color: var(--plum-900); box-shadow: var(--sh-1); }
.pd--note::before { content: ""; position: absolute; top: -10px; left: 50%; width: 70px; height: 20px; margin-left: -35px; background: rgba(231,183,195,.7); rotate: -3deg; }
.pd--tag { background: transparent; box-shadow: none; padding: 0; font-family: var(--f-serif); font-style: italic; font-size: 1rem; color: var(--wine-600); }

/* Mobile collage */
.pd--1 { grid-column: 1 / span 4; }
.pd--2 { grid-column: 4 / span 3; grid-row: span 2; margin-top: 30px; z-index: 2; }
.pd--3 { grid-column: 1 / span 3; margin-top: -20px; }
.pd--4 { grid-column: 1 / span 3; }
.pd--5 { grid-column: 2 / span 5; z-index: 1; }
.pd--6 { grid-column: 1 / span 3; margin-top: -10px; }
.pd--note { grid-column: 4 / span 3; align-self: center; }
.pd--7 { grid-column: 1 / span 4; }
.pd--8 { grid-column: 4 / span 3; margin-top: 40px; }
.pd--tag { grid-column: 1 / -1; text-align: center; margin-top: 10px; }
.pd--1 img, .pd--4 img, .pd--8 img { aspect-ratio: 16 / 10; }
.pd--3 img, .pd--5 img, .pd--7 img { aspect-ratio: 4 / 3; }
.pd--6 img { aspect-ratio: 3 / 4; }

.js .dump .pd { opacity: 0; scale: 1.12; rotate: calc(var(--rot, 0deg) + 9deg); }
.js .dump.is-in .pd { opacity: 1; scale: 1; rotate: var(--rot, 0deg); }
.dump.is-in .pd:nth-of-type(2) { transition-delay: .06s; } .dump.is-in .pd:nth-of-type(3) { transition-delay: .12s; }
.dump.is-in .pd:nth-of-type(4) { transition-delay: .18s; } .dump.is-in .pd:nth-of-type(5) { transition-delay: .24s; }
.dump.is-in .pd:nth-of-type(6) { transition-delay: .3s; }  .dump.is-in .pd:nth-of-type(7) { transition-delay: .36s; }
.dump.is-in .pd:nth-of-type(8) { transition-delay: .42s; }
@media (hover: hover) { .dump .pd:hover { rotate: 0deg; scale: 1.05; z-index: 6; box-shadow: var(--sh-3); transition-delay: 0s; } }

@media (min-width: 960px) {
  .dump__canvas { display: block; height: 1040px; }
  .dump__title { position: absolute; inset: 0; margin: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 4; pointer-events: none; }
  .dump__title span { background: linear-gradient(transparent 12%, rgba(243,222,227,.82) 12%, rgba(243,222,227,.82) 92%, transparent 92%); padding: 0 .12em; }
  .pd { position: absolute; transform: translate3d(0, calc((var(--p, .5) - .5) * var(--depth, 1) * -160px), 0); }
  .pd--1 { left: 2%; top: 5%; width: 25%; }
  .pd--2 { left: 31%; top: 0; width: 15%; margin: 0; }
  .pd--3 { right: 3%; top: 4%; width: 24%; margin: 0; }
  .pd--4 { left: 5%; top: 68%; width: 18%; }
  .pd--5 { right: 2%; top: 60%; width: 25%; }
  .pd--6 { left: 26%; bottom: 0; width: 14%; margin: 0; }
  .pd--7 { right: 30%; bottom: 1%; width: 21%; }
  .pd--8 { left: 1%; top: 37%; width: 15%; margin: 0; }
  .pd--note { right: 6%; top: 38%; width: 190px; }
  .pd--tag { left: 52%; top: 26%; margin: 0; }
}

/* --------------------------------------------------------------------------
   16. TUDO EM UM LUGAR (3D)
   -------------------------------------------------------------------------- */
.orbit { position: relative; background: var(--wine-950); color: var(--on-dark); }
.orbit__pin { position: relative; overflow: hidden; padding: var(--section) 0; min-height: 100svh; }
.orbit__glow { position: absolute; inset: 0; background: radial-gradient(50% 45% at 50% 62%, rgba(183, 53, 89, calc(.18 + var(--op, 0) * .3)), transparent 70%), radial-gradient(30% 30% at 50% 60%, rgba(231,183,195,.12), transparent 70%); pointer-events: none; }
.orbit__head { position: relative; z-index: 3; text-align: center; }
.orbit__head .h1 { max-width: 15ch; margin: 0 auto; }
.orbit__sub { margin-top: 14px; font-family: var(--f-serif); font-style: italic; font-size: clamp(1.25rem, 2vw, 1.7rem); color: var(--satin-300); }

.orbit__stage { position: relative; margin-top: var(--s-7); display: grid; justify-items: center; gap: var(--s-6); perspective: 1400px; }
.phone--orbit { --phone-w: 220px; transform: rotateY(calc((1 - var(--op, 1)) * -26deg)) rotateX(calc((1 - var(--op, 1)) * 10deg)) scale(calc(.9 + var(--op, 1) * .1)); }
.phone--orbit .phone__body { box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.14), inset 0 0 0 4px #0d070a, 1px 1px 0 #2b1b22, 2px 2px 0 #25171d, 3px 3px 0 #201318, 4px 4px 0 #1b1014, 5px 5px 0 #170d11, 0 60px 120px -30px rgba(183, 53, 89, .45), 0 40px 80px -30px rgba(0,0,0,.8); }

.scr--feed { gap: .7em; }
.scr__brandbar { display: flex; justify-content: center; padding: .1em 0 .2em; }
.scr__wm { width: 5.6em !important; height: 2.9em !important; color: var(--wine-700); }
.scr__chips { display: flex; gap: .35em; font-size: .75em; font-weight: 650; overflow: hidden; }
.scr__chips > * { padding: .45em .9em; border-radius: 2em; background: #fff; border: 1px solid var(--line); white-space: nowrap; }
.scr__chips b { background: var(--wine-700); color: var(--ivory-100); border-color: transparent; }
.scr__post { padding: .55em; border-radius: 1.1em; background: #fff; box-shadow: 0 .3em 1em -.5em rgba(94,26,53,.3); }
.scr__post img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: .7em; margin-bottom: .5em; }
.scr__post small { display: block; font-size: .64em; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; color: var(--rasp-500); padding: 0 .3em; }
.scr__post p { font-family: var(--f-serif); font-size: 1.12em; line-height: 1.15; padding: .2em .3em .2em; }
.scr__post--text { background: var(--rasp-500); color: var(--ivory-100); padding: 1em; }
.scr__post--text small { color: var(--satin-300); padding: 0; }
.scr__post--text p { font-style: italic; font-size: 1.3em; padding: .2em 0 0; }

.orbit__cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; width: 100%; max-width: 460px; padding: 0 var(--gutter); }
.ocard {
  position: relative; padding: 8px 8px 12px; border-radius: 20px;
  background: linear-gradient(160deg, rgba(255,248,245,.12), rgba(255,248,245,.04));
  border: 1px solid var(--glass-dark-line);
  -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur);
  box-shadow: 0 30px 60px -30px rgba(0,0,0,.7);
}
.ocard img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 13px; margin-bottom: 10px; }
.ocard span { display: block; padding: 0 6px; font-family: var(--f-serif); font-size: 1.3rem; line-height: 1.1; }
.ocard small { display: block; padding: 2px 6px 0; font-size: .76rem; line-height: 1.4; color: var(--on-dark-soft); }

/* Orbit animado (motion) */
.motion .orbit { height: 300svh; }
.motion .orbit__pin { position: sticky; top: 0; height: 100svh; padding: 0; display: flex; flex-direction: column; }
.motion .orbit__head { padding-top: max(92px, 12svh); }
.motion .orbit__head .h1 { font-size: clamp(1.9rem, 3.9vw, 3.7rem); max-width: 18ch; }
.motion .orbit__sub { margin-top: 8px; }
.motion .orbit { --anchor: 69%; }
.motion .orbit__stage { position: absolute; inset: 0; margin: 0; display: block; transform-style: preserve-3d; }
.motion .phone--orbit { position: absolute; left: 50%; top: var(--anchor); margin: calc(var(--phone-w) * -1.067) 0 0 calc(var(--phone-w) / -2); --phone-w: min(180px, 24svh); }
.motion .orbit__cards { position: absolute; inset: 0; display: block; max-width: none; padding: 0; transform-style: preserve-3d; }
.motion .ocard { position: absolute; left: 50%; top: var(--anchor); width: 94px; margin: -48px 0 0 -47px; padding: 6px 6px 9px; border-radius: 16px; will-change: transform, opacity; }
.motion .ocard img { border-radius: 10px; margin-bottom: 6px; }
.motion .ocard span { font-size: .74rem; padding: 0 2px; white-space: nowrap; letter-spacing: -.01em; }
.motion .ocard small { display: none; }
@media (min-width: 640px) {
  .motion .orbit { --anchor: 66%; }
  .motion .phone--orbit { --phone-w: min(230px, 27svh); }
  .motion .ocard { width: 170px; margin: -80px 0 0 -85px; padding: 8px 8px 12px; }
  .motion .ocard span { font-size: 1.25rem; }
  .motion .ocard small { display: block; }
}
@media (min-width: 960px) {
  .motion .phone--orbit { --phone-w: min(250px, 27svh); }
  .motion .ocard { width: 196px; margin: -90px 0 0 -98px; }
  .motion .ocard img { aspect-ratio: 16 / 10; }
}

/* --------------------------------------------------------------------------
   17. FEED
   -------------------------------------------------------------------------- */
.feed { padding: var(--section) 0; background: var(--ivory-100); }
.feed__head { display: grid; gap: var(--s-5); margin-bottom: var(--s-7); }
.feed__intro { max-width: 24rem; color: var(--ink-soft); }
@media (min-width: 960px) { .feed__head { grid-template-columns: 1fr auto; align-items: end; } }

.pills { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0 calc(var(--gutter) * -1) var(--s-6); padding: 4px var(--gutter); }
.pills::-webkit-scrollbar { display: none; }
.pill { flex: none; height: 44px; padding: 0 20px; border-radius: var(--r-pill); border: 1px solid var(--line-strong); font-size: .88rem; font-weight: 600; color: var(--ink-soft); transition: background-color var(--d-2), color var(--d-2), border-color var(--d-2), transform var(--d-2) var(--ease-out); }
.pill:hover { border-color: var(--wine-700); color: var(--wine-700); }
.pill:active { transform: scale(.96); }
.pill.is-on { background: var(--wine-700); border-color: var(--wine-700); color: var(--ivory-100); }

.posts { max-width: 520px; margin: 0 auto; }
.post {
  break-inside: avoid; margin-bottom: 20px; padding: 12px 12px 6px;
  border-radius: 26px; background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-1);
  transition: opacity .35s var(--ease-soft), transform .5s var(--ease-out), box-shadow var(--d-3);
}
.post.is-out { opacity: 0; transform: scale(.96); }
@media (hover: hover) { .post:hover { box-shadow: var(--sh-2); } }
.post__head { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; padding: 2px 4px 12px; }
.post__ava { grid-row: span 2; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--wine-700); color: var(--ivory-100); }
.post__ava svg { width: 26px; height: 24px; }
.post__head b { font-size: .88rem; line-height: 1.2; }
.post__head small { font-size: .76rem; color: var(--ink-mute); line-height: 1.2; }
.post__media { overflow: hidden; border-radius: 18px; background: var(--petal-200); }
.post__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 1.2s var(--ease-out), filter 1.2s; }
.post__media--tall img { aspect-ratio: 4 / 5; }
@media (hover: hover) { .post:hover .post__media img { transform: scale(1.03); filter: brightness(1.04) saturate(1.04); } }
.post__title { margin: 16px 6px 6px; font-family: var(--f-serif); font-weight: 420; font-size: 1.42rem; line-height: 1.14; letter-spacing: -.01em; color: var(--wine-700); text-wrap: balance; }
.post__text { margin: 0 6px 6px; font-size: .92rem; color: var(--ink-soft); line-height: 1.55; }
.post__foot { display: flex; align-items: center; gap: 0; margin-top: 4px; color: var(--ink); }
.post__foot .save { margin-left: auto; }

.post__poster { aspect-ratio: 1; display: flex; align-items: flex-end; padding: 26px; border-radius: 18px; background: radial-gradient(120% 90% at 0% 0%, var(--rasp-400), var(--rasp-500) 40%, var(--wine-700)); color: var(--ivory-100); position: relative; overflow: hidden; }
.post__poster::before { content: ""; position: absolute; inset: 0; background-image: var(--grain); opacity: .25; }
.post__poster p { position: relative; font-family: var(--f-serif); font-size: clamp(1.9rem, 3vw, 2.4rem); line-height: 1.02; letter-spacing: -.02em; }
.post__poster em { color: var(--petal-200); }
.post--poster .post__text { margin-top: 14px; }

.carousel { position: relative; }
.carousel__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: 18px; }
.carousel__track::-webkit-scrollbar { display: none; }
.carousel__slide { flex: 0 0 100%; scroll-snap-align: start; aspect-ratio: 4 / 5; }
.carousel__slide img { width: 100%; height: 100%; object-fit: cover; }
.carousel__slide--text { display: flex; flex-direction: column; justify-content: flex-end; padding: 26px; background: var(--petal-200); color: var(--wine-700); }
.carousel__slide--text small { font-size: .74rem; font-weight: 700; letter-spacing: .14em; margin-bottom: auto; color: var(--rasp-500); }
.carousel__slide--text p { font-family: var(--f-serif); font-size: 2rem; line-height: 1.05; letter-spacing: -.02em; }
.carousel__slide--wine { background: var(--wine-700); color: var(--ivory-100); }
.carousel__slide--wine small { color: var(--satin-300); }
.carousel__slide--wine em { color: var(--satin-300); }
.carousel__dots { display: flex; justify-content: center; gap: 5px; padding: 12px 0 0; }
.carousel__dots i { width: 6px; height: 6px; border-radius: 3px; background: var(--petal-300); transition: width var(--d-3) var(--ease-out), background-color var(--d-3); }
.carousel__dots i.on { width: 18px; background: var(--wine-700); }

.player { position: relative; isolation: isolate; aspect-ratio: 4 / 4.2; border-radius: 18px; overflow: hidden; display: flex; align-items: flex-end; color: var(--on-dark); }
.player__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 6s linear; }
.player::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(28,9,17,.1), rgba(28,9,17,.85) 70%); }
.player.is-playing .player__bg { transform: scale(1.08); }
.player__ui { padding: 20px; width: 100%; }
.player__ui small { font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--satin-300); }
.player__ui p { margin: 6px 0 16px; font-family: var(--f-serif); font-size: 1.45rem; line-height: 1.12; }
.player__row { display: flex; align-items: center; gap: 12px; }
.player__btn { width: 52px; height: 52px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--ivory-100); color: var(--wine-700); box-shadow: 0 10px 24px -10px rgba(0,0,0,.6); transition: transform var(--d-2) var(--ease-out); }
.player__btn:active { transform: scale(.92); }
.player__btn .ic { width: 22px; height: 22px; }
.player__btn .ic--pause, .player.is-playing .ic--play { display: none; }
.player.is-playing .ic--pause { display: block; }
.wave--lg { height: 30px; gap: 3px; }
.wave--lg i { background: rgba(255,255,255,.45); }
.wave--lg i:nth-child(-n+6) { background: var(--satin-300); }
.player__time { font-size: .8rem; font-weight: 650; color: var(--on-dark-soft); }

.post__checks { margin: 8px 6px 10px; counter-reset: c; display: grid; gap: 2px; }
.post__checks li { counter-increment: c; display: grid; grid-template-columns: 34px 1fr; gap: 8px; padding: 12px 0; border-top: 1px solid var(--line); font-size: .95rem; line-height: 1.45; color: var(--ink); }
.post__checks li::before { content: "0" counter(c); font-family: var(--f-serif); font-style: italic; font-size: 1.25rem; line-height: 1.1; color: var(--rasp-500); }
.post--list .post__title { margin-top: 6px; font-size: 1.7rem; }

@media (min-width: 720px) { .posts { max-width: none; columns: 2; column-gap: 20px; } }
@media (min-width: 1080px) { .posts { columns: 3; column-gap: 24px; } .post { margin-bottom: 24px; } }

/* --------------------------------------------------------------------------
   18. APP
   -------------------------------------------------------------------------- */
.app { padding: var(--section) 0; background: radial-gradient(80% 60% at 100% 30%, var(--petal-200), transparent 70%), linear-gradient(180deg, var(--nude-200), var(--ivory-100)); overflow: clip; }
.app__grid { display: grid; gap: var(--s-8); align-items: center; }
.app__copy .h1 { margin-bottom: var(--s-6); }
.tools { display: grid; gap: 6px; }
.tool {
  position: relative; overflow: hidden; display: flex; align-items: center; gap: 14px; width: 100%; text-align: left;
  padding: 12px 16px 12px 12px; border-radius: 20px; border: 1px solid transparent;
  transition: background-color var(--d-3), border-color var(--d-3), box-shadow var(--d-3);
}
.tool > .ic { width: 44px; height: 44px; padding: 11px; border-radius: 14px; background: rgba(255,255,255,.6); color: var(--rasp-500); transition: background-color var(--d-3), color var(--d-3); }
.tool b { display: block; font-size: 1rem; color: var(--wine-700); }
.tool small { display: block; font-size: .85rem; color: var(--ink-soft); line-height: 1.4; }
.tool:hover { background: rgba(255,255,255,.45); }
.tool.is-on { background: #fff; border-color: var(--line); box-shadow: var(--sh-2); }
.tool.is-on > .ic { background: var(--wine-700); color: var(--ivory-100); }
.tool::after { content: ""; position: absolute; left: 16px; right: 16px; bottom: 0; height: 2px; background: var(--rasp-500); transform: scaleX(0); transform-origin: left; opacity: .5; }
.tools.is-auto .tool.is-on::after { animation: bar 6s linear forwards; }

.app__device { display: grid; place-items: center; perspective: 1400px; }
.phone--app { --phone-w: 270px; transform: rotateY(-10deg) rotateX(4deg); }
.motion .phone--app { animation: float 7s var(--ease-inout) infinite; }

.scr--app { gap: .6em; }
.pane { flex: 1; display: flex; flex-direction: column; gap: .7em; padding-top: .6em; }
.pane:not([hidden]) { animation: paneIn .6s var(--ease-out); }
.pane__k { font-size: .7em; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; color: var(--rasp-500); }
.pane__t { font-family: var(--f-serif); font-size: 1.65em; line-height: 1.05; color: var(--wine-700); }
.pane__s { font-family: var(--f-serif); font-style: italic; font-size: 1.15em; line-height: 1.2; text-align: center; color: var(--ink-soft); }
.pane__days { display: grid; gap: .35em; margin-top: .3em; }
.pane__days li { display: flex; align-items: center; gap: .7em; padding: .62em .8em; border-radius: .9em; font-size: .9em; font-weight: 600; color: var(--ink-mute); }
.pane__days b { font-family: var(--f-serif); font-style: italic; font-weight: 400; font-size: 1.2em; color: var(--rose-400); }
.pane__days .done { color: var(--ink-soft); text-decoration: line-through; text-decoration-color: var(--rose-400); }
.pane__days .now { background: #fff; color: var(--wine-700); box-shadow: 0 .4em 1.2em -.6em rgba(94,26,53,.35); }
.pane__days .now b { color: var(--rasp-500); }
.pane__days .now span { margin-left: auto; padding: .2em .7em; border-radius: 1em; background: var(--rasp-500); color: #fff; font-size: .78em; }

.pane__audio { margin-top: auto; display: flex; align-items: center; gap: .7em; padding: .7em; border-radius: 1.1em; background: var(--wine-700); color: var(--ivory-100); }
.pane__audio .scr__play { background: var(--ivory-100); color: var(--wine-700); }
.pane__audio div { flex: 1; min-width: 0; }
.pane__audio div small { display: block; font-size: .68em; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--satin-300); margin-bottom: .15em; }
.pane__audio .wave { height: 1.3em; }
.pane__audio .wave i { background: rgba(255,255,255,.35); }
.pane__audio .wave i:nth-child(-n+5) { background: var(--satin-300); }
.pane__min { font-size: .72em; font-weight: 700; opacity: .8; }
.pane--breath { align-items: center; justify-content: center; gap: 1.6em; }
.pane--breath .pane__k { position: absolute; top: 3.8em; }
.breath { position: relative; width: 12em; height: 12em; display: grid; place-items: center; }
.breath i { position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle, rgba(183,53,89,.35), rgba(231,183,195,.25) 60%, transparent 72%); }
.breath i:nth-child(2) { inset: 22%; background: radial-gradient(circle, var(--rasp-500), var(--wine-700)); box-shadow: 0 0 3em rgba(183,53,89,.5); }
.motion .breath i { animation: breathe 8s var(--ease-inout) infinite; }
.motion .breath i:nth-child(2) { animation-delay: .15s; }
@keyframes breathe { 0%,100% { transform: scale(.72); } 40%,55% { transform: scale(1.05); } }
.breath__txt { position: relative; color: var(--ivory-100); font-family: var(--f-serif); font-style: italic; font-size: 1.3em; display: grid; }
.breath__txt b { grid-area: 1 / 1; font-weight: 400; text-align: center; opacity: 0; }
.breath__txt b:first-child { opacity: 1; }
.motion .breath__txt b { animation: breathWord 8s infinite; opacity: 0; }
.motion .breath__txt b:nth-child(2) { animation-delay: 3.2s; } .motion .breath__txt b:nth-child(3) { animation-delay: 4.6s; }
@keyframes breathWord { 0% { opacity: 0; } 4%, 36% { opacity: 1; } 40%, 100% { opacity: 0; } }

.journal { flex: 1; padding: .9em 1em; border-radius: 1em; background: #fff repeating-linear-gradient(180deg, transparent 0 2.15em, rgba(197,144,157,.25) 2.15em calc(2.15em + 1px)); font-family: var(--f-serif); font-size: 1.05em; line-height: 2.05em; color: var(--ink); box-shadow: 0 .4em 1.2em -.6em rgba(94,26,53,.25); }
.caret { display: inline-block; width: 1.5px; height: 1.1em; margin-left: 1px; vertical-align: -.15em; background: var(--rasp-500); animation: blink 1s steps(1) infinite; }
.pane__hint { display: flex; align-items: center; gap: .4em; font-size: .72em; color: var(--ink-mute); font-weight: 600; }
.pane__hint .ic { width: 1.2em; height: 1.2em; }

.checks { display: grid; gap: .45em; }
.checks li { display: flex; align-items: center; gap: .7em; padding: .8em; border-radius: .9em; background: #fff; font-size: .92em; font-weight: 600; box-shadow: 0 .2em .8em -.4em rgba(94,26,53,.2); }
.checks li::before { content: ""; width: 1.2em; height: 1.2em; flex: none; border-radius: .35em; border: 1.5px solid var(--rose-400); }
.checks li.on { color: var(--ink-mute); }
.checks li.on::before { background: var(--rasp-500) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 75% no-repeat; border-color: var(--rasp-500); }

.limits { display: grid; gap: .6em; }
.limits > div { display: grid; gap: .35em; padding: .9em; border-radius: 1em; background: #fff; }
.limits b { font-size: .7em; letter-spacing: .16em; text-transform: uppercase; color: var(--rasp-500); margin-bottom: .2em; }
.limits span { font-size: .95em; font-weight: 600; padding-left: 1.1em; position: relative; }
.limits span::before { content: ""; position: absolute; left: 0; top: .55em; width: .45em; height: .45em; border-radius: 50%; background: var(--satin-300); }
.limits .no { background: var(--wine-700); color: var(--ivory-100); }
.limits .no b { color: var(--satin-300); }
.limits .no span::before { background: var(--rasp-400); }

.pane--book { align-items: center; justify-content: center; gap: 1.4em; perspective: 60em; }
.book { width: 11em; aspect-ratio: 3 / 4.2; padding: 1.4em 1.2em; border-radius: .3em 1em 1em .3em; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6em; text-align: center; background: radial-gradient(100% 80% at 30% 0%, var(--wine-600), var(--wine-900)); color: var(--ivory-100); transform: rotateY(-22deg) rotateX(6deg); box-shadow: inset .5em 0 .6em -.3em rgba(0,0,0,.45), inset .7em 0 0 -.55em rgba(255,255,255,.2), 1.4em 1.6em 2.2em -.8em rgba(44,11,27,.55); }
.book svg { width: 4.4em !important; height: 4.1em !important; color: var(--satin-300); }
.book p { font-family: var(--f-serif); font-size: 1.5em; line-height: 1; }
.book em { color: var(--satin-300); }
.book small { font-size: .55em; letter-spacing: .2em; text-transform: uppercase; opacity: .7; }

.privacy { margin-top: var(--section); display: grid; border-radius: var(--r-xl); overflow: hidden; background: #fff; box-shadow: var(--sh-2); }
.privacy__img img { width: 100%; height: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.privacy__copy { padding: clamp(24px, 4vw, 56px); }
.privacy__copy .label { margin-bottom: var(--s-4); }
.privacy__copy .h3 { margin-bottom: var(--s-4); }
.privacy__copy > p { color: var(--ink-soft); margin-bottom: var(--s-5); max-width: 34rem; }
.privacy__list { display: grid; gap: 12px; }
.privacy__list li { display: flex; gap: 12px; align-items: flex-start; font-size: .94rem; font-weight: 550; }
.privacy__list .ic { color: var(--rasp-500); margin-top: 2px; }

@media (min-width: 960px) {
  .app__grid { grid-template-columns: 1fr 1fr; }
  .phone--app { --phone-w: 300px; }
  .privacy { grid-template-columns: .9fr 1.1fr; }
  .privacy__img img { aspect-ratio: auto; }
}

/* --------------------------------------------------------------------------
   19. MANIFESTO
   -------------------------------------------------------------------------- */
.manifesto { background: var(--ivory-50); }
.poster { display: block; padding: clamp(4.5rem, 11vw, 9rem) 0; }
.poster p { max-width: 15ch; font-family: var(--f-serif); font-weight: 340; font-size: clamp(2.3rem, 5.6vw, 5.4rem); line-height: 1; letter-spacing: -.03em; color: var(--wine-700); text-wrap: balance; }
.poster em { color: var(--rasp-500); }
.poster__n { display: flex; align-items: center; gap: 12px; margin-bottom: var(--s-5); font-size: var(--t-micro); font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--rose-400); }
.poster__n::after { content: ""; width: 40px; height: 1px; background: currentColor; }
.poster--right { text-align: right; }
.poster--right p { margin-left: auto; }
.poster--right .poster__n { justify-content: flex-end; }
.poster--wine { position: relative; isolation: isolate; overflow: hidden; background: var(--wine-900); }
.poster--wine p { color: var(--on-dark); max-width: 17ch; }
.poster--wine em { color: var(--satin-300); }
.poster--wine .poster__n { color: var(--satin-300); }
.poster__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; opacity: .75; }
.poster--wine::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(28,9,17,.88), rgba(28,9,17,.35)); }

/* --------------------------------------------------------------------------
   20. OFERTA
   -------------------------------------------------------------------------- */
.offer { position: relative; isolation: isolate; overflow: clip; padding: var(--section) 0; background: var(--wine-900); color: var(--on-dark); }
.offer__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; opacity: .55; }
.offer::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 60% at 80% 40%, rgba(183,53,89,.25), transparent 70%), linear-gradient(180deg, rgba(28,9,17,.75), rgba(28,9,17,.55) 50%, rgba(28,9,17,.85)); }
.offer__grid { display: grid; gap: var(--s-8); align-items: center; }
.offer__title { margin-bottom: var(--s-5); }
.offer .lead { margin-bottom: var(--s-6); }
.included { counter-reset: inc; display: grid; max-width: 34rem; }
.included li { counter-increment: inc; display: grid; grid-template-columns: 42px 1fr; padding: 16px 0; border-top: 1px solid var(--line-dark); }
.included li:last-child { border-bottom: 1px solid var(--line-dark); }
.included li::before { content: "0" counter(inc); grid-row: span 2; font-family: var(--f-serif); font-style: italic; font-size: 1.3rem; line-height: 1.2; color: var(--satin-300); }
.included b { font-weight: 650; }
.included span { color: var(--on-dark-soft); font-size: .92rem; }

.offer__card-wrap { position: relative; perspective: 1400px; max-width: 460px; width: 100%; justify-self: center; }
.offer__book {
  position: absolute; top: -40px; right: -14px; width: 150px; aspect-ratio: 3 / 4.2; z-index: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center;
  border-radius: 4px 12px 12px 4px; background: radial-gradient(100% 80% at 30% 0%, var(--rasp-500), var(--wine-700) 60%, var(--wine-900));
  color: var(--ivory-100); transform: rotate(9deg) rotateY(-24deg);
  box-shadow: inset 8px 0 10px -6px rgba(0,0,0,.5), 20px 30px 50px -20px rgba(0,0,0,.6);
}
.offer__book svg { width: 60px; height: 56px; color: var(--satin-300); }
.offer__book p { font-family: var(--f-serif); font-size: 1.15rem; line-height: 1; }
.offer__book em { color: var(--satin-300); }

.checkout {
  position: relative; z-index: 1; padding: clamp(28px, 4vw, 44px); border-radius: 34px; text-align: center;
  background: linear-gradient(160deg, rgba(255,248,245,.17), rgba(255,248,245,.05) 60%);
  border: 1px solid rgba(255,255,255,.2);
  -webkit-backdrop-filter: var(--blur-l); backdrop-filter: var(--blur-l);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 50px 100px -40px rgba(0,0,0,.75);
}
.checkout__logo { width: 110px; height: 123px; margin: 0 auto 14px; color: var(--ivory-100); }
.checkout__name { font-size: var(--t-micro); font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--satin-300); }
.checkout__name span { opacity: .5; }
.checkout__price { display: flex; justify-content: center; align-items: flex-start; gap: 4px; margin: 14px 0 6px; font-family: var(--f-serif); line-height: .85; }
.checkout__price strong { font-weight: 300; font-size: clamp(5.5rem, 12vw, 7.5rem); letter-spacing: -.04em; }
.checkout__price small { font-size: 1.5rem; margin-top: .4em; color: var(--on-dark-soft); }
.checkout__terms { font-size: .9rem; color: var(--on-dark-soft); margin-bottom: 24px; }
.checkout__trust { display: grid; gap: 10px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line-dark); text-align: left; }
.checkout__trust li { display: flex; align-items: center; gap: 10px; font-size: .86rem; color: var(--on-dark-soft); }
.checkout__trust .ic { color: var(--satin-300); }

@media (min-width: 960px) {
  .offer__grid { grid-template-columns: 1.1fr .9fr; gap: var(--s-9); }
  .offer__book { right: -60px; top: -50px; width: 180px; }
}

/* --------------------------------------------------------------------------
   21. FAQ
   -------------------------------------------------------------------------- */
.faq { padding: var(--section) 0; background: var(--ivory-100); }
.faq__grid { display: grid; gap: var(--s-7); }
.qa { border-top: 1px solid var(--line-strong); }
.qa:last-child { border-bottom: 1px solid var(--line-strong); }
.qa h3 { font: inherit; }
.qa button {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 26px 0; text-align: left;
  font-family: var(--f-serif); font-weight: 400; font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.2; letter-spacing: -.01em; color: var(--wine-700);
}
.qa button .ic { width: 40px; height: 40px; padding: 10px; border-radius: 50%; border: 1px solid var(--line-strong); color: var(--wine-700); transition: transform var(--d-3) var(--ease-out), background-color var(--d-3), color var(--d-3), border-color var(--d-3); }
.qa button:hover .ic { border-color: var(--wine-700); }
.qa button[aria-expanded="true"] .ic { transform: rotate(45deg); background: var(--wine-700); color: var(--ivory-100); border-color: var(--wine-700); }
.qa__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .55s var(--ease-out); }
.qa__a > div { overflow: hidden; }
.qa__a p { padding: 0 64px 28px 0; max-width: 62ch; color: var(--ink-soft); opacity: 0; translate: 0 -6px; transition: opacity .4s var(--ease-soft), translate .5s var(--ease-out); }
.qa.is-open .qa__a { grid-template-rows: 1fr; }
.qa.is-open .qa__a p { opacity: 1; translate: 0 0; transition-delay: .1s; }
@media (min-width: 960px) {
  .faq__grid { grid-template-columns: .8fr 1.2fr; gap: var(--s-9); }
  .faq__side { position: sticky; top: 120px; align-self: start; }
}

/* --------------------------------------------------------------------------
   22. FECHAMENTO & RODAPÉ
   -------------------------------------------------------------------------- */
.finale { position: relative; overflow: clip; padding: var(--section) 0 calc(var(--section) * .8); text-align: center; color: var(--on-dark); background: radial-gradient(70% 60% at 50% 30%, var(--wine-700), var(--wine-900) 60%, var(--wine-950)); }
.finale__mark { width: min(260px, 60vw); aspect-ratio: 1521 / 1426; margin: 0 auto var(--s-6); perspective: 900px; }
.finale__stack { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transform: rotateX(calc(8deg + var(--ty, 0) * -14deg)) rotateY(calc(var(--tx, 0) * 18deg)); transition: transform .3s var(--ease-soft); }
.finale__stack svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.finale__copy .display { margin-bottom: var(--s-7); }
.finale .display em { color: var(--satin-300); }

.footer { background: var(--wine-950); color: var(--on-dark-soft); padding: var(--s-8) 0 calc(var(--s-6) + 80px); }
.footer__wordmark { width: min(720px, 100%); height: auto; aspect-ratio: 1910 / 991; color: var(--satin-300); opacity: .9; margin-bottom: var(--s-7); }
.footer__row { display: grid; gap: var(--s-5); padding-bottom: var(--s-6); border-bottom: 1px solid var(--line-dark); }
.footer__links { display: flex; flex-wrap: wrap; gap: 6px 24px; }
.footer__links a { padding: 8px 0; color: var(--on-dark); font-weight: 550; font-size: .92rem; transition: color var(--d-2); }
.footer__links a:hover { color: var(--satin-300); }
.footer__note { font-size: .84rem; max-width: 34rem; }
.footer__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding-top: var(--s-5); font-size: .8rem; color: var(--on-dark-mute); }
@media (min-width: 960px) { .footer { padding-bottom: var(--s-6); } .footer__row { grid-template-columns: 1fr auto; align-items: center; } }

/* --------------------------------------------------------------------------
   23. DOCK (CTA mobile) & TOAST
   -------------------------------------------------------------------------- */
.dock {
  position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: var(--z-dock);
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 8px 8px 8px 18px; border-radius: 22px;
  background: var(--glass-strong); border: 1px solid var(--glass-line);
  -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); box-shadow: var(--sh-3);
  transform: translateY(150%); transition: transform .6s var(--ease-out);
}
.dock.is-on { transform: none; }
.dock__txt { font-size: .84rem; color: var(--ink-soft); }
.dock__txt b { color: var(--wine-700); }
@media (min-width: 960px) { .dock { display: none; } }

.toast {
  position: fixed; left: 50%; bottom: calc(96px + env(safe-area-inset-bottom)); z-index: var(--z-toast);
  padding: 12px 20px; border-radius: var(--r-pill); background: var(--plum-900); color: var(--ivory-100);
  font-size: .88rem; font-weight: 600; box-shadow: var(--sh-3); pointer-events: none;
  opacity: 0; transform: translate(-50%, 16px) scale(.96); transition: opacity .35s var(--ease-soft), transform .5s var(--ease-out);
}
.toast.is-on { opacity: 1; transform: translate(-50%, 0) scale(1); }
@media (min-width: 960px) { .toast { bottom: 32px; } }

/* --------------------------------------------------------------------------
   25. GRUPO DAS AMIGAS (camada social sobre a foto)
   -------------------------------------------------------------------------- */
use[href^="#g-"] { fill: none; stroke: currentColor; stroke-width: .9; stroke-linecap: round; stroke-linejoin: round; }

.bleed--group { display: block; min-height: 0; padding: 0 0 var(--section); }
.bleed--group .bleed__media { bottom: auto; height: 84svh; max-height: 760px; }
.bleed--group .bleed__media img { object-position: 50% 40%; }
.bleed--group .bleed__media::after { background: linear-gradient(180deg, rgba(28,9,17,.35) 0%, rgba(28,9,17,.2) 30%, rgba(28,9,17,.85) 75%, var(--wine-950) 100%); }
.bleed--group .bleed__grid { position: relative; z-index: 2; }

.gossip { position: relative; z-index: 2; height: 560px; max-width: 440px; margin: 0 auto; pointer-events: none; }
.gossip > * { position: absolute; transform: translate3d(0, calc((var(--p, .5) - .5) * var(--depth, 1) * -110px), 0); }

.gchat {
  right: 14px; top: 150px; width: min(300px, 76vw);
  border-radius: 26px; overflow: hidden; color: var(--ink);
  background: rgba(255, 250, 248, .9); border: 1px solid var(--glass-line);
  -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur);
  box-shadow: 0 40px 80px -30px rgba(0,0,0,.65), 0 8px 20px -8px rgba(0,0,0,.25);
  font-size: .8rem;
}
.gchat__head { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.6); }
.gchat__head b { display: block; font-size: .88rem; }
.gchat__head small { display: block; font-size: .68rem; color: var(--ink-mute); }
.gchat__avas { display: flex; }
.gchat__avas i { width: 26px; height: 26px; margin-left: -8px; border-radius: 50%; border: 2px solid #fff; display: grid; place-items: center; font-style: normal; font-size: .62rem; font-weight: 800; color: #fff; background: var(--rasp-500); }
.gchat__avas i:first-child { margin-left: 0; background: var(--wine-600); }
.gchat__avas i:nth-child(3) { background: var(--rose-400); }
.gchat__avas i:nth-child(4) { background: var(--plum-900); }
.gchat__body { display: flex; flex-direction: column; gap: 6px; padding: 12px; background: linear-gradient(180deg, rgba(243,222,227,.35), rgba(247,234,230,.5)); }
.msg { max-width: 86%; padding: 7px 11px 8px; border-radius: 15px 15px 15px 4px; background: #fff; box-shadow: var(--sh-1); line-height: 1.35; }
.msg b { display: block; font-size: .64rem; color: var(--rasp-500); margin-bottom: 1px; }
.msg:nth-child(3) b { color: var(--wine-600); }
.msg:nth-child(4) b { color: #8a5a00; }
.msg--loud { font-weight: 800; letter-spacing: .03em; background: var(--petal-200); }
.msg--audio { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 4px 8px; width: 86%; }
.msg--audio b { grid-column: 1 / -1; }
.msg__play { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--rasp-500); color: #fff; }
.msg__play .ic { width: 12px; height: 12px; }
.msg--audio .wave { height: 18px; gap: 2px; }
.msg--audio small { font-size: .64rem; color: var(--ink-mute); }
.msg--out { align-self: flex-end; border-radius: 15px 15px 4px 15px; background: var(--wine-700); color: var(--ivory-100); }
.gchat__typing { display: flex; align-items: center; gap: 4px; font-size: .7rem; font-style: italic; color: var(--ink-mute); padding: 2px 4px; }
.gchat__typing i { width: 5px; height: 5px; border-radius: 50%; background: var(--rose-400); animation: dots 1.3s infinite; }
.gchat__typing i:nth-child(2) { animation-delay: .15s; } .gchat__typing i:nth-child(3) { animation-delay: .3s; }

.motion .gossip .msg, .motion .gossip .gchat__typing { opacity: 0; }
.motion .gossip.is-in .msg, .motion .gossip.is-in .gchat__typing { animation: msgIn .55s var(--ease-out) forwards; }
.gossip.is-in .msg:nth-child(1) { animation-delay: .3s !important; }
.gossip.is-in .msg:nth-child(2) { animation-delay: .9s !important; }
.gossip.is-in .msg:nth-child(3) { animation-delay: 1.6s !important; }
.gossip.is-in .msg:nth-child(4) { animation-delay: 2.3s !important; }
.gossip.is-in .msg:nth-child(5) { animation-delay: 3.1s !important; }
.gossip.is-in .gchat__typing { animation-delay: 3.7s !important; }
@keyframes msgIn { from { opacity: 0; transform: translateY(10px) scale(.96); } to { opacity: 1; transform: none; } }

.gnotif {
  left: 6px; top: 70px; width: min(280px, 74vw); z-index: 3;
  display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 20px;
  background: rgba(255, 250, 248, .78); border: 1px solid var(--glass-line);
  -webkit-backdrop-filter: var(--blur-l); backdrop-filter: var(--blur-l);
  box-shadow: 0 20px 40px -18px rgba(0,0,0,.55); color: var(--ink); font-size: .78rem; line-height: 1.3;
}
.gnotif b { display: block; font-size: .78rem; }
.gnotif small { display: block; color: var(--ink-soft); font-size: .74rem; }
.gnotif__ico { width: 34px; height: 34px; flex: none; border-radius: 10px; display: grid; place-items: center; background: var(--wine-700); font-size: 1rem; }
.gnotif time { margin-left: auto; align-self: flex-start; font-size: .64rem; color: var(--ink-mute); }
.motion .gossip.is-in .gnotif { animation: notifIn .9s var(--ease-pop) 4.2s backwards; }
@keyframes notifIn { from { opacity: 0; translate: 0 -40px; scale: .9; } to { opacity: 1; translate: 0 0; scale: 1; } }

.gprint {
  left: 10px; top: 380px; width: 178px; rotate: -6deg; z-index: 2;
  padding: 16px 12px 10px; border-radius: 14px; background: #16181b; border: 4px solid #fff;
  box-shadow: 0 30px 60px -20px rgba(0,0,0,.7); font-size: .74rem; color: #eceef0;
}
.gprint__tag { position: absolute; top: -13px; left: 12px; padding: 3px 9px; border-radius: 6px; background: var(--rasp-500); color: #fff; font-size: .6rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.gprint__in { width: max-content; max-width: 100%; margin-bottom: 5px; padding: 6px 10px; border-radius: 12px 12px 12px 3px; background: #2b2e33; }
.gprint__seen { text-align: right; font-size: .6rem; color: #8b9096; }
.gprint::after { content: ""; position: absolute; inset: -4px; border-radius: 14px; background: #fff; opacity: 0; pointer-events: none; }
.motion .gossip.is-in .gprint::after { animation: flash .7s ease-out 1.9s; }
@keyframes flash { 0% { opacity: 0; } 15% { opacity: .9; } 100% { opacity: 0; } }

.greact { right: 26px; top: 108px; padding: 8px 14px; border-radius: var(--r-pill); background: rgba(255,250,248,.85); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); box-shadow: var(--sh-2); font-size: 1.15rem; letter-spacing: .12em; }
.motion .greact { animation: float 5s var(--ease-inout) infinite; }

@media (min-width: 960px) {
  .bleed--group { min-height: 118svh; display: flex; flex-direction: column; justify-content: flex-end; padding: 22vh 0 var(--s-8); }
  .bleed--group .bleed__media { bottom: 0; height: auto; max-height: none; }
  .bleed--group .bleed__media img { object-position: 50% 50%; }
  .bleed--group .bleed__media::after { background: linear-gradient(90deg, rgba(28,9,17,.92) 0%, rgba(28,9,17,.55) 42%, rgba(28,9,17,.1) 75%), linear-gradient(0deg, rgba(28,9,17,.96) 0%, rgba(28,9,17,0) 48%); }
  .gossip { position: absolute; inset: 0; height: auto; max-width: none; margin: 0; }
  .gchat { right: max(3vw, calc((100vw - var(--maxw)) / 2 + 10px)); left: auto; top: 13%; width: 330px; font-size: .84rem; }
  .gnotif { left: auto; right: calc(max(3vw, calc((100vw - var(--maxw)) / 2 + 10px)) + 300px); top: 9%; width: 300px; }
  .gprint { left: auto; right: calc(max(3vw, calc((100vw - var(--maxw)) / 2 + 10px)) + 320px); top: 34%; width: 200px; }
  .greact { right: max(3vw, calc((100vw - var(--maxw)) / 2 + 10px)); top: auto; bottom: 46%; translate: -20px 0; }
  .bleed--group .bleed__grid { grid-template-columns: 1fr; gap: var(--s-7); }
  .bleed--group .bleed__copy { max-width: 640px; }
  .bleed--group .notes { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .bleed--group .note:nth-child(2) { margin: 0; }
}

/* --------------------------------------------------------------------------
   26. PILARES (destaques) + VISUALIZADOR DE STORIES
   -------------------------------------------------------------------------- */
.pillars { margin-top: var(--s-7); }
.pillars__hint { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; font-size: .78rem; font-weight: 650; letter-spacing: .04em; color: var(--rasp-500); }
.pillars__row { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; margin: 0 calc(var(--gutter) * -1); padding: 6px var(--gutter) 10px; }
.pillars__row::-webkit-scrollbar { display: none; }
.hl { position: relative; flex: none; width: 82px; display: flex; flex-direction: column; align-items: center; gap: 8px; scroll-snap-align: start; -webkit-tap-highlight-color: transparent; }
.hl__ring { display: block; width: 76px; height: 76px; padding: 3px; border-radius: 50%; background: conic-gradient(from 210deg, var(--rasp-400), var(--satin-300), var(--wine-600), var(--rasp-400)); transition: transform var(--d-3) var(--ease-pop), background var(--d-3); }
.hl__ring img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; border: 3px solid var(--ivory-100); }
.hl__emoji { position: absolute; top: 52px; right: 0; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: #fff; box-shadow: var(--sh-1); font-size: .78rem; font-style: normal; }
.hl__label { font-size: .74rem; font-weight: 650; line-height: 1.2; text-align: center; color: var(--ink); }
.hl:hover .hl__ring { transform: scale(1.07) rotate(-5deg); }
.hl:active .hl__ring { transform: scale(.94); }
.hl.is-seen .hl__ring { background: var(--petal-300); }
@media (min-width: 960px) {
  .pillars__row { justify-content: space-between; overflow: visible; margin: 0; padding: 6px 0 10px; }
  .hl { width: 100px; }
  .hl__ring { width: 92px; height: 92px; }
  .hl__emoji { top: 66px; right: 2px; width: 30px; height: 30px; font-size: .9rem; }
}

.sv { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; }
.sv__backdrop { position: absolute; inset: 0; background: rgba(20, 6, 12, .84); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.sv__frame {
  position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column;
  width: 100vw; height: 100svh; padding: calc(12px + env(safe-area-inset-top)) 18px calc(26px + env(safe-area-inset-bottom));
  background: var(--wine-950); color: var(--on-dark); animation: svIn .5s var(--ease-out);
}
@media (min-width: 520px) { .sv__frame { width: 420px; height: min(92svh, 760px); border-radius: 30px; box-shadow: 0 60px 120px -40px rgba(0,0,0,.8); } }
@keyframes svIn { from { opacity: 0; transform: scale(.94) translateY(20px); } to { opacity: 1; transform: none; } }
.sv__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: opacity .4s; }
.sv__frame::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(20,6,12,.6), rgba(20,6,12,.25) 30%, rgba(20,6,12,.9) 75%); }
.sv__bars { position: relative; z-index: 3; display: flex; gap: 4px; }
.sv__bars i { flex: 1; height: 2.5px; border-radius: 2px; background: rgba(255,255,255,.3); overflow: hidden; }
.sv__bars b { display: block; height: 100%; background: #fff; transform: scaleX(0); transform-origin: left; }
.sv__bars .done b { transform: scaleX(1); }
.sv__bars .now b { animation: bar var(--sv-dur, 5.5s) linear forwards; }
.sv.is-paused .sv__bars .now b { animation-play-state: paused; }
.sv__head { position: relative; z-index: 3; display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: .84rem; }
.sv__head small { opacity: .65; }
.sv__close { margin-left: auto; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; color: #fff; }
.sv__close:hover { background: rgba(255,255,255,.12); }
.sv__content { position: relative; z-index: 2; margin: auto 0 0; display: grid; gap: 16px; pointer-events: none; }
.sv__content > * { animation: paneIn .6s var(--ease-out) backwards; }
.sv__content > *:nth-child(2) { animation-delay: .08s; } .sv__content > *:nth-child(3) { animation-delay: .16s; }
.sv__k { font-size: var(--t-micro); font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--satin-300); }
.sv__t { font-family: var(--f-serif); font-weight: 380; font-size: clamp(2rem, 8vw, 2.5rem); line-height: 1.04; letter-spacing: -.02em; }
.sv__s { font-size: .95rem; color: var(--on-dark-soft); }
.sv__list { display: flex; flex-wrap: wrap; gap: 8px; }
.sv__list li { padding: 8px 14px; border-radius: var(--r-pill); background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); font-size: .86rem; font-weight: 600; }
.sv__content .btn { pointer-events: auto; justify-self: start; margin-top: 6px; }
.sv__nav { position: absolute; top: 90px; bottom: 0; z-index: 1; width: 38%; }
.sv__nav--prev { left: 0; } .sv__nav--next { right: 0; }
.sv__nav:focus-visible { outline-offset: -6px; }

/* --------------------------------------------------------------------------
   27. RELACIONAMENTOS MELHORES
   -------------------------------------------------------------------------- */
.couples { padding: var(--section) 0; background: var(--ivory-50); overflow: clip; }
.couples__head { display: grid; justify-items: center; text-align: center; }
.couples__title { margin-bottom: var(--s-5); font-family: var(--f-serif); font-weight: 340; font-size: clamp(2.3rem, 5.4vw, 5.2rem); line-height: 1; letter-spacing: -.03em; color: var(--wine-700); }
.couples__title em { color: var(--rasp-500); }
.couples__title .line { padding-right: 0; }
.couples__head .lead { max-width: 40rem; }

.reel { margin-top: var(--s-7); display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.reel::-webkit-scrollbar { display: none; }
.reel__track { display: flex; gap: 14px; width: max-content; padding: 24px var(--gutter) 40px; }
.reel__item { position: relative; flex: 0 0 64vw; aspect-ratio: 4 / 5.6; border-radius: 24px; overflow: hidden; background: var(--petal-200); box-shadow: var(--sh-3); scroll-snap-align: center; transition: rotate var(--d-4) var(--ease-out), scale var(--d-4) var(--ease-out); }
.reel__item img { width: 100%; height: 100%; object-fit: cover; }
.reel__item figcaption { position: absolute; left: 12px; bottom: 12px; padding: 6px 14px; border-radius: var(--r-pill); background: rgba(255,250,248,.88); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); font-family: var(--f-serif); font-style: italic; font-size: 1rem; color: var(--wine-700); }
@media (min-width: 960px) {
  .reel { justify-content: center; overflow: visible; }
  .reel__track { gap: 22px; padding: 30px 0 70px; transform: translate3d(calc((var(--p, .5) - .5) * -280px), 0, 0); }
  .reel__item { flex: 0 0 clamp(230px, 21vw, 300px); rotate: var(--rot, 0deg); transform: translate3d(0, calc((var(--p, .5) - .5) * var(--depth, 1) * -110px), 0); }
  .reel__item:nth-child(even) { margin-top: 70px; }
  .reel__item:hover { rotate: 0deg; scale: 1.03; }
}

.versus { display: grid; gap: var(--s-6); margin-top: var(--s-8); align-items: center; text-align: center; }
.versus__col small { display: block; margin-bottom: 14px; font-size: var(--t-micro); font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink-mute); }
.versus__col ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.versus__col li { padding: 10px 16px; border-radius: var(--r-pill); font-size: .92rem; transition: transform var(--d-3) var(--ease-out); }
.versus__col--off li { border: 1px dashed var(--line-strong); color: var(--ink-mute); text-decoration: line-through; text-decoration-color: rgba(183,53,89,.5); filter: blur(.35px); }
.versus__col--on li { background: linear-gradient(120deg, var(--rasp-500), var(--wine-700)); color: var(--ivory-100); font-weight: 650; box-shadow: var(--glow-rasp); }
.versus__col--on li:hover { transform: translateY(-3px); }
.luck { font-family: var(--f-serif); font-weight: 330; font-size: clamp(3.6rem, 9vw, 8.4rem); line-height: .9; letter-spacing: -.045em; color: var(--plum-900); }
.luck em { color: var(--rasp-500); }
.versus__mid p { max-width: 30rem; margin: 18px auto 0; font-size: var(--t-lead); color: var(--ink-soft); }
.versus__mid .versus__strong { color: var(--wine-700); font-weight: 650; }
@media (min-width: 960px) {
  .versus { grid-template-columns: 1fr 1.5fr 1fr; gap: var(--s-6); }
  .versus__col--off { text-align: right; } .versus__col--off ul { justify-content: flex-end; }
  .versus__col--on { text-align: left; } .versus__col--on ul { justify-content: flex-start; }
}

.learn { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: var(--s-8); }
.learn li { padding: 8px 14px; border-radius: var(--r-pill); background: #fff; border: 1px solid var(--line); font-size: .82rem; font-weight: 650; color: var(--wine-700); }
.learn li::before { content: "✦"; margin-right: 6px; color: var(--rasp-500); }

.commit { margin-top: var(--section); }
.commit__head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s-5); margin-bottom: var(--s-5); }
.commit__head .label { margin-bottom: var(--s-4); }
.commit__nav { display: none; gap: 8px; }
.commit__btn { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line-strong); color: var(--wine-700); transition: background-color var(--d-2), color var(--d-2), transform var(--d-2) var(--ease-out); }
.commit__btn:hover { background: var(--wine-700); color: var(--ivory-100); border-color: var(--wine-700); }
.commit__btn:active { transform: scale(.92); }
@media (min-width: 960px) { .commit__nav { display: flex; } }
.commit__track { --pad: max(var(--gutter), calc((100vw - var(--maxw)) / 2 + var(--gutter))); display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 10px var(--pad) 40px; scroll-padding-inline: var(--pad); scroll-behavior: smooth; }
.commit__track::-webkit-scrollbar { display: none; }
.cslide { position: relative; isolation: isolate; overflow: hidden; flex: 0 0 min(78vw, 320px); aspect-ratio: 4 / 5; scroll-snap-align: start; display: flex; flex-direction: column; padding: 26px 26px 14px; border-radius: 28px; background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-1); }
.cslide__n { margin-bottom: auto; font-family: var(--f-serif); font-style: italic; font-size: 3.2rem; line-height: 1; color: var(--rasp-500); }
.cslide h4 { margin-bottom: 10px; font-family: var(--f-serif); font-weight: 400; font-size: 1.5rem; line-height: 1.12; letter-spacing: -.01em; color: var(--wine-700); }
.cslide p { font-size: .9rem; color: var(--ink-soft); }
.cslide footer { display: flex; justify-content: space-between; margin: 10px -10px 0; color: var(--ink); }
.cslide--petal { background: var(--petal-200); border-color: transparent; }
.cslide--wine { background: radial-gradient(120% 80% at 0% 0%, var(--wine-600), var(--wine-900)); border-color: transparent; color: var(--on-dark); }
.cslide--wine h4 { color: var(--on-dark); } .cslide--wine p { color: var(--on-dark-soft); } .cslide--wine .cslide__n { color: var(--satin-300); } .cslide--wine footer { color: var(--on-dark); }
.cslide--cover { flex-basis: min(84vw, 380px); justify-content: flex-end; padding: 26px; color: var(--on-dark); border: 0; box-shadow: var(--sh-3); }
.cslide--cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.cslide--cover::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(28,9,17,.35), rgba(28,9,17,.1) 30%, rgba(28,9,17,.9) 78%); }
.cslide__tag { position: absolute; top: 18px; left: 18px; padding: 6px 12px; border-radius: var(--r-pill); background: rgba(255,250,248,.85); color: var(--wine-700); font-size: .7rem; font-weight: 700; }
.cslide--cover h4 { color: #fff; font-size: clamp(1.9rem, 3vw, 2.3rem); line-height: 1.02; }
.cslide__sticker { width: max-content; max-width: 92%; margin: 4px 0 12px; padding: 8px 12px; border-radius: 10px; rotate: -3deg; background: var(--satin-300); color: var(--wine-900) !important; font-size: .84rem !important; font-weight: 700; }
.cslide__formula { font-size: .74rem !important; letter-spacing: .06em; color: var(--on-dark-soft) !important; }

/* --------------------------------------------------------------------------
   28. ARQUÉTIPOS (tarô)
   -------------------------------------------------------------------------- */
.arch { position: relative; overflow: clip; padding: var(--section) 0 calc(var(--section) * .7); background: var(--wine-950); color: var(--on-dark); }
.arch__glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(60% 45% at 50% 95%, rgba(183,53,89,.32), transparent 70%), radial-gradient(40% 30% at 50% 20%, rgba(231,183,195,.08), transparent 70%); }
.arch__head { position: relative; display: grid; justify-items: center; text-align: center; }
.arch__head .lead { margin: var(--s-5) auto 0; }
.arch__note { display: flex; gap: 10px; align-items: flex-start; max-width: 36rem; margin-top: var(--s-5); padding: 12px 16px; border-radius: 16px; border: 1px solid var(--line-dark); background: rgba(255,255,255,.04); font-size: .82rem; color: var(--on-dark-soft); text-align: left; }
.arch__note .ic { color: var(--satin-300); margin-top: 2px; }

.deck { position: relative; display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-top: var(--s-6); padding: 40px var(--gutter) 30px; }
.deck::-webkit-scrollbar { display: none; }
.tarot { position: relative; flex: 0 0 200px; height: 320px; perspective: 1100px; scroll-snap-align: center; color: inherit; text-align: center; transition: translate .5s var(--ease-out); -webkit-tap-highlight-color: transparent; }
.tarot__inner { position: relative; display: block; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform .9s var(--ease-out); }
.tarot[aria-pressed="true"] .tarot__inner { transform: rotateY(180deg); }
.tarot__face { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; padding: 22px 16px; border-radius: 18px; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.tarot__front { justify-content: space-between; background: radial-gradient(50% 30% at 50% 48%, rgba(231,183,195,.16), transparent 70%), radial-gradient(120% 70% at 50% 0%, var(--wine-700), var(--wine-900) 60%, #14060c); border: 1px solid rgba(231,183,195,.35); box-shadow: 0 30px 60px -24px rgba(0,0,0,.85); }
.tarot__front::before { content: ""; position: absolute; inset: 9px; border: 1px solid rgba(231,183,195,.28); border-radius: 90px 90px 10px 10px; pointer-events: none; }
.tarot__num { position: relative; font-family: var(--f-serif); font-style: italic; font-size: 1.1rem; letter-spacing: .1em; color: var(--satin-300); }
.tarot__glyph { width: 76px; height: 76px; color: var(--satin-300); filter: drop-shadow(0 0 14px rgba(231,183,195,.35)); }
.tarot__name { position: relative; font-family: var(--f-serif); font-size: 1.5rem; line-height: 1.05; }
.tarot__kw { position: relative; font-size: .6rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--on-dark-mute); }
.tarot__back { transform: rotateY(180deg); justify-content: center; gap: 4px; background: linear-gradient(170deg, var(--ivory-100), var(--petal-200)); color: var(--wine-700); border: 1px solid rgba(255,255,255,.6); box-shadow: 0 30px 60px -24px rgba(0,0,0,.85); }
.tarot__back .tarot__num { color: var(--rasp-500); margin-bottom: 6px; }
.tarot__back small { margin-top: 10px; font-size: .58rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; color: var(--rasp-500); }
.tarot__back span:not(.tarot__num) { font-family: var(--f-serif); font-size: 1.06rem; line-height: 1.22; color: var(--ink); }
.deck__hint { margin-top: 14px; text-align: center; font-size: .78rem; color: var(--on-dark-mute); }
@media (hover: hover) { .tarot:hover { translate: 0 -26px; z-index: 20; } }
@media (min-width: 960px) {
  .deck { display: block; height: 560px; max-width: 1200px; margin: var(--s-5) auto 0; padding: 0; overflow: visible; }
  .tarot { --fan: clamp(0, (var(--p, .6) - .18) * 3.2, 1); position: absolute; left: 50%; bottom: 120px; width: 200px; height: 320px; margin-left: -100px; transform-origin: 50% 300%; transform: rotate(calc((var(--i) - 3.5) * 9.6deg * var(--fan))); }
  .tarot[aria-pressed="true"] { translate: 0 -26px; z-index: 19; }
}

/* --------------------------------------------------------------------------
   29. ZONA FINANCEIRA — identidade própria (petróleo + vinho + rosé metálico)
   -------------------------------------------------------------------------- */
:root {
  --fin-petrol: #1D2A31;
  --fin-petrol-2: #26343C;
  --fin-plum: #2B1D2B;
  --fin-mist: #E7ECEC;
  --rosegold: #D8A08F;
  --rosegold-2: #F0C9BC;
  --burnt-rose: #B5677A;
}
.fin { position: relative; isolation: isolate; overflow: clip; }
.fin__tex { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; color: rgba(38, 56, 64, .13); pointer-events: none; }
.fin--dark .fin__tex { color: rgba(240, 201, 188, .085); }
.fin__curve { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; pointer-events: none; }
.fin__curve path { fill: none; stroke: var(--burnt-rose); stroke-width: 1.6; opacity: .55; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: calc(1 - min(1, var(--p, .6) * 1.7)); }

.coin { position: absolute; z-index: 4; width: 84px; height: auto; filter: drop-shadow(0 18px 22px rgba(44, 11, 27, .35)); pointer-events: none; transform: translate3d(0, calc((var(--p, .5) - .5) * var(--depth, 1) * -140px), 0); }
.motion .coin { animation: coin 7s var(--ease-inout) infinite; }
@keyframes coin { 0%, 100% { rotate: -10deg; translate: 0 0; } 50% { rotate: 8deg; translate: 0 -14px; } }

/* ---------- Afinal, você quer ser independente? ---------- */
.money {
  padding: var(--section) 0 calc(var(--section) * .7);
  background:
    radial-gradient(55% 50% at 85% 18%, rgba(216, 160, 143, .38), transparent 70%),
    radial-gradient(50% 60% at 0% 100%, rgba(183, 53, 89, .1), transparent 70%),
    linear-gradient(170deg, #F5F1EE 0%, #E8EDED 52%, #F0E4E4 100%);
}
.money__grid { display: grid; gap: var(--s-8); align-items: center; }
.money__copy .h1 { margin-bottom: var(--s-5); }
.money__pix { margin-top: var(--s-6); padding-left: 20px; border-left: 2px solid var(--rasp-500); font-family: var(--f-serif); font-size: clamp(1.5rem, 2.4vw, 2.1rem); line-height: 1.15; color: var(--plum-900); max-width: 26rem; }
.money__pix s { color: var(--ink-mute); text-decoration-color: var(--rasp-500); text-decoration-thickness: 2px; }
.money__pix em { color: var(--rasp-500); }

.money__stage { position: relative; height: 540px; }
.mshot { position: absolute; margin: 0; overflow: hidden; border-radius: 22px; background: var(--petal-200); box-shadow: var(--sh-3); transform: translate3d(0, calc((var(--p, .5) - .5) * var(--depth, 1) * -120px), 0); }
.mshot img { width: 100%; height: 100%; object-fit: cover; }
.mshot--main { left: 18%; top: 6%; width: 56%; height: 80%; rotate: 2deg; }
.mshot--a { left: 0; bottom: 0; width: 34%; height: 40%; rotate: -6deg; border: 6px solid #fff; }
.mshot--b { right: 0; top: 14%; width: 30%; height: 34%; rotate: 6deg; border: 6px solid #fff; }
.mnotif, .mwidget { position: absolute; z-index: 3; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 18px; background: rgba(255, 252, 250, .86); border: 1px solid var(--glass-line); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); box-shadow: 0 20px 40px -18px rgba(29, 42, 49, .35); font-size: .76rem; line-height: 1.3; transform: translate3d(0, calc((var(--p, .5) - .5) * var(--depth, 1) * -120px), 0); }
.mnotif { width: min(250px, 66vw); }
.mnotif b, .mwidget b { display: block; font-size: .78rem; color: var(--ink); }
.mnotif small, .mwidget small { display: block; color: var(--ink-soft); }
.mnotif time { margin-left: auto; align-self: flex-start; font-size: .64rem; color: var(--ink-mute); }
.mnotif__ico { width: 34px; height: 34px; flex: none; border-radius: 10px; display: grid; place-items: center; background: var(--petal-200); color: var(--wine-700); font-family: var(--f-serif); font-size: 1.1rem; }
.mnotif__ico svg { width: 18px; height: 18px; }
.mnotif__ico--brand { background: var(--wine-700); color: var(--ivory-100); }
.mnotif__ico--brand svg { width: 26px; height: 24px; }
.mnotif--old { right: 4%; top: -2%; }
.mnotif--old b { position: relative; width: max-content; }
.mnotif--old b::after { content: ""; position: absolute; left: -2px; right: -2px; top: 52%; height: 2px; background: var(--rasp-500); transform: scaleX(0); transform-origin: left; transition: transform .7s var(--ease-inout) .8s; }
.money__stage.is-in .mnotif--old b::after { transform: scaleX(1); }
.money__stage.is-in .mnotif--old { opacity: .72; transition: opacity .8s 1.4s; }
.mnotif--new { right: -3%; top: 50%; }
.mnotif--saved { left: -4%; top: 26%; }
.mwidget--goal { left: 24%; bottom: -3%; }
.ring { position: relative; width: 46px; height: 46px; flex: none; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--rasp-500) calc(var(--v) * 360deg), var(--petal-300) 0); }
.ring::before { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: #fff; }
.ring b { position: relative; font-size: .7rem !important; color: var(--wine-700) !important; }
.mwidget--fx { right: -2%; bottom: 6%; flex-direction: column; align-items: stretch; gap: 6px; width: 200px; }
.fx__row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.fx__row b { font-size: .7rem !important; letter-spacing: .08em; }
.fx__row svg { width: 80px; height: 22px; }
.fx__row path { fill: none; stroke: var(--rasp-500); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.8s var(--ease-inout) .5s; }
.fx__row + .fx__row path { stroke: #2F5563; transition-delay: .8s; }
.mwidget--fx small { font-size: .64rem; letter-spacing: .06em; color: var(--ink-mute); }
.money__stage.is-in .fx__row path, .no-motion .fx__row path { stroke-dashoffset: 0; }
.coin--1 { left: 13%; top: -5%; }
.coin--2 { left: 58%; bottom: 13%; width: 54px; animation-delay: -3s !important; }
.money__quote { max-width: 22ch; margin: calc(var(--section) * .7) auto 0; text-align: center; font-family: var(--f-serif); font-weight: 350; font-size: clamp(1.9rem, 3.8vw, 3.4rem); line-height: 1.05; letter-spacing: -.02em; color: var(--plum-900); text-wrap: balance; }
.money__quote em { color: var(--rasp-500); }
@media (max-width: 959px) {
  .mnotif--saved, .coin--2 { display: none; }
  .coin--1 { left: 1%; right: auto; top: 30%; width: 60px; }
  .coin--3 { left: auto; right: 4%; top: 10%; width: 54px; }
  .money__stage { height: 590px; }
  .mshot--a { bottom: 17%; }
  .mwidget--goal { left: 2%; bottom: -1%; }
  .mwidget--fx { bottom: 0; }
}
@media (min-width: 960px) {
  .money__grid { grid-template-columns: .95fr 1.05fr; gap: var(--s-8); }
  .money__stage { height: 620px; }
  .coin--1 { width: 104px; }
  .mshot--a { bottom: 7%; }
}

/* ---------- Independência financeira progressiva (zona escura) ---------- */
.fin--dark {
  color: var(--on-dark);
  background:
    radial-gradient(60% 50% at 85% 22%, rgba(181, 103, 122, .3), transparent 65%),
    radial-gradient(55% 50% at 8% 85%, rgba(112, 36, 63, .45), transparent 70%),
    linear-gradient(160deg, var(--fin-petrol) 0%, #222833 35%, var(--fin-plum) 70%, #33162A 100%);
}
.marquee--fin { margin: 0; padding: 20px 0; border-color: rgba(255, 255, 255, .1); }
.marquee--fin .marquee__row { font-size: clamp(1.5rem, 3vw, 2.5rem); }
.marquee--fin .marquee__row span { color: var(--on-dark); }
.marquee--fin .marquee__row span:nth-of-type(even) { color: var(--rosegold-2); -webkit-text-stroke: 0; font-style: italic; }
.marquee--fin .marquee__row svg { color: var(--rosegold); }

.ladder__pin { position: relative; overflow: hidden; padding: var(--s-8) 0 var(--s-6); }
.ladder__head { position: relative; z-index: 3; }
.ladder__title { font-family: var(--f-serif); font-weight: 340; font-size: clamp(2.5rem, min(5vw, 7.4svh), 4.8rem); line-height: .96; letter-spacing: -.03em; color: var(--on-dark); }
.ladder__title em { color: var(--rosegold-2); }
.ladder__sub { margin-top: var(--s-4); max-width: 30rem; font-size: var(--t-lead); color: var(--on-dark-soft); }
.ladder__perks { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: var(--s-5); }
.ladder__perks li { display: flex; align-items: center; gap: 10px; font-size: .82rem; font-weight: 600; color: var(--on-dark-soft); }
.ladder__perks .ic { width: 22px; height: 22px; color: var(--rosegold); }

.ladder__woman { position: relative; z-index: 1; height: 340px; width: max-content; max-width: 100%; margin: 6px auto -70px; pointer-events: none; }
.ladder__woman img { height: 100%; width: auto; -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent 95%); mask-image: linear-gradient(180deg, #000 55%, transparent 95%); }
.ladder__woman figcaption { position: absolute; left: -10px; top: 32%; rotate: -7deg; font-family: var(--f-serif); font-style: italic; font-size: 1rem; line-height: 1.25; color: var(--rosegold-2); text-shadow: 0 2px 12px rgba(0, 0, 0, .5); }
.coin--3 { left: 3%; top: 26%; width: 70px; }
.coin--4 { right: 8%; top: 6%; width: 46px; animation-delay: -4s !important; }

.ladder__track { position: relative; z-index: 2; margin-top: var(--s-6); }
.steps { position: relative; display: grid; gap: 14px; padding-left: 34px; }
.ladder__line { position: absolute; left: calc(var(--gutter) + 12px); top: 4px; bottom: 4px; width: 2px; border-radius: 2px; background: rgba(255, 255, 255, .12); overflow: hidden; }
.ladder__line i { position: absolute; inset: 0; background: linear-gradient(180deg, var(--rosegold-2), var(--rasp-400)); transform-origin: top; transform: scaleY(var(--lp, 0)); box-shadow: 0 0 12px rgba(240, 201, 188, .7); }
.step { position: relative; }
.step::before { content: ""; position: absolute; left: -28px; top: 22px; width: 12px; height: 12px; border-radius: 50%; border: 2px solid rgba(240, 201, 188, .45); background: var(--fin-petrol); transition: background-color .5s, box-shadow .5s, border-color .5s; }
.step.is-lit::before { background: var(--rosegold-2); border-color: var(--rosegold-2); box-shadow: 0 0 14px rgba(240, 201, 188, .9); }
.step__flag { display: flex; gap: 6px; margin-bottom: 8px; min-height: 0; }
.step__flag > span { display: none; padding: 4px 10px; border-radius: var(--r-pill); font-size: .62rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.step__flag-here { background: linear-gradient(120deg, var(--rosegold-2), var(--rosegold)); color: var(--wine-900); box-shadow: 0 6px 20px -6px rgba(240, 201, 188, .7); }
.step__flag-next { border: 1px solid rgba(240, 201, 188, .5); color: var(--rosegold-2); }
.step.is-here .step__flag-here, .step.is-next .step__flag-next { display: inline-block; animation: paneIn .5s var(--ease-out); }

.step__block {
  position: relative; display: grid; grid-template-columns: 46px 1fr; column-gap: 12px; align-items: start;
  padding: 16px 16px 16px 14px; border-radius: 18px;
  background:
    linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, .16) 45%, transparent 58%) no-repeat,
    linear-gradient(165deg, rgba(240, 201, 188, .2) 0%, rgba(183, 53, 89, .32) 30%, rgba(94, 26, 53, .8) 72%, rgba(44, 11, 27, .94));
  background-size: 260% 100%, 100% 100%;
  background-position: 130% 0, 0 0;
  border: 1px solid rgba(240, 201, 188, .32);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .32), inset 0 -24px 30px -22px rgba(0, 0, 0, .45), 0 26px 40px -24px rgba(0, 0, 0, .75);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  filter: saturate(.35) brightness(.6);
  transition: filter .7s var(--ease-soft), box-shadow .7s, background-position 1.4s var(--ease-out);
}
.step__n { grid-row: span 3; font-family: var(--f-serif); font-style: italic; font-size: 2rem; line-height: 1; color: var(--rosegold-2); opacity: .45; transition: opacity .6s, transform .6s var(--ease-out); }
.step__ic { display: none; }
.step__t { font-family: var(--f-serif); font-weight: 450; font-size: 1.12rem; line-height: 1.15; color: var(--on-dark); }
.step__d { margin-top: 4px; font-size: .82rem; line-height: 1.45; color: var(--on-dark-soft); }
.step__lock { display: none; align-items: center; gap: 6px; margin-top: 8px; font-size: .66rem; font-weight: 700; letter-spacing: .06em; color: var(--on-dark-mute); }
.step__lock .ic { width: 13px; height: 13px; }
.step__done { position: absolute; top: 10px; right: 10px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--rosegold-2); color: var(--wine-900); opacity: 0; transform: scale(.4); transition: opacity .4s, transform .5s var(--ease-pop); }
.step__done .ic { width: 13px; height: 13px; }
.step__done use { stroke-width: 2.4; }
.step.is-lit .step__block { filter: none; background-position: -60% 0, 0 0; }
.step.is-lit .step__n { opacity: 1; }
.step.is-next .step__block { filter: saturate(.75) brightness(.85); }
.step.is-here .step__block { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 0 0 1px rgba(240, 201, 188, .7), 0 0 60px -8px rgba(231, 140, 170, .6), 0 30px 50px -24px rgba(0, 0, 0, .8); }
.step.is-locked .step__lock { display: flex; }
.step.is-done .step__done { opacity: 1; transform: none; }
.ladder__plinth { display: none; }
.ladder__note { margin-top: var(--s-6); font-size: .78rem; color: var(--on-dark-mute); text-align: center; }

@media (min-width: 960px) {
  .ladder__woman { position: absolute; right: 3%; top: 4%; height: min(66svh, 640px); margin: 0; z-index: 1; }
  .ladder__woman figcaption { left: -170px; top: 34%; font-size: 1.2rem; }
  .ladder__head > * { max-width: 660px; }
  .ladder__title { max-width: none !important; }
  .coin--3 { left: auto; right: 31%; top: 46%; width: 76px; }
  .coin--4 { right: 2%; top: 46%; width: 60px; }
  .ladder__line { display: none; }
  .steps { grid-template-columns: repeat(8, 1fr); gap: 14px; align-items: end; padding-left: 0; padding-right: 12px; }
  .step { display: flex; flex-direction: column; justify-content: flex-end; }
  .step::before { display: none; }
  .step__flag { justify-content: center; height: 28px; margin-bottom: 14px; align-items: flex-end; }
  .step__block {
    height: calc(clamp(188px, 23svh, 215px) + var(--s) * clamp(9px, 1.6svh, 15px));
    display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px;
    padding: 16px 10px 14px; border-radius: 16px 16px 6px 6px;
  }
  .step__block::before { content: ""; position: absolute; left: 7px; right: -11px; top: -12px; height: 12px; border-radius: 6px 6px 0 0; background: linear-gradient(90deg, rgba(240, 201, 188, .55), rgba(216, 160, 143, .22)); transform: skewX(-42deg); transform-origin: bottom left; pointer-events: none; }
  .step__block::after { content: ""; position: absolute; top: -12px; right: -11px; width: 11px; bottom: 6px; background: linear-gradient(180deg, rgba(110, 40, 68, .9), rgba(28, 9, 17, .95)); transform: skewY(-48deg); transform-origin: top left; border-radius: 0 0 4px 0; pointer-events: none; }
  .step__n { font-size: 1.7rem; transform: translateY(6px); }
  .step.is-lit .step__n { transform: none; }
  .step__ic { display: block; width: 28px; height: 28px; color: #F6D9CF; }
  .step__t { font-size: .98rem; }
  .step__d { font-size: .72rem; }
  .step__lock { margin-top: auto; justify-content: center; font-size: .6rem; line-height: 1.3; }
  .step__lock .ic { flex: none; }
  .ladder__plinth { display: block; height: 18px; margin-top: 0; border-radius: 4px; background: repeating-linear-gradient(100deg, transparent 0 60px, rgba(180, 160, 160, .25) 60px 61px, transparent 61px 140px), linear-gradient(180deg, #F4EDEA, #CFC2BF); box-shadow: 0 24px 40px -12px rgba(0, 0, 0, .65); position: relative; }
  .ladder__plinth::before { content: ""; position: absolute; left: 0; top: 0; height: 3px; width: calc(var(--lp, 0) * 100%); background: linear-gradient(90deg, var(--rosegold-2), var(--rasp-400)); box-shadow: 0 0 16px rgba(240, 201, 188, .9); border-radius: 3px; transition: width .2s linear; }
}
@media (min-width: 960px) and (max-height: 820px) { .step__ic { display: none !important; } .ladder__perks { display: none; } }

.pin .ladder__scroll { height: 300svh; }
.pin .ladder__pin { position: sticky; top: 0; height: 100svh; padding: 92px 0 28px; display: flex; flex-direction: column; justify-content: space-between; }

/* Conquistas */
.wins { padding-top: var(--section); padding-bottom: var(--section); position: relative; }
.wins__head { display: grid; justify-items: center; text-align: center; }
.wins__head p:not(.label) { margin-top: 14px; max-width: 30rem; color: var(--on-dark-soft); }
.wins__head .h2 em { color: var(--rosegold-2); }
.wins__row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px 14px; margin-top: var(--s-7); }
.win { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.win b { font-size: .84rem; font-weight: 650; color: var(--on-dark-mute); transition: color .6s; max-width: 12rem; }
.win__medal { position: relative; width: 84px; height: 84px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at 30% 25%, #3c3542, #1d1a22); border: 1.5px solid rgba(255, 255, 255, .12); color: var(--on-dark-mute); }
.win__medal::before, .win__medal::after { content: ""; position: absolute; border-radius: 50%; opacity: 0; transition: opacity .6s; }
.win__medal::after { inset: -2px; background: conic-gradient(from 210deg, var(--rosegold-2), var(--rosegold), var(--burnt-rose), var(--rosegold-2)); box-shadow: 0 0 34px -4px rgba(240, 201, 188, .55); }
.win__medal::before { inset: 5px; z-index: 1; background: radial-gradient(circle at 35% 25%, var(--wine-600), var(--wine-900)); }
.win__medal .ic { grid-area: 1 / 1; position: relative; z-index: 2; width: 28px; height: 28px; transition: opacity .4s, transform .6s var(--ease-pop); }
.win__ok { opacity: 0; transform: scale(.3); color: var(--rosegold-2); }
.win__ok use { stroke-width: 2.2; }
.wins.is-in .win__medal::before, .wins.is-in .win__medal::after { opacity: 1; transition-delay: calc(.3s + var(--w) * .35s); }
.wins.is-in .win__lock { opacity: 0; transition-delay: calc(.3s + var(--w) * .35s); }
.wins.is-in .win__ok { opacity: 1; transform: none; transition-delay: calc(.4s + var(--w) * .35s); }
.wins.is-in .win b { color: var(--on-dark); transition-delay: calc(.3s + var(--w) * .35s); }
.motion .wins.is-in .win__medal { animation: medal .8s var(--ease-out) backwards; animation-delay: calc(.3s + var(--w) * .35s); }
@keyframes medal { 0% { box-shadow: 0 0 0 0 rgba(240, 201, 188, .6); } 100% { box-shadow: 0 0 0 26px rgba(240, 201, 188, 0); } }
.fin--dark .money__close { color: var(--on-dark); margin-top: var(--section); }
.fin--dark .money__close em { color: var(--rosegold-2); }
.money__close { max-width: 20ch; margin: var(--section) auto 0; text-align: center; font-family: var(--f-serif); font-weight: 350; font-size: clamp(2rem, 4.6vw, 4.2rem); line-height: 1.04; letter-spacing: -.025em; text-wrap: balance; }
@media (min-width: 960px) { .wins__row { grid-template-columns: repeat(6, 1fr); } }

/* ---------- Recompensas ---------- */
.rewards { padding: var(--section) 0; overflow: clip; background: radial-gradient(55% 60% at 72% 40%, rgba(255, 255, 255, .9), transparent 70%), linear-gradient(170deg, #FBF2F0, #F3DEE3 60%, #EFD2DA); }
.rewards__grid { display: grid; gap: var(--s-7); align-items: center; }
.rewards__alt { margin: var(--s-4) 0; font-family: var(--f-serif); font-style: italic; font-size: clamp(1.3rem, 2vw, 1.7rem); color: var(--rasp-500); }
.rewards__status { display: flex; gap: 12px; align-items: flex-start; max-width: 30rem; margin-top: var(--s-6); padding: 14px 16px; border-radius: 18px; background: rgba(255, 255, 255, .72); border: 1px dashed rgba(183, 53, 89, .4); }
.rewards__status b { display: block; font-size: .9rem; color: var(--wine-700); }
.rewards__status small { display: block; margin-top: 2px; font-size: .8rem; color: var(--ink-soft); line-height: 1.45; }
.rewards__status a { color: var(--rasp-500); font-weight: 700; text-decoration: underline; }
.rewards__dot { position: relative; flex: none; width: 10px; height: 10px; margin-top: 5px; border-radius: 50%; background: var(--rasp-500); }
.motion .rewards__dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--rasp-500); animation: ring 2s var(--ease-out) infinite; }
.rewards[data-state="live"] .rewards__status { border-style: solid; }

.vitrine { display: none; }
.rcards { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(var(--gutter) * -1); padding: 6px var(--gutter) 20px; }
.rcards::-webkit-scrollbar { display: none; }
.rcard { position: relative; flex: 0 0 62vw; max-width: 260px; aspect-ratio: 4 / 5; scroll-snap-align: center; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 10px; padding: 18px; border-radius: 26px; background: radial-gradient(70% 50% at 50% 35%, #fff, transparent 70%), linear-gradient(180deg, #FFFBFA, #F3DEE3); box-shadow: var(--sh-2); overflow: hidden; }
.rcard::before { content: ""; position: absolute; left: 18%; right: 18%; bottom: 58px; height: 26px; border-radius: 50%; background: radial-gradient(ellipse, #fff, #E9DEDB 70%); box-shadow: 0 10px 20px -8px rgba(94, 26, 53, .35); }
.rcard img { position: relative; max-height: 64%; max-width: 86%; object-fit: contain; filter: drop-shadow(0 16px 18px rgba(94, 26, 53, .28)); margin-bottom: auto; margin-top: 10px; }
.rcard b { position: relative; font-family: var(--f-serif); font-weight: 450; font-size: 1.1rem; color: var(--wine-700); }

@media (min-width: 960px) {
  .rewards__grid { grid-template-columns: .82fr 1.18fr; gap: var(--s-6); }
  .rcards { display: none; }
  .vitrine { display: block; position: relative; height: 640px; }
  .vitrine__halo { position: absolute; left: 18%; top: 2%; width: 62%; aspect-ratio: 1; border-radius: 50%; border: 1.5px solid rgba(216, 160, 143, .75); background: radial-gradient(circle, rgba(255, 255, 255, .95), rgba(243, 222, 227, .35) 62%, transparent 72%); box-shadow: inset 0 0 60px rgba(255, 255, 255, .8); }
  .ribbon { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 14px 18px rgba(94, 26, 53, .25)); }
  .ribbon path { fill: none; stroke: url(#ribG); stroke-width: 24; stroke-linecap: round; opacity: .9; }
  .ribbon .ribbon__b { stroke-width: 14; opacity: .65; }
  .motion .ribbon path { animation: ribbon 10s var(--ease-inout) infinite alternate; }
  .motion .ribbon .ribbon__b { animation-duration: 13s; animation-delay: -4s; }
  @keyframes ribbon { from { transform: translate(0, 0) rotate(0deg); } to { transform: translate(-14px, 10px) rotate(-1.2deg); } }

  .ped { position: absolute; z-index: 2; border-radius: 0 0 50% 50% / 0 0 22px 22px; background: linear-gradient(90deg, #E6DAD7, #FFFFFF 40%, #EDE4E1 70%, #D9CCC9); box-shadow: 0 30px 40px -24px rgba(94, 26, 53, .4); }
  .ped::before { content: ""; position: absolute; left: 0; right: 0; top: -21px; height: 42px; border-radius: 50%; background: radial-gradient(ellipse at 50% 40%, #FFFFFF, #F1E9E6 70%, #E2D5D1); }
  .ped--a { left: 32%; bottom: 7%; width: 34%; height: 100px; }
  .ped--b { left: 3%; bottom: 17%; width: 27%; height: 76px; }
  .ped--c { right: 1%; bottom: 12%; width: 29%; height: 66px; }

  .prod { position: absolute; height: auto; filter: drop-shadow(0 26px 26px rgba(94, 26, 53, .3)); transform: translate3d(0, calc((var(--p, .5) - .5) * var(--d, 1) * -90px), 0); transition: opacity 1s var(--ease-soft), scale 1.2s var(--ease-out); }
  .prod--laptop { --d: .4; z-index: 1; left: 28%; top: 13%; width: 50%; }
  .prod--dress { --d: .6; z-index: 2; right: -3%; top: -2%; width: 31%; }
  .prod--phone { --d: 1.3; z-index: 4; left: 39%; bottom: 17%; width: 18%; }
  .prod--bag { --d: .9; z-index: 3; left: 4%; bottom: 25%; width: 25%; }
  .prod--beauty { --d: 1; z-index: 3; right: 5%; bottom: 19%; width: 24%; }
  .prod--watch { --d: 1.6; z-index: 5; right: 30%; bottom: 3%; width: 15%; }
  .prod--gift { --d: 1.8; z-index: 5; left: 17%; bottom: -2%; width: 18%; }
  .js .vitrine .prod { opacity: 0; scale: .9; }
  .vitrine.is-in .prod { opacity: 1; scale: 1; }
  .vitrine.is-in .prod--laptop { transition-delay: .05s; } .vitrine.is-in .prod--dress { transition-delay: .15s; }
  .vitrine.is-in .prod--bag { transition-delay: .25s; } .vitrine.is-in .prod--phone { transition-delay: .35s; }
  .vitrine.is-in .prod--beauty { transition-delay: .45s; } .vitrine.is-in .prod--watch { transition-delay: .55s; }
  .vitrine.is-in .prod--gift { transition-delay: .65s; }
  .motion .vitrine .prod--phone { animation: float 6s var(--ease-inout) infinite; }
  .motion .vitrine .prod--watch { animation: float 7s var(--ease-inout) -2s infinite; }

  .rtag { position: absolute; z-index: 6; display: flex; align-items: center; gap: 10px; width: 216px; padding: 10px 14px 10px 10px; border-radius: 16px; background: rgba(255, 252, 250, .84); border: 1px solid var(--glass-line); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); box-shadow: 0 18px 36px -18px rgba(94, 26, 53, .45); transform: translate3d(0, calc((var(--p, .5) - .5) * 1.4 * -90px), 0); transition: opacity .8s var(--ease-soft), translate 1s var(--ease-out); }
  .rtag > .ic { width: 36px; height: 36px; padding: 8px; flex: none; border-radius: 50%; background: var(--petal-200); color: var(--rasp-500); }
  .rtag b { display: block; font-size: .8rem; color: var(--wine-700); }
  .rtag small { display: block; font-size: .7rem; line-height: 1.3; color: var(--ink-soft); }
  .rtag--xp { left: -4%; top: 6%; }
  .rtag--laptop { left: 44%; top: 3%; }
  .rtag--phone { left: -6%; top: 47%; }
  .rtag--dress { right: -5%; top: 41%; }
  .rtag--beauty { right: -7%; bottom: 33%; display: none; }
  .rtag--watch { right: 6%; bottom: -3%; }
  .js .vitrine .rtag { opacity: 0; translate: 0 16px; }
  .vitrine.is-in .rtag { opacity: 1; translate: 0 0; }
  .vitrine.is-in .rtag:nth-of-type(2) { transition-delay: .7s; } .vitrine.is-in .rtag:nth-of-type(3) { transition-delay: .8s; }
  .vitrine.is-in .rtag:nth-of-type(4) { transition-delay: .9s; } .vitrine.is-in .rtag:nth-of-type(5) { transition-delay: 1s; }
  .vitrine.is-in .rtag:nth-of-type(6) { transition-delay: 1.1s; } .vitrine.is-in .rtag:nth-of-type(1) { transition-delay: .6s; }
}

.quests { margin-top: var(--section); }
.quests__head { display: grid; gap: var(--s-4); margin-bottom: var(--s-6); }
.quests__head .label { margin-bottom: var(--s-4); }
.quests__head > p { max-width: 26rem; color: var(--ink-soft); }
.quests__track { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(var(--gutter) * -1); padding: 6px var(--gutter) 24px; }
.quests__track::-webkit-scrollbar { display: none; }
.quest { flex: 0 0 min(72vw, 260px); scroll-snap-align: start; display: grid; gap: 10px; align-content: start; padding: 18px; border-radius: 22px; background: rgba(255, 255, 255, .82); border: 1px solid var(--line); box-shadow: var(--sh-1); transition: transform var(--d-3) var(--ease-out), box-shadow var(--d-3); }
.quest:hover { transform: translateY(-4px); box-shadow: var(--sh-2); }
.quest__ic { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: var(--petal-200); color: var(--rasp-500); }
.quest__ic .ic { width: 22px; height: 22px; }
.quest b { font-family: var(--f-serif); font-weight: 450; font-size: 1.2rem; line-height: 1.15; color: var(--wine-700); min-height: 2.3em; }
.quest__bar { position: relative; height: 6px; border-radius: 6px; background: var(--petal-300); overflow: hidden; }
.quest__bar i { position: absolute; inset: 0; width: calc(var(--v) * 100%); border-radius: 6px; background: linear-gradient(90deg, var(--rasp-400), var(--wine-700)); transform-origin: left; transform: scaleX(0); transition: transform 1.4s var(--ease-out) .3s; }
.quests__track.is-in .quest__bar i, .no-motion .quest__bar i { transform: scaleX(1); }
.quest small { font-size: .74rem; color: var(--ink-mute); }
.quest__reward { display: inline-flex; align-items: center; gap: 6px; width: max-content; max-width: 100%; padding: 6px 11px; border-radius: var(--r-pill); background: var(--wine-700); color: var(--ivory-100); font-size: .72rem; font-weight: 650; }
.quest__reward .ic { width: 13px; height: 13px; color: var(--satin-300); }
@media (min-width: 960px) {
  .quests__head { grid-template-columns: 1fr auto; align-items: end; }
  .quests__track { display: grid; grid-template-columns: repeat(4, 1fr); overflow: visible; margin: 0; padding: 0; }
}

/* ---------- Santo Conselho AI ---------- */
.ai { position: relative; isolation: isolate; overflow: clip; padding: var(--section) 0; color: var(--on-dark); background: var(--wine-950); }
.ai__bg { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; }
.ai::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(45% 40% at 50% 55%, rgba(231, 140, 170, .28), transparent 70%), linear-gradient(180deg, rgba(28, 9, 17, .82), rgba(44, 11, 27, .5) 38%, rgba(44, 11, 27, .6) 70%, rgba(28, 9, 17, .92)); }
.ai__particles { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.ai__particles i { position: absolute; left: var(--x); top: var(--y); width: 4px; height: 4px; border-radius: 50%; background: rgba(255, 225, 232, .8); box-shadow: 0 0 10px rgba(255, 200, 215, .9); opacity: 0; }
.motion .ai__particles i { animation: drift var(--t) linear infinite; animation-delay: var(--dl); }
@keyframes drift { 0% { translate: 0 0; opacity: 0; } 15% { opacity: .8; } 100% { translate: 24px -180px; opacity: 0; } }

.ai__head { display: grid; justify-items: center; text-align: center; }
.ai__head .display { max-width: 16ch; }
.ai__head .lead { margin: var(--s-5) auto 0; text-align: center; }
.ai__pos { margin-top: var(--s-5); padding: 10px 18px; border-radius: var(--r-pill); border: 1px solid rgba(255, 255, 255, .18); background: rgba(255, 255, 255, .06); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); font-size: .92rem; color: var(--on-dark-soft); }
.ai__pos b { color: var(--satin-300); font-weight: 650; }

.ai__stage { display: grid; gap: var(--s-6); margin-top: var(--s-7); }
.ai__device { order: -1; display: grid; justify-items: center; gap: 14px; perspective: 1400px; }
.ai__scen { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.ai__chip { min-height: 44px; padding: 8px 16px; border-radius: var(--r-pill); border: 1px solid rgba(255, 255, 255, .24); font-size: .8rem; font-weight: 600; color: var(--on-dark-soft); transition: background-color var(--d-2), color var(--d-2); }
.ai__chip:hover { background: rgba(255, 255, 255, .08); }
.ai__chip.is-on { background: var(--ivory-100); color: var(--wine-700); border-color: transparent; }
.ai__hint { font-size: .72rem; color: var(--on-dark-mute); }

.phone--ai { --phone-w: min(86vw, 350px); transform: rotateY(calc(var(--ax, 0) * 7deg)) rotateX(calc(var(--ay, 0) * -5deg)); transition: transform .5s var(--ease-soft); }
.phone--ai .phone__body { background: linear-gradient(150deg, #9a5a72 0%, #4f1834 22%, #2a0b1a 55%, #74344f 85%, #3a1226 100%); box-shadow: inset 0 0 0 1.5px rgba(255, 220, 230, .35), inset 0 0 0 4px #14060c, 1px 1px 0 #3a1426, 2px 2px 0 #331120, 3px 3px 0 #2c0e1c, 4px 4px 0 #250b17, 5px 5px 0 #1e0912, 0 60px 120px -30px rgba(183, 53, 89, .55), 0 40px 80px -30px rgba(0, 0, 0, .8); }
.scr--chat { gap: .5em; background: linear-gradient(180deg, #FFF8F5, #F7EAEC); }
.chat__head { display: flex; align-items: center; gap: .6em; padding: .2em .2em .6em; border-bottom: 1px solid var(--line); }
.chat__ava { width: 2.5em; height: 2.5em; flex: none; border-radius: .8em; display: grid; place-items: center; background: linear-gradient(150deg, var(--wine-600), var(--wine-900)); color: var(--ivory-100); }
.chat__ava svg { width: 1.9em !important; height: 1.75em !important; }
.chat__head b { display: block; font-size: .95em; }
.chat__head small { display: flex; align-items: center; gap: .35em; font-size: .7em; color: var(--ink-mute); }
.chat__head small i { width: .5em; height: .5em; border-radius: 50%; background: var(--rasp-400); }
.chat { flex: 1; min-height: 0; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; gap: .55em; padding: .2em .1em; }
.cm { max-width: 86%; padding: .65em .85em; border-radius: 1.1em; font-size: .84em; line-height: 1.4; animation: msgIn .45s var(--ease-out) backwards; }
.cm p + p { margin-top: .5em; }
.cm--me { align-self: flex-end; border-radius: 1.1em 1.1em .3em 1.1em; background: var(--wine-700); color: var(--ivory-100); }
.cm--ai { align-self: flex-start; border-radius: 1.1em 1.1em 1.1em .3em; background: #fff; color: var(--ink); border: 1px solid var(--line); box-shadow: 0 .3em 1em -.5em rgba(94, 26, 53, .25); }
.cm--ai ol { margin: .45em 0; padding-left: 1.2em; list-style: decimal; }
.cm--ai ol li::marker { color: var(--rasp-500); font-weight: 700; }
.cm--ai strong { color: var(--wine-700); }
.cm--typing { display: flex; gap: .3em; padding: .85em 1em; }
.cm--typing i { width: .45em; height: .45em; border-radius: 50%; background: var(--rose-400); animation: dots 1.2s infinite; }
.cm--typing i:nth-child(2) { animation-delay: .15s; } .cm--typing i:nth-child(3) { animation-delay: .3s; }
.cm-act { align-self: flex-start; display: flex; align-items: center; gap: .6em; padding: .8em 1.05em; border-radius: 1em; background: linear-gradient(120deg, var(--rasp-500), var(--wine-700)); color: #fff; font-size: .82em; font-weight: 700; letter-spacing: .02em; box-shadow: 0 .6em 1.4em -.6em rgba(183, 53, 89, .8); animation: msgIn .45s var(--ease-out) backwards; }
.cm-act svg { width: 1.3em !important; height: 1.3em !important; }
.motion .cm-act { animation: msgIn .45s var(--ease-out) backwards, actPulse 1.6s var(--ease-out) .6s 1; }
@keyframes actPulse { 0% { box-shadow: 0 0 0 0 rgba(208, 74, 112, .65); } 100% { box-shadow: 0 0 0 1.4em rgba(208, 74, 112, 0); } }
.cm-act:hover { filter: brightness(1.08); }
.cm-timer { align-self: stretch; padding: .9em 1em; border-radius: 1.1em; background: linear-gradient(160deg, var(--petal-200), #fff); border: 1px solid rgba(183, 53, 89, .25); font-size: .82em; color: var(--ink); animation: msgIn .45s var(--ease-out) backwards; }
.cm-timer small { display: block; font-size: .78em; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--rasp-500); }
.cm-timer strong { display: block; margin: .1em 0 .3em; font-family: var(--f-serif); font-weight: 400; font-size: 2.3em; line-height: 1; color: var(--wine-700); font-variant-numeric: tabular-nums; }
.cm-timer ul { display: grid; gap: .25em; margin: .3em 0 .5em; }
.cm-timer li { padding-left: 1em; position: relative; }
.cm-timer li::before { content: "•"; position: absolute; left: 0; color: var(--rasp-500); }
.cm-timer em { font-family: var(--f-serif); color: var(--wine-700); }
.cm-link { align-self: flex-start; max-width: 90%; padding: .8em .9em; border-radius: 1em; background: #fff; border: 1.5px solid var(--rasp-500); font-size: .82em; animation: msgIn .45s var(--ease-out) backwards; }
.cm-link small { display: block; font-size: .78em; font-weight: 800; letter-spacing: .12em; color: var(--rasp-500); }
.cm-link b { display: block; margin-top: .15em; font-family: var(--f-serif); font-weight: 500; font-size: 1.1em; color: var(--wine-700); }
.chat__input { display: flex; align-items: center; gap: .5em; padding: .5em .5em .5em .9em; border-radius: 2em; background: #fff; border: 1px solid var(--line); font-size: .8em; color: var(--ink-mute); }
.chat__input span:first-child { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chat__input.is-typing span:first-child { color: var(--ink); }
.chat__send { width: 2.2em; height: 2.2em; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--wine-700); color: var(--ivory-100); }
.chat__send svg { width: 1.2em !important; height: 1.2em !important; }

.ai__caps { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cap { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; border-radius: 18px; background: rgba(255, 248, 245, .09); border: 1px solid rgba(255, 255, 255, .15); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); box-shadow: 0 20px 40px -24px rgba(0, 0, 0, .6); font-size: .84rem; font-weight: 600; line-height: 1.3; }
.cap__e { width: 36px; height: 36px; flex: none; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 252, 250, .92); font-size: 1rem; }
.js .ai .cap { opacity: 0; translate: 0 18px; transition: opacity .7s var(--ease-soft), translate .9s var(--ease-out); transition-delay: calc(var(--c) * .07s); }
.ai__stage.is-in .cap { opacity: 1; translate: 0 0; }

.act { margin-top: var(--section); display: grid; gap: var(--s-6); align-items: center; padding: clamp(22px, 4vw, 52px); border-radius: 34px; background: rgba(255, 248, 245, .07); border: 1px solid rgba(255, 255, 255, .14); -webkit-backdrop-filter: var(--blur-l); backdrop-filter: var(--blur-l); }
.act__title { margin-bottom: var(--s-4); font-family: var(--f-serif); font-weight: 340; font-size: clamp(2.4rem, 5vw, 4.4rem); line-height: .96; letter-spacing: -.03em; }
.act__title em { color: var(--satin-300); }
.act__copy > p:not(.label) { max-width: 30rem; color: var(--on-dark-soft); }
.act__card { padding: 22px; border-radius: 26px; background: var(--ivory-100); color: var(--ink); box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .7); }
.act__k { font-size: var(--t-micro); font-weight: 750; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--rasp-500); }
.act__opts { display: grid; gap: 8px; margin: 12px 0 16px; }
.act__opt { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 12px 16px; border-radius: 16px; border: 1px solid var(--line-strong); text-align: left; font-size: .92rem; font-weight: 650; color: var(--wine-700); transition: background-color var(--d-2), color var(--d-2), border-color var(--d-2), transform var(--d-2) var(--ease-out); }
.act__opt .ic { color: var(--rasp-500); transition: color var(--d-2); }
.act__opt:hover { border-color: var(--wine-700); }
.act__opt:active { transform: scale(.98); }
.act__opt[aria-pressed="true"] { background: var(--wine-700); color: var(--ivory-100); border-color: transparent; }
.act__opt[aria-pressed="true"] .ic { color: var(--satin-300); }
.act__modes { display: flex; flex-wrap: wrap; gap: 8px; }
.act__mode { min-height: 40px; padding: 6px 14px; border-radius: var(--r-pill); border: 1px solid var(--line-strong); font-size: .8rem; font-weight: 650; color: var(--ink-soft); transition: background-color var(--d-2), color var(--d-2); }
.act__mode[aria-pressed="true"] { background: var(--petal-200); color: var(--wine-700); border-color: transparent; }
.act__ok { margin-top: 14px; font-family: var(--f-serif); font-style: italic; color: var(--ink-soft); }
.ai__disclaimer { margin-top: var(--s-5); text-align: center; font-size: .78rem; color: var(--on-dark-mute); }

@media (min-width: 960px) {
  .ai__stage { grid-template-columns: 1fr auto 1fr; align-items: center; gap: var(--s-6); margin-top: var(--s-8); }
  .ai__device { order: 0; }
  .phone--ai { --phone-w: min(350px, 38svh); }
  .ai__caps { grid-template-columns: 1fr; gap: 12px; }
  .ai__caps--l { justify-items: end; }
  .ai__caps--r { justify-items: start; }
  .cap { flex-direction: row; align-items: center; max-width: 300px; padding: 12px 16px 12px 12px; font-size: .9rem; }
  .ai__caps--l .cap:nth-child(2), .ai__caps--l .cap:nth-child(4) { margin-right: 36px; }
  .ai__caps--l .cap:nth-child(3) { margin-right: 60px; }
  .ai__caps--r .cap:nth-child(2) { margin-left: 46px; }
  .ai__caps--r .cap:nth-child(3) { margin-left: 30px; }
  .js .ai .ai__caps--l .cap { translate: -30px 0; }
  .js .ai .ai__caps--r .cap { translate: 30px 0; }
  .ai__stage.is-in .ai__caps .cap { translate: 0 0; }
  .act { grid-template-columns: 1fr 1fr; gap: var(--s-8); }
}

/* --------------------------------------------------------------------------
   30. BIBLIOTECA · MANUAL DO HOMEM
   -------------------------------------------------------------------------- */
.library { margin-top: var(--section); display: grid; gap: var(--s-7); align-items: center; perspective: 1800px; }
.library__title { margin-bottom: var(--s-5); font-family: var(--f-serif); font-weight: 340; font-size: clamp(2.8rem, 6vw, 5.6rem); line-height: .95; letter-spacing: -.03em; color: var(--wine-700); }
.library__title em { color: var(--rasp-500); }
.library__text { margin-top: 14px; max-width: 30rem; color: var(--ink-soft); }
.library__also { display: flex; align-items: center; gap: 10px; margin-top: 22px; font-size: .88rem; font-weight: 650; color: var(--wine-700); }
.library__also .ic { color: var(--rasp-500); }
.library__stage { position: relative; height: 460px; transform-style: preserve-3d; transform: rotateY(calc(var(--lx, 0) * 7deg)) rotateX(calc(var(--ly, 0) * -5deg)); transition: transform .4s var(--ease-soft); }

.mag { position: absolute; left: 17%; top: 2%; width: 50%; aspect-ratio: 3 / 4.1; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; padding: 18px 18px 20px; border-radius: 5px 14px 14px 5px; background: var(--wine-900); color: var(--ivory-100); transform: rotateY(-16deg) rotateX(4deg) translateZ(40px); box-shadow: inset 7px 0 10px -6px rgba(0,0,0,.6), 30px 50px 80px -30px rgba(44,11,27,.65); }
.mag img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; filter: saturate(.8) contrast(1.05); }
.mag::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(44,11,27,.82) 0%, rgba(44,11,27,.15) 34%, rgba(44,11,27,.1) 55%, rgba(44,11,27,.92) 100%); }
.mag::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(115deg, rgba(255,255,255,.2), transparent 38%); }
.mag__issue { font-size: .56rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--satin-300); }
.mag__mast { margin-top: 6px; font-family: var(--f-serif); font-weight: 380; font-size: clamp(2rem, 3.6vw, 3rem); line-height: .9; letter-spacing: -.03em; }
.mag__mast em { color: var(--satin-300); }
.mag__lines { margin-top: auto; font-size: .74rem; line-height: 1.55; color: rgba(255,248,245,.85); }
.mag__lines b { font-family: var(--f-serif); font-style: italic; font-weight: 500; font-size: .95rem; color: #fff; }

.spread { position: absolute; right: -2%; top: 10%; width: 40%; aspect-ratio: 3 / 4.1; padding: 18px 16px; border-radius: 4px 12px 12px 4px; background: var(--ivory-50); color: var(--ink); box-shadow: var(--sh-3); transform: rotateY(-10deg) rotate(4deg) translateZ(-50px); overflow: hidden; }
.spread small { display: block; margin-bottom: 8px; font-size: .58rem; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; color: var(--rasp-500); }
.spread ol { counter-reset: t; }
.spread li { counter-increment: t; display: flex; gap: 8px; padding: 3px 0; border-bottom: 1px solid var(--line); font-family: var(--f-serif); font-size: clamp(.68rem, 1vw, .86rem); line-height: 1.3; }
.spread li::before { content: counter(t, decimal-leading-zero); font-style: italic; color: var(--rasp-500); }

.library__book { position: absolute; left: -2%; bottom: 4%; width: 30%; aspect-ratio: 3 / 4.2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; border-radius: 4px 12px 12px 4px; background: radial-gradient(100% 80% at 30% 0%, var(--rasp-500), var(--wine-700) 60%, var(--wine-900)); color: var(--ivory-100); transform: rotateY(22deg) rotate(-8deg) translateZ(-20px); box-shadow: inset 8px 0 10px -6px rgba(0,0,0,.5), 20px 30px 50px -20px rgba(44,11,27,.6); }
.library__book svg { width: 46px; height: 43px; color: var(--satin-300); }
.library__book p { font-family: var(--f-serif); font-size: 1rem; line-height: 1; }
.library__book em { color: var(--satin-300); }
@media (min-width: 960px) {
  .library { grid-template-columns: .9fr 1.1fr; gap: var(--s-8); }
  .library__stage { height: 560px; }
}

.mag--mini { position: relative; left: auto; top: auto; width: 11em; padding: 1.1em 1em; transform: rotateY(-20deg) rotateX(6deg); }
.mag--mini .mag__mast { font-size: 1.6em; margin: 0; }
.mag__line { margin-top: auto; font-size: .62em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--satin-300); }

.offer__book--man { top: -46px; right: auto; bottom: auto; left: -18px; width: 132px; padding: 16px 14px; justify-content: flex-start; z-index: 0; background: radial-gradient(100% 80% at 30% 0%, #3a1426, var(--wine-950)); border: 1px solid rgba(231,183,195,.3); transform: rotate(-12deg) rotateY(-20deg); }
.offer__book--man span { font-family: var(--f-serif); font-size: 1.15rem; line-height: 1; color: var(--ivory-100); }
.offer__book--man em { color: var(--satin-300); }
@media (min-width: 960px) { .offer__book--man { left: -64px; top: -60px; width: 160px; } }

/* --------------------------------------------------------------------------
   24. MOVIMENTO REDUZIDO
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; transition-delay: 0s !important; }
  .js [data-reveal], .js [data-lines] .line > span, .js .dump .pd { opacity: 1 !important; translate: none !important; rotate: var(--rot, 0deg); scale: 1 !important; }
  .js [data-lines] .line > span { rotate: none; }
  .hero__scene { transform: rotateY(-8deg) rotateX(3deg); }
  .gossip .msg, .gossip .gchat__typing { opacity: 1 !important; animation: none !important; }
  .js .stairs .stairs__riser { transform: none; }
}

.step.is-flash .step__block { animation: stepFlash 1.2s var(--ease-out) 2; }
@keyframes stepFlash { 0% { box-shadow: 0 0 0 0 rgba(240, 201, 188, .9); } 100% { box-shadow: 0 0 0 22px rgba(240, 201, 188, 0); } }

/* ==========================================================================
   31. PHOTO DUMP — legendas + composição editorial mobile
   ========================================================================== */
.pd__cap {
  position: absolute; left: 6px; right: 6px; bottom: 6px; z-index: 2;
  padding: 28px 10px 9px; border-radius: 0 0 2px 2px;
  background: linear-gradient(180deg, transparent, rgba(20, 6, 12, .8));
  color: #fff; font-family: var(--f-serif); font-style: italic; font-size: .9rem; line-height: 1.2;
}
.pd--4 img { object-position: 50% 58%; }
.pd--6 img { object-position: 50% 22%; }
.pd--7 img { object-position: 50% 18%; }
.pd--8 img { object-position: 50% 46%; }
@media (min-width: 960px) {
  .pd__cap { left: 14px; right: auto; bottom: 14px; padding: 6px 12px; border-radius: var(--r-pill); background: rgba(255, 250, 248, .9); color: var(--wine-700); font-size: .84rem; -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); box-shadow: var(--sh-1); white-space: nowrap; }
  .pd--4 img { aspect-ratio: 4 / 5; }
}
@media (max-width: 959px) {
  .dump__canvas { max-width: 560px; gap: 12px; }
  .dump .pd { grid-column: auto; grid-row: auto; margin: 0; transform: translate3d(0, calc((var(--p, .5) - .5) * var(--depth, 1) * -34px), 0); }
  .js .dump.is-in .pd { rotate: calc(var(--rot, 0deg) * .35); }
  .dump .pd--5 { grid-column: 1 / -1; order: 1; }
  .dump .pd--5 img { aspect-ratio: 16 / 10; }
  .dump .pd--1 { grid-column: 1 / span 3; order: 2; }
  .dump .pd--1 img { aspect-ratio: 4 / 5; object-position: 38% 50%; }
  .dump .pd--4 { grid-column: 4 / span 3; order: 3; margin-top: 30px; }
  .dump .pd--4 img { aspect-ratio: 4 / 5; }
  .dump .pd--2 { grid-column: 1 / span 4; order: 4; }
  .dump .pd--note { grid-column: 5 / span 2; order: 5; align-self: center; padding: 12px 10px 14px; font-size: .92rem; }
  .dump .pd--tag { grid-column: 1 / -1; order: 6; margin: 14px 0 6px; text-align: center; font-size: clamp(1.4rem, 6.4vw, 1.9rem); color: var(--wine-700); }
  .dump .pd--7 { grid-column: 1 / span 3; order: 7; }
  .dump .pd--7 img { aspect-ratio: 3 / 4; }
  .dump .pd--6 { grid-column: 4 / span 3; order: 8; margin-top: 44px; }
  .dump .pd--6 img { aspect-ratio: 3 / 4; }
  .dump .pd--3 { grid-column: 2 / span 4; order: 9; }
  .dump .pd--8 { grid-column: 1 / -1; order: 10; }
  .dump .pd--8 img { aspect-ratio: 16 / 10; }
  .pd__cap { font-size: clamp(.8rem, 3.4vw, .95rem); }
}

/* ==========================================================================
   32. TICKERS — mais rápidos e em duas linhas no mobile
   ========================================================================== */
.marquee__row--m { display: none; }
@media (max-width: 959px) {
  .motion .ticker__row { animation-duration: calc(var(--dur) * .38); }
  .marquee { padding: 14px 0; }
  .marquee__row { font-size: clamp(2rem, 9.5vw, 2.7rem); }
  .motion .marquee__row { animation-duration: calc(var(--dur) * .3); }
  .marquee__row--m { display: flex; margin-top: 4px; }
  .motion .marquee__row--m { animation-direction: reverse; }
  .marquee--fin .marquee__row { font-size: clamp(1.25rem, 5.6vw, 1.6rem); }
  .motion .marquee--fin .marquee__row { animation-duration: calc(var(--dur) * .36); }
}

/* ==========================================================================
   33. PILARES + STORIES (controles visíveis)
   ========================================================================== */
@media (max-width: 959px) {
  .pillars__row { gap: 12px; scroll-snap-type: x mandatory; -webkit-mask-image: linear-gradient(90deg, #000 86%, transparent); mask-image: linear-gradient(90deg, #000 86%, transparent); }
  .hl { width: 92px; }
  .hl__ring { width: 86px; height: 86px; }
  .hl__emoji { top: 62px; }
  .hl__label { font-size: .8rem; }
}
.sv__pause { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; color: #fff; margin-left: auto; }
.sv__pause + .sv__close { margin-left: 0; }
.sv__pause:hover { background: rgba(255, 255, 255, .12); }
.sv__i-play { display: none; }
.sv.is-paused .sv__i-pause, .sv.is-userpaused .sv__i-pause { display: none; }
.sv.is-paused .sv__i-play, .sv.is-userpaused .sv__i-play { display: block; }
.sv.is-userpaused .sv__bars .now b { animation-play-state: paused; }
.sv__arrow { position: absolute; top: 50%; z-index: 4; width: 46px; height: 46px; margin-top: -23px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .3); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); transition: background-color var(--d-2), transform var(--d-2) var(--ease-out), opacity var(--d-2); }
.sv__arrow:hover { background: rgba(255, 255, 255, .28); }
.sv__arrow:active { transform: scale(.9); }
.sv__arrow--prev { left: 10px; }
.sv__arrow--next { right: 10px; }
.sv__arrow[disabled] { opacity: .25; pointer-events: none; }
.sv__hint { position: absolute; left: 50%; top: 42%; z-index: 5; padding: 10px 18px; border-radius: var(--r-pill); background: rgba(255, 255, 255, .92); color: var(--wine-700); font-size: .86rem; font-weight: 700; white-space: nowrap; pointer-events: none; opacity: 0; transform: translate(-50%, 10px); transition: opacity .4s, transform .5s var(--ease-out); }
.sv.show-hint .sv__hint { opacity: 1; transform: translate(-50%, 0); }
.sv__content .btn--sm { --h: 44px; }

/* ==========================================================================
   34. ARQUÉTIPOS — baralho vivo no mobile (desktop intocado)
   ========================================================================== */
.deck__lead { display: none; }
.tarot__hint { display: none; }
.deck__hint-m { display: none; }
@media (min-width: 960px) {
  .tarot__traits { display: none; }
  .tarot__back span:not(.tarot__num) { font-size: .9rem; line-height: 1.2; }
  .tarot__back small { margin-top: 8px; }
}
@media (max-width: 959px) {
  .deck__hint { display: none; }
  .deck__lead { display: block; margin-top: var(--s-6); text-align: center; font-family: var(--f-serif); font-style: italic; font-size: 1.25rem; color: var(--satin-300); }
  .deck { display: block; position: relative; overflow: visible; width: min(calc(100% - 2 * var(--gutter)), 430px); height: var(--deck-h, 1700px); margin: var(--s-5) auto 0; padding: 0; scroll-snap-type: none; }
  .tarot {
    position: absolute; left: var(--x, 0); top: var(--y, 0); width: var(--cw, 240px); height: calc(var(--cw, 240px) * 1.5); flex: none;
    transform: translate(var(--cx, 0px), var(--cy, 0px)) rotate(var(--sr, 0deg));
    transition: transform .9s var(--ease-out) calc(var(--i) * 70ms), opacity .5s, scale .3s var(--ease-out);
  }
  .deck.is-open .tarot { transform: rotate(var(--r, 0deg)); }
  .deck:not(.is-open) .tarot:nth-child(n+5) { opacity: 0; }
  .motion .deck .tarot { animation: cardLive 5.5s var(--ease-inout) infinite; animation-delay: calc(var(--i) * -.8s); }
  @keyframes cardLive { 0%, 100% { translate: 0 0; rotate: 0deg; } 50% { translate: 3px -4px; rotate: 1.4deg; } }
  .tarot[aria-pressed="true"] { z-index: 20; scale: 1.04; animation: none !important; }
  .tarot:active .tarot__inner { scale: .97; }
  .tarot__inner { transition: transform .8s var(--ease-out), scale .2s var(--ease-out); }
  .tarot__face { padding: 24px 18px 22px; border-radius: 20px; }
  .tarot__front { justify-content: flex-start; gap: 10px; }
  .tarot__glyph { width: 84px; height: 84px; margin: 6px 0 4px; }
  .tarot__name { font-size: 1.75rem; }
  .tarot__kw { margin-top: 2px; }
  .tarot__hint { display: block; position: absolute; left: 50%; bottom: 18px; translate: -50% 0; padding: 7px 13px; border-radius: var(--r-pill); background: rgba(255, 255, 255, .1); border: 1px solid rgba(231, 183, 195, .35); font-size: .68rem; font-weight: 700; letter-spacing: .06em; color: var(--satin-300); white-space: nowrap; transition: opacity .4s; }
  .deck.has-flipped .tarot__hint { opacity: 0; }
  .tarot__back { gap: 2px; padding: 20px 16px; }
  .tarot__back small { margin-top: 8px; font-size: .58rem; }
  .tarot__back span:not(.tarot__num) { font-size: clamp(.86rem, 3.6vw, .98rem); line-height: 1.25; }
}

/* ==========================================================================
   35. AJUSTES DE MOBILE E TABLET
   ========================================================================== */
@media (max-width: 959px) {
  .fin .coin--3 { left: auto; right: 5%; top: 11%; width: 50px; }
  .step__block { padding-right: 40px; }
  .nav .btn--sm { padding: 0 1em; }
}
@media (max-width: 379px) {
  .motion .phone--orbit { --phone-w: min(140px, 21svh); }
  .motion .ocard { width: 80px; margin: -44px 0 0 -40px; padding: 5px 5px 7px; }
  .motion .ocard span { font-size: .64rem; }
  .checkout__inc { grid-template-columns: 1fr !important; }
  .hero__ctas .btn--lg { width: 100%; }
}
@media (min-width: 640px) and (max-width: 959px) {
  .js:not(.pin) .life__right { grid-template-columns: 1fr 1fr; gap: var(--s-6) var(--s-5); }
  .js:not(.pin) .chapter--end { grid-column: 1 / -1; }
  .reel__item { flex-basis: 40vw; }
  .phone--ai { --phone-w: 340px; }
}

/* toque: feedback tátil e micro-tilt na entrada */
@media (hover: none) {
  .post:active, .quest:active, .cslide:active, .rcard:active, .pb:active, .worth__grid li:active { scale: .98; transition: scale .15s var(--ease-out); }
  .hl:active .hl__ring { transform: scale(.94); }
  .hero__stage { --mx: calc(var(--st, 0) * .8); --my: calc(var(--st, 0) * -.4); }
  .phone--ai { --ax: calc(var(--st, 0) * -.5); --ay: calc(var(--st, 0) * .9); }
  .phone--app { transform: rotateY(calc(-10deg + var(--st, 0) * 7deg)) rotateX(calc(4deg + var(--st, 0) * -4deg)); }
  .library__stage { --lx: calc(var(--st, 0) * .8); }
}
@media (max-width: 959px) {
  .motion .post.is-in, .motion .quest.is-in, .motion .cslide.is-in, .motion .rcard.is-in { animation: tiltIn .8s var(--ease-out) backwards; }
  @keyframes tiltIn { from { rotate: -1.8deg; translate: 0 18px; opacity: .3; } to { rotate: 0deg; translate: 0 0; opacity: 1; } }
}

/* ==========================================================================
   36. O PREÇO DE UMA DECISÃO NO IMPULSO
   ========================================================================== */
.impulse { position: relative; overflow: clip; padding: var(--section) 0; color: var(--on-dark); background: radial-gradient(60% 50% at 80% 30%, rgba(183, 53, 89, .22), transparent 70%), linear-gradient(170deg, #180810, var(--wine-950) 40%, #2a0d1b); }
.impulse__grid { display: grid; gap: var(--s-8); align-items: center; }
.impulse__sub { margin: var(--s-5) 0 var(--s-4); font-family: var(--f-serif); font-style: italic; font-size: clamp(1.4rem, 2.4vw, 2rem); color: var(--satin-300); }
.receipt { position: relative; justify-self: center; width: 100%; max-width: 400px; margin-bottom: 56px; padding: 24px 22px 0; border-radius: 6px 6px 0 0; background: #FBF6F2; color: var(--ink); box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .8); font-variant-numeric: tabular-nums; }
.receipt::after { content: ""; position: absolute; left: 0; right: 0; bottom: -11px; height: 12px; background: linear-gradient(135deg, var(--wine-900) 50%, transparent 50%) 0 0 / 16px 12px repeat-x, linear-gradient(225deg, var(--wine-900) 50%, transparent 50%) 0 0 / 16px 12px repeat-x; }
.receipt__head { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 14px; border-bottom: 1px dashed rgba(0, 0, 0, .25); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-mute); }
.receipt__head b { color: var(--ink); letter-spacing: .06em; }
.receipt__items li { display: grid; grid-template-columns: 28px 1fr auto; gap: 10px; align-items: center; padding: 12px 0; border-bottom: 1px dashed rgba(0, 0, 0, .14); font-size: .95rem; }
.receipt__items b { font-weight: 750; }
.receipt__ic { font-size: 1.15rem; }
.js .receipt__items li { opacity: 0; translate: -16px 0; transition: opacity .5s var(--ease-soft), translate .7s var(--ease-out); transition-delay: calc(.25s + var(--i) * .32s); }
.receipt.is-in .receipt__items li { opacity: 1; translate: 0 0; }
.receipt__total { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0 18px; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-mute); }
.receipt__total b { font-family: var(--f-serif); font-size: 1.7rem; font-weight: 450; letter-spacing: 0; text-transform: none; color: var(--wine-700); }
.receipt__last { margin: 0 -22px; padding: 22px 22px 28px; background: linear-gradient(160deg, var(--wine-600), var(--wine-900)); color: var(--on-dark); }
.receipt__last p { font-family: var(--f-serif); font-size: clamp(1.4rem, 4.6vw, 1.7rem); line-height: 1.1; }
.receipt__last em { color: var(--satin-300); }
.receipt__last small { display: block; margin-top: 8px; font-size: .86rem; color: var(--on-dark-soft); }
.js .receipt__last { opacity: 0; translate: 0 14px; transition: opacity .7s var(--ease-soft) 2.2s, translate .9s var(--ease-out) 2.2s; }
.receipt.is-in .receipt__last { opacity: 1; translate: 0 0; }
.receipt__note { position: absolute; left: 0; right: 0; bottom: -46px; text-align: center; font-size: .72rem; color: var(--on-dark-mute); }
.impulse__close { margin-top: calc(var(--section) * .7); text-align: center; font-family: var(--f-serif); font-weight: 340; font-size: clamp(2.6rem, 7vw, 6rem); line-height: .95; letter-spacing: -.03em; }
.impulse__close em { color: var(--satin-300); }
@media (min-width: 960px) {
  .impulse__grid { grid-template-columns: 1fr .9fr; }
  .receipt { rotate: 2deg; }
}

/* ==========================================================================
   37. COMPARAÇÃO DE VALOR
   ========================================================================== */
.worth { padding: var(--section) 0; background: linear-gradient(180deg, var(--ivory-100), var(--nude-200) 55%, var(--ivory-100)); overflow: clip; }
.worth__head { display: grid; justify-items: center; text-align: center; }
.vs { display: grid; gap: var(--s-5); justify-items: center; align-items: center; margin-top: var(--s-7); }
.vs__small { display: grid; gap: 10px; width: 100%; max-width: 360px; }
.vs__small li { display: grid; grid-template-columns: 40px 1fr; column-gap: 12px; align-items: center; padding: 12px 16px; border-radius: 18px; background: rgba(255, 255, 255, .7); border: 1px dashed var(--line-strong); transition: opacity .8s var(--ease-soft), scale .8s var(--ease-out), filter .8s; }
.vs__small span { grid-row: span 2; font-size: 1.5rem; }
.vs__small b { font-size: .95rem; color: var(--ink); }
.vs__small small { font-size: .78rem; color: var(--ink-mute); }
.vs.is-in .vs__small li { opacity: .5; scale: .97; filter: grayscale(.6); }
.vs.is-in .vs__small li:nth-child(1) { transition-delay: .6s; } .vs.is-in .vs__small li:nth-child(2) { transition-delay: .9s; } .vs.is-in .vs__small li:nth-child(3) { transition-delay: 1.2s; }
.vs__mid { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 50%; background: #fff; border: 1px solid rgba(183, 53, 89, .35); box-shadow: var(--sh-1); font-family: var(--f-serif); font-style: italic; font-size: 1.6rem; color: var(--rasp-500); }
.vs__big { position: relative; overflow: hidden; width: 100%; max-width: 400px; padding: 30px 26px; border-radius: 30px; text-align: center; color: var(--on-dark); background: radial-gradient(100% 80% at 30% 0%, var(--wine-600), var(--wine-900)); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), var(--sh-3); }
.vs__logo { width: 62px; height: 58px; margin: 0 auto 8px; color: var(--satin-300); }
.vs__big > small { font-size: var(--t-micro); font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--satin-300); }
.vs__days { margin-top: 10px; font-family: var(--f-serif); font-size: 1.3rem; }
.vs__days b { display: block; font-weight: 300; font-size: clamp(4.5rem, 14vw, 6.5rem); line-height: .9; letter-spacing: -.04em; }
.vs__price { margin: 6px 0 14px; font-family: var(--f-serif); font-size: 2rem; }
.vs__big ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.vs__big li { padding: 6px 12px; border-radius: var(--r-pill); background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18); font-size: .8rem; font-weight: 650; }
@media (min-width: 960px) { .vs { grid-template-columns: 1fr auto 1.1fr; gap: var(--s-6); } .vs__small { justify-self: end; } .vs__big { justify-self: start; } }

.worth__all { margin-top: var(--section); text-align: center; }
.worth__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: var(--s-6); }
.worth__grid li { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 20px 12px; border-radius: 20px; background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-1); font-size: .9rem; font-weight: 650; color: var(--wine-700); }
.worth__grid .ic { width: 28px; height: 28px; color: var(--rasp-500); }
.worth__same { margin-top: 18px; font-family: var(--f-serif); font-style: italic; font-size: 1.4rem; color: var(--rasp-500); }
@media (min-width: 960px) { .worth__grid { grid-template-columns: repeat(4, 1fr); gap: 14px; } }

.worth__money { position: relative; overflow: hidden; display: grid; gap: var(--s-5); align-items: end; margin-top: var(--section); padding: clamp(24px, 4vw, 52px); border-radius: 32px; background: radial-gradient(60% 60% at 90% 10%, rgba(216, 160, 143, .3), transparent 70%), linear-gradient(160deg, #F5F1EE, #E7ECEC); }
.worth__depend { font-family: var(--f-serif); font-weight: 340; font-size: clamp(2.1rem, 4.6vw, 4rem); line-height: 1.02; letter-spacing: -.03em; color: var(--plum-900); }
.worth__depend em { color: var(--rasp-500); }
.worth__money p:not(.label) { color: var(--ink-soft); max-width: 30rem; }
.worth__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 22px; }
.worth__chips li { padding: 8px 14px; border-radius: var(--r-pill); background: #fff; border: 1px solid var(--line); font-size: .82rem; font-weight: 650; color: var(--wine-700); }
@media (min-width: 960px) { .worth__money { grid-template-columns: 1fr 1fr; gap: var(--s-8); } }

.payback { margin-top: var(--section); display: grid; justify-items: center; text-align: center; }
.payback .h2 { max-width: 22ch; }
.payback__cards { display: grid; gap: 14px; width: 100%; margin-top: var(--s-6); }
.pb { display: grid; gap: 8px; justify-items: center; padding: 26px 22px; border-radius: 26px; background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-1); }
.pb small { font-size: var(--t-micro); font-weight: 750; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--rasp-500); }
.pb p { font-family: var(--f-serif); font-size: 1.3rem; color: var(--ink); }
.pb b { color: var(--wine-700); }
.pb__eq { font-family: var(--f-serif); font-size: 2.4rem; line-height: 1; color: var(--wine-700); font-variant-numeric: tabular-nums; }
.pb--hl { background: radial-gradient(100% 80% at 30% 0%, var(--wine-600), var(--wine-900)); border-color: transparent; color: var(--on-dark); box-shadow: var(--sh-3); }
.pb--hl small { color: var(--satin-300); }
.pb--hl p, .pb--hl b, .pb--hl .pb__eq { color: var(--on-dark); }
.pb--hl .pb__txt { font-family: var(--f-sans); font-size: .86rem; line-height: 1.45; color: var(--on-dark-soft); }
.payback__note { margin-top: 18px; font-size: .78rem; color: var(--ink-mute); }
@media (min-width: 960px) { .payback__cards { grid-template-columns: repeat(3, 1fr); } }

/* ==========================================================================
   38. OFERTA — plano trimestral
   ========================================================================== */
.span90 { margin-top: var(--s-6); max-width: 36rem; }
.span90__bar { display: grid; grid-template-columns: 1fr; gap: 6px; }
.span90__seg { display: grid; gap: 2px; padding: 12px 14px; border-left: 3px solid; border-radius: 0 12px 12px 0; }
.span90__seg b { font-family: var(--f-serif); font-weight: 450; font-size: 1.1rem; }
.span90__seg small { font-size: .8rem; color: var(--on-dark-soft); }
.span90__seg--a { border-color: var(--satin-300); background: rgba(231, 183, 195, .14); }
.span90__seg--b { border-color: var(--rasp-400); background: rgba(255, 255, 255, .07); }
.span90__seg--c { border-color: rgba(255, 255, 255, .35); border-left-style: dashed; background: rgba(255, 255, 255, .03); }
.span90__note { margin-top: 14px; font-family: var(--f-serif); font-style: italic; font-size: 1.1rem; color: var(--satin-300); }
@media (min-width: 640px) {
  .span90__bar { grid-template-columns: 1.1fr 3fr 1.1fr; gap: 4px; }
  .span90__seg { border-left: 0; border-top: 3px solid; border-radius: 0; padding: 12px 12px 14px; }
  .span90__seg--a { border-color: var(--satin-300); border-radius: 12px 0 0 12px; }
  .span90__seg--c { border-top-style: dashed; border-radius: 0 12px 12px 0; }
}
.checkout__name { font-size: .78rem; }
.checkout__every { margin-top: 2px; font-size: 1rem; font-weight: 650; color: var(--on-dark); }
.checkout__equiv { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 14px 0 20px; }
.checkout__equiv span { padding: 6px 12px; border-radius: var(--r-pill); background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2); font-size: .8rem; font-weight: 650; }
.checkout__inc { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; margin-bottom: 22px; text-align: left; font-size: .84rem; line-height: 1.3; color: var(--on-dark); }
.checkout__inc li { display: flex; gap: 8px; align-items: flex-start; }
.checkout__inc li:last-child { grid-column: 1 / -1; }
.checkout__inc .ic { flex: none; width: 16px; height: 16px; margin-top: 1px; color: var(--satin-300); }
.checkout__inc use { stroke-width: 2.2; }
.checkout__micro { margin-top: 12px; font-size: .78rem; font-weight: 700; letter-spacing: .05em; color: var(--satin-300); }
.checkout__renew { margin-top: 12px; padding: 10px 12px; border-radius: 12px; background: rgba(0, 0, 0, .2); text-align: left; font-size: .78rem; line-height: 1.45; color: var(--on-dark-soft); }
.checkout .btn--block { white-space: normal; text-align: center; }

/* movimento reduzido para as novas peças */
@media (prefers-reduced-motion: reduce) {
  .js .receipt__items li, .js .receipt__last { opacity: 1 !important; translate: none !important; }
  .deck .tarot { animation: none !important; }
}

/* ajustes finais mobile */
@media (max-width: 959px) {
  .checkout .btn--block { padding: 0 1.1em; font-size: .92rem; }
}

@media (max-width: 959px) {
  .tarot__front .tarot__kw { display: none; }
  .tarot__name { font-size: min(1.75rem, calc(var(--cw, 240px) * .108)); }
  .tarot__glyph { width: calc(var(--cw, 240px) * .34); height: calc(var(--cw, 240px) * .34); }
  .tarot__face { padding: calc(var(--cw, 240px) * .09) calc(var(--cw, 240px) * .07); }
  .tarot__hint { bottom: 14px; font-size: .64rem; padding: 6px 11px; }
}
@media (max-width: 379px) { .dock__more { display: none; } .dock { padding-left: 14px; } }

@media (max-width: 959px) {
  .tarot__front .tarot__num { order: 0; }
  .tarot__front .tarot__hint { position: static; order: 1; translate: none; margin: 0 auto; }
  .tarot__front .tarot__glyph { order: 2; }
  .tarot__front .tarot__name { order: 3; }
}
@media (max-width: 399px) { .tarot__traits { display: none; } }

@media (max-width: 959px) {
  .tarot__front { gap: 8px; }
  .tarot__front .tarot__glyph { width: calc(var(--cw, 240px) * .27); height: calc(var(--cw, 240px) * .27); margin: 4px 0 0; }
}

/* --------------------------------------------------------------------------
   INTEGRAÇÃO MAPA (quiz) → LANDING
   html.from-quiz: cortina de chegada · html.has-map: personalização (santo.js)
   -------------------------------------------------------------------------- */
html.from-quiz body::before {
  content: ""; position: fixed; inset: 0; z-index: 300; pointer-events: none;
  background: var(--ivory-100) url("../brand/lockup.svg") center 46% / 84px auto no-repeat;
  animation: scArrive 1s var(--ease-soft) .35s forwards;
}
@keyframes scArrive { to { opacity: 0; visibility: hidden; } }
.hero__title--map .hero__name { display: inline-block; font-style: italic; font-weight: 300; color: var(--rasp-500); font-size: 1.32em; line-height: .9; letter-spacing: -.045em; padding-right: .04em; }
.hero__title--map .line:first-child { padding-bottom: .06em; }
.eyebrow--map { text-transform: none; letter-spacing: .02em; font-size: .86rem; }
.hero__map {
  display: flex; align-items: center; gap: 14px; max-width: 34rem; margin-top: var(--s-5);
  padding: 14px 16px; border-radius: var(--r-lg);
  background: var(--glass-strong); border: 1px solid var(--glass-line);
  -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); box-shadow: var(--sh-2);
  transition: transform var(--d-2) var(--ease-out), box-shadow var(--d-3) var(--ease-out);
}
.hero__map:hover { transform: translateY(-2px); box-shadow: var(--sh-3); }
.hero__map-ic { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--wine-700); color: var(--ivory-100); }
.hero__map-ic svg { width: 26px; height: 24px; }
.hero__map-body { display: grid; gap: 2px; min-width: 0; }
.hero__map-body small { font-size: var(--t-micro); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--rasp-500); }
.hero__map-body b { font-family: var(--f-serif); font-weight: 400; font-size: 1.05rem; line-height: 1.25; color: var(--wine-700); }
.hero__map-body span { font-size: .8rem; color: var(--ink-soft); }
.hero__map-cup { flex: none; display: grid; justify-items: center; padding: 8px 10px; border-radius: 12px; border: 1.5px dashed var(--satin-300); background: var(--ivory-50); }
.hero__map-cup b { font-size: .82rem; font-weight: 800; letter-spacing: .1em; color: var(--wine-700); }
.hero__map-cup small { font-size: .6rem; color: var(--ink-soft); }
@media (max-width: 479px) { .hero__map-cup { display: none; } }
.offer__map { display: flex; align-items: center; gap: .6em; margin-top: var(--s-4); font-family: var(--f-serif); font-style: italic; font-size: 1.15rem; color: var(--satin-300); }
.checkout__coupon { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .35em; margin: 6px auto 4px; padding: 7px 12px; border-radius: 99px; border: 1px dashed rgba(231, 183, 195, .6); font-size: .8rem; color: var(--on-dark-soft); }
.checkout__coupon b { letter-spacing: .08em; color: var(--ivory-100); }
.checkout__coupon .ic { color: var(--satin-300); }
.checkout__couponnote { font-size: .72rem; text-align: center; color: var(--on-dark-mute); margin-top: 4px; }
/* contador de campanha (só aparece com data real em offer.js) */
.sc-count { display: grid; gap: 6px; width: fit-content; margin-top: var(--s-4); padding: 12px 16px; border-radius: var(--r-lg); background: var(--glass-strong); border: 1px solid var(--glass-line); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); box-shadow: var(--sh-1); }
.sc-count small { font-size: var(--t-micro); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--rasp-500); }
.sc-count__d { display: flex; align-items: flex-start; gap: 6px; }
.sc-count__d span { display: grid; justify-items: center; min-width: 42px; }
.sc-count__d b { font-family: var(--f-serif); font-weight: 300; font-size: 1.7rem; line-height: 1; color: var(--wine-700); font-variant-numeric: tabular-nums; }
.sc-count__d i { font-style: normal; font-size: .56rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-mute); }
.sc-count__d em { font-family: var(--f-serif); font-style: normal; font-size: 1.3rem; color: var(--rasp-500); }
.sc-count--checkout { margin: 10px auto 4px; background: rgba(255, 248, 245, .08); border-color: rgba(255, 255, 255, .18); box-shadow: none; }
.sc-count--checkout small { color: var(--satin-300); }
.sc-count--checkout b { color: var(--ivory-100); }
.sc-count--checkout i { color: var(--on-dark-mute); }
.sc-count--checkout em { color: var(--satin-300); }
.checkout__from { margin-top: 6px; font-size: .95rem; color: var(--on-dark-soft); }
.checkout__from s { color: var(--on-dark-mute); }
@media (prefers-reduced-motion: reduce) { html.from-quiz body::before { display: none; } }

/* Grupo das amigas: título abre a dobra; cena (foto + chat) vem depois */
.bleed--group { padding-top: var(--section); }
.bleed--group .bleed__head { position: relative; z-index: 2; margin-bottom: var(--s-6); }
.bleed--group .bleed__head .h1 { margin: 0; }
.bleed__scene { position: relative; isolation: isolate; width: 100%; align-self: stretch; }
.bleed--group .bleed__media { inset: 0; height: auto; max-height: none; }
.bleed--group .bleed__media::after { background: linear-gradient(180deg, var(--wine-950) 0%, rgba(28,9,17,.25) 18%, rgba(28,9,17,.2) 45%, rgba(28,9,17,.85) 82%, var(--wine-950) 100%); }
@media (min-width: 960px) {
  .bleed--group .bleed__scene { height: 84svh; max-height: 760px; }
  .bleed--group .bleed__head { margin-bottom: var(--s-5); }
}

/* Biblioteca: os dois bônus como livros 3D iguais (mesma linguagem do quiz) */
.library__stage--books { height: auto; display: grid; gap: var(--s-5); justify-items: center; }
.lbooks { position: relative; width: min(100%, 440px); height: 340px; perspective: 1400px; }
.lbook { position: absolute; top: 18px; width: 46%; aspect-ratio: 2 / 3; transform-style: preserve-3d; transition: transform .7s var(--ease-out); }
.lbook--1 { left: 4%; z-index: 2; transform: rotateY(-22deg) rotateZ(-4deg); }
.lbook--2 { right: 4%; top: 0; z-index: 1; transform: rotateY(-22deg) rotateZ(5deg) translateZ(-20px); }
.lbooks:hover .lbook--1 { transform: rotateY(-14deg) rotateZ(-2deg) translateY(-8px); }
.lbooks:hover .lbook--2 { transform: rotateY(-14deg) rotateZ(3deg) translateY(-6px) translateZ(-20px); }
.lbook__cover {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
  padding: 18px 16px 16px 26px; border-radius: 3px 12px 12px 3px; overflow: hidden;
  background: linear-gradient(135deg, var(--wine-600), var(--wine-800) 60%, var(--wine-950)); color: var(--on-dark);
  box-shadow: inset 6px 0 0 rgba(0,0,0,.25), inset 8px 0 0 rgba(255,255,255,.08), 0 30px 50px -20px rgba(44,11,27,.7);
}
.lbook__cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255,255,255,.18), transparent 40%); pointer-events: none; }
.lbook--2 .lbook__cover { background: linear-gradient(135deg, var(--ivory-50), var(--petal-200) 70%, var(--satin-300)); color: var(--wine-700); }
.lbook__mark { width: 30px; height: 28px; opacity: .85; }
.lbook__cover small { font-size: .6rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--rosegold); }
.lbook--2 .lbook__cover small { color: var(--rasp-500); }
.lbook__title { margin-top: auto; font-family: var(--f-serif); font-size: clamp(1.4rem, 3.6vw, 1.85rem); font-weight: 350; line-height: 1; letter-spacing: -.02em; text-transform: uppercase; }
.lbook__title em { font-style: italic; text-transform: none; color: var(--rosegold-2); }
.lbook--2 .lbook__title em { color: var(--rasp-500); }
.lbook__brand { font-size: .52rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; opacity: .7; }
.lbook__spine { position: absolute; left: 0; top: 0; bottom: 0; width: 20px; border-radius: 3px 0 0 3px; background: linear-gradient(90deg, rgba(0,0,0,.35), transparent); pointer-events: none; }
.lbook__pages { position: absolute; top: 4px; bottom: 4px; right: -9px; width: 12px; transform: translateZ(-6px); border-radius: 0 4px 4px 0; background: repeating-linear-gradient(90deg, #fff 0 1px, #EADCD8 1px 2px); }
.lbooks__shadow { position: absolute; left: 10%; right: 10%; bottom: 0; height: 26px; border-radius: 50%; background: radial-gradient(closest-side, rgba(44,11,27,.35), transparent); }
.lbooks__toc { width: min(100%, 440px); padding: 18px 20px; border-radius: var(--r-lg); background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-1); }
.lbooks__toc small { display: block; margin-bottom: 10px; font-size: var(--t-micro); font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--rasp-500); }
.lbooks__toc ol { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 18px; counter-reset: t; }
.lbooks__toc li { counter-increment: t; display: flex; gap: 8px; font-family: var(--f-serif); font-size: .98rem; line-height: 1.25; color: var(--ink); }
.lbooks__toc li::before { content: counter(t, decimal-leading-zero); font-style: italic; font-size: .85rem; color: var(--rasp-500); }
@media (min-width: 960px) {
  .lbooks { height: 400px; }
}
@media (max-width: 380px) {
  .lbooks { height: 290px; }
  .lbooks__toc ol { grid-template-columns: 1fr; }
}

/* Preço por dia em destaque (card de comparação + barra flutuante) */
.vs__plan { margin-top: 10px; font-family: var(--f-serif); font-weight: 350; font-size: clamp(2.2rem, 8vw, 2.9rem); line-height: .98; letter-spacing: -.03em; color: var(--ivory-100); }
.vs__plan em { display: block; font-style: italic; color: var(--satin-300); }
.vs__daily { display: grid; justify-items: center; margin: 18px auto 16px; padding: 14px 18px 16px; width: fit-content; border-radius: 22px; background: rgba(255, 248, 245, .1); border: 1px solid rgba(231, 183, 195, .35); }
.vs__daily span { font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--satin-300); }
.vs__daily b { font-family: var(--f-serif); font-weight: 300; font-size: clamp(3.2rem, 12vw, 4.4rem); line-height: 1; letter-spacing: -.04em; color: #fff; }
.dock__txt { display: grid; line-height: 1.15; }
.dock__txt small { font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--rasp-500); }
.dock__txt b { font-family: var(--f-serif); font-weight: 400; font-size: 1.25rem; color: var(--wine-700); }
.dock__more { font-size: .68rem; color: var(--ink-soft); }

/* Novo salário: notificações de Pix + conta simples */
.payback--pix { display: grid; gap: var(--s-6); justify-items: stretch; text-align: left; }
.pix__copy .h2 { max-width: 14ch; }
.pix__copy .lead { margin-top: var(--s-4); }
.pix__deal { display: flex; align-items: center; gap: 14px; margin-top: var(--s-5); }
.pix__deal > span { display: grid; padding: 14px 18px; border-radius: 20px; line-height: 1; }
.pix__deal small { font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.pix__deal b { font-family: var(--f-serif); font-weight: 350; font-size: 2.3rem; margin-top: 6px; }
.pix__one { background: #E9F7F1; color: #1C7A55; box-shadow: inset 0 0 0 1px rgba(28,122,85,.18); }
.pix__plan { background: #fff; color: var(--wine-700); box-shadow: inset 0 0 0 1px var(--line); }
.pix__plan small { color: var(--ink-soft); }
.pix__gt { font-family: var(--f-serif); font-size: 2.4rem; color: var(--rasp-500); }
.pix__deal-txt { margin-top: 10px; font-family: var(--f-serif); font-style: italic; font-size: 1.2rem; color: var(--wine-700); }
.pix__phone { justify-self: center; width: min(100%, 330px); padding: 10px; border-radius: 42px; background: linear-gradient(145deg, var(--wine-600), var(--wine-900)); box-shadow: var(--sh-3); }
.pix__screen { min-height: 440px; padding: 28px 12px 18px; border-radius: 34px; background: radial-gradient(120% 70% at 50% 0%, #5a2a3f, #1c0911 75%); color: #fff; text-align: center; }
.pix__time { font-family: var(--f-serif); font-weight: 250; font-size: 4rem; line-height: 1; letter-spacing: -.04em; }
.pix__date { margin-top: 4px; font-size: .8rem; opacity: .75; }
.pix__stack { display: grid; gap: 8px; margin-top: 26px; text-align: left; }
.pix__stack li { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 18px; background: rgba(255,255,255,.14); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.pix__stack li div { flex: 1; display: grid; }
.pix__stack b { font-size: .86rem; }
.pix__stack small { font-size: .74rem; opacity: .85; }
.pix__stack i { align-self: flex-start; font-style: normal; font-size: .64rem; opacity: .6; }
.pix__app { flex: none; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; font-size: .66rem; font-weight: 800; color: #fff; }
.pix__app--pix { background: #32BCAD; }
.pix__app--sale { background: var(--rasp-500); font-size: .9rem; }
html.motion .pix__phone.is-in .pix__stack li { animation: pixIn .6s var(--ease-out) backwards; animation-delay: calc(.5s + var(--i) * .45s); }
@keyframes pixIn { from { opacity: 0; transform: translateY(-14px) scale(.96); } }
.pix__close { font-family: var(--f-serif); font-weight: 350; font-size: clamp(1.8rem, 5vw, 3rem); line-height: 1.08; letter-spacing: -.02em; color: var(--wine-700); text-align: center; }
.pix__close em { color: var(--rasp-500); }
.payback--pix .payback__note { text-align: center; margin-top: 0; }
@media (min-width: 960px) {
  .payback--pix { grid-template-columns: 1fr 360px; column-gap: var(--s-9); align-items: center; }
  .pix__close, .payback--pix .payback__note { grid-column: 1 / -1; }
}
@media (max-width: 379px) { .pix__deal b { font-size: 1.9rem; } .pix__deal > span { padding: 12px 14px; } }

/* Oferta: preço colado ao título "pague 7 dias de desafio e receba 90" */
.offer__deal { display: inline-block; margin: var(--s-4) 0 var(--s-2); padding: 10px 16px; border-radius: var(--r-md); background: rgba(255, 248, 245, .1); border: 1px solid rgba(231, 183, 195, .35); font-size: 1rem; line-height: 1.45; color: var(--on-dark); }
.offer__deal b { color: var(--satin-300); font-weight: 700; }

/* Checkout: valor por dia em destaque, preço trimestral logo depois */
.checkout__inc { margin-top: 18px; }
.checkout__daily { display: grid; justify-items: center; margin: 22px 0 6px; padding: 18px 14px 16px; border-radius: 24px; background: rgba(255, 248, 245, .1); border: 1px solid rgba(231, 183, 195, .4); line-height: 1; }
.checkout__daily small { font-size: .74rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--satin-300); }
.checkout__daily b { margin-top: 8px; font-family: var(--f-serif); font-weight: 300; font-size: clamp(2.5rem, 10vw, 3.4rem); letter-spacing: -.035em; color: #fff; }
.checkout__daily span { margin-top: 6px; font-family: var(--f-serif); font-style: italic; font-size: 1.5rem; color: var(--satin-300); }
.checkout .checkout__price { margin: 14px 0 2px; }
.checkout .checkout__price strong { font-size: clamp(2.6rem, 9vw, 3.2rem); }
.checkout__every b { color: var(--ivory-100); }

/* Post com foto + balão de pensamento */
.post__poster--photo { background: var(--wine-900); }
.post__poster--photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 40%; }
.post__poster--photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 38%, rgba(28, 9, 17, .55) 62%, rgba(28, 9, 17, .92) 100%); }
.post__poster--photo p { z-index: 2; }
.pthought { position: absolute; z-index: 2; left: 6%; top: 7%; padding: 16px 22px; border-radius: 999px; background: #fff; box-shadow: 0 12px 26px -12px rgba(0, 0, 0, .55); font-family: var(--f-serif); font-size: clamp(1.05rem, 2.2vw, 1.3rem); line-height: 1.1; color: var(--ink); white-space: nowrap; rotate: -4deg; }
.pthought em { color: var(--rasp-500); font-weight: 500; }
.pthought i { position: absolute; border-radius: 50%; background: #fff; box-shadow: 0 6px 12px -6px rgba(0, 0, 0, .5); }
.pthought i:nth-of-type(1) { right: 6%; bottom: -14px; width: 16px; height: 16px; }
.pthought i:nth-of-type(2) { right: -8%; bottom: -30px; width: 9px; height: 9px; }
html.motion .post.is-in .pthought { animation: pthoughtPop .7s var(--ease-pop) .5s backwards; }
@keyframes pthoughtPop { from { opacity: 0; transform: scale(.6) translateY(10px); } }

/* IA (mobile): os 10 cartões numa grade contínua de 2 colunas abaixo do app */
@media (max-width: 959px) {
  .ai__stage { grid-template-columns: 1fr 1fr; gap: 10px; }
  .ai__device { grid-column: 1 / -1; margin-bottom: var(--s-5); }
  .ai__caps { display: contents; }
  .cap { min-height: 112px; justify-content: space-between; }
  .ai__caps--r .cap:last-child { grid-column: 1 / -1; min-height: 0; flex-direction: row; align-items: center; justify-content: flex-start; }
}

/* Recompensas: título elegante antes da vitrine */
.rewards__club { grid-column: 1 / -1; display: grid; justify-items: center; text-align: center; margin: var(--s-7) auto var(--s-4); max-width: 34rem; }
.rewards__club .label { margin-bottom: var(--s-3); }
.rewards__club-title { font-family: var(--f-serif); font-weight: 340; font-size: clamp(2.3rem, 6vw, 3.8rem); line-height: 1; letter-spacing: -.03em; color: var(--wine-700); }
.rewards__club-title em { display: block; font-style: italic; color: var(--rasp-500); }
.rewards__club-sub { margin-top: var(--s-4); font-family: var(--f-serif); font-style: italic; font-size: clamp(1.15rem, 2.4vw, 1.4rem); line-height: 1.35; color: var(--ink-soft); }
@media (min-width: 960px) {
  .rewards__club { grid-column: 1; justify-items: start; text-align: left; margin: 0; }
  .rewards__club-title { font-size: clamp(2.2rem, 3.2vw, 3rem); }
  .rewards__grid > .vitrine { grid-column: 2; grid-row: 1 / span 2; }
}

/* Topo: "Leia com atenção" + progresso de leitura (no lugar do botão) */
.nav__read { position: relative; display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px 10px; border-radius: var(--r-pill); font-size: .78rem; font-weight: 650; letter-spacing: .02em; color: var(--wine-700); white-space: nowrap; }
.nav__read .ic { width: 15px; height: 15px; color: var(--rasp-500); }
.nav__read i { position: absolute; left: 12px; right: 12px; bottom: 4px; height: 2px; border-radius: 2px; background: rgba(94, 26, 53, .12); overflow: hidden; }
.nav__read b { display: block; height: 100%; background: linear-gradient(90deg, var(--satin-300), var(--rasp-500)); transform-origin: left; transform: scaleX(0); }
.nav.is-dark .nav__read { color: var(--ivory-100); }
.nav.is-dark .nav__read .ic { color: var(--satin-300); }
.nav.is-dark .nav__read i { background: rgba(255, 255, 255, .18); }

/* Barra inferior: mais discreta e contextual */
.dock { left: 50%; right: auto; width: min(calc(100% - 24px), 420px); translate: -50% 0; padding: 6px 6px 6px 16px; border-radius: 20px; gap: 10px; opacity: 0; transition: transform .5s var(--ease-out), opacity .4s var(--ease-soft); }
.dock.is-on { opacity: 1; }
.dock .btn { --h: 40px; font-size: .82rem; padding: 0 1em; }
.dock__txt small { font-size: .58rem; letter-spacing: .12em; color: var(--rasp-500); }
.dock__txt b { font-family: var(--f-sans); font-weight: 650; font-size: .86rem; color: var(--ink); line-height: 1.2; }
.dock--price .dock__txt b { font-family: var(--f-serif); font-weight: 400; font-size: 1.3rem; color: var(--wine-700); }

/* Jornada 01–07 (mobile): swipe nativo fluido, sem desfoque ao vivo durante o arraste */
html:not(.pin) .days__viewport { -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); overscroll-behavior-x: contain; overscroll-behavior-y: auto; }
html:not(.pin) .day { -webkit-backdrop-filter: none; backdrop-filter: none; background: linear-gradient(160deg, rgba(255,248,245,.12), rgba(255,248,245,.04)); scroll-snap-align: center; scroll-snap-stop: normal; transition: border-color var(--d-3); }
html:not(.pin) .day--final { background: var(--ivory-100); }
html:not(.pin) .days__bar i { transition: transform .12s linear; }

/* ============================================================
   STORIES — intro + círculos maiores + convite ao toque
   ============================================================ */
.pillars__head { max-width: 36rem; margin-bottom: var(--s-6); }
.pillars__k { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: var(--t-micro); font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--rasp-500); }
.pillars__live { width: 8px; height: 8px; border-radius: 50%; background: var(--rasp-500); box-shadow: 0 0 0 4px rgba(183, 53, 89, .15); }
html.motion .pillars__live { animation: scLive 1.8s var(--ease-inout) infinite; }
@keyframes scLive { 50% { box-shadow: 0 0 0 8px rgba(183, 53, 89, 0); } }
.pillars__title { font-family: var(--f-serif); font-weight: 350; font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1; letter-spacing: -.03em; color: var(--wine-700); }
.pillars__title em { font-style: italic; color: var(--rasp-500); }
.pillars__sub { margin-top: 12px; font-family: var(--f-serif); font-style: italic; font-size: clamp(1.1rem, 2.2vw, 1.3rem); line-height: 1.35; color: var(--ink-soft); }
.pillars__cta { margin-top: 14px; font-size: .95rem; line-height: 1.55; color: var(--ink-soft); }
.pillars__cta b { color: var(--wine-700); }
.pillars__row { gap: 18px; padding-top: 34px; }
.hl { width: 112px; gap: 10px; }
.hl__ring { position: relative; width: 106px; height: 106px; padding: 3.5px; }
.hl__ring::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(208, 74, 112, .55); opacity: 0; pointer-events: none; }
html.motion .pillars:not(.is-opened) .hl:not(.is-seen) .hl__ring::after { animation: scRingPulse 2.4s var(--ease-out) infinite; }
html.motion .pillars:not(.is-opened) li:nth-child(2) .hl__ring::after { animation-delay: .3s; }
html.motion .pillars:not(.is-opened) li:nth-child(3) .hl__ring::after { animation-delay: .6s; }
html.motion .pillars:not(.is-opened) li:nth-child(4) .hl__ring::after { animation-delay: .9s; }
@keyframes scRingPulse { 0% { opacity: .9; transform: scale(.94); } 70%, 100% { opacity: 0; transform: scale(1.14); } }
.hl__emoji { top: 76px; right: 2px; width: 32px; height: 32px; font-size: .95rem; }
.hl__label { font-size: .9rem; font-weight: 700; }
.hl-first { position: relative; }
.hl__tap { position: absolute; left: 50%; top: -30px; z-index: 2; translate: -50% 0; display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px 5px 7px; border-radius: 99px; background: var(--wine-700); color: var(--ivory-100); font-size: .62rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; box-shadow: var(--sh-2); pointer-events: none; transition: opacity .4s, translate .4s var(--ease-out); }
.hl__tap::after { content: ""; position: absolute; left: 50%; bottom: -4px; width: 8px; height: 8px; margin-left: -4px; background: inherit; rotate: 45deg; }
.hl__tap svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
html.motion .pillars:not(.is-opened) .hl__tap svg { animation: scTap 1.6s var(--ease-inout) infinite; }
@keyframes scTap { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(2px) scale(.9); } }
.pillars.is-opened .hl__tap { opacity: 0; translate: -50% 6px; }
@media (min-width: 960px) {
  .pillars__head { margin-inline: auto; text-align: center; max-width: 44rem; }
  .pillars__k { justify-content: center; }
  .hl { width: 140px; }
  .hl__ring { width: 132px; height: 132px; }
  .hl__emoji { top: 96px; width: 36px; height: 36px; font-size: 1.05rem; }
  .hl__label { font-size: 1rem; }
}
@media (max-width: 959px) { .hl { width: 106px; } .hl__ring { width: 100px; height: 100px; } .hl__emoji { top: 70px; } }

/* ============================================================
   ARQUÉTIPOS — nova introdução + homens diferentes
   ============================================================ */
.arch__q { margin-top: var(--s-5); max-width: 30rem; font-family: var(--f-serif); font-size: clamp(1.35rem, 3vw, 1.8rem); line-height: 1.2; color: var(--on-dark); }
.arch__lead { max-width: 36rem; }
.men__wrap { width: min(100%, 860px); margin: var(--s-7) auto var(--s-5); }
.men { width: 100%; height: auto; overflow: visible; }
.men .mf__s1 { stop-color: var(--wine-600); } .men .mf__s2 { stop-color: var(--wine-950); }
.men__floor { fill: rgba(183, 53, 89, .18); }
.mf__head, .mf__body { fill: url(#mfG); stroke: rgba(231, 183, 195, .65); stroke-width: 1.2; }
.mf__legs { fill: none; stroke: rgba(231, 183, 195, .55); stroke-width: 1.2; stroke-linecap: round; }
.mf__d { fill: none; stroke: rgba(240, 201, 188, .8); stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }
.mf__glyph { color: var(--rosegold-2); stroke: currentColor; stroke-width: 1.3; fill: none; }
.mf { transform-box: fill-box; transform-origin: 50% 100%; }
html.motion .men__wrap.is-in .mf { animation: mfIn .9s var(--ease-out) backwards; animation-delay: calc(var(--k) * 110ms + .2s); }
html.motion .men__wrap.is-in .mf__glyph { animation: mfGlow 3.6s var(--ease-inout) infinite; animation-delay: calc(var(--k) * .45s); }
@keyframes mfIn { from { opacity: 0; transform: translateY(16px); } }
@keyframes mfGlow { 50% { color: #fff; filter: drop-shadow(0 0 6px rgba(240, 201, 188, .8)); } }
.men__names { display: grid; grid-template-columns: repeat(8, 1fr); margin-top: 8px; font-family: var(--f-serif); font-style: italic; font-size: .82rem; color: var(--satin-300); text-align: center; }
@media (max-width: 639px) { .men__names { display: none; } }
.arch__learn { margin-top: var(--s-4); max-width: 34rem; font-size: 1rem; line-height: 1.55; color: var(--on-dark-soft); }
.arch__learn em { font-family: var(--f-serif); font-size: 1.1em; color: var(--satin-300); }
.arch__bridge { margin-top: var(--s-7); max-width: 34rem; font-family: var(--f-serif); font-size: clamp(1.5rem, 3.4vw, 2.2rem); line-height: 1.15; letter-spacing: -.015em; color: var(--on-dark); }
.arch__bridge em { color: var(--satin-300); }
.deck__lead em { color: var(--satin-300); }

/* homens diferentes: ilustração editorial + glifos dos arquétipos */
.men__img { display: block; width: 100%; height: auto; mix-blend-mode: lighten; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent), linear-gradient(transparent, #000 10%, #000 86%, transparent); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent), linear-gradient(transparent, #000 10%, #000 86%, transparent); mask-composite: intersect; }
html.motion .men__wrap .men__img { opacity: 0; transform: translateY(14px) scale(.98); transition: opacity 1.4s var(--ease-soft), transform 1.6s var(--ease-out); }
html.motion .men__wrap.is-in .men__img { opacity: 1; transform: none; }
.men__names { display: grid !important; grid-template-columns: repeat(8, 1fr); gap: 2px; margin-top: 4px; }
.men__names li { display: grid; justify-items: center; gap: 4px; font-family: var(--f-serif); font-style: italic; font-size: .82rem; color: var(--satin-300); }
.men__names .ic { width: 20px; height: 20px; color: var(--rosegold-2); stroke-width: 1.2; }
html.motion .men__wrap.is-in .men__names .ic { animation: mfGlow 3.6s var(--ease-inout) infinite; animation-delay: calc(var(--k) * .45s); }
@media (max-width: 639px) { .men__names span { display: none; } .men__names .ic { width: 16px; height: 16px; } .men__wrap { margin-inline: calc(var(--gutter) * -1); width: calc(100% + 2 * var(--gutter)); } }

/* ============================================================
   APP — convite "Quer ver como é por dentro?" (preview do produto)
   ============================================================ */
.appintro { position: relative; overflow: hidden; isolation: isolate; display: grid; margin-bottom: var(--s-8); border-radius: 34px; color: var(--on-dark); background: radial-gradient(90% 80% at 20% 0%, var(--wine-600), var(--wine-900) 55%, var(--plum-900)); box-shadow: var(--sh-3); }
.appintro__glow { position: absolute; inset: 0; z-index: -1; background: radial-gradient(45% 55% at 50% 100%, rgba(208, 74, 112, .5), transparent 70%); }
html.motion .appintro__glow { animation: qDemoGlow 5s var(--ease-inout) infinite alternate; }
@keyframes qDemoGlow { to { opacity: .55; transform: scale(1.08); } }
.appintro__copy { display: grid; justify-items: center; gap: 12px; padding: clamp(34px, 7vw, 64px) clamp(20px, 5vw, 56px) 8px; text-align: center; }
.appintro__live { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 99px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18); font-size: .66rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--satin-300); }
.appintro__live span { width: 7px; height: 7px; border-radius: 50%; background: #5fd39b; box-shadow: 0 0 0 3px rgba(95, 211, 155, .2); }
html.motion .appintro__live span { animation: scLive 1.8s var(--ease-inout) infinite; }
.appintro__t { font-family: var(--f-serif); font-weight: 350; font-size: clamp(2.3rem, 7vw, 3.8rem); line-height: 1; letter-spacing: -.035em; }
.appintro__t em { font-style: italic; color: var(--satin-300); }
.appintro__s { max-width: 26rem; font-size: 1rem; line-height: 1.55; color: var(--on-dark-soft); }
.appintro__btn { margin-top: 6px; }
html.motion .appintro__btn { animation: qDemoBtn 2.6s var(--ease-inout) infinite; }
@keyframes qDemoBtn { 50% { box-shadow: 0 0 0 10px rgba(255, 248, 245, .1), 0 18px 40px -18px rgba(0,0,0,.55); } }
.appintro__peek { position: relative; display: grid; justify-items: center; height: 300px; margin-top: 18px; overflow: hidden; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.phone--peek { --phone-w: 236px; transform: rotateX(8deg); transform-origin: 50% 0; }
html.motion .phone--peek { animation: peekFloat 5s var(--ease-inout) infinite alternate; }
@keyframes peekFloat { from { translate: 0 6px; } to { translate: 0 -6px; } }
.appintro__peek:hover .phone--peek { translate: 0 -10px; }
.dxp { gap: .7em; }
.dxp__msg { display: flex; gap: .6em; align-items: flex-start; padding: .7em .8em; border-radius: 1em; background: #fff; box-shadow: var(--sh-1); font-size: .85em; line-height: 1.3; color: var(--ink); }
.dxp__msg .ic { flex: none; width: 1.9em; height: 1.9em; padding: .4em; border-radius: 50%; background: var(--wine-700); color: var(--satin-300); }
.dxp__msg b { display: block; font-size: .85em; color: var(--rasp-500); }
html.motion .dxp__msg { animation: peekMsg 4.5s var(--ease-out) infinite; }
@keyframes peekMsg { 0%, 15% { opacity: 0; transform: translateY(10px) scale(.96); } 25%, 85% { opacity: 1; transform: none; } 100% { opacity: 0; } }
.dxp__tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5em; }
.dxp__tiles span { display: grid; justify-items: center; gap: .3em; padding: .7em .2em; border-radius: .9em; background: #fff; font-size: .72em; font-weight: 700; color: var(--wine-700); }
.dxp__tiles .ic { width: 1.6em; height: 1.6em; color: var(--rasp-500); }
.dxp .dx-card i em { animation: peekBar 4.5s linear infinite; }
@keyframes peekBar { from { width: 10%; } to { width: 72%; } }
@media (min-width: 960px) {
  .appintro { grid-template-columns: 1.1fr .9fr; align-items: center; }
  .appintro__copy { justify-items: start; text-align: left; padding: 64px 0 64px 64px; }
  .appintro__peek { height: 420px; margin: 0; align-self: end; }
  .phone--peek { --phone-w: 290px; margin-top: 50px; }
}

/* ============================================================
   DEMONSTRAÇÃO IMERSIVA
   ============================================================ */
html.demo-on, html.demo-on body { overflow: hidden; overscroll-behavior: none; }
html.demo-on { scroll-behavior: auto; }
.demo { position: fixed; inset: 0; z-index: 150; display: grid; grid-template-rows: auto 1fr auto auto; justify-items: center; height: 100vh; height: 100dvh; padding: calc(env(safe-area-inset-top) + 12px) 16px calc(env(safe-area-inset-bottom) + 12px); color: var(--on-dark); touch-action: none; }
.demo__bg { position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .7s var(--ease-soft); background: radial-gradient(70% 45% at 50% 38%, rgba(208, 74, 112, .4), transparent 70%), radial-gradient(120% 90% at 50% 0%, var(--wine-700), var(--wine-950) 60%, #12060b); }
.demo__bg::after { content: ""; position: absolute; inset: 0; background-image: var(--grain); opacity: .14; mix-blend-mode: screen; }
.demo.is-open .demo__bg { opacity: 1; }
.demo__top, .demo__cap, .demo__ctrl { opacity: 0; transition: opacity .5s var(--ease-soft) .5s; }
.demo.is-open .demo__top, .demo.is-open .demo__cap, .demo.is-open .demo__ctrl { opacity: 1; }
.demo.is-closing .demo__top, .demo.is-closing .demo__cap, .demo.is-closing .demo__ctrl { transition-delay: 0s; opacity: 0; }
.demo__top { width: min(100%, 520px); }
.demo__bars { display: flex; gap: 3px; }
.demo__bars span { flex: 1; height: 2.5px; border-radius: 3px; background: rgba(255, 255, 255, .22); overflow: hidden; }
.demo__bars i { display: block; height: 100%; background: var(--ivory-100); transform-origin: left; transform: scaleX(0); }
.demo__stage { display: grid; place-items: center; width: 100%; min-height: 0; padding-top: 10px; }
.phone--demo { --phone-w: min(80vw, calc((100dvh - 190px) / 2.14), 400px); transition: transform .95s var(--ease-out); }
.phone--demo .phone__body { box-shadow: inset 0 0 0 1.5px rgba(255, 220, 230, .25), inset 0 0 0 4px #0d070a, 0 60px 120px -30px rgba(208, 74, 112, .55), 0 40px 80px -30px rgba(0, 0, 0, .85); }
html.motion .demo.is-open .phone--demo .phone__screen { animation: qDemoPulse .9s var(--ease-inout) 1s; }
@keyframes qDemoPulse { 50% { box-shadow: 0 0 40px rgba(231, 183, 195, .55); } }
.demo__cap { display: grid; gap: 1px; justify-items: center; width: min(100%, 440px); min-height: 60px; margin-top: 10px; text-align: center; }
.demo__cap small { font-size: .6rem; font-weight: 800; letter-spacing: .2em; color: var(--satin-300); }
.demo__cap b { font-family: var(--f-serif); font-weight: 400; font-size: 1.15rem; line-height: 1.15; }
.demo__cap span { font-size: .8rem; line-height: 1.4; color: var(--on-dark-soft); }
html.motion .demo.is-swap .demo__cap > * { animation: qIn .45s var(--ease-out) backwards; }
.demo__ctrl { display: flex; align-items: center; gap: 12px; margin-top: 8px; }
.demo__btn { position: relative; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2); color: var(--on-dark); }
.demo__btn::before { content: ""; position: absolute; inset: -4px; }
.demo__btn--main { width: 46px; height: 46px; background: var(--ivory-100); color: var(--wine-700); }
.demo__btn .ic { width: 15px; height: 15px; }
.demo__end { position: absolute; inset: 0; z-index: 3; display: grid; place-content: center; justify-items: center; gap: 14px; padding: 24px; text-align: center; background: radial-gradient(80% 60% at 50% 40%, rgba(112, 36, 63, .94), rgba(18, 6, 11, .98)); opacity: 0; pointer-events: none; transition: opacity .6s var(--ease-soft); }
.demo.is-end .demo__end { opacity: 1; pointer-events: auto; }
.demo__mark { width: 46px; height: 42px; color: var(--satin-300); }
.demo__end h3 { max-width: 13em; font-family: var(--f-serif); font-weight: 350; font-size: clamp(2rem, 7vw, 3rem); line-height: 1.04; letter-spacing: -.03em; }
.demo__end h3 em { font-style: italic; color: var(--satin-300); }
.demo__end p { max-width: 24rem; font-size: 1rem; color: var(--on-dark-soft); margin-bottom: 8px; }
.demo__again { min-height: 40px; font-size: .82rem; color: var(--on-dark-mute); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 960px) { .phone--demo { --phone-w: min(calc((100dvh - 170px) / 2.14), 400px); } }

/* ---------- dentro do celular ---------- */
.dx { gap: .6em; }
.dx__scenes { position: relative; flex: 1; min-height: 0; }
.dx-s { position: absolute; inset: 0; display: flex; flex-direction: column; gap: .75em; opacity: 0; visibility: hidden; transform: translateX(8%); transition: opacity .45s var(--ease-soft), transform .55s var(--ease-out), visibility 0s .45s; overflow: hidden; }
.dx-s.is-on { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.dx__nav { display: flex; justify-content: space-around; padding: .6em 0 .2em; border-top: 1px solid var(--line); }
.dx__nav .ic { width: 1.45em; height: 1.45em; color: var(--ink-mute); }
.dx__nav .ic:first-child { color: var(--wine-700); }
.dx-k { font-size: .72em; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--rasp-500); }
.dx-t { margin-top: -.3em; font-family: var(--f-serif); font-size: 1.55em; line-height: 1.05; color: var(--wine-700); }
.dx-t em { font-style: italic; color: var(--rasp-500); }
.dx-card { display: grid; gap: .25em; padding: .9em 1em; border-radius: 1em; }
.dx-card--wine { background: linear-gradient(135deg, var(--wine-700), var(--rasp-500)); color: var(--ivory-100); }
.dx-card span { font-size: .7em; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.dx-card b { font-family: var(--f-serif); font-weight: 400; font-size: 1.15em; line-height: 1.15; }
.dx-card i { height: .25em; border-radius: 1em; background: rgba(255, 255, 255, .25); overflow: hidden; margin-top: .3em; }
.dx-card i em { display: block; height: 100%; width: 42%; background: #fff; }
.dx-check { display: grid; gap: .45em; }
.dx-check li { display: flex; align-items: center; gap: .6em; padding: .6em .75em; border-radius: .8em; background: #fff; box-shadow: var(--sh-1); font-size: .88em; color: var(--ink); }
.dx-check li::before { content: ""; flex: none; width: 1.15em; height: 1.15em; border-radius: 50%; border: 1.5px solid var(--petal-300); transition: background-color .3s, border-color .3s; }
.dx-check li.on::before { background: var(--rasp-500) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 70% no-repeat; border-color: var(--rasp-500); }
.dx-check li.on { color: var(--ink-mute); text-decoration: line-through; text-decoration-color: var(--petal-300); }
.dx-audio { display: flex; align-items: center; gap: .6em; margin-top: auto; padding: .65em .8em; border-radius: 1em; background: var(--wine-900); color: var(--ivory-100); font-size: .8em; font-weight: 700; }
.dx-audio .ic { width: 1.9em; height: 1.9em; padding: .5em; border-radius: 50%; background: var(--ivory-100); color: var(--wine-700); }
.dx-audio i { flex: 1; height: .9em; background: repeating-linear-gradient(90deg, var(--satin-300) 0 .2em, transparent .2em .45em); opacity: .7; }
.dx-audio small { opacity: .7; }
.dx-lim { padding: .9em 1em; border-radius: 1em; background: #fff; box-shadow: var(--sh-1); }
.dx-lim--no { background: linear-gradient(135deg, var(--wine-700), var(--wine-600)); color: var(--ivory-100); }
.dx-lim small { font-size: .7em; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--rasp-500); }
.dx-lim--no small { color: var(--satin-300); }
.dx-lim ul { display: grid; gap: .35em; margin-top: .5em; }
.dx-lim li { display: flex; align-items: center; gap: .55em; font-size: .95em; }
.dx-lim li::before { content: ""; width: .45em; height: .45em; border-radius: 50%; background: var(--petal-300); }
.dx-lim--no li::before { background: var(--rasp-400); }
html.motion .dx-s.is-on .dx-lim { animation: qIn .6s var(--ease-out) backwards; }
html.motion .dx-s.is-on .dx-lim--no { animation-delay: .35s; }
/* IA */
.dx-chathead { display: flex; align-items: center; gap: .6em; padding-bottom: .6em; border-bottom: 1px solid var(--line); }
.dx-ava { width: 2.3em; height: 2.3em; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, var(--rasp-500), var(--wine-700)); color: var(--ivory-100); flex: none; }
.dx-ava svg { width: 1.4em; height: 1.3em; }
.dx-ava--sm { width: 1.8em; height: 1.8em; }
.dx-chathead b { display: block; font-size: .9em; }
.dx-chathead small { font-size: .72em; color: #2f9e6c; }
.dx-thread { display: flex; flex-direction: column; gap: .5em; }
.dx-m { max-width: 86%; padding: .6em .8em; border-radius: 1.1em; font-size: .86em; line-height: 1.35; opacity: 0; transform: translateY(.6em) scale(.96); transition: opacity .35s, transform .45s var(--ease-out); }
.dx-m.on { opacity: 1; transform: none; }
.dx-m.gone { display: none; }
.dx-m--me { align-self: flex-end; background: var(--wine-700); color: var(--ivory-100); border-bottom-right-radius: .3em; }
.dx-m--ai { align-self: flex-start; background: #fff; color: var(--ink); box-shadow: var(--sh-1); border-bottom-left-radius: .3em; }
.dx-typing { align-self: flex-start; display: inline-flex; gap: .25em; background: #fff; }
.dx-typing i { width: .4em; height: .4em; border-radius: 50%; background: var(--rose-400); animation: qDot 1.1s infinite; }
.dx-typing i:nth-child(2) { animation-delay: .15s; } .dx-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes qDot { 0%, 70%, 100% { transform: none; opacity: .5; } 35% { transform: translateY(-.25em); opacity: 1; } }
.dx-pausebtn { align-self: stretch; display: inline-flex; align-items: center; justify-content: center; gap: .5em; margin-top: .3em; padding: .8em; border-radius: 99px; background: var(--wine-900); color: var(--ivory-100); font-size: .8em; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; opacity: 0; transform: translateY(.6em); transition: opacity .35s, transform .45s var(--ease-out); }
.dx-pausebtn.on { opacity: 1; transform: none; }
html.motion .dx-pausebtn.on { animation: dxPing 1.4s var(--ease-out) .3s 2; }
@keyframes dxPing { 0% { box-shadow: 0 0 0 0 rgba(183, 53, 89, .55); } 100% { box-shadow: 0 0 0 1em rgba(183, 53, 89, 0); } }
.dx-pausebtn .ic { width: 1.2em; height: 1.2em; }
.dx-pause { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: .5em; padding: 1.5em; text-align: center; border-radius: 1em; background: radial-gradient(80% 60% at 50% 35%, var(--wine-600), var(--wine-950)); color: var(--ivory-100); opacity: 0; pointer-events: none; transition: opacity .6s var(--ease-soft); }
.dx-s.is-paused .dx-pause { opacity: 1; }
.dx-pause__ring { width: 6.5em; height: 6.5em; display: grid; place-items: center; margin-bottom: .6em; border-radius: 50%; border: .25em solid rgba(255, 255, 255, .12); border-top-color: var(--satin-300); }
html.motion .dx-s.is-paused .dx-pause__ring { animation: qSpin 6s linear infinite; }
.dx-pause__ring b { font-family: var(--f-serif); font-weight: 300; font-size: 1.6em; }
.dx-pause > b { font-family: var(--f-serif); font-style: italic; font-weight: 400; font-size: 1.35em; color: var(--satin-300); }
.dx-pause small { font-size: .85em; opacity: .8; }
@keyframes qSpin { to { transform: rotate(360deg); } }
/* feed */
.dx-bar { display: flex; align-items: center; justify-content: space-between; }
.dx-bar b { font-family: var(--f-serif); font-weight: 400; font-size: 1.4em; color: var(--wine-700); }
.dx-bar .ic { width: 1.3em; height: 1.3em; color: var(--ink-soft); }
.dx-chips { display: flex; gap: .4em; overflow: hidden; margin-right: -1.05em; }
.dx-chips span { flex: none; padding: .35em .75em; border-radius: 99px; border: 1px solid var(--line); font-size: .72em; font-weight: 700; color: var(--ink-soft); }
.dx-chips span.on { background: var(--wine-700); color: var(--ivory-100); border-color: transparent; }
.dx-feed { flex: 1; min-height: 0; overflow: hidden; }
.dx-feed__col { display: grid; gap: .8em; transition: transform 1.2s var(--ease-inout); }
.dx-feed__col.is-scrolled { transform: translateY(-58%); }
.dx-post { padding: .7em; border-radius: 1em; background: #fff; box-shadow: var(--sh-1); }
.dx-post header { display: flex; align-items: center; gap: .5em; margin-bottom: .5em; }
.dx-post header b { font-size: .8em; }
.dx-post header small { margin-left: auto; font-size: .66em; font-weight: 700; color: var(--rasp-500); }
.dx-poster { display: flex; align-items: flex-end; aspect-ratio: 1.15; padding: .9em; border-radius: .8em; background: radial-gradient(120% 90% at 0 0, var(--wine-600), var(--wine-900)); color: var(--ivory-100); font-family: var(--f-serif); font-size: 1.2em; line-height: 1.1; }
.dx-poster em { color: var(--satin-300); }
.dx-poster--fin { background: linear-gradient(160deg, var(--fin-petrol), #33162A); }
.dx-poster--fin em { color: var(--rosegold-2); }
.dx-poster--rose { background: radial-gradient(120% 90% at 0 0, var(--rasp-400), var(--wine-700)); }
.dx-post footer { display: flex; align-items: center; gap: .8em; padding: .55em .1em .1em; }
.dx-post footer .ic { width: 1.3em; height: 1.3em; color: var(--ink); }
.dx-post footer em { margin-left: auto; }
.dx-like { display: grid; color: var(--ink); }
.dx-like.on .ic { color: var(--rasp-500); animation: dxPop .5s var(--ease-pop); }
.dx-like.on use { fill: currentColor; }
@keyframes dxPop { 50% { transform: scale(1.4); } }
.dx-comment { margin-top: .3em; padding-top: .45em; border-top: 1px solid var(--line); font-size: .7em; color: var(--ink-soft); }
.dx-comment span { color: var(--ink-mute); font-style: italic; }
/* stories */
.dx-st { display: grid; grid-template-columns: repeat(3, 1fr); gap: .9em .5em; margin-top: .4em; }
.dx-st__c { display: grid; justify-items: center; gap: .35em; text-align: center; }
.dx-st__c img { width: 4.6em; height: 4.6em; border-radius: 50%; object-fit: cover; padding: .2em; background: conic-gradient(var(--rasp-400), var(--satin-300), var(--wine-600), var(--rasp-400)); transition: transform .3s var(--ease-pop); }
.dx-st__c b { font-size: .68em; color: var(--ink); }
.dx-st__c.is-tap img { transform: scale(.9); }
.dx-hint { margin-top: .4em; text-align: center; font-family: var(--f-serif); font-style: italic; font-size: .95em; color: var(--rasp-500); }
.dx-story { position: absolute; inset: 0; overflow: hidden; border-radius: 1em; opacity: 0; transform: scale(.4); transform-origin: 18% 18%; transition: opacity .35s, transform .45s var(--ease-out); pointer-events: none; color: #fff; }
.dx-story img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dx-story::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(28,9,17,.4), transparent 30%, rgba(28,9,17,.85)); }
.dx-story__bars { position: absolute; z-index: 1; top: .7em; left: .7em; right: .7em; display: flex; gap: .2em; }
.dx-story__bars i { flex: 1; height: .18em; border-radius: 1em; background: rgba(255, 255, 255, .4); }
.dx-story__bars i:first-child { background: #fff; }
.dx-story small { position: absolute; z-index: 1; top: 1.4em; left: .9em; font-size: .72em; font-weight: 800; }
.dx-story p { position: absolute; z-index: 1; left: .9em; right: .9em; bottom: 1.2em; font-family: var(--f-serif); font-size: 1.4em; line-height: 1.1; }
.dx-story p em { color: var(--satin-300); }
.dx-s.is-open .dx-story { opacity: 1; transform: none; }
/* biblioteca */
.dx-books { display: flex; gap: .6em; }
.dx-book { flex: 1; aspect-ratio: 2 / 3; display: flex; flex-direction: column; justify-content: flex-end; gap: .1em; padding: .6em; border-radius: .25em .7em .7em .25em; background: linear-gradient(135deg, var(--wine-600), var(--wine-900)); color: var(--ivory-100); box-shadow: inset .3em 0 0 rgba(0,0,0,.25), var(--sh-2); font-family: var(--f-serif); font-size: .85em; line-height: 1; }
.dx-book em { color: var(--rosegold-2); }
.dx-book--light { background: linear-gradient(135deg, var(--ivory-50), var(--satin-300)); color: var(--wine-700); }
.dx-book--light em { color: var(--rasp-500); }
.dx-book--soon { background: transparent; border: 1.5px dashed var(--petal-300); color: var(--ink-mute); box-shadow: none; }
.dx-book--soon small { margin-bottom: auto; font-family: var(--f-sans); font-size: .62em; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--rasp-500); }
.dx-book--soon em { color: var(--ink-mute); }
.dx-reader { position: absolute; inset: 0; display: flex; flex-direction: column; gap: .5em; padding: .9em 1em; border-radius: 1em; background: #fffdfb; color: #2a1b22; box-shadow: var(--sh-2); opacity: 0; transform: translateY(30%); transition: opacity .45s, transform .6s var(--ease-out), background-color .6s, color .6s; pointer-events: none; }
.dx-s.is-reading .dx-reader { opacity: 1; transform: none; pointer-events: auto; }
.dx-reader[data-mode="sepia"] { background: #f4ead6; color: #5b4636; }
.dx-reader[data-mode="noturno"] { background: #17090f; color: #eadfe3; }
.dx-reader__modes { display: flex; gap: .35em; padding: .25em; border-radius: 99px; background: rgba(128, 100, 110, .12); }
.dx-reader__modes button { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: .3em; padding: .45em .2em; border-radius: 99px; font-size: .7em; font-weight: 700; color: inherit; transition: background-color .3s; }
.dx-reader__modes svg { width: 1.2em; height: 1.2em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dx-reader[data-mode="claro"] [data-mode="claro"], .dx-reader[data-mode="sepia"] [data-mode="sepia"], .dx-reader[data-mode="noturno"] [data-mode="noturno"] { background: var(--wine-700); color: var(--ivory-100); }
.dx-reader small { margin-top: .4em; font-size: .68em; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--rasp-500); }
.dx-reader b { font-family: var(--f-serif); font-weight: 400; font-size: 1.35em; line-height: 1.1; }
.dx-reader p { font-family: var(--f-serif); font-size: 1em; line-height: 1.55; }
/* vídeos */
.dx-video { position: relative; flex: 1; min-height: 0; overflow: hidden; border-radius: 1em; color: #fff; }
.dx-video img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dx-video::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(28,9,17,.9)); }
.dx-video__play { position: absolute; z-index: 1; left: 50%; top: 40%; translate: -50% -50%; width: 3.4em; height: 3.4em; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .9); color: var(--wine-700); transition: opacity .4s, transform .4s; }
.dx-video__play .ic { width: 1.4em; height: 1.4em; margin-left: .2em; }
.dx-s.is-playing .dx-video__play { opacity: 0; transform: scale(1.4); }
.dx-video p { position: absolute; z-index: 1; left: .9em; right: .9em; bottom: 2.2em; font-family: var(--f-serif); font-size: 1.35em; line-height: 1.1; }
.dx-video p em { color: var(--satin-300); }
.dx-video__bar { position: absolute; z-index: 1; left: .9em; right: 3.4em; bottom: 1em; height: .2em; border-radius: 1em; background: rgba(255, 255, 255, .3); overflow: hidden; }
.dx-video__bar i { display: block; height: 100%; width: 0; background: #fff; }
.dx-s.is-playing .dx-video__bar i { width: 70%; transition: width 4s linear; }
.dx-video small { position: absolute; z-index: 1; right: .9em; bottom: .75em; font-size: .7em; }
.dx-vlist { display: grid; gap: .35em; }
.dx-vlist li { display: flex; align-items: center; gap: .5em; padding: .45em .6em; border-radius: .7em; background: #fff; font-size: .74em; line-height: 1.25; color: var(--ink); }
.dx-vlist .ic { flex: none; width: 1.6em; height: 1.6em; padding: .4em; border-radius: 50%; background: var(--petal-200); color: var(--wine-700); }
.dx-vlist small { margin-left: auto; color: var(--ink-mute); }
/* dinheiro */
.dx-steps { position: relative; display: grid; gap: .4em; padding-left: 1.6em; counter-reset: s; }
.dx-steps::before { content: ""; position: absolute; left: .6em; top: .6em; bottom: .6em; width: 2px; background: var(--petal-300); }
.dx-steps li { position: relative; counter-increment: s; padding: .45em .7em; border-radius: .7em; background: #fff; font-size: .9em; font-weight: 600; color: var(--ink-mute); text-transform: capitalize; transition: color .3s, background-color .3s; }
.dx-steps li::before { content: counter(s, decimal-leading-zero); position: absolute; left: -2.15em; top: 50%; translate: 0 -50%; width: 1.6em; height: 1.6em; display: grid; place-items: center; border-radius: 50%; background: #fff; border: 1.5px solid var(--petal-300); font-size: .7em; font-weight: 800; color: var(--ink-mute); }
.dx-steps li.on { color: var(--wine-700); }
.dx-steps li.on::before { background: var(--rasp-500); border-color: var(--rasp-500); color: #fff; }
/* desafios */
.dx-ch { display: grid; gap: .5em; }
.dx-ch li { display: flex; align-items: center; gap: .6em; justify-content: space-between; padding: .7em .8em; border-radius: .9em; background: #fff; box-shadow: var(--sh-1); font-size: .86em; }
.dx-ch b { font-weight: 650; }
.dx-ch__now { flex-direction: column; align-items: stretch !important; background: linear-gradient(135deg, var(--wine-700), var(--rasp-500)) !important; color: var(--ivory-100); }
.dx-ch__now span { display: flex; align-items: center; gap: .6em; }
.dx-ch__now i { flex: 1; height: .35em; border-radius: 1em; background: rgba(255,255,255,.25); overflow: hidden; }
.dx-ch__now em { display: block; height: 100%; width: 57%; background: #fff; transition: width .8s var(--ease-out); }
.dx-s.is-step .dx-ch__now em { width: 71%; }
.dx-ch__now small { font-size: .85em; font-weight: 800; }
.dx-tick { flex: none; width: 1.6em; height: 1.6em; display: grid; place-items: center; border-radius: 50%; background: #2f9e6c; color: #fff; font-size: .85em; font-weight: 800; }
.dx-tick--off { background: transparent; border: 1.5px solid var(--petal-300); }
html.motion .dx-s.is-done .dx-ch__done .dx-tick { animation: dxPop .6s var(--ease-pop); }
.dx-s.is-done .dx-ch__done { box-shadow: 0 0 0 2px #2f9e6c, var(--sh-1); }
/* recompensas */
.dx-rw { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5em; }
.dx-rw span { display: grid; justify-items: center; gap: .3em; padding: .5em .3em; border-radius: .9em; background: #fff; box-shadow: var(--sh-1); }
.dx-rw img { width: 100%; height: 3.6em; object-fit: contain; }
.dx-rw b { font-size: .64em; font-weight: 700; color: var(--wine-700); text-align: center; line-height: 1.15; }
.dx-rw__more .ic { width: 2.4em; height: 3.6em; color: var(--rasp-500); }
html.motion .dx-s.is-on .dx-rw span { animation: qIn .5s var(--ease-out) backwards; }
html.motion .dx-s.is-on .dx-rw span:nth-child(2) { animation-delay: .1s; } html.motion .dx-s.is-on .dx-rw span:nth-child(3) { animation-delay: .2s; }
html.motion .dx-s.is-on .dx-rw span:nth-child(4) { animation-delay: .3s; } html.motion .dx-s.is-on .dx-rw span:nth-child(5) { animation-delay: .4s; } html.motion .dx-s.is-on .dx-rw span:nth-child(6) { animation-delay: .5s; }
.dx-soon { display: flex; align-items: center; gap: .5em; margin-top: auto; padding: .7em .8em; border-radius: .9em; border: 1.5px dashed var(--petal-300); font-size: .8em; font-weight: 700; color: var(--wine-700); }
.dx-soon i { width: .55em; height: .55em; border-radius: 50%; background: var(--rasp-500); }
@media (prefers-reduced-motion: reduce) { .demo__bg, .demo__top, .demo__cap, .demo__ctrl, .phone--demo, .dx-s { transition: none; } }

/* ==========================================================================
   39. EFEITO TROFÉU™ — dor, posição 2 × 1 (claro)
   ========================================================================== */
.trophy { position: relative; overflow: clip; padding: var(--section) 0; background: radial-gradient(60% 40% at 85% 0%, rgba(231, 183, 195, .45), transparent 70%), linear-gradient(180deg, var(--ivory-50), var(--petal-200)); }
.trophy__pain { display: grid; gap: .08em; font-family: var(--f-serif); font-weight: 340; font-size: clamp(2.3rem, 6.4vw, 5.6rem); line-height: 1; letter-spacing: -.035em; color: var(--plum-900); }
.trophy__pain span:nth-child(2), .trophy__pain span:nth-child(3) { color: var(--ink-soft); }
.trophy__pain em { color: var(--rasp-500); }
.trophy__big { max-width: 16ch; margin: calc(var(--section) * .7) auto 0; text-align: center; font-family: var(--f-serif); font-weight: 330; font-size: clamp(2.6rem, 7.6vw, 7.2rem); line-height: .95; letter-spacing: -.04em; color: var(--wine-700); text-wrap: balance; }
.trophy__mark { color: var(--rasp-500); background: linear-gradient(transparent 70%, rgba(231, 183, 195, .7) 70%) no-repeat 0 0 / 0% 100%; transition: background-size 1.2s var(--ease-out) .5s; padding: 0 .05em; }
.trophy__big.is-in .trophy__mark { background-size: 100% 100%; }
.trophy__aside { max-width: 34rem; margin: var(--s-5) auto 0; text-align: center; font-family: var(--f-serif); font-style: italic; font-size: clamp(1.15rem, 1.8vw, 1.45rem); line-height: 1.35; color: var(--ink-soft); }

.trophy__q { margin: var(--section) auto var(--s-6); max-width: 20ch; text-align: center; font-family: var(--f-serif); font-weight: 360; font-size: var(--t-h2); line-height: 1.04; letter-spacing: -.025em; color: var(--wine-700); text-wrap: balance; }
.trophy__q em { color: var(--rasp-500); }
.rank { display: grid; gap: 16px; max-width: 980px; margin: 0 auto; }
.rank__card { position: relative; overflow: hidden; isolation: isolate; padding: 30px 26px 26px; border-radius: 30px; }
.rank__n { position: absolute; right: 14px; top: -24px; z-index: -1; font-family: var(--f-serif); font-weight: 300; font-size: 11rem; line-height: 1; }
.rank__tag { margin-bottom: 16px; font-size: var(--t-micro); font-weight: 800; letter-spacing: var(--track-label); text-transform: uppercase; }
.rank__card ul { display: grid; gap: 10px; }
.rank__card li { display: flex; gap: 10px; align-items: flex-start; font-size: 1rem; line-height: 1.4; }
.rank__foot { margin-top: 18px; padding-top: 14px; font-family: var(--f-serif); font-style: italic; font-size: .98rem; }
.rank__card--two { background: rgba(255, 255, 255, .62); border: 1px dashed var(--line-strong); color: var(--ink-soft); }
.rank__card--two .rank__n { color: transparent; -webkit-text-stroke: 1.5px rgba(48, 34, 42, .14); }
.rank__card--two .rank__tag { color: var(--ink-mute); }
.rank__card--two li::before { content: ""; flex: none; width: 14px; height: 1.5px; margin-top: .72em; background: var(--rose-400); }
.rank__card--two .rank__foot { border-top: 1px dashed var(--line-strong); color: var(--ink-mute); }
.rank__card--two.is-in { filter: grayscale(.55); opacity: .82; transition: filter 1.4s var(--ease-soft) .9s, opacity 1.4s var(--ease-soft) .9s, translate var(--d-5) var(--ease-out); }
.rank__card--one { background: radial-gradient(110% 80% at 20% 0%, var(--wine-600), var(--wine-900)); color: var(--on-dark); box-shadow: var(--sh-3), 0 0 0 1px rgba(255, 255, 255, .06) inset; }
.rank__card--one .rank__n { color: rgba(240, 201, 188, .16); text-shadow: 0 0 60px rgba(231, 140, 170, .45); }
.rank__card--one .rank__tag { color: var(--satin-300); }
.rank__card--one li .ic { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--satin-300); }
.rank__card--one li .ic use { stroke-width: 2.2; }
.rank__card--one .rank__foot { border-top: 1px solid var(--line-dark); color: var(--satin-300); }
.trophy__enter { margin-top: var(--section); text-align: center; font-family: var(--f-serif); font-weight: 340; font-size: clamp(2.2rem, 5.6vw, 5rem); line-height: 1; letter-spacing: -.03em; color: var(--plum-900); }
.trophy__enter em { color: var(--rasp-500); }
.trophy__bridge { margin-top: var(--s-5); text-align: center; font-size: var(--t-lead); color: var(--ink-soft); }
.trophy__bridge b { color: var(--wine-700); }
@media (min-width: 760px) { .rank { grid-template-columns: 1fr 1fr; gap: 22px; align-items: stretch; } .rank__card { padding: 38px 34px 30px; } }

/* ==========================================================================
   40. EFEITO TROFÉU™ — mecanismo (escuro)
   ========================================================================== */
.mech { position: relative; overflow: clip; color: var(--on-dark); background: radial-gradient(55% 50% at 30% 40%, rgba(183, 53, 89, .2), transparent 70%), radial-gradient(40% 40% at 80% 20%, rgba(240, 201, 188, .06), transparent 70%), var(--wine-950); }
.mech__pin { position: relative; padding: var(--section) 0 var(--s-6); }
.mech__grid { display: grid; gap: var(--s-6); align-items: center; }
.mech__visual { position: relative; width: min(100%, 440px); margin: 0 auto; }
.mech__copy { position: relative; }
.mech__title { font-family: var(--f-serif); font-weight: 330; font-size: clamp(3rem, 7vw, 6.4rem); line-height: .92; letter-spacing: -.04em; }
.mech__title em { color: var(--satin-300); }
.mech__sub { margin-top: var(--s-4); max-width: 30rem; font-size: var(--t-lead); line-height: 1.55; color: var(--on-dark-soft); }
.mech__sub b { color: var(--on-dark); }

.brain { width: 100%; height: auto; overflow: visible; }
.brain__head { fill: none; stroke: url(#brLine); stroke-width: 1.5; stroke-linecap: round; opacity: .85; }
.brain__web line { stroke: rgba(240, 201, 188, .16); stroke-width: .8; }
.brain__dots circle { fill: rgba(240, 201, 188, .45); }
.motion .brain__dots circle { animation: twinkle 3.6s var(--ease-inout) infinite; animation-delay: calc(var(--k) * -.37s); }
@keyframes twinkle { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
.brain__route { fill: none; stroke: var(--rasp-400); stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--draw, 0)); filter: drop-shadow(0 0 6px rgba(208, 74, 112, .85)); transition: stroke-dashoffset .7s var(--ease-out); }
.brain__s { fill: var(--wine-800); stroke: rgba(240, 201, 188, .55); stroke-width: 1.5; transition: fill .5s, stroke .5s, r .5s var(--ease-pop); }
.brain__s.is-lit { fill: #F0C9BC; stroke: #fff; filter: drop-shadow(0 0 8px rgba(240, 201, 188, .95)); }
.brain__core { opacity: 0; transform-box: fill-box; transform-origin: center; transition: opacity 1s var(--ease-soft); }
.is-trophy .brain__core { opacity: 1; }
.motion .is-trophy .brain__core { animation: corePulse 2.6s var(--ease-inout) infinite; }
@keyframes corePulse { 0%, 100% { transform: scale(.9); } 50% { transform: scale(1.08); } }
.is-trophy .brain__s[data-s="5"] { r: 11; }
.is-trophy .brain__route { stroke: #F0C9BC; stroke-width: 3.2; filter: drop-shadow(0 0 10px rgba(240, 201, 188, .95)) drop-shadow(0 0 22px rgba(208, 74, 112, .7)); }

.mech__badge { position: absolute; left: 62%; top: 4%; padding: 8px 14px; border-radius: var(--r-pill); background: linear-gradient(120deg, #F6DDD3, var(--rosegold, #D8A08F) 55%, #F0C9BC); color: var(--wine-900); font-size: .74rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 10px 30px -8px rgba(240, 201, 188, .7); opacity: 0; transform: translateY(10px) scale(.85); transition: opacity .5s, transform .7s var(--ease-pop); }
.is-trophy .mech__badge { opacity: 1; transform: none; }
.mech__now { margin-top: 6px; text-align: center; }
.mech__now small { display: block; font-size: var(--t-micro); font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--on-dark-mute); }
.mech__now b { display: block; font-family: var(--f-serif); font-weight: 400; font-size: clamp(1.8rem, 7vw, 2.4rem); line-height: 1.1; color: var(--satin-300); transition: color .4s; }
.is-trophy .mech__now b { color: #fff; }
.mech__dots { display: flex; justify-content: center; gap: 6px; margin-top: 10px; }
.mech__dots i { width: 22px; height: 3px; border-radius: 3px; background: rgba(255, 255, 255, .16); transition: background-color .4s; }
.mech__dots i.is-lit { background: var(--satin-300); }

.mech__steps { display: none; }
@media (min-width: 960px) {
  .mech__grid { grid-template-columns: 1.05fr .95fr; gap: var(--s-8); }
  .mech__visual { width: min(100%, 500px); }
  .mech__now, .mech__dots { display: none; }
  .mech__steps { display: grid; gap: 4px; margin-top: var(--s-6); counter-reset: none; }
  .mech__steps li { display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: baseline; padding: 12px 0; border-top: 1px solid var(--line-dark); opacity: .32; transition: opacity .5s; }
  .mech__steps li span { font-family: var(--f-serif); font-style: italic; color: var(--satin-300); }
  .mech__steps li b { display: block; font-family: var(--f-serif); font-weight: 400; font-size: 1.45rem; line-height: 1.1; }
  .mech__steps li small { display: block; margin-top: 2px; font-size: .86rem; color: var(--on-dark-soft); }
  .mech__steps li.is-lit { opacity: .75; }
  .mech__steps li.is-now { opacity: 1; }
  .mech__steps li.is-now b { color: var(--satin-300); }
  .is-trophy .mech__steps li[data-s="5"] b { color: #fff; text-shadow: 0 0 18px rgba(240, 201, 188, .8); }
}
.pin .mech__scroll { height: 280svh; }
.pin .mech__pin { position: sticky; top: 0; height: 100svh; padding: 90px 0 30px; display: flex; align-items: center; }
.pin .mech__grid { width: 100%; }
@media (min-width: 960px) and (max-height: 820px) { .mech__steps li small { display: none; } .mech__title { font-size: clamp(2.8rem, 6vw, 5rem); } }

.mech__body { padding-bottom: var(--section); }
.mech__def { max-width: 860px; margin: var(--s-7) auto 0; text-align: center; }
.mech__def > p:first-child { font-size: var(--t-lead); color: var(--on-dark-soft); }
.mech__def > p:first-child b { color: var(--satin-300); }
.mech__def-big { margin-top: var(--s-5); font-family: var(--f-serif); font-weight: 340; font-size: clamp(1.9rem, 4.2vw, 3.6rem); line-height: 1.08; letter-spacing: -.02em; }
.mech__def-big em { color: var(--satin-300); }
.mech__tm { margin-top: var(--s-5); font-size: .74rem; color: var(--on-dark-mute); }

.nogame { margin-top: var(--section); text-align: center; }
.nogame__title { font-family: var(--f-serif); font-weight: 340; font-size: var(--t-h1); line-height: 1.02; letter-spacing: -.03em; }
.nogame__title em { color: var(--satin-300); }
.nogame__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 760px; margin: var(--s-6) auto 0; }
.nogame__list li { position: relative; padding: 12px 18px; border-radius: var(--r-pill); background: rgba(255, 255, 255, .06); border: 1px solid var(--line-dark); font-size: .98rem; color: var(--on-dark); transition: opacity .6s, color .6s; }
.nogame__list li span { position: relative; }
.nogame__list li span::after { content: ""; position: absolute; left: -4px; right: -4px; top: 52%; height: 2px; border-radius: 2px; background: var(--rasp-400); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease-inout); transition-delay: calc(.3s + var(--i) * .28s); }
.nogame.is-in .nogame__list li span::after { transform: scaleX(1); }
.nogame.is-in .nogame__list li { color: var(--on-dark-mute); transition-delay: calc(.6s + var(--i) * .28s); }
.nogame__punch { margin-top: var(--s-7); font-family: var(--f-serif); font-weight: 360; font-size: clamp(1.6rem, 3.4vw, 2.6rem); line-height: 1.1; }
.nogame__punch2 { margin-top: 8px; font-family: var(--f-serif); font-weight: 340; font-size: clamp(2.2rem, 5.6vw, 4.8rem); line-height: 1; letter-spacing: -.03em; }
.nogame__punch2 em { color: var(--rasp-400); }

.diff { margin-top: var(--section); text-align: center; }
.diff__title { max-width: 18ch; margin: 0 auto; font-family: var(--f-serif); font-weight: 340; font-size: var(--t-h2); line-height: 1.04; letter-spacing: -.025em; text-wrap: balance; }
.diff__title em { color: var(--satin-300); }
.diff__lead { margin-top: var(--s-4); color: var(--on-dark-soft); font-size: var(--t-lead); }
.diff__pairs { display: grid; gap: 12px; max-width: 760px; margin: var(--s-6) auto 0; }
.diff__pairs li { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 6px 12px; padding: 16px 18px; border-radius: 20px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line-dark); }
.diff__pairs li > span { display: flex; flex-direction: column; align-items: center; gap: 6px; font-family: var(--f-serif); font-size: 1.12rem; }
.diff__pairs svg { width: 34px; height: 34px; color: var(--satin-300); }
.diff__pairs i { font-family: var(--f-serif); font-style: normal; font-size: 1.6rem; color: var(--rasp-400); }
.diff__pairs small { grid-column: 1 / -1; font-size: .84rem; color: var(--on-dark-soft); }
.diff__error { max-width: 22ch; margin: var(--s-7) auto 0; font-family: var(--f-serif); font-weight: 340; font-size: clamp(1.9rem, 4.4vw, 3.6rem); line-height: 1.05; letter-spacing: -.025em; text-wrap: balance; }
.diff__error em { color: var(--rasp-400); }

.principle { margin-top: var(--section); text-align: center; }
.principle__title { font-family: var(--f-serif); font-weight: 330; font-size: clamp(2.6rem, 7vw, 6.2rem); line-height: .95; letter-spacing: -.04em; }
.principle__title em { color: var(--satin-300); }
.principle__lead { margin-top: var(--s-5); color: var(--on-dark-soft); }
.principle__sig { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: var(--s-4) auto 0; max-width: 640px; }
.principle__sig li { padding: 9px 16px; border-radius: var(--r-pill); border: 1px solid rgba(240, 201, 188, .35); font-family: var(--f-serif); font-style: italic; font-size: 1.05rem; color: var(--satin-300); }
.principle__sig li:last-child { background: linear-gradient(120deg, #F6DDD3, #D8A08F); color: var(--wine-900); border-color: transparent; font-weight: 500; }
.principle__txt { max-width: 34rem; margin: var(--s-5) auto 0; color: var(--on-dark-soft); }
.principle__txt b { color: var(--on-dark); }
.principle__txt em { color: var(--satin-300); }

.curious { margin-top: var(--section); display: grid; justify-items: center; text-align: center; }
.curious__list { display: grid; gap: 12px; max-width: 640px; }
.curious__list li { font-family: var(--f-serif); font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.3; color: var(--on-dark-soft); }
.curious__list li::before { content: "✦"; margin-right: 10px; color: var(--rasp-400); font-size: .8em; }
.curious__late { margin-top: var(--s-7); font-family: var(--f-serif); font-weight: 340; font-size: clamp(2.2rem, 5.6vw, 4.8rem); line-height: 1; letter-spacing: -.03em; }
.curious__late em { color: var(--rasp-400); }
.curious__in { margin: var(--s-4) 0 var(--s-6); font-size: var(--t-lead); color: var(--on-dark-soft); }
.curious__in b { color: var(--satin-300); }

/* Conselheira: contexto nas entrelinhas */
.ai__ctx { max-width: 36rem; margin: var(--s-4) auto 0; text-align: center; color: var(--on-dark-soft); font-size: .98rem; line-height: 1.6; }
.ai__head .lead b { color: var(--on-dark); font-weight: 650; }

@media (prefers-reduced-motion: reduce) {
  .nogame__list li span::after, .trophy__mark { transition: none !important; }
}

.hero__title--map .line > span { white-space: normal; }

/* ==========================================================================
   41. EFEITO TROFÉU™ — cena: homem · prateleira de opções · troféu
   (substitui a silhueta com cérebro; a ativação/conexão continua a mesma)
   ========================================================================== */
.mech .scene { width: 100%; height: auto; overflow: visible; }
.mech .mech__visual { width: min(100%, 520px); }
.scene .man path { fill: none; stroke: url(#brLine); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.scene .man .man__hair, .scene .man .man__lapel, .scene .man .man__shirt { stroke-width: 1.1; opacity: .65; }
.scene .shelf { fill: none; stroke: rgba(240, 201, 188, .5); stroke-width: 1.3; stroke-linecap: round; }
.scene .shelf { stroke-dasharray: none; }
.scene .opt { transform-box: fill-box; transform-origin: 50% 100%; transition: opacity .8s var(--ease-soft), transform 1s var(--ease-pop), filter .8s; }
.scene .opt__frame { fill: rgba(255, 255, 255, .035); stroke: rgba(240, 201, 188, .5); stroke-width: 1.3; transition: fill .8s, stroke .8s; }
.scene .opt__fig * { fill: none; stroke: rgba(240, 201, 188, .72); stroke-width: 1.3; stroke-linecap: round; transition: stroke .8s; }
.scene .opt.is-out { opacity: .2; filter: blur(.4px); }
.is-trophy .scene .opt--pick { transform: translateY(-14px) scale(1.07); }
.is-trophy .scene .opt--pick .opt__frame { fill: url(#optPick); stroke: #F6DDD3; filter: drop-shadow(0 0 10px rgba(240, 201, 188, .7)); }
.is-trophy .scene .opt--pick .opt__fig * { stroke: #FFFFFF; }
.scene .sight { stroke: rgba(240, 201, 188, .2); stroke-width: .8; stroke-dasharray: 3 5; transition: opacity .7s; }
.scene .sight.is-out { opacity: 0; }
.is-trophy .scene .sight[data-out="0"] { stroke: rgba(240, 201, 188, .55); stroke-dasharray: none; }
.scene .trophy-ic { opacity: 0; transform-box: fill-box; transform-origin: 50% 100%; transform: translateY(16px) scale(.6); transition: opacity .6s var(--ease-soft), transform 1s var(--ease-pop); }
.scene .trophy-ic path { fill: none; stroke: #F0C9BC; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.scene .trophy-ic .trophy-ic__cup { fill: url(#trGold); fill-opacity: .28; }
.scene .trophy-ic .trophy-ic__spark { fill: #FBE6DD; stroke: none; }
.is-trophy .scene .trophy-ic { opacity: 1; transform: none; filter: drop-shadow(0 0 10px rgba(240, 201, 188, .9)) drop-shadow(0 0 26px rgba(208, 74, 112, .55)); }
.motion .is-trophy .scene .trophy-ic__spark { animation: twinkle 2.4s var(--ease-inout) infinite; }
.mech .mech__visual > .mech__badge { left: 77.3%; top: 3%; transform: translate(-50%, 10px) scale(.85); }
.scene .trophy-ic .trophy-ic__shine { stroke: #FFFFFF; stroke-width: 1.3; opacity: .7; }
.mech.is-trophy .mech__visual > .mech__badge { transform: translate(-50%, 0) scale(1); }
.mech__cap { margin-top: 18px; text-align: center; font-family: var(--f-serif); font-size: clamp(1.1rem, 1.8vw, 1.35rem); line-height: 1.3; color: var(--on-dark-soft); }
.mech__cap em { color: var(--satin-300); }


/* ==========================================================================
   42. GATILHO DA PRIORIDADE™ — a causa (vem antes do Efeito Troféu™)
   homem · rede neural · conexões acendendo · progresso · "Prioridade ativada"
   ========================================================================== */
.trig { position: relative; overflow: clip; color: var(--on-dark); background: radial-gradient(50% 36% at 26% 52%, rgba(183, 53, 89, .24), transparent 70%), radial-gradient(40% 26% at 82% 8%, rgba(240, 201, 188, .07), transparent 70%), var(--wine-950); }
.trig__intro { padding-top: var(--section); padding-bottom: var(--s-6); text-align: center; }
.trig__hook { font-family: var(--f-serif); font-weight: 330; font-size: clamp(2.3rem, 6vw, 5.4rem); line-height: 1; letter-spacing: -.035em; text-wrap: balance; }
.trig__hook .line > span { white-space: normal; }
.trig__hook em { color: var(--satin-300); }
.trig__lead { max-width: 38rem; margin: var(--s-5) auto 0; font-size: var(--t-lead); line-height: 1.55; color: var(--on-dark-soft); text-wrap: pretty; }
.trig__lead b { color: var(--on-dark); font-weight: 600; }
.trig__chance { margin-top: var(--s-5); font-family: var(--f-serif); font-style: italic; font-size: clamp(1.25rem, 2.2vw, 1.8rem); color: var(--satin-300); }

.trig__pin { position: relative; padding: var(--s-6) 0; }
.trig__grid { display: grid; gap: var(--s-6); align-items: center; }
.trig__copy { order: -1; }
.trig__title { font-family: var(--f-serif); font-weight: 330; font-size: clamp(2.8rem, 6.6vw, 6rem); line-height: .94; letter-spacing: -.04em; }
.trig__title em { color: var(--satin-300); }
.trig__sub { margin-top: var(--s-4); max-width: 31rem; font-size: var(--t-lead); line-height: 1.55; color: var(--on-dark-soft); }
.trig__sub b { color: var(--on-dark); font-weight: 600; }

.trig__visual { position: relative; width: min(100%, 430px); margin: 0 auto; }
.trig__art { position: relative; cursor: pointer; }
.trig__svg { display: block; overflow: hidden; -webkit-mask-image: linear-gradient(#000 74%, transparent 98%); mask-image: linear-gradient(#000 74%, transparent 98%); }
.trig__svg .man path { fill: none; stroke: url(#brLineT); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.trig__svg .man .man__hair, .trig__svg .man .man__lapel, .trig__svg .man .man__shirt { stroke-width: 1; opacity: .6; }
.trig__svg .man { transition: filter 1s var(--ease-soft); }
.trig.is-on .trig__svg .man { filter: drop-shadow(0 0 6px rgba(240, 201, 188, .4)); }
.trig .brain__web line { transition: stroke 1s; }
.trig.is-on .brain__web line { stroke: rgba(240, 201, 188, .3); }
.trig.is-on .brain__core { opacity: 1; }
.motion .trig.is-on .brain__core { animation: corePulse 2.6s var(--ease-inout) infinite; }
.trig.is-on .brain__s[data-s="5"] { r: 10; }
.trig.is-on .brain__route { stroke: #F0C9BC; stroke-width: 3; filter: drop-shadow(0 0 10px rgba(240, 201, 188, .95)) drop-shadow(0 0 22px rgba(208, 74, 112, .7)); }
.trig .brain__s.is-focus { stroke: #fff; stroke-width: 2.5; }

.trig__nodes { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none; pointer-events: none; }
.trig__node { position: absolute; left: var(--x); top: var(--y); width: 44px; height: 44px; margin: -22px 0 0 -22px; padding: 0; border: 0; border-radius: 50%; background: none; color: inherit; cursor: pointer; pointer-events: auto; -webkit-tap-highlight-color: transparent; }
.trig__node::after { content: ""; position: absolute; inset: 9px; border-radius: 50%; border: 1px solid transparent; transition: border-color .3s, box-shadow .3s, transform .4s var(--ease-pop); }
.trig__node.is-focus::after, .trig__node:focus-visible::after { border-color: rgba(240, 201, 188, .8); box-shadow: 0 0 16px rgba(240, 201, 188, .55); transform: scale(1.1); }
.trig__node:focus-visible { outline: none; }
.trig__node span { position: absolute; left: 50%; bottom: calc(100% - 6px); padding: 5px 10px; border-radius: var(--r-pill); background: rgba(28, 9, 17, .88); border: 1px solid rgba(240, 201, 188, .35); color: var(--satin-300); font-size: .64rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; opacity: 0; transform: translate(-50%, 6px); transition: opacity .3s, transform .4s var(--ease-out); pointer-events: none; }
.trig__node.is-focus span { opacity: 1; transform: translate(-50%, 0); }

.trig__badge { position: absolute; right: 0; top: 2%; padding: 8px 14px; border-radius: var(--r-pill); background: linear-gradient(120deg, #F6DDD3, var(--rosegold, #D8A08F) 55%, #F0C9BC); color: var(--wine-900); font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 10px 30px -8px rgba(240, 201, 188, .7); opacity: 0; transform: translateY(10px) scale(.85); transition: opacity .5s, transform .7s var(--ease-pop); pointer-events: none; }
.trig.is-on .trig__badge { opacity: 1; transform: none; }

.trig__meter { margin-top: 8px; }
.trig__meter-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: var(--t-micro); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--on-dark-mute); transition: color .5s; }
.trig__meter-row b { font-family: var(--f-serif); font-size: 1.7rem; font-weight: 400; letter-spacing: 0; color: var(--satin-300); font-variant-numeric: tabular-nums; }
.trig.is-on .trig__meter-row { color: #fff; }
.trig__bar { position: relative; display: block; height: 3px; margin-top: 6px; border-radius: 3px; background: rgba(255, 255, 255, .12); overflow: hidden; }
.trig__bar i { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(90deg, var(--rasp-400), #F0C9BC); box-shadow: 0 0 12px rgba(240, 201, 188, .7); transform-origin: left; transform: scaleX(var(--pct, 0)); }

.trig__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 16px; }
.trig__chip { padding: 8px 12px; border: 1px solid rgba(240, 201, 188, .2); border-radius: var(--r-pill); background: rgba(255, 255, 255, .03); color: var(--on-dark-mute); font: inherit; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: color .4s, border-color .4s, background-color .4s; -webkit-tap-highlight-color: transparent; }
.trig__chip.is-lit { color: var(--satin-300); border-color: rgba(240, 201, 188, .5); }
.trig__chip.is-focus { color: var(--wine-900); background: var(--satin-300); border-color: transparent; }
.trig__tip { min-height: 3.3em; margin-top: 14px; text-align: center; font-family: var(--f-serif); font-size: 1.22rem; line-height: 1.3; color: var(--on-dark); }
.trig__tip b { display: block; margin-bottom: 3px; font-family: var(--f-sans); font-size: .66rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--satin-300); }
.trig__cap { margin-top: 10px; text-align: center; font-family: var(--f-serif); font-size: clamp(1.1rem, 1.8vw, 1.35rem); line-height: 1.3; color: var(--on-dark-soft); opacity: 0; transform: translateY(8px); transition: opacity .8s var(--ease-soft), transform .8s var(--ease-out); }
.trig__cap em { color: var(--satin-300); }
.trig.is-on .trig__cap { opacity: 1; transform: none; }

.trig__steps, .trig__hint { display: none; }

.trig__out { padding-top: var(--s-7); padding-bottom: var(--s-6); text-align: center; }
.trig__final { max-width: 880px; margin: 0 auto; font-family: var(--f-serif); font-weight: 340; font-size: clamp(1.9rem, 4.2vw, 3.6rem); line-height: 1.08; letter-spacing: -.02em; text-wrap: balance; }
.trig__final em { color: var(--satin-300); }
.trig__want { max-width: 36rem; margin: var(--s-5) auto 0; font-size: var(--t-lead); line-height: 1.55; color: var(--on-dark-soft); }
.trig__want b { color: var(--on-dark); }
.trig__pass { position: relative; display: block; width: 1px; height: clamp(90px, 14vw, 150px); margin: var(--s-7) auto var(--s-5); background: linear-gradient(rgba(240, 201, 188, 0), rgba(240, 201, 188, .75)); }
.trig__pass::after { content: ""; position: absolute; left: -3px; top: 100%; width: 7px; height: 7px; border-radius: 50%; background: #F0C9BC; box-shadow: 0 0 12px 3px rgba(240, 201, 188, .8), 0 0 30px 6px rgba(208, 74, 112, .5); }
.motion .trig__pass::after { animation: passDrop 2.6s var(--ease-inout) infinite; }
@keyframes passDrop { 0% { top: 0; opacity: 0; } 25% { opacity: 1; } 100% { top: 100%; opacity: 1; } }
.trig__in { font-family: var(--f-serif); font-weight: 340; font-size: clamp(1.7rem, 3.6vw, 3rem); line-height: 1.08; letter-spacing: -.02em; }
.trig__in em { color: var(--satin-300); }
.trig__born { margin-top: var(--s-4); font-size: var(--t-lead); color: var(--on-dark-soft); }
.trig__born b { color: #fff; text-shadow: 0 0 18px rgba(240, 201, 188, .7); }
/* o brilho continua para dentro da cena do troféu */
.trig + .mech::before { content: ""; position: absolute; left: 50%; top: 0; width: 1px; height: 90px; background: linear-gradient(rgba(240, 201, 188, .75), rgba(240, 201, 188, 0)); pointer-events: none; }
.trig + .mech .mech__pin { padding-top: var(--s-9); }

@media (min-width: 960px) {
  .trig__grid { grid-template-columns: 1.05fr .95fr; gap: var(--s-8); }
  .trig__copy { order: 0; }
  .trig__visual { width: min(100%, 460px); }
  .trig__chips, .trig__tip { display: none; }
  .trig__steps { display: grid; gap: 2px; margin-top: var(--s-6); }
  .trig__steps button { display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: baseline; width: 100%; padding: 11px 0; border: 0; border-top: 1px solid var(--line-dark); background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; opacity: .32; transition: opacity .5s; }
  .trig__steps button > span { font-family: var(--f-serif); font-style: italic; color: var(--satin-300); }
  .trig__steps b { display: block; font-family: var(--f-serif); font-weight: 400; font-size: 1.4rem; line-height: 1.1; transition: color .4s; }
  .trig__steps small { display: block; margin-top: 2px; font-size: .9rem; color: var(--on-dark-soft); }
  .trig__steps li.is-lit button { opacity: .75; }
  .trig__steps li.is-now button, .trig__steps button.is-focus { opacity: 1; }
  .trig__steps li.is-now b, .trig__steps button.is-focus b { color: var(--satin-300); }
  .trig.is-on .trig__steps li[data-s="5"] b { color: #fff; text-shadow: 0 0 18px rgba(240, 201, 188, .8); }
  .trig__hint { display: block; margin-top: var(--s-4); font-size: var(--t-micro); font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--on-dark-mute); }
  .trig + .mech .mech__pin { padding-top: 90px; }
}
.pin .trig__scroll { height: 260svh; }
.pin .trig__pin { position: sticky; top: 0; height: 100svh; padding: 84px 0 24px; display: flex; align-items: center; }
.pin .trig__grid { width: 100%; }
@media (min-width: 960px) and (max-height: 820px) { .trig__visual { width: min(100%, 380px); } .trig__steps button { padding: 8px 0; } .trig__title { font-size: clamp(2.6rem, 5.4vw, 4.6rem); } }

.offer__was { color: var(--on-dark-mute, rgba(251, 239, 241, .5)); font-weight: 400; }

/* ==========================================================================
   43. MINI RESULTADO DO QUIZ NA HERO (só com payload novo do Mapa)
   ========================================================================== */
.hero__res { display: grid; gap: 10px; width: min(100%, 25rem); margin-top: var(--s-5); padding: 16px 18px; border-radius: 22px; background: rgba(255, 252, 250, .8); border: 1px solid rgba(183, 53, 89, .18); box-shadow: var(--sh-2); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); color: var(--ink); text-decoration: none; transition: transform .4s var(--ease-out), box-shadow .4s; }
.hero__res:hover { transform: translateY(-2px); box-shadow: var(--sh-3); }
.hero__res-head { display: flex; align-items: center; gap: 10px; }
.hero__res-ic { width: 28px; height: 26px; color: var(--wine-700); flex: none; }
.hero__res-head small { font-size: var(--t-micro); font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--rasp-500); }
.hero__res-head em { margin-left: auto; font-family: var(--f-serif); font-size: 1rem; color: var(--wine-700); }
.hero__res-row { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 5px 10px; }
.hero__res-row > span { font-size: .84rem; color: var(--ink-soft); }
.hero__res-row b { font-family: var(--f-serif); font-style: italic; font-weight: 400; font-size: 1.18rem; line-height: 1; color: var(--wine-700); }
.hero__res-row[data-kind="alert"]:not([data-lv="low"]) b, .hero__res-row[data-kind="clarity"][data-lv="low"] b { color: var(--rasp-500); }
.hero__res-row i { grid-column: 1 / -1; display: block; height: 5px; border-radius: 5px; background: rgba(94, 26, 53, .1); overflow: hidden; }
.hero__res-row i em { display: block; height: 100%; width: calc(var(--f, .5) * 100%); border-radius: inherit; background: linear-gradient(90deg, var(--satin-300), var(--rasp-500)); transform-origin: left; }
.hero__res-row[data-kind="clarity"] i em { background: linear-gradient(90deg, var(--rasp-500), var(--satin-300)); }
.motion .hero__res-row i em { animation: resBar 1.4s var(--ease-out) .8s both; }
@keyframes resBar { from { transform: scaleX(0); } }
.hero__res-pat { display: grid; gap: 2px; padding-top: 9px; border-top: 1px solid rgba(94, 26, 53, .1); }
.hero__res-pat small { font-size: var(--t-micro); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); }
.hero__res-pat b { font-family: var(--f-serif); font-weight: 400; font-size: 1.22rem; line-height: 1.2; color: var(--wine-700); }
.hero__res-cup { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; border-radius: 12px; border: 1.5px dashed var(--satin-300); background: var(--ivory-50); }
.hero__res-cup small { font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); }
.hero__res-cup b { font-size: .92rem; font-weight: 800; letter-spacing: .12em; color: var(--wine-700); }
.hero__res-note { font-size: .68rem; line-height: 1.35; color: var(--ink-soft); opacity: .85; }
.offer__value { margin-top: var(--s-3, .9rem); max-width: 34rem; font-size: 1.02rem; line-height: 1.55; color: var(--on-dark-soft); }
.offer__value em { font-family: var(--f-serif); font-size: 1.1em; color: var(--satin-300); }
