/* ============================================================
   AnestDor — Landing page
   Derivado do AnestDor Design System (tokens/, readme.md).
   Quatro cores, duas famílias, hairlines, cantos retos,
   motion lento sem overshoot. Mobile-first.
   ============================================================ */

/* ---- Fontes (auto-hospedadas, variable, subset latin) ---- */
@font-face{
  font-family:"Jost";
  src:url("../assets/fonts/jost-latin.woff2") format("woff2");
  font-weight:300 400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Mulish";
  src:url("../assets/fonts/mulish-latin.woff2") format("woff2");
  font-weight:300 700;
  font-style:normal;
  font-display:swap;
}
/* Fallbacks métricos (CLS ~0 durante o swap) — valores medidos dos woff2 vs Arial */
@font-face{
  font-family:"Jost-fallback";
  src:local("Arial"),local("Helvetica");
  size-adjust:95.26%;ascent-override:112.3%;descent-override:39.4%;line-gap-override:0%;
}
@font-face{
  font-family:"Mulish-fallback";
  src:local("Arial"),local("Helvetica");
  size-adjust:100.68%;ascent-override:99.8%;descent-override:24.8%;line-gap-override:0%;
}

/* ---- Tokens ---- */
:root{
  --branco:#FFFFFF;
  --fendi:#C3BFB6;
  --couro:#763A20;
  --preto:#000000;

  --fendi-50:#F7F6F3;
  --fendi-100:#EFEDE8;
  --fendi-200:#E1DED7;
  --fendi-300:#D2CFC6;
  --fendi-400:#C3BFB6;
  --fendi-500:#A9A49A;
  --fendi-600:#8C877D;
  --fendi-700:#6B6760;

  --couro-100:#F0E2DA;
  --couro-400:#9C5433;
  --couro-600:#5E2D19;
  --couro-700:#421F11;

  --preto-900:#000000;
  --preto-800:#0D0D0D;
  --preto-700:#1A1A18;
  --preto-600:#332F2B;
  --preto-500:#4A4640;
  --preto-400:#6B6660;

  --ink-page:#0A0A09;
  --papel:#FBFAF8;

  /* Escada invertida — texto e filetes sobre fundos escuros */
  --inv-text:rgba(255,255,255,.88);
  --inv-soft:rgba(255,255,255,.78);
  --inv-dim:rgba(255,255,255,.62);
  --inv-hairline-strong:rgba(255,255,255,.45);
  --inv-hairline:rgba(255,255,255,.26);
  --inv-hairline-faint:rgba(255,255,255,.14);

  --danger:#8E2B1C;
  --danger-soft:#F6E4E0;

  --font-display:"Jost","Jost-fallback","Century Gothic","Futura",sans-serif;
  --font-text:"Mulish","Mulish-fallback","Avenir Next","Avenir","Segoe UI",sans-serif;

  --tracking-wordmark:.14em;
  --tracking-eyebrow:.26em;
  --tracking-nav:.2em;
  --tracking-cta:.24em;

  --dur-fast:140ms;
  --dur:240ms;
  --dur-slow:480ms;
  --ease-brand:cubic-bezier(.22,.61,.36,1);

  --focus-ring:var(--couro-400);

  --container:1180px;
  --gutter:clamp(20px,5vw,40px);
  --sec-pad:clamp(76px,11vw,130px);
  --gap-head-grid:clamp(48px,7vw,80px); /* costura cabeçalho da seção → grade de itens */
}

/* ---- Base ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}
[id]{scroll-margin-top:76px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
/* Hook de captura (?capture na URL): congela todo movimento para screenshots/QA */
html.capture{scroll-behavior:auto}
html.capture *{animation:none!important;transition:none!important}
html.capture .reveal,html.capture .reveal-scale img{opacity:1!important;transform:none!important}
html,body{overflow-x:clip}
body{
  margin:0;
  background:var(--branco);
  color:var(--preto);
  font:400 16px/1.6 var(--font-text);
  text-wrap:pretty;
}
h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:300;letter-spacing:.02em}
p{margin:0}
img{max-width:100%;height:auto;display:block}
a{color:var(--couro);text-decoration:none;transition:color var(--dur-fast) var(--ease-brand)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
::selection{background:var(--couro);color:var(--branco)}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.skip-link{
  position:fixed;top:12px;left:12px;z-index:100;
  transform:translateY(-64px);
  background:var(--preto);color:var(--branco);
  padding:12px 20px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  transition:transform var(--dur) var(--ease-brand);
}
.skip-link:focus{transform:none}

.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}

/* ---- Tipos utilitários ---- */
.eyebrow{
  display:flex;align-items:baseline;gap:16px;
  font-size:10.5px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;
  font-weight:500;
}
.eyebrow .num{
  font-family:var(--font-display);font-weight:300;font-size:13px;letter-spacing:.24em;
}
.sec-title{
  font-size:clamp(30px,3.6vw,46px);
  line-height:1.12;
  margin-top:26px;
}
.lede{font-size:clamp(16px,1.25vw,18px);font-weight:300;line-height:1.9}

