/* ============================================================
   site.css — folha única do site da nutricionista Marcela Serafim (clone do site da Dra. Rebeca Aquino, 16/10/2026)
   Fontes, tokens, reset, tipografia, botões, HEADER e RODAPÉ
   compartilhados por index.php, agendar.php e pelo blog.
   Editar aqui reflete no site inteiro.
   ============================================================ */
/* Webfonts auto-hospedadas. Os dois arquivos de cada família são VARIÁVEIS
   (Cormorant Garamond 300–700, Manrope 200–800): um arquivo serve todos os
   pesos. Só latin + latin-ext — o site é pt-BR. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;
  src:url("/assets/fonts/cormorant-garamond-var-latin.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;
  src:url("/assets/fonts/cormorant-garamond-var-latin-ext.woff2") format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;
  src:url("/assets/fonts/cormorant-garamond-var-italic-latin.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;
  src:url("/assets/fonts/cormorant-garamond-var-italic-latin-ext.woff2") format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;
  src:url("/assets/fonts/manrope-variable-latin.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;
  src:url("/assets/fonts/manrope-variable-latin-ext.woff2") format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  /* Raw families */
  --font-serif-display:"Cormorant Garamond","Cormorant","Times New Roman",serif;
  --font-sans-text:"Manrope","Helvetica Neue",Helvetica,sans-serif;
}

/* Paleta: NOMES dos tokens herdados da Rebeca; VALORES da Marcela (logo, 16/10/2026). Texto original:
   bege champagne, rosé claro e rosé queimado + grafite e rosé escuro de apoio.
   Os NOMES dos tokens (taupe/nude/dourado) são papéis herdados do motor:
   "nude" = rampa rosé, "dourado" = champagne (o "ouro discreto" da marca). */
:root{
  /* Marca */
  --taupe-profundo:#8A4A3D;   /* TERRACOTA da logo — botão (branco 6,71:1) e também texto (6,24 página / 5,67 alt) */
  --taupe-suave:#B78F85;      /* terracota suave — só decorativo (bordas fortes) */
  --nude-rosado:#D8C2BA;      /* terracota clarinho */
  --offwhite-rosado:#F3EBDD;  /* CREME da logo — fundo das seções alternadas */
  --branco-puro:#FFFDFA;      /* cartões */
  --offwhite-quente:#FAF6F0;  /* fundo da página (creme clareado) */
  --rose-cacau:#1B2B4B;       /* MARINHO da logo — seções escuras: texto claro 13,06:1, rótulo terracota claro 6,84:1 */
  --rose-acento:#8A4A3D;      /* itálico do h1 (terracota, 6,24:1) */
  --rose-texto:#8A4A3D;       /* terracota para TEXTO e links: 6,24 página / 5,67 alt */

  /* Warm neutral ramp (hue-matched to Taupe Profundo) */
  --nude-50:#FAF6F0;
  --nude-100:#F3EBDD;
  --nude-200:#E9DCD5;
  --nude-300:#D8C2BA;
  --nude-400:#C8A99F;
  --nude-500:#B78F85;
  --nude-600:#566078; /* texto secundário (marinho acinzentado): 5,84 página / 5,31 alt */
  --nude-700:#8A4A3D;
  --nude-800:#3B4660;
  --nude-900:#1B2B4B;
  --nude-950:#142039;

  /* Discreet gold — accents, rules, small ornament only. Never large fills. */
  --dourado-200:#F1E4D6;
  --dourado-400:#C08A7D;
  --dourado-300:#E0A898; /* terracota claro — texto sobre fundo escuro: 6,84 no marinho / 7,89 no rodapé */
  --dourado-500:#D9B0A3;
  --dourado-700:#8A4A3D;
  --dourado-800:#7A3F33; /* terracota escuro p/ texto pequeno: 7,54 página / 6,86 alt */

  /* Semantic hues, all desaturated to sit inside the nude palette */
  --sage-500:#6E7F6A;      /* confirmação  */
  --sage-100:#E4EAE1;
  --ambar-500:#B08A4F;     /* atenção      */
  --ambar-100:#F4E9D6;
  --terracota-500:#A23B30; /* erro: vermelho queimado (o terracota é a marca) 6,09 página */
  --terracota-100:#F6DEDA;
  --azul-500:#6E7C86;      /* informação   */
  --azul-100:#E2E8EB;

  /* Alpha overlays for glass / protection gradients */
  --alpha-ink-08:rgba(20,32,57,.08);
  --alpha-ink-16:rgba(20,32,57,.16);
  --alpha-ink-56:rgba(20,32,57,.56);
  --alpha-light-64:rgba(255,255,255,.64);
  --alpha-light-88:rgba(255,255,255,.88);
}

:root{
  /* Type scale — 1.25 major-third-ish, tuned for a calm editorial page */
  --text-2xs:11px;
  --text-xs:12px;
  --text-sm:13px;
  --text-base:16px;
  --text-md:17px;
  --text-lg:21px;
  --text-xl:26px;
  --text-2xl:32px;
  --text-3xl:40px;
  --text-4xl:52px;
  --text-5xl:64px;
  --text-6xl:80px;

  --leading-tight:1.08;
  --leading-snug:1.22;
  --leading-normal:1.45;
  --leading-relaxed:1.68;
  --leading-loose:1.8;

  --weight-light:300;
  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;

  /* Tracking — the brand's signature is wide all-caps tracking */
  --tracking-tightest:-0.02em;
  --tracking-tight:-0.01em;
  --tracking-normal:0;
  --tracking-wide:0.06em;
  --tracking-wider:0.14em;
  --tracking-widest:0.24em;

  --measure-narrow:38ch; /* @kind other */
  --measure-base:62ch; /* @kind other */
  --measure-wide:76ch; /* @kind other */

  /* Composed roles */
  --type-display:var(--weight-regular) var(--text-5xl)/var(--leading-tight) var(--font-serif-display);
  --type-h1:var(--weight-regular) var(--text-4xl)/var(--leading-tight) var(--font-serif-display);
  --type-h2:var(--weight-regular) var(--text-3xl)/var(--leading-snug) var(--font-serif-display);
  --type-h3:var(--weight-regular) var(--text-xl)/var(--leading-snug) var(--font-serif-display);
  --type-lede:var(--weight-light) var(--text-lg)/var(--leading-relaxed) var(--font-sans-text);
  --type-body:var(--weight-regular) var(--text-base)/var(--leading-relaxed) var(--font-sans-text);
  --type-small:var(--weight-light) var(--text-sm)/var(--leading-normal) var(--font-sans-text);
  --type-eyebrow:var(--weight-medium) var(--text-xs)/1.2 var(--font-sans-text);
  --type-button:var(--weight-medium) var(--text-sm)/1 var(--font-sans-text);
  --type-legal:var(--weight-light) var(--text-2xs)/var(--leading-normal) var(--font-sans-text);
}

:root{
  /* 4px base, generous upper end — the brand reads as airy, not dense */
  --space-0:0;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --space-20:80px;
  --space-24:96px;
  --space-32:128px;
  --space-40:160px;

  /* Layout */
  --container-max:1200px;
  --container-narrow:760px;
  --gutter-mobile:20px;
  --gutter-desktop:40px;
  --section-y-mobile:64px;
  --section-y-desktop:120px;
  --grid-gap:32px;
  --header-height:76px;
  --tap-min:44px;
}

:root{
  /* Soft, mostly-small radii. Buttons are pills; cards and photography
     are a soft rectangle (--radius-lg). No arch, no hard 0 on imagery. */
  --radius-none:0;
  --radius-xs:2px;
  --radius-sm:4px;
  --radius-md:8px;
  --radius-lg:14px;
  --radius-xl:24px;
  --radius-2xl:32px;
  --radius-pill:999px;
  --radius-circle:50%;
  --border-hairline:1px;
  --border-thick:2px;
}

:root{
  /* Shadows are warm-tinted and very low contrast — the page should feel lit
     by soft daylight, never by a hard drop shadow. */
  --shadow-none:none;
  --shadow-xs:0 1px 2px rgba(138,74,61,.06);
  --shadow-sm:0 2px 8px rgba(138,74,61,.07);
  --shadow-md:0 8px 24px rgba(138,74,61,.09);
  --shadow-lg:0 18px 48px rgba(138,74,61,.12);
  --shadow-xl:0 32px 80px rgba(138,74,61,.14);
  --shadow-inset-hairline:inset 0 0 0 1px rgba(183,143,133,.32);
  --shadow-focus:0 0 0 3px rgba(138,74,61,.45);

  /* Protection gradients — for text laid over photography */
  --scrim-bottom:linear-gradient(to top,rgba(20,32,57,.62) 0%,rgba(20,32,57,.28) 38%,rgba(20,32,57,0) 72%); /* @kind color */
  --scrim-left:linear-gradient(to right,rgba(20,32,57,.55) 0%,rgba(20,32,57,0) 62%); /* @kind color */
  --scrim-light:linear-gradient(to top,rgba(243,235,221,.94) 0%,rgba(243,235,221,0) 70%); /* @kind color */

  /* The only sanctioned gradients: a barely-there warm wash */
  --wash-nude:linear-gradient(180deg,#FFFFFF 0%,#F3EBDD 100%); /* @kind color */
  --wash-nude-soft:linear-gradient(160deg,#F3EBDD 0%,#E9DCD5 100%); /* @kind color */
  --rule-gold:linear-gradient(90deg,rgba(192,138,125,0) 0%,#C08A7D 50%,rgba(192,138,125,0) 100%); /* @kind color */

  /* Fine paper grain — editorial texture, applied at very low strength */
  --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='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E"); /* @kind color */
}

:root{
  /* Motion is slow, soft and short-travelled. Nothing bounces. */
  --duration-instant:80ms; /* @kind other */
  --duration-fast:160ms; /* @kind other */
  --duration-base:240ms; /* @kind other */
  --duration-slow:420ms; /* @kind other */
  --duration-reveal:680ms; /* @kind other */
  --ease-standard:cubic-bezier(.22,.61,.36,1); /* @kind other */
  --ease-out-soft:cubic-bezier(.16,1,.3,1); /* @kind other */
  --ease-in-out-soft:cubic-bezier(.45,.05,.55,.95); /* @kind other */
  --transition-base:all var(--duration-base) var(--ease-standard); /* @kind other */
  --lift-hover:translateY(-2px); /* @kind other */
  --press-scale:scale(.985); /* @kind other */
  --reveal-offset:16px; /* @kind spacing */
  --blur-glass:12px; /* @kind other */
  --blur-soft:24px; /* @kind other */
}
@media (prefers-reduced-motion:reduce){
  :root{
    --duration-fast:0ms; /* @kind other */
    --duration-base:0ms; /* @kind other */
    --duration-slow:0ms; /* @kind other */
    --duration-reveal:0ms; /* @kind other */
    --lift-hover:none; /* @kind other */
    --press-scale:none; /* @kind other */
    --reveal-offset:0px; /* @kind spacing */
  }
}

/* Semantic aliases — components should reference THESE, not the raw ramp. */
:root{
  /* Text */
  --text-strong:var(--nude-900);
  --text-body:var(--nude-800);
  --text-muted:var(--nude-600);
  --text-subtle:#5B6479; /* 5,50 página / 5,01 alt */
  --text-on-dark:var(--nude-50);
  --text-on-dark-muted:rgba(250,246,240,.76);
  --text-accent:var(--rose-texto);
  --text-link:var(--rose-texto);
  --text-link-hover:var(--nude-900);

  /* Surfaces */
  --surface-page:var(--offwhite-quente);
  --surface-page-alt:var(--offwhite-rosado);
  --surface-card:var(--branco-puro);
  /* a página da Rebeca JÁ é o off-white (nude-50): card na mesma cor sumia.
     Card é sempre o branco quente, um tom acima de qualquer fundo. */
  --surface-card-alt:var(--branco-puro);
  --surface-sunken:var(--nude-100);
  --surface-accent:var(--nude-200);
  --surface-inverse:var(--rose-cacau);
  --surface-brand:var(--taupe-profundo);
  --surface-glass:var(--alpha-light-64);

  /* Borders */
  --border-subtle:rgba(183,143,133,.28);
  --border-default:rgba(183,143,133,.48);
  --border-strong:var(--taupe-suave);
  --border-inverse:rgba(250,246,240,.24);
  --border-gold:var(--dourado-400);

  /* Interactive — primary (filled taupe) */
  --action-primary-bg:var(--taupe-profundo);
  --action-primary-bg-hover:var(--nude-800);
  --action-primary-bg-active:var(--nude-900);
  --action-primary-fg:var(--nude-50);

  /* Interactive — secondary (outline) */
  --action-secondary-border:var(--taupe-suave);
  --action-secondary-fg:var(--taupe-profundo);
  --action-secondary-bg-hover:var(--offwhite-rosado);

  /* Interactive — ghost */
  --action-ghost-fg:var(--nude-700);
  --action-ghost-bg-hover:var(--nude-100);

  /* Disabled */
  --action-disabled-bg:var(--nude-200);
  --action-disabled-fg:var(--nude-500);

  /* Focus */
  --focus-ring:var(--shadow-focus);
  --focus-outline:2px solid var(--taupe-profundo);

  /* Form fields */
  --field-bg:var(--branco-puro);
  --field-border:rgba(183,143,133,.48);
  --field-border-hover:var(--taupe-suave);
  --field-border-focus:var(--taupe-profundo);
  --field-placeholder:var(--nude-500);

  /* Feedback */
  --status-success-fg:var(--sage-500);
  --status-success-bg:var(--sage-100);
  --status-warning-fg:var(--ambar-500);
  --status-warning-bg:var(--ambar-100);
  --status-error-fg:var(--terracota-500);
  --status-error-bg:var(--terracota-100);
  --status-info-fg:var(--azul-500);
  --status-info-bg:var(--azul-100);

  /* WhatsApp — the single conversion action. Brand-external color, used only
     for the floating action button glyph background. */
  --whatsapp-green:#25D366;
  --whatsapp-green-dark:#1DA851;
}


:root{--lp-header-h:76px}
*{box-sizing:border-box}
/* iOS: sem text-size-adjust o Safari infla a fonte sozinho ao girar para paisagem
   e o layout se desmonta. 100% = respeita o tamanho que o CSS pediu. */
html{scroll-behavior:smooth;scroll-padding-top:var(--lp-header-h);-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* iOS: o Safari pinta um retangulo cinza atras de cada toque. Removido o flash,
   o retorno de toque volta pelo :active logo abaixo — sem ele o botao fica mudo. */
a,button,summary,[role="button"]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
@media (hover:none){
  .btn:active,.hdr__burger:active,.hdr__item:active{opacity:.72;transition-duration:0s}
}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-sans-text);font-weight:var(--weight-regular);font-size:var(--text-base);line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased;scrollbar-color:var(--nude-400) var(--nude-100)}
body::before{content:"";position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--dourado-400),var(--dourado-200) 50%,var(--dourado-400));z-index:100;pointer-events:none}
img{max-width:100%;display:block;height:auto}
a{color:var(--text-link);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--text-link-hover)}
::selection{background:var(--nude-200)}
button,input,select,textarea{font:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--font-serif-display);font-weight:var(--weight-regular);letter-spacing:var(--tracking-tight);color:var(--text-strong);text-wrap:pretty;font-variant-numeric:lining-nums}
h1{font-size:clamp(36px,5vw,64px);line-height:var(--leading-tight);letter-spacing:var(--tracking-tightest)}
.acc{font-style:italic;color:var(--rose-acento)}
h2{font-size:clamp(28px,3.6vw,40px);line-height:var(--leading-snug)}
h3{font-size:var(--text-xl);line-height:var(--leading-snug);font-weight:var(--weight-regular)}
h4{font-size:18px;font-weight:var(--weight-regular)}
p{margin:0}
.wrap{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter-desktop)}
.narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 var(--gutter-desktop)}
.sec{padding:var(--section-y-desktop) 0}
.sec--alt{background:var(--surface-page-alt)}
.sec--dark{position:relative;overflow:hidden;background:var(--surface-inverse);color:var(--text-on-dark)}
.sec--dark::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 90% at 50% 0%,rgba(192,138,125,.14),transparent 70%);pointer-events:none}
.sec--dark::after{content:"";position:absolute;inset:0;background-image:var(--grain);pointer-events:none}
.sec--dark>*{position:relative;z-index:1}
.sec--dark h2,.sec--dark h3{color:var(--text-on-dark)}
.eyebrow{display:block;font:var(--type-eyebrow);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-muted)}
.eyebrow .no{font-variant-numeric:lining-nums;font-family:var(--font-serif-display);font-style:italic;font-weight:var(--weight-regular);font-size:1.5em;color:var(--dourado-800);letter-spacing:0;text-transform:none;margin-right:var(--space-3);vertical-align:-0.12em}
.sec--dark .eyebrow{color:var(--text-on-dark-muted)}
/* o numeral tem cor própria (dourado-800, feito p/ fundo claro) e a regra acima
   não o alcança: no rosé-cacau dava 1,4:1. Champagne claro = 5,48:1 */
