/* ════════════════════════════════════════════════
   Zafar Contabilidade · Assessoria Contábil & Jurídica
   Paleta:  #021b31 · #b89246 · #fefefe
   Fontes:  Fraunces (display) + Manrope (texto)
   ════════════════════════════════════════════════ */

:root{
  /* núcleo da paleta */
  --ink:        #021b31;
  --gold:       #b89246;
  --paper:      #fefefe;

  /* derivadas */
  --ink-700:    #04223d;
  --ink-600:    #062c4d;
  --ink-500:    #0a3a63;
  --ink-line:   rgba(254,254,254,.12);
  --gold-soft:  #d4b077;
  --gold-deep:  #8f6f2f;
  --gold-line:  rgba(184,146,70,.32);
  --paper-2:    #f6f2ea;
  --paper-3:    #ece5d8;
  --ink-mute:   rgba(254,254,254,.66);
  --dark-mute:  rgba(2,27,49,.66);

  /* mesmas famílias da logo: Didone no nome + geométrica na assinatura */
  --ff-display: "Bodoni Moda", "Didot", "Bodoni MT", Georgia, serif;
  --ff-body:    "Jost", "Century Gothic", "Futura", "Segoe UI", sans-serif;

  --wrap:       1120px;
  --pad:        clamp(1.25rem, 4vw, 3rem);
  --r:          4px;

  --ease:       cubic-bezier(.22,.68,.28,1);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--ff-body);
  font-size:clamp(1rem,.96rem + .2vw,1.0625rem);
  font-weight:400;
  line-height:1.66;
  letter-spacing:.008em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }
a{ color:inherit; }

::selection{ background:var(--gold); color:var(--ink); }

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

.skip{
  position:absolute; left:-999px; top:0; z-index:200;
  background:var(--gold); color:var(--ink); padding:.75rem 1.25rem; font-weight:600;
}
.skip:focus{ left:0; }

:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; border-radius:2px; }

/* ── textura de grão ────────────────────────── */
.grain{
  position:fixed; inset:0; z-index:9999; pointer-events:none;
  opacity:.28; mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

/* ── tipografia base ────────────────────────── */
h1,h2,h3,h4,blockquote{
  font-family:var(--ff-display);
  font-weight:400;
  font-optical-sizing:auto;
  letter-spacing:-.004em;
  line-height:1.1;
  margin:0;
  text-wrap:balance;
}
h1{ font-size:clamp(2rem,1.35rem + 2.7vw,3.15rem); line-height:1.14; }
h2{ font-size:clamp(1.6rem,1.2rem + 1.6vw,2.35rem); line-height:1.16; }
h3{ font-size:1.12rem; font-weight:500; letter-spacing:0; line-height:1.32; }
em{ font-style:italic; color:var(--gold); }
p{ margin:0; text-wrap:pretty; }

.eyebrow{
  font-family:var(--ff-body);
  font-size:.72rem; font-weight:500;
  letter-spacing:.3em; text-transform:uppercase;
  color:var(--gold-soft);
  display:flex; align-items:center; gap:.7rem;
  margin:0 0 1.3rem;
}
.eyebrow--dark{ color:var(--gold-deep); }

.lede{ font-size:clamp(1rem,.97rem + .2vw,1.1rem); line-height:1.62; }

/* ── botões ─────────────────────────────────── */
.btn{
  --bg:transparent; --fg:var(--paper); --bd:currentColor;
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.95rem 1.7rem;
  font-family:var(--ff-body); font-size:.83rem; font-weight:500;
  letter-spacing:.17em; text-transform:uppercase;
  text-decoration:none; white-space:nowrap;
  background:var(--bg); color:var(--fg);
  border:1px solid var(--bd); border-radius:var(--r);
  position:relative; overflow:hidden; isolation:isolate;
  transition:color .45s var(--ease), border-color .45s var(--ease), transform .3s var(--ease), box-shadow .45s var(--ease);
}
.btn::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:var(--ink); transform:translateY(101%);
  transition:transform .48s var(--ease);
}
.btn:hover{ transform:translateY(-2px); }
.btn:hover::before{ transform:translateY(0); }

.btn--gold{ --bg:var(--gold); --fg:var(--ink); --bd:var(--gold); box-shadow:0 10px 30px -14px rgba(184,146,70,.85); }
.btn--gold:hover{ color:var(--gold); border-color:var(--gold); box-shadow:0 16px 38px -16px rgba(2,27,49,.6); }

