/* ============================================================
   SANTINO & PONTES ADVOGADOS — Design System v2 (2026-06)
   Base da marca: marinho + ouro #c9a84c, com camada preta + dourado clássico.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Raleway:wght@300;400;500;600;700&display=swap');

@font-face{font-family:'Constantia';src:url('../fonts/Constantia.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Constantia';src:url('../fonts/Constantia-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Constantia';src:url('../fonts/Constantia-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Constantia';src:url('../fonts/Constantia-BoldItalic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}

:root{
  --preto:#0a0b0e; --preto-2:#101218;
  --marinho:#0f1c2d; --marinho-2:#132338; --card:#16243a;
  --ouro:#c9a84c; --ouro-claro:#e7cd86;
  --creme:#f4efe6; --texto:#a8b6c6; --texto-2:#c6d0dc;
  --linha:rgba(201,168,76,.18);
  --serif:'Constantia','Georgia',serif; --display:'Cinzel',serif; --sans:'Raleway',sans-serif;
  --radius:6px; --container:1180px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--marinho);color:var(--texto);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
h1,h2,h3,h4{font-family:var(--serif);color:var(--creme);line-height:1.18;font-weight:700}
em{font-style:italic;color:var(--ouro)}
.container{width:min(var(--container),92%);margin-inline:auto}
.eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--ouro)}
.rule{display:block;width:54px;height:2px;background:linear-gradient(90deg,var(--ouro),transparent);margin:18px 0 26px}
.rule.center{margin-inline:auto;background:var(--ouro);width:60px}
.section{padding:104px 0}
.section-head{max-width:680px}
.section-head.center{margin-inline:auto;text-align:center}
.section-title{font-size:clamp(1.8rem,3.4vw,2.7rem)}
.section-sub{margin-top:14px;color:var(--texto);font-size:1.02rem}

.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--sans);font-weight:600;font-size:.92rem;padding:14px 26px;border-radius:100px;border:1px solid transparent;cursor:pointer;transition:.3s}
.btn-ouro{background:linear-gradient(135deg,var(--ouro),#b58f3c);color:#1a1206}
.btn-ouro:hover{box-shadow:0 10px 30px rgba(201,168,76,.28);transform:translateY(-2px)}
.btn-ghost{border-color:var(--linha);color:var(--creme)}
.btn-ghost:hover{border-color:var(--ouro);color:var(--ouro)}

.nav{position:fixed;top:0;left:0;right:0;z-index:1000;transition:.35s;border-bottom:1px solid transparent}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.nav.scrolled{background:rgba(10,11,14,.86);backdrop-filter:blur(12px);border-bottom-color:var(--linha)}
.logo img{height:46px;width:auto}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{font-size:.9rem;font-weight:500;color:var(--texto-2);transition:.25s}
.nav-links a:hover,.nav-links a.ativo{color:var(--ouro)}
.nav-links .btn{color:#1a1206}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer}
.hamburger span{width:26px;height:2px;background:var(--ouro);transition:.3s}

.hero{position:relative;background:var(--preto);padding:190px 0 110px;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(1100px 520px at 74% -10%,rgba(201,168,76,.16),transparent 60%);pointer-events:none}
.hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--ouro),transparent);opacity:.5}
.hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.hero-wordmark{font-family:var(--display);font-size:.82rem;letter-spacing:.34em;color:var(--ouro);text-transform:uppercase;margin-bottom:26px}
.hero h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.08;color:var(--creme)}
.hero .lead{margin-top:24px;max-width:540px;font-size:1.1rem;color:var(--texto-2)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.hero-aside{border-left:1px solid var(--linha);padding-left:34px}
.hero-aside .item{padding:18px 0;border-bottom:1px solid rgba(201,168,76,.12)}
.hero-aside .item:last-child{border-bottom:0}
.hero-aside .k{font-family:var(--serif);font-size:1.9rem;color:var(--ouro);line-height:1}
.hero-aside .v{font-size:.82rem;letter-spacing:.04em;color:var(--texto);margin-top:4px}

.trust{background:var(--preto-2);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.trust-row{display:flex;flex-wrap:wrap;gap:26px;justify-content:space-between;padding:22px 0}
.trust-row span{font-size:.82rem;letter-spacing:.06em;color:var(--texto);display:flex;align-items:center;gap:9px}
.trust-row b{color:var(--ouro);font-weight:600}

.areas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:52px}
.area{background:var(--card);border:1px solid var(--linha);border-radius:var(--radius);padding:28px 24px;transition:.3s}
.area:hover{transform:translateY(-4px);border-color:var(--ouro);box-shadow:0 18px 40px rgba(0,0,0,.42)}
.area .ic{font-size:1.7rem;margin-bottom:14px}
.area .n{font-family:var(--serif);font-size:.78rem;color:var(--ouro);letter-spacing:.1em;margin-bottom:6px}
.area h3{font-size:1.12rem;margin-bottom:10px;color:var(--creme)}
.area p{font-size:.88rem;color:var(--texto)}
.area .mais{display:inline-block;margin-top:14px;font-size:.8rem;color:var(--ouro);font-weight:600}
.area.feat{grid-column:span 2;background:linear-gradient(135deg,#1b2b42,#0f1c2d);border-color:rgba(201,168,76,.4)}
.area.feat .tag{display:inline-block;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:#1a1206;background:var(--ouro);padding:4px 11px;border-radius:100px;margin-bottom:12px}
.area.feat h3{font-size:1.5rem}

.escr{background:var(--marinho-2)}
.escr-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.escr p{margin-bottom:16px;color:var(--texto)}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pillar{background:var(--card);border:1px solid var(--linha);border-radius:var(--radius);padding:22px}
.pillar .ic{font-size:1.5rem;margin-bottom:10px}
.pillar b{display:block;color:var(--creme);font-family:var(--serif);margin-bottom:6px}
.pillar span{font-size:.85rem;color:var(--texto)}

.equipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.adv{background:var(--card);border:1px solid var(--linha);border-radius:var(--radius);overflow:hidden;transition:.3s}
.adv:hover{border-color:var(--ouro);transform:translateY(-4px)}
.adv .foto{aspect-ratio:4/5;background:linear-gradient(160deg,#1c2e46,#0c1622);display:flex;align-items:center;justify-content:center;color:rgba(201,168,76,.4);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--linha)}
.adv .info{padding:22px}
.adv .nome{font-family:var(--serif);font-size:1.18rem;color:var(--creme)}
.adv .oab{font-size:.78rem;color:var(--ouro);margin:4px 0 12px;letter-spacing:.05em}
.adv .esp{font-size:.86rem;color:var(--texto)}

.cta{position:relative;background:var(--preto);text-align:center;padding:96px 0;overflow:hidden}
.cta::before{content:'';position:absolute;inset:0;background:radial-gradient(700px 320px at 50% 120%,rgba(201,168,76,.18),transparent 60%)}
.cta h2{position:relative;font-size:clamp(1.8rem,3.4vw,2.6rem)}
.cta p{position:relative;margin:14px auto 30px;max-width:520px;color:var(--texto-2)}

.footer{background:var(--preto-2);border-top:1px solid var(--linha);padding:64px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.footer h4{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro);margin-bottom:16px}
.footer a,.footer li{display:block;font-size:.88rem;color:var(--texto);margin-bottom:9px;transition:.25s}
.footer a:hover{color:var(--ouro)}
.footer .desc{font-size:.88rem;color:var(--texto);margin-top:14px;max-width:320px}
.footer-logo img{height:62px;width:auto}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid var(--linha);margin-top:40px;padding-top:22px;font-size:.78rem;color:var(--texto)}

[data-animar]{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
[data-animar].visivel{opacity:1;transform:none}

/* ===================== PÁGINAS INTERNAS ===================== */
.page-hero{position:relative;background:var(--preto);padding:150px 0 64px;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(900px 420px at 80% -20%,rgba(201,168,76,.14),transparent 60%)}
.page-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--ouro),transparent);opacity:.45}
.page-hero .inner{position:relative}
.breadcrumb{font-size:.8rem;color:var(--texto);margin-bottom:16px;display:flex;gap:8px;align-items:center}
.breadcrumb a:hover{color:var(--ouro)}
.breadcrumb .sep{color:var(--ouro)}
.page-hero h1{font-size:clamp(2rem,4vw,3rem);color:var(--creme)}
.page-hero .sub{margin-top:14px;max-width:660px;color:var(--texto-2)}