.sec--dark .eyebrow .no{color:var(--dourado-300)}
.rule{height:1px;width:96px;background:var(--rule-gold);margin:var(--space-5) 0 var(--space-6)}
.rule--c{margin-left:auto;margin-right:auto}
.lede{font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--text-body);max-width:var(--measure-base)}
.sec--dark .lede{color:var(--text-on-dark-muted)}
.muted{color:var(--text-muted)}
.legal{font:var(--type-legal);color:var(--text-subtle)}
.center{text-align:center}
.center .lede{margin-left:auto;margin-right:auto}
.head{margin-bottom:var(--space-16)}
.head p{max-width:var(--measure-base)}
.head h2+.lede,.head h2+p,.center h2+.lede{margin-top:var(--space-8)}
.head.center h2{max-width:24ch;margin:0 auto}
/* actions */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:16px 30px;min-height:52px;border:1px solid transparent;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-decoration:none;cursor:pointer;transition:var(--transition-base)}
.btn--pri{background:var(--action-primary-bg);color:var(--action-primary-fg);box-shadow:var(--shadow-xs)}
.btn--pri:hover{background:var(--action-primary-bg-hover);color:var(--action-primary-fg);box-shadow:var(--shadow-md);transform:var(--lift-hover)}
.btn--pri:active{transform:var(--press-scale)}
.btn--sec{border-color:var(--action-secondary-border);color:var(--action-secondary-fg)}
.btn--sec:hover{background:var(--action-secondary-bg-hover);color:var(--action-secondary-fg);transform:var(--lift-hover)}
/* .24 dava 2,15:1 — abaixo dos 3:1 exigidos para contorno de componente */
.btn--inv{border-color:rgba(250,246,240,.45);color:var(--text-on-dark)}
.btn--inv:hover{background:var(--nude-50);color:var(--nude-900);border-color:var(--nude-50)}
/* A seta e decorativa e NAO pode alterar a largura do botao: no fluxo ela crescia
   22px no hover e empurrava o botao vizinho da hero para a linha de baixo.
   Agora vive absoluta dentro do padding direito - hover nao remexe no layout. */
.btn--pri,.btn--inv{position:relative}
.btn--pri::after,.btn--inv::after{content:"→";position:absolute;right:12px;top:50%;opacity:0;transform:translate(-6px,-50%);pointer-events:none;transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}
.btn--pri:hover::after,.btn--inv:hover::after{opacity:1;transform:translate(0,-50%)}
/* botao pequeno nao tem folga no padding para hospedar a seta */
.btn--sm::after{content:none}
.btn--sm{padding:11px 20px;min-height:40px;font-size:var(--text-xs);white-space:nowrap}
.btn--block{width:100%}
.btn:focus-visible{outline:var(--focus-outline);outline-offset:2px;box-shadow:var(--shadow-focus)}
/* em fundo escuro o indicador de foco taupe reprova (2,28-2,92:1): inverte para claro */
.sec--dark .btn:focus-visible,.ft .btn:focus-visible{outline-color:var(--nude-50);box-shadow:0 0 0 3px rgba(250,246,240,.45)}
.sec--dark a:focus-visible,.ft a:focus-visible{outline:2px solid var(--nude-50);outline-offset:2px}
.actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-10)}
.micro{display:block;margin-top:var(--space-4);font:var(--type-legal);color:var(--text-body)}
/* o rodape e escuro: la o .micro precisa do tom claro, senao some (1,88:1) */
.ft .micro{color:var(--text-on-dark-muted)}
.sec--dark .micro{color:var(--text-on-dark-muted)}
/* heroi: o aviso deixou de ser letra miuda. Ele informa no ponto exato em que
   a pessoa decide clicar, entao vai no corpo do texto e centralizado sob os
   botoes, que ocupam 100% da coluna nas duas larguras. */
.hero .micro{font:var(--type-body);text-align:center;margin-top:var(--space-6)}
/* header */
/* o vidro vive num pseudo-elemento: backdrop-filter no proprio .hdr viraria bloco de
   contencao e colapsaria a gaveta position:fixed do menu mobile */
.hdr{position:sticky;top:0;z-index:60;height:var(--lp-header-h);border-bottom:1px solid var(--border-subtle)}
/* iOS: z-index NEGATIVO + backdrop-filter dentro de sticky faz o vidro sumir ou
   borrar errado ao rolar. z-index:0 mantem a ordem (o .hdr__in esta em 2) e o
   translateZ(0) da ao vidro uma camada propria, estabilizando a repintura. */
.hdr::before{content:"";position:absolute;inset:0;z-index:0;transform:translateZ(0);background:var(--alpha-light-88);-webkit-backdrop-filter:blur(var(--blur-glass));backdrop-filter:blur(var(--blur-glass))}
.hdr__in{position:relative;z-index:2;display:flex;align-items:center;gap:var(--space-6);height:100%}
.hdr__logo{flex:0 0 auto;display:flex}
.hdr__logo img{width:236px}
/* MENU (29/09): Emagrecimento ▾ · Harmonização glútea ▾ · Agendamento · Blog.
   O .hdr__grupo ocupa a altura toda do cabeçalho: é a ponte do mouse entre o
   item e o painel. O painel (.hdr__sub) mede-se pelo .hdr__in (os grupos NÃO
   são posicionados), então fica centrado sob o cabeçalho e nunca vaza da tela.
   Fechado, ele é visibility:hidden — os links saem da ordem de tabulação. */
.hdr__nav{display:flex;align-items:stretch;align-self:stretch;gap:var(--space-6);margin-left:auto}
.hdr__item{position:relative;display:inline-flex;align-items:center;padding:8px 0;font-size:var(--text-sm);letter-spacing:var(--tracking-wide);color:var(--text-muted);text-decoration:none;white-space:nowrap;transition:color var(--duration-fast) var(--ease-standard)}
.hdr__item--solo{align-self:center}
.hdr__item:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--border-gold);transition:width var(--duration-base) var(--ease-standard)}
.hdr__item:hover,.hdr__item[aria-current],.hdr__grupo[data-aberto] .hdr__item{color:var(--text-accent)}
.hdr__item:hover:after,.hdr__item[aria-current]:after{width:100%}
.hdr__grupo{display:flex;align-items:center}
.hdr__linha{display:flex;align-items:center;gap:2px}
.hdr__abre{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:-6px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-subtle);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}
.hdr__abre svg{width:15px;height:15px;transition:transform var(--duration-base) var(--ease-out-soft)}
.hdr__abre:hover,.hdr__grupo[data-aberto] .hdr__abre{color:var(--text-accent);background:var(--surface-page-alt)}
.hdr__abre:focus-visible{outline:var(--focus-outline);outline-offset:2px}
.hdr__grupo[data-aberto] .hdr__abre svg{transform:rotate(180deg)}
.hdr__sub{position:absolute;top:100%;left:50%;z-index:3;width:min(800px,calc(100% - 2 * var(--gutter-desktop)));padding-top:10px;opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity var(--duration-fast) var(--ease-standard),transform var(--duration-base) var(--ease-out-soft),visibility 0s linear var(--duration-base)}
.hdr__grupo[data-aberto] .hdr__sub{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}
.hdr__sub-in{display:grid;grid-template-columns:240px minmax(0,1fr);overflow:hidden;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl),0 2px 8px rgba(138,74,61,.06)}
.hdr__sub-intro{position:relative;display:flex;flex-direction:column;padding:var(--space-8) var(--space-6) var(--space-6);background:var(--wash-nude);border-right:1px solid var(--border-subtle)}
.hdr__sub-intro::before{content:"";position:absolute;left:var(--space-6);top:0;width:48px;height:2px;background:var(--dourado-400)}
.hdr__sub-kicker{font:var(--type-eyebrow);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-subtle)}
.hdr__sub-tit{margin-top:var(--space-3);font-family:var(--font-serif-display);font-weight:var(--weight-regular);font-size:25px;line-height:1.15;color:var(--text-strong)}
.hdr__sub-txt{margin-top:var(--space-3);font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--text-muted)}
.hdr__sub-ver{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:auto;padding-top:var(--space-6);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);color:var(--text-accent);text-decoration:none}
.hdr__sub-ver svg{width:15px;height:15px;color:var(--dourado-700);transition:transform var(--duration-base) var(--ease-out-soft)}
.hdr__sub-ver:hover svg,.hdr__sub-ver:focus-visible svg{transform:translateX(3px)}
.hdr__sub-lista{list-style:none;margin:0;padding:var(--space-5) var(--space-5);columns:2;column-gap:var(--space-2)}
.hdr__sub-lista li{break-inside:avoid}
.hdr__sub-lista a{display:flex;align-items:baseline;gap:var(--space-3);padding:10px 12px;border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.35;color:var(--text-strong);text-decoration:none;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}
.hdr__sub-lista i{flex:0 0 22px;font-family:var(--font-serif-display);font-style:italic;font-size:17px;line-height:1;font-variant-numeric:lining-nums;color:var(--dourado-700);transition:transform var(--duration-base) var(--ease-out-soft)}
.hdr__sub-lista a:hover,.hdr__sub-lista a:focus-visible{background:var(--surface-page-alt);color:var(--text-accent)}
.hdr__sub-lista a:hover i{transform:translateX(2px)}
.hdr__sub a:focus-visible{outline:var(--focus-outline);outline-offset:-2px}
.hdr__burger{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:transparent;color:var(--text-accent);align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--duration-base) var(--ease-standard),background var(--duration-base) var(--ease-standard)}
.hdr__burger:hover{border-color:var(--border-strong)}
.hdr__burger[aria-expanded="true"]{background:var(--surface-page-alt);border-color:var(--border-strong)}
.hdr__bars{position:relative;display:block;width:18px;height:12px}
.hdr__bars i{position:absolute;left:0;right:0;height:1.5px;border-radius:2px;background:currentColor;transition:transform var(--duration-base) var(--ease-out-soft),opacity var(--duration-fast) var(--ease-standard)}
.hdr__bars i:nth-child(1){top:0}
.hdr__bars i:nth-child(2){top:5px}
.hdr__bars i:nth-child(3){top:10px}
.hdr__burger[aria-expanded="true"] .hdr__bars i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.hdr__burger[aria-expanded="true"] .hdr__bars i:nth-child(2){opacity:0}
.hdr__burger[aria-expanded="true"] .hdr__bars i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.hdr__kicker,.hdr__foot,.hdr__scrim{display:none}
/* hero */
.hero{position:relative;background:var(--wash-nude);padding:var(--space-24) 0 var(--space-20);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(52% 62% at 84% 14%,rgba(192,138,125,.18),transparent 68%),radial-gradient(46% 56% at 6% 90%,rgba(216,194,186,.55),transparent 70%);pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;background-image:var(--grain);pointer-events:none}
.hero>.wrap{position:relative;z-index:1}
.hero__in{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--space-20);align-items:center}
.hero__ph{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3/4;position:relative}
.hero__frame{position:relative;padding:12px}
.hero__frame:before{content:"";position:absolute;inset:0;border:1px solid var(--border-gold);border-radius:var(--radius-lg);pointer-events:none}
.hero__frame > .hero__echo{position:absolute;inset:-9px;border:1px solid rgba(192,138,125,.3);border-radius:calc(var(--radius-lg) + 8px);pointer-events:none}
/* provas de autoridade sobre a foto do hero */
.hero__proof{list-style:none;margin:0;padding:0}
.hero__proof-i{position:absolute;z-index:2;width:238px}
.hero__proof-c{position:relative;padding:var(--space-4) var(--space-5);background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.7);border-left:2px solid var(--dourado-400);border-radius:var(--radius-md);box-shadow:var(--shadow-lg),0 2px 6px rgba(138,74,61,.07)}
.hero__proof-n{display:block;font-family:var(--font-serif-display);font-weight:var(--weight-regular);font-variant-numeric:lining-nums;font-size:40px;line-height:1;letter-spacing:var(--tracking-tight);color:var(--nude-800)}
.hero__proof-n .sg{font-size:.5em;color:var(--dourado-800);vertical-align:.38em;letter-spacing:0}
.hero__proof-n .sg--p{margin-right:2px}
.hero__proof-n .sg--s{margin-left:1px}
/* balão sem número: o rótulo sobe para a serifa e o card vira uma fala, para o
   trio não parecer um card quebrado no meio de dois números. */