.btn--ghost{ --bd:var(--ink-line); --fg:var(--paper); }
.btn--ghost::before{ background:var(--paper); }
.btn--ghost:hover{ color:var(--ink); border-color:var(--paper); }

.btn--outline{ --bd:var(--gold-line); --fg:var(--paper); }
.btn--outline::before{ background:var(--gold); }
.btn--outline:hover{ color:var(--ink); border-color:var(--gold); }

.btn--sm{ padding:.7rem 1.15rem; font-size:.72rem; letter-spacing:.1em; }
.btn--lg{ padding:1.15rem 2.4rem; font-size:.88rem; }
.btn--full{ width:100%; }

.link-gold{
  display:inline-flex; align-items:center; gap:.5rem;
  font-weight:600; font-size:.85rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold-deep); text-decoration:none;
  padding-bottom:.35rem; border-bottom:1px solid var(--gold-line);
  transition:gap .3s var(--ease), border-color .3s var(--ease);
}
.link-gold:hover{ gap:.9rem; border-color:var(--gold); }

/* ── navegação ──────────────────────────────── */
.nav{
  position:sticky; top:0; z-index:80; /* também ancora o menu mobile */
  background:rgba(254,254,254,.92);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid rgba(2,27,49,.09);
  transition:background .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
}
.nav.is-stuck{
  background:var(--paper);
  border-bottom-color:var(--gold-line);
  box-shadow:0 18px 40px -32px rgba(2,27,49,.75);
}
.nav__in{ display:flex; align-items:center; justify-content:space-between; gap:2rem; height:100px; }

.brand{ display:flex; align-items:center; text-decoration:none; }
.brand img{ height:72px; width:auto; display:block; }

.nav__links{ display:flex; align-items:center; gap:2rem; }
.nav__links a:not(.btn){
  position:relative; text-decoration:none; color:var(--ink);
  font-size:.85rem; font-weight:600; letter-spacing:.03em; padding:.35rem 0;
  transition:color .3s var(--ease);
}
.nav__links a:not(.btn)::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--gold); transition:width .35s var(--ease);
}
.nav__links a:not(.btn):hover{ color:var(--gold-deep); }
.nav__links a:not(.btn):hover::after{ width:100%; }

.burger{ display:none; width:44px; height:44px; background:none; border:0; cursor:pointer; padding:10px; }
.burger span{ display:block; height:1.5px; background:var(--ink); margin:5px 0; transition:transform .35s var(--ease), opacity .25s; }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

@media (max-width:960px){
  .burger{ display:block; }
  .nav__in{ position:static; height:86px; }
  .brand img{ height:60px; }
  .nav__links{
    position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:0;
    background:var(--paper); border-top:1px solid var(--gold-line);
    padding:.5rem var(--pad) 2rem;
    max-height:0; overflow:hidden; opacity:0; visibility:hidden;
    box-shadow:0 30px 50px -34px rgba(2,27,49,.6);
    transition:max-height .5s var(--ease), opacity .3s, visibility .3s;
  }
  .nav__links.is-open{ max-height:80vh; opacity:1; visibility:visible; overflow-y:auto; }
  .nav__links a:not(.btn){ padding:1.05rem 0; border-bottom:1px solid var(--paper-3); font-size:1rem; }
  .nav__links .btn{ margin-top:1.4rem; }
}