/* ---- Botões ---- */
.btn{
  display:inline-block;
  font:500 11px/1 var(--font-text);
  letter-spacing:var(--tracking-cta);text-transform:uppercase;
  padding:18px 32px;
  border:1px solid transparent;
  white-space:nowrap;cursor:pointer;
  transition:background-color var(--dur-fast) var(--ease-brand),
             color var(--dur-fast) var(--ease-brand),
             border-color var(--dur-fast) var(--ease-brand);
}
.btn--paper{background:var(--fendi-50);color:var(--preto)}
.btn--paper:hover{background:var(--fendi-100);color:var(--preto)}
.btn--ghost-light{background:transparent;color:var(--branco);border-color:var(--inv-hairline-strong)}
.btn--ghost-light:hover{border-color:var(--branco);color:var(--branco)}
.btn--ghost-dark{background:transparent;color:var(--preto);border-color:rgba(0,0,0,.42)}
.btn--ghost-dark:hover{border-color:var(--preto);color:var(--preto)}
.btn--couro{background:var(--couro);color:var(--branco)}
.btn--couro:hover{background:var(--couro-600);color:var(--branco)}
.btn--ink{background:var(--preto);color:var(--branco)}
.btn--ink:hover{background:var(--preto-600);color:var(--branco)}
.btn:active{transform:none}

/* ============================================================
   Header adaptativo
   ============================================================ */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:40;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background-color .45s var(--ease-brand),border-color .45s var(--ease-brand),
             transform .45s var(--ease-brand);
}
/* Smart header: recolhe ao rolar para baixo, reaparece ao primeiro gesto para cima */
.site-header.is-hidden{transform:translateY(-100%)}
.site-header:focus-within{transform:none}
.site-header .container{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-block:14px;
}
.brand{display:flex;align-items:center;gap:13px;border:0}
.brand-mark{position:relative;width:29px;height:29px;flex:0 0 auto}
.brand-mark img{
  position:absolute;inset:0;width:100%;height:100%;
  transition:opacity .45s var(--ease-brand);
}
.brand-word{
  font-family:var(--font-display);font-weight:300;font-size:19px;
  letter-spacing:var(--tracking-wordmark);line-height:1;white-space:nowrap;
  transition:color .45s var(--ease-brand);
}
.site-nav{display:none}
.nav-link{
  font-size:10.5px;letter-spacing:var(--tracking-nav);text-transform:uppercase;
  font-weight:500;white-space:nowrap;
  transition:color .45s var(--ease-brand);
}
.nav-cta{
  font-size:10.5px;letter-spacing:var(--tracking-nav);text-transform:uppercase;
  font-weight:500;padding:13px 24px;white-space:nowrap;
  transition:background-color .45s var(--ease-brand),color .45s var(--ease-brand);
}
/* Acesso da equipe — botão quieto de hairline, subordinado ao CTA */
.nav-restrito{
  padding:11px 18px;border:1px solid transparent;
  transition:color .45s var(--ease-brand),border-color .45s var(--ease-brand);
}
.site-header[data-tone="dark"] .nav-restrito{border-color:var(--inv-hairline-strong)}
.site-header[data-tone="dark"] .nav-restrito:hover{border-color:var(--branco)}
.site-header[data-tone="light"] .nav-restrito{border-color:var(--fendi-300)}
.site-header[data-tone="light"] .nav-restrito:hover{border-color:var(--preto)}
.header-progress{
  position:absolute;left:0;bottom:-1px;height:1px;width:100%;
  background:var(--couro-400);
  transform:scaleX(0);transform-origin:left;
}
/* Couro sobre preto é proibido pela marca — no tom escuro a barra vira branca */
.site-header[data-tone="dark"] .header-progress{background:var(--inv-text)}

/* Tom escuro (default: hero) */
.site-header[data-tone="dark"]{color:var(--branco)}
.site-header[data-tone="dark"] .brand-word{color:var(--branco)}
.site-header[data-tone="dark"] .brand-mark .mark-black{opacity:0}
.site-header[data-tone="dark"] .brand-mark .mark-white{opacity:1}
.site-header[data-tone="dark"] .nav-link{color:var(--inv-soft)}
.site-header[data-tone="dark"] .nav-link:hover{color:var(--branco)}
.site-header[data-tone="dark"] .nav-cta{background:var(--fendi-50);color:var(--preto)}
.site-header[data-tone="dark"] .nav-cta:hover{background:var(--fendi-100)}
.site-header[data-tone="dark"].is-scrolled{
  background:rgba(10,10,9,.9);
  border-bottom-color:var(--inv-hairline-faint);
}