.hero__proof-i--fala .hero__proof-lb{font-family:var(--font-serif-display);font-size:20px;font-weight:var(--weight-regular);letter-spacing:.01em;text-transform:none;line-height:1.22;color:var(--text-strong);margin-top:0}
.hero__proof-i--fala .hero__proof-sb{font-family:var(--font-serif-display);font-style:italic;font-size:16px;text-transform:none;letter-spacing:.01em;color:var(--text-body)}
/* linha de apoio do card numérico: fecha o sentido do número, em voz mais baixa */
.hero__proof-sb{display:block;margin-top:6px;font-family:var(--font-serif-display);font-style:italic;font-size:13px;line-height:1.35;letter-spacing:.01em;color:var(--text-muted)}
.hero__proof-lb{display:block;margin-top:10px;font-family:var(--font-sans-text);font-size:9.5px;font-weight:var(--weight-semibold);letter-spacing:.13em;text-transform:uppercase;line-height:1.5;color:var(--taupe-profundo);min-height:29px}
.hero__proof-i:nth-child(1){top:21%;left:-54px}
.hero__proof-i:nth-child(2){top:48%;right:clamp(-42px,(1200px - 100vw)/2 - 8px,0px)}
.hero__proof-i:nth-child(3){bottom:4%;left:-36px}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes heroFloatSm{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes fadeUp{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
.hero__in>div:first-child>*{opacity:0;transform:translateY(14px);animation:fadeUp var(--duration-reveal) var(--ease-out-soft) forwards}
.hero__in>div:first-child>*:nth-child(1){animation-delay:60ms}
.hero__in>div:first-child>*:nth-child(2){animation-delay:130ms}
.hero__in>div:first-child>*:nth-child(3){animation-delay:200ms}
.hero__in>div:first-child>*:nth-child(4){animation-delay:280ms}
.hero__in>div:first-child>*:nth-child(5){animation-delay:360ms}
.hero__in>div:first-child>*:nth-child(6){animation-delay:430ms}
.hero__in>div:first-child>*:nth-child(7){animation-delay:500ms}
.hero__frame{opacity:0;transform:translateY(18px);animation:fadeUp 720ms var(--ease-out-soft) 220ms forwards}
.hero__proof-i{opacity:0;transform:translateY(16px);animation:fadeUp 760ms var(--ease-out-soft) forwards}
.hero__proof-i:nth-child(1){animation-delay:520ms}
.hero__proof-i:nth-child(2){animation-delay:640ms}
.hero__proof-i:nth-child(3){animation-delay:760ms}
.hero__proof-c{animation:heroFloat 7.4s ease-in-out infinite}
.hero__proof-i:nth-child(2) .hero__proof-c{animation-duration:8.8s;animation-delay:-2.6s}
.hero__proof-i:nth-child(3) .hero__proof-c{animation-duration:6.6s;animation-delay:-4.1s}
}
.hero__ph img{width:100%;height:100%;object-fit:cover;object-position:center 15%;transition:transform var(--duration-slow) var(--ease-out-soft)}
.hero__frame:hover .hero__ph img{transform:scale(1.02)}
/* facts — barra escura editorial */
.facts{position:relative;overflow:hidden;background:var(--nude-950)}
.facts::before{content:"";position:absolute;inset:0;background-image:var(--grain);pointer-events:none}
.facts::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(192,138,125,0),var(--dourado-400) 50%,rgba(192,138,125,0)) top/100% 1px no-repeat,linear-gradient(90deg,rgba(192,138,125,0),var(--dourado-400) 50%,rgba(192,138,125,0)) bottom/100% 1px no-repeat,radial-gradient(50% 130% at 50% 0%,rgba(192,138,125,.1),transparent 70%)}
.facts__in{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:var(--container-max);margin:0 auto;padding:var(--space-10) var(--gutter-desktop);list-style:none}
.facts .stat{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-6);border-left:1px solid var(--border-inverse)}
.facts .stat:first-child{padding-left:0;border-left:0}
.facts .stat:last-child{padding-right:0}
.stat__ico{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(192,138,125,.5);border-radius:var(--radius-pill);color:var(--dourado-400);transition:var(--transition-base)}
.stat__ico svg{width:20px;height:20px}
.stat:hover .stat__ico{background:rgba(192,138,125,.16);border-color:var(--dourado-400)}
.stat div>b{display:block;font-family:var(--font-serif-display);font-weight:var(--weight-regular);font-size:clamp(19px,1.8vw,24px);line-height:1.1;color:var(--text-on-dark)}
.stat div>span{display:block;margin-top:var(--space-1);font:var(--type-eyebrow);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--dourado-300)}
/* grids + cards */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--space-20);align-items:center}
.split--faq{grid-template-columns:1.4fr .6fr}
.split--half{grid-template-columns:1fr 1fr}
.split--r{grid-template-columns:1.1fr .9fr}
.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-8);transition:transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}
.g3 .card:hover,.g4 .card:hover{transform:var(--lift-hover);box-shadow:var(--shadow-md);border-color:rgba(192,138,125,.55)}
.sec--alt .card{background:var(--surface-card)}
.sec:not(.sec--alt) .card{background:var(--surface-card-alt)}
.card h3,.card h4{margin-bottom:var(--space-3)}
.card h3{font-size:22px}
.card p{font-size:var(--text-sm);line-height:var(--leading-relaxed)}
.ico{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-pill);background:transparent;border:1px solid rgba(192,138,125,.55);color:var(--dourado-700);margin-bottom:var(--space-5);transition:var(--transition-base)}
.card:hover .ico{background:var(--dourado-200);border-color:var(--dourado-400);color:var(--nude-800)}
/* slider de serviços — fio de ouro como progresso */
.slider{position:relative}
.slider__track{display:flex;gap:var(--space-6);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 6px var(--space-4);margin:-6px -6px 0;scrollbar-width:none}
.slider__track::-webkit-scrollbar{display:none}
.slider__track:focus-visible{outline:var(--focus-outline);outline-offset:2px}
.slider__track>.card{flex:0 0 calc((100% - 2*var(--space-6) - 12px)/3);scroll-snap-align:start;min-width:0}
.slider__nav{display:flex;align-items:center;gap:var(--space-6);margin-top:var(--space-8)}
.slider__btn{flex:0 0 auto;width:44px;height:44px;border-radius:var(--radius-pill);border:1px solid rgba(192,138,125,.55);background:var(--branco-puro);color:var(--dourado-700);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-base)}
.slider__btn svg{width:20px;height:20px}
.slider__btn:hover:not(:disabled){background:var(--dourado-200);border-color:var(--dourado-400);color:var(--nude-800);transform:var(--lift-hover)}
.slider__btn:disabled{opacity:.35;cursor:default}
.slider__btn:focus-visible{outline:var(--focus-outline);outline-offset:2px}
.slider__bar{flex:1;height:1px;background:var(--border-subtle);position:relative;overflow:hidden}
.slider__bar span{position:absolute;left:0;top:0;height:100%;background:var(--dourado-400);width:0;transition:width 200ms var(--ease-standard)}
@media (prefers-reduced-motion:reduce){.slider__track{scroll-behavior:auto}}
@media (prefers-reduced-motion:reduce){.hdr__grupo,.hdr__item--solo,.hdr__foot{transition-delay:0s !important}.hdr__sub{transition:none !important}}
.ico svg{width:22px;height:22px}
.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}
.list li{display:flex;gap:var(--space-3);font-size:var(--text-base);line-height:var(--leading-relaxed)}
.list--rule li{padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}
.list--rule li:last-child{padding-bottom:0;border-bottom:0}
.list svg{width:18px;height:18px;flex:0 0 auto;margin-top:5px;color:var(--dourado-400)}
.list--no svg{color:var(--taupe-suave)}
/* etapas — linha do tempo com fio de ouro */
.steps{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-6);padding-top:44px}
.steps::before{content:"";position:absolute;top:12px;left:24px;right:24px;height:1px;background:linear-gradient(90deg,rgba(192,138,125,0),var(--dourado-400) 8%,var(--dourado-400) 92%,rgba(192,138,125,0))}
.step{position:relative;display:flex;flex-direction:column;gap:var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-8) var(--space-6) var(--space-6);transition:transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}
.step::before{content:"";position:absolute;top:-38px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--surface-page-alt);border:2px solid var(--dourado-400);box-shadow:0 0 0 4px rgba(192,138,125,.18);transition:background var(--duration-base) var(--ease-standard)}
.step:hover{transform:var(--lift-hover);box-shadow:var(--shadow-md);border-color:rgba(192,138,125,.55)}
.step:hover::before{background:var(--dourado-400)}
.step b{font-variant-numeric:lining-nums;position:absolute;top:10px;right:16px;font-family:var(--font-serif-display);font-style:italic;font-weight:var(--weight-regular);font-size:52px;line-height:1;color:var(--dourado-400);opacity:.45;pointer-events:none;transition:opacity var(--duration-base) var(--ease-standard)}
.step:hover b{opacity:.85}
.step>svg{width:44px;height:44px;padding:10px;border:1px solid rgba(192,138,125,.55);border-radius:var(--radius-pill);background:var(--branco-puro);color:var(--dourado-700);transition:var(--transition-base)}
.step:hover>svg{background:var(--dourado-200);border-color:var(--dourado-400);color:var(--nude-800)}
.step p{font-size:var(--text-sm)}
.step h3{font-size:18px;line-height:var(--leading-snug)}
@media (prefers-reduced-motion:no-preference){
.steps::before{transform:scaleX(0);transform-origin:0 50%;transition:transform 1100ms var(--ease-out-soft) 150ms}
.steps.rv.in::before{transform:scaleX(1)}
.step::before{transform:scale(0)}
.steps.rv.in .step::before{transform:scale(1);transition:transform 300ms var(--ease-out-soft),background var(--duration-base) var(--ease-standard)}
.steps.rv.in .step:nth-child(1)::before{transition-delay:250ms}
.steps.rv.in .step:nth-child(2)::before{transition-delay:440ms}
.steps.rv.in .step:nth-child(3)::before{transition-delay:630ms}
.steps.rv.in .step:nth-child(4)::before{transition-delay:820ms}
.steps.rv.in .step:nth-child(5)::before{transition-delay:1010ms}
}
/* notices */
.note{display:flex;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-inset-hairline)}
.note svg{width:18px;height:18px;flex:0 0 auto;margin-top:4px}
.note b{display:block;font:var(--type-eyebrow);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-bottom:var(--space-2)}
.note p{font-size:var(--text-sm);line-height:var(--leading-normal);max-width:var(--measure-base)}
.note--quiet{background:var(--surface-page-alt);border:1px solid var(--border-subtle)}
.note--quiet b,.note--quiet svg{color:var(--text-muted)}
/* faq */
/* ===== FAQ =====
   Índice em fio fino sobre o fundo rosado; ao abrir, a entrada SOBE para papel
   branco com sombra. Duas regras que valem lembrar:
   1) o padding horizontal é CONSTANTE nos dois estados — antes o open
      acrescentava padding-left e o texto pulava de lugar ao abrir;
   2) o raio dos cantos só entra JUNTO com o fundo branco, quando o fio de baixo
      some: raio com borda de um lado só deixa o fio curvando no vazio.        */
.faq__h{margin:0;font-size:inherit}
.faq__i{position:relative;border-bottom:1px solid var(--border-subtle);transition:background var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),margin var(--duration-base) var(--ease-standard)}
.faq__i[data-open]{margin:var(--space-3) 0;background:var(--surface-card);border-bottom-color:transparent;border-radius:var(--radius-md);box-shadow:var(--shadow-md),inset 2px 0 0 var(--dourado-400)}
/* o fio do item anterior sumiria por baixo do cartão branco: apaga */
.faq__i:has(+ .faq__i[data-open]){border-bottom-color:transparent}
.faq__i:last-child{border-bottom:0}
.faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding:var(--space-6) var(--space-5);min-height:var(--tap-min);background:transparent;border:0;text-align:left;cursor:pointer;font-family:var(--font-serif-display);font-weight:var(--weight-regular);font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--text-body);transition:color var(--duration-base) var(--ease-standard)}
.faq__q:hover,.faq__i[data-open] .faq__q{color:var(--text-strong)}
.faq__t{flex:0 0 auto;position:relative;width:28px;height:28px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);transition:var(--transition-base)}
.faq__q:hover .faq__t{border-color:var(--border-strong)}
.faq__i[data-open] .faq__t{border-color:var(--dourado-400);background:var(--dourado-200)}
.faq__t:before,.faq__t:after{content:"";position:absolute;background:var(--taupe-profundo);transition:transform var(--duration-base) var(--ease-standard)}
.faq__t:before{left:8px;right:8px;top:13px;height:1px}
.faq__t:after{top:8px;bottom:8px;left:13px;width:1px}
.faq__i[data-open] .faq__t:after{transform:scaleY(0)}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-base) var(--ease-standard)}
.faq__i[data-open] .faq__a{grid-template-rows:1fr}
.faq__a>div{overflow:hidden}
.faq__a p{margin:0;padding:0 var(--space-5) var(--space-6);font-size:var(--text-base);line-height:var(--leading-relaxed);max-width:var(--measure-base);color:var(--text-body)}
.faq__a p:not(:last-child){padding-bottom:var(--space-4)}
/* rótulo do grupo: respiro generoso acima e fio dourado, para não virar
   mais um fio igual aos dos itens */
.faq__grupo{margin:var(--space-16) 0 0;padding:0 var(--space-5) var(--space-5);font:var(--type-eyebrow);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--dourado-800);border-bottom:1px solid var(--border-gold)}
.faq__grupo:first-child{margin-top:0}
/* reviews placeholder (oculta) */
.rev{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-top:var(--space-12)}
.rev div{min-height:120px;border:1px dashed var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;justify-content:space-between}
.rev b{font:var(--type-eyebrow);letter-spacing:var(--tracking-wide);color:var(--text-subtle)}
.rev span{font:var(--type-legal);color:var(--text-subtle)}
/* form */
.contact{display:flex;flex-direction:column;gap:var(--space-6)}
.contact--rule .contact__row{padding-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle)}
.contact--rule .contact__row:last-child{padding-bottom:0;border-bottom:0}
.contact__row{display:flex;gap:var(--space-4)}
.contact__row svg{width:20px;height:20px;flex:0 0 auto;margin-top:4px;color:var(--taupe-suave)}
.contact__row b{display:block;font:var(--type-eyebrow);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-subtle)}
.contact__row span{display:block;margin-top:2px;color:var(--text-strong)}
/* ===== RODAPÉ (21/10/2026, substitui o minimalista de 19/10) =====
   marca centrada (fio com losango + logo + frase + ícones) · fio ·
   identificação (CFN art. 21) | nota · fio · base. O losango e o anel duplo
   dos ícones repetem a logo. Efeito: .ft__marca é .rv; ao entrar (.in) o fio
   se desenha a partir do losango e os ícones chegam em sequência. */