/* ════════════ HERO ════════════ */
.hero{
  position:relative; isolation:isolate;
  background:var(--ink); color:var(--paper);
  padding-top:clamp(3.5rem,7vw,6rem);
  overflow:hidden;
}
.hero__glow{
  position:absolute; z-index:-2; inset:-30% -10% auto auto;
  width:min(900px,90vw); aspect-ratio:1;
  background:radial-gradient(circle at 60% 40%, rgba(184,146,70,.30), rgba(184,146,70,.07) 42%, transparent 68%);
  filter:blur(20px);
}
.hero__grid-lines{
  position:absolute; z-index:-1; inset:0;
  background-image:
    linear-gradient(to right, var(--ink-line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--ink-line) 1px, transparent 1px);
  background-size:clamp(60px,7vw,110px) clamp(60px,7vw,110px);
  mask-image:radial-gradient(ellipse 90% 70% at 30% 30%, #000 10%, transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 30% 30%, #000 10%, transparent 78%);
  opacity:.55;
}
.hero__in{
  padding-block:clamp(2.5rem,5vw,4.5rem) clamp(3rem,6vw,5rem);
}
.hero h1{ max-width:18ch; }
.hero h1{ margin-bottom:1.15rem; }
.hero h1 em{ position:relative; white-space:nowrap; }
.hero h1 em::after{
  content:""; position:absolute; left:0; right:0; bottom:.06em; height:2px;
  background:linear-gradient(90deg,var(--gold),transparent);
  transform:scaleX(0); transform-origin:left;
  animation:underline 1.1s .9s var(--ease) forwards;
}
@keyframes underline{ to{ transform:scaleX(1); } }
.hero .lede{ color:var(--ink-mute); max-width:52ch; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:.8rem; margin:1.8rem 0 2rem; }
.hero__marks{
  list-style:none; margin:0; padding:1.5rem 0 0;
  border-top:1px solid var(--ink-line);
  display:flex; flex-wrap:wrap; gap:.6rem 2rem;
  font-size:.83rem; color:var(--ink-mute); letter-spacing:.04em;
}
.hero__marks li{ display:flex; align-items:center; gap:.55rem; }
.hero__marks li::before{ content:"✦"; color:var(--gold); font-size:.7rem; }

/* ── ticker ─────────────────────────────────── */
.ticker{
  border-top:1px solid var(--ink-line); border-bottom:1px solid var(--ink-line);
  overflow:hidden; padding:.95rem 0;
  background:rgba(4,34,61,.5);
}
.ticker__track{
  display:flex; align-items:center; gap:2.2rem; width:max-content;
  animation:slide 42s linear infinite;
  font-family:var(--ff-display); font-size:.95rem; font-weight:500; color:var(--ink-mute);
  white-space:nowrap;
}
.ticker__track i{ color:var(--gold); font-style:normal; font-size:.65rem; }
.ticker:hover .ticker__track{ animation-play-state:paused; }
@keyframes slide{ to{ transform:translateX(-50%); } }

/* ════════════ SEÇÕES ════════════ */
section[id]{ scroll-margin-top:108px; }

.sec{ padding-block:clamp(3.25rem,6vw,5.5rem); position:relative; }
.sec--tight{ padding-top:0; }
.sec--paper{ background:var(--paper); color:var(--ink); }
.sec--ink{ background:var(--ink); color:var(--paper); }

.sec__head{ max-width:62ch; margin-bottom:clamp(2rem,3.5vw,3rem); }
.sec__head--center{ margin-inline:auto; text-align:center; }
.sec__head--center .eyebrow{ justify-content:center; }
.sec__head--split{
  max-width:none; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
  gap:clamp(1.5rem,4vw,4rem); align-items:end;
}
.sec__sub{ margin-top:1.1rem; color:var(--dark-mute); font-size:1rem; max-width:58ch; }
.sec--ink .sec__sub{ color:var(--ink-mute); }
.sec__head--center .sec__sub{ margin-inline:auto; }
@media (max-width:820px){ .sec__head--split{ grid-template-columns:1fr; } }

/* ── pilares ────────────────────────────────── */
.pillars{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  border-top:1px solid var(--paper-3);
}
.pillar{
  padding:1.85rem 1.4rem 2rem;
  border-bottom:1px solid var(--paper-3);
  border-right:1px solid var(--paper-3);
  position:relative; overflow:hidden;
  transition:background .45s var(--ease);
}
.pillar:first-child{ border-left:1px solid var(--paper-3); }
.pillar::after{
  content:""; position:absolute; left:0; top:0; height:2px; width:100%;
  background:var(--gold); transform:scaleX(0); transform-origin:left;
  transition:transform .5s var(--ease);
}
.pillar:hover{ background:var(--paper-2); }
.pillar:hover::after{ transform:scaleX(1); }
.pillar__ico{
  display:grid; place-items:center; width:44px; height:44px;
  color:var(--gold-deep);
  border:1px solid var(--gold-line); border-radius:var(--r);
  background:linear-gradient(150deg, rgba(184,146,70,.12), transparent 68%);
  margin-bottom:1.6rem;
  transition:background .45s var(--ease), color .45s var(--ease), border-color .45s var(--ease);
}
.pillar:hover .pillar__ico{
  background:var(--gold); color:var(--ink); border-color:var(--gold);
}
.pillar h3{ margin-bottom:.6rem; }
.pillar p{ color:var(--dark-mute); font-size:.92rem; }
@media (max-width:640px){ .pillar{ border-left:1px solid var(--paper-3); } }

/* ── serviços ───────────────────────────────── */
.services{ list-style:none; margin:0; padding:0; border-top:1px solid var(--paper-3); }
.service{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto;
  gap:clamp(1rem,3vw,2.75rem); align-items:center;
  padding:1.4rem .5rem; border-bottom:1px solid var(--paper-3);
  position:relative; transition:padding-left .45s var(--ease);
}
.service::before{
  content:""; position:absolute; inset:0 auto 0 0; width:0;
  background:linear-gradient(90deg, rgba(184,146,70,.09), transparent);
  transition:width .5s var(--ease); pointer-events:none;
}
.service:hover{ padding-left:1.5rem; }
.service:hover::before{ width:100%; }
.service__idx{
  font-family:var(--ff-display); font-size:.85rem; font-weight:600; color:var(--gold-deep);
  letter-spacing:.08em; padding-top:.25rem;
}
.service__body h3{ margin-bottom:.3rem; font-size:clamp(1.08rem,.95rem + .45vw,1.32rem); }
.service__body p{ color:var(--dark-mute); font-size:.93rem; max-width:62ch; }
.service__link{
  display:inline-flex; align-items:center; gap:.45rem;
  font-size:.76rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink); text-decoration:none; white-space:nowrap;
  padding:.7rem 1.1rem; border:1px solid var(--paper-3); border-radius:var(--r);
  transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease), gap .3s var(--ease);
}
.service__link:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink); gap:.8rem; }
@media (max-width:720px){
  .service{ grid-template-columns:auto minmax(0,1fr); row-gap:1.2rem; }
  .service__link{ grid-column:2; justify-self:start; }
}

