:root{
  --navy: #0B2A4D;
  --navy-2: #123A66;
  --blue: #2E6FB0;
  --blue-light: #6FA8DC;
  --gray: #7A8699;
  --gray-line: #D8DEE6;
  --bg: #F6F8FB;
  --white: #FFFFFF;
  --ink: #101820;
  --radius: 4px;
  --maxw: 1140px;
  --serif: 'IBM Plex Serif', Georgia, serif;
  --sans: 'IBM Plex Sans', -apple-system, Segoe UI, sans-serif;
  --mono: 'IBM Plex Mono', 'Courier New', monospace;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{overflow-x:hidden;}
body{
  font-family:var(--sans); color:var(--ink); background:var(--bg);
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
img,svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
:focus-visible{outline:2px solid var(--blue-light); outline-offset:3px;}

/* header */
header.site{
  position:sticky; top:0; z-index:50;
  background:rgba(246,248,251,0.94); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--gray-line);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 32px; max-width:var(--maxw); margin:0 auto;
}
.logo{display:flex; align-items:center; gap:10px;}
.logo-text{display:flex; flex-direction:column; line-height:1.1;}
.logo-word{font-family:var(--serif); font-weight:600; font-size:1.55rem; color:var(--navy); letter-spacing:0.02em;}
.logo-sub{font-family:var(--mono); font-size:0.7rem; letter-spacing:0.12em; color:var(--gray); text-transform:uppercase; margin-top:2px;}
.header-actions{display:flex; align-items:center; gap:20px;}
.back-link{font-size:0.88rem; font-weight:500; color:var(--navy); border-bottom:1px solid transparent; padding-bottom:2px;}
.back-link:hover{border-color:var(--blue-light);}
.cta-btn{
  display:inline-flex; align-items:center; gap:8px; background:var(--navy); color:var(--white);
  padding:10px 20px; border-radius:var(--radius); font-size:0.88rem; font-weight:600;
  transition:background 0.2s; border:1px solid var(--navy);
}
.cta-btn:hover{background:var(--blue);}
.cta-btn.ghost{background:transparent; color:var(--navy); border:1px solid var(--navy);}
.cta-btn.ghost:hover{background:var(--navy); color:var(--white);}
.cta-btn.highlight{background:var(--blue); color:var(--white); border:1px solid var(--blue);}
.cta-btn.highlight:hover{background:var(--navy); border-color:var(--navy);}

/* nav */
nav.main-nav ul{display:flex; gap:28px; align-items:center;}
nav.main-nav a{
  font-size:0.92rem; font-weight:500; color:var(--navy);
  padding:6px 2px; border-bottom:2px solid transparent; transition:border-color 0.2s;
}
nav.main-nav a:hover{border-color:var(--blue-light);}
.has-dropdown{position:relative;}
.nav-drop-toggle{
  display:flex; align-items:center; gap:6px;
  font-family:var(--sans); font-size:0.92rem; font-weight:500; color:var(--navy);
  background:none; border:none; cursor:pointer; padding:6px 2px;
  border-bottom:2px solid transparent; transition:border-color 0.2s;
}
.nav-drop-toggle svg{transition:transform 0.2s; color:var(--blue-light);}
.has-dropdown:hover .nav-drop-toggle, .nav-drop-toggle[aria-expanded="true"]{border-color:var(--blue-light);}
.nav-drop-toggle[aria-expanded="true"] svg{transform:rotate(180deg);}
.dropdown-panel{
  position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%);
  background:var(--white); border:1px solid var(--gray-line); border-radius:8px;
  box-shadow:0 24px 48px -20px rgba(11,42,77,0.25);
  padding:20px 22px; min-width:240px;
  display:flex; flex-direction:column; gap:4px;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity 0.18s ease, transform 0.18s ease;
  transform:translateX(-50%) translateY(-6px);
  z-index:70;
}
.dropdown-panel.open{opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);}
.dropdown-title{
  font-family:var(--mono); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--blue); margin-bottom:8px;
}
.dropdown-panel a{
  font-size:0.9rem; color:var(--ink); padding:8px 4px; border-bottom:1px solid var(--gray-line); border-radius:0;
}
.dropdown-panel a:last-child{border-bottom:none;}
.dropdown-panel a:hover{color:var(--blue); border-bottom-color:var(--gray-line);}
.nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:8px;}
.nav-toggle span{display:block; width:24px; height:2px; background:var(--navy); margin:5px 0;}