.ft{position:relative;background:radial-gradient(ellipse 58% 62% at 50% 0%,rgba(192,138,125,.13) 0%,rgba(192,138,125,0) 72%),var(--nude-950);color:var(--text-on-dark)}
.ft__in{max-width:var(--container-max);margin:0 auto;padding:var(--space-16) var(--gutter-desktop) var(--space-8)}
.ft__marca{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
/* aviso "E-mail copiado" (site.js): sob os ícones, sem ocupar espaço */
.ft__aviso{position:absolute;left:0;right:0;top:calc(100% + 10px);margin:0;font-family:var(--font-sans-text);font-size:var(--text-xs);line-height:1.4;color:var(--dourado-300);opacity:0;transition:opacity var(--duration-base) var(--ease-standard);pointer-events:none}
.ft__aviso.is-vis{opacity:1}
/* o fio: duas linhas que nascem no losango */
.ft__orn{display:flex;align-items:center;justify-content:center;gap:14px;width:min(560px,100%);margin-bottom:var(--space-10)}
.ft__orn i{flex:1;height:1px;background:linear-gradient(90deg,rgba(192,138,125,0),var(--dourado-400))}
.ft__orn i:first-child{transform-origin:right center}
.ft__orn i:last-child{background:linear-gradient(90deg,var(--dourado-400),rgba(192,138,125,0));transform-origin:left center}
.ft__orn b{flex:none;width:7px;height:7px;background:var(--dourado-300);transform:rotate(45deg)}
.ft .ft__logo{display:inline-flex;border-radius:4px}
.ft .ft__logo img{display:block;width:400px;max-width:100%;height:auto}
.ft__redes{display:flex;justify-content:center;gap:var(--space-4);margin:var(--space-8) 0 0;padding:0;list-style:none}
.ft__redes li{margin:0;padding:0}
/* ícone redondo; o ::after é o segundo anel (o selo da logo), que aparece no hover */
.ft a.ft__rede{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(243,235,221,.34);border-radius:50%;color:var(--text-on-dark);text-decoration:none;transition:background-color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-out-soft)}
.ft a.ft__rede::after{content:"";position:absolute;inset:-6px;border:1px solid var(--dourado-400);border-radius:50%;opacity:0;transform:scale(.8);transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-slow) var(--ease-out-soft);pointer-events:none}
.ft a.ft__rede svg{width:20px;height:20px;flex:none}
.ft a.ft__rede:hover{background-color:var(--dourado-300);border-color:var(--dourado-300);color:var(--nude-950);transform:translateY(-3px)}
.ft a.ft__rede:hover::after{opacity:1;transform:scale(1)}
.ft a.ft__rede:focus-visible{outline:2px solid var(--nude-50);outline-offset:8px}
/* identificação | nota, entre dois fios */
.ft__info{display:grid;grid-template-columns:auto minmax(0,62ch);justify-content:center;align-items:center;gap:var(--space-4) var(--space-10);margin-top:var(--space-12);padding:var(--space-8) 0;border-top:1px solid var(--border-inverse);border-bottom:1px solid var(--border-inverse)}
.ft__id{margin:0;padding-right:var(--space-10);border-right:1px solid var(--border-inverse);font-family:var(--font-sans-text);font-size:var(--text-sm);line-height:1.55;color:var(--text-on-dark-muted)}
.ft__id strong{display:block;margin-bottom:2px;font-family:var(--font-serif-display);font-size:var(--text-lg);font-weight:500;line-height:1.2;color:var(--text-on-dark)}
.ft__id>span{display:block}
.ft__id>span:first-of-type{color:var(--dourado-300);font-weight:var(--weight-semibold)}
.ft__nota{margin:0;font-family:var(--font-sans-text);font-size:var(--text-xs);line-height:1.65;color:var(--text-on-dark-muted)}
.ft__base{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--space-2) var(--space-6);margin-top:var(--space-6);font-family:var(--font-sans-text);font-size:var(--text-xs);line-height:1.6;color:var(--text-on-dark-muted)}
.ft a.ft__ln{display:inline-block;padding:3px 0;color:inherit;text-decoration:underline;text-decoration-color:rgba(243,235,221,.35);text-underline-offset:3px;transition:color var(--duration-base) var(--ease-standard),text-decoration-color var(--duration-base) var(--ease-standard)}
.ft a.ft__ln:hover{color:var(--dourado-300);text-decoration-color:currentColor}
/* o efeito de entrada (só com movimento liberado; sem JS o .rv já fica visível) */
@media (prefers-reduced-motion:no-preference){
.ft__marca.rv .ft__orn i{transform:scaleX(0);transition:transform 1100ms var(--ease-out-soft) 200ms}
.ft__marca.rv .ft__orn b{transform:rotate(45deg) scale(0);transition:transform 520ms var(--ease-out-soft) 60ms}
.ft__marca.rv.in .ft__orn i{transform:scaleX(1)}
.ft__marca.rv.in .ft__orn b{transform:rotate(45deg) scale(1)}
.ft__marca.rv .ft__redes li{opacity:0;transform:translateY(10px);transition:opacity 480ms var(--ease-standard),transform 620ms var(--ease-out-soft)}
.ft__marca.rv.in .ft__redes li{opacity:1;transform:none}
.ft__marca.rv.in .ft__redes li:nth-child(1){transition-delay:520ms}
.ft__marca.rv.in .ft__redes li:nth-child(2){transition-delay:600ms}
.ft__marca.rv.in .ft__redes li:nth-child(3){transition-delay:680ms}
.ft__marca.rv.in .ft__redes li:nth-child(4){transition-delay:760ms}
}
/* whatsapp fab */
.fab{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:90;width:56px;height:56px;border-radius:var(--radius-pill);background:var(--whatsapp-green);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:var(--transition-base)}
.fab:hover{background:var(--whatsapp-green-dark);color:#fff;box-shadow:var(--shadow-lg);transform:var(--lift-hover)}
.fab svg{width:28px;height:28px}
/* photos */
.ph{border-radius:var(--radius-lg);overflow:hidden;position:relative}
.ph img{width:100%;height:100%;object-fit:cover;object-position:center 12%;transition:transform var(--duration-slow) var(--ease-out-soft)}
.ph:hover img{transform:scale(1.025)}
.ph::after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.35);border-radius:calc(var(--radius-lg) - 6px);pointer-events:none}
.ph--34{aspect-ratio:3/4}
.ph--45{aspect-ratio:4/5}
.ph--54{aspect-ratio:5/4}
/* ============ IMAGENS ILUSTRATIVAS (29/09/2026) ============
   Saída de ms_ilustrativa() (partials/imagens.php): <span class="ilus"> com a
   <img> e a pílula "Imagem ilustrativa" no canto inferior esquerdo.
   - .ilus não tem medida própria: fora de .ph fica do tamanho da <img>;
     dentro de .ph (caixa com aspect-ratio) preenche a caixa.
   - Pílula: tinta #142039 sobre rgba(255,253,250,.92) — acima de 11:1 até
     sobre preto (pior caso). Sem backdrop-filter (cria bloco de contenção).
   - pointer-events:none para não roubar clique; aria-hidden no HTML. */
.ilus{position:relative;display:block}
.ilus>img{display:block;width:100%;height:auto}
.ph>.ilus{position:absolute;inset:0}
.ph>.ilus>img{height:100%}
.ilus-tag{position:absolute;left:10px;bottom:10px;z-index:1;display:block;max-width:calc(100% - 20px);padding:4px 10px;border-radius:var(--radius-pill);background:rgba(255,253,250,.92);color:#142039;font-family:var(--font-sans-text);font-size:10.5px;font-weight:600;line-height:1.25;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;user-select:none;box-shadow:0 1px 2px rgba(20,32,57,.16)}
/* dentro de .ph a moldura interna (::after, inset 12px) cortaria a pílula */
.ph .ilus-tag{left:20px;bottom:20px}
/* faixa larga: arquivo 16:9, mostrado em 21:9 no computador (object-position no HTML) */
.faixa{margin:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.faixa img{aspect-ratio:21/9;object-fit:cover}
.faixa--sinais{margin-top:var(--space-12)}
/* o cartão "Não faz parte" sobe sobre a base da faixa */
.faixa-sobe{position:relative;z-index:1;margin-top:-104px}
/* cartões de Serviços com foto: a foto encosta nas bordas do cartão */
.card--foto{padding:0;overflow:hidden;display:flex;flex-direction:column}
.card--foto .card__foto img{aspect-ratio:16/10;object-fit:cover}
.card__corpo{padding:var(--space-6) var(--space-8) var(--space-8)}
.notas{display:flex;flex-direction:column;gap:var(--space-5)}
/* faixa entre o título e o conteúdo da seção (landing glútea) */
.faixa--antes{margin-bottom:var(--space-12)}
/* cartões com foto em grade .g3: a regra compacta do celular (.g3>.card) não
   pode devolver o padding ao cartão, senão a foto descola das bordas */
.g3>.card.card--foto{padding:0}
/* CARROSSEL de retratos 2:3 (galeria de contorno da landing glútea, 29/09).
   Editorial: a foto ativa fica no centro, nítida e inteira; as vizinhas, menores
   e esmaecidas, aparecem dos lados (a faixa ocupa a LARGURA TODA da tela, fora
   do .wrap). O JS (site.js) clona uma volta antes e outra depois (laço
   infinito), anima a rolagem com easing próprio (desliga o encaixe no meio) e
   marca .is-ativo. Sem JS: faixa rolável com encaixe, todas nítidas.
   --w  largura do slide; --gap espaço entre slides; --respiro folga vertical
   para a sombra e a escala não serem cortadas pelo overflow da faixa. */
.carrossel{--w:clamp(300px,25vw,380px);--gap:28px;--respiro:40px;--dur:5200ms;position:relative}
.carrossel__trilho{position:relative;display:flex;align-items:center;gap:var(--gap);margin:0;padding:var(--respiro) calc(50% - var(--w) / 2);list-style:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.carrossel__trilho::-webkit-scrollbar{display:none}
.carrossel__trilho.sem-snap{scroll-snap-type:none}
.carrossel__trilho:focus-visible{outline:var(--focus-outline);outline-offset:-6px}
.carrossel__slide{flex:0 0 var(--w);scroll-snap-align:center;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transform:scale(.86);opacity:.5;filter:saturate(.75);transition:transform 1s var(--ease-out-soft),opacity 1s var(--ease-out-soft),filter 1s var(--ease-out-soft),box-shadow 1s var(--ease-out-soft)}
.carrossel__slide img{aspect-ratio:2/3;object-fit:cover}
.carrossel__slide.is-ativo{transform:none;opacity:1;filter:none;box-shadow:var(--shadow-xl),0 10px 30px rgba(27,43,75,.12)}
.carrossel.sem-transicao .carrossel__slide{transition:none}
.carrossel:not(.carrossel--pronto) .carrossel__slide{transform:none;opacity:1;filter:none}
/* setas: vidro claro, fio dourado, no vão entre a foto ativa e as vizinhas */
.carrossel__seta{position:absolute;top:calc(var(--respiro) + var(--w) * .75);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-top:-28px;padding:0;border:1px solid rgba(192,138,125,.55);border-radius:50%;background:rgba(255,253,250,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--dourado-700);box-shadow:var(--shadow-md);cursor:pointer;transition:transform var(--duration-base) var(--ease-out-soft),background var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}
.carrossel__seta svg{width:22px;height:22px}
.carrossel__seta--ant{left:calc(50% - var(--w) / 2 - var(--gap) / 2 - 28px)}
.carrossel__seta--prox{right:calc(50% - var(--w) / 2 - var(--gap) / 2 - 28px)}
.carrossel__seta--prox svg{transform:scaleX(-1)}
.carrossel__seta:hover{background:var(--branco-puro);color:var(--text-accent);box-shadow:var(--shadow-lg);transform:scale(1.06)}
.carrossel__seta:active{transform:scale(.96)}
.carrossel__seta:focus-visible,.carrossel__pausa:focus-visible,.carrossel__seg:focus-visible{outline:var(--focus-outline);outline-offset:3px}
/* barra de controle: pausa · contador "01 / 06" · barras de progresso */
.carrossel__controles{display:flex;align-items:center;justify-content:center;gap:var(--space-5);margin-top:var(--space-2)}
.carrossel__pausa{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--border-default);border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}
.carrossel__pausa:hover{color:var(--text-accent);border-color:var(--border-strong);background:var(--surface-card)}
.carrossel__pausa svg{width:14px;height:14px}
.carrossel__ico-play{display:none}
.carrossel.is-parado .carrossel__ico-pausa{display:none}
.carrossel.is-parado .carrossel__ico-play{display:block;margin-left:2px}
.carrossel__contador{display:flex;align-items:baseline;gap:6px;min-width:74px;margin:0;font-family:var(--font-serif-display);font-style:italic;font-variant-numeric:lining-nums;font-size:15px;color:var(--text-subtle)}
.carrossel__contador b{font-weight:var(--weight-regular);font-size:26px;line-height:1;color:var(--dourado-700)}
.carrossel__segs{display:flex;gap:6px}
.carrossel__seg{position:relative;width:34px;height:28px;padding:0;border:0;background:none;cursor:pointer}
.carrossel__seg::before,.carrossel__seg i{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;border-radius:2px}
.carrossel__seg::before{background:rgba(138,74,61,.22);transition:background var(--duration-fast) var(--ease-standard)}
.carrossel__seg:hover::before{background:rgba(138,74,61,.4)}
.carrossel__seg i{display:block;background:var(--dourado-400);transform:scaleX(0);transform-origin:left center}
.carrossel__seg.is-feito i{transform:scaleX(1)}
.carrossel__seg.is-ativo i{animation:carrosselEnche var(--dur) linear forwards}
.carrossel.is-pausado .carrossel__seg.is-ativo i{animation-play-state:paused}
.carrossel.sem-auto .carrossel__seg.is-ativo i{animation:none;transform:scaleX(1)}
@keyframes carrosselEnche{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){
.carrossel__slide{transition:none}
}
@media (max-width:1080px){
.carrossel{--w:38vw;--gap:20px;--respiro:32px}
}
@media (max-width:700px){
.g3.g3--foto{grid-template-columns:1fr}
/* celular: foto ativa grande, vizinhas espiando; setas descem para a barra */
.carrossel{--w:68vw;--gap:12px;--respiro:24px}
.carrossel__slide{transform:scale(.9);opacity:.55}
.carrossel__seta{top:auto;bottom:0;margin-top:0;width:46px;height:46px}
.carrossel__seta svg{width:19px;height:19px}
.carrossel__seta--ant{left:var(--gutter-mobile)}
.carrossel__seta--prox{right:var(--gutter-mobile)}
.carrossel__controles{min-height:46px;gap:var(--space-3);padding:0 76px}
.carrossel__contador{display:none}
.carrossel__segs{gap:4px}
.carrossel__seg{width:20px}
}
/* HISTÓRIA DA DRA. REBECA (home, seção 03, 01/10/2026): o carrossel acima em
   versão LINEAR (sem clones), numa seção escura, com o texto do capítulo
   embaixo acompanhando a foto ativa (site.js, [data-capitulos]).
   Cada foto no PRÓPRIO formato: a mesma altura (--h) para todas e a largura
   que a proporção pedir (--ar, posto no <li> pelo PHP); as largas param em
   --max-w e aí ficam mais baixas, sem corte. O trilho começa e termina com a
   1ª e a última foto no centro (--ar-ini / --ar-fim, postos na raiz). As
   setas abraçam a foto ativa: o JS mede a largura dela em --w-ativo. */
.carrossel--historia{--h:clamp(380px,36vw,540px);--max-w:min(86vw,720px)}
.carrossel--historia .carrossel__trilho{padding:var(--respiro) calc(50% - min(var(--h) * var(--ar-fim,.75), var(--max-w)) / 2) var(--respiro) calc(50% - min(var(--h) * var(--ar-ini,.75), var(--max-w)) / 2)}
.carrossel--historia .carrossel__slide{flex:0 0 auto;width:min(var(--h) * var(--ar,.75), var(--max-w));aspect-ratio:var(--ar,.75);background:rgba(250,246,240,.06);box-shadow:0 14px 34px rgba(8,14,28,.28)}
.carrossel--historia .carrossel__slide img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.carrossel--historia .carrossel__slide.is-ativo{box-shadow:0 28px 70px rgba(8,14,28,.45),0 0 0 1px rgba(224,168,152,.22)}
.carrossel--historia .carrossel__seta{top:calc(var(--respiro) + var(--h) / 2);transition:left .7s var(--ease-out-soft),right .7s var(--ease-out-soft),opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-out-soft),background var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}
.carrossel--historia .carrossel__seta--ant{left:calc(50% - var(--w-ativo, min(var(--h) * var(--ar-ini,.75), var(--max-w))) / 2 - var(--gap) / 2 - 28px)}
.carrossel--historia .carrossel__seta--prox{right:calc(50% - var(--w-ativo, min(var(--h) * var(--ar-ini,.75), var(--max-w))) / 2 - var(--gap) / 2 - 28px)}
/* no começo e no fim da história a seta do lado sem foto apaga (linear) */
.carrossel__seta[aria-disabled="true"]{opacity:.3;cursor:default;pointer-events:none;box-shadow:none}
/* controles sobre fundo escuro */
.sec--dark .carrossel__pausa{border-color:rgba(250,246,240,.32);color:var(--text-on-dark-muted)}
.sec--dark .carrossel__pausa:hover{border-color:rgba(250,246,240,.6);color:var(--text-on-dark);background:rgba(250,246,240,.06)}
.sec--dark .carrossel__seg::before{background:rgba(250,246,240,.22)}
.sec--dark .carrossel__seg i{background:var(--dourado-300)}
.sec--dark .carrossel__seta:focus-visible,.sec--dark .carrossel__pausa:focus-visible,.sec--dark .carrossel__cap:focus-visible,.historia__seguir:focus-visible{outline:2px solid var(--nude-50);outline-offset:3px}
.sec--dark .carrossel__trilho:focus-visible{outline:2px solid var(--nude-50);outline-offset:-6px}
/* capítulos: número + uma barra por foto (as barras não são botões; o
   capítulo inteiro é, e leva à 1ª foto dele) */
.carrossel--historia .carrossel__controles{gap:var(--space-6)}
.carrossel__caps{display:flex;gap:12px}
.carrossel__cap{display:flex;flex-direction:column;justify-content:center;gap:7px;width:72px;min-height:44px;padding:0;border:0;background:none;color:var(--text-on-dark-muted);font:inherit;cursor:pointer}
.carrossel__cap-n{font-family:var(--font-serif-display);font-style:italic;font-variant-numeric:lining-nums;font-size:16px;line-height:1;text-align:left;transition:color var(--duration-fast) var(--ease-standard)}
.carrossel__cap:hover .carrossel__cap-n{color:var(--text-on-dark)}
.carrossel__cap.is-ativo .carrossel__cap-n{color:var(--dourado-300)}
.carrossel__cap .carrossel__segs{display:flex;gap:3px}
.carrossel__cap .carrossel__seg{display:block;flex:1 1 0;width:auto;height:6px;cursor:inherit}
.carrossel__cap:hover .carrossel__seg::before{background:rgba(250,246,240,.36)}
/* texto do capítulo: os cinco empilhados na MESMA célula da grade (a altura
   é a do maior, então nada pula na troca); só o ativo aparece. O HTML já
   sai assim (is-pronto); sem JS, o <noscript> do <head> mostra todos. */
.historia__texto{max-width:680px;margin:var(--space-12) auto 0}
.historia__texto.is-pronto{display:grid}
.historia__texto.is-pronto>.historia__cap{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .45s var(--ease-out-soft),transform .6s var(--ease-out-soft),visibility 0s linear .45s}
.historia__texto.is-pronto>.historia__cap.is-ativo{opacity:1;visibility:visible;transform:none;transition-delay:.12s,.12s,0s}
.historia__n{display:flex;align-items:baseline;gap:8px;margin:0;font-family:var(--font-serif-display);font-style:italic;font-variant-numeric:lining-nums;font-size:15px;color:var(--text-on-dark-muted)}
.historia__n b{font-weight:var(--weight-regular);font-size:34px;line-height:1;color:var(--dourado-300)}
.historia__cap h3{margin-top:var(--space-3);font-size:clamp(24px,2.4vw,30px);line-height:1.2}
.historia__cap p:not(.historia__n){margin-top:var(--space-4);font-size:var(--text-md);line-height:var(--leading-relaxed);color:rgba(250,246,240,.88)}
.historia__cap h3+p:not(.historia__n){margin-top:var(--space-6)}
.historia__cap p.historia__fecho{margin-top:var(--space-6);font-family:var(--font-serif-display);font-style:italic;font-size:clamp(24px,2.6vw,32px);line-height:1.3;color:var(--dourado-300)}
.historia__seguir{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:center;column-gap:12px;row-gap:6px;margin-top:var(--space-10);padding:0;border:0;background:none;color:var(--text-on-dark);font:inherit;text-align:left;cursor:pointer}
.historia__seguir small{grid-column:1/-1;font:var(--type-eyebrow);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-on-dark-muted)}
.historia__seguir span{font-family:var(--font-serif-display);font-size:22px;line-height:1.25;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(224,168,152,.45);text-underline-offset:5px;transition:text-decoration-color var(--duration-fast) var(--ease-standard)}
.historia__seguir svg{width:20px;height:20px;color:var(--dourado-300);transition:transform var(--duration-base) var(--ease-out-soft)}
.historia__seguir:hover span{text-decoration-color:var(--dourado-300)}
.historia__seguir:hover svg{transform:translateX(4px)}
.historia__nota{max-width:680px;margin:var(--space-12) auto 0;font:var(--type-legal);color:var(--text-on-dark-muted)}
@media (prefers-reduced-motion:reduce){
.historia__texto.is-pronto>.historia__cap{transition:none;transform:none}
.carrossel--historia .carrossel__seta{transition:none}
}
@media (max-width:1080px){
.carrossel--historia{--h:clamp(340px,50vw,480px)}
}
@media (max-width:700px){
.carrossel--historia{--h:min(96vw,400px);--max-w:calc(100vw - 2 * var(--gutter-mobile))}
/* setas descem para a barra, como na galeria (a regra de cima, mais
   específica, venceria o @media da galeria) */
.carrossel--historia .carrossel__seta{top:auto}
.carrossel--historia .carrossel__seta--ant{left:var(--gutter-mobile)}
.carrossel--historia .carrossel__seta--prox{right:var(--gutter-mobile)}
.carrossel--historia .carrossel__controles{padding:0 74px;gap:var(--space-3)}
.carrossel__caps{flex:1 1 auto;min-width:0;gap:6px}
.carrossel__cap{flex:1 1 0;width:auto;min-width:0}
.historia__texto{margin-top:var(--space-10)}
.historia__seguir span{font-size:20px}
}
/* tablet em pé (561–900px): numa coluna só, as fotos ao lado do texto viravam
   blocos de ~1000px de altura na largura toda e escondiam o texto. Limitadas a
   520px e centradas (revisão 29/09). No celular continuam na largura toda. */
