:root {
  /* ═══ Brand Colors v2.0 ═══ */
  --navy: #0E2238;
  --navy-light: #152d4a;
  --slate: #6B7F94;
  --gold: #C4A265;
  --gold-hover: #b08d4e;
  --cream: #F5F0E8;
  --cream-light: #FAF7F2;
  --white: #FFFFFF;
  --black: #0A1625;

  /* ═══ Typography v2.0 ═══ */
  --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --text-xs: 0.6875rem;   /* 11px — eyebrows */
  --text-sm: 0.8125rem;   /* 13px — captions, nav */
  --text-base: 1.0625rem; /* 17px — body */
  --text-lg: 1.125rem;    /* 18px — lead */
  --text-xl: 1.25rem;     /* 20px */
  --text-2xl: 1.5rem;     /* 24px */
  --text-3xl: 2rem;       /* 32px */
  --text-4xl: 2.5rem;     /* 40px */
  --text-5xl: 3.25rem;    /* 52px — H1 */
  --text-6xl: 4rem;       /* 64px — display */

  --leading-tight: 1.1;
  --leading-snug: 1.3;
  --leading-normal: 1.7;
  --leading-relaxed: 1.75;

  --font-light: 300;
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

  --tracking-tight: -0.015em;
  --tracking-normal: 0;
  --tracking-wide: 0.03em;
  --tracking-eyebrow: 0.12em;

  /* ═══ Spacing ═══ */
  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem;
  --space-4: 1rem; --space-5: 1.25rem; --space-6: 1.5rem;
  --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem;
  --space-16: 4rem; --space-20: 5rem; --space-24: 6rem;
  --section-y: var(--space-24);
  --section-y-sm: var(--space-16);

  /* ═══ Grid ═══ */
  --container-max: 75rem;  /* 1200px */
  --container-padding: var(--space-6);
  --grid-columns: 12;
  --grid-gap: var(--space-8);
  --measure: 68ch;

  /* ═══ Borders ═══ */
  --radius-none: 0;
  --radius-sm: 2px;
  --radius-full: 9999px;

  /* ═══ Shadows ═══ */
  --shadow-sm: 0 1px 3px rgba(10,22,37,0.06);
  --shadow-md: 0 4px 12px rgba(10,22,37,0.08);
  --shadow-lg: 0 8px 30px rgba(10,22,37,0.12);
  --shadow-card: 0 2px 8px rgba(10,22,37,0.04);

  /* ═══ Motion ═══ */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast: 150ms;
  --duration-normal: 350ms;
  --duration-slow: 450ms;

  /* ═══ Nav ═══ */
  --nav-height: 5rem;
}

/* ═══ Global ═══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--navy);background:var(--white);font-weight:var(--font-normal)}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}

/* ═══ Typography ═══ */
h1,h2,.h1,.h2{font-family:var(--font-display);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}
h1,.h1{font-size:var(--text-5xl)}
h2,.h2{font-size:var(--text-4xl)}
h3,.h3{font-family:var(--font-body);font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:var(--leading-snug)}
h4,.h4{font-family:var(--font-body);font-size:var(--text-xl);font-weight:var(--font-medium);line-height:var(--leading-snug)}
h5{font-size:var(--text-base);font-weight:var(--font-medium)}
.body-lg{font-size:var(--text-lg);line-height:var(--leading-relaxed)}
.body-base{font-size:var(--text-base);line-height:var(--leading-relaxed)}
.body-sm{font-size:var(--text-sm);line-height:var(--leading-normal)}
.eyebrow{font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--gold)}
.pull-quote{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-medium);line-height:var(--leading-snug);color:var(--navy)}
.stat-number{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--font-semibold);line-height:1;color:var(--navy);font-feature-settings:'tnum','lnum'}
.stat-label{font-size:var(--text-sm);color:var(--slate);font-feature-settings:'tnum'}

.text-gold{color:var(--gold)}
.text-slate{color:var(--slate)}
.text-light{color:var(--white)}
.text-center{text-align:center}

/* ═══ Container + Grid ═══ */
.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}
.grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--grid-gap)}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--grid-gap);align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}
.content-col{max-width:var(--measure);margin:0 auto}