/* ════════════ PLANOS ════════════ */
.plans-sec{ overflow:hidden; background:#010f1c; }
.plans-sec__glow{
  position:absolute; inset:auto 50% -35% auto; transform:translateX(50%);
  width:min(1100px,120vw); aspect-ratio:2/1;
  background:radial-gradient(ellipse at center, rgba(184,146,70,.22), transparent 62%);
  filter:blur(30px); pointer-events:none;
}
.plans{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,2vw,1.6rem); align-items:stretch;
  position:relative;
}
.plan{
  display:flex; flex-direction:column;
  padding:clamp(1.4rem,2vw,1.9rem);
  background:linear-gradient(168deg, #0b3a63, #072c4c 55%, #052540);
  border:1px solid rgba(254,254,254,.18); border-radius:var(--r);
  box-shadow:0 26px 55px -32px #000;
  transition:transform .5s var(--ease), border-color .5s var(--ease), box-shadow .5s var(--ease), background .5s var(--ease);
}
.plan:hover{
  transform:translateY(-6px);
  border-color:var(--gold);
  box-shadow:0 46px 85px -42px #000;
}
.plan--featured{
  background:linear-gradient(168deg, #1d4a6d, #0d3557 48%, #0a2c49);
  border:1px solid var(--gold);
  box-shadow:0 0 0 4px rgba(184,146,70,.14), 0 40px 80px -38px rgba(184,146,70,.55);
  position:relative;
}
.plan--featured::before{
  content:""; position:absolute; inset:6px; border:1px solid rgba(184,146,70,.3);
  border-radius:2px; pointer-events:none;
}
@media (min-width:981px){
  .plan--featured{ transform:translateY(-12px); }
  .plan--featured:hover{ transform:translateY(-18px); }
}
.plan__tag{
  position:absolute; top:-.85rem; left:50%; transform:translateX(-50%);
  background:var(--gold); color:var(--ink);
  font-size:.66rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  padding:.45rem 1rem; border-radius:2px; white-space:nowrap;
}
.plan__head{ min-height:5.4rem; }
.plan__name{
  font-family:var(--ff-body); font-size:.74rem; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--ink-mute); margin-bottom:.75rem;
}
.plan__name span{ display:block; font-family:var(--ff-display); font-size:1.6rem; font-weight:500; letter-spacing:0; text-transform:none; color:var(--paper); margin-top:.3rem; }
.plan--featured .plan__name span{ color:var(--gold); }
.plan__desc{ font-size:.88rem; color:rgba(254,254,254,.72); line-height:1.5; }
.plan__price{
  font-family:var(--ff-display); font-size:2.45rem; font-weight:500; line-height:1;
  margin:1.2rem 0 .4rem; letter-spacing:-.01em;
  display:flex; align-items:baseline; gap:.15rem;
}
.plan__price .cur{ font-size:1.05rem; color:var(--gold); margin-right:.15rem; }
.plan__price .per{ font-family:var(--ff-body); font-size:.85rem; font-weight:500; color:var(--ink-mute); letter-spacing:.04em; }
.plan__term{ font-size:.74rem; letter-spacing:.08em; color:rgba(254,254,254,.58); text-transform:uppercase; }
.plan__extra{
  display:inline-flex; align-items:center; align-self:flex-start; margin-top:.75rem;
  padding:.3rem .65rem; border:1px solid var(--gold-line); border-radius:2px;
  font-size:.76rem; font-weight:600; letter-spacing:.04em; color:var(--gold-soft);
  background:rgba(184,146,70,.07);
}
.plan--featured .plan__extra{ color:var(--gold); border-color:rgba(184,146,70,.5); }
.plan__list{
  list-style:none; margin:1.5rem 0 1.7rem; padding:1.35rem 0 0;
  border-top:1px solid var(--ink-line);
  display:grid; gap:.7rem; flex:1;
}
.plan__list li{
  position:relative; padding-left:1.6rem;
  font-size:.91rem; color:rgba(254,254,254,.78); line-height:1.45;
}
.plan__list li::before{
  content:""; position:absolute; left:0; top:.42em;
  width:9px; height:5px; border-left:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold);
  transform:rotate(-45deg);
}
.plan__list .is-plus{ color:var(--paper); font-weight:600; }