/* Tom claro */
.site-header[data-tone="light"]{color:var(--preto)}
.site-header[data-tone="light"] .brand-word{color:var(--preto)}
.site-header[data-tone="light"] .brand-mark .mark-black{opacity:1}
.site-header[data-tone="light"] .brand-mark .mark-white{opacity:0}
.site-header[data-tone="light"] .nav-link{color:var(--preto-500)}
.site-header[data-tone="light"] .nav-link:hover{color:var(--preto)}
.site-header[data-tone="light"] .nav-cta{background:var(--preto);color:var(--branco)}
.site-header[data-tone="light"] .nav-cta:hover{background:var(--preto-600)}
.site-header[data-tone="light"]{background:rgba(247,246,243,.92)}
.site-header[data-tone="light"].is-scrolled{
  background:rgba(247,246,243,.96);
  border-bottom-color:var(--fendi-200);
}

/* Menu mobile */
.nav-toggle{
  display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;padding:10px;
  background:transparent;border:0;cursor:pointer;
}
.nav-toggle span{
  display:block;height:1px;width:100%;
  background:currentColor;
  transition:transform var(--dur) var(--ease-brand),opacity var(--dur) var(--ease-brand);
}
.site-header[data-tone="dark"] .nav-toggle{color:var(--branco)}
.site-header[data-tone="light"] .nav-toggle{color:var(--preto)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.nav-overlay{
  position:fixed;inset:0;z-index:35;
  background:var(--ink-page);
  display:flex;flex-direction:column;justify-content:center;
  padding:96px var(--gutter) 48px;
  opacity:0;visibility:hidden;
  transition:opacity var(--dur-slow) var(--ease-brand),visibility 0s linear var(--dur-slow);
}
.nav-overlay.is-open{
  opacity:1;visibility:visible;
  transition:opacity var(--dur-slow) var(--ease-brand);
}
.nav-overlay ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.nav-overlay li + li{border-top:1px solid var(--inv-hairline-faint)}
.nav-overlay a{
  display:block;padding:20px 0;
  font-family:var(--font-display);font-weight:300;
  font-size:clamp(24px,6vw,32px);line-height:1.2;color:var(--branco);
}
.nav-overlay a:hover{color:var(--fendi)}
.nav-overlay .overlay-cta{
  margin-top:40px;align-self:flex-start;
  font-family:var(--font-text);font-size:11px;letter-spacing:var(--tracking-cta);
  text-transform:uppercase;font-weight:500;
  background:var(--branco);color:var(--preto);padding:18px 32px;
}
.nav-overlay .overlay-cta:hover{background:var(--fendi-100);color:var(--preto)}

/* 1160: com o item "Entrar", abaixo disso o nav não cabe numa linha — usa o menu */
@media (min-width:1160px){
  .nav-toggle,.nav-overlay{display:none}
  .site-nav{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;justify-content:flex-end}
}

/* ============================================================
   Seções — fundos de marca
   ============================================================ */
.sec{position:relative;overflow:clip}
.sec-inner{position:relative;padding-block:var(--sec-pad)}

.sec--paper{background:var(--papel)}
.sec--paper::before{
  content:"";position:absolute;inset:0;
  background:url("../assets/img/tex-branco-400.webp") center/2400px;
  opacity:.16;mix-blend-mode:multiply;pointer-events:none;
}
.sec--white{background:var(--branco)}
.sec--fendi{background:var(--fendi-100)}
.sec--fendi::before{
  content:"";position:absolute;inset:0;
  background:url("../assets/img/tex-fendi-930.webp") center/2600px;
  opacity:.22;mix-blend-mode:multiply;pointer-events:none;
}
.sec--couro{background:var(--couro);color:var(--branco)}
.sec--couro::before{
  content:"";position:absolute;inset:0;
  background:url("../assets/img/tex-couro-930.webp") center/1200px;
  mix-blend-mode:multiply;opacity:.55;pointer-events:none;
}
.sec--ink{background:var(--ink-page);color:var(--branco)}

.watermark{
  position:absolute;pointer-events:none;user-select:none;
}

/* ============================================================
   Hero
   ============================================================ */
.hero{
  position:relative;
  background:var(--fendi-100);color:var(--preto);
  min-height:100svh;
  display:flex;align-items:center;
  overflow:hidden;
}
.hero-photo{
  position:absolute;inset:0;
}
.hero-photo img{
  width:100%;height:100%;object-fit:cover;object-position:46% 40%;
  animation:hero-drift 32s cubic-bezier(.45,0,.55,1) infinite alternate;
  will-change:transform;
}
@keyframes hero-drift{
  from{transform:scale(1.06) translateX(0)}
  to{transform:scale(1.06) translateX(-2.2%)}
}
@media (min-width:900px){
  /* Ancorado à esquerda: a janela mantém distância estável do fim do título
     em qualquer proporção de tela (o corte de cover acontece só à direita).
     O drift vira zoom ancorado à esquerda — o movimento só AFASTA a janela do texto. */
  .hero-photo img{
    object-position:75% 44%;
    transform-origin:left center;
    animation-name:hero-drift-desktop;
  }
}
@keyframes hero-drift-desktop{
  from{transform:scale(1.015)}
  to{transform:scale(1.065)}
}
.hero-content{
  position:relative;width:100%;
  padding-block:clamp(120px,16vh,180px) clamp(72px,10vh,120px);
}
.hero-copy{max-width:600px}
.hero-eyebrow{
  display:block;font-size:10.5px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;
  font-weight:500;color:var(--couro-700);
}
.hero-title{
  font-size:clamp(38px,5.2vw,62px);
  line-height:1.08;letter-spacing:.005em;color:var(--preto);
  margin-top:30px;
}
.hero-lede{
  font-size:clamp(16px,1.3vw,18px);font-weight:300;line-height:1.85;
  color:var(--preto);
  margin-top:30px;max-width:52ch;
}
.hero-ctas{display:flex;gap:12px;margin-top:44px;flex-wrap:wrap}
@media (min-width:900px){
  .hero-copy{max-width:min(54%,600px)}
}
/* Sem véu nem halo: em telas estreitas o texto para no limite da figura —
   a coluna encolhe para nunca cruzar o cabelo, e o parallax desliza a foto ao lado */
@media (max-width:899px){
  .hero-copy{padding-right:19vw}
  .hero-lede{font-size:15px;line-height:1.8}
}

/* ============================================================
   Faixa D–O–R
   ============================================================ */
.dor-band{
  position:relative;background:var(--papel);color:var(--preto);overflow:clip;
}
.dor-band::before{
  content:"";position:absolute;inset:0;
  background:url("../assets/img/tex-branco-400.webp") center/2400px;
  opacity:.16;mix-blend-mode:multiply;pointer-events:none;
}
.dor-inner{position:relative}
.dor-inner{
  display:grid;grid-template-columns:1fr;align-items:center;
  gap:clamp(40px,6vw,88px);
  padding-block:clamp(72px,9vw,116px);
}
.dor-lockup{
  display:flex;flex-direction:column;align-items:center;gap:clamp(24px,4vh,34px);
  text-align:center;
}
.dor-word{display:flex;align-items:center;gap:clamp(20px,4.5vw,46px)}
.dor-word .letter{
  font-family:var(--font-display);font-weight:300;
  font-size:clamp(56px,8vw,104px);line-height:1;color:var(--preto);
}
.dor-word img{width:clamp(48px,6.8vw,88px);height:auto}
.dor-note{
  font-size:15px;font-weight:300;line-height:1.8;color:var(--preto-500);
  max-width:52ch;
}
.dor-figure{margin:0;overflow:hidden;border:1px solid var(--fendi-200)}
.dor-figure img{width:100%;height:auto;display:block}
@media (min-width:900px){
  .dor-inner{grid-template-columns:minmax(0,.5fr) minmax(0,.5fr)}
  .dor-lockup{align-items:flex-start;text-align:left}
}

/* ============================================================
   Layouts recorrentes
   ============================================================ */
.split{display:grid;grid-template-columns:1fr;gap:clamp(40px,6vw,80px);align-items:start}
.split--tail{align-items:end}
@media (min-width:900px){
  .split{grid-template-columns:minmax(0,.42fr) minmax(0,.58fr)}
  .split--half{grid-template-columns:minmax(0,.52fr) minmax(0,.48fr)}
  .split--about{grid-template-columns:minmax(0,.44fr) minmax(0,.56fr)}
  .split--agendar{grid-template-columns:minmax(0,.58fr) minmax(0,.42fr)}
}

/* 01 — Especialidade */
.sec--esp .eyebrow{color:var(--couro)}
.sec--esp .side-note{font-size:15px;line-height:1.9;color:var(--preto-500);margin-top:26px}
/* Alinha a 1ª linha do discurso (dir.) à altura do H2 (esq.) — as colunas
   penduram na mesma linha óptica em vez de flutuarem soltas */
@media (min-width:900px){
  .esp-body{padding-top:56px}
}
.esp-body p{font-size:clamp(16px,1.3vw,18px);font-weight:300;line-height:1.9;color:var(--preto-600)}
.esp-body p + p{margin-top:24px}
.esp-body .u-couro{font-style:normal;border-bottom:1px solid var(--couro)}
.compare{
  display:grid;grid-template-columns:1fr;margin-top:clamp(44px,5vw,64px);
  border-top:1px solid var(--preto);
}
.compare-col{padding:34px 0}
.compare-col + .compare-col{border-top:1px solid var(--fendi-300)}
.compare-label{
  font-size:10.5px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:500;
}
.compare-col:first-child .compare-label{color:var(--preto-400)}
.compare-col:last-child .compare-label{color:var(--couro)}
.compare-list{display:flex;flex-direction:column;gap:14px;margin:26px 0 0;padding:0;list-style:none}
.compare-list li{font-size:16.5px;line-height:1.6}
.compare-col:first-child li{color:var(--preto-500)}
.compare-col:last-child li{color:var(--preto)}
@media (min-width:760px){
  .compare{grid-template-columns:1fr 1fr}
  .compare-col{padding:34px 56px 34px 0}
  .compare-col + .compare-col{border-top:0;border-left:1px solid var(--fendi-300);padding:34px 0 34px 56px}
}

/* 02 — Números (couro) */
.sec--numeros .eyebrow{color:var(--inv-soft)}
.sec--numeros .sec-title{color:var(--branco);max-width:24ch}
.stats{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,44px);
  margin-top:var(--gap-head-grid);
}
@media (min-width:900px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{border-top:1px solid var(--inv-hairline-strong);padding-top:26px}
.stat-n{
  font-family:var(--font-display);font-weight:300;
  font-size:clamp(40px,4.6vw,62px);line-height:1;color:var(--branco);
}
.stat-n small{font-size:.5em;font-family:inherit;font-weight:inherit}
.stat p:not(.stat-n){font-size:14.5px;line-height:1.8;color:var(--inv-text);margin-top:18px}
.trend{
  margin-top:clamp(44px,6vw,72px);padding-top:30px;
  border-top:1px solid var(--inv-hairline);
  display:grid;grid-template-columns:1fr;gap:32px 60px;align-items:end;
}
@media (min-width:900px){.trend{grid-template-columns:.55fr .45fr}}
.trend-label{font-size:10.5px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:500;color:var(--inv-soft)}
.trend-bars{display:flex;align-items:flex-end;gap:clamp(18px,3vw,34px);margin-top:26px}
.trend-bar{flex:1}
.trend-bar i{
  display:block;height:38px;font-style:normal;
  transform-origin:left;
}
.trend-bar:nth-child(1) i{background:var(--inv-hairline-strong)}
.trend-bar:nth-child(2) i{background:rgba(255,255,255,.56)}
.trend-bar:nth-child(3) i{background:var(--branco)}
.trend-bar:nth-child(2){flex:1.38}
.trend-bar:nth-child(3){flex:1.6}
.trend-bar b{
  display:block;font-weight:400;font-size:11px;letter-spacing:.14em;
  color:var(--inv-soft);padding-top:12px;white-space:nowrap;
}
.trend-bar:nth-child(3) b{color:var(--branco)}
.trend-src{font-size:11px;line-height:1.9;color:var(--inv-soft);max-width:70ch}

/* 03 — Quando procurar */
.sec--quando .eyebrow{color:var(--couro)}
.sec--quando .side-lede{font-size:17px;font-weight:300;line-height:1.9;color:var(--preto-600);margin-top:24px}
.quando-figure{margin:40px 0 0;overflow:hidden}
.quando-figure img{width:100%}
.sign-list{margin:0;padding:0;list-style:none}
.sign{
  display:flex;gap:clamp(18px,2.4vw,26px);padding:26px 0;
  border-top:1px solid var(--fendi-300);
}
.sign:last-of-type{border-bottom:1px solid var(--fendi-300)}
.sign-num{
  font-family:var(--font-display);font-weight:300;font-size:13px;letter-spacing:.2em;
  color:var(--fendi-700);padding-top:5px;flex:0 0 auto;
}
.sign h3{font-size:clamp(20px,2.2vw,24px);line-height:1.3;color:var(--preto)}
.sign p{font-size:14.5px;line-height:1.75;color:var(--preto-500);margin-top:7px}
/* Colunas da seção 03 com rodapés nivelados: a coluna direita estica e o
   CTA ancora no fundo, alinhado à base da fotografia ao lado */
@media (min-width:900px){
  .sec--quando .split{align-items:stretch}
  .sec--quando .split > div{display:flex;flex-direction:column}
  .sec--quando .side-lede{margin-bottom:40px}
  .sec--quando .quando-figure{margin-top:auto}
  .sec--quando .sign-list{margin-bottom:44px}
  .sec--quando .sign-cta{margin-top:auto}
}
.sign-cta{
  margin-top:44px;padding:34px 38px;
  background:var(--fendi-100);border-top:1px solid var(--couro);
}
.sign-cta p{
  font-family:var(--font-display);font-weight:300;
  font-size:clamp(19px,2vw,22px);line-height:1.5;color:var(--preto);
}
.sign-cta .btn{margin-top:26px}

/* 04 — O que tratamos */
.sec--tratamos .eyebrow{color:var(--couro)}
.sec--tratamos .side-lede{font-size:17px;font-weight:300;line-height:1.9;color:var(--preto-600)}
.areas{margin-top:var(--gap-head-grid)}
.area{
  display:grid;grid-template-columns:1fr;gap:14px 40px;
  padding:36px 0;border-top:1px solid var(--fendi-400);
}
.area:last-child{border-bottom:1px solid var(--fendi-400)}
.area-num{
  font-family:var(--font-display);font-weight:300;font-size:clamp(28px,3vw,40px);
  line-height:1;color:var(--fendi-700);
}
.area h3{font-size:clamp(24px,2.6vw,30px);line-height:1.22}
.area p{font-size:16px;line-height:1.85;color:var(--preto-600);max-width:58ch}
.area-tech{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--preto-500);margin-top:16px;
}
@media (min-width:900px){
  .area{grid-template-columns:64px minmax(0,.32fr) minmax(0,.68fr);align-items:start}
}

