/* ============================================================
   SCUDELER ADVOCACIA — V2 (foco em conversão)
   Mesma identidade visual: azul-marinho + off-white + acentos.
   ============================================================ */

:root{
  --marinho:#14253F; --marinho-fundo:#0E1B30; --offwhite:#F4F1EA; --offwhite-puro:#FBFAF6;
  --preto:#0E0E0E; --prata:#AEB4BD; --areia:#C9B79A; --areia-escuro:#B8A47E;
  --texto:#25303f; --texto-suave:#51606f; --borda:#e3ddd0;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --maxw:1160px; --radius:6px;
  --shadow:0 10px 40px rgba(14,27,48,.10); --shadow-soft:0 4px 18px rgba(14,27,48,.07);
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; font-family:var(--sans); font-size:18px; line-height:1.7; color:var(--texto); background:var(--offwhite-puro); -webkit-font-smoothing:antialiased; }
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ font-family:var(--serif); color:var(--marinho); line-height:1.15; font-weight:600; margin:0 0 .5em; letter-spacing:.2px; }
h1{ font-size:clamp(2.2rem,5vw,3.5rem); } h2{ font-size:clamp(1.9rem,4vw,2.7rem); } h3{ font-size:1.35rem; }
p{ margin:0 0 1rem; }
.container{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 28px; }
.container-narrow{ max-width:820px; }
.eyebrow{ font-family:var(--sans); text-transform:uppercase; letter-spacing:2.5px; font-size:.8rem; font-weight:700; color:var(--areia-escuro); margin:0 0 .8rem; }
.eyebrow-dark{ color:var(--areia-escuro); }
.section{ padding:84px 0; }
.section-alt{ background:var(--offwhite); }
.section-head{ max-width:680px; margin:0 auto 52px; text-align:center; }
.section-sub{ color:var(--texto-suave); font-size:1.1rem; margin:0; }