/* page hero */
.page-hero{padding:56px 0 24px;}
.eyebrow{
  font-family:var(--mono); font-size:0.78rem; letter-spacing:0.12em; color:var(--blue);
  text-transform:uppercase; margin-bottom:16px; display:flex; align-items:center; gap:10px;
}
.eyebrow::before{content:''; width:22px; height:2px; background:var(--blue-light); display:inline-block;}
.page-hero h1{
  font-family:var(--serif); font-weight:600; font-size:clamp(1.9rem, 3.6vw, 2.6rem);
  color:var(--navy); line-height:1.18; margin-bottom:18px; max-width:680px;
}
.page-hero .lead{font-size:1.04rem; color:var(--gray); max-width:640px; text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto;}

/* content grid */
.service-content{padding:24px 0 88px;}
.content-grid{display:grid; grid-template-columns:1fr; gap:40px; align-items:start; max-width:880px; margin:0 auto;}
.info-block h2{
  font-family:var(--serif); font-weight:600; font-size:1.3rem; color:var(--navy); margin:28px 0 12px;
}
.info-block h2:first-child{margin-top:0;}
.info-block p{color:var(--ink); margin-bottom:14px; text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto;}
.info-block ul{margin:14px 0 20px;}
.info-block li{
  position:relative; padding-left:22px; margin-bottom:10px; color:var(--ink); font-size:0.98rem;
  text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto;
}
.info-block li::before{
  content:''; position:absolute; left:0; top:9px; width:8px; height:8px;
  background:var(--blue-light); border-radius:50%;
}
.info-note{
  margin-top:24px; padding:16px 18px; background:var(--white); border:1px solid var(--gray-line);
  border-left:3px solid var(--blue-light); border-radius:4px; font-size:0.9rem; color:var(--gray);
  text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto;
}

/* form card */
.form-card{
  background:var(--white); border:1px solid var(--gray-line); border-radius:8px;
  padding:32px; box-shadow:0 24px 48px -28px rgba(11,42,77,0.18);
}
.form-card h3{font-family:var(--serif); font-weight:600; font-size:1.2rem; color:var(--navy); margin-bottom:6px;}
.form-card .form-sub{font-size:0.88rem; color:var(--gray); margin-bottom:24px;}
.field{margin-bottom:18px;}
.field label{
  display:block; font-size:0.86rem; font-weight:600; color:var(--navy); margin-bottom:6px;
}
.field input, .field select{
  width:100%; padding:11px 12px; border:1px solid var(--gray-line); border-radius:4px;
  font-family:var(--sans); font-size:0.92rem; color:var(--ink); background:var(--white);
}
.field input:focus, .field select:focus{border-color:var(--blue-light);}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.radio-group{display:flex; gap:20px; margin-top:6px;}
.radio-option{display:flex; align-items:center; gap:8px; font-size:0.92rem; color:var(--ink);}
.radio-option input{width:auto;}
.submit-btn{
  width:100%; margin-top:8px; padding:14px; border:none; border-radius:4px;
  background:var(--navy); color:var(--white); font-size:0.95rem; font-weight:700;
  letter-spacing:0.02em; cursor:pointer; transition:background 0.2s;
}
.submit-btn:hover{background:var(--blue);}
.form-legal{margin-top:14px; font-size:0.78rem; color:var(--gray);}
.form-success{
  display:none; margin-top:16px; padding:12px 14px; background:#EAF6EE; border:1px solid #BFE3CB;
  border-radius:4px; font-size:0.88rem; color:#1F6B39;
}
.form-success.show{display:block;}

/* related services */
.related{background:var(--white); border-top:1px solid var(--gray-line); padding:56px 0;}
.related h3{font-family:var(--serif); font-weight:600; color:var(--navy); font-size:1.15rem; margin-bottom:20px;}
.related-list{display:flex; flex-wrap:wrap; gap:12px;}
.related-list a{
  font-size:0.88rem; font-weight:500; color:var(--navy); background:var(--bg);
  border:1px solid var(--gray-line); border-radius:24px; padding:9px 18px; transition:border-color 0.2s, color 0.2s;
}
.related-list a:hover{border-color:var(--blue-light); color:var(--blue);}
.related-list a.current{background:var(--navy); color:var(--white); border-color:var(--navy);}