/* ═══ Sections ═══ */
.section{padding:var(--section-y) 0}
.section-sm{padding:var(--section-y-sm) 0}
.bg-cream{background:var(--cream)}
.bg-navy{background:var(--navy);color:var(--white)}
.bg-navy a{color:var(--white)}
.bg-white{background:var(--white)}

/* ═══ Buttons ═══ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;transition:all var(--duration-fast) var(--ease-out);cursor:pointer;border:none}
.btn-primary{background:var(--navy);color:var(--white)}
.btn-primary:hover{background:var(--navy-light)}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold-hover)}
.btn-ghost{background:rgba(255,255,255,0.95);color:var(--navy)}
.btn-ghost:hover{background:var(--white)}
.btn-outline{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,0.4)}
.btn-outline:hover{border-color:var(--white)}
.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}
.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}

/* ═══ Nav ═══ */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-height);background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:all var(--duration-normal) var(--ease-out)}
.nav.scrolled{border-bottom-color:rgba(10,22,37,0.06);box-shadow:var(--shadow-sm)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%}
.nav-logo{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);color:var(--navy)}
.nav-logo span{font-family:var(--font-body);font-weight:var(--font-light);font-style:italic;color:var(--gold);font-size:var(--text-sm)}
.nav-links{display:flex;align-items:center;gap:var(--space-8)}
.nav-links a{font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--slate);position:relative;transition:color var(--duration-fast)}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width var(--duration-normal) var(--ease-out)}
.nav-links a:hover{color:var(--navy)}
.nav-links a:hover::after{width:100%}
.nav-links .btn{padding:var(--space-2) var(--space-5)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:var(--space-2)}
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--navy);transition:all var(--duration-fast)}
.nav-toggle.active span:nth-child(1){transform:rotate(45deg)translate(5px,5px)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}

/* ═══ Hero ═══ */
.hero{position:relative;min-height:85vh;display:flex;align-items:center;overflow:hidden;background:var(--navy)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(105deg,rgba(14,34,56,0.72) 0%,rgba(14,34,56,0.55) 45%,rgba(14,34,56,0.15) 100%)}
.hero-content{position:relative;z-index:2;max-width:42rem}
.hero-content h1{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--white);margin-bottom:var(--space-6)}
.hero-content .body-lg{color:rgba(255,255,255,0.75);margin-bottom:var(--space-8);font-size:var(--text-lg)}
.hero-ctas{display:flex;gap:var(--space-4);flex-wrap:wrap}
.hero-rule{width:4rem;height:1px;background:var(--gold);margin-bottom:var(--space-6)}

/* ═══ Cards ═══ */
.card{padding:var(--space-8);background:var(--white);border:1px solid rgba(10,22,37,0.06);transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.card-cream{background:var(--cream)}
.card-number{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--font-medium);color:var(--gold);opacity:0.4;line-height:1;margin-bottom:var(--space-4)}
.card h4,.card h3.h4{margin-bottom:var(--space-3)}
.card-icon{margin-bottom:var(--space-4);color:var(--gold)}

/* ═══ Stat Band ═══ */
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8);padding:var(--space-12) 0}
.stat-item{text-align:center}
.stat-item .stat-number{margin-bottom:var(--space-2)}
.stat-item .stat-label{font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}

/* ═══ Process Timeline ═══ */
.process{position:relative;padding:var(--space-8) 0}
.process::before{content:'';position:absolute;top:2rem;left:0;right:0;height:1px;background:var(--gold);opacity:0.3}
.process-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-4);position:relative;z-index:1}
.process-step{text-align:center;padding:var(--space-4)}
.process-step-num{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid var(--gold);color:var(--gold);font-family:var(--font-display);font-size:var(--text-lg);margin:0 auto var(--space-4);background:var(--white)}

/* ═══ Pre-footer CTA ═══ */
.pre-footer{position:relative;overflow:hidden;background:var(--navy)}
.pre-footer-content{padding:var(--section-y) 0}
.pre-footer-rule{width:3rem;height:1px;background:var(--gold);margin-bottom:var(--space-6)}