.plans__note{
  margin-top:2.25rem; text-align:center; font-size:.88rem; color:var(--ink-mute);
}
.plans__note a{ color:var(--gold); text-decoration:none; border-bottom:1px solid var(--gold-line); padding-bottom:1px; }
.plans__note a:hover{ border-color:var(--gold); }

@media (max-width:980px){
  .plans{ grid-template-columns:1fr; max-width:520px; margin-inline:auto; gap:2rem; }
  .plan__head{ min-height:0; }
}

/* ── nicho ──────────────────────────────────── */
.niche{ background:var(--paper-2); }
.niche__in{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.95fr);
  gap:clamp(2.5rem,5vw,5rem); align-items:center;
}
.niche__list{ list-style:none; margin:0; padding:0; border-top:1px solid var(--paper-3); }
.niche__list li{
  display:grid; gap:.25rem; padding:1.1rem 0;
  border-bottom:1px solid var(--paper-3);
  transition:padding-left .4s var(--ease);
}
.niche__list li:hover{ padding-left:.75rem; }
.niche__list strong{
  font-family:var(--ff-display); font-weight:600; font-size:1.08rem; letter-spacing:0;
}
.niche__list span{ font-size:.9rem; color:var(--dark-mute); }
.niche .link-gold{ margin-top:1.8rem; }
@media (max-width:880px){ .niche__in{ grid-template-columns:1fr; } }

/* ── CTA ────────────────────────────────────── */
.cta{
  position:relative; isolation:isolate; overflow:hidden;
  background:var(--ink); color:var(--paper);
  padding-block:clamp(3.25rem,6vw,5rem);
  text-align:center;
}
.cta__glow{
  position:absolute; z-index:-1; inset:auto auto -60% 50%; transform:translateX(-50%);
  width:min(1000px,110vw); aspect-ratio:1.6/1;
  background:radial-gradient(ellipse at center, rgba(184,146,70,.26), transparent 60%);
  filter:blur(24px);
}
.cta__in{ display:grid; justify-items:center; gap:1.1rem; }
.cta p{ color:var(--ink-mute); font-size:1rem; }
.cta .btn{ margin-top:.75rem; }

/* ── sobre ──────────────────────────────────── */
.about{ background:var(--paper); }
.about__in{ max-width:820px; margin-inline:auto; text-align:center; }
.about__in .eyebrow{ justify-content:center; }
.about blockquote{
  margin:0; font-size:clamp(1.2rem,1rem + .95vw,1.75rem);
  line-height:1.34; letter-spacing:-.015em;
}
.about blockquote strong{ font-weight:600; }

