:root{
  --ink:#5A2A38;           /* vinho/bordô: títulos (igual às slides) */
  --navy:#CFA7AD;          /* ROSA DO ESCRITÓRIO (cor original restaurada): faixas de destaque */
  --navy-deep:#955864;     /* rosa profundo p/ gradiente das faixas (escurecido p/ contraste AA) */
  --gold:#9D5660;          /* dourado (escurecido p/ contraste AA em todos os fundos, incl. ivory): filetes e detalhes */
  --gold-soft:#EBCFB6;     /* dourado claro (escurecido/clareado p/ contraste AA sobre painéis escuros) */
  --gold-line:#E0BEC3;
  --ivory:#F7ECEA;         /* rosa muito claro: fundos alternados (igual slides) */
  --paper:#FDF8F7;         /* branco quente rosado */
  --slate:#6E6A6E;         /* cinza quente: texto de apoio */
  --line:#EBDDDD;
  --rose-ink:#8F5E67;      /* rosa escurecido p/ contraste AA em todos os fundos: títulos e links */
  --white:#FFFFFF;
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Source Sans 3', 'Segoe UI', Arial, sans-serif;
  --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
picture{display:block}
a{color:inherit;text-decoration:none}
/* Links "tel:" só funcionam como clique-para-ligar em dispositivos touch (celular/tablet).
   Em desktop (mouse/trackpad), viram texto simples — ligar por um clique não faz sentido lá. */
@media (hover:hover) and (pointer:fine){
  a[href^="tel:"]{pointer-events:none;cursor:text;border-bottom-color:transparent!important}
  a[href^="tel:"]:hover{color:inherit!important}
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
::selection{background:var(--gold);color:#fff}

/* ---------- Eyebrow / headings ---------- */
.eyebrow{font-family:var(--sans);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:600;display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--gold);display:inline-block}
h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--rose-ink);line-height:1.12}
h2{font-size:clamp(2rem,4vw,2.9rem);margin:.6rem 0 1.1rem}
.lead{font-size:1.12rem;color:var(--slate);max-width:760px}
.section{padding:100px 0}
.section.alt{background:var(--ivory)}

