/* ==========================================================================
   Carolina Resende Advocacia, style.css (global, compartilhado)
   Tema: bordô premium + dourado · Cormorant Garamond + Lato
   ========================================================================== */

/* Fontes auto-hospedadas (sem render-blocking, sem Google Fonts) */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/cormorant-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/cormorant-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/cormorant-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/cormorant-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/cormorant-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/cormorant-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Lato';font-style:normal;font-weight:300;font-display:swap;src:url('/assets/fonts/lato-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}
@font-face{font-family:'Lato';font-style:normal;font-weight:300;font-display:swap;src:url('/assets/fonts/lato-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}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/lato-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/lato-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/lato-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/lato-700-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}

/* ── Tokens ───────────────────────────────────────────────────────────── */
:root {
  --wine-950:#2A070D; --wine-900:#3D0A12; --wine-850:#4A0E15;
  --wine-800:#5A1620; --wine-700:#6E1D29;
  --gold-500:#B8923F; --gold-400:#C9A55C; --gold-300:#D9BC7A; --gold-200:#E8CF94;
  --gold-grad:linear-gradient(135deg,#B8923F 0%,#E8CF94 50%,#C9A55C 100%);
  --cream:#F5F1E8; --cream-muted:#D8CFC0;
  --paper:#F7F3EA; --ink:#2A070D; --ink-muted:#5A4A45;
  --wa:#128C7E; --wa-hover:#0F766A; --wa-bright:#25D366; --success:#1FA855;
  --focus:#E8CF94;
  --shadow-sm:0 1px 2px rgba(0,0,0,.25);
  --shadow-md:0 8px 24px rgba(0,0,0,.35);
  --shadow-lg:0 20px 60px rgba(0,0,0,.45);
  --shadow-gold:0 6px 24px rgba(201,165,92,.25);

  --fs-hero:clamp(2.5rem,6vw,4.5rem);
  --fs-h1:clamp(2rem,4.5vw,3rem);
  --fs-h2:clamp(1.6rem,3.5vw,2.25rem);
  --fs-h3:clamp(1.25rem,2.5vw,1.5rem);
  --fs-lead:clamp(1.05rem,2vw,1.25rem);
  --fs-body:1.0625rem; --fs-sm:.9375rem;
  --lh-body:1.7; --lh-head:1.15; --tracking-wide:.18em;

  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:32px; --sp-5:48px;
  --sp-6:64px; --sp-7:96px; --sp-8:128px;
  --container:1160px; --container-narrow:760px;
  --radius-sm:8px; --radius-md:14px; --radius-lg:24px; --radius-pill:9999px;
  --z-nav:50; --z-overlay:40; --z-fab:45; --z-dropdown:55;
}

/* ── Reset ────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:Lato,system-ui,-apple-system,sans-serif;
  font-size:var(--fs-body); line-height:var(--lh-body);
  color:var(--cream); background:var(--wine-900);
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%; height:auto; display:block}
a{color:inherit; text-decoration:none}
button{font:inherit; cursor:pointer; border:none; background:none; color:inherit}
ul{list-style:none}
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif; line-height:var(--lh-head); font-weight:700}
h1{font-size:var(--fs-h1)} h2{font-size:var(--fs-h2)} h3{font-size:var(--fs-h3); font-weight:600}
p{max-width:72ch}
:focus-visible{outline:2px solid var(--focus); outline-offset:3px; border-radius:4px}

/* ── Utilitários ─────────────────────────────────────────────────────── */
.container{width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--sp-3)}
.container--narrow{max-width:var(--container-narrow)}
.section{padding-block:var(--sp-7)}
.section--alt{background:var(--wine-850)}
.section--dark{background:var(--wine-950)}
.section--paper{background:var(--paper); color:var(--ink)}
.section--paper p{color:var(--ink-muted)}
.section--paper h1,.section--paper h2,.section--paper h3{color:var(--ink)}
.eyebrow{display:inline-block; font-family:Lato; font-weight:700; font-size:var(--fs-sm);
  text-transform:uppercase; letter-spacing:var(--tracking-wide); color:var(--gold-400); margin-bottom:var(--sp-2)}
.lead{font-size:var(--fs-lead); color:var(--cream-muted); max-width:62ch}
.section--paper .lead{color:var(--ink-muted)}
.text-gold{color:var(--gold-300)}
.center{text-align:center} .mx-auto{margin-inline:auto}
.divider-gold{height:2px; width:100%; background:linear-gradient(90deg,transparent,var(--gold-400),transparent); opacity:.5}

/* ── Botões ───────────────────────────────────────────────────────────── */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:var(--sp-1);
  min-height:52px; padding:14px 28px; border-radius:var(--radius-pill); font-weight:700;
  font-size:1rem; letter-spacing:.01em; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; cursor:pointer}
.btn svg{width:20px; height:20px; flex:none}
.btn-wa{background:var(--wa); color:#fff; box-shadow:var(--shadow-md)}
.btn-wa:hover{background:var(--wa-hover); transform:translateY(-2px)}
.btn-gold{background:var(--gold-grad); color:var(--ink); box-shadow:var(--shadow-gold)}
.btn-gold:hover{transform:translateY(-2px); box-shadow:0 10px 30px rgba(201,165,92,.4)}
.btn-ghost{border:1px solid var(--gold-400); color:var(--cream)}
.btn-ghost:hover{background:rgba(201,165,92,.1); transform:translateY(-2px)}
.btn-block{width:100%}
.section--paper .btn-ghost{border-color:var(--gold-500); color:var(--ink)}

/* ── Navbar ───────────────────────────────────────────────────────────── */
.nav{position:sticky; top:0; z-index:var(--z-nav); background:rgba(42,7,13,.85);
  backdrop-filter:blur(10px); border-bottom:1px solid rgba(201,165,92,.25)}
.nav__inner{display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
  height:72px; max-width:var(--container); margin-inline:auto; padding-inline:var(--sp-3)}
.nav__logo{display:flex; align-items:center; gap:10px}
.nav__logo img{height:46px; width:auto; transition:filter .3s ease}
.nav__logo:hover img{filter:drop-shadow(0 0 8px rgba(232,207,148,.6))}
.nav__links{display:flex; align-items:center; gap:var(--sp-3)}
.nav__links a{font-weight:700; font-size:.9rem; text-transform:uppercase; letter-spacing:.08em;
  color:var(--cream); padding:6px 2px; position:relative; transition:color .2s}
.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--gold-300)}
.nav__links a[aria-current="page"]::after{content:""; position:absolute; left:0; right:0; bottom:-2px;
  height:2px; background:var(--gold-grad)}
