:root {
  --blue-950: #062a4f;
  --blue-900: #0a3868;
  --blue-800: #124f88;
  --blue-700: #1b67a4;
  --sky-500: #47a2d9;
  --gold-500: #f4c928;
  --gold-300: #f9dd68;
  --green-600: #568f4d;
  --ink-950: #102033;
  --ink-700: #46566a;
  --ink-600: #617084;
  --surface: #ffffff;
  --surface-soft: #f5f8fc;
  --line: #dbe4ee;
  --shadow: 0 24px 70px rgba(4, 37, 70, .12);
  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 12px;
  --container: 1180px;
}

* { 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(--ink-950);
  background: var(--surface);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.skip-link {
  position: fixed; top: 12px; left: 12px; z-index: 1000;
  transform: translateY(-180%); background: white; color: var(--blue-950);
  padding: 10px 14px; border-radius: 10px; box-shadow: var(--shadow); text-decoration: none;
}
.skip-link:focus { transform: translateY(0); }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 10px; margin: 0 0 12px;
  color: var(--blue-800); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 28px; height: 3px; border-radius: 5px; background: var(--gold-500); }

.topbar { background: var(--blue-950); color: rgba(255,255,255,.88); font-size: .84rem; }
.topbar .container { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.topbar strong { color: var(--gold-300); }
.topbar a { text-decoration: none; }
.topbar a:hover { color: white; }

.site-header {
  position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96);
  backdrop-filter: blur(16px); border-bottom: 1px solid rgba(219,228,238,.9);
}
.header-inner { min-height: 82px; display: flex; align-items: center; gap: 30px; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; min-width: 250px; }
.brand img { width: 58px; height: 58px; object-fit: cover; border-radius: 50%; border: 2px solid var(--gold-500); }
.brand-copy { line-height: 1.1; }
.brand-copy strong { display: block; color: var(--blue-950); font-size: 1rem; letter-spacing: .01em; }
.brand-copy span { display: block; margin-top: 5px; color: var(--ink-600); font-size: .78rem; }
.desktop-nav { margin-left: auto; display: flex; align-items: center; gap: 4px; }
.desktop-nav a, .mobile-nav a {
  text-decoration: none; font-size: .9rem; font-weight: 720; color: var(--ink-700); border-radius: 10px;
}
.desktop-nav a { padding: 11px 10px; }
.desktop-nav a:hover, .desktop-nav a[aria-current="page"] { color: var(--blue-900); background: #edf4fb; }
.nav-cta { margin-left: 8px; background: var(--blue-900) !important; color: white !important; padding-inline: 16px !important; }
.nav-cta:hover { background: var(--blue-800) !important; }
.menu-toggle {
  margin-left: auto; width: 44px; height: 44px; border: 1px solid var(--line); background: white;
  border-radius: 12px; display: none; place-items: center; color: var(--blue-950);
}
.menu-toggle svg { width: 24px; height: 24px; }
.mobile-nav { display: none; border-top: 1px solid var(--line); padding: 12px 20px 22px; background: white; }
.mobile-nav a { display: block; padding: 12px 14px; }
.mobile-nav a:hover, .mobile-nav a[aria-current="page"] { background: var(--surface-soft); color: var(--blue-900); }

.hero {
  position: relative; overflow: hidden; color: white;
  background:
    radial-gradient(circle at 78% 24%, rgba(71,162,217,.34), transparent 28%),
    radial-gradient(circle at 18% 88%, rgba(244,201,40,.12), transparent 24%),
    linear-gradient(130deg, var(--blue-950), #0a4376 58%, #0f5f96);
}
.hero::before, .hero::after {
  content: ""; position: absolute; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; pointer-events: none;
}
.hero::before { width: 520px; height: 520px; right: -180px; top: -260px; }
.hero::after { width: 760px; height: 760px; right: -80px; bottom: -590px; }
.hero-grid { min-height: 660px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: center; padding-block: 70px; }
.hero-kicker { color: var(--gold-300); font-weight: 800; letter-spacing: .13em; text-transform: uppercase; font-size: .8rem; }
.hero h1 { margin: 14px 0 18px; max-width: 780px; font-size: clamp(3rem, 6.3vw, 6.2rem); line-height: .94; letter-spacing: -.055em; }
.hero h1 span { color: var(--gold-300); }
.hero-lead { max-width: 730px; font-size: clamp(1.05rem, 1.6vw, 1.28rem); color: rgba(255,255,255,.84); margin: 0; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 12px 18px;
  border-radius: 12px; text-decoration: none; font-weight: 800; font-size: .92rem; border: 1px solid transparent;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--gold-500); color: #1d2a35; }
.btn-primary:hover { background: var(--gold-300); }
.btn-ghost { border-color: rgba(255,255,255,.34); color: white; background: rgba(255,255,255,.06); }
.btn-ghost:hover { background: rgba(255,255,255,.13); }
.btn-blue { background: var(--blue-900); color: white; }
.btn-blue:hover { background: var(--blue-800); }
.btn-outline { border-color: var(--line); color: var(--blue-900); background: white; }
.btn-outline:hover { border-color: #a9bfd3; background: var(--surface-soft); }

.hero-seal {
  position: relative; width: min(100%, 420px); justify-self: center; padding: 22px; border-radius: 50%;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); box-shadow: 0 36px 90px rgba(0,0,0,.28);
}
.hero-seal::before { content: ""; position: absolute; inset: -14px; border-radius: 50%; border: 1px dashed rgba(249,221,104,.35); }
.hero-seal img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; }
.hero-note { margin-top: 22px; text-align: center; color: rgba(255,255,255,.73); font-size: .83rem; }

.stat-strip { position: relative; z-index: 3; margin-top: -38px; }
.stats { display: grid; grid-template-columns: repeat(4,1fr); background: white; border-radius: 20px; box-shadow: var(--shadow); overflow: hidden; border: 1px solid var(--line); }
.stat { padding: 26px 24px; }
.stat + .stat { border-left: 1px solid var(--line); }
.stat strong { display: block; color: var(--blue-900); font-size: 1.7rem; line-height: 1; }
.stat span { display: block; color: var(--ink-600); font-size: .83rem; margin-top: 7px; }

.section { padding-block: 92px; }
.section-soft { background: var(--surface-soft); }
.section-dark { background: var(--blue-950); color: white; }
.section-head { display: grid; grid-template-columns: .85fr 1.15fr; gap: 60px; align-items: end; margin-bottom: 42px; }
.section-head h2 { margin: 0; font-size: clamp(2.2rem, 4vw, 4rem); line-height: 1.03; letter-spacing: -.04em; }
.section-head p { margin: 0; color: var(--ink-600); font-size: 1.04rem; }
.section-dark .section-head p { color: rgba(255,255,255,.72); }

.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.card { border: 1px solid var(--line); border-radius: var(--radius-md); padding: 26px; background: white; }
.card h3 { margin: 14px 0 8px; font-size: 1.15rem; line-height: 1.25; }
.card p { margin: 0; color: var(--ink-600); font-size: .94rem; }
.card .icon { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: #edf4fb; color: var(--blue-900); }
.card .icon svg { width: 22px; height: 22px; }
.card-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 18px; color: var(--blue-800); text-decoration: none; font-weight: 800; font-size: .88rem; }
.card-link:hover { color: var(--blue-950); }

.split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.quote-panel { position: relative; padding: 34px; border-radius: var(--radius-lg); background: var(--blue-950); color: white; overflow: hidden; }
.quote-panel::after { content: "“"; position: absolute; right: 20px; top: -25px; font-family: Georgia, serif; font-size: 12rem; color: rgba(255,255,255,.06); line-height: 1; }
.quote-panel blockquote { position: relative; z-index: 1; margin: 0; font-size: clamp(1.45rem, 2.5vw, 2.15rem); line-height: 1.28; letter-spacing: -.02em; }
.quote-panel cite { display: block; margin-top: 24px; font-style: normal; color: var(--gold-300); font-weight: 800; }
.check-list { margin: 24px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.check-list li { position: relative; padding-left: 30px; color: var(--ink-700); }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--green-600); font-weight: 900; }

