:root {
  --navy: #0b1728;
  --navy-2: #11243c;
  --slate: #526071;
  --light: #f4f7fa;
  --line: #dce3ea;
  --white: #ffffff;
  --accent: #2d6cdf;
  --accent-dark: #1f55b8;
  --max: 1160px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--navy); background: var(--white); line-height: 1.65;
}
a { color: inherit; }
.container { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
.site-header {
  position: sticky; top: 0; z-index: 10; background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--line); backdrop-filter: blur(10px);
}
.nav { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { text-decoration: none; font-weight: 800; letter-spacing: .03em; }
.brand small { display:block; font-weight:600; font-size:.67rem; letter-spacing:.16em; color:var(--slate); }
.nav-links { display:flex; align-items:center; gap:24px; }
.nav-links a { text-decoration:none; font-weight:650; font-size:.95rem; }
.menu-btn { display:none; border:1px solid var(--line); background:white; padding:8px 12px; border-radius:8px; }
.btn {
  display:inline-block; padding:12px 18px; border-radius:8px; background:var(--accent); color:white;
  text-decoration:none; font-weight:750; border:1px solid var(--accent);
}
.btn:hover { background:var(--accent-dark); }
.btn.secondary { background:transparent; color:var(--navy); border-color:#aeb9c5; }
.hero { padding: 96px 0 86px; background: linear-gradient(135deg, var(--navy), var(--navy-2)); color:white; }
.eyebrow { text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; font-weight:800; opacity:.8; }
h1 { font-size:clamp(2.5rem, 6vw, 4.9rem); line-height:1.02; letter-spacing:-.04em; max-width:900px; margin:.35em 0 .3em; }
h2 { font-size:clamp(1.9rem, 4vw, 3rem); line-height:1.12; letter-spacing:-.025em; margin:.25em 0 .55em; }
h3 { line-height:1.25; margin-bottom:.35em; }
.hero p { max-width:820px; font-size:1.18rem; color:#d9e2ec; }
.actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.hero .secondary { color:white; border-color:#708199; }
.hero-note { margin-top:30px; font-size:.93rem !important; color:#aebccd !important; }
section { padding:78px 0; }
.alt { background:var(--light); }
.lead { max-width:850px; font-size:1.1rem; color:#344457; }
.grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:34px; }
.card { padding:26px; border:1px solid var(--line); border-radius:12px; background:white; }
.card p { color:var(--slate); }
.steps { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:34px; }
.step { padding:24px; border-left:4px solid var(--accent); background:white; box-shadow:0 8px 30px rgba(11,23,40,.05); }
.step .num { font-weight:900; color:var(--accent); letter-spacing:.08em; }
.checks { columns:2; column-gap:44px; padding-left:20px; }
.checks li { break-inside:avoid; margin-bottom:10px; }
.status-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:30px; }
.status { padding:24px; border:1px solid var(--line); border-radius:12px; }
.quote { margin:38px 0 0; padding:24px 28px; border-left:4px solid var(--accent); background:var(--light); font-size:1.18rem; font-weight:700; }
.proof { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:32px; }
.proof strong { display:block; font-size:1.45rem; margin-bottom:7px; }
.bio { display:grid; grid-template-columns:1fr 2fr; gap:40px; align-items:start; }
.photo-placeholder {
  aspect-ratio:4/5; display:grid; place-items:center; text-align:center; padding:20px;
  background:var(--light); border:1px dashed #9aa8b7; border-radius:12px; color:var(--slate);
}
.cta { background:var(--navy); color:white; text-align:center; }
.cta p { color:#c8d3df; max-width:760px; margin-left:auto; margin-right:auto; }
footer { padding:30px 0; background:#07101d; color:#b9c5d2; font-size:.9rem; }
.footer-row { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.page-hero { padding:72px 0; background:var(--navy); color:white; }
.narrow { max-width:820px; }
form { display:grid; gap:14px; max-width:720px; }
label { font-weight:700; }
input, textarea { width:100%; padding:12px; border:1px solid #b9c4cf; border-radius:7px; font:inherit; }
.note { color:var(--slate); font-size:.92rem; }
@media (max-width: 820px) {
  .grid,.status-grid,.proof,.steps,.bio { grid-template-columns:1fr; }
  .checks { columns:1; }
  .menu-btn { display:block; }
  .nav-links { display:none; position:absolute; top:74px; left:0; right:0; padding:20px; background:white; border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; }
  .nav-links.open { display:flex; }
  .hero { padding-top:72px; }
}
/* =========================================
   SERVICES PAGE — BALANCED 2 × 2 GRID
   ========================================= */

.services-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Mobile: stack cards vertically */
@media (max-width: 768px) {
  .services-grid {
    grid-template-columns: 1fr;
  }
}
