/* ============================================================
   site.css — folha única do site da Dra. Daniele Martins Afonso
   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 — SUBSTITUTION: no font binaries were provided with the brand assets.
   Cormorant Garamond is the closest Google Fonts match to the wordmark in the
   supplied logo files (high-contrast, light-weight didone-ish serif with fine
   hairline serifs, set in wide all-caps tracking). Manrope é a sans de apoio
   (variável 200-800, auto-hospedada) — trocada de Jost em 24/08 a pedido do cliente. */
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-italic-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-italic-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-italic-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-italic-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-italic-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-italic-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-300-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;
}
/* latin-ext */
@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;
}
/* latin */
@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;
}

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

/* Base palette — the five brand colors given in the brand direction, extended
   into a warm taupe/nude ramp. No red anywhere: red is expressly rejected. */
:root{
  /* Brand five */
  --taupe-profundo:#7A695D;   /* primária    */
  --taupe-suave:#AE9C8F;      /* secundária  */
  --nude-rosado:#E5D2C4;      /* apoio       */
  --offwhite-rosado:#F2E8E1;  /* fundo claro */
  --branco-puro:#FFFFFF;      /* fundo neutro */

  /* Warm neutral ramp (hue-matched to Taupe Profundo) */
  --nude-50:#FBF7F4;
  --nude-100:#F2E8E1;
  --nude-200:#E5D2C4;
  --nude-300:#D8C7B9;
  --nude-400:#C6B3A5;
  --nude-500:#AE9C8F;
  --nude-600:#948275;
  --nude-700:#7A695D;
  --nude-800:#5A4D44;
  --nude-900:#3E352F;
  --nude-950:#2A241F;

  /* Discreet gold — accents, rules, small ornament only. Never large fills. */
  --dourado-200:#EADCC4;
  --dourado-400:#948275;
  --dourado-300:#9F8F83; /* texto sobre fundo escuro: 4,91:1 */
  --dourado-500:#B99C6C;
  --dourado-700:#93794F;
  --dourado-800:#7A653F; /* bronze — única variante de ouro aprovada p/ texto pequeno (AA em branco, nude-50 e 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:#8C5B4A; /* erro (nunca vermelho puro) */
  --terracota-100:#F1DED7;
  --azul-500:#6E7C86;      /* informação   */
  --azul-100:#E2E8EB;

  /* Alpha overlays for glass / protection gradients */
  --alpha-ink-08:rgba(42,36,31,.08);
  --alpha-ink-16:rgba(42,36,31,.16);
  --alpha-ink-56:rgba(42,36,31,.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:15px;
  --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-light) var(--text-5xl)/var(--leading-tight) var(--font-serif-display);
  --type-h1:var(--weight-light) var(--text-4xl)/var(--leading-tight) var(--font-serif-display);
  --type-h2:var(--weight-light) 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-light) 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(122,105,93,.06);
  --shadow-sm:0 2px 8px rgba(122,105,93,.07);
  --shadow-md:0 8px 24px rgba(122,105,93,.09);
  --shadow-lg:0 18px 48px rgba(122,105,93,.12);
  --shadow-xl:0 32px 80px rgba(122,105,93,.14);
  --shadow-inset-hairline:inset 0 0 0 1px rgba(174,156,143,.32);
  --shadow-focus:0 0 0 3px rgba(148,130,117,.42);

  /* Protection gradients — for text laid over photography */
  --scrim-bottom:linear-gradient(to top,rgba(42,36,31,.62) 0%,rgba(42,36,31,.28) 38%,rgba(42,36,31,0) 72%); /* @kind color */
  --scrim-left:linear-gradient(to right,rgba(42,36,31,.55) 0%,rgba(42,36,31,0) 62%); /* @kind color */
  --scrim-light:linear-gradient(to top,rgba(242,232,225,.94) 0%,rgba(242,232,225,0) 70%); /* @kind color */

  /* The only sanctioned gradients: a barely-there warm wash */
  --wash-nude:linear-gradient(180deg,#FFFFFF 0%,#F2E8E1 100%); /* @kind color */
  --wash-nude-soft:linear-gradient(160deg,#F2E8E1 0%,#E5D2C4 100%); /* @kind color */
  --rule-gold:linear-gradient(90deg,rgba(148,130,117,0) 0%,#948275 50%,rgba(148,130,117,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:var(--nude-500);
  --text-on-dark:var(--nude-50);
  --text-on-dark-muted:rgba(251,247,244,.76);
  --text-accent:var(--taupe-profundo);
  --text-link:var(--taupe-profundo);
  --text-link-hover:var(--nude-900);

  /* Surfaces */
  --surface-page:var(--branco-puro);
  --surface-page-alt:var(--offwhite-rosado);
  --surface-card:var(--branco-puro);
  --surface-card-alt:var(--nude-50);
  --surface-sunken:var(--nude-100);
  --surface-accent:var(--nude-200);
  --surface-inverse:var(--nude-900);
  --surface-brand:var(--taupe-profundo);
  --surface-glass:var(--alpha-light-64);

  /* Borders */
  --border-subtle:rgba(174,156,143,.28);
  --border-default:rgba(174,156,143,.48);
  --border-strong:var(--taupe-suave);
  --border-inverse:rgba(251,247,244,.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(174,156,143,.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__nav>a: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-light);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-light);letter-spacing:var(--tracking-tight);color:var(--text-strong);text-wrap:pretty}
h1{font-size:clamp(36px,5vw,64px);line-height:var(--leading-tight);letter-spacing:var(--tracking-tightest)}
.acc{font-style:italic;color:var(--dourado-700)}
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(148,130,117,.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-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)}
.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(251,247,244,.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(251,247,244,.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}
.hdr__nav{display:flex;gap:var(--space-6);margin-left:auto}
.hdr__nav>a{position:relative;padding:8px 0;font-size:var(--text-sm);letter-spacing:var(--tracking-wide);color:var(--text-muted);text-decoration:none;white-space:nowrap}
.hdr__nav>a: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__nav>a:hover{color:var(--text-accent)}
.hdr__nav>a:hover:after{width:100%}
.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(148,130,117,.18),transparent 68%),radial-gradient(46% 56% at 6% 90%,rgba(229,210,196,.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(148,130,117,.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(122,105,93,.07)}
.hero__proof-n{display:block;font-family:var(--font-serif-display);font-weight:var(--weight-light);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-light);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(148,130,117,0),var(--dourado-400) 50%,rgba(148,130,117,0)) top/100% 1px no-repeat,linear-gradient(90deg,rgba(148,130,117,0),var(--dourado-400) 50%,rgba(148,130,117,0)) bottom/100% 1px no-repeat,radial-gradient(50% 130% at 50% 0%,rgba(148,130,117,.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(148,130,117,.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(148,130,117,.16);border-color:var(--dourado-400)}
.stat div>b{display:block;font-family:var(--font-serif-display);font-weight:var(--weight-light);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(148,130,117,.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(148,130,117,.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(148,130,117,.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__nav>a,.hdr__foot{transition-delay:0s !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(148,130,117,0),var(--dourado-400) 8%,var(--dourado-400) 92%,rgba(148,130,117,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(148,130,117,.18);transition:background var(--duration-base) var(--ease-standard)}
.step:hover{transform:var(--lift-hover);box-shadow:var(--shadow-md);border-color:rgba(148,130,117,.55)}
.step:hover::before{background:var(--dourado-400)}
.step b{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(148,130,117,.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}
.faq__side{align-self:stretch}
.faq__side>.card{position:sticky;top:calc(var(--lp-header-h) + var(--space-8))}
/* 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)}
/* footer — cólofon editorial */
/* ===== RODAPÉ (colofão) =====
   Três papéis tipográficos, UM tamanho e UM peso cada. A hierarquia vem de cor
   e espaçamento, nunca de tamanho avulso — não introduzir tamanho novo aqui.
     .ft__label 11/600/caixa-alta · .ft__body 13/400 · .ft__fine 12/300         */
.ft{position:relative;overflow:hidden;background:var(--nude-950);color:var(--text-on-dark)}
.ft::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--rule-gold);z-index:2}
.ft::after{content:"";position:absolute;inset:0;background-image:var(--grain);pointer-events:none}
.ft__glow{position:absolute;inset:0;background:radial-gradient(58% 70% at 22% 0%,rgba(148,130,117,.1),transparent 70%);pointer-events:none}
.ft__mark{-webkit-user-select:none;position:absolute;right:-50px;bottom:-150px;font-family:var(--font-serif-display);font-style:italic;font-weight:var(--weight-light);font-size:560px;line-height:1;color:rgba(148,130,117,.05);pointer-events:none;user-select:none}
.ft__in{position:relative;z-index:1;padding:var(--space-20) var(--gutter-desktop) var(--space-8);max-width:var(--container-max);margin:0 auto}
/* — os três papéis — */
.ft__label{display:block;margin:0;font-family:var(--font-sans-text);font-size:var(--text-2xs);font-weight:var(--weight-semibold);line-height:1.4;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--dourado-300)}
.ft__label:not(.ft__id)::before{content:"";display:inline-block;width:16px;height:1px;background:var(--dourado-400);margin-right:var(--space-2);vertical-align:middle}
.ft__body{font-family:var(--font-sans-text);font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--text-on-dark)}
.ft__fine{display:block;font-family:var(--font-sans-text);font-size:var(--text-xs);font-weight:var(--weight-light);line-height:1.65;color:var(--text-on-dark-muted)}
/* — abertura — */
.ft__hero{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-12);padding-bottom:var(--space-16);border-bottom:1px solid var(--border-inverse)}
.ft img{width:220px}
.ft .ft__state{margin-top:var(--space-8);max-width:26ch;font-family:var(--font-serif-display);font-weight:var(--weight-light);font-size:clamp(22px,2.6vw,30px);line-height:var(--leading-snug);color:var(--text-on-dark)}
.ft .ft__state em{font-style:italic;color:var(--dourado-300)}
.ft__cta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-4);flex:0 0 auto}
.ft__cta .ft__fine{max-width:34ch;text-align:right}
/* — colunas — */
.ft__grid{display:grid;grid-template-columns:1.15fr .8fr 1.05fr;gap:var(--space-12);padding:var(--space-12) 0;align-items:start}
.ft__col{display:flex;flex-direction:column;gap:var(--space-3)}
/* 7 links empilhados criavam 155px de desnível contra a coluna de 3 itens:
   duas sub-colunas encurtam a lista pela metade e emparelham o bloco */
.ft__col--nav{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-6);align-content:start}
/* no dedo, 29px de alvo com 12px de folga entre os links faz errar o vizinho.
   So em aparelho de toque: no mouse a precisao ja basta e a coluna cresceria a toa. */
@media (hover:none){
  .ft__col--nav a{display:flex;align-items:center;min-height:var(--tap-min)}
}
.ft__col--nav>.ft__label{grid-column:1/-1}
.ft__col>.ft__label{margin-bottom:var(--space-2)}
.ft a:not(.btn){text-decoration:none;transition:color var(--duration-base) var(--ease-standard)}
.ft a:not(.btn):hover{color:var(--text-on-dark)}
.ft__col a{position:relative;align-self:flex-start;justify-self:start}
.ft__col a::after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:0;background:var(--dourado-400);transition:width var(--duration-base) var(--ease-standard)}
.ft__col a:hover::after{width:100%}
/* — dados do atendimento — */
.ft__data{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-6)}
.ft__data--wide{grid-column:1/-1}
.ft__data>div{min-width:0}
/* min-height de 2 linhas: sem isso um rótulo que quebra desalinha o valor do par vizinho */
.ft__data dt{min-height:2.8em;font-family:var(--font-sans-text);font-size:var(--text-2xs);font-weight:var(--weight-semibold);line-height:1.4;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-on-dark-muted)}
.ft__data dd{margin:2px 0 0}
/* — notas — */
.ft__hr{height:1px;background:var(--border-inverse)}
.ft__notes{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);padding-top:var(--space-10)}
.ft__note>.ft__label{margin-bottom:var(--space-3)}
.ft__note p{max-width:66ch}
.ft__note p+p{margin-top:var(--space-3)}
/* — identificação e base — */
.ft .ft__id{margin-top:var(--space-10)}
.ft__base{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-inverse)}
/* classe, não seletor de tag: .ft a:not(.btn) (0,2,1) vence .ft__base a (0,1,1) e apagava o sublinhado */
/* item do menu do rodape que aponta para a pagina atual */
.ft__body[aria-current="page"]{color:var(--dourado-300);font-weight:var(--weight-semibold)}
.ft a.ft__ln{color:inherit;text-decoration:underline;text-underline-offset:3px}
/* 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}
/* 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__nav>a{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-light);font-size:22px;line-height:1.2;letter-spacing:0;color:var(--text-strong);border-bottom:1px solid var(--border-subtle);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>a::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__nav>a::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__nav>a:hover::after,.hdr__nav>a:focus-visible::after{transform:rotate(45deg) translate(2px,-2px);border-color:var(--dourado-400)}
.hdr__nav>a[aria-current="page"]{color:var(--dourado-800)}
.hdr__nav>a[aria-current="page"]::before{color:var(--dourado-400)}
.hdr__nav.open>a{opacity:1;transform:none}
.hdr__nav.open>a:nth-of-type(1){transition-delay:40ms}
.hdr__nav.open>a:nth-of-type(2){transition-delay:80ms}
.hdr__nav.open>a:nth-of-type(3){transition-delay:120ms}
.hdr__nav.open>a:nth-of-type(4){transition-delay:160ms}
.hdr__nav.open>a:nth-of-type(5){transition-delay:200ms}
.hdr__nav.open>a:nth-of-type(6){transition-delay:240ms}
.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(42,36,31,.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__side>.card{position:static}
.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__hero{flex-direction:column;align-items:flex-start;padding-bottom:var(--space-10)}
.ft__cta{align-items:flex-start}
.ft__cta .ft__fine{text-align:left;max-width:none}
.ft__grid{grid-template-columns:1fr;gap:var(--space-10);padding:var(--space-10) 0}
.ft__notes{grid-template-columns:1fr;gap:var(--space-8)}
/* sem teto, as sub-colunas esticam e devolvem o vazio que elas vieram resolver */
.ft__col--nav,.ft__data{max-width:460px}
/* 19px de altura reprova o alvo minimo de toque (24px): folga vertical nos links */
.ft__col a{padding:5px 0}
.ft__col a::after{bottom:2px}
.ft__base a{display:inline-block;padding:3px 0}
.ft__mark{font-size:320px;right:-70px;bottom:-90px}
.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}
:root{--text-on-dark:#3E352F;--text-on-dark-muted:#5A4D44;--border-inverse:rgba(42,36,31,.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:#594E46}
.ft .ft__label::before{background:#594E46}
/* 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(89,78,70,.4);color:#594E46}
}