/* ═══ Footer ═══ */
.footer{background:var(--black);color:var(--white);padding:var(--space-16) 0 var(--space-8)}
.footer-rule{width:100%;height:1px;background:rgba(196,162,101,0.2);margin-bottom:var(--space-12)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-8);margin-bottom:var(--space-12)}
.footer-wordmark{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-medium);margin-bottom:var(--space-2);display:block}
.footer-col{display:flex;flex-direction:column;gap:var(--space-3)}
.footer-col h5{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--gold);margin-bottom:var(--space-2);font-weight:var(--font-medium)}
.footer-col a{color:var(--slate);font-size:var(--text-sm);transition:color var(--duration-fast)}
.footer-col a:hover{color:var(--gold)}
.footer-bottom{text-align:center;padding-top:var(--space-8);border-top:1px solid rgba(255,255,255,0.06)}

/* ═══ Form ═══ */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:start}
.form{max-width:none}
.form-group{margin-bottom:var(--space-5)}
.form-label{display:block;font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--slate);margin-bottom:var(--space-2)}
.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3)var(--space-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--navy);background:var(--white);border:1px solid rgba(10,22,37,0.12);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(196,162,101,0.15)}
.form-textarea{min-height:7rem;resize:vertical}
.form-reassurance{font-size:var(--text-sm);color:var(--slate)}
.form-reassurance strong{color:var(--navy)}

/* ═══ FAQ ═══ */
.faq-list{max-width:var(--measure);margin:var(--space-12)auto 0}
.faq-item{border-bottom:1px solid rgba(10,22,37,0.08);padding:var(--space-5)0}
.faq-question{width:100%;background:none;border:none;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);text-align:left;font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--navy);cursor:pointer;padding:0;transition:color var(--duration-fast)}
.faq-question:hover{color:var(--gold)}
.faq-icon{flex-shrink:0;font-size:var(--text-xl);color:var(--gold);transition:transform var(--duration-fast)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--duration-normal)var(--ease-out);color:var(--slate);font-size:var(--text-sm);line-height:var(--leading-relaxed);padding-right:var(--space-8)}
.faq-item.open .faq-answer{max-height:20rem;padding-top:var(--space-3)}
.faq-item.open .faq-icon{transform:rotate(45deg)}

/* ═══ Motion ═══ */
@media(prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(16px);transition:opacity var(--duration-slow)var(--ease-out),transform var(--duration-slow)var(--ease-out)}
  .reveal.visible{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none}
}

/* ═══ Focus ═══ */
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
::selection{background:rgba(14,34,56,0.12);color:var(--navy)}

/* ═══ Utility ═══ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gold-rule{width:3rem;height:1px;background:var(--gold)}

/* ═══ Responsive ═══ */
@media(max-width:1023px){
  .grid-2,.grid-3,.form-grid{grid-template-columns:1fr}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .stat-band{grid-template-columns:repeat(2,1fr)}
  .process-steps{grid-template-columns:1fr;gap:var(--space-6)}
  .process::before{display:none}
  h1,.h1{font-size:var(--text-4xl)}
  .hero{min-height:60vh}
}
@media(max-width:767px){
  .nav-links{display:none}
  .nav-links.active{display:flex;flex-direction:column;position:absolute;top:var(--nav-height);left:0;right:0;background:var(--white);padding:var(--space-6);border-bottom:1px solid rgba(10,22,37,0.06);box-shadow:var(--shadow-md);gap:var(--space-4)}
  .nav-toggle{display:flex}
  h1,.h1{font-size:var(--text-3xl)}
  h2,.h2{font-size:var(--text-3xl)}
  .hero-content h1{font-size:var(--text-4xl)}
  .section{padding:var(--section-y-sm)0}
  .footer-grid{grid-template-columns:1fr;gap:var(--space-6)}
  .stat-band{grid-template-columns:1fr 1fr;gap:var(--space-6)}
}
@media(max-width:639px){
  .stat-band,.grid-4{grid-template-columns:1fr}
  .hero-ctas{flex-direction:column}.hero-ctas .btn{width:100%}
}

.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--navy);color:#fff;padding:var(--space-3) var(--space-5);border-radius:0 0 6px 0;font-weight:600}
.skip-link:focus{left:0}

/* Motion hero */
.hero{position:relative;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease}
.hero-video.playing{opacity:1}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}