.priority-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.priority-card { padding: 30px; border-radius: 20px; border: 1px solid var(--line); background: white; }
.priority-card .num { color: var(--blue-700); font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.priority-card h3 { margin: 9px 0 10px; font-size: 1.35rem; }
.priority-card p { margin: 0; color: var(--ink-600); }
.priority-card ul { padding-left: 18px; color: var(--ink-700); }

.band { background: var(--gold-500); color: #182838; }
.band-inner { min-height: 170px; display: grid; grid-template-columns: 1.3fr auto; gap: 40px; align-items: center; }
.band h2 { margin: 0 0 8px; font-size: clamp(2rem,3.6vw,3.2rem); line-height: 1; letter-spacing: -.035em; }
.band p { margin: 0; max-width: 760px; }
.band .btn { background: var(--blue-950); color: white; }

.page-hero { background: linear-gradient(135deg, var(--blue-950), var(--blue-800)); color: white; padding-block: 76px; }
.page-hero .breadcrumb { margin-bottom: 20px; color: rgba(255,255,255,.68); font-size: .84rem; }
.page-hero .breadcrumb a { color: white; text-decoration: none; }
.page-hero h1 { margin: 0; max-width: 900px; font-size: clamp(2.7rem, 6vw, 5.2rem); line-height: .98; letter-spacing: -.05em; }
.page-hero p { max-width: 800px; margin: 20px 0 0; color: rgba(255,255,255,.78); font-size: 1.08rem; }

.prose { max-width: 850px; }
.prose h2 { margin-top: 52px; font-size: 2rem; line-height: 1.15; letter-spacing: -.025em; }
.prose h3 { margin-top: 32px; font-size: 1.25rem; }
.prose p, .prose li { color: var(--ink-700); }
.prose a { color: var(--blue-800); font-weight: 750; }
.prose .lead { font-size: 1.18rem; color: var(--ink-700); }
.prose ul, .prose ol { padding-left: 22px; }
.notice { padding: 20px 22px; border-left: 4px solid var(--gold-500); background: #fff9da; border-radius: 0 12px 12px 0; color: #4b4a34; }

.leader-feature { display: grid; grid-template-columns: .48fr 1.52fr; gap: 34px; align-items: stretch; }
.leader-monogram { min-height: 330px; border-radius: var(--radius-lg); background: linear-gradient(145deg,var(--blue-900),var(--sky-500)); color: white; display: grid; place-items: center; font-size: 6rem; font-weight: 900; letter-spacing: -.05em; }
.leader-copy { padding: 34px; border: 1px solid var(--line); border-radius: var(--radius-lg); }
.leader-copy h2 { margin: 4px 0 8px; font-size: 2.4rem; line-height: 1; }
.leader-copy .role { color: var(--blue-700); font-weight: 800; }
.office-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-top: 26px; }
.office { border: 1px solid var(--line); border-radius: 14px; padding: 18px; background: white; }
.office strong { display: block; color: var(--blue-950); }
.office span { font-size: .83rem; color: var(--ink-600); }

.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 16px; }
table { width: 100%; border-collapse: collapse; min-width: 700px; background: white; }
th, td { padding: 15px 18px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
th { background: #edf4fb; color: var(--blue-950); font-size: .84rem; }
td { color: var(--ink-700); }
tr:last-child td { border-bottom: 0; }

.accordion { border-top: 1px solid var(--line); }
details { border-bottom: 1px solid var(--line); }
summary { cursor: pointer; list-style: none; padding: 20px 0; font-weight: 820; color: var(--blue-950); display: flex; justify-content: space-between; gap: 20px; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; font-size: 1.3rem; color: var(--blue-700); }
details[open] summary::after { content: "−"; }
details .detail-body { padding: 0 0 22px; color: var(--ink-700); }

.footer { background: #061f3a; color: rgba(255,255,255,.78); padding-top: 64px; }
.footer-grid { display: grid; grid-template-columns: 1.35fr .75fr .75fr; gap: 70px; padding-bottom: 46px; }
.footer-brand { display: flex; align-items: center; gap: 14px; color: white; }
.footer-brand img { width: 70px; height: 70px; object-fit: cover; border-radius: 50%; border: 2px solid var(--gold-500); }
.footer-brand strong { font-size: 1.1rem; }
.footer .muted { max-width: 540px; color: rgba(255,255,255,.62); font-size: .9rem; }
.footer h3 { margin: 0 0 15px; color: white; font-size: .88rem; text-transform: uppercase; letter-spacing: .08em; }
.footer-links { display: grid; gap: 9px; }
.footer-links a { color: rgba(255,255,255,.72); text-decoration: none; font-size: .9rem; }
.footer-links a:hover { color: white; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.12); min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: .8rem; color: rgba(255,255,255,.55); }

.back-to-top { position: fixed; z-index: 40; right: 20px; bottom: 20px; width: 44px; height: 44px; border-radius: 12px; border: 0; background: var(--blue-900); color: white; box-shadow: 0 16px 40px rgba(6,42,79,.25); opacity: 0; transform: translateY(15px); pointer-events: none; transition: .2s ease; }
.back-to-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }

@media (max-width: 1040px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: grid; }
  .menu-open .mobile-nav { display: block; }
  .hero-grid { grid-template-columns: 1fr .62fr; gap: 34px; }
  .hero h1 { font-size: clamp(3rem,8vw,5.4rem); }
  .cards { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; gap: 35px; }
}

@media (max-width: 760px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .topbar .container { min-height: 38px; justify-content: center; text-align: center; }
  .topbar .topbar-right { display: none; }
  .header-inner { min-height: 72px; }
  .brand { min-width: 0; }
  .brand img { width: 50px; height: 50px; }
  .brand-copy span { display: none; }
  .hero-grid { min-height: auto; grid-template-columns: 1fr; padding-block: 56px 72px; }
  .hero h1 { font-size: clamp(3rem,15vw,4.8rem); }
  .hero-seal { width: min(78vw,340px); margin-top: 16px; }
  .stat-strip { margin-top: -20px; }
  .stats { grid-template-columns: repeat(2,1fr); }
  .stat:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .stat:nth-child(4) { border-top: 1px solid var(--line); }
  .section { padding-block: 70px; }
  .section-head { grid-template-columns: 1fr; gap: 14px; }
  .cards, .priority-grid, .split, .leader-feature { grid-template-columns: 1fr; }
  .leader-monogram { min-height: 220px; }
  .office-grid { grid-template-columns: 1fr; }
  .band-inner { min-height: 220px; grid-template-columns: 1fr; gap: 22px; padding-block: 38px; }
  .footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 18px; }
}