/* 05 — Procedimentos */
.sec--proc .eyebrow{color:var(--couro)}
.proc-copy p{font-size:clamp(16px,1.3vw,18px);font-weight:300;line-height:1.9;color:var(--preto-600)}
.proc-copy p + p{margin-top:24px}
.proc-stats{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,34px)}
.proc-stat{border-top:1px solid var(--preto);padding-top:22px}
.proc-stat b{
  display:block;font-family:var(--font-display);font-weight:300;
  font-size:clamp(26px,2.8vw,34px);line-height:1;
}
.proc-stat b small{font-size:.5em;font-weight:inherit}
.proc-stat span{display:block;font-size:13px;line-height:1.7;color:var(--preto-500);margin-top:10px}

.proc-figure{margin:0;overflow:hidden}
.proc-figure img{width:100%;height:auto;display:block}

/* Placeholder de foto (aguardando imagem real) */
.photo-slot{
  position:relative;aspect-ratio:4/5;background:var(--fendi-100);
  display:flex;align-items:flex-end;overflow:hidden;
}
.photo-slot::before{
  content:"";position:absolute;inset:0;
  background-color:var(--fendi-500);
  -webkit-mask-image:url("../assets/img/pattern-alpha.webp");
  mask-image:url("../assets/img/pattern-alpha.webp");
  -webkit-mask-size:500px;mask-size:500px;
  opacity:.5;
}
.photo-slot span{
  position:relative;display:block;padding:22px 24px;
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  line-height:1.9;color:var(--preto-600);
}
.slot-caption{
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--preto-400);padding-top:14px;
}