/* -------------------- BOTÕES -------------------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:var(--sans); font-weight:600; font-size:1.04rem; padding:16px 32px; border-radius:var(--radius); border:2px solid transparent; cursor:pointer; transition:transform .15s ease,background .2s ease,color .2s ease,border-color .2s ease; text-align:center; }
.btn-primary{ background:var(--marinho); color:var(--offwhite); }
.btn-primary:hover{ background:var(--marinho-fundo); transform:translateY(-2px); }
.btn-areia{ background:var(--areia); color:var(--marinho); }
.btn-areia:hover{ background:var(--areia-escuro); transform:translateY(-2px); }
.btn-ghost{ background:transparent; color:var(--marinho); border-color:var(--marinho); }
.btn-ghost:hover{ background:var(--marinho); color:var(--offwhite); transform:translateY(-2px); }
.btn-ghost-light{ color:var(--offwhite); border-color:rgba(244,241,234,.55); }
.btn-ghost-light:hover{ background:var(--offwhite); color:var(--marinho); border-color:var(--offwhite); }
.btn-block{ width:100%; }
.btn-lg{ padding:18px 40px; font-size:1.12rem; }
.btn svg{ flex:0 0 auto; }

/* -------------------- CABEÇALHO -------------------- */
.site-header{ position:sticky; top:0; z-index:100; background:rgba(20,37,63,.97); backdrop-filter:saturate(140%) blur(6px); border-bottom:1px solid rgba(174,180,189,.18); }
.header-inner{ display:flex; align-items:center; justify-content:space-between; height:92px; }
.brand-logo{ height:52px; width:auto; }
.main-nav{ display:flex; align-items:center; gap:28px; }
.main-nav a{ color:var(--offwhite); font-weight:500; font-size:1rem; padding:6px 0; position:relative; transition:color .2s; }
.main-nav a:not(.nav-cta)::after{ content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--areia); transition:width .25s ease; }
.main-nav a:not(.nav-cta):hover::after{ width:100%; }
.main-nav a:hover{ color:#fff; }
.nav-cta{ border-radius:var(--radius); padding:10px 20px !important; background:#1F6B4A; color:#fff !important; font-weight:700; }
.nav-cta:hover{ background:#185539; }
.menu-toggle{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; }
.menu-toggle span{ width:26px; height:2px; background:var(--offwhite); transition:.3s; }
.menu-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* -------------------- HERO VENDAS -------------------- */
.hero{ background:radial-gradient(120% 120% at 80% 0%,#1b3151 0%,var(--marinho) 45%,var(--marinho-fundo) 100%); color:var(--offwhite); padding:90px 0 100px; overflow:hidden; }
.hero-inner{ display:grid; grid-template-columns:1.2fr .8fr; gap:50px; align-items:center; }
.hero-text .eyebrow{ color:var(--areia); }
.hero h1{ color:#fff; margin-bottom:.35em; }
.hero-rotador{ margin:0 0 18px; min-height:84px; }
.rot-label{ display:inline-block; font-size:.78rem; text-transform:uppercase; letter-spacing:2.5px; font-weight:700; color:var(--areia); margin-bottom:8px; }
.rot-pergunta{ font-family:var(--serif); font-size:clamp(1.5rem,2.6vw,2rem); line-height:1.25; font-weight:600; color:#fff; margin:0; transition:opacity .35s ease; border-left:3px solid var(--areia); padding-left:16px; }
.hero-lead{ font-size:1.16rem; color:#dde3ec; max-width:44ch; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:16px; margin:34px 0 22px; }
.hero-reassure{ font-size:1rem; color:var(--prata); margin:0; display:flex; align-items:center; gap:9px; }
.hero-reassure svg{ flex:0 0 auto; color:var(--areia); }
.hero-symbol{ display:flex; justify-content:center; perspective:900px; }
.hero-symbol img{ width:min(280px,80%); opacity:.96; filter:drop-shadow(0 16px 40px rgba(0,0,0,.35)); transform-style:preserve-3d; animation:giroEscudo 1.6s ease-in-out .2s both; }
@keyframes giroEscudo{ 0%{ transform:rotateY(0deg); } 100%{ transform:rotateY(360deg); } }
@media (prefers-reduced-motion:reduce){ .hero-symbol img{ animation:none; } }

/* -------------------- DORES -------------------- */
.dores{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.dor{ background:#fff; border:1px solid var(--borda); border-radius:10px; padding:32px 24px; text-align:center; transition:transform .18s ease, box-shadow .18s ease; }
.section-alt .dor{ background:var(--offwhite-puro); }
.dor:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.dor-ic{ width:62px; height:62px; margin:0 auto 18px; border-radius:50%; background:var(--marinho); color:var(--areia); display:flex; align-items:center; justify-content:center; }
.dor-ic svg{ width:30px; height:30px; }
.dor h3{ font-size:1.18rem; margin:0; }

/* -------------------- ÁREAS / CARDS -------------------- */
.cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.card{ background:#fff; border:1px solid var(--borda); border-radius:8px; padding:30px 28px; transition:transform .18s ease,box-shadow .18s ease,border-color .18s; border-top:3px solid var(--marinho); }
.section-alt .card{ background:var(--offwhite-puro); }
.card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); border-top-color:var(--areia-escuro); }
.card h3{ font-size:1.55rem; margin-bottom:.45em; }
.card p{ color:var(--texto-suave); margin:0; font-size:1.02rem; }

/* -------------------- COMO FUNCIONA -------------------- */
.steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.step{ position:relative; padding-top:8px; }
.step-num{ display:inline-flex; align-items:center; justify-content:center; width:54px; height:54px; border-radius:50%; background:var(--marinho); color:var(--offwhite); font-family:var(--serif); font-size:1.6rem; font-weight:700; margin-bottom:18px; box-shadow:var(--shadow-soft); }
.step h3{ font-size:1.2rem; margin-bottom:.4em; }
.step p{ color:var(--texto-suave); font-size:1rem; margin:0; }

/* -------------------- DIFERENCIAIS -------------------- */
.difs{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px 40px; }
.dif{ display:flex; gap:18px; align-items:flex-start; }
.dif-ic{ flex:0 0 46px; width:46px; height:46px; border-radius:10px; background:var(--marinho); color:var(--areia); display:flex; align-items:center; justify-content:center; }
.dif-ic svg{ width:24px; height:24px; }
.dif h3{ font-size:1.2rem; margin:0 0 .25em; }
.dif p{ color:var(--texto-suave); font-size:1.02rem; margin:0; }

/* -------------------- BLOCO ADVOGADO (curto) -------------------- */
.adv-inner{ display:grid; grid-template-columns:.8fr 1.2fr; gap:54px; align-items:center; }
.adv-media{ background:var(--marinho); border-radius:12px; padding:42px; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow); }
.adv-media img{ width:72%; }
/* Variante com foto do advogado: preenche o card como retrato */
.adv-media-foto{ padding:0; overflow:hidden; }
.adv-media-foto img{ width:100%; height:100%; aspect-ratio:1 / 1; object-fit:cover; object-position:center 20%; border-radius:12px; }
.adv-text p{ color:var(--texto); font-size:1.08rem; }
.adv-text .sig-name{ font-family:var(--serif); font-size:1.5rem; font-weight:700; color:var(--marinho); margin:18px 0 0; }
.adv-text .sig-role{ font-size:.95rem; letter-spacing:1px; text-transform:uppercase; color:var(--texto-suave); margin:0 0 18px; }

/* -------------------- DEPOIMENTOS -------------------- */
.depo-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.depo{ background:#fff; border:1px solid var(--borda); border-radius:10px; padding:30px 28px; box-shadow:var(--shadow-soft); display:flex; flex-direction:column; }
.section-alt .depo{ background:var(--offwhite-puro); }
.depo-stars{ color:var(--areia-escuro); font-size:1.05rem; letter-spacing:2px; margin-bottom:14px; }
.depo-text{ font-family:var(--serif); font-size:1.2rem; line-height:1.45; color:var(--marinho); font-style:italic; margin:0 0 18px; flex:1; }
.depo-author{ font-weight:600; color:var(--texto); margin:0; font-size:1rem; }
.depo-meta{ color:var(--texto-suave); font-size:.9rem; margin:0; }
.depo-aviso{ text-align:center; color:var(--texto-suave); font-size:.9rem; margin:14px auto 0; max-width:60ch; }

/* -------------------- CTA FAIXA -------------------- */
.cta-band{ background:radial-gradient(120% 130% at 15% 0%,#1b3151 0%,var(--marinho) 50%,var(--marinho-fundo) 100%); color:var(--offwhite); text-align:center; }
.cta-band h2{ color:#fff; }
.cta-band p{ color:#dde3ec; font-size:1.15rem; max-width:54ch; margin:0 auto 28px; }

/* -------------------- CONTATO -------------------- */
.contato-section{ background:var(--offwhite); }
.contato-inner{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.contato-text h2{ color:var(--marinho); }
.contato-text > p{ color:var(--texto-suave); font-size:1.1rem; }
.contato-list{ list-style:none; padding:0; margin:26px 0 30px; }
.contato-list li{ display:flex; flex-direction:column; padding:14px 0; border-bottom:1px solid var(--borda); }
.contato-list .ci{ font-size:.78rem; text-transform:uppercase; letter-spacing:2px; color:var(--areia-escuro); margin-bottom:3px; }
.contato-list a{ color:var(--marinho); font-size:1.12rem; font-weight:600; }
.contato-list a:hover{ color:var(--areia-escuro); }
.contato-actions{ display:flex; flex-wrap:wrap; gap:14px; }
.contato-form-wrap{ background:#fff; border-radius:12px; padding:38px; box-shadow:var(--shadow); }
.contato-form h3{ margin-bottom:1.1rem; }
.field{ margin-bottom:18px; }
.field label{ display:block; font-weight:600; font-size:.98rem; color:var(--texto); margin-bottom:6px; }
.field input,.field textarea{ width:100%; font-family:var(--sans); font-size:1.02rem; color:var(--texto); padding:13px 15px; border:1.5px solid var(--borda); border-radius:var(--radius); background:var(--offwhite-puro); transition:border-color .2s,box-shadow .2s; }
.field input:focus,.field textarea:focus{ outline:none; border-color:var(--marinho); box-shadow:0 0 0 3px rgba(20,37,63,.12); background:#fff; }
.field textarea{ resize:vertical; }
.field.invalid input,.field.invalid textarea{ border-color:#b3402f; box-shadow:0 0 0 3px rgba(179,64,47,.12); }
.field-consent{ margin-bottom:20px; }
.consent-label{ display:flex; align-items:flex-start; gap:11px; cursor:pointer; font-weight:400; font-size:.86rem; line-height:1.5; color:var(--texto-suave); }
.consent-label input[type="checkbox"]{ flex:0 0 auto; width:20px; height:20px; margin-top:2px; cursor:pointer; accent-color:var(--marinho); }
.field-consent.invalid .consent-label{ color:#b3402f; }
.field-consent.invalid .consent-label input[type="checkbox"]{ outline:2px solid #b3402f; outline-offset:2px; }
.consent-label a{ color:var(--marinho); text-decoration:underline; }
.label-opt{ font-weight:400; color:var(--texto-suave); font-size:.86rem; }
.form-privacy-note{ background:#f0ece1; border-left:3px solid var(--areia-escuro); border-radius:4px; padding:11px 14px; font-size:.84rem; line-height:1.5; color:var(--texto-suave); margin:0 0 18px; }
.form-note{ font-size:.88rem; color:var(--texto-suave); margin:14px 0 0; text-align:center; }
.form-success{ background:#eef3ec; border:1px solid #c4d6bb; color:#33502b; padding:14px 16px; border-radius:var(--radius); margin-top:14px; font-size:.98rem; text-align:center; }

/* -------------------- PÁGINAS LEGAIS / INSTITUCIONAL -------------------- */
.legal-hero{ background:radial-gradient(120% 120% at 85% 0%,#1b3151 0%,var(--marinho) 45%,var(--marinho-fundo) 100%); color:var(--offwhite); padding:66px 0 54px; }
.legal-hero .eyebrow{ color:var(--areia); }
.legal-hero h1{ color:#fff; margin:0 0 .2em; }
.legal-updated{ color:var(--prata); margin:0; font-size:.98rem; }
.legal-content h2{ font-size:1.5rem; margin-top:2em; }
.legal-content p{ color:var(--texto); font-size:1.06rem; }
.legal-content ul{ margin:0 0 1.2rem; padding-left:1.3em; color:var(--texto); }
.legal-content li{ margin-bottom:.5rem; font-size:1.06rem; }
.legal-content a{ color:var(--marinho); text-decoration:underline; }
/* Botões dentro de páginas legais/institucionais mantêm o estilo de botão */
.legal-content a.btn{ text-decoration:none; }
.legal-content a.btn-primary{ color:var(--offwhite); }
.legal-content a.btn-primary:hover{ color:var(--offwhite); }
.legal-content a.btn-ghost{ color:var(--marinho); }
.legal-content a.btn-ghost:hover{ color:var(--offwhite); }

/* -------------------- TRABALHE CONOSCO -------------------- */
.tc-inner{ display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:start; }
.tc-texto p{ color:var(--texto); font-size:1.08rem; }
.tc-texto .tc-frase{ font-family:var(--serif); font-size:1.7rem; line-height:1.3; color:var(--marinho); font-weight:600; margin-bottom:.6em; }
.tc-texto h2{ font-size:1.5rem; margin-top:1.4em; }
.tc-lista{ margin:0 0 1.2rem; padding-left:1.3em; color:var(--texto); }
.tc-lista li{ margin-bottom:.5rem; font-size:1.06rem; }
.tc-form-wrap{ background:#fff; border-radius:12px; padding:38px; box-shadow:var(--shadow); }
.tc-form h3{ margin-bottom:1.1rem; }
.tc-form select{ width:100%; font-family:var(--sans); font-size:1.02rem; color:var(--texto); padding:13px 15px; border:1.5px solid var(--borda); border-radius:var(--radius); background:var(--offwhite-puro); transition:border-color .2s, box-shadow .2s; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2314253F' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 15px center; }
.tc-form select:focus{ outline:none; border-color:var(--marinho); box-shadow:0 0 0 3px rgba(20,37,63,.12); background-color:#fff; }
@media (max-width:980px){ .tc-inner{ grid-template-columns:1fr; gap:36px; } }
.legal-note{ margin-top:2.4em; padding-top:1.4em; border-top:1px solid var(--borda); font-size:.92rem !important; color:var(--texto-suave) !important; }
.esc-inner{ display:grid; grid-template-columns:.8fr 1.2fr; gap:54px; align-items:start; margin-top:10px; }
.esc-media{ background:var(--marinho); border-radius:12px; padding:46px; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow); position:sticky; top:120px; }
.esc-media img{ width:78%; }
/* Variante com foto do advogado na pagina O escritorio */
.esc-media-foto{ padding:0; overflow:hidden; background:var(--marinho); }
.esc-media-foto img{ width:100%; height:100%; aspect-ratio:3 / 4; object-fit:cover; object-position:center 25%; border-radius:12px; }
.esc-text p{ color:var(--texto); font-size:1.08rem; }
.esc-signature{ margin-top:24px; padding-top:20px; border-top:2px solid var(--areia); }
.esc-signature .sig-name{ font-family:var(--serif); font-size:1.5rem; font-weight:700; color:var(--marinho); margin:0; }
.esc-signature .sig-role{ font-size:.95rem; letter-spacing:1px; text-transform:uppercase; color:var(--texto-suave); margin:0; }

/* -------------------- ARTIGOS -------------------- */
.artigos-vazio{ max-width:560px; margin:10px auto; text-align:center; background:#fff; border:1px solid var(--borda); border-radius:12px; padding:56px 40px; }
.artigos-vazio-icone img{ width:64px; margin:0 auto 22px; opacity:.85; }
.artigos-vazio h2{ margin-bottom:.4em; }
.artigos-vazio p{ color:var(--texto-suave); font-size:1.06rem; max-width:42ch; margin:0 auto 1rem; }
.artigos-vazio .btn{ margin-top:18px; }

/* -------------------- ARTIGO (página individual) -------------------- */
/* Hero do artigo com símbolo da marca como marca d'água */
.legal-hero.artigo-hero{ position:relative; overflow:hidden; }
.legal-hero.artigo-hero .container{ position:relative; z-index:1; max-width:820px; }
.legal-hero.artigo-hero .artigo-hero-marca{
  position:absolute; right:-30px; top:50%; transform:translateY(-50%);
  width:280px; opacity:.07; pointer-events:none; z-index:0;
}
.legal-hero.artigo-hero h1{ max-width:18ch; }

/* Imagem de destaque do artigo (placeholder com símbolo) */
.artigo-imagem{
  max-width:720px; margin:0 auto 36px; height:340px; border-radius:12px; overflow:hidden;
  background:linear-gradient(135deg,#1b3151 0%,var(--marinho) 60%,var(--marinho-fundo) 100%);
  display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-soft);
}
.artigo-imagem > img{ width:100%; height:100%; object-fit:cover; object-position:center 18%; }
/* Ajuste fino de enquadramento do topo do artigo (igual aos cards: quanto maior o %, mais para baixo) */
.artigo-imagem.foco-10 > img{ object-position:center 10%; }
.artigo-imagem.foco-20 > img{ object-position:center 20%; }
.artigo-imagem.foco-30 > img{ object-position:center 30%; }
.artigo-imagem.foco-40 > img{ object-position:center 40%; }
.artigo-imagem.foco-50 > img{ object-position:center 50%; }
.artigo-imagem.foco-60 > img{ object-position:center 60%; }
.artigo-imagem.foco-70 > img{ object-position:center 70%; }
.artigo-imagem.foco-80 > img{ object-position:center 80%; }
.artigo-imagem.foco-90 > img{ object-position:center 90%; }
.artigo-imagem.foco-100 > img{ object-position:center bottom; }
.artigo-imagem .placeholder-simbolo{ width:80px; height:auto; opacity:.5; object-fit:contain; }

.artigo-corpo{ max-width:720px; margin:0 auto; }
.artigo-corpo .voltar{ display:inline-block; font-size:.95rem; color:var(--texto-suave); margin-bottom:20px; }
.artigo-corpo .voltar:hover{ color:var(--marinho); }
.artigo-corpo h2{ font-size:1.7rem; margin-top:1.6em; }
.artigo-corpo p{ color:var(--texto); font-size:1.1rem; line-height:1.75; }
.artigo-corpo strong{ color:var(--marinho); }

/* Bloco do autor */
.artigo-autor{ display:flex; align-items:center; gap:14px; padding:0 0 26px; margin-bottom:28px; border-bottom:1px solid var(--borda); }
.artigo-autor img{ width:54px; height:54px; border-radius:50%; flex:0 0 auto; }
.artigo-autor .au-nome{ font-weight:700; color:var(--marinho); font-size:1.05rem; margin:0; }
.artigo-autor .au-meta{ color:var(--texto-suave); font-size:.92rem; margin:0; }

/* Parágrafo de introdução em destaque */
.artigo-corpo .intro{ font-size:1.32rem; line-height:1.6; color:var(--marinho); font-family:var(--serif); font-weight:500; }

/* Caixa de destaque dentro do texto */
.artigo-box{ background:var(--offwhite); border-left:4px solid var(--areia-escuro); border-radius:8px; padding:20px 24px; margin:30px 0; }
.artigo-box .box-titulo{ display:flex; align-items:center; gap:9px; font-family:var(--sans); font-weight:700; font-size:.82rem; letter-spacing:1.5px; text-transform:uppercase; color:var(--areia-escuro); margin:0 0 .5em; }
.artigo-box p{ margin:0; font-size:1.05rem; }
.artigo-box svg{ width:18px; height:18px; flex:0 0 auto; }
.artigo-cta-box{ background:var(--offwhite); border:1px solid var(--borda); border-left:4px solid var(--areia-escuro); border-radius:8px; padding:28px 30px; margin:38px 0 10px; }
.artigo-cta-box h3{ margin:0 0 .4em; font-size:1.4rem; }
.artigo-cta-box p{ margin:0 0 18px; color:var(--texto-suave); font-size:1.05rem; }

/* Autor no card da lista de artigos */
.card-autor{ display:flex; align-items:center; gap:9px; margin-top:16px; padding-top:14px; border-top:1px solid var(--borda); }
.card-autor img{ width:34px; height:34px; border-radius:50%; flex:0 0 auto; }
.card-autor span{ font-size:.85rem; color:var(--texto-suave); }
.card-autor strong{ color:var(--marinho); font-weight:600; }

/* ---- Card de artigo no estilo "blog" (imagem topo + autor sobreposto) ---- */
.artigos-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.post-card{ background:#fff; border:1px solid var(--borda); border-radius:12px; overflow:hidden; display:flex; flex-direction:column; transition:transform .18s ease, box-shadow .18s ease; box-shadow:var(--shadow-soft); color:inherit; text-decoration:none; }
.post-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow); }
.post-card:hover .post-link{ color:var(--marinho); }
.post-capa{ position:relative; height:200px; background:linear-gradient(135deg,#1b3151 0%,var(--marinho) 60%,var(--marinho-fundo) 100%); overflow:hidden; border-radius:12px 12px 0 0; }
.post-capa > img:first-child{ width:100%; height:100%; object-fit:cover; object-position:center 65%; display:block; }
/* Ajuste fino de enquadramento por card (quanto maior o %, mais para baixo o foco) */
.post-capa.foco-10 > img:first-child{ object-position:center 10%; }
.post-capa.foco-20 > img:first-child{ object-position:center 20%; }
.post-capa.foco-30 > img:first-child{ object-position:center 30%; }
.post-capa.foco-35 > img:first-child{ object-position:center 35%; }
.post-capa.foco-40 > img:first-child{ object-position:center 40%; }
.post-capa.foco-50 > img:first-child{ object-position:center 50%; }
.post-capa.foco-60 > img:first-child{ object-position:center 60%; }
.post-capa.foco-70 > img:first-child{ object-position:center 70%; }
.post-capa.foco-80 > img:first-child{ object-position:center 80%; }
.post-capa.foco-90 > img:first-child{ object-position:center 90%; }
.post-capa.foco-100 > img:first-child{ object-position:center bottom; }
.post-capa .placeholder-simbolo{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.post-capa .placeholder-simbolo img{ width:70px; height:auto; opacity:.5; object-fit:contain; }
.post-cat{ position:absolute; top:14px; right:14px; background:var(--marinho); color:var(--offwhite); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; padding:7px 14px; border-radius:50px; }
.post-foto-autor{ position:absolute; left:24px; top:-28px; z-index:3; width:56px; height:56px; border-radius:50%; border:3px solid #fff; background:var(--marinho); object-fit:cover; box-shadow:var(--shadow-soft); }
.post-corpo{ position:relative; padding:42px 24px 26px; display:flex; flex-direction:column; flex:1; }
.post-corpo h3{ font-size:1.4rem; line-height:1.2; margin:0 0 .5em; }
.post-corpo p{ color:var(--texto-suave); font-size:1rem; margin:0 0 1.2em; flex:1; }
.post-link{ font-weight:700; color:var(--areia-escuro); font-size:.95rem; }
.post-link:hover{ color:var(--marinho); }

@media (max-width:900px){ .artigos-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:680px){ .artigos-grid{ grid-template-columns:1fr; } }
.artigo-aviso{ font-size:.9rem; color:var(--texto-suave); border-top:1px solid var(--borda); margin-top:40px; padding-top:20px; }
.leia-tambem{ max-width:720px; margin:44px auto 0; padding-top:28px; border-top:2px solid var(--areia); }
.leia-tambem h2{ font-size:1.4rem; margin:0 0 .6em; }
.leia-tambem ul{ list-style:none; margin:0; padding:0; }
.leia-tambem li{ padding:10px 0; border-bottom:1px solid var(--borda); }
.leia-tambem a{ color:var(--marinho); font-weight:600; font-size:1.05rem; }
.leia-tambem a:hover{ color:var(--areia-escuro); text-decoration:underline; }

/* -------------------- RODAPÉ -------------------- */
.site-footer{ background:var(--marinho-fundo); color:var(--offwhite); }
.footer-inner{ display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:48px; padding:64px 28px 44px; }
.footer-brand p{ color:#bcc4d0; max-width:36ch; font-size:1rem; }
.footer-col h4{ color:#fff; font-family:var(--sans); font-size:.85rem; text-transform:uppercase; letter-spacing:1.5px; margin-bottom:16px; }
.footer-col a{ display:block; color:#cdd4df; padding:5px 0; transition:color .2s; }
.footer-col a:hover{ color:var(--areia); }
.footer-muted{ display:block; color:#8b95a4; padding:5px 0; font-size:.95rem; }
.footer-legal{ border-top:1px solid rgba(174,180,189,.16); padding:26px 0; }
.footer-legal p{ color:#9aa3b1; font-size:.86rem; line-height:1.6; margin:0 0 8px; }
.footer-legal strong{ color:#cdd4df; }
.copyright{ color:#7a8290 !important; }
/* Redes sociais no rodapé */
.footer-social{ display:flex; gap:12px; margin-top:6px; }
.footer-social a{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:rgba(244,241,234,.08); color:#cdd4df; transition:background .2s, color .2s, transform .15s; }
.footer-social a:hover{ background:var(--areia); color:var(--marinho); transform:translateY(-2px); }
.footer-social svg{ width:19px; height:19px; }

/* -------------------- WHATSAPP FLUTUANTE -------------------- */
.whatsapp-float{ position:fixed; right:22px; bottom:22px; z-index:120; display:inline-flex; align-items:center; gap:10px; background:#1F6B4A; color:#fff; padding:14px 20px 14px 16px; border-radius:50px; box-shadow:0 8px 24px rgba(31,107,74,.35); font-weight:600; font-size:1rem; transition:transform .18s ease,background .2s; }
.whatsapp-float:hover{ background:#185539; transform:translateY(-3px); }
.whatsapp-float svg{ flex:0 0 auto; }

/* -------------------- RESPONSIVO -------------------- */
@media (max-width:980px){
  .hero-inner{ grid-template-columns:1fr; gap:36px; text-align:center; }
  .hero-lead{ max-width:none; margin-left:auto; margin-right:auto; }
  .hero-actions{ justify-content:center; }
  .hero-reassure{ justify-content:center; }
  .hero-symbol{ order:-1; } .hero-symbol img{ width:160px; }
  .dores{ grid-template-columns:repeat(2,1fr); }
  .cards{ grid-template-columns:repeat(2,1fr); }
  .steps{ grid-template-columns:repeat(2,1fr); gap:32px; }
  .difs{ grid-template-columns:1fr; }
  .adv-inner{ grid-template-columns:1fr; gap:34px; }
  .adv-media{ order:-1; } .adv-media img{ width:55%; }
  .esc-inner{ grid-template-columns:1fr; gap:32px; }
  .esc-media{ position:static; order:-1; } .esc-media img{ width:55%; }
  .depo-grid{ grid-template-columns:1fr; }
  .contato-inner{ grid-template-columns:1fr; gap:38px; }
  .footer-inner{ grid-template-columns:1fr 1fr; }
}
@media (max-width:680px){
  body{ font-size:17px; } .section{ padding:58px 0; } .container{ padding:0 20px; }
  .menu-toggle{ display:flex; }
  .main-nav{ position:absolute; top:92px; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:var(--marinho); padding:8px 0 16px; border-bottom:1px solid rgba(174,180,189,.18); max-height:0; overflow:hidden; transition:max-height .3s ease; visibility:hidden; }
  .main-nav.open{ max-height:460px; visibility:visible; }
  .main-nav a{ padding:14px 28px; border-top:1px solid rgba(174,180,189,.1); }
  .nav-cta{ margin:12px 28px 0; text-align:center; padding:13px !important; }
  .dores{ grid-template-columns:1fr; }
  .cards{ grid-template-columns:1fr; } .steps{ grid-template-columns:1fr; }
  .footer-inner{ grid-template-columns:1fr; gap:32px; padding:48px 20px 36px; }
  .contato-form-wrap{ padding:28px 22px; }
  .hero-actions .btn{ width:100%; }
  .whatsapp-float span{ display:none; } .whatsapp-float{ padding:16px; }
}