@media (min-width:561px) and (max-width:900px){
.hero__frame,.split>.ph{width:100%;max-width:520px;margin-left:auto;margin-right:auto}
}
@media (max-width:700px){
.faixa img{aspect-ratio:4/3}
.faixa-sobe{margin-top:var(--space-6)}
.card__corpo{padding:var(--space-5) var(--space-6) var(--space-6)}
}
/* reveal */
.rv{opacity:0;transform:translateY(var(--reveal-offset));transition:opacity var(--duration-reveal) var(--ease-out-soft),transform var(--duration-reveal) var(--ease-out-soft)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){
.g3.rv,.g4.rv,.steps.rv,.facts.rv,.slider.rv{opacity:1;transform:none;transition:none}
.g3.rv>*,.g4.rv>*,.steps.rv>*,.slider.rv .slider__track>*{opacity:0;transform:translateY(14px);transition:opacity var(--duration-reveal) var(--ease-out-soft),transform var(--duration-reveal) var(--ease-out-soft)}
.facts.rv .stat{opacity:0;transform:translateY(12px);transition:opacity var(--duration-reveal) var(--ease-out-soft),transform var(--duration-reveal) var(--ease-out-soft)}
.facts.rv.in .stat{opacity:1;transform:none}
.facts.rv.in .stat:nth-child(2){transition-delay:80ms}
.facts.rv.in .stat:nth-child(3){transition-delay:160ms}
.facts.rv.in .stat:nth-child(4){transition-delay:240ms}
.g3.rv.in>*,.g4.rv.in>*,.steps.rv.in>*,.slider.rv.in .slider__track>*{opacity:1;transform:none}
.g3.rv.in>*:nth-child(2),.g4.rv.in>*:nth-child(2),.steps.rv.in>*:nth-child(2),.slider.rv.in .slider__track>*:nth-child(2){transition-delay:70ms}
.g3.rv.in>*:nth-child(3),.g4.rv.in>*:nth-child(3),.steps.rv.in>*:nth-child(3),.slider.rv.in .slider__track>*:nth-child(3){transition-delay:140ms}
.g3.rv.in>*:nth-child(4),.g4.rv.in>*:nth-child(4),.steps.rv.in>*:nth-child(4){transition-delay:210ms}
.g3.rv.in>*:nth-child(5),.g4.rv.in>*:nth-child(5),.steps.rv.in>*:nth-child(5){transition-delay:280ms}
.g3.rv.in>*:nth-child(6),.g4.rv.in>*:nth-child(6){transition-delay:350ms}
.g3.rv.in>*:nth-child(7){transition-delay:420ms}
.g3.rv.in>*:nth-child(8){transition-delay:490ms}
.g3.rv.in>*:nth-child(9){transition-delay:560ms}
}
.hidden{display:none}
/* responsive */
@media (max-width:1080px){
.hero__proof-i{width:212px}
.hero__proof-n{font-size:36px}
.hero__proof-i:nth-child(1){left:-34px}
.hero__proof-i:nth-child(3){left:-22px}
.slider__track>.card{flex-basis:calc((100% - var(--space-6) - 12px)/2)}
.steps{grid-template-columns:repeat(2,1fr);padding-top:0}
.steps::before,.step::before{display:none}
.g4{grid-template-columns:repeat(2,1fr)}
.rev{grid-template-columns:repeat(2,1fr)}
.hdr__burger{display:inline-flex}
.hdr__nav{position:fixed;top:var(--lp-header-h);right:0;bottom:0;z-index:70;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:0;margin:0;width:min(86vw,360px);padding:var(--space-8) var(--space-6) calc(var(--space-8) + env(safe-area-inset-bottom,0px));background:var(--surface-page);border-left:1px solid var(--border-subtle);box-shadow:var(--shadow-xl);overflow-y:auto;overscroll-behavior:contain;counter-reset:navi;visibility:hidden;opacity:0;transform:translateX(18px);transition:opacity var(--duration-base) var(--ease-out-soft),transform var(--duration-base) var(--ease-out-soft),visibility 0s linear var(--duration-base)}
.hdr__nav.open{visibility:visible;opacity:1;transform:none;transition-delay:0s,0s,0s}
.hdr__kicker{display:block;margin-bottom:var(--space-5);font:var(--type-eyebrow);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-subtle)}
.hdr__item{position:relative;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) 0;min-height:var(--tap-min);font-family:var(--font-serif-display);font-weight:var(--weight-regular);font-size:22px;line-height:1.2;letter-spacing:0;white-space:normal;color:var(--text-strong);border-bottom:1px solid var(--border-subtle);transition:opacity var(--duration-reveal) var(--ease-out-soft),transform var(--duration-reveal) var(--ease-out-soft),color var(--duration-fast) var(--ease-standard)}
.hdr__item::before{counter-increment:navi;content:counter(navi,decimal-leading-zero);flex:0 0 auto;width:24px;font-family:var(--font-sans-text);font-size:10px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);color:var(--dourado-800)}
.hdr__item--solo::after{content:"";position:static;left:auto;bottom:auto;width:7px;height:7px;margin-left:auto;background:none;border:0;border-top:1px solid var(--border-strong);border-right:1px solid var(--border-strong);transform:rotate(45deg);transition:transform var(--duration-base) var(--ease-out-soft),border-color var(--duration-base) var(--ease-standard)}
.hdr__item--solo:hover::after,.hdr__item--solo:focus-visible::after{transform:rotate(45deg) translate(2px,-2px);border-color:var(--dourado-400)}
.hdr__item::after{content:none}
.hdr__item--solo::after{content:""}
/* o sublinhado do computador (width:100% no hover/atual) não pode esticar a setinha */
.hdr__item--solo:hover::after,.hdr__item--solo[aria-current]::after{width:7px}
.hdr__item[aria-current]{color:var(--dourado-800)}
.hdr__item[aria-current]::before{color:var(--dourado-400)}
/* entrada escalonada: a ordem vem do --i de cada item (grupos e itens soltos) */
.hdr__grupo,.hdr__item--solo{opacity:0;transform:translateY(10px);transition:opacity var(--duration-reveal) var(--ease-out-soft),transform var(--duration-reveal) var(--ease-out-soft),color var(--duration-fast) var(--ease-standard)}
.hdr__nav.open .hdr__grupo,.hdr__nav.open .hdr__item--solo{opacity:1;transform:none;transition-delay:calc(var(--i,1) * 40ms)}
.hdr__grupo{display:block;border-bottom:1px solid var(--border-subtle)}
.hdr__item--solo{align-self:stretch;border-bottom:1px solid var(--border-subtle)}
.hdr__grupo .hdr__item{flex:1;border-bottom:0}
.hdr__linha{gap:var(--space-3)}
.hdr__abre{width:44px;height:44px;margin:0;border:1px solid var(--border-subtle);color:var(--text-muted)}
.hdr__abre svg{width:18px;height:18px}
/* acordeão: grid 0fr→1fr DENTRO da gaveta fixa (não mexe no layout da página);
   fechado = visibility:hidden, então os links ficam fora do Tab */