.nav__cta{display:flex; align-items:center; gap:var(--sp-2)}
/* dropdown */
.nav__dd{position:relative}
.nav__dd-panel{position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%) translateY(8px);
  background:var(--wine-850); border:1px solid var(--wine-700); border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg); padding:var(--sp-2); min-width:260px; display:grid; gap:2px;
  opacity:0; visibility:hidden; transition:.2s ease; z-index:var(--z-dropdown)}
.nav__dd:hover .nav__dd-panel,.nav__dd:focus-within .nav__dd-panel{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0)}
.nav__dd-panel a{display:block; padding:10px 12px; border-radius:8px; text-transform:none; letter-spacing:normal;
  font-weight:400; font-size:.95rem}
.nav__dd-panel a:hover{background:rgba(201,165,92,.12); color:var(--gold-200)}
.nav__toggle{display:none}
.nav__drawer{display:none}
/* mobile */
@media (max-width:920px){
  .nav__links,.nav__cta .btn span{display:none}
  .nav__toggle{display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px;
    border-radius:10px; color:var(--cream)}
  .nav__cta .btn-wa{min-height:48px; padding:10px; width:48px}
  .nav__cta .btn-wa svg{margin:0}
  .nav__drawer{position:fixed; inset:72px 0 auto 0; background:var(--wine-950);
    border-bottom:1px solid var(--wine-700); padding:var(--sp-3); display:grid; gap:6px;
    transform:translateY(-120%); transition:transform .3s ease; z-index:var(--z-nav)}
  .nav__drawer.open{transform:translateY(0)}
  .nav__drawer a{padding:14px; border-radius:10px; font-weight:700; text-transform:uppercase;
    letter-spacing:.06em; font-size:.9rem}
  .nav__drawer a:hover{background:rgba(201,165,92,.12)}
}