/* ── rodapé ─────────────────────────────────── */
.foot{ background:var(--ink); color:var(--ink-mute); padding-top:clamp(2.75rem,5vw,4rem); }
.foot__in{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:clamp(1.75rem,3.5vw,3rem);
  padding-bottom:2.75rem;
}
.foot__name{ font-family:var(--ff-display); font-size:1.2rem; font-weight:500; color:var(--paper); letter-spacing:.01em; }
.foot__tag{ font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; margin-top:.35rem; }
.foot__col{ display:flex; flex-direction:column; gap:.7rem; align-items:flex-start; }
.foot__col h4{
  font-family:var(--ff-body); font-size:.7rem; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase; color:var(--gold);
  margin-bottom:.55rem;
}
.foot__col a{ font-size:.9rem; text-decoration:none; transition:color .3s var(--ease); }
.foot__col a:hover{ color:var(--gold-soft); }
.foot__col address{ font-style:normal; font-size:.9rem; line-height:1.6; }
.foot__col--contact .btn{ margin-top:.85rem; }
.foot__bar{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:.75rem;
  border-top:1px solid var(--ink-line); padding-block:1.6rem;
  font-size:.78rem; letter-spacing:.04em;
}
@media (max-width:900px){ .foot__in{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .foot__in{ grid-template-columns:1fr; } .foot__bar{ justify-content:center; text-align:center; } }

/* ── botão flutuante WhatsApp ───────────────── */
.wa-float{
  position:fixed; right:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem); z-index:90;
  display:grid; place-items:center; width:58px; height:58px;
  background:#25d366; color:#fff; border-radius:50%; text-decoration:none;
  box-shadow:0 16px 34px -12px rgba(37,211,102,.55), 0 6px 18px -8px rgba(2,27,49,.6);
  transform:scale(0); transition:transform .45s var(--ease), background .3s var(--ease);
}
.wa-float.is-on{ transform:scale(1); }
.wa-float:hover{ background:#1fbb59; }

/* ── revelação ao rolar ─────────────────────── */
.reveal{
  opacity:0; transform:translateY(26px);
  transition:opacity .8s var(--ease) var(--d,0s), transform .8s var(--ease) var(--d,0s);
  will-change:opacity, transform;
}
.reveal.is-in{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .ticker__track{ animation:none; }
  .hero h1 em::after{ animation:none; transform:scaleX(1); }
  .btn:hover{ transform:none; }
  .plan:hover{ transform:none; }
}

/* ════════════ PÁGINAS INTERNAS (jurídico) ════════════ */
.pagehead{
  position:relative; isolation:isolate; overflow:hidden;
  background:var(--ink); color:var(--paper);
  padding-block:clamp(2.5rem,5vw,4.25rem);
}
.pagehead__glow{
  position:absolute; z-index:-1; inset:-60% -10% auto auto;
  width:min(760px,90vw); aspect-ratio:1;
  background:radial-gradient(circle at 60% 40%, rgba(184,146,70,.26), rgba(184,146,70,.06) 44%, transparent 70%);
  filter:blur(20px); pointer-events:none;
}
.pagehead h1{ max-width:20ch; }
.pagehead__meta{
  margin-top:1.35rem; padding-top:1.35rem;
  border-top:1px solid var(--ink-line);
  display:flex; flex-wrap:wrap; gap:.5rem 2rem;
  font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-mute);
}

.legal{ background:var(--paper); padding-block:clamp(2.75rem,5vw,4.5rem); }
.legal__in{ max-width:72ch; margin-inline:auto; }
.legal__lede{ font-size:clamp(1rem,.97rem + .25vw,1.12rem); color:var(--dark-mute); line-height:1.62; }

.legal__toc{
  margin-top:2.25rem; padding:1.4rem 1.5rem;
  border:1px solid var(--paper-3); border-left:2px solid var(--gold);
  background:var(--paper-2); border-radius:var(--r);
}
.legal__toc h2{
  font-family:var(--ff-body); font-size:.7rem; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase; color:var(--gold-deep);
  margin-bottom:.9rem;
}
.legal__toc ol{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:.45rem 1.5rem;
  counter-reset:toc;
}
.legal__toc li{ counter-increment:toc; }
.legal__toc a{
  display:flex; gap:.55rem; font-size:.88rem; text-decoration:none; color:var(--ink);
  transition:color .3s var(--ease);
}
.legal__toc a::before{
  content:counter(toc,decimal-leading-zero);
  font-family:var(--ff-display); font-size:.76rem; font-weight:600;
  color:var(--gold-deep); padding-top:.15em;
}
.legal__toc a:hover{ color:var(--gold-deep); }