.hdr__sub{position:static;width:auto;padding:0;opacity:1;transform:none;display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows var(--duration-base) var(--ease-out-soft),visibility 0s linear var(--duration-base)}
.hdr__grupo[data-aberto] .hdr__sub{grid-template-rows:1fr;visibility:visible;transform:none;transition-delay:0s}
.hdr__sub-in{display:block;min-height:0;overflow:hidden;background:none;border:0;border-radius:0;box-shadow:none}
.hdr__sub-intro{display:none}
.hdr__sub-lista{columns:1;margin:0 0 var(--space-5) 11px;padding:var(--space-1) 0 var(--space-1) var(--space-6);border-left:1px solid var(--border-gold)}
.hdr__sub-lista a{padding:9px 0;border-radius:0;font-size:15px;color:var(--text-body)}
.hdr__sub-lista a:hover,.hdr__sub-lista a:focus-visible{background:none}
.hdr__sub-lista i{display:none}
.hdr__foot{display:block;margin-top:auto;padding-top:var(--space-8);opacity:0;transform:translateY(10px);transition:opacity var(--duration-reveal) var(--ease-out-soft),transform var(--duration-reveal) var(--ease-out-soft)}
.hdr__nav.open .hdr__foot{opacity:1;transform:none;transition-delay:300ms}
.hdr__cta{width:100%;justify-content:center}
.hdr__meta{margin:var(--space-4) 0 0;font:var(--type-legal);color:var(--text-subtle);text-align:center}
.hdr__meta--id{margin-top:var(--space-2);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}
.hdr__scrim{display:block;position:fixed;top:var(--lp-header-h);left:0;right:0;bottom:0;z-index:1;background:rgba(20,32,57,.38);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);visibility:hidden;opacity:0;transition:opacity var(--duration-base) var(--ease-standard),visibility 0s linear var(--duration-base)}
.hdr__scrim.on{visibility:visible;opacity:1;transition-delay:0s,0s}
.hdr__deskcta{margin-left:auto}
.hdr__burger{display:inline-flex;margin-left:var(--space-3)}
/* iOS: overflow:hidden NAO trava a rolagem no Safari do iPhone — a pagina desliza
   atras da gaveta, com inercia. So position:fixed no body segura; o topo salvo
   vem do JS (data-scroll) para a pagina nao saltar ao fechar. */
html.nav-open{overflow:hidden}
html.nav-open body{position:fixed;left:0;right:0;width:100%;overflow:hidden}
}
@media (max-width:900px){
.hero__proof{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);max-width:560px;margin:-28px auto 0}
.hero__proof-i{position:static;width:auto}
.hero__proof-c{height:100%;display:flex;flex-direction:column;justify-content:center;padding:var(--space-5) var(--space-4);text-align:center}
.hero__proof-n{font-size:32px}
/* no celular 9,5px fica abaixo do confortavel; 10,5px mantem a caixa-alta discreta */
.hero__proof-lb{margin-top:8px;font-size:10.5px;letter-spacing:.1em;min-height:0}
.hdr__logo img{width:196px}
.hero__in,.split,.split--r,.split--faq,.split--half{grid-template-columns:1fr;gap:var(--space-12)}
.g2{grid-template-columns:1fr}
.g3{grid-template-columns:repeat(2,minmax(0,1fr))}
/* numero impar de cards: o ultimo ocupa a linha inteira em vez de deixar buraco */
.g3>.card:last-child:nth-child(odd){grid-column:1/-1}
.facts__in{grid-template-columns:1fr 1fr;gap:0;padding-top:var(--space-8);padding-bottom:var(--space-8)}
.facts .stat{align-items:flex-start;padding:var(--space-5) var(--space-6);border-left:1px solid var(--border-inverse)}
.facts .stat:nth-child(odd){padding-left:0;border-left:0}
.facts .stat:nth-child(even){padding-right:0}
.facts .stat:nth-child(n+3){border-top:1px solid var(--border-inverse)}
.faq__q{padding:var(--space-5) var(--space-4);gap:var(--space-5)}
.faq__a p{padding-left:var(--space-4);padding-right:var(--space-4)}
.faq__grupo{padding-left:var(--space-4);padding-right:var(--space-4);margin-top:var(--space-12)}
.ft__in{padding-top:var(--space-12)}
.ft .ft__logo img{width:300px}
.ft__orn{width:min(340px,100%);margin-bottom:var(--space-8)}
.ft__redes{gap:var(--space-3)}
.ft__info{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:var(--space-5);margin-top:var(--space-10);padding:var(--space-6) 0}
.ft__id{padding-right:0;border-right:0}
.ft__nota{max-width:62ch}
.ft__base{flex-direction:column;align-items:center;text-align:center;gap:var(--space-1)}
.sec{padding:var(--section-y-mobile) 0}
.hero{padding:var(--space-12) 0 var(--space-16)}
.wrap,.narrow,.facts__in,.ft__in{padding-left:var(--gutter-mobile);padding-right:var(--gutter-mobile)}
.head{margin-bottom:var(--space-10)}
}
@media (max-width:700px){
.slider__track>.card{flex-basis:86%}
}
@media (max-width:560px){
/* 2 colunas em tela estreita exige card compacto */
.g3{gap:var(--space-3)}
.g3>.card{padding:var(--space-5) var(--space-4)}
.g3>.card .ico{width:36px;height:36px;margin-bottom:var(--space-3)}
.g3>.card .ico svg{width:17px;height:17px}
.g3>.card h3{font-size:19px;line-height:1.3;margin-bottom:var(--space-2);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
.g3>.card p{font-size:var(--text-sm);line-height:1.55;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
.steps,.g4,.rev{grid-template-columns:1fr}
.facts__in{grid-template-columns:1fr;gap:0}
.facts .stat{padding:var(--space-5) 0;border-left:0}
.facts .stat+.stat{border-top:1px solid var(--border-inverse)}
.facts .stat:first-child{padding-top:0}
.facts .stat:last-child{padding-bottom:0}
.actions .btn{width:100%}
.hdr__deskcta{display:none}
.hdr__burger{margin-left:auto}
.hdr__nav{width:min(92vw,360px)}
}
/* celular: os tres cartoes viram uma cascata escalonada sobre a base da foto */
@media (max-width:560px){
.hero__proof{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;gap:12px;max-width:none;margin:-34px 0 0}
.hero__proof-i{width:min(88%,400px);margin:0}
.hero__proof-i:nth-child(2){margin-left:auto}
.hero__proof-i:nth-child(3){margin-left:0}
/* Colocação FIXA. Com "auto 1fr" cada card repartia as colunas conforme o
   próprio conteúdo (medido: 66x160, 142x84 e 107x119 no mesmo celular), e o
   card sem número jogava a linha de apoio para o lado em vez de para baixo. */
.hero__proof-c{height:100%;display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;
  gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-4);text-align:left}
.hero__proof-n{grid-column:1;grid-row:1}
.hero__proof-lb{grid-column:2;grid-row:1}
.hero__proof-sb{grid-column:2;grid-row:2}
/* o card de fala não tem número: o texto ocupa as duas colunas */
.hero__proof-i--fala .hero__proof-lb,
.hero__proof-i--fala .hero__proof-sb{grid-column:1/-1}
.hero__proof-n{min-width:40px;font-size:32px;text-align:left}
.hero__proof-lb{margin-top:0;font-size:11px;letter-spacing:.08em;line-height:1.45}
}
@media (max-width:560px) and (prefers-reduced-motion:no-preference){
.hero__proof-c{animation-name:heroFloatSm}
}
@media print{
.hdr,.fab,.ft__mark{display:none}
.rv,.g3.rv>*,.g4.rv>*,.steps.rv>*,.facts.rv .stat,.slider.rv .slider__track>*{opacity:1 !important;transform:none !important}
.hero__proof-i,.hero__proof-c{opacity:1 !important;transform:none !important;animation:none !important}
.ft__marca .ft__redes li,.ft__marca .ft__orn i{opacity:1 !important;transform:none !important}
.ft__marca .ft__orn b{transform:rotate(45deg) !important}
:root{--text-on-dark:#1B2B4B;--text-on-dark-muted:#3B4660;--border-inverse:rgba(20,32,57,.28)}
.facts,.ft,.sec--dark{background:#FFFFFF !important}
.facts::before,.facts::after,.sec--dark::before,.ft__glow{display:none !important}
.stat div>span,.ft .ft__label,.ft .ft__state em{color:#3B4660}
.ft .ft__label::before{background:#3B4660}
/* a logo do rodapé é clara: sobre o branco forçado da impressão ela sumia */
.ft img{filter:brightness(0)}
.stat__ico{border-color:rgba(59,70,96,.4);color:#3B4660}
}


/* =====================================================================
   MARCELA SERAFIM (16/10/2026) — componentes novos da landing, no mesmo
   vocabulário da Rebeca (tokens, cartões, fio de ouro = terracota).
   ===================================================================== */
/* logo da Marcela é compacta (3,2:1): manda a ALTURA, não a largura */
.hdr__logo img{width:auto;height:50px}
.ft img{width:auto;height:64px}
.ft__mark{font-size:420px;bottom:-110px;letter-spacing:-.04em}

/* 01 situações: 2 colunas de cartões-link, cada um leva ao formulário com o
   motivo já escolhido (data-motivo, assets/js/agendar-consulta.js) */
.sit{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.sit__i{display:flex;align-items:flex-start;gap:var(--space-4);height:100%;padding:var(--space-6);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);color:var(--text-body);text-decoration:none;transition:transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}
.sit__i .ico{flex:0 0 auto;margin:0}
.sit__txt{flex:1 1 auto;min-width:0}
.sit__txt b{display:block;font-family:var(--font-serif-display);font-weight:var(--weight-regular);font-size:21px;line-height:1.25;color:var(--text-strong)}
.sit__txt > span{display:block;margin-top:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-relaxed)}
.sit__seta{flex:0 0 auto;align-self:center;display:inline-flex;color:var(--dourado-400);transition:transform var(--duration-base) var(--ease-out-soft),color var(--duration-base) var(--ease-standard)}
.sit__seta svg{width:20px;height:20px}
.sit__i:hover{color:var(--text-body);transform:var(--lift-hover);box-shadow:var(--shadow-md);border-color:rgba(192,138,125,.55)}
.sit__i:hover .ico{background:var(--dourado-200);border-color:var(--dourado-400);color:var(--nude-800)}
.sit__i:hover .sit__seta{color:var(--text-accent);transform:translateX(3px)}
.sit__i:focus-visible{outline:var(--focus-outline);outline-offset:2px}
.fecho{max-width:680px;margin:var(--space-12) auto 0;text-align:center}
.fecho .lede{margin-left:auto;margin-right:auto}
.fecho .actions{margin-top:var(--space-8)}
.fecho .micro{text-align:center}
.fecho .legal{margin-top:var(--space-6)}

/* 02 momentos: três cartões com foto, botão sempre no pé do cartão */
.mom__i .card__corpo{display:flex;flex-direction:column;flex:1 1 auto}
.mom__i .card__corpo p{flex:1 1 auto}
.mom__btn{margin-top:var(--space-6)}
.mom__i .micro{margin-top:var(--space-3);text-align:center;color:var(--text-muted)}
.mom__i .btn--sec{white-space:normal;text-align:center;line-height:1.35}

/* 03 Método PRESERVAR: letras grandes da marca como elemento de memória */
.pilares{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.pilar{position:relative;padding:var(--space-8) var(--space-6) var(--space-6);border:1px solid rgba(250,246,240,.14);border-radius:var(--radius-lg);background:rgba(250,246,240,.04);transition:border-color var(--duration-base) var(--ease-standard),background var(--duration-base) var(--ease-standard)}
.pilar:hover{border-color:rgba(224,168,152,.45);background:rgba(250,246,240,.07)}
.pilar__l{display:block;font-family:var(--font-serif-display);font-weight:var(--weight-regular);font-size:72px;line-height:.9;letter-spacing:-.01em;color:var(--dourado-300)}
.pilar--longo .pilar__l{font-size:56px;letter-spacing:.02em}
.pilar h3{margin-top:var(--space-5);font-size:22px;line-height:1.25;color:var(--text-on-dark)}
.pilar p{margin-top:var(--space-3);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-on-dark-muted)}
.metodo__nota{max-width:640px;margin:var(--space-10) auto 0;text-align:center;font:var(--type-legal);color:var(--text-on-dark-muted)}

/* 04 quem sou eu: a frase-assinatura dela */
.citacao{margin:var(--space-8) 0 0;padding:var(--space-2) 0 var(--space-2) var(--space-6);border-left:2px solid var(--dourado-400);max-width:var(--measure-base);font-family:var(--font-serif-display);font-style:italic;font-size:clamp(21px,2vw,25px);line-height:1.4;color:var(--text-strong)}

/* 06 como funciona: 4 etapas (a régua da Rebeca tinha 5) */
.steps--4{grid-template-columns:repeat(4,1fr)}
.steps--4 .step p{font-size:var(--text-sm);line-height:var(--leading-relaxed)}
/* 22/10/2026 (pedido da Marcela): o nome de cada etapa do método em destaque */
.steps--4 .step h3{font-size:clamp(22px,1.9vw,25px);font-weight:var(--weight-semibold);line-height:1.18;color:var(--text-strong)}
.sub-tit{font-size:clamp(24px,2.4vw,30px);line-height:1.2;margin-bottom:var(--space-8)}
.aval{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-5)}
.aval li{display:flex;gap:var(--space-4);align-items:flex-start}
.aval .ico{flex:0 0 auto;margin:0;width:40px;height:40px}
.aval .ico svg{width:19px;height:19px}
.aval b{display:block;font:var(--type-eyebrow);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-accent);margin-bottom:var(--space-1)}
.aval span{font-size:var(--text-sm);line-height:var(--leading-relaxed)}
.passos{margin-top:var(--space-20)}
.passos .sub-tit{text-align:center}
.passos__lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4) var(--space-6)}
.passos__lista li{display:flex;gap:var(--space-4);align-items:baseline;padding:var(--space-5) 0;border-top:1px solid var(--border-subtle)}
.passos__lista b{flex:0 0 auto;font-family:var(--font-serif-display);font-style:italic;font-weight:var(--weight-regular);font-size:30px;line-height:1;font-variant-numeric:lining-nums;color:var(--dourado-700)}
.passos__lista span{font-size:var(--text-sm);line-height:var(--leading-relaxed)}

/* 07 formatos: esteira de 4, sem preço; os 360º têm destaque TIPOGRÁFICO
   (fio terracota no topo), nunca selo de "mais vendido" */
.fmt{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5);align-items:stretch}
.fmt__i{display:flex;flex-direction:column;padding:var(--space-8) var(--space-6) var(--space-6);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.fmt__i--360{border-color:rgba(138,74,61,.55);box-shadow:var(--shadow-md),inset 0 3px 0 var(--taupe-profundo)}
.fmt__etapa{display:flex;align-items:baseline;gap:var(--space-2);font:var(--type-eyebrow);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-muted)}
.fmt__etapa i{font-family:var(--font-serif-display);font-style:italic;font-size:22px;letter-spacing:0;text-transform:none;font-variant-numeric:lining-nums;color:var(--dourado-700)}
.fmt__i h3{margin-top:var(--space-4);font-size:clamp(23px,2vw,27px);line-height:1.15}
.fmt__det{margin-top:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);color:var(--text-accent)}
.fmt__txt{margin-top:var(--space-4);font-size:var(--text-sm);line-height:var(--leading-relaxed);flex:1 1 auto}
.fmt__inc{list-style:none;margin:var(--space-5) 0 0;padding:var(--space-5) 0 0;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-2)}
.fmt__inc li{display:flex;gap:var(--space-2);font-size:var(--text-sm);line-height:1.45}
.fmt__inc svg{width:16px;height:16px;flex:0 0 auto;margin-top:3px;color:var(--dourado-400)}
.fmt__btn{margin-top:var(--space-6);white-space:normal;text-align:center;line-height:1.35}
.fmt__i .micro{margin-top:var(--space-3);text-align:center;color:var(--text-muted)}
.fmt__nota{max-width:680px;margin:var(--space-10) auto 0;text-align:center;font-size:var(--text-sm);color:var(--text-body)}