/* ── Hero ─────────────────────────────────────────────────────────────── */
.hero{position:relative; overflow:hidden; background:
  radial-gradient(1200px 600px at 75% -10%,rgba(110,29,41,.7),transparent 60%),
  radial-gradient(900px 500px at 10% 110%,rgba(184,146,63,.10),transparent 60%),
  var(--wine-900)}
.hero__grid{display:grid; grid-template-columns:1.15fr .85fr; gap:var(--sp-5); align-items:center;
  padding-block:var(--sp-7)}
.hero__title{font-size:var(--fs-hero); margin-bottom:var(--sp-3)}
.hero__title .text-gold{display:block}
.hero__media{position:relative}
.hero__media img{border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
  border:1px solid rgba(201,165,92,.3)}
.hero__cta{display:flex; flex-wrap:wrap; gap:var(--sp-2); margin-block:var(--sp-3)}
.hero__badges{display:flex; flex-wrap:wrap; gap:var(--sp-2); margin-top:var(--sp-3)}
@media (max-width:880px){
  .hero__grid{grid-template-columns:1fr; gap:var(--sp-4)}
  .hero__media{display:none}
  .hero{padding-block:var(--sp-3) var(--sp-5)}
}

/* ── Pílulas / selos ─────────────────────────────────────────────────── */
.pill{display:inline-flex; align-items:center; gap:6px; padding:5px 11px; border-radius:var(--radius-pill);
  border:1px solid rgba(201,165,92,.4); font-size:.8125rem; font-weight:600; color:var(--cream-muted)}
.pill svg{width:14px; height:14px; color:var(--gold-300)}
.pill--solid{background:rgba(201,165,92,.1)}
.stars{color:var(--gold-300); letter-spacing:1px; font-size:.85em}

/* ── Faixa de urgência ───────────────────────────────────────────────── */
.urgency{background:linear-gradient(90deg,var(--wine-800),var(--wine-700)); border-block:1px solid rgba(201,165,92,.3)}
.urgency__inner{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:var(--sp-3); padding-block:var(--sp-3)}
.urgency__text{display:flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-lead); font-weight:700}
.urgency__text svg{width:30px; height:30px; color:var(--gold-300); flex:none}

/* ── Grid de áreas ───────────────────────────────────────────────────── */
.grid-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:var(--sp-3)}
.card{display:flex; flex-direction:column; gap:var(--sp-2); background:var(--wine-800);
  border:1px solid var(--wine-700); border-radius:var(--radius-md); padding:var(--sp-3);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.card:hover{transform:translateY(-4px); border-color:var(--gold-400); box-shadow:var(--shadow-gold)}
.card__icon{width:48px; height:48px; display:flex; align-items:center; justify-content:center;
  border-radius:12px; background:rgba(201,165,92,.12); color:var(--gold-300)}
.card__icon svg{width:26px; height:26px}
.card h3{color:var(--gold-200)}
.card p{color:var(--cream-muted); font-size:var(--fs-sm); flex:1}
.card__link{color:var(--gold-300); font-weight:700; font-size:var(--fs-sm); display:inline-flex; align-items:center; gap:6px}
.card:hover .card__link{color:var(--gold-200)}

/* ── Bloco mídia + texto (split) ─────────────────────────────────────── */
.split{display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-5); align-items:center}
.split--reverse .split__media{order:2}
.split__media img{border-radius:var(--radius-lg); box-shadow:var(--shadow-md); border:1px solid rgba(201,165,92,.2)}
@media (max-width:840px){.split{grid-template-columns:1fr; gap:var(--sp-4)} .split--reverse .split__media{order:0}}