.prose p{margin-bottom:16px;color:var(--texto)}
.prose strong{color:var(--creme)}

.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.mini{background:var(--card);border:1px solid var(--linha);border-radius:var(--radius);padding:26px}
.mini .ic{font-size:1.7rem;margin-bottom:12px}
.mini h3{font-family:var(--serif);color:var(--ouro);font-size:1.2rem;margin-bottom:12px}
.mini p{font-size:.92rem;color:var(--texto)}
.mini ul li{padding-left:16px;position:relative;margin-bottom:6px;font-size:.92rem;color:var(--texto)}
.mini ul li::before{content:'›';position:absolute;left:0;color:var(--ouro)}
.statline{display:grid;gap:16px}
.statline .s{display:flex;gap:18px;align-items:center;background:var(--card);border:1px solid var(--linha);border-radius:var(--radius);padding:22px}
.statline .num{font-family:var(--serif);font-size:2.2rem;color:var(--ouro);min-width:70px}
.statline b{color:var(--creme);display:block} .statline span{font-size:.85rem;color:var(--texto)}

.contato-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.info-item{display:flex;gap:16px;margin-bottom:22px}
.info-item .ic{font-size:1.3rem;color:var(--ouro)}
.info-item .t{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ouro);margin-bottom:4px}
.info-item .v{color:var(--creme);font-size:.95rem}
.box{background:var(--card);border:1px solid var(--linha);border-radius:var(--radius);padding:24px;margin-top:24px}
.box .t{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ouro);margin-bottom:14px}
.linha-h{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(201,168,76,.1);font-size:.9rem}
.linha-h:last-child{border-bottom:0}
.linha-h .d{color:var(--texto)} .linha-h .h{color:var(--creme);font-weight:600}
.whats{display:flex;align-items:center;gap:14px;padding:16px 22px;background:#0d2b1a;border:1px solid #1a5c35;border-radius:var(--radius);color:#52b788;font-weight:600;margin-top:14px;transition:.3s}
.whats:hover{background:#1a5c35;color:#fff}
.mapa{width:100%;height:260px;border:1px solid var(--linha);border-radius:var(--radius);margin-top:22px;overflow:hidden}
.mapa iframe{width:100%;height:100%;border:0;filter:grayscale(30%) invert(4%)}

form .grp{margin-bottom:18px}
form .duo{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:block;font-size:.8rem;color:var(--texto-2);margin-bottom:8px}
input,select,textarea{width:100%;padding:13px 16px;background:var(--marinho-2);border:1px solid var(--linha);border-radius:var(--radius);color:var(--creme);font-family:var(--sans);font-size:.92rem;outline:none;transition:.25s}
input:focus,select:focus,textarea:focus{border-color:var(--ouro)}
textarea{min-height:130px;resize:vertical}
.aviso{font-size:.78rem;color:var(--texto);margin-top:12px;opacity:.85}

.faq{border-bottom:1px solid var(--linha)}
.faq button{width:100%;background:none;border:0;padding:20px 0;display:flex;justify-content:space-between;gap:16px;align-items:center;cursor:pointer;font-family:var(--sans);font-size:.95rem;font-weight:600;color:var(--creme);text-align:left}
.faq button:hover{color:var(--ouro)}
.faq .seta{color:var(--ouro);font-size:1.2rem;transition:.3s}
.faq .resp{display:none;padding-bottom:20px;color:var(--texto);font-size:.92rem}
.faq.aberto .resp{display:block}
.faq.aberto .seta{transform:rotate(45deg)}
.faq.aberto button{color:var(--ouro)}

.blog-filtros{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.filtro-btn{padding:8px 16px;background:none;border:1px solid var(--linha);border-radius:100px;color:var(--texto);font-family:var(--sans);font-size:.82rem;cursor:pointer;transition:.25s}
.filtro-btn:hover,.filtro-btn.ativo{border-color:var(--ouro);color:var(--ouro)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.blog-card{background:var(--card);border:1px solid var(--linha);border-radius:var(--radius);overflow:hidden;transition:.3s}
.blog-card:hover{border-color:var(--ouro);transform:translateY(-4px)}
.blog-img{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#15273e,#0a0f17);display:flex;align-items:center;justify-content:center}
.blog-emoji{font-size:2.4rem}
.blog-cat{position:absolute;top:12px;left:12px;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;background:var(--ouro);color:#1a1206;padding:4px 10px;border-radius:100px}
.blog-corpo{padding:22px}
.blog-data{font-size:.76rem;color:var(--ouro);margin-bottom:8px}
.blog-titulo{font-family:var(--serif);font-size:1.08rem;color:var(--creme);margin-bottom:10px;line-height:1.3}
.blog-resumo{font-size:.88rem;color:var(--texto);margin-bottom:14px}
.blog-link{font-size:.84rem;color:var(--ouro);font-weight:600}
.newsletter{background:var(--marinho-2);border-top:1px solid var(--linha);padding:72px 0;text-align:center}
.newsletter form{display:flex;gap:10px;flex-wrap:wrap;max-width:520px;margin:24px auto 0}
.newsletter input{flex:1;min-width:220px}

.area-row{padding:56px 0;border-bottom:1px solid var(--linha)}
.area-row:last-child{border-bottom:0}
.area-row .grid{display:grid;grid-template-columns:1fr 1.5fr;gap:56px;align-items:start}
.area-row .grid.inv .side{order:2}.area-row .grid.inv .body{order:1}
.area-row .num{font-family:var(--serif);font-size:5rem;color:rgba(201,168,76,.1);line-height:1}
.area-row .ic{font-size:3rem;margin-bottom:14px}
.area-row h2{font-size:clamp(1.4rem,2.4vw,1.9rem);color:var(--creme);margin-bottom:14px}
.tese{padding:18px 22px;background:var(--card);border:1px solid rgba(201,168,76,.12);border-left:3px solid var(--ouro);border-radius:0 var(--radius) var(--radius) 0;margin-bottom:12px}
.tese b{display:block;font-family:var(--serif);color:var(--creme);margin-bottom:6px}
.tese span{font-size:.85rem;color:var(--texto)}
.side{position:sticky;top:96px}
.indice{background:rgba(16,18,24,.96);border-bottom:1px solid var(--linha);position:sticky;top:0;z-index:90;backdrop-filter:blur(8px)}
.indice .row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:14px 0}
.indice a{font-size:.74rem;color:var(--texto);padding:5px 12px;border:1px solid var(--linha);border-radius:100px;white-space:nowrap;transition:.25s}
.indice a:hover{color:var(--ouro);border-color:var(--ouro)}

@media(max-width:980px){
  .hero-grid,.escr-grid{grid-template-columns:1fr;gap:40px}
  .hero-aside{border-left:0;border-top:1px solid var(--linha);padding-left:0;padding-top:18px}
  .areas-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .contato-grid,.area-row .grid,.area-row .grid.inv{grid-template-columns:1fr;gap:32px}
  .area-row .grid.inv .side,.area-row .grid.inv .body{order:unset}
  .side{position:static}
  .cards-3,.blog-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .nav-links{position:fixed;inset:0 0 0 auto;width:76%;max-width:320px;flex-direction:column;justify-content:center;gap:24px;background:rgba(10,11,14,.97);transform:translateX(100%);transition:.35s;padding:40px}
  .nav-links.aberto{transform:none}
  .hamburger{display:flex;z-index:1001}
  .areas-grid,.equipe-grid,.pillars,.footer-grid,.cards-3,.blog-grid,form .duo{grid-template-columns:1fr}
  .area.feat{grid-column:span 1}
  .section{padding:72px 0}
  .hero{padding:150px 0 78px}
}