/* 08 avaliações (só com avaliações reais) */
.dep{margin:0;display:flex;flex-direction:column;gap:var(--space-4)}
.dep__estrelas{letter-spacing:.12em;color:var(--taupe-profundo)}
.dep blockquote{margin:0;flex:1 1 auto}
.dep blockquote p{font-family:var(--font-serif-display);font-size:20px;line-height:1.45;color:var(--text-strong)}
.dep figcaption b{display:block;font-size:var(--text-sm)}
.dep figcaption span{display:block;font:var(--type-legal);color:var(--text-subtle)}

/* foto provisória (ms_ilus sem o arquivo): bloco com a cena e o arquivo.
   A proporção vem do --ph (padding-top), não de aspect-ratio — que alarga
   item de grade. Some sozinho quando o arquivo existe. */
.ph-prev{position:relative;display:block;width:100%;container-type:inline-size;background:repeating-linear-gradient(135deg,rgba(138,74,61,.035) 0 14px,transparent 14px 28px),var(--surface-page-alt);border:1px dashed rgba(138,74,61,.45);border-radius:inherit;color:var(--text-muted)}
.ph-prev::before{content:"";display:block;padding-top:var(--ph,56.25%)}
.ph-prev__in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5);text-align:center}
.ph-prev__in svg{width:30px;height:30px;color:var(--dourado-400)}
.ph-prev__in b{font:var(--type-eyebrow);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-accent)}
.ph-prev__cena{max-width:52ch;font-size:var(--text-sm);line-height:1.5;color:var(--text-body)}
.ph-prev__arq{font-size:11px;color:var(--text-subtle);word-break:break-all}
.ph>.ph-prev{position:absolute;inset:0;height:100%}
.ph>.ph-prev::before{display:none}
.faixa .ph-prev::before{padding-top:min(var(--ph,56.25%),42.857%)}
@container (max-width:340px){.ph-prev__arq{display:none}}
@container (max-width:240px){.ph-prev__cena{display:none}}

/* ===================== FORMULÁRIO DE AGENDAMENTO =====================
   Porte do <style> da /agendar-consulta da Rebeca, agora no site.css porque
   o formulário vive na home (#agendamento). */
.ag{background:var(--wash-nude)}
.ac__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--space-16);align-items:start}
.ag__txt{position:sticky;top:calc(var(--lp-header-h) + 32px)}
.selos{list-style:none;margin:var(--space-8) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3)}
.selos li{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 14px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);color:var(--text-strong)}
.selos svg{width:16px;height:16px;color:var(--dourado-700)}
.ac__card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:clamp(24px,3.4vw,40px);overflow:hidden}
.ac__tit{font-size:clamp(24px,2.6vw,30px)}
.ac__sub{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}
/* âncora: o recado e o primeiro campo ficam abaixo do cabeçalho fixo */
#agendaForm{scroll-margin-top:calc(var(--lp-header-h) + 24px);margin-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}
/* #agendamento NÃO leva scroll-margin: o html já tem scroll-padding-top do
   cabeçalho, e os dois se SOMAM (a seção parava 76px abaixo do lugar) */