/* Citação cuidar */
.quote-band{display:grid;grid-template-columns:1fr;color:var(--branco)}
@media (min-width:900px){.quote-band{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}}
.quote-panel{
  position:relative;overflow:hidden;
  background:var(--couro);
  display:flex;align-items:center;
  padding:clamp(64px,9vw,104px) clamp(28px,6vw,72px);
}
.quote-panel::before{
  content:"";position:absolute;inset:0;
  background:url("../assets/img/tex-couro-930.webp") center/1200px;
  mix-blend-mode:multiply;opacity:.55;
}
.quote-panel .watermark{right:-110px;bottom:-150px;width:420px;opacity:.1}
.quote-inner{position:relative}
.quote-word{font-size:10.5px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:500;color:var(--inv-soft)}
.quote-band blockquote{
  margin:28px 0 0;
  font-family:var(--font-display);font-weight:300;
  font-size:clamp(24px,3vw,34px);line-height:1.44;color:var(--branco);max-width:30ch;
}
.quote-source{display:flex;align-items:center;gap:22px;margin-top:40px}
.quote-source i{display:block;width:56px;height:1px;background:var(--inv-dim)}
.quote-source span{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--inv-soft)}
.quote-photo{position:relative;overflow:hidden;min-height:320px}
.quote-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%}
@media (max-width:899.98px){.quote-photo{aspect-ratio:4/3;min-height:0}}

