:root {
  --navy: #0b2743;
  --navy-2: #153b5c;
  --gold: #c49a3a;
  --cream: #f7f2e8;
  --paper: #fffdf8;
  --ink: #1e2a35;
  --muted: #5f6a73;
  --line: rgba(11, 39, 67, 0.15);
  --shadow: 0 18px 50px rgba(11, 39, 67, 0.12);
  --radius: 22px;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Inter", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  line-height: 1.65;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
.container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.section { padding: 96px 0; }
.section-tint { background: var(--cream); }

.skip-link {
  position: fixed; top: 10px; left: 10px; z-index: 1000;
  padding: 10px 14px; background: white; transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,253,248,.94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}
.nav-wrap { min-height: 78px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { text-decoration:none; display:flex; align-items:center; gap:11px; color:var(--navy); font-weight:700; }
.brand-mark { color:var(--gold); font-size:1.4rem; }
.primary-nav { display:flex; align-items:center; gap:28px; }
.primary-nav a { text-decoration:none; font-weight:600; font-size:.94rem; }
.primary-nav a:hover { color:var(--gold); }

.menu-button { display:none; border:0; background:transparent; padding:10px; }
.menu-button span:not(.sr-only) { width:25px; height:2px; display:block; margin:5px; background:var(--navy); }

.hero {
  position:relative; overflow:hidden; padding: 88px 0 100px;
  background:
    radial-gradient(circle at 85% 10%, rgba(196,154,58,.12), transparent 30%),
    linear-gradient(145deg, var(--paper), var(--cream));
}
.hero-grid { display:grid; grid-template-columns: 1.08fr .92fr; align-items:center; gap:64px; }
.eyebrow {
  margin:0 0 16px; color:var(--gold); text-transform:uppercase;
  font-size:.78rem; font-weight:700; letter-spacing:.17em;
}
h1,h2,h3 { color:var(--navy); font-family:var(--serif); line-height:1.02; margin-top:0; }
h1 { font-size:clamp(3rem, 6.2vw, 5.6rem); letter-spacing:-.045em; margin-bottom:24px; }
h2 { font-size:clamp(2.4rem, 4.5vw, 4rem); letter-spacing:-.035em; margin-bottom:24px; }
h3 { font-size:2rem; margin-bottom:12px; }
.hero-text { max-width:650px; font-size:1.14rem; color:var(--muted); }
.hero-actions { display:flex; align-items:center; gap:24px; margin-top:34px; flex-wrap:wrap; }
.button {
  display:inline-flex; justify-content:center; align-items:center;
  background:var(--navy); color:white; text-decoration:none; font-weight:700;
  padding:14px 21px; border-radius:999px; transition:.2s ease;
}
.button:hover { transform:translateY(-2px); background:var(--navy-2); }
.button-small { padding:10px 17px; }
.text-link { color:var(--navy); font-weight:700; text-decoration:none; }
.text-link:hover { color:var(--gold); }

.hero-logo-card {
  background:rgba(255,255,255,.72); border:1px solid rgba(196,154,58,.28);
  padding:20px; border-radius:32px; box-shadow:var(--shadow);
}
.hero-logo-card img { border-radius:20px; }

.trust-strip { background:var(--navy); color:white; padding:34px 0; }
.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.trust-grid div { display:grid; gap:4px; padding-left:18px; border-left:2px solid var(--gold); }
.trust-grid strong { font-family:var(--serif); font-size:1.4rem; }
.trust-grid span { color:rgba(255,255,255,.72); font-size:.88rem; }

.split { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:start; }
.prose { font-size:1.08rem; color:var(--muted); }
.prose p:first-child { margin-top:0; }

.cards { margin-top:42px; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.card {
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius);
  padding:32px; box-shadow:0 8px 30px rgba(11,39,67,.06);
}
.card-number { color:var(--gold); font-size:.78rem; font-weight:700; letter-spacing:.15em; }
.card p { color:var(--muted); }
.card ul { padding-left:18px; margin-bottom:0; }
.card li { margin:8px 0; }

.leader-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:28px; margin-top:42px; }
.leader {
  display:grid; grid-template-columns:110px 1fr; gap:24px;
  border-top:1px solid var(--line); padding-top:28px;
}
.portrait-placeholder {
  width:110px; height:110px; border-radius:50%; display:grid; place-items:center;
  background:var(--navy); color:var(--gold); font-family:var(--serif); font-size:2rem;
}
.leader h3 { margin-bottom:4px; font-size:1.75rem; }
.role { color:var(--gold); font-weight:700; margin-top:0; }
.leader p:last-child { color:var(--muted); }

.cta-section { padding:30px 0 0; }
.cta-box {
  background:var(--navy); color:white; border-radius:30px; padding:50px;
  display:flex; justify-content:space-between; align-items:center; gap:30px;
}
.cta-box h2 { color:white; margin-bottom:10px; }
.cta-box p { margin-bottom:0; color:rgba(255,255,255,.75); }
.eyebrow-light { color:#e0bc68 !important; }
.button-light { background:white; color:var(--navy); white-space:nowrap; }
.button-light:hover { background:var(--cream); }

.contact-card { border-left:3px solid var(--gold); padding-left:28px; }
.contact-card a { color:var(--navy); font-weight:700; }
.contact-note { color:var(--muted); }

.site-footer { border-top:1px solid var(--line); padding:28px 0; color:var(--muted); font-size:.86rem; }
.footer-wrap { display:flex; justify-content:space-between; gap:20px; }

@media (max-width: 850px) {
  .hero-grid, .split, .cards, .leader-grid, .trust-grid { grid-template-columns:1fr; }
  .hero { padding-top:62px; }
  .hero-logo-card { max-width:560px; }
  .split { gap:24px; }
  .cards { gap:16px; }
  .cta-box { align-items:flex-start; flex-direction:column; }
  .primary-nav {
    display:none; position:absolute; top:78px; left:0; right:0;
    background:var(--paper); padding:22px 20px 28px; border-bottom:1px solid var(--line);
    flex-direction:column; align-items:flex-start;
  }
  .primary-nav.open { display:flex; }
  .menu-button { display:block; }
}

@media (max-width: 560px) {
  .container { width:min(100% - 28px, 1160px); }
  .section { padding:72px 0; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .leader { grid-template-columns:1fr; }
  .cta-box { padding:34px 24px; border-radius:22px; }
  .footer-wrap { flex-direction:column; }
}