/* ── Jornada / passos ────────────────────────────────────────────────── */
.steps{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:var(--sp-3); counter-reset:step}
.step{position:relative; background:var(--wine-800); border:1px solid var(--wine-700);
  border-radius:var(--radius-md); padding:var(--sp-3); padding-top:calc(var(--sp-5) + var(--sp-3))}
.step::before{counter-increment:step; content:counter(step); position:absolute; top:var(--sp-3); left:var(--sp-3);
  font-family:'Cormorant Garamond',serif; font-size:2.4rem; line-height:1; font-weight:700; color:var(--gold-400); opacity:.7}
.step h3{color:var(--gold-200); font-size:1.15rem; margin-bottom:6px}
.step p{color:var(--cream-muted); font-size:var(--fs-sm)}

/* ── Lista de checks ─────────────────────────────────────────────────── */
.checklist{display:grid; gap:var(--sp-2); margin-top:var(--sp-3)}
.checklist li{display:flex; gap:12px; align-items:flex-start}
.checklist svg{width:24px; height:24px; color:var(--gold-300); flex:none; margin-top:2px}

/* ── Cobertura RMC ───────────────────────────────────────────────────── */
.chips{display:flex; flex-wrap:wrap; gap:10px; margin-top:var(--sp-3)}
.chip{padding:8px 16px; border-radius:var(--radius-pill); background:rgba(201,165,92,.1);
  border:1px solid rgba(201,165,92,.3); font-size:var(--fs-sm)}

/* ── FAQ ──────────────────────────────────────────────────────────────── */
.faq{display:grid; gap:var(--sp-2); max-width:820px; margin-inline:auto}
.faq details{background:var(--paper); color:var(--ink); border-radius:var(--radius-md);
  border:1px solid rgba(184,146,63,.3); overflow:hidden}
.faq summary{display:flex; align-items:center; justify-content:space-between; gap:var(--sp-2);
  padding:var(--sp-3); font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:600;
  cursor:pointer; list-style:none; color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font-family:Lato; font-size:1.6rem; color:var(--gold-500); transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 var(--sp-3) var(--sp-3); color:var(--ink-muted); max-width:none}

/* ── Formulário ──────────────────────────────────────────────────────── */
.form{display:grid; gap:var(--sp-2); max-width:520px}
.form label{font-weight:700; font-size:var(--fs-sm); display:grid; gap:6px}
.form input,.form textarea{width:100%; padding:14px 16px; border-radius:var(--radius-sm);
  background:var(--wine-800); border:1px solid var(--wine-700); color:var(--cream); font:inherit}
.form input:focus,.form textarea:focus{outline:none; border-color:var(--gold-400)}
.form textarea{min-height:130px; resize:vertical}
.form__note{font-size:var(--fs-sm); color:var(--cream-muted)}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-5); align-items:start}
@media (max-width:840px){.contact-grid{grid-template-columns:1fr}}
.contact-list{display:grid; gap:var(--sp-3); margin-top:var(--sp-3)}
.contact-item{display:flex; gap:var(--sp-2); align-items:flex-start}
.contact-item svg{width:26px; height:26px; color:var(--gold-300); flex:none}
.contact-item a{color:var(--gold-200)}
.map-embed{border-radius:var(--radius-md); overflow:hidden; border:1px solid var(--wine-700); margin-top:var(--sp-3)}
.map-embed iframe{width:100%; height:280px; border:0; display:block}

/* ── Breadcrumb ──────────────────────────────────────────────────────── */
.crumb{font-size:var(--fs-sm); color:var(--cream-muted); padding-top:var(--sp-3)}
.crumb a:hover{color:var(--gold-300)} .crumb span{color:var(--gold-300)}

/* ── Footer ──────────────────────────────────────────────────────────── */
.footer{background:var(--wine-950); border-top:2px solid transparent;
  border-image:linear-gradient(90deg,transparent,var(--gold-400),transparent) 1; padding-top:var(--sp-6)}
.footer__grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.3fr; gap:var(--sp-4); padding-bottom:var(--sp-5)}
.footer__grid--lp{grid-template-columns:1.4fr 1fr 1.3fr}
.footer img{height:54px; margin-bottom:var(--sp-2)}
.footer h4{font-family:Lato; font-weight:700; text-transform:uppercase; letter-spacing:.1em;
  font-size:.8rem; color:var(--gold-400); margin-bottom:var(--sp-2)}