/* 06 — Jornada (fendi: equilíbrio e serenidade — o destino da jornada) */
.sec--jornada .eyebrow{color:var(--couro)}
.sec--jornada .side-lede{font-size:17px;font-weight:300;line-height:1.9;color:var(--preto-600)}
.sec--jornada .side-lede em{font-style:normal;color:var(--preto);border-bottom:1px solid var(--couro)}
.journey{
  display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,40px);
  margin-top:var(--gap-head-grid);
}
@media (min-width:680px){.journey{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.journey{grid-template-columns:repeat(4,1fr)}}
.step{border-top:1px solid var(--fendi-400);padding-top:28px}
.step-marker{display:flex;align-items:center;gap:14px}
.step-marker i{
  display:block;border-radius:50%;background:var(--couro);
  width:var(--dot,10px);height:var(--dot,10px);
  opacity:.9;
}
.step-marker span{
  font-family:var(--font-display);font-weight:300;font-size:11px;
  letter-spacing:.24em;color:var(--preto-500);text-transform:uppercase;
}
.step h3{font-size:clamp(22px,2.4vw,27px);line-height:1.24;color:var(--preto);margin-top:20px}
.step p{font-size:14.5px;line-height:1.85;color:var(--preto-600);margin-top:14px}

/* 07 — Sobre */
.sec--sobre .eyebrow{color:var(--couro)}
.about-media{display:flex;flex-direction:column}
.about-portrait{margin:0;overflow:hidden}
.about-portrait img{width:100%;height:auto;display:block}
/* .about-copy .about-cred: especificidade acima de .about-copy p, que roubava o corpo */
.about-copy .about-cred{
  font-size:10.5px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;
  font-weight:500;line-height:1.6;color:var(--preto-500);margin-top:14px;
}
.about-copy p{font-size:17px;font-weight:300;line-height:1.92;color:var(--preto-600)}
.about-copy p + p{margin-top:24px}
.about-copy .sec-title + .about-cred + p{margin-top:30px}
.about-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,34px);
  margin-top:44px;border-top:1px solid var(--fendi-200);padding-top:30px;
}
.about-stats b{display:block;font-family:var(--font-display);font-weight:300;font-size:clamp(32px,3.8vw,44px);line-height:1}
.about-stats span{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--preto-500);margin-top:8px}


