/* EDS Training — staging rebuild design system (spec 03) */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0A1628;--navy2:#10243E;--gold:#D6AF3E;--ivory:#F7F3EA;
  --body:#D8E1EC;--muted:#B1BED0;--ink:#182535;--green:#2E9F72;--red:#B83C3C;
  --fd:'Oswald',Arial,sans-serif;--fb:'Source Sans 3','Segoe UI',Arial,sans-serif;--max:1160px;
}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{font-family:var(--fb);font-size:18px;line-height:1.65;background:var(--navy);color:var(--body)}
img{max-width:100%;display:block}
a{color:var(--gold)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--gold);color:var(--navy);padding:12px 20px;z-index:1200;font-weight:700}
.skip:focus{left:16px;top:12px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* Funding alert */
.alert{background:var(--navy2);border-bottom:1px solid rgba(214,175,62,.35);padding:10px 24px;font-size:15px;text-align:center}
.alert strong{color:var(--ivory)}
.alert a{color:var(--gold);font-weight:700;white-space:nowrap}

/* Header */
header.site{position:sticky;top:0;z-index:1000;background:rgba(10,22,40,.97);border-bottom:1px solid rgba(214,175,62,.18);backdrop-filter:blur(10px)}
.nav{max-width:var(--max);margin:0 auto;padding:0 24px;min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:44px;width:44px;object-fit:contain}
.brand-name{font-family:var(--fd);font-weight:700;font-size:18px;letter-spacing:.08em;color:var(--ivory)}
.brand-tag{font-size:11px;color:var(--gold);letter-spacing:.14em;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none}
.nav-links a{font-family:var(--fd);font-size:14px;letter-spacing:.07em;text-transform:uppercase;color:var(--body);text-decoration:none;padding:8px 2px}
.nav-links a:hover{color:var(--gold)}
.nav-links a[aria-current="page"]{color:var(--gold);border-bottom:2px solid var(--gold)}
.nav-cta{background:var(--gold);color:var(--navy)!important;font-weight:700;padding:12px 20px!important;border-bottom:none!important}
.nav-cta:hover{filter:brightness(1.08)}
.menu-btn{display:none;background:none;border:1px solid rgba(214,175,62,.4);color:var(--ivory);font-family:var(--fd);letter-spacing:.08em;text-transform:uppercase;font-size:13px;padding:10px 16px;cursor:pointer}
#mobile-menu{display:none;background:var(--navy2);border-bottom:1px solid rgba(214,175,62,.25)}
#mobile-menu.open{display:block}
#mobile-menu a{display:block;padding:16px 24px;font-family:var(--fd);font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--body);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.05)}
#mobile-menu a:hover{color:var(--gold)}

/* Type */
.eyebrow{font-family:var(--fd);font-size:13px;font-weight:600;color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
h1{font-family:var(--fd);font-size:clamp(2.6rem,5.5vw,4.6rem);line-height:1.08;color:var(--ivory);letter-spacing:.01em;text-transform:uppercase}
h2{font-family:var(--fd);font-size:clamp(1.9rem,3.5vw,3.1rem);line-height:1.15;color:var(--ivory);letter-spacing:.01em;text-transform:uppercase}
h3{font-family:var(--fd);font-size:1.3rem;color:var(--ivory);letter-spacing:.02em}
.lead{font-size:19px;color:var(--body);max-width:64ch;margin-top:18px}
section{padding:96px 0}
@media(max-width:760px){section{padding:60px 0}}

/* Sections on ivory */
.sec-ivory{background:var(--ivory);color:var(--ink)}
.sec-ivory h2,.sec-ivory h3{color:var(--ink)}
.sec-ivory .lead,.sec-ivory p{color:var(--ink)}
.sec-ivory .eyebrow{color:#8a6d1f}
.sec-raised{background:var(--navy2)}

/* Buttons */
.btn{display:inline-block;font-family:var(--fd);font-size:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;text-align:center;padding:15px 30px;min-height:50px;cursor:pointer;border:2px solid transparent}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{filter:brightness(1.08)}
.btn-line{background:transparent;color:var(--ivory);border-color:rgba(247,243,234,.65)}
.btn-line:hover{border-color:var(--gold);color:var(--gold)}
.sec-ivory .btn-line{color:var(--ink);border-color:var(--ink)}
.btn-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}

/* Hero */
.hero{padding:80px 0 88px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero-photo img{width:100%;height:auto;border:1px solid rgba(214,175,62,.3)}
.brandline{font-family:var(--fd);font-size:1.35rem;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-top:14px}
.confidence{margin-top:22px;font-size:15px;color:var(--muted)}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero{padding:52px 0 60px}}

/* Trust strip */
.trust{background:var(--navy2);border-top:1px solid rgba(214,175,62,.18);border-bottom:1px solid rgba(214,175,62,.18);padding:22px 24px}
.trust ul{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;list-style:none}
.trust li{font-family:var(--fd);font-size:14px;letter-spacing:.05em;text-transform:uppercase;color:var(--ivory);display:flex;gap:10px;align-items:flex-start}
.trust li::before{content:"★";color:var(--gold)}
@media(max-width:860px){.trust ul{grid-template-columns:repeat(2,1fr)}}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.cards.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:960px){.cards,.cards.four{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cards,.cards.four{grid-template-columns:1fr}}
.card{background:var(--navy2);border:1px solid rgba(214,175,62,.2);padding:30px 28px;display:flex;flex-direction:column;gap:12px}
.card p{font-size:16px;color:var(--body)}
.card .meta{font-size:14px;color:var(--muted)}
.card a.cta{margin-top:auto;font-family:var(--fd);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:14px;text-decoration:none;color:var(--gold)}
.card a.cta:hover{text-decoration:underline}
.card img{width:100%;height:180px;object-fit:cover;margin:-30px -28px 8px;width:calc(100% + 56px);max-width:none}
.sec-ivory .card{background:#fff;border:1px solid #e4dcc8}
.sec-ivory .card p{color:var(--ink)}
.sec-ivory .card .meta{color:#5d6b7a}
.sec-ivory .card a.cta{color:#8a6d1f}

/* Funding */
.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
@media(max-width:860px){.paths{grid-template-columns:1fr}}
.path{background:#fff;border:1px solid #e4dcc8;border-left:5px solid var(--gold);padding:24px}
.path .status{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:12px;margin-bottom:10px}
.status.open{background:rgba(46,159,114,.14);color:#1d6c4c}
.status.next{background:rgba(24,37,53,.08);color:var(--ink)}
.disclosure{margin-top:34px;padding:20px 24px;background:rgba(24,37,53,.05);border:1px solid #e4dcc8;font-size:15px;max-width:900px}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px;counter-reset:step}
@media(max-width:760px){.steps{grid-template-columns:1fr}}
.step{border-top:3px solid var(--gold);padding-top:18px}
.step::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--fd);font-size:2rem;color:var(--gold);display:block;margin-bottom:6px}

/* Case study / quote */
.case{margin-top:40px;background:var(--navy2);border-left:5px solid var(--gold);padding:34px 36px;max-width:860px}
.case blockquote{font-size:19px;color:var(--ivory);font-style:italic}
.case figcaption{margin-top:16px;font-size:15px;color:var(--muted)}

/* Checklist */
ul.check{list-style:none;margin-top:20px;display:grid;gap:12px}
ul.check li{padding-left:32px;position:relative;font-size:17px}
ul.check li::before{content:"✓";position:absolute;left:0;top:0;color:var(--gold);font-weight:700}
.sec-ivory ul.check li::before{color:#8a6d1f}

/* Two-col */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@media(max-width:860px){.two-col{grid-template-columns:1fr}}
.two-col img{border:1px solid rgba(214,175,62,.3)}

/* FAQ */
.faq{margin-top:36px;max-width:860px}
.faq details{border:1px solid rgba(214,175,62,.25);background:var(--navy2);margin-bottom:12px}
.faq summary{cursor:pointer;padding:18px 22px;font-family:var(--fd);font-size:17px;color:var(--ivory);letter-spacing:.02em;list-style-position:inside}
.faq details p{padding:0 22px 20px;font-size:16px}
.sec-ivory .faq details{background:#fff;border-color:#e4dcc8}
.sec-ivory .faq summary{color:var(--ink)}

/* CTA band */
.cta-band{background:linear-gradient(140deg,var(--navy2),var(--navy));border-top:1px solid rgba(214,175,62,.25);text-align:center}
.cta-band .btn-row{justify-content:center}

/* Page hero for inner pages */
.page-hero{padding:72px 0 60px;background:var(--navy)}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:18px}
.crumbs a{color:var(--muted)}
.quote-badge{display:inline-block;margin-top:20px;border:1.5px solid var(--gold);color:var(--gold);font-family:var(--fd);font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:9px 18px}

/* Fact table */
.facts{margin-top:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2px;background:rgba(214,175,62,.25)}
.fact{background:var(--navy2);padding:20px 22px}
.fact .k{font-family:var(--fd);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.fact .v{margin-top:6px;font-size:16px;color:var(--ivory)}

/* Forms */
form.contact{display:grid;gap:18px;max-width:640px;margin-top:34px}
form.contact label{font-family:var(--fd);font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--ivory);display:block;margin-bottom:6px}
form.contact input,form.contact select,form.contact textarea{width:100%;padding:13px 14px;font-family:var(--fb);font-size:16px;background:#0d1c33;border:1px solid rgba(214,175,62,.35);color:var(--ivory)}
form.contact .hp{position:absolute;left:-9999px}
.form-note{font-size:14px;color:var(--muted)}

/* Footer */
footer.site{background:#081120;border-top:1px solid rgba(214,175,62,.2);padding:64px 24px 40px;font-size:15px}
.foot-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr}}
.foot-h{font-family:var(--fd);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
footer.site a{color:var(--body);text-decoration:none;display:block;padding:4px 0}
footer.site a:hover{color:var(--gold)}
.foot-bottom{max-width:var(--max);margin:44px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:var(--muted);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media(max-width:900px){
  .nav-links{display:none}
  .menu-btn{display:block}
}