.footer ul{display:grid; gap:10px}
.footer a{color:var(--cream-muted); font-size:var(--fs-sm)} .footer a:hover{color:var(--gold-300)}
.footer__oab{color:var(--gold-300); font-weight:700; font-size:var(--fs-sm); margin-top:8px}
.footer__contact li{display:flex; gap:10px; align-items:flex-start; color:var(--cream-muted); font-size:var(--fs-sm)}
.footer__contact svg{width:18px; height:18px; color:var(--gold-400); flex:none; margin-top:3px}
.footer__bar{border-top:1px solid rgba(201,165,92,.2); padding-block:var(--sp-3); text-align:center}
.footer__bar p{max-width:none; font-size:.82rem; color:var(--cream-muted); margin-inline:auto}
.footer__disclaimer{margin-top:8px; font-style:italic; opacity:.85}
@media (max-width:840px){.footer__grid,.footer__grid--lp{grid-template-columns:1fr 1fr} }
@media (max-width:520px){.footer__grid,.footer__grid--lp{grid-template-columns:1fr} }

/* ── FAB WhatsApp (mobile) ───────────────────────────────────────────── */
.fab{position:fixed; right:18px; bottom:18px; z-index:var(--z-fab); width:58px; height:58px;
  border-radius:50%; background:var(--wa); color:#fff; display:none; align-items:center; justify-content:center;
  box-shadow:var(--shadow-lg)}
.fab svg{width:30px; height:30px}
.fab:hover{background:var(--wa-hover)}
@media (max-width:920px){.fab{display:flex}}

/* ── Reveal on scroll ────────────────────────────────────────────────── */
.reveal{opacity:0; transform:translateY(24px); filter:blur(2px);
  transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1),filter .7s ease}
.reveal.is-visible{opacity:1; transform:none; filter:none}
.reveal[data-delay="1"]{transition-delay:.08s}
.reveal[data-delay="2"]{transition-delay:.16s}
.reveal[data-delay="3"]{transition-delay:.24s}
.reveal[data-delay="4"]{transition-delay:.32s}

/* ── Gold shimmer (filetes/realces) ──────────────────────────────────── */
.shimmer{background:linear-gradient(90deg,var(--gold-500) 0%,var(--gold-200) 25%,var(--gold-400) 50%,var(--gold-200) 75%,var(--gold-500) 100%);
  background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:shimmer 6s linear infinite}
@keyframes shimmer{to{background-position:-200% 0}}

/* ── Acessibilidade: reduced motion ──────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important}
  .reveal{opacity:1; transform:none; filter:none}
  .bg-fx::before{animation:none}
}

/* ── Bio (standalone) ────────────────────────────────────────────────── */
.bio{min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
  padding:var(--sp-6) var(--sp-3) var(--sp-5); text-align:center; background:
  radial-gradient(800px 400px at 50% 0%,rgba(110,29,41,.8),transparent 60%),var(--wine-900)}
.bio__avatar{width:110px; height:110px; border-radius:50%; object-fit:cover; border:2px solid var(--gold-400);
  box-shadow:var(--shadow-gold); margin-bottom:var(--sp-2)}
.bio__name{font-size:2rem; margin-bottom:4px}
.bio__role{color:var(--gold-300); font-weight:700; font-size:var(--fs-sm); text-transform:uppercase; letter-spacing:.12em}
.bio__oab{color:var(--cream-muted); font-size:.85rem; margin-top:4px}
.bio__links{display:grid; gap:14px; width:100%; max-width:420px; margin-top:var(--sp-4)}
.bio__link{display:flex; align-items:center; justify-content:center; gap:12px; min-height:58px; padding:14px 20px;
  border-radius:var(--radius-pill); border:1px solid var(--gold-400); color:var(--cream); font-weight:700;
  background:rgba(201,165,92,.07); transition:transform .2s,background .2s,box-shadow .2s}