.ac-erro{margin:0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--terracota-100);border:1px solid rgba(162,59,48,.35);color:#7A2A22;font-size:var(--text-sm);line-height:var(--leading-normal)}
.ac-campo{display:flex;flex-direction:column;gap:var(--space-2);border:0;margin:0;padding:0;min-width:0}
.ac-campo>label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-strong);padding:0;line-height:1.4}
.ac-campo>label small{font-weight:var(--weight-regular);color:var(--text-muted);font-size:inherit}
.ac-campo input[type=text],.ac-campo input[type=tel],.ac-campo select,.ac-campo textarea{width:100%;min-height:52px;padding:12px 16px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:#fff;color:var(--text-strong);font:inherit;font-size:16px;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}
.ac-campo textarea{min-height:96px;resize:vertical;line-height:1.5}
.ac-campo select{appearance:none;-webkit-appearance:none;padding-right:44px;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%238A4A3D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.ac-campo input:focus,.ac-campo select:focus,.ac-campo textarea:focus{outline:none;border-color:var(--taupe-profundo);box-shadow:0 0 0 3px rgba(138,74,61,.18)}
.ac-campo ::placeholder{color:#6B7387;opacity:1}
.ac-campo select:invalid{color:var(--text-subtle)}
.ac-campo select option{color:var(--text-strong)}
.ac-ajuda{font-size:var(--text-xs);color:var(--text-muted)}
.ac__foto{margin:calc(-1 * clamp(24px,3.4vw,40px)) calc(-1 * clamp(24px,3.4vw,40px)) clamp(24px,3vw,32px);aspect-ratio:5/4;background:var(--rose-cacau);overflow:hidden}
.ac__foto img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top} /* 22/10: a foto quase não tem espaço acima da cabeça; o recorte vai pelo topo */
.ac-msg{display:none;font-size:var(--text-xs);color:var(--terracota-500);font-weight:var(--weight-medium)}
.ac-campo.invalido .ac-msg{display:block}
.ac-campo.invalido input[type=text],.ac-campo.invalido input[type=tel],.ac-campo.invalido select{border-color:var(--terracota-500)}
/* campo certo: borda verde e check (no select, o check fica antes da seta) */
.ac-campo.valido input[type=text],.ac-campo.valido input[type=tel]{border-color:#5E9E78;padding-right:46px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%232F8A57' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat right 14px center/20px}
.ac-campo.valido select{border-color:#5E9E78;padding-right:76px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%232F8A57' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%238A4A3D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat,no-repeat;background-position:right 42px center,right 14px center;background-size:20px,auto}
/* armadilha para robôs: fora da tela (nunca display:none) */
.ac-extra{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ac-enviar{display:inline-flex;width:100%;align-items:center;justify-content:center;gap:var(--space-3);padding:16px 24px;min-height:58px;border:0;border-radius:var(--radius-pill);background:var(--whatsapp-green);color:#fff;font:inherit;font-weight:var(--weight-semibold);font-size:var(--text-base);letter-spacing:var(--tracking-wide);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-base)}
.ac-enviar:hover{background:var(--whatsapp-green-dark);box-shadow:var(--shadow-md);transform:var(--lift-hover)}
.ac-enviar:focus-visible{outline:2px solid var(--taupe-profundo);outline-offset:3px}
.ac-enviar[disabled]{opacity:.75;cursor:default;transform:none}
.ac-enviar svg{width:22px;height:22px;flex:0 0 auto}
.ac-apoio{margin:calc(-1 * var(--space-2)) 0 0;font-size:var(--text-xs);color:var(--text-body);text-align:center}
.ac-aviso{margin:0;font:var(--type-legal);color:var(--text-subtle);text-align:center}
.ac-aviso a{color:var(--text-accent);text-underline-offset:3px}
/* depois do envio */
.ac-ok{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-6) 0}
.ac-ok .selo{width:64px;height:64px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--sage-100);color:var(--sage-500)}
.ac-ok .selo svg{width:30px;height:30px}
.ac-ok h3{font-size:clamp(24px,2.6vw,30px)}
.ac-ok p{max-width:420px;color:var(--text-body)}
.ac__legal{max-width:760px;margin:var(--space-12) auto 0;text-align:center;font:var(--type-legal);color:var(--text-subtle)}

/* responsivo dos componentes novos */
@media (max-width:1080px){
.pilares{grid-template-columns:repeat(2,minmax(0,1fr))}
.fmt{grid-template-columns:repeat(2,minmax(0,1fr))}
.steps--4{grid-template-columns:repeat(2,1fr)}
.passos__lista{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
.hdr__logo img{width:auto;height:44px}
.sit{grid-template-columns:minmax(0,1fr)}
.ac__grid{grid-template-columns:minmax(0,1fr);gap:var(--space-10);max-width:620px;margin:0 auto}
.ag__txt{position:static}
.ft img{height:56px}
}
@media (max-width:700px){
.pilares,.fmt,.passos__lista{grid-template-columns:minmax(0,1fr)}
.pilar__l{font-size:60px}
.pilar--longo .pilar__l{font-size:46px}
.sit__i{padding:var(--space-5) var(--space-4)}
.sit__txt b{font-size:19px}
}
@media (max-width:560px){
.steps--4{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:no-preference){
.sit.rv,.pilares.rv,.fmt.rv{opacity:1;transform:none;transition:none}
.sit.rv>*,.pilares.rv>*,.fmt.rv>*{opacity:0;transform:translateY(14px);transition:opacity var(--duration-reveal) var(--ease-out-soft),transform var(--duration-reveal) var(--ease-out-soft)}
.sit.rv.in>*,.pilares.rv.in>*,.fmt.rv.in>*{opacity:1;transform:none}
.sit.rv.in>*:nth-child(2n),.pilares.rv.in>*:nth-child(2),.fmt.rv.in>*:nth-child(2){transition-delay:70ms}
.pilares.rv.in>*:nth-child(3),.fmt.rv.in>*:nth-child(3){transition-delay:140ms}
.pilares.rv.in>*:nth-child(4),.fmt.rv.in>*:nth-child(4){transition-delay:210ms}
.pilares.rv.in>*:nth-child(5){transition-delay:280ms}
.pilares.rv.in>*:nth-child(6){transition-delay:350ms}
}
@media print{
.sit.rv>*,.pilares.rv>*,.fmt.rv>*{opacity:1 !important;transform:none !important}
.ph-prev{display:none}
}

/* ajustes da 1ª revisão visual (16/10/2026) */
/* a Cormorant tem algarismos antigos ("17.118", "GLP-1", "100%" desciam):
   algarismos alinhados em todo o site */
body{font-variant-numeric:lining-nums}
.hdr__logo img{height:56px}
@media (min-width:561px){.hero .micro{text-align:left;max-width:46ch}}
/* quem sou eu: texto longo — a foto acompanha a leitura */
#sobre .split{align-items:start}
@media (min-width:901px){#sobre .ph{position:sticky;top:calc(var(--lp-header-h) + 32px)}}
/* formatos: botões de texto longo em 2 linhas, não 4 */
.fmt__btn{padding:13px 18px;min-height:50px;font-size:var(--text-xs)}
.fmt__btn.btn--pri::after{content:none}
/* 22/10/2026: "Acompanhamento estruturado" não cabe numa linha; o rótulo quebra
   (com nowrap ele alargava o cartão 3 para fora da borda) e o número fica no alto */
.fmt__etapa{white-space:normal;align-items:flex-start;line-height:1.5}
.fmt__etapa i{flex:none;line-height:1}
/* as linhas dos 4 cartões alinhadas entre si (título, detalhe, texto, lista) */
@supports (grid-template-rows:subgrid){
.fmt__i{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0}
.fmt__txt{flex:none}
}
@media (max-width:900px){.hdr__logo img{height:46px}}
@media (max-width:560px){.ac-enviar{font-size:15px;letter-spacing:.02em;padding:14px 18px}}
.fmt__btn{letter-spacing:.01em}

/* =====================================================================
   REVISÃO VISUAL DA HOME (19/10/2026) — alinhamento e espaçamento achados
   nos prints seção por seção em 1440/1024/768/390/360
   (dev/prints/revisao-home/antes × depois).
   ===================================================================== */
/* siglas que não podem quebrar no hífen (index.php → ps_nw) */
.nw{white-space:nowrap}
/* hero: em 1024–1280 os dois botões não cabiam lado a lado e o segundo
   caía para a linha de baixo, desalinhado. Menos respiro lateral cabe. */
@media (min-width:901px) and (max-width:1280px){
  .hero .actions .btn{padding-left:22px;padding-right:22px}
}
/* faixa de credenciais: com 2 e 3 linhas de apoio lado a lado, o
   alinhamento ao centro desencontrava os títulos. Títulos no topo. */
@media (min-width:561px){
  .facts .stat{align-items:flex-start}
  .facts .stat__ico{margin-top:-2px}
}
/* micro-texto logo abaixo de um botão: o gap do .actions já dá o espaço;
   a margem própria somava ~40px e soltava a frase do botão */
.actions>.micro{margin-top:0}
/* 02 momentos: botões de 2 e 3 linhas lado a lado ficavam com alturas
   diferentes; texto equilibrado em até 2 linhas e altura mínima comum */
.mom__btn{padding:12px 18px;min-height:56px;font-size:var(--text-xs);letter-spacing:.02em;text-wrap:balance}
/* 03 pilares: o "RVAR" menor empurrava o título do cartão para cima e a
   linha de títulos desalinhava; mesma altura de letra em todos */
.pilar--longo .pilar__l{font-size:72px;letter-spacing:-.01em}
@media (max-width:700px){.pilar--longo .pilar__l{font-size:60px}}
/* 06 o aviso "Importante" ocupava a largura toda com o texto só na metade */
#como-funciona .note{max-width:760px;margin-left:auto;margin-right:auto}
/* formulário: o título terminava a linha num "o" solto */
.ac__tit{text-wrap:balance}
/* celular: o botão de envio quebrava em 2 linhas */
@media (max-width:560px){
  .ac-enviar{font-size:14px;letter-spacing:0;padding:14px;gap:10px}
}
/* foto provisória: o ícone encolhia quando a cena era longa (item flex),
   e o nome do arquivo quebrava no meio do número em cartões estreitos */
.ph-prev__in svg{flex:0 0 auto}
.ph-prev__arq{word-break:normal;overflow-wrap:anywhere}
@container (max-width:380px){.ph-prev__arq{display:none}}

/* revisão 19/10 (apontado na revisão do blog): foco de teclado do logo e do
   menu no mesmo padrão dos botões (2px terracota), não o anel do navegador */
.hdr__logo:focus-visible,.hdr__item:focus-visible,.ft a:focus-visible{outline:2px solid var(--taupe-profundo);outline-offset:4px;border-radius:4px}
.ft a:focus-visible{outline-color:var(--nude-50)}
/* frases de apoio sob os botões ("Leva menos de 1 minuto"): 11px/300 era
   miúdo demais para uma frase de ação; 13px/400. O .legal (letra miúda de
   aviso) continua no tamanho de nota, só sem o peso leve. */
.micro{font-size:13px;font-weight:var(--weight-regular);line-height:1.5}
.legal{font-weight:var(--weight-regular)}

/* site público sem as fotos ilustrativas ainda (19/10/2026): o cartão do
   momento sem foto ganha respiro em cima */
.mom__i--sem-foto .card__corpo{padding-top:var(--space-8)}

/* formatos com foto no topo (lote de 19/10/2026): a foto encosta nas bordas
   do cartão, como nos momentos; o subgrid ganha 1 linha (8 em vez de 7) e o
   filete terracota dos cartões 360º passa para cima da foto */
.fmt--fotos .fmt__i{padding-top:0;overflow:hidden}
.fmt__foto{position:relative;margin:0 calc(-1 * var(--space-6)) var(--space-6)}
.fmt__foto img{aspect-ratio:16/10;object-fit:cover}
.fmt__i--360 .fmt__foto::after{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--taupe-profundo);z-index:2}
@supports (grid-template-rows:subgrid){
.fmt--fotos .fmt__i{grid-row:span 8}
}

/* BOTÕES EM UMA LINHA (pedido do Marco, 19/10/2026): todo texto de botão
   cabe numa linha em qualquer largura — os textos foram encurtados e a
   quebra fica proibida (dev/testes/mede-botoes.mjs confere quebra e estouro) */
.btn,.mom__i .btn--sec,.fmt__btn,.ac-enviar{white-space:nowrap}
.mom__btn{min-height:52px}
.fmt__btn{min-height:52px}

/* MOMENTOS NO TABLET (revisão de 20/10/2026): em 701–900 px a grade tem 2
   colunas e o 3º cartão ocupa a linha inteira; em pé, a foto dele ficava com
   ~430 px de altura. Deitado: foto à esquerda, texto à direita. */
@media (min-width:701px) and (max-width:900px){
  .mom>.mom__i:last-child:nth-child(odd):not(.mom__i--sem-foto){flex-direction:row}
  .mom>.mom__i:last-child:nth-child(odd):not(.mom__i--sem-foto) .card__foto{flex:0 0 46%;min-height:100%}
  .mom>.mom__i:last-child:nth-child(odd):not(.mom__i--sem-foto) .card__foto .ilus{height:100%}
  .mom>.mom__i:last-child:nth-child(odd):not(.mom__i--sem-foto) .card__foto img{height:100%;aspect-ratio:auto;object-fit:cover}
  .mom>.mom__i:last-child:nth-child(odd):not(.mom__i--sem-foto) .card__corpo{flex:1 1 auto;min-width:0}
}


/* =====================================================================
   MOSTRADOR DO MÉTODO PRESERVAR (21/10/2026) — adaptado do mostrador do
   método da home da Tribo. Ao lado (≥901 px) ou embaixo, a lista dos seis
   pilares acende junto. Estados no .pv-orb: is-completo (como nasce: tudo
   aceso), is-vivo (o ponto de luz corre), is-foco (uma letra escolhida),
   is-limpando (apagando para recomeçar), is-preparo/is-entrando (montagem).
   As medidas internas são em cqi (largura do palco), para o desenho e as
   letras crescerem e encolherem juntos.
   ===================================================================== */
.pv{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-12);align-items:center;margin-top:var(--space-4)}
@media (min-width:901px){.pv{grid-template-columns:minmax(0,500px) minmax(0,1fr);gap:clamp(40px,5vw,80px)}}
.pv-orb{--circ:12.8cqi;position:relative;width:100%;max-width:500px;margin:0 auto}
.pv-palco{position:relative;aspect-ratio:1/1;container-type:inline-size}
.pv-svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible}
.pv-brilho{opacity:.35;transition:opacity 1.2s var(--ease-standard)}
.pv-tiques{fill:none;stroke:rgba(250,246,240,.2);stroke-width:2;transition:opacity .9s var(--ease-standard)}
.pv-orbita{fill:none;stroke:rgba(250,246,240,.16);stroke-width:1.8;stroke-dasharray:100 100}
.pv-trilha{fill:none;stroke:var(--dourado-300);stroke-width:3.4;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:0;transition:stroke-dashoffset 1.1s cubic-bezier(.65,0,.35,1),opacity .6s var(--ease-standard)}
.pv-raio{stroke:rgba(250,246,240,.12);stroke-width:1.8;transition:stroke .6s var(--ease-standard),opacity .8s var(--ease-standard)}
.pv-raio.is-on{stroke:rgba(224,168,152,.55)}
.pv-pulso{fill:none;stroke:#FAF6F0;stroke-width:4.5;stroke-linecap:round;stroke-dasharray:16 140;stroke-dashoffset:16;opacity:0}
.pv-pulso.is-pulso{animation:pv-pulso .95s cubic-bezier(.45,0,.55,1) both}
@keyframes pv-pulso{0%{stroke-dashoffset:16;opacity:0}15%{opacity:1}100%{stroke-dashoffset:-100;opacity:.3}}
.pv-medalha{fill:#15223C;stroke:rgba(250,246,240,.1);stroke-width:1.8;transition:stroke .9s var(--ease-standard),opacity .8s var(--ease-standard)}
.pv-seg-trilho{fill:none;stroke:rgba(250,246,240,.07);stroke-width:8;transition:opacity .8s var(--ease-standard)}
.pv-seg{fill:none;stroke:var(--dourado-300);stroke-width:8;stroke-dashoffset:var(--seg);transition:stroke-dashoffset .9s cubic-bezier(.22,.61,.36,1) .25s}
.pv-seg.is-on{stroke-dashoffset:0}
.pv-cometa{opacity:0;transform-box:view-box;transform-origin:50% 50%;transform:rotate(var(--ang,0deg));transition:transform 1.1s cubic-bezier(.65,0,.35,1),opacity .5s var(--ease-standard)}
.pv-nucleo{fill:#FAF6F0}
.pv-orb.is-vivo .pv-cometa{opacity:1}
.pv-orb.is-completo .pv-brilho{opacity:1}
.pv-orb.is-completo .pv-medalha{stroke:rgba(224,168,152,.5)}
.pv-orb.is-foco .pv-trilha,.pv-orb.is-limpando .pv-trilha{opacity:0}
.pv-orb.sem-transicao .pv-trilha{transition:none}
/* no ciclo, o anel e o centro esperam o pulso chegar; no clique, vêm logo */
.pv-orb.is-vivo .pv-seg{transition-delay:.55s}
.pv-orb.is-vivo .pv-letra,.pv-orb.is-vivo .pv-nome.is-vis{transition-delay:.6s}
.pv-orb.is-foco .pv-seg,.pv-orb.is-foco .pv-letra,.pv-orb.is-foco .pv-nome.is-vis{transition-delay:.1s}

/* as letras: o círculo cai no ponto da órbita */
.pv-est{position:absolute;left:var(--x);top:var(--y);z-index:2;display:block;margin:0;padding:0;border:0;background:none;color:inherit;cursor:pointer;transform:translate(-50%,-50%);-webkit-tap-highlight-color:transparent}
.pv-est:disabled{cursor:default}
.pv-circ{position:relative;display:grid;place-items:center;width:var(--circ);height:var(--circ);border-radius:50%;background:#213458;border:1px solid rgba(250,246,240,.18);color:var(--dourado-300);font-family:var(--font-serif-display);font-size:5.6cqi;font-weight:500;line-height:1;transition:background-color .55s var(--ease-standard),border-color .55s var(--ease-standard),color .55s var(--ease-standard),box-shadow .55s var(--ease-standard),transform .55s var(--ease-standard),opacity .55s var(--ease-standard)}
.pv-est--longo .pv-circ{font-size:3.2cqi;letter-spacing:.02em}
.pv-circ::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid var(--dourado-300);opacity:0;pointer-events:none}
.pv-est.is-on .pv-circ{background:var(--dourado-300);border-color:var(--dourado-300);color:#1B2B4B;box-shadow:0 0 0 1.2cqi rgba(224,168,152,.14),0 2.4cqi 6.4cqi -1.6cqi rgba(224,168,152,.55)}
.pv-est.is-atual .pv-circ{transform:scale(1.08)}
.pv-est.is-atual .pv-circ::after,.pv-orb.is-completo .pv-est.is-on .pv-circ::after{animation:pv-onda 1.7s cubic-bezier(.22,.61,.36,1) both}
@keyframes pv-onda{0%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(1.75)}}
@media (hover:hover){
  .pv-est:not(:disabled):not(.is-on):hover .pv-circ{border-color:rgba(224,168,152,.7);background:#26395F}
}
.pv-est:focus-visible{outline:none}
.pv-est:focus-visible .pv-circ{outline:3px solid var(--nude-50);outline-offset:4px}

/* o centro: a palavra PRESERVAR acende letra a letra; embaixo, o pilar */
.pv-centro{position:absolute;left:50%;top:50%;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2.2cqi;width:40%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;transition:opacity .8s var(--ease-standard)}
.pv-palavra{margin:0;font-family:var(--font-serif-display);font-size:5.6cqi;font-weight:500;line-height:1;letter-spacing:.06em;white-space:nowrap;color:#FAF6F0}
.pv-letra{color:rgba(250,246,240,.2);transition:color .5s var(--ease-standard)}
.pv-letra.is-on{color:#FAF6F0}
.pv-letra.is-atual{color:var(--dourado-300)}
.pv-nomes{display:grid;width:100%}
.pv-nome{grid-area:1/1;align-self:start;margin:0;font-family:var(--font-sans-text);font-size:clamp(11px,2.7cqi,14px);font-weight:600;line-height:1.35;color:var(--text-on-dark-muted);text-wrap:balance;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .45s var(--ease-standard),transform .45s var(--ease-standard),visibility 0s linear .45s}
.pv-nome.is-vis{opacity:1;visibility:visible;transform:none;transition:opacity .55s var(--ease-standard) .2s,transform .55s var(--ease-standard) .2s,visibility 0s}
.pv-nome--fim{font-family:var(--font-serif-display);font-size:clamp(14px,3.4cqi,18px);font-weight:500;font-style:italic;color:#FAF6F0}

/* controles */
.pv-ctrl{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 18px;margin-top:var(--space-6)}
.pv-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px 0 15px;border-radius:var(--radius-pill);border:1px solid rgba(250,246,240,.24);background:rgba(250,246,240,.04);color:#FAF6F0;font-family:var(--font-sans-text);font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}
.pv-btn:hover{background:rgba(250,246,240,.09);border-color:rgba(224,168,152,.55)}
.pv-btn:focus-visible{outline:2px solid var(--nude-50);outline-offset:3px}
.pv-btn-ico{position:relative;flex-shrink:0;width:10px;height:12px}
.pv-btn-ico::before,.pv-btn-ico::after{content:"";position:absolute;top:0;bottom:0;width:3px;border-radius:1px;background:var(--dourado-300)}
.pv-btn-ico::before{left:0}
.pv-btn-ico::after{right:0}
.pv-btn[data-acao="seguir"] .pv-btn-ico::before{width:10px;border-radius:0;clip-path:polygon(0 0,100% 50%,0 100%)}
.pv-btn[data-acao="seguir"] .pv-btn-ico::after{display:none}
.pv-ctrl .pv-dica{margin:0;font-size:14px;color:var(--text-on-dark-muted)}
.pv-btn[hidden],.pv-ctrl .pv-dica[hidden]{display:none}

/* montagem quando o mostrador entra na tela */
.pv-orb.is-preparo .pv-orbita{stroke-dashoffset:100}
.pv-orb.is-preparo .pv-tiques,.pv-orb.is-preparo .pv-raio,.pv-orb.is-preparo .pv-seg-trilho,.pv-orb.is-preparo .pv-medalha,.pv-orb.is-preparo .pv-centro{opacity:0}
.pv-orb.is-preparo .pv-circ{opacity:0;transform:scale(.6)}
.pv-orb.is-entrando .pv-orbita{transition:stroke-dashoffset 1.3s cubic-bezier(.65,0,.35,1)}
.pv-orb.is-entrando .pv-tiques{transition-delay:.35s}
.pv-orb.is-entrando .pv-circ{transition-delay:calc(var(--k) * 90ms + 250ms)}
.pv-orb.is-entrando .pv-raio,.pv-orb.is-entrando .pv-seg-trilho{transition-delay:.6s}
.pv-orb.is-entrando .pv-centro{transition-delay:.5s}

/* a lista dos pilares: acende junto com a letra do mostrador */
.pv-lista{--pv-gap:var(--space-3);list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--pv-gap)}
.pv-item{--pv-px:var(--space-5);position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--space-4);align-items:start;padding:var(--space-4) var(--pv-px);border:1px solid transparent;border-radius:var(--radius-lg);transition:background-color .5s var(--ease-standard),border-color .5s var(--ease-standard)}
.pv-item__l{font-family:var(--font-serif-display);font-size:34px;font-weight:500;line-height:1;color:var(--dourado-300);opacity:.45;transition:opacity .5s var(--ease-standard)}
.pv-item--longo .pv-item__l{font-size:20px;letter-spacing:.02em;padding-top:6px}
.pv-item.is-on .pv-item__l{opacity:1}
.pv-item.is-atual{background:rgba(250,246,240,.05);border-color:rgba(224,168,152,.28)}
/* fio entre um pilar e o próximo (21/10/2026, pedido do Marco), no meio do
   vão; some em volta do pilar em destaque, que já tem a borda do cartão */
.pv-item+.pv-item::before{content:"";position:absolute;left:var(--pv-px);right:var(--pv-px);top:calc(var(--pv-gap) / -2 - 1px);height:1px;background:linear-gradient(90deg,rgba(224,168,152,.32),rgba(250,246,240,.12) 22%,rgba(250,246,240,.12) 78%,rgba(250,246,240,0));pointer-events:none;transition:opacity .5s var(--ease-standard)}
.pv-item.is-atual::before,.pv-item.is-atual+.pv-item::before{opacity:0}
.pv-item h3{margin:0;font-size:21px;line-height:1.2}
.pv-item p{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-on-dark-muted)}

@media (max-width:900px){
  .pv-orb{max-width:460px}
  .pv-lista{max-width:640px;margin:0 auto;width:100%}
}
@media (max-width:600px){
  .pv{gap:var(--space-10)}
  .pv-orb{--circ:13.6cqi}
  .pv-circ{font-size:6.4cqi}
  .pv-est--longo .pv-circ{font-size:3.6cqi}
  .pv-palavra{font-size:6.2cqi}
  .pv-tiques{stroke-width:3}
  .pv-orbita,.pv-raio,.pv-medalha{stroke-width:3}
  .pv-trilha{stroke-width:5.5}
  .pv-seg,.pv-seg-trilho{stroke-width:11}
  .pv-pulso{stroke-width:7}
  .pv-ctrl{flex-direction:column;gap:10px}
  .pv-ctrl .pv-dica{font-size:13.5px;text-align:center}
  .pv-item{--pv-px:var(--space-4);grid-template-columns:40px minmax(0,1fr);gap:var(--space-3);padding:var(--space-3) var(--pv-px)}
  .pv-item__l{font-size:28px}
  .pv-item--longo .pv-item__l{font-size:15px;padding-top:6px}
  .pv-item h3{font-size:19px}
}
@media (prefers-reduced-motion:reduce){
  .pv-orb *,.pv-orb *::before,.pv-orb *::after,.pv-item,.pv-item::before,.pv-item__l{transition:none!important;animation:none!important}
}

/* FAQ sem o quadro "Ficou com outra dúvida?" (21/10/2026): a lista vira uma
   coluna só, na largura de leitura do resto da página */
.faq-solo{max-width:880px}