/* 08 — O que esperar (FAQ) */
.sec--faq .eyebrow{color:var(--couro)}
.sec--faq .sec-title{max-width:24ch}
.faq{
  display:grid;grid-template-columns:1fr;gap:0 80px;
  margin-top:var(--gap-head-grid);
}
@media (min-width:900px){.faq{grid-template-columns:1fr 1fr}}
.faq-item{padding:28px 0;border-top:1px solid var(--fendi-300)}
.faq-item h3{font-size:clamp(20px,2.2vw,24px);line-height:1.3}
.faq-item p{font-size:15.5px;line-height:1.85;color:var(--preto-500);margin-top:12px}
@media (min-width:900px){
  .faq-item:nth-last-child(-n+2){border-bottom:1px solid var(--fendi-300)}
}
@media (max-width:899.98px){
  .faq-item:last-child{border-bottom:1px solid var(--fendi-300)}
}

/* 09 — Agendamento */
.sec--agendar .sec-inner{z-index:1}
.sec--agendar .eyebrow{color:var(--couro)}
.agendar-lede{font-size:17px;font-weight:300;line-height:1.9;color:var(--preto-600);max-width:52ch}
.agendar-grid{margin-top:24px}

.form{display:flex;flex-direction:column;gap:18px;margin-top:40px}
.form-row{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:680px){.form-row{grid-template-columns:1fr 1fr}}
.field label{
  display:block;font-size:12px;font-weight:500;letter-spacing:.08em;
  text-transform:uppercase;color:var(--preto-600);
}
.field .req{color:var(--couro)}
.field input[type="text"],
.field input[type="tel"],
.field select,
.field textarea{
  display:block;width:100%;margin-top:8px;
  font:400 14.5px/1.5 var(--font-text);color:var(--preto);
  background:var(--branco);
  border:1px solid var(--fendi-700);border-radius:0;
  padding:11px 13px;
  transition:border-color var(--dur-fast) var(--ease-brand);
  -webkit-appearance:none;appearance:none;
}
.field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%234A4640' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  padding-right:38px;
}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--preto-500)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{
  outline:2px solid var(--focus-ring);outline-offset:0;border-color:var(--couro-400);
}
.field textarea{resize:vertical;min-height:76px}
.form .hint{font-size:12px;color:var(--preto-500);margin-top:6px}
.fieldset{border:0;margin:0;padding:0}
.fieldset legend{
  font-size:12px;font-weight:500;letter-spacing:.08em;
  text-transform:uppercase;color:var(--preto-600);padding:0;
}
.radio-row{display:flex;gap:12px 28px;flex-wrap:wrap;padding-top:10px}
.choice{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:15px;color:var(--preto-600)}
.choice input{
  -webkit-appearance:none;appearance:none;margin:0;
  width:18px;height:18px;flex:0 0 auto;
  border:1px solid var(--fendi-700);background:var(--branco);
  display:grid;place-content:center;cursor:pointer;
  transition:border-color var(--dur-fast) var(--ease-brand);
}
.choice input[type="radio"]{border-radius:50%}
.choice input::before{
  content:"";width:8px;height:8px;background:var(--couro);
  transform:scale(0);transition:transform var(--dur-fast) var(--ease-brand);
}
.choice input[type="radio"]::before{border-radius:50%}
.choice input:checked{border-color:var(--couro)}
.choice input:checked::before{transform:scale(1)}
.choice input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.choice:hover input{border-color:var(--couro-400)}
.consent{align-items:flex-start;font-size:14px;line-height:1.6}
.consent input{margin-top:2px}
.form-actions{display:flex;align-items:center;gap:20px 24px;flex-wrap:wrap;padding-top:8px}
.form-note{font-size:12px;line-height:1.75;color:var(--preto-500);max-width:40ch}
.form-error{
  display:none;font-size:13px;line-height:1.6;color:var(--danger);
  border-top:1px solid var(--danger);padding:10px 14px;background:var(--danger-soft);
}
.form-error.is-visible{display:block}