.bio__link:hover{transform:translateY(-2px); background:rgba(201,165,92,.16); box-shadow:var(--shadow-gold)}
.bio__link svg{width:22px; height:22px; color:var(--gold-300); flex:none}
.bio__link--wa{background:var(--wa); border-color:var(--wa); color:#fff}
.bio__link--wa:hover{background:var(--wa-hover)}
.bio__link--wa svg{color:#fff}
.bio__foot{margin-top:var(--sp-5); font-size:.78rem; color:var(--cream-muted); max-width:420px; font-style:italic}

/* ── Página de conteúdo (sobre/legal) ────────────────────────────────── */
.prose{max-width:var(--container-narrow); margin-inline:auto}
.prose h2{margin-top:var(--sp-4); margin-bottom:var(--sp-2); color:var(--gold-200)}
.section--paper .prose h2{color:var(--ink)}
.prose p,.prose li{margin-bottom:var(--sp-2)}
.prose ul{list-style:disc; padding-left:1.4em} .prose ul li{margin-bottom:8px}
.page-hero{padding-block:var(--sp-6) var(--sp-5); background:
  radial-gradient(900px 400px at 70% -20%,rgba(110,29,41,.6),transparent 60%),var(--wine-900); text-align:center}
.page-hero h1{margin-bottom:var(--sp-2)}

/* ══════════════════════════════════════════════════════════════════════
   EFEITOS AMBIENTE, premium sutil (luz de fundo, partículas, hover)
   ══════════════════════════════════════════════════════════════════════ */
/* Camada de luz que "respira" atrás do conteúdo (visível nas seções abertas) */
.bg-fx{position:fixed; inset:0; z-index:-1; pointer-events:none; overflow:hidden}
.bg-fx::before{content:""; position:absolute; inset:-25%;
  background:
    radial-gradient(38% 34% at 16% 12%, rgba(184,146,63,.10), transparent 62%),
    radial-gradient(44% 40% at 86% 16%, rgba(110,29,41,.45), transparent 66%),
    radial-gradient(48% 44% at 78% 90%, rgba(184,146,63,.06), transparent 60%);
  animation:auroraDrift 24s ease-in-out infinite alternate; will-change:transform}
.bg-fx::after{content:""; position:absolute; inset:0; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes auroraDrift{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(-3%,2.5%,0) scale(1.08)}
}
/* Partículas douradas dentro do hero (injetadas via JS) */
.hero,.page-hero{position:relative}
.hero > *,.page-hero > *{position:relative; z-index:1}
.hero-fx{position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.9}

/* Spotlight que segue o mouse nos cards */
.card{position:relative; overflow:hidden; isolation:isolate}
.card::after{content:""; position:absolute; inset:0; z-index:0; opacity:0; transition:opacity .4s ease;
  background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), rgba(232,207,148,.16), transparent 60%)}
.card:hover::after{opacity:1}
.card > *{position:relative; z-index:1}

/* Brilho que cruza os botões principais no hover */
.btn{position:relative; overflow:hidden}
.btn-wa::after,.btn-gold::after{content:""; position:absolute; top:0; left:-130%; width:55%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.30),transparent); transform:skewX(-18deg);
  transition:left .6s ease; pointer-events:none}
.btn-wa:hover::after,.btn-gold:hover::after{left:140%}

/* Realce sutil ao passar o mouse nas seções com mídia */
.split__media img,.hero__media img{transition:transform .5s ease, box-shadow .5s ease}
.split__media:hover img,.hero__media:hover img{transform:translateY(-4px); box-shadow:0 26px 70px rgba(0,0,0,.5)}

/* ══════════════════════════════════════════════════════════════════════
   SEÇÃO INSTAGRAM
   ══════════════════════════════════════════════════════════════════════ */
.ig-head{display:flex; align-items:center; justify-content:center; gap:10px; color:var(--gold-300);
  font-weight:700; margin-top:var(--sp-2)}