.legal__sec{ margin-top:clamp(2.25rem,4vw,3rem); scroll-margin-top:108px; }
.legal__sec h2{
  display:flex; align-items:baseline; gap:.75rem;
  font-size:clamp(1.22rem,1.05rem + .6vw,1.6rem);
  padding-bottom:.85rem; border-bottom:1px solid var(--paper-3); margin-bottom:1.1rem;
}
.legal__sec h2 .n{
  font-family:var(--ff-body); font-size:.74rem; font-weight:700;
  letter-spacing:.18em; color:var(--gold-deep); flex:none;
}
.legal__sec h3{ margin:1.5rem 0 .5rem; font-size:1rem; font-weight:600; font-family:var(--ff-body); letter-spacing:.01em; }
.legal__sec p{ color:var(--dark-mute); }
.legal__sec p + p{ margin-top:.85rem; }
.legal__sec a{
  color:var(--gold-deep); text-decoration:none;
  border-bottom:1px solid var(--gold-line); transition:border-color .3s var(--ease);
}
.legal__sec a:hover{ border-color:var(--gold); }
.legal__sec strong{ color:var(--ink); font-weight:600; }

.legal__list{ list-style:none; margin:1rem 0 0; padding:0; display:grid; gap:.65rem; }
.legal__list li{
  position:relative; padding-left:1.5rem;
  color:var(--dark-mute); font-size:.95rem; line-height:1.55;
}
.legal__list li::before{
  content:""; position:absolute; left:0; top:.45em;
  width:9px; height:5px; border-left:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold);
  transform:rotate(-45deg);
}

/* tabela dado × finalidade × base legal — rola sozinha em telas estreitas */
.legal__tablewrap{ margin-top:1.25rem; overflow-x:auto; border:1px solid var(--paper-3); border-radius:var(--r); }
.legal__table{ width:100%; min-width:34rem; border-collapse:collapse; font-size:.9rem; }
.legal__table th,.legal__table td{ padding:.8rem 1rem; text-align:left; vertical-align:top; }
.legal__table thead th{
  background:var(--paper-2);
  font-family:var(--ff-body); font-size:.68rem; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:var(--gold-deep);
  border-bottom:1px solid var(--paper-3); white-space:nowrap;
}
.legal__table tbody tr + tr th,.legal__table tbody tr + tr td{ border-top:1px solid var(--paper-3); }
.legal__table tbody th{ font-weight:600; color:var(--ink); }
.legal__table td{ color:var(--dark-mute); }

.legal__box{
  margin-top:1.5rem; padding:1.4rem 1.5rem;
  border:1px solid var(--gold-line); border-radius:var(--r);
  background:linear-gradient(150deg, rgba(184,146,70,.10), transparent 70%);
}
.legal__box h3{ margin-top:0; }
.legal__box .btn{ margin-top:1.1rem; }
.legal__box address{ font-style:normal; color:var(--dark-mute); font-size:.95rem; line-height:1.65; }

@media (max-width:560px){
  .legal__toc{ padding:1.2rem 1.15rem; }
  .legal__sec h2{ flex-direction:column; gap:.3rem; }
}

/* ── impressão ──────────────────────────────── */
@media print{
  .nav,.wa-float,.grain,.ticker,.hero__glow,.cta__glow,.pagehead__glow,.legal__toc{ display:none !important; }
  body{ background:#fff; color:#000; }
  .sec--ink,.hero,.cta,.foot,.pagehead{ background:#fff !important; color:#000 !important; }
  /* sem isto a impressão sai em branco: .reveal começa com opacity:0 e o
     IntersectionObserver nunca dispara para o que não foi rolado na tela */
  .reveal{ opacity:1 !important; transform:none !important; }
  /* a política costuma ser salva em PDF: nada de seção cortada no meio */
  .legal__sec{ break-inside:avoid; }
  .legal__sec p,.legal__sec td{ color:#000 !important; }
}