.agendar-aside{margin-top:8px}
/* Banner de conversão em couro — branco-sobre-couro, par aprovado da marca */
.whats-banner{
  position:relative;overflow:clip;
  background:var(--couro);color:var(--branco);
  padding:44px 40px;
}
.whats-banner::before{
  content:"";position:absolute;inset:0;
  background:url("../assets/img/tex-couro-930.webp") center/1200px;
  mix-blend-mode:multiply;opacity:.55;pointer-events:none;
}
.whats-watermark{
  position:absolute;right:-90px;bottom:-120px;width:300px;height:auto;
  opacity:.12;pointer-events:none;
}
.whats-banner > :not(.whats-watermark){position:relative}
.whats-banner .label{font-size:10.5px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:500;color:var(--inv-soft)}
.whats-title{
  font-family:var(--font-display);font-weight:300;
  font-size:clamp(22px,2vw,26px);line-height:1.32;
  color:var(--branco);margin-top:18px;
}
.whats-text{font-size:15.5px;line-height:1.8;color:var(--inv-text);margin-top:16px}
.whats-btn{
  display:flex;align-items:center;justify-content:center;gap:12px;
  width:100%;margin-top:28px;
}
.whats-btn svg{width:18px;height:18px;flex:0 0 auto}
.whats-meta{
  margin-top:26px;padding-top:20px;border-top:1px solid var(--inv-hairline);
  display:flex;flex-direction:column;gap:6px;
  font-size:13px;line-height:1.6;color:var(--inv-soft);
}
.whats-num{font-weight:600;color:var(--branco)}

/* ============================================================
   Footer
   ============================================================ */
.site-footer{background:var(--ink-page);color:var(--branco);border-top:1px solid var(--inv-hairline-faint)}
.footer-main{
  display:flex;align-items:center;justify-content:space-between;gap:32px 48px;flex-wrap:wrap;
  padding-top:46px;
}
.footer-id{display:flex;align-items:center;gap:16px}
.footer-id img{width:34px;height:auto}
.footer-word{
  font-family:var(--font-display);font-weight:300;font-size:19px;
  letter-spacing:var(--tracking-wordmark);line-height:1;color:var(--branco);white-space:nowrap;
}
.footer-desc{
  font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--inv-soft);padding-top:7px;white-space:nowrap;
}
.footer-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.footer-links a{
  display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;
  border:1px solid var(--inv-hairline);color:var(--inv-text);
  transition:color var(--dur-fast) var(--ease-brand),
             border-color var(--dur-fast) var(--ease-brand),
             background-color var(--dur-fast) var(--ease-brand);
}
.footer-links a:hover{color:var(--preto);border-color:var(--branco);background:var(--branco)}
.footer-links svg{width:26px;height:26px}
.footer-contact{
  margin-top:38px;padding-top:24px;border-top:1px solid var(--inv-hairline-faint);
  display:flex;flex-direction:column;gap:8px;
  font-size:13px;line-height:1.7;color:var(--inv-soft);
  font-style:normal;
}
.footer-contact a{color:var(--inv-soft);border-bottom:1px solid var(--inv-hairline)}
.footer-contact a:hover{color:var(--branco);border-bottom-color:var(--branco)}
.footer-legal{
  margin-top:24px;border-top:1px solid var(--inv-hairline-faint);
  padding:22px 0 46px;
  display:flex;justify-content:space-between;gap:12px 40px;flex-wrap:wrap;
  font-size:10.5px;letter-spacing:.04em;color:var(--inv-dim);
}
.footer-restrito{color:inherit;border-bottom:1px solid var(--inv-hairline)}
.footer-restrito:hover{color:var(--branco);border-bottom-color:var(--branco)}

/* ============================================================
   Motion — reveals via IntersectionObserver
   Só transform/opacity; easing de marca; sem overshoot.
   ============================================================ */
html.js .reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .6s var(--ease-brand),transform .6s var(--ease-brand);
  transition-delay:var(--rd,0ms);
}
html.js .reveal--fade{transform:none}
html.js .reveal.is-in{opacity:1;transform:none}

html.js .reveal-scale img,
html.js img.reveal-scale{
  transform:scale(1.08);
  transition:transform 1.4s var(--ease-brand);
}
html.js .reveal-scale.is-in img,
html.js img.reveal-scale.is-in{transform:scale(1)}

html.js .trend-bar i{
  transform:scaleX(0);
  transition:transform .9s var(--ease-brand);
  transition-delay:var(--rd,0ms);
}
html.js .is-in .trend-bar i{transform:scaleX(1)}

/* Stagger declarativo: o JS lê data-stagger e distribui --rd nos filhos */

@media (prefers-reduced-motion:reduce){
  html.js .reveal,
  html.js .reveal-scale img,
  html.js img.reveal-scale,
  html.js .trend-bar i{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  .hero-photo img{will-change:auto}
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important}
}