.ig-head svg{width:22px; height:22px}
.ig-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-2); margin-top:var(--sp-5)}
@media(max-width:680px){.ig-grid{grid-template-columns:repeat(2,1fr)}}
.ig-post{position:relative; aspect-ratio:1/1; border-radius:var(--radius-md); overflow:hidden;
  display:block; border:1px solid var(--wine-700); background:var(--wine-800);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease}
.ig-post:hover{transform:translateY(-4px); border-color:var(--gold-400); box-shadow:var(--shadow-gold)}
.ig-post img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease}
.ig-post:hover img{transform:scale(1.07)}
.ig-post__quote{display:flex; flex-direction:column; justify-content:center; height:100%; padding:var(--sp-3);
  font-family:'Cormorant Garamond',serif; font-size:1.18rem; line-height:1.32; color:var(--cream); text-align:left;
  background:radial-gradient(130% 120% at 0% 0%, rgba(184,146,63,.20), transparent 55%), var(--wine-850)}
.ig-post__quote span{font-family:Lato; font-size:.72rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.12em; color:var(--gold-400); margin-bottom:var(--sp-2)}
.ig-post__ig{position:absolute; top:10px; right:10px; width:30px; height:30px; border-radius:8px;
  display:flex; align-items:center; justify-content:center; background:rgba(42,7,13,.55);
  color:var(--gold-200); opacity:0; transform:translateY(-4px); transition:opacity .3s, transform .3s}
.ig-post:hover .ig-post__ig{opacity:1; transform:none}
.ig-post__ig svg{width:17px; height:17px}
.ig-post__cap{position:absolute; inset:auto 0 0 0; padding:24px 14px 13px; font-size:.82rem; font-weight:600;
  letter-spacing:.01em; color:var(--cream); background:linear-gradient(transparent, rgba(20,3,7,.82));
  transition:padding .3s ease}
.ig-post:hover .ig-post__cap{padding-bottom:16px}

/* ══════════════════════════════════════════════════════════════════════
   DEPOIMENTOS, fallback de avaliações (Google) no design
   ══════════════════════════════════════════════════════════════════════ */
.reviews-fallback{display:grid; gap:var(--sp-4)}
.reviews-badge{display:flex; flex-direction:column; align-items:center; gap:5px; text-align:center}
.reviews-badge__rate{font-family:'Cormorant Garamond',serif; font-size:1.7rem; font-weight:700;
  color:var(--gold-200); letter-spacing:.05em; text-transform:uppercase}
.reviews-badge .stars{font-size:1.35rem; letter-spacing:4px; color:var(--gold-300)}
.reviews-badge__count{font-size:var(--fs-sm); color:var(--cream-muted)}
.reviews-badge__src{font-weight:700; color:var(--cream); letter-spacing:.02em; display:inline-flex; align-items:center; gap:7px}
.reviews-badge__src b{font-family:Arial,sans-serif; font-weight:700}
.reviews-badge__src .g-b{color:#4285F4}.reviews-badge__src .g-r{color:#EA4335}
.reviews-badge__src .g-y{color:#FBBC05}.reviews-badge__src .g-g{color:#34A853}
.reviews-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-3)}
@media(max-width:840px){.reviews-grid{grid-template-columns:1fr; max-width:520px; margin-inline:auto}}
.review-card{background:var(--paper); color:var(--ink); border-radius:var(--radius-md); padding:var(--sp-3);
  border:1px solid rgba(184,146,63,.3); display:flex; flex-direction:column; gap:10px; box-shadow:var(--shadow-md)}
.review-card__head{display:flex; align-items:center; gap:12px}
.review-card__avatar{width:44px; height:44px; border-radius:50%; background:var(--gold-grad); color:var(--ink);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:1.15rem; flex:none}
.review-card__who{display:flex; flex-direction:column; line-height:1.25}
.review-card__who strong{color:var(--ink); font-size:.95rem}
.review-card__who .stars{font-size:.85rem; letter-spacing:1px; color:#FBBC05}
.review-card__g{margin-left:auto; font-family:Arial,sans-serif; font-weight:700; font-size:1.2rem; color:#4285F4; flex:none}
.review-card p{color:var(--ink-muted); font-size:var(--fs-sm); margin:0; max-width:none}
