@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root { --navy:#102a43; --navy-2:#173f5f; --ink:#20354a; --gold:#c79a2b; --gold-light:#e9cf78; --mist:#f3f6f8; --line:#dce5eb; --muted:#6c7d8d; --white:#fff; --shadow:0 20px 60px rgba(16,42,67,.12); --radius:20px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:'DM Sans', Arial, sans-serif; font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button, input, textarea, select { font:inherit; }
button { cursor:pointer; }
.container { width:min(1160px, calc(100% - 48px)); margin:0 auto; }
.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; }
.skip-link { position:absolute; top:-50px; left:20px; z-index:100; padding:10px 16px; background:var(--gold); color:var(--navy); font-weight:700; }
.skip-link:focus { top:12px; }
.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92); backdrop-filter:blur(14px); border-bottom:1px solid rgba(220,229,235,.85); }
.nav-wrap { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:inline-flex; align-items:center; gap:11px; color:var(--navy); }
.header-logo { display:block; width:76px; height:76px; object-fit:contain; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; background:var(--gold); color:var(--navy); font-family:Manrope, sans-serif; font-size:22px; font-weight:800; transform:skew(-9deg); }
.brand-mark span { transform:skew(9deg); }
.brand-text { display:flex; flex-direction:column; letter-spacing:.11em; line-height:1.05; }
.brand-text strong { font-family:Manrope, sans-serif; font-size:14px; font-weight:800; }
.brand-text small { margin-top:4px; font-size:7px; font-weight:700; letter-spacing:.18em; }
.site-nav { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600; }
.site-nav > a:not(.nav-cta) { color:#547085; padding:9px 0; position:relative; }
.site-nav > a:not(.nav-cta)::after { position:absolute; right:0; bottom:2px; left:0; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:right; transition:transform .25s ease; content:""; }
.site-nav > a:hover::after, .site-nav > a.active::after { transform:scaleX(1); transform-origin:left; }
.site-nav > a.active { color:var(--navy); }
.nav-cta, .button-primary { display:inline-flex; align-items:center; justify-content:center; gap:13px; border:0; background:var(--navy); color:#fff; padding:13px 19px; font-weight:700; box-shadow:0 8px 22px rgba(16,42,67,.16); transition:transform .2s ease, background .2s ease, box-shadow .2s ease; }
.nav-cta { padding:12px 16px; font-size:13px; }
.nav-cta:hover, .button-primary:hover { background:#1b4567; transform:translateY(-2px); box-shadow:0 12px 28px rgba(16,42,67,.22); }
.button-secondary { display:inline-flex; align-items:center; gap:11px; color:var(--navy); font-weight:700; padding:13px 0; border-bottom:1px solid var(--gold); }
.button-secondary span, .nav-cta span { color:var(--gold-light); }
.menu-toggle { display:none; border:0; background:transparent; padding:10px; }
.menu-toggle > span:not(.sr-only) { display:block; width:23px; height:2px; margin:5px 0; background:var(--navy); transition:transform .2s ease; }

.hero { position:relative; overflow:hidden; background:var(--navy); color:#fff; }
.hero::before { position:absolute; width:760px; height:760px; right:-280px; top:-330px; border:1px solid rgba(233,207,120,.28); border-radius:50%; content:""; }
.hero::after { position:absolute; width:520px; height:520px; right:-150px; top:-210px; border:1px solid rgba(233,207,120,.15); border-radius:50%; content:""; }
.hero-inner { position:relative; z-index:1; min-height:650px; display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center; padding:82px 0 96px; }
.eyebrow { margin:0 0 14px; color:var(--gold); font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.hero h1 { max-width:720px; margin:0; color:#fff; font-family:Manrope, sans-serif; font-size:clamp(46px, 6vw, 78px); font-weight:800; letter-spacing:-.055em; line-height:1.01; }
.hero h1 em { color:var(--gold-light); font-style:normal; }
.hero-copy { max-width:575px; margin:27px 0 0; color:#c4d2dc; font-size:18px; line-height:1.7; }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:25px; margin-top:35px; }
.hero .button-primary { background:var(--gold); color:var(--navy); box-shadow:0 11px 28px rgba(199,154,43,.2); }
.hero .button-primary:hover { background:#eed47e; }
.hero .button-secondary { color:#fff; }
.hero-visual { position:relative; min-height:438px; }
.hero-image-frame { position:absolute; top:26px; right:4px; width:min(100%, 500px); margin:0; padding:12px 12px 0; background:var(--gold); box-shadow:0 30px 75px rgba(0,0,0,.28); transform:rotate(1.2deg); }
.hero-image-frame::before { position:absolute; inset:22px; z-index:1; border:1px solid rgba(255,255,255,.66); content:""; pointer-events:none; }
.hero-image-frame img { display:block; width:100%; aspect-ratio:1.7747; object-fit:cover; object-position:center; }
.hero-image-frame figcaption { padding:13px 7px 14px; color:var(--navy); font-size:12px; font-weight:800; line-height:1.3; }
.visual-board { position:absolute; top:26px; right:4px; width:min(100%, 420px); height:410px; padding:30px; background:linear-gradient(140deg, #1a4564, #0b2237); border:1px solid rgba(233,207,120,.42); box-shadow:25px 30px 0 rgba(199,154,43,.92), 0 30px 75px rgba(0,0,0,.28); }
.visual-board::before { position:absolute; inset:14px; border:1px solid rgba(255,255,255,.1); content:""; }
.visual-kicker { position:relative; z-index:1; display:flex; justify-content:space-between; color:#d9e4ea; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.visual-title { position:relative; z-index:1; max-width:250px; margin-top:80px; color:#fff; font-family:Manrope, sans-serif; font-size:36px; font-weight:800; letter-spacing:-.04em; line-height:1.05; }
.visual-line { position:relative; z-index:1; width:100%; height:1px; margin:25px 0 17px; background:rgba(233,207,120,.7); }
.visual-meta { position:relative; z-index:1; display:flex; justify-content:space-between; color:#bdd0dc; font-size:12px; }
.visual-number { position:absolute; right:24px; bottom:24px; color:rgba(233,207,120,.16); font-family:Manrope, sans-serif; font-size:130px; font-weight:800; line-height:1; }

.trust-strip { background:var(--gold); color:var(--navy); }
.trust-inner { display:grid; grid-template-columns:1.1fr repeat(3, 1fr); align-items:center; gap:25px; padding:21px 0; }
.trust-lead { font-family:Manrope, sans-serif; font-weight:800; font-size:15px; line-height:1.25; }
.trust-item { padding-left:22px; border-left:1px solid rgba(16,42,67,.27); font-size:13px; font-weight:600; line-height:1.3; }

.section { padding:104px 0; }
.section-mist { background:var(--mist); }
.section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:48px; }
.section-head > div { max-width:690px; }
.section h2, .page-hero h1 { margin:0; color:var(--navy); font-family:Manrope, sans-serif; font-size:clamp(32px, 4vw, 50px); font-weight:800; letter-spacing:-.05em; line-height:1.08; }
.section-intro { max-width:630px; margin:17px 0 0; color:#607789; font-size:17px; line-height:1.7; }
.section-head .button-secondary { flex:0 0 auto; margin-bottom:4px; }
.service-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
.service-card { position:relative; min-height:245px; display:flex; flex-direction:column; justify-content:space-between; padding:28px; background:#fff; border:1px solid var(--line); transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.service-card:hover { border-color:var(--gold); box-shadow:var(--shadow); transform:translateY(-5px); }
.service-card:nth-child(2) { background:var(--navy); color:#fff; border-color:var(--navy); }
.service-card:nth-child(2) .card-copy { color:#c5d3dd; }
.service-card:nth-child(2) .card-number { color:var(--gold-light); }
.card-number { color:var(--gold); font-family:Manrope, sans-serif; font-size:13px; font-weight:800; letter-spacing:.15em; }
.service-card h3 { margin:48px 0 8px; color:inherit; font-family:Manrope, sans-serif; font-size:27px; letter-spacing:-.04em; }
.card-copy { max-width:430px; margin:0; color:#688091; font-size:15px; line-height:1.62; }
.card-link { align-self:flex-start; display:inline-flex; gap:10px; margin-top:25px; color:var(--navy); font-size:13px; font-weight:800; }
.service-card:nth-child(2) .card-link { color:#fff; }

.statement { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; align-items:start; }
.statement-side { padding-top:8px; }
.statement-mark { width:50px; height:6px; margin-bottom:24px; background:var(--gold); }
.statement h2 { max-width:360px; }
.statement-copy { margin:0; color:#506a7e; font-size:21px; line-height:1.55; }
.statement-note { margin-top:26px; padding-top:18px; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }
.stories-section { background:#fff; }
.gallery-feature { display:grid; grid-template-columns:1.15fr .85fr; gap:62px; align-items:center; }
.gallery-image-frame { margin:0; padding:10px; background:var(--gold); transform:rotate(-1deg); }
.gallery-image-frame img { display:block; width:100%; aspect-ratio:16 / 10; object-fit:cover; }
.gallery-image-frame figcaption { padding:12px 8px 4px; color:var(--navy); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.gallery-copy h2 { margin-bottom:18px; }
.gallery-copy p:not(.eyebrow) { color:var(--muted); line-height:1.75; }
.gallery-copy .button-primary { margin-top:18px; }
.story-placeholder { display:grid; grid-template-columns:80px 1fr; gap:25px; align-items:start; padding:34px 38px; background:var(--navy); color:#fff; border-left:6px solid var(--gold); }
.story-quote-mark { color:var(--gold-light); font-family:Georgia, serif; font-size:86px; line-height:.8; }
.story-placeholder-title { margin:0; color:#fff; font-family:Manrope, sans-serif; font-size:28px; font-weight:800; letter-spacing:-.04em; }
.story-placeholder-copy { max-width:760px; margin:12px 0 0; color:#c6d5de; font-size:15px; line-height:1.65; }
.story-structure { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:24px; color:var(--gold-light); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }

.band { padding:76px 0; background:var(--navy); color:#fff; }
.band-inner { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.band h2 { max-width:720px; margin:0; color:#fff; font-family:Manrope, sans-serif; font-size:clamp(28px, 4vw, 44px); letter-spacing:-.045em; line-height:1.08; }
.band .button-primary { flex:0 0 auto; background:var(--gold); color:var(--navy); }

.page-hero { position:relative; overflow:hidden; padding:112px 0 105px; background:var(--mist); }
.page-hero::after { position:absolute; width:340px; height:340px; right:9%; top:-150px; border:1px solid rgba(199,154,43,.35); border-radius:50%; content:""; }
.page-hero-inner { position:relative; z-index:1; max-width:850px; }
.page-hero h1 { max-width:800px; margin-top:8px; font-size:clamp(43px, 6vw, 68px); }
.page-hero p { max-width:670px; margin:25px 0 0; color:#617789; font-size:18px; line-height:1.7; }
.breadcrumb { margin-bottom:20px; color:var(--gold); font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }

.split { display:grid; grid-template-columns:.8fr 1.2fr; gap:85px; align-items:start; }
.split h2 { max-width:350px; }
.split-copy { color:#546f83; font-size:17px; line-height:1.75; }
.split-copy p:first-child { margin-top:0; }
.quote-block { margin-top:30px; padding:22px 25px; background:var(--navy); color:#fff; border-left:5px solid var(--gold); font-family:Manrope, sans-serif; font-size:22px; font-weight:700; line-height:1.35; }
.mission-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:18px; margin-top:54px; }
.mission-card { padding:26px; background:var(--mist); border-top:3px solid var(--gold); }
.mission-card h3 { margin:0 0 10px; color:var(--navy); font-family:Manrope, sans-serif; font-size:20px; }
.mission-card p { margin:0; color:#607789; font-size:15px; }

.category-list { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.category { padding:27px 28px; border:1px solid var(--line); background:#fff; }
.category:nth-child(3n) { background:var(--navy); border-color:var(--navy); }
.category:nth-child(3n) h3, .category:nth-child(3n) p, .category:nth-child(3n) li { color:#fff; }
.category h3 { margin:0 0 11px; color:var(--navy); font-family:Manrope, sans-serif; font-size:22px; }
.category p { margin:0 0 14px; color:#6a8090; font-size:14px; }
.category ul { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.category li { padding:6px 9px; background:var(--mist); color:var(--navy); font-size:12px; font-weight:600; }
.category:nth-child(3n) li { background:rgba(255,255,255,.12); color:#fff; }
.accreditation-category { display:flex; align-items:center; justify-content:center; min-height:150px; padding:24px; background:#fff !important; border-top:4px solid var(--gold); }
.accreditation-category img { display:block; width:min(232px, 100%); height:auto; }
.training-note { margin-top:35px; padding:24px; background:#fff7dd; border:1px solid #ead390; color:#635229; font-size:14px; }

.pathway { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pathway-item { min-height:200px; padding:25px 23px; border-right:1px solid var(--line); }
.pathway-item:last-child { border-right:0; }
.pathway-number { color:var(--gold); font-family:Manrope, sans-serif; font-size:30px; font-weight:800; }
.pathway-item h3 { margin:20px 0 7px; color:var(--navy); font-family:Manrope, sans-serif; font-size:18px; }
.pathway-item p { margin:0; color:#6c8190; font-size:14px; }

.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:75px; align-items:start; }
.contact-copy { color:#62798a; font-size:17px; line-height:1.7; }
.contact-list { margin-top:35px; padding-top:5px; border-top:1px solid var(--line); }
.contact-line { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid var(--line); font-size:14px; }
.contact-line strong { color:var(--navy); }
.contact-line span { color:var(--muted); text-align:right; }
.contact-line a { color:var(--navy); font-weight:600; }
.contact-line a:hover { color:var(--gold); }
.form-card { padding:33px; background:var(--mist); border-top:4px solid var(--gold); }
.form-card h2 { margin:0 0 7px; font-family:Manrope, sans-serif; font-size:29px; letter-spacing:-.04em; }
.form-card > p { margin:0 0 24px; color:var(--muted); font-size:14px; }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.form-field { display:flex; flex-direction:column; gap:7px; }
.form-field.full { grid-column:1 / -1; }
.form-field label { color:var(--navy); font-size:13px; font-weight:700; }
.form-field input, .form-field textarea, .form-field select { width:100%; border:1px solid #cbd8e0; background:#fff; color:var(--ink); padding:12px 13px; outline:none; }
.form-field textarea { min-height:125px; resize:vertical; }
.form-field input:focus, .form-field textarea:focus, .form-field select:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(199,154,43,.18); }
.form-card .button-primary { margin-top:20px; }
.form-note { margin:15px 0 0; color:var(--muted); font-size:12px; }

.site-footer { background:#0b2237; color:#fff; }
.footer-top { display:grid; grid-template-columns:1.6fr .7fr .9fr; gap:50px; padding:62px 0 55px; }
.footer-logo { display:block; width:92px; height:92px; object-fit:contain; background:#fff; }
.brand-light { color:#fff; }
.footer-tagline { margin:24px 0 0; color:#a9bfce; font-family:Manrope, sans-serif; font-size:20px; font-weight:700; line-height:1.3; }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:11px; font-size:14px; }
.footer-column .eyebrow { margin-bottom:3px; }
.footer-column a:hover { color:var(--gold-light); }
.muted { color:#91aabb; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding:18px 0 23px; border-top:1px solid rgba(255,255,255,.14); color:#7f9bad; font-size:12px; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } .reveal { opacity:1; transform:none; } }
@media (max-width:900px) {
  .hero-inner { grid-template-columns:1fr; min-height:auto; padding:75px 0 95px; }
  .hero-visual { min-height:390px; max-width:510px; width:100%; margin:0 auto; }
  .trust-inner { grid-template-columns:repeat(3,1fr); }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-feature { grid-template-columns:1fr; gap:35px; }
  .trust-lead { grid-column:1 / -1; }
  .statement, .split, .contact-layout { grid-template-columns:1fr; gap:35px; }
  .statement h2, .split h2 { max-width:700px; }
  .pathway { grid-template-columns:repeat(2,1fr); }
  .pathway-item:nth-child(2) { border-right:0; }
  .pathway-item:nth-child(-n+2) { border-bottom:1px solid var(--line); }
}
@media (max-width:700px) {
  .container { width:min(100% - 34px, 1160px); }
  .nav-wrap { min-height:72px; }
  .menu-toggle { display:block; }
  .site-nav { position:absolute; top:72px; right:0; left:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:12px 17px 18px; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 20px 30px rgba(16,42,67,.09); }
  .site-nav.open { display:flex; }
  .site-nav > a:not(.nav-cta) { padding:12px 4px; }
  .site-nav > a:not(.nav-cta)::after { display:none; }
  .nav-cta { margin-top:8px; }
  .hero-inner { padding:62px 0 80px; }
  .hero h1 { font-size:46px; }
  .hero-copy { font-size:16px; }
  .hero-visual { min-height:300px; }
  .hero-image-frame { top:12px; right:4px; width:calc(100% - 8px); padding:8px 8px 0; box-shadow:12px 18px 0 rgba(199,154,43,.92); }
  .hero-image-frame::before { inset:15px; }
  .hero-image-frame figcaption { padding:10px 4px 11px; font-size:11px; }
  .visual-title { margin-top:52px; font-size:28px; }
  .visual-number { font-size:98px; right:16px; bottom:15px; }
  .trust-inner { grid-template-columns:1fr; gap:14px; padding:23px 0; }
  .trust-lead { grid-column:auto; }
  .trust-item { padding:0 0 0 16px; border-left:2px solid rgba(16,42,67,.27); }
  .section { padding:74px 0; }
  .section-head { display:block; margin-bottom:31px; }
  .section-head .button-secondary { margin-top:20px; }
  .service-grid, .category-list, .mission-grid, .form-grid { grid-template-columns:1fr; }
  .form-field.full { grid-column:auto; }
  .page-hero { padding:76px 0 71px; }
  .page-hero h1 { font-size:44px; }
  .page-hero p { font-size:16px; }
  .pathway { grid-template-columns:1fr; }
  .story-placeholder { grid-template-columns:1fr; gap:13px; padding:26px 22px; }
  .story-quote-mark { font-size:62px; }
  .story-placeholder-title { font-size:24px; }
  .pathway-item, .pathway-item:nth-child(2) { min-height:auto; border-right:0; border-bottom:1px solid var(--line); }
  .pathway-item:last-child { border-bottom:0; }
  .band-inner { display:block; }
  .band .button-primary { margin-top:25px; }
  .footer-top { grid-template-columns:1fr 1fr; gap:38px 20px; }
  .footer-top > :first-child { grid-column:1 / -1; }
  .footer-bottom { display:block; }
  .footer-bottom span { display:block; margin-top:5px; }
}
@media (max-width:430px) { .header-logo { width:64px; height:64px; } .footer-logo { width:78px; height:78px; } .brand-text small { letter-spacing:.1em; } .brand-text strong { font-size:12px; } .brand-mark { width:31px; height:31px; font-size:19px; } .actions { align-items:flex-start; flex-direction:column; gap:17px; } .form-card { padding:23px 18px; } }