@media (max-width: 480px) {
  .brand-copy strong { font-size: .88rem; max-width: 185px; }
  .hero-actions .btn { width: 100%; }
  .stats { grid-template-columns: 1fr; }
  .stat + .stat { border-left: 0; border-top: 1px solid var(--line); }
  .card, .priority-card, .leader-copy, .quote-panel { padding: 22px; }
  .page-hero { padding-block: 58px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}


/* Leadership profiles */
.leadership-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.leader-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 16px 44px rgba(4,37,70,.08)}
.leader-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;background:#edf4fb}
.leader-body{padding:22px}
.leader-body h3{margin:5px 0 7px;font-size:1.3rem;line-height:1.15;color:var(--blue-950)}
.leader-body .role{margin:0;color:var(--blue-700);font-weight:800;line-height:1.4}
.leader-label{margin:0 0 5px;color:var(--ink-600);font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.founder-feature{display:grid;grid-template-columns:.75fr 1.25fr;gap:34px;align-items:stretch}
.founder-photo{overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--line);background:#fff}
.founder-photo img{width:100%;height:100%;min-height:360px;object-fit:cover;object-position:center top}
.history-mark{padding:38px;border-radius:var(--radius-lg);background:var(--blue-950);color:#fff}
.history-mark span{display:block;color:var(--gold-300);font-size:4rem;font-weight:900;line-height:1}
.history-mark strong{display:block;margin-top:16px;font-size:1.25rem}
.history-mark p{margin:8px 0 0;color:rgba(255,255,255,.72)}
@media(max-width:760px){.leadership-grid,.founder-feature{grid-template-columns:1fr}.founder-photo img{min-height:0;aspect-ratio:1/1;object-fit:cover}}