/* footer */
footer.site{background:#081F38; color:#8FA5C0; padding:40px 0;}
.footer-inner{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; font-size:0.82rem;
}
.footer-inner .logo-word{color:#DCE7F3;}

/* wa float */
.wa-float{
  position:fixed; bottom:24px; right:24px; z-index:60;
  background:#25D366; color:#fff; width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 24px -6px rgba(0,0,0,0.4); transition:transform 0.2s;
}
.wa-float:hover{transform:scale(1.08);}

/* ---------- Pricing plans ---------- */
.plans-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; margin:40px 0 32px;}
.plan-card{
  background:var(--white); border:1px solid var(--gray-line); border-radius:8px;
  padding:32px 28px; display:flex; flex-direction:column;
  transition:transform 0.2s, box-shadow 0.2s;
}
.plan-card:hover{transform:translateY(-4px); box-shadow:0 20px 40px -24px rgba(11,42,77,0.25);}
.plan-card.featured{border-color:var(--blue); box-shadow:0 20px 40px -24px rgba(11,42,77,0.3); position:relative;}
.plan-card.featured::before{
  content:'Mais escolhido'; position:absolute; top:-13px; left:28px;
  background:var(--blue); color:#fff; font-family:var(--mono); font-size:0.66rem;
  letter-spacing:0.06em; text-transform:uppercase; padding:5px 12px; border-radius:20px;
}
.plan-name{font-family:var(--serif); font-weight:600; font-size:1.25rem; color:var(--navy); margin-bottom:6px;}
.plan-price{margin-bottom:20px;}
.plan-price .value{font-family:var(--serif); font-weight:600; font-size:2rem; color:var(--navy);}
.plan-price .period{font-size:0.86rem; color:var(--gray);}
.plan-features{flex:1; margin-bottom:24px;}
.plan-features li{
  position:relative; padding-left:24px; margin-bottom:12px; font-size:0.92rem; color:var(--ink);
  text-align:left;
}
.plan-features li::before{
  content:'✓'; position:absolute; left:0; top:0; color:var(--blue); font-weight:700; font-size:0.9rem;
}
.plan-btn{
  display:block; text-align:center; padding:13px; border-radius:4px;
  background:var(--navy); color:#fff; font-weight:600; font-size:0.9rem;
  border:1px solid var(--navy); transition:background 0.2s;
}
.plan-btn:hover{background:var(--blue);}
.plans-note{
  margin-top:8px; padding:16px 18px; background:var(--bg); border:1px solid var(--gray-line);
  border-left:3px solid var(--blue-light); border-radius:4px; font-size:0.88rem; color:var(--gray);
  text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto;
}

/* ---------- Judicial calc cards ---------- */
.judicial-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:24px; margin:40px 0;}
.judicial-card{
  background:var(--white); border:1px solid var(--gray-line); border-radius:8px;
  padding:30px; display:flex; flex-direction:column;
}
.judicial-card .jc-icon{
  width:40px; height:40px; border-radius:50%; background:#EAF0F7;
  display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.judicial-card h3{font-family:var(--serif); font-weight:600; font-size:1.15rem; color:var(--navy); margin-bottom:10px;}
.judicial-card p{color:var(--gray); font-size:0.94rem; flex:1; margin-bottom:20px; text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto;}
.judicial-card .plan-btn{align-self:flex-start; padding:11px 24px;}

@media (max-width: 880px){
  .plans-grid{grid-template-columns:1fr;}
  .judicial-grid{grid-template-columns:1fr;}
}

@media (max-width: 880px){
  .content-grid{grid-template-columns:1fr;}
  nav.main-nav{
    position:fixed; top:65px; left:0; right:0; background:var(--white);
    border-bottom:1px solid var(--gray-line); padding:20px 32px;
    display:none; flex-direction:column; max-height:calc(100vh - 65px); overflow-y:auto;
  }
  nav.main-nav.open{display:flex;}
  nav.main-nav ul{flex-direction:column; align-items:flex-start; gap:16px; width:100%;}
  .nav-toggle{display:block;}
  .header-inner > .cta-btn.ghost{display:none;}
  .has-dropdown{width:100%;}
  .nav-drop-toggle{width:100%; justify-content:space-between;}
  .dropdown-panel{
    position:static; transform:none; box-shadow:none; border:none;
    background:var(--bg); margin-top:8px; width:100%; min-width:0;
    max-height:0; padding:0 4px; opacity:1; visibility:visible; overflow:hidden;
    transition:max-height 0.25s ease, padding 0.25s ease;
  }
  .dropdown-panel.open{max-height:400px; padding:14px 16px; transform:none;}
}
@media (max-width: 560px){
  .wrap{padding:0 20px;}
  .header-inner{padding:14px 20px;}
  .field-row{grid-template-columns:1fr;}
  .page-hero{padding:40px 0 16px;}
  .service-content{padding:16px 0 64px;}
}
