:root{
  --navy:#0B2A4A;
  --navy-2:#13426F;
  --orange:#F57C00;
  --bg:#F5F7FB;
  --text:#0F1E2E;
  --muted:#5D6B7A;
  --card:#ffffff;
  --border:#E3E9F2;
  --shadow: 0 14px 32px rgba(11,42,74,.10);
  --radius: 14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color:var(--text);
  background:var(--bg);
  line-height:1.5;
}
a{color:inherit}
.container{width:min(1100px, calc(100% - 40px)); margin:0 auto}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  padding:12px 18px;
  border-radius:10px;
  border:1px solid transparent;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.2px;
  cursor:pointer;
}
.btn-primary{background:var(--orange); color:#fff}
.btn-primary:hover{filter:brightness(.95)}
.btn-ghost{background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.35); color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.18)}
.badge{
  display:inline-flex; align-items:center; gap:8px;
  font-weight:700;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--border);
}
header{
  position:sticky; top:0; z-index:50;
  background:linear-gradient(0deg, rgba(11,42,74,.96), rgba(11,42,74,.96));
  backdrop-filter:saturate(130%) blur(8px);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.navbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none}
.brand img{height:48px; width:auto; display:block}
.navlinks{display:flex; align-items:center; gap:18px}
.navlinks a{
  color:rgba(255,255,255,.88);
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  padding:8px 10px;
  border-radius:10px;
}
.navlinks a:hover{background:rgba(255,255,255,.10)}
.nav-cta{display:flex; align-items:center; gap:10px}

.hero{
  background-position: center 35%;
  position:relative;
  background: url("../img/hero-lawyer.jpg") center center/cover no-repeat;
  min-height:560px;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(11,42,74,.18) 0%, rgba(11,42,74,.10) 48%, rgba(11,42,74,.06) 100%);
}
.hero .container{position:relative; z-index:1; padding:64px 0}
.hero h1{
  color:#fff;
  font-size:54px;
  line-height:1.05;
  margin:0 0 14px 0;
  letter-spacing:-.8px;
}
.hero p{
  color:rgba(255,255,255,.90);
  font-size:18px;
  margin:0 0 22px 0;
  max-width:520px;
}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap}
.hero-meta{margin-top:18px; display:flex; gap:12px; flex-wrap:wrap}
.hero-meta .badge{background:rgba(255,255,255,.92)}
.section{padding:64px 0}
.section-title{
  text-align:center;
  margin-bottom:22px;
}
.section-title h2{margin:0; font-size:30px; letter-spacing:-.4px}
.section-title .rule{
  width:260px; height:2px; background:var(--border); margin:14px auto 0;
}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:22px;
}
.icon{
  width:56px; height:56px; border-radius:999px;
  display:grid; place-items:center;
  background:var(--orange);
  color:#fff;
  margin-bottom:12px;
}
.card h3{margin:0 0 8px 0; font-size:18px}
.card p{margin:0; color:var(--muted)}
.step-row{align-items:stretch}
.step-card{position:relative}
.step-card::after{
  content:"";
  position:absolute;
  right:-10px; top:50%;
  width:20px; height:2px;
  background:var(--border);
  transform:translateY(-50%);
}
.step-card:last-child::after{display:none}

.tile{
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  background:linear-gradient(180deg, #ffffff 0%, #f3f6fb 100%);
}
.tile-top{
  height:120px;
  background:linear-gradient(135deg, rgba(245,124,0,.16), rgba(19,66,111,.10));
  display:flex; align-items:center; justify-content:center;
}
.tile-top svg{width:58px; height:58px}
.tile-label{
  background:var(--navy);
  color:#fff;
  text-align:center;
  padding:12px 10px;
  font-weight:900;
}
.faq-strip{
  background:var(--navy);
  color:#fff;
  padding:56px 0;
}
.faq-strip h2{text-align:center; margin:0 0 18px 0}
.faq-list{max-width:980px; margin:0 auto; display:grid; gap:12px}
.faq-item{
  background:#fff;
  color:var(--navy);
  border-radius:12px;
  padding:14px 16px;
  text-decoration:none;
  font-weight:900;
  border:1px solid rgba(255,255,255,.35);
}
.faq-item:hover{transform:translateY(-1px)}
.faq-cta{display:flex; justify-content:flex-end; margin-top:14px}

.page-hero{
  background:linear-gradient(135deg, rgba(11,42,74,1) 0%, rgba(19,66,111,1) 60%, rgba(245,124,0,.45) 100%);
  color:#fff;
  padding:46px 0;
}
.page-hero h1{margin:0; font-size:34px}
.page-hero p{margin:8px 0 0 0; color:rgba(255,255,255,.85)}

form{display:grid; gap:12px}
label{font-weight:800; font-size:13px}
input, select, textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  font:inherit;
}
textarea{min-height:120px; resize:vertical}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.help{color:var(--muted); font-size:13px}
.checkbox{
  display:flex; gap:10px; align-items:flex-start;
  padding:14px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
}
.checkbox input{width:18px; height:18px; margin-top:2px}
.checkbox strong{display:block; margin-bottom:2px}
.links-under-form{font-size:13px; color:var(--muted)}
.links-under-form a{color:var(--navy); font-weight:900}

footer{
  background:#061B31;
  color:rgba(255,255,255,.86);
  padding:36px 0;
  margin-top:40px;
}
.footer-grid{
  display:grid; grid-template-columns:1.2fr .8fr; gap:20px;
  align-items:start;
}
.footer-brand img{height:42px}
.footer-meta{margin-top:10px; display:grid; gap:6px; font-weight:700}
.footer-links{display:grid; gap:10px}
.footer-links a{color:rgba(255,255,255,.86); text-decoration:none; font-weight:900}
.footer-links a:hover{color:#fff}

@media (max-width: 900px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .hero h1{font-size:42px}
  .navlinks{display:none}
}

area{cursor:pointer;}