/* ---------- Top bar (vínculo escritório) ---------- */
.topbar{background:var(--navy-deep);color:#FCEEEE;font-size:.83rem;letter-spacing:.04em}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:9px;padding-bottom:9px;gap:16px}
.topbar a{color:#FCEEEE;text-decoration:underline;text-underline-offset:3px;font-weight:700;transition:color .2s}
.topbar a:hover{color:#fff}
.topbar .tb-right{display:flex;gap:22px;white-space:nowrap}
@media(max-width:760px){.topbar .tb-right{display:none}}

/* ---------- Header ---------- */
header.site{position:sticky;top:0;z-index:115;background:rgba(252,248,245,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px}
.brand{display:flex;flex-direction:column;line-height:1.05;flex-shrink:0;padding:6px 0}
.brand .b-title{font-family:var(--serif);font-size:1.55rem;font-weight:700;letter-spacing:.14em;color:var(--rose-ink)}
.brand .b-sub{font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-top:3px}
.head-right{display:flex;align-items:center;gap:18px;margin-left:auto}
/* Drawer de navegação (todas as larguras) */
.menu-toggle{display:inline-flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;font-family:var(--sans);font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding:12px 8px;transition:color .2s;position:relative;-webkit-tap-highlight-color:transparent}
.menu-toggle:hover{color:var(--gold)}
.menu-toggle .bars{display:flex;flex-direction:column;gap:4px;min-width:24px}
.menu-toggle .bars span{width:24px;height:2px;background:currentColor;display:block;transition:.3s}
nav.main{position:fixed;top:0;right:0;height:100vh;width:340px;max-width:86vw;background:var(--paper);z-index:200;display:flex;flex-direction:column;padding:34px 0 24px;transform:translateX(100%);transition:transform .38s cubic-bezier(.4,0,.2,1);box-shadow:-24px 0 60px rgba(90,42,56,.18);overflow-y:auto;pointer-events:none}
nav.main.open{transform:translateX(0);pointer-events:auto}
.nav-head{display:flex;align-items:center;justify-content:space-between;padding:0 30px 22px;border-bottom:1px solid var(--line);margin-bottom:10px}
.nav-head .nh-title{font-family:var(--serif);font-size:1.1rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-ink);font-weight:700}
.nav-close{background:none;border:none;cursor:pointer;font-size:1.8rem;line-height:1;color:var(--slate);transition:color .2s;padding:8px 12px;margin:-8px -8px -8px 0}
.nav-close:hover{color:var(--gold)}
nav.main a{font-size:.95rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);padding:14px 30px;border-left:3px solid transparent;transition:.2s;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}
nav.main a::before{content:counter(navc,decimal-leading-zero);counter-increment:navc;font-family:var(--serif);font-size:.8rem;color:var(--gold);font-weight:600;font-style:italic}
nav.main{counter-reset:navc}
nav.main a:hover{color:var(--gold);border-left-color:var(--gold);background:var(--ivory)}
nav.main .nav-cta{margin:18px 30px 0;padding:15px;justify-content:center;background:var(--gold);color:#fff;border:none;text-transform:uppercase}
nav.main .nav-cta::before{content:none}
nav.main .nav-cta:hover{background:var(--navy);color:var(--ink)}
/* overlay */
.nav-overlay{position:fixed;inset:0;background:rgba(74,34,48,.42);z-index:110;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s,visibility .35s}
.nav-overlay.open{opacity:1;visibility:visible;pointer-events:auto}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:700;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;padding:15px 30px;border:1px solid var(--gold);cursor:pointer;transition:.25s;line-height:1}
button.btn{appearance:none;-webkit-appearance:none;background:transparent;border-radius:0}
.btn.solid{background:var(--gold);color:#fff}
.btn.solid:hover{background:var(--navy);border-color:var(--navy);color:var(--ink)}
.btn.ghost{color:var(--ink);border-color:var(--gold);background:transparent}
.btn.ghost:hover{background:var(--gold);color:#fff}
.btn.light{border-color:#fff;color:#fff}
.btn.light:hover{background:#fff;color:var(--ink)}
.btn.sm{padding:11px 20px;font-size:.78rem}
@media(max-width:600px){
  .head-right .btn{display:none}
  .menu-toggle .mt-label{display:none}
  header.site .wrap{gap:12px}
  /* menu ocupa a tela inteira no celular */
  nav.main{width:100vw;max-width:100vw}
  .nav-head{padding:0 24px 20px}
  nav.main a{font-size:1.05rem;padding:16px 24px}
}

/* ---------- Hero ---------- */
.hero{background:linear-gradient(145deg,#C99AA1 0%,#CFA7AD 55%,#C79BA2 100%);color:var(--ink);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:22px;border:1px solid rgba(90,42,56,.18);pointer-events:none}
.hero::before{content:"";position:absolute;inset:30px;border:1px solid rgba(90,42,56,.12);pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:center;padding-top:110px;padding-bottom:110px;z-index:2}
.hero .kicker{font-size:.8rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);font-weight:600;margin-bottom:26px;display:flex;align-items:center;gap:16px}
.hero .kicker::before{content:"";width:44px;height:1px;background:var(--gold)}
.hero h1{font-size:clamp(2.6rem,5.4vw,4.3rem);color:var(--ink);font-weight:600;max-width:16ch}
.hero h1 em{font-style:italic;color:#7A3F48}
.hero p.sub{margin:26px 0 38px;font-size:1.15rem;color:var(--ink);max-width:560px}
.hero .cta-row{display:flex;gap:16px;flex-wrap:wrap}
.hero .marks{display:flex;gap:38px;margin-top:56px;flex-wrap:wrap}
.hero .mark{border-left:1px solid rgba(90,42,56,.3);padding-left:16px}
.hero .mark strong{display:block;font-family:var(--serif);font-size:1.35rem;color:var(--ink);font-weight:600}
.hero .mark span{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}

/* Selo notarial */
.seal-col{display:flex;justify-content:center}
.seal{position:relative;width:290px;height:290px}
.seal svg{width:100%;height:100%}
.seal .ring{animation:spin 40s linear infinite;transform-origin:50% 50%}
@keyframes spin{to{transform:rotate(360deg)}}
.seal .center-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px}
.seal .center-txt .st1{font-family:var(--serif);font-size:1.05rem;letter-spacing:.22em;color:var(--ink);font-weight:600}
.seal .center-txt .st2{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--ink);max-width:130px;line-height:1.3}
@media(max-width:920px){
  .hero .wrap{grid-template-columns:1fr;padding-top:80px;padding-bottom:80px}
  .seal-col{order:-1}
  .seal{width:170px;height:170px}
  .seal .center-txt .st2{font-size:.78rem;max-width:96px;line-height:1.28}
}
@media(prefers-reduced-motion:reduce){.seal .ring{animation:none}html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important}}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- O que é ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media(max-width:900px){.duo{grid-template-columns:1fr}}
.quote-card{background:#6B5458;color:#FBEFEF;padding:44px 40px;position:relative;border-top:3px solid var(--gold)}
.quote-card::before{content:"“";font-family:var(--serif);font-size:5rem;color:var(--gold);position:absolute;top:6px;left:26px;line-height:1;opacity:.85}
.quote-card p{font-family:var(--serif);font-size:1.35rem;font-style:italic;line-height:1.5;padding-top:34px}
.quote-card footer{margin-top:22px;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);font-weight:600}
.defs{margin-top:34px;display:grid;gap:0}
.def-row{display:grid;grid-template-columns:190px 1fr;gap:22px;padding:20px 0;border-top:1px solid var(--line)}
.def-row:last-child{border-bottom:1px solid var(--line)}
.def-row dt{font-family:var(--serif);font-size:1.15rem;font-weight:700;color:var(--rose-ink)}
.def-row dd{color:var(--slate);font-size:.98rem}
@media(max-width:620px){.def-row{grid-template-columns:1fr;gap:6px}}

/* ---------- O que pode ser tratado ---------- */
.grid-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:54px}
@media(max-width:980px){.grid-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid-cards{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:360px){.grid-cards{grid-template-columns:1fr}}
.tcard{background:var(--white);border:1px solid var(--line);padding:34px 30px;position:relative;transition:.3s}
.tcard:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 18px 38px rgba(110,76,65,.12)}
.tcard .glyph{font-family:var(--serif);font-size:1.9rem;color:var(--gold);line-height:1;margin-bottom:18px}
.tcard h3{font-size:1.28rem;margin-bottom:10px}
.tcard p{font-size:.95rem;color:var(--slate)}

/* ---------- Benefícios ---------- */
.bene{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid rgba(90,42,56,.2);margin-top:50px}
@media(max-width:820px){.bene{grid-template-columns:repeat(2,1fr)}}
@media(max-width:360px){.bene{grid-template-columns:1fr}}
.bene-item{padding:34px 34px 34px 0;border-bottom:1px solid rgba(90,42,56,.2);display:flex;gap:22px}
.bene-item .num{font-family:var(--serif);font-size:1.15rem;color:var(--ink);font-weight:600;min-width:36px;padding-top:2px}
.bene-item h3{color:var(--ink);font-size:1.3rem;margin-bottom:8px}
.bene-item p{color:var(--ink);font-size:.95rem}
.dark{background:linear-gradient(145deg,#C99AA1,#C79BA2);color:var(--ink);position:relative}
.dark h2{color:var(--ink)}
.dark .lead{color:var(--ink)}
.dark .eyebrow{color:var(--ink)}
.dark .eyebrow::before{background:var(--gold)}

/* ---------- Para quem ---------- */
.who{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}
.who span{border:1px solid var(--gold-line);background:var(--white);padding:12px 22px;font-size:.92rem;color:var(--ink);font-weight:600;border-radius:999px}

/* ---------- Livro ---------- */
#livro{background:var(--ivory);position:relative;overflow:hidden}
.book-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
@media(max-width:900px){.book-grid{grid-template-columns:1fr;gap:50px}}
.book-stage{display:flex;justify-content:center;perspective:1200px}
.book-real{position:relative;display:block;width:295px;max-width:100%;transform:rotateY(-14deg) rotateX(2deg);transition:transform .5s ease;text-decoration:none}
.book-real:hover{transform:rotateY(-6deg) rotateX(1deg)}
.book-real img{display:block;width:100%;height:auto;border-radius:3px;box-shadow:26px 32px 58px rgba(110,76,65,.34),0 2px 8px rgba(110,76,65,.25)}
.badge-new{position:absolute;top:-16px;right:-16px;background:var(--gold);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:10px 16px;box-shadow:0 10px 22px rgba(176,141,87,.45);z-index:3}
.book-info .eyebrow{margin-bottom:8px}
.book-info h2{max-width:15ch}
.book-info p{color:var(--slate);margin-bottom:16px}
.book-feats{margin:26px 0 34px;display:grid;gap:12px}
.book-feats li{list-style:none;display:flex;gap:14px;font-size:.98rem;color:var(--ink)}
.book-feats li::before{content:"❧";color:var(--gold);font-size:1.05rem;line-height:1.5}
.buy-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.buy-note{font-size:.82rem;color:var(--slate);font-style:italic}

/* ---------- Publicações ---------- */
.pub-list{display:grid;gap:0;margin-top:50px;margin-left:-16px;margin-right:-16px;border-top:1px solid var(--line)}
.pub{display:grid;grid-template-columns:120px 1fr auto;gap:30px;align-items:center;padding:28px 16px;border-bottom:1px solid var(--line);border-radius:6px;transition:.25s}
.pub:hover{background:var(--white)}
.pub .p-year{font-family:var(--serif);font-size:1.7rem;font-weight:600;color:var(--gold);line-height:1}
.pub .p-year small{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);margin-top:6px}
.pub h3{font-size:1.32rem;margin-bottom:6px}
.pub p{font-size:.94rem;color:var(--slate);max-width:640px}
.pub .p-link{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rose-ink);border-bottom:2px solid var(--gold);padding-bottom:3px;white-space:nowrap;transition:.2s}
.pub .p-link:hover{color:var(--gold)}
@media(max-width:820px){.pub{grid-template-columns:1fr;gap:10px;padding:24px 16px}}

/* ---------- Pilares (visão geral) ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px;counter-reset:pil}
@media(max-width:900px){.pillars{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.pillars{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:360px){.pillars{grid-template-columns:1fr}}
.pillar{background:var(--white);border:1px solid var(--line);padding:30px 28px;position:relative;transition:.3s}
.pillar:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 16px 34px rgba(90,42,56,.10)}
.pillar .pnum{counter-increment:pil;font-family:var(--serif);font-size:2.4rem;font-weight:700;color:var(--rose-ink);position:absolute;top:18px;right:24px;line-height:1;opacity:.6}
.pillar .pnum::before{content:"0" counter(pil)}
.pillar h3{font-size:1.24rem;margin:6px 0 8px;max-width:80%}
.pillar p{font-size:.92rem;color:var(--slate)}

/* ---------- Cláusulas-modelo ---------- */
.clauses{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
@media(max-width:900px){.clauses{grid-template-columns:repeat(2,1fr)}}
@media(max-width:360px){.clauses{grid-template-columns:1fr}}
.clause{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--gold);display:flex;flex-direction:column}
.clause .c-head{background:#6B5458;color:#fff;padding:16px 24px;font-family:var(--serif);font-size:1.2rem;font-weight:600}
.clause .c-text{padding:26px 24px;font-family:var(--serif);font-style:italic;font-size:1.08rem;line-height:1.55;color:var(--ink)}
.clause .c-text::before{content:"“";color:var(--gold);font-size:2rem;font-family:var(--serif);display:block;line-height:.5;margin-bottom:10px}

/* ---------- Jurisprudência ---------- */
.juris{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:stretch;margin-top:50px}
@media(max-width:900px){.juris{grid-template-columns:1fr}}
.juris-side{background:linear-gradient(150deg,#6B5458,#55424A);color:#fff;padding:40px 38px;display:flex;flex-direction:column;justify-content:center}
.juris-side h3{color:var(--gold-soft);font-size:1.15rem;margin:20px 0 6px}
.juris-side h3:first-child{margin-top:0}
.juris-side p{color:#fff;font-size:.96rem;opacity:.95}
.juris-card{background:var(--white);border:1px solid var(--line);padding:40px 38px}
.juris-card .j-court{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700}
.juris-card .j-case{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--rose-ink);margin:8px 0 20px}
.juris-card blockquote{font-family:var(--serif);font-style:italic;font-size:1.05rem;line-height:1.55;color:var(--ink);border-left:3px solid var(--gold);padding-left:20px}
.juris-card .j-rel{margin-top:20px;font-size:.85rem;color:var(--slate)}

/* ---------- Lista de referências ---------- */
.ref-list{list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}
.ref-list li{padding:18px 0 18px 30px;border-bottom:1px solid var(--line);font-size:.95rem;color:var(--ink);line-height:1.6;position:relative;text-align:justify}
.ref-list li::before{content:"›";position:absolute;left:6px;top:17px;color:var(--gold);font-weight:700}
.ref-list li em{color:var(--rose-ink);font-style:italic}

/* ---------- FAQ ---------- */
.faq{max-width:860px;margin:50px auto 0}
.faq-item{border:1px solid var(--line);background:var(--white);margin-bottom:14px}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;font-family:var(--serif);font-size:1.28rem;font-weight:600;color:var(--rose-ink);transition:.2s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .fx{font-family:var(--sans);color:var(--gold);font-size:1.5rem;font-weight:400;transition:transform .3s;line-height:1}
.faq-item[open] summary .fx{transform:rotate(45deg)}
.faq-item[open] summary{border-bottom:1px solid var(--line)}
.faq-item .fa-body{padding:22px 28px 28px;color:var(--slate);font-size:.98rem}
.faq-item:hover{border-color:var(--gold)}

/* ---------- Formulário / Guia ---------- */
#diretrizes{background:var(--ivory)}
.form-shell{max-width:900px;margin:54px auto 0;background:var(--white);border:1px solid var(--line);box-shadow:0 30px 60px rgba(110,76,65,.10)}
.form-head{background:#6B5458;color:#FFFFFF;padding:34px 40px;display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}
.form-head h3{color:#FFFFFF;font-size:1.5rem}
.form-head p{color:#F5E2E2;font-size:.88rem;max-width:460px}
.fblock{border-bottom:1px solid var(--line)}
.fblock summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:18px;padding:24px 40px;transition:.2s}
.fblock summary::-webkit-details-marker{display:none}
.fblock summary:hover{background:var(--ivory)}
.fblock .fb-num{font-family:var(--serif);font-size:1rem;color:var(--gold);font-weight:700;border:1px solid var(--gold-line);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}
.fblock .fb-t{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--rose-ink)}
.fblock .fb-s{font-size:.82rem;color:var(--slate);display:block}
.fblock .fx{margin-left:auto;color:var(--gold);font-size:1.4rem;transition:transform .3s}
.fblock[open] .fx{transform:rotate(45deg)}
.fb-body{padding:8px 40px 36px;display:grid;gap:22px}
.field label{display:block;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rose-ink);margin-bottom:8px}
.field .hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--slate);font-size:.82rem;display:block;margin-top:2px}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea,.field select{width:100%;border:1px solid #B48080;background:var(--paper);padding:14px 16px;font-family:var(--sans);font-size:.96rem;color:var(--ink);transition:.2s}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.chk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(max-width:640px){.chk-grid{grid-template-columns:repeat(2,1fr);gap:8px}.fb-body{padding:8px 22px 30px}.fblock summary{padding:20px 22px}}
@media(max-width:360px){.chk-grid{grid-template-columns:1fr}}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--ink);border:1px solid #B48080;padding:12px 14px;background:var(--paper);cursor:pointer;transition:.2s}
.chk:hover{border-color:var(--gold)}
.chk input{accent-color:var(--gold);margin-top:3px;flex-shrink:0}
.form-foot{padding:36px 40px;display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.form-foot .priv{font-size:.78rem;color:var(--slate);max-width:400px}
.form-actions{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- Autora ---------- */
.autora-intro{max-width:900px;margin-bottom:48px}
.autora-intro .lead{margin-bottom:18px}
.autora-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
@media(max-width:900px){.autora-grid{grid-template-columns:1fr;gap:40px}.autora-intro{margin-bottom:36px}}
.portrait{aspect-ratio:4/5;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid rgba(184,126,134,.4);overflow:hidden}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.portrait::before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.55);z-index:2;pointer-events:none}
.portrait .p-cap{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:#fff;z-index:3;padding:34px 10px 18px;background:linear-gradient(to top,rgba(74,34,48,.72),transparent)}
.cred-block{margin:26px 0 0}
.cred-block .cred-head{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:1.28rem;font-weight:700;color:var(--rose-ink);margin-bottom:16px}
.cred-block .cred-head::before{content:"";width:22px;height:2px;background:var(--gold);display:inline-block;flex-shrink:0}
.more-link{display:inline-block;margin-top:16px;font-size:.9rem;font-weight:700;letter-spacing:.04em;color:var(--rose-ink);border-bottom:1px solid var(--gold-line);padding-bottom:2px;transition:.2s}
.more-link:hover{color:var(--gold);border-bottom-color:var(--gold)}
.cred-list{margin:0;display:grid;gap:0;list-style:none}
.cred-list li{list-style:none;position:relative;padding:13px 0 13px 26px;font-size:.95rem;color:var(--ink);line-height:1.55;border-bottom:1px solid var(--line)}
.cred-list li:last-child{border-bottom:none}
.cred-list li::before{content:"›";position:absolute;left:0;top:13px;color:var(--gold);font-weight:700;font-size:1.05rem;line-height:1.4}
.cred-list li em{color:var(--rose-ink);font-style:italic;font-weight:600}

/* ---------- Escritório band ---------- */
.office{background:linear-gradient(150deg,#8A6E72,#77595E);color:#FFFFFF;position:relative;overflow:hidden}
.office::after{content:"C&V";position:absolute;right:-40px;bottom:-70px;font-family:var(--serif);font-size:19rem;color:rgba(184,126,134,.05);font-weight:700;line-height:1;pointer-events:none}
.office .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;padding-top:96px;padding-bottom:96px;position:relative;z-index:2}
@media(max-width:900px){.office .wrap{grid-template-columns:1fr;gap:44px}}
.office h2{color:#FFFFFF}
.office p{color:#FFFFFF}
.office .o-brand{font-family:var(--serif);font-size:1.7rem;letter-spacing:.14em;color:#FFFFFF;font-weight:700}
.office .o-tag{font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:#FFFFFF;font-weight:600;margin:6px 0 26px}
.o-contacts{display:grid;gap:18px;margin-top:8px}
.o-row{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.25);font-size:.95rem}
.o-row .k{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:#FFFFFF;font-weight:700;padding-top:3px}
.o-row a{color:#FFFFFF;border-bottom:1px solid rgba(255,255,255,.4);transition:.2s;display:inline-block;padding:4px 0}
.o-row a:hover{border-bottom-color:#fff;opacity:.8}

/* ---------- Footer ---------- */
footer.site{background:#6E4C41;color:#E4CCC1;font-size:.85rem;padding:44px 0}
footer.site .wrap{display:flex;justify-content:space-between;gap:26px;flex-wrap:wrap;align-items:center}
footer.site a{color:#F0DCD2;transition:.2s}
footer.site a:hover{color:var(--gold-soft)}
.disclaimer{max-width:640px;font-size:.76rem;line-height:1.6}
.footer-legal-links{margin-top:10px;font-size:.8rem;display:flex;gap:8px;flex-wrap:wrap}
.footer-legal-links span{opacity:.5}

/* ---------- WhatsApp float ---------- */
/* wa-float substituído pelo widget sb-* abaixo */

/* ---------- Print (Guia) ---------- */

/* Justificação de textos para melhor leitura */
.lead,.quote-card p,.def-row dd,.tcard p,.bene-item p,.pillar p,.pub p,.faq-item .fa-body,.clause .c-text,.juris-card blockquote,.juris-side p,#oquee p,#remuneracao p,.book-info p,.autora-grid p,.office p{text-align:justify;text-justify:inter-word;hyphens:none;-webkit-hyphens:none}

/* ---------- Refinamento mobile ---------- */
@media(max-width:760px){
  body{font-size:16px}
  .wrap{padding:0 18px}
  .section{padding:44px 0}
  h2{font-size:clamp(1.6rem,6.5vw,2rem);margin-bottom:.7rem}
  .lead{font-size:1rem}
  /* grades lado a lado mais compactas */
  .duo{gap:28px}
  .book-grid{gap:34px}
  .autora-grid{gap:28px}
  .grid-cards{gap:14px;margin-top:32px}
  .tcard{padding:20px 16px}
  .tcard h3{font-size:1.08rem;margin-bottom:6px}
  .tcard p{font-size:.86rem}
  .tcard .glyph{font-size:1.4rem;margin-bottom:10px}
  .pillar{padding:20px 16px}
  .pillar h3{font-size:1.02rem}
  .pillar p{font-size:.84rem}
  .pillar .pnum{font-size:1.7rem;top:12px;right:14px}
  .bene{margin-top:32px}
  .bene-item{padding:18px 16px 18px 0;gap:12px}
  .bene-item h3{font-size:1.1rem}
  .bene-item p{font-size:.86rem}
  .bene-item .num{min-width:24px;font-size:1rem}
  .who{gap:8px;margin-top:26px}
  .who span{padding:9px 14px;font-size:.82rem}
  .defs{margin-top:22px}
  .pub-list{margin-top:32px}
  /* topbar: mostra só o vínculo com o escritório, centralizado */
  .topbar{font-size:.78rem}
  .topbar .wrap{justify-content:center;text-align:center;padding:8px 20px}
  /* header mais baixo */
  header.site .wrap{height:64px}
  .brand .b-title{font-size:1.25rem;letter-spacing:.1em}
  .brand .b-sub{font-size:.75rem;letter-spacing:.2em}
  nav.main{inset:64px 0 auto 0;max-height:calc(100vh - 64px)}
  /* hero */
  .hero .wrap{padding-top:52px;padding-bottom:60px;gap:40px}
  .hero::after{inset:12px}.hero::before{inset:18px}
  .hero .kicker{font-size:.75rem;letter-spacing:.2em;margin-bottom:18px}
  .hero .kicker::before{width:26px}
  .hero p.sub{font-size:1.05rem;margin:20px 0 30px}
  .hero .cta-row{flex-direction:column;align-items:stretch}
  .hero .cta-row .btn{justify-content:center}
  .hero .marks{gap:20px;margin-top:38px}
  .hero .mark{flex:1;min-width:44%}
  .hero .mark strong{font-size:1.15rem}
  .seal{width:180px;height:180px}
  /* botões ocupam largura confortável */
  .btn{padding:14px 24px;font-size:.82rem}
  /* quote / cards */
  .quote-card{padding:34px 26px}
  .quote-card p{font-size:1.15rem}
  .tcard{padding:28px 24px}
  /* benefícios */
  .bene-item{padding:24px 0}
  /* livro */
  .book-real{width:230px}
  .buy-row{flex-direction:column;align-items:stretch}
  .buy-row .btn{justify-content:center}
  /* cláusulas / juris */
  .juris-side,.juris-card{padding:30px 24px}
  .clauses{gap:14px}
  .clause .c-head{padding:13px 16px;font-size:1rem}
  .clause .c-text{padding:18px 16px;font-size:.95rem}
  .juris-card .j-case{font-size:1.25rem}
  /* publicações: empilha e alinha à esquerda */
  .pub .p-year{font-size:1.4rem}
  .pub .p-link{border-bottom:none;color:var(--gold)}
  /* FAQ */
  .faq-item summary{padding:18px 20px;font-size:1.1rem}
  .faq-item .fa-body{padding:16px 20px 22px}
  /* formulário */
  .form-head{padding:24px 22px}
  .form-head h3{font-size:1.25rem}
  .fblock summary{padding:18px 20px}
  .fblock .fb-t{font-size:1.08rem}
  .fb-body{padding:6px 20px 26px}
  .form-foot{padding:26px 22px;flex-direction:column;align-items:stretch}
  .form-actions{flex-direction:column}
  .form-actions .btn{justify-content:center}
  /* autora */
  .autora-grid{gap:32px}
  .portrait{max-width:280px;margin:0 auto;width:100%}
  .cred-list li{font-size:.92rem}
  /* escritório */
  .office .wrap{padding-top:56px;padding-bottom:56px}
  .office::after{font-size:11rem;right:-20px;bottom:-40px}
  .o-row{grid-template-columns:1fr;gap:4px;padding:14px 0}
  .o-brand{font-size:1.4rem}
  /* footer */
  footer.site .wrap{flex-direction:column;align-items:flex-start;gap:18px}
}
@media(max-width:400px){
  .hero .mark{min-width:100%}
  .book-real{width:200px}
}

@media print{
  .topbar,header.site,nav.main,.nav-overlay,.cookie-banner,footer.site,.sb-wpp-suspenso,.sb-topo-suspenso,.page-hero .back-link,.form-actions,.form-head p{display:none!important}
  #diretrizes{padding:0;background:#fff}
  .form-shell{box-shadow:none;border:none;max-width:100%}
  .fblock{page-break-inside:avoid}
  .fblock:not([open]) .fb-body{display:grid!important}
  body{font-size:12px}
}

/* ===== Widget: WhatsApp + Voltar ao topo ===== */
  :root {
    --topo-left-desktop: 24px;
    --topo-right-desktop: auto;
    --contato-left-desktop: auto;
    --contato-right-desktop: 24px;

    --topo-left-mobile: 20px;
    --topo-right-mobile: auto;
    --contato-left-mobile: auto;
    --contato-right-mobile: 20px;

    --topo-cor-fundo: #9D5660;
    --topo-cor-hover: #5A2A38;
    --topo-cor-icone: #FFFFFF;
    --topo-tamanho: 50px;

    --wpp-cor-fundo: #25D366;
    --wpp-cor-hover: #1ebd59;
    --wpp-cor-icone: #FFFFFF;
    --wpp-tamanho: 60px;
  }

  .sb-wpp-suspenso, .sb-topo-suspenso {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  .sb-topo-suspenso {
    position: fixed;
    bottom: 30px;
    left: var(--topo-left-desktop);
    right: var(--topo-right-desktop);
    z-index: 90;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    outline: none !important;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  }

  .sb-topo-suspenso.ativo {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .sb-topo-circulo {
    width: var(--topo-tamanho);
    height: var(--topo-tamanho);
    background-color: var(--topo-cor-fundo);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease, background-color 0.3s ease;
  }

  .sb-topo-circulo svg {
    fill: var(--topo-cor-icone);
    width: calc(var(--topo-tamanho) * 0.4);
    height: calc(var(--topo-tamanho) * 0.4);
  }

  .sb-topo-suspenso:hover .sb-topo-circulo {
    background-color: var(--topo-cor-hover);
    transform: scale(1.08);
  }

  .sb-wpp-suspenso {
    position: fixed;
    bottom: 30px;
    left: var(--contato-left-desktop);
    right: var(--contato-right-desktop);
    z-index: 90;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    outline: none !important;
    cursor: pointer;
  }

  .sb-wpp-circulo {
    width: var(--wpp-tamanho);
    height: var(--wpp-tamanho);
    background-color: var(--wpp-cor-fundo);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease, background-color 0.3s ease;
    position: relative;
    z-index: 2;
  }

  .sb-wpp-circulo svg {
    fill: var(--wpp-cor-icone);
    width: calc(var(--wpp-tamanho) * 0.56);
    height: calc(var(--wpp-tamanho) * 0.56);
  }

  .sb-wpp-suspenso::before {
    content: "";
    position: absolute;
    width: var(--wpp-tamanho);
    height: var(--wpp-tamanho);
    background-color: var(--wpp-cor-fundo);
    border-radius: 50%;
    z-index: 1;
    opacity: 0.7;
    animation: sbPulseWpp 2s infinite;
  }

  .sb-wpp-suspenso:hover .sb-wpp-circulo {
    background-color: var(--wpp-cor-hover);
    transform: scale(1.08);
  }

  @keyframes sbPulseWpp {
    0% { transform: scale(1); opacity: 0.7; }
    100% { transform: scale(1.6); opacity: 0; }
  }

  @media (max-width: 768px) {
    .sb-topo-suspenso {
      bottom: 20px;
      left: var(--topo-left-mobile) !important;
      right: var(--topo-right-mobile) !important;
    }
    .sb-topo-circulo { width: 45px; height: 45px; }
    .sb-topo-circulo svg { width: 18px; height: 18px; }

    .sb-wpp-suspenso {
      bottom: 20px;
      left: var(--contato-left-mobile) !important;
      right: var(--contato-right-mobile) !important;
    }
    .sb-wpp-circulo, .sb-wpp-suspenso::before { width: 55px; height: 55px; }
    .sb-wpp-circulo svg { width: 30px; height: 30px; }
  }

/* ===== Balão de cookies (LGPD) ===== */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:500;background:#FFFFFF;border-top:3px solid var(--gold);box-shadow:0 -8px 30px rgba(90,42,56,.18);padding:26px 24px;display:none}
.cookie-banner.show{display:block}
.cookie-banner .cb-wrap{max-width:980px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.cookie-banner .cb-text{font-size:.92rem;line-height:1.6;color:var(--ink);text-align:justify;text-align-last:center;max-width:900px}
.cookie-banner .cb-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:center}
.cookie-banner .cb-actions a.btn{background:transparent;border-color:var(--ink);color:var(--ink);text-decoration:none}
.cookie-banner .cb-actions a.btn:hover{background:var(--ink);color:#fff}
.cookie-banner button.btn{white-space:nowrap;background:var(--ink);border-color:var(--ink);color:#fff}
.cookie-banner button.btn:hover{background:#3E1D26;border-color:#3E1D26}
@media(max-width:640px){
  .cookie-banner .cb-text{text-align:left;text-align-last:left}
  .cookie-banner .cb-actions{flex-direction:column;align-items:stretch;gap:10px}
  .cookie-banner .cb-actions .btn{text-align:center}
}
@media(max-width:640px){
  .cookie-banner{padding:18px 16px}
  .cookie-banner .cb-wrap{gap:16px}
  .cookie-banner .cb-actions{width:100%}
  .cookie-banner .cb-actions .btn{flex:1;text-align:center}
}

/* ===== Cabeçalho de página interna (Cookies, Privacidade, Termos) ===== */
.page-hero{background:var(--ivory);padding:56px 0 44px;border-bottom:1px solid var(--line)}
.page-hero .wrap{max-width:820px}
.page-hero .back-link{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--gold);text-decoration:none;margin-bottom:22px}
.page-hero .back-link:hover{text-decoration:underline}
.page-hero h1{font-size:clamp(2rem,4vw,2.6rem);color:var(--ink);font-weight:600}
.page-hero .updated{margin-top:14px;font-size:.85rem;color:var(--slate)}
.legal-content{max-width:820px;margin:0 auto;padding:56px 24px 90px}
.legal-content h2{font-size:1.4rem;color:var(--rose-ink);margin:40px 0 14px}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{font-family:var(--sans);font-size:1.05rem;font-weight:700;color:var(--ink);margin:24px 0 8px}
.legal-content p{color:var(--ink);margin-bottom:14px;line-height:1.7}
.legal-content ul{margin:0 0 16px 22px;color:var(--ink);line-height:1.7}
.legal-content li{margin-bottom:6px}
.legal-content a{color:var(--gold);text-decoration:underline;font-weight:600}
.legal-content strong{font-weight:700}
.legal-content table{width:100%;border-collapse:collapse;margin:16px 0 22px;font-size:.92rem}
.legal-content th,.legal-content td{text-align:left;padding:10px 12px;border:1px solid var(--line)}
.legal-content th{background:var(--ivory);font-weight:700;color:var(--ink)}

/* ===== Hub de navegação (home) — cards clicáveis para as páginas do site ===== */
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
@media(max-width:900px){.hub-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.hub-grid{grid-template-columns:1fr}}
.hub-card{background:var(--white);border:1px solid var(--line);padding:30px 28px;display:block;text-decoration:none;transition:.25s;position:relative}
.hub-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 16px 34px rgba(90,42,56,.12)}
.hub-card .glyph{font-family:var(--serif);font-size:1.7rem;color:var(--gold);line-height:1;margin-bottom:16px}
.hub-card h3{font-size:1.12rem;color:var(--ink);margin-bottom:8px}
.hub-card p{font-size:.88rem;color:var(--slate);line-height:1.55;margin-bottom:14px}
.hub-card .hub-cta{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.hub-card:hover .hub-cta{text-decoration:underline}

/* ===== Teaser de FAQ (home) ===== */
.faq-teaser-actions{text-align:center;margin-top:34px}

/* ===== CTA final (home) ===== */
.final-cta{background:var(--ivory);text-align:center;padding:70px 24px}
.final-cta h2{max-width:640px;margin:0 auto 16px}
.final-cta p{max-width:560px;margin:0 auto 30px;color:var(--slate)}
.final-cta .cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ===== H1 estilo "logo": nome grande + rótulo pequeno (página Sobre) ===== */
.page-hero h1 .h1-label{display:block;font-family:var(--sans);font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-top:16px}

/* ===== Ponte entre páginas (Sobre <-> Livro) ===== */
.page-bridge{display:flex;align-items:center;gap:40px;background:var(--white);border:1px solid var(--line);padding:40px;margin-top:60px}
.page-bridge .bridge-img{flex-shrink:0;width:140px}
.page-bridge .bridge-img picture,.page-bridge .bridge-img img{display:block;width:100%;height:auto;border-radius:2px;box-shadow:0 14px 30px rgba(90,42,56,.18)}
.page-bridge .bridge-text{flex:1}
.page-bridge .bridge-text h2{font-size:1.5rem;margin-bottom:10px}
.page-bridge .bridge-text p{color:var(--slate);margin-bottom:20px}
@media(max-width:640px){
  .page-bridge{flex-direction:column;text-align:center;padding:32px 24px}
  .page-bridge .bridge-img{width:120px}
}

/* ===== Rótulo pequeno abaixo de "Quem é a Thais Câmara" no menu ===== */
nav.main a .nav-link-stack{display:block!important}
nav.main a .nav-sub-label{display:block!important;font-family:var(--serif)!important;font-size:.85rem!important;font-weight:500!important;font-style:italic;letter-spacing:.02em!important;text-transform:none!important;color:var(--gold)!important;margin-top:5px!important}

/* ===== Impressão do Guia de Diretrizes (conteúdo gerado dinamicamente) ===== */
#impressaoGuia{display:none}
@media print{
  body.modo-impressao-guia > *:not(#impressaoGuia){display:none!important}
  body.modo-impressao-guia #impressaoGuia{display:block!important}
  #impressaoGuia{font-family:Georgia,'Times New Roman',serif;color:#2a2a2a;max-width:760px;margin:0 auto;padding:20px;line-height:1.5}
  #impressaoGuia .p-topo{text-align:center;margin-bottom:36px;padding-bottom:24px;border-bottom:2px solid #5A2A38}
  #impressaoGuia .p-topo h1{font-size:1.7rem;color:#5A2A38;margin:0 0 8px}
  #impressaoGuia .p-topo p{font-size:.92rem;color:#555;margin:0}
  #impressaoGuia .p-secao{margin-bottom:34px;page-break-inside:avoid}
  #impressaoGuia .p-secao h2{font-size:1.15rem;color:#5A2A38;border-bottom:1px solid #ccc;padding-bottom:8px;margin-bottom:4px}
  #impressaoGuia .p-num{display:inline-block;width:28px}
  #impressaoGuia .p-sub{font-size:.85rem;color:#777;font-style:italic;margin:0 0 16px}
  #impressaoGuia .p-campo{margin-bottom:18px}
  #impressaoGuia .p-label{font-family:Arial,sans-serif;font-size:.85rem;font-weight:700;color:#333;margin-bottom:4px}
  #impressaoGuia .p-hint{font-size:.82rem;color:#777;font-style:italic;margin-bottom:8px}
  #impressaoGuia .p-linha{border-bottom:1px solid #999;height:28px}
  #impressaoGuia .p-linha-grande{height:70px;border-bottom:1px solid #999}
  #impressaoGuia .p-opcao{font-family:Arial,sans-serif;font-size:.9rem;margin:6px 0 6px 4px}
  @page{margin:2cm}
}
