:root { --navy:#061726; --navy-2:#0c2941; --cyan:#58c9df; --cream:#f2ecdf; --paper:#fbf8f1; --gold:#c89a52; --gold-light:#e7ca95; --ink:#142331; --muted:#65717a; --line:rgba(20,35,49,.15); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:Aptos,Inter,"Segoe UI",sans-serif; color:var(--ink); background:var(--paper); font-size:16px; }
a { color:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
img { display:block; max-width:100%; }
.skip-link { position:fixed; left:12px; top:-80px; z-index:100; background:white; color:var(--ink); padding:12px 16px; }
.skip-link:focus { top:12px; }
.section-shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.site-header { position:absolute; z-index:20; inset:0 0 auto; height:88px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,5vw,80px); color:white; border-bottom:1px solid rgba(255,255,255,.11); }
.brand { display:flex; gap:12px; align-items:center; text-decoration:none; }
.brand-logo { width:68px; height:68px; flex:none; object-fit:contain; filter:drop-shadow(0 8px 18px rgba(0,0,0,.3)); }
.brand-words { display:flex; flex-direction:column; line-height:1; }
.brand-words strong { color:white; font-family:Georgia,"Times New Roman",serif; font-size:19px; font-weight:400; letter-spacing:.035em; }
.brand-words small { margin-top:6px; color:var(--gold-light); font-size:9px; font-weight:700; letter-spacing:.23em; text-transform:uppercase; }
nav { display:flex; align-items:center; gap:32px; }
nav a { text-decoration:none; color:rgba(255,255,255,.78); font-size:14px; transition:color .2s ease; }
nav a:hover,nav a:focus-visible { color:white; }
.nav-cta { border:1px solid rgba(229,200,150,.6); padding:10px 15px; background:rgba(6,23,38,.25); }

.hero { position:relative; min-height:900px; overflow:hidden; background:var(--navy); color:white; isolation:isolate; }
.hero-office { position:absolute; inset:0; z-index:-2; background:url("assets/digital-office.webp") center/cover no-repeat; }
.hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(4,16,27,.98) 0%,rgba(4,16,27,.91) 37%,rgba(4,16,27,.48) 63%,rgba(4,16,27,.18) 100%),linear-gradient(0deg,rgba(4,16,27,.72),transparent 45%); }
.hero::after { content:""; position:absolute; z-index:0; left:0; right:0; bottom:0; height:170px; background:linear-gradient(transparent,rgba(4,16,27,.85)); pointer-events:none; }
.hero-grid { position:relative; z-index:2; width:min(1180px,calc(100% - 64px)); min-height:900px; margin:auto; display:grid; grid-template-columns:1fr; align-items:center; padding-top:92px; }
.hero-copy { max-width:820px; padding:80px 0; }
.eyebrow { max-width:650px; margin:0 0 28px; color:var(--gold-light); font-size:13px; letter-spacing:.18em; text-transform:uppercase; line-height:1.7; }
h1,h2,h3,p { text-wrap:pretty; }
h1 { margin:0; max-width:720px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(58px,6.8vw,106px); line-height:.92; font-weight:400; letter-spacing:-.05em; }
.hero-lead { max-width:650px; margin:34px 0 42px; color:rgba(255,255,255,.76); font-size:clamp(18px,1.65vw,23px); line-height:1.62; }
.hero-actions { display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 25px; text-decoration:none; font-size:15px; font-weight:700; transition:transform .2s ease,background .2s ease,color .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--gold); color:#081726; box-shadow:0 14px 34px rgba(0,0,0,.24); }
.button-primary:hover { background:var(--gold-light); }
.text-link { color:white; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.42); padding-bottom:7px; }
.proof-bar { position:relative; z-index:4; display:grid; grid-template-columns:repeat(4,1fr); background:var(--cream); border-bottom:1px solid var(--line); }
.proof-bar div { min-height:128px; display:flex; align-items:center; justify-content:center; gap:15px; padding:24px; border-right:1px solid var(--line); }
.proof-bar div:last-child { border-right:0; }
.proof-bar strong { font-family:Georgia,serif; font-size:28px; color:var(--navy); font-weight:400; white-space:nowrap; }
.proof-bar span { max-width:160px; color:var(--muted); font-size:14px; line-height:1.45; }
.section-label { color:var(--gold); font-size:12px; letter-spacing:.17em; text-transform:uppercase; font-weight:700; }
.section-label.light { color:var(--gold-light); }
.kicker { margin:0 0 18px; color:var(--gold); font-size:13px; letter-spacing:.12em; text-transform:uppercase; }
.intro { display:grid; grid-template-columns:.31fr .69fr; gap:40px; padding-block:135px; }
.intro h2,.services h2,.team h2,.community-impact h2,.expanded-support h2,.ways h2,.pricing h2,.contact h2 { margin:0; font-family:Georgia,serif; font-weight:400; letter-spacing:-.035em; line-height:1.08; }
.intro h2 { max-width:900px; font-size:clamp(42px,5vw,72px); }
.intro-copy>p { max-width:760px; margin:30px 0 0; color:var(--muted); font-size:19px; line-height:1.75; }

.services { padding-block:126px; background:var(--navy); color:white; }
.services-heading { display:grid; grid-template-columns:.31fr .69fr; gap:40px; margin-bottom:72px; }
.services h2 { font-size:clamp(43px,5vw,70px); }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.17); border-left:1px solid rgba(255,255,255,.17); }
.service-card { min-height:470px; padding:46px 38px 40px; border-right:1px solid rgba(255,255,255,.17); border-bottom:1px solid rgba(255,255,255,.17); }
.service-number { color:var(--cyan); font-size:12px; letter-spacing:.16em; }
.service-card h3 { margin:44px 0 18px; font-family:Georgia,serif; font-size:clamp(27px,2.5vw,36px); font-weight:400; line-height:1.13; }
.service-card p { max-width:500px; color:rgba(255,255,255,.64); font-size:16px; line-height:1.65; }
.service-card ul { margin:26px 0 0; padding:0; list-style:none; display:grid; gap:11px; color:rgba(255,255,255,.86); }
.service-card li { position:relative; padding-left:18px; line-height:1.48; }
.service-card li::before { content:""; position:absolute; left:0; top:.66em; width:6px; height:1px; background:var(--gold); }
.service-card-dbs { grid-column:1/-1; min-height:auto; display:grid; grid-template-columns:.65fr 1.35fr 1fr; gap:clamp(34px,5vw,72px); align-items:start; padding:62px 54px; background:linear-gradient(120deg,rgba(88,201,223,.08),rgba(200,154,82,.07)); }
.dbs-identity { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.dbs-mark { margin-top:26px; color:white; font-family:Georgia,serif; font-size:clamp(54px,6vw,82px); letter-spacing:-.06em; line-height:.9; }
.dbs-identity>span:last-child { color:var(--gold-light); font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.dbs-copy .kicker { color:var(--cyan); }
.dbs-copy h3 { margin:0 0 22px; max-width:650px; font-size:clamp(30px,3.2vw,46px); }
.dbs-copy>p:not(.kicker) { max-width:680px; }
.dbs-link { display:inline-flex; gap:8px; margin-top:18px; padding-bottom:6px; color:white; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.4); font-weight:700; }
.dbs-services { margin-top:4px!important; grid-template-columns:1fr!important; }

.team { padding-block:135px; }
.team-heading { display:grid; grid-template-columns:.31fr .69fr; gap:40px; margin-bottom:86px; }
.team h2 { max-width:850px; font-size:clamp(43px,5vw,68px); }
.team-member { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(48px,8vw,110px); align-items:center; padding-block:65px; border-top:1px solid var(--line); }
.team-member-caitlin { grid-template-columns:1.18fr .82fr; }
.team-member-caitlin .team-photo { order:2; }
.team-photo { height:650px; overflow:hidden; background:var(--navy); box-shadow:0 24px 55px rgba(17,35,49,.12); }
.team-photo img { width:100%; height:100%; object-fit:cover; }
.team-member-vanessa .team-photo img { object-position:center 30%; }
.team-member-caitlin .team-photo img { object-position:center 28%; }
.team-role { color:var(--gold); font-size:12px; letter-spacing:.15em; text-transform:uppercase; font-weight:700; }
.team-copy h3 { margin:20px 0 26px; font-family:Georgia,serif; font-size:clamp(42px,5vw,64px); line-height:1; font-weight:400; letter-spacing:-.035em; }
.team-copy>p { color:var(--muted); font-size:17px; line-height:1.76; }
.team-copy .team-lead { color:var(--ink); font-size:20px; }
.quality-list { display:flex; flex-wrap:wrap; gap:9px; margin-top:32px; }
.quality-list span { border:1px solid var(--line); padding:10px 14px; font-size:13px; color:#42515d; }

.community-impact { padding-block:130px; color:white; background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%); }
.impact-heading { display:grid; grid-template-columns:.31fr .69fr; gap:40px; margin-bottom:70px; }
.community-impact .kicker { color:var(--cyan); }
.community-impact h2 { max-width:880px; font-size:clamp(43px,5vw,68px); }
.impact-lead { max-width:830px; margin:28px 0 0; color:rgba(255,255,255,.7); font-size:18px; line-height:1.75; }
.impact-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.18); border-left:1px solid rgba(255,255,255,.18); }
.impact-grid article { min-height:330px; padding:38px 34px; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.impact-grid article>span { color:var(--cyan); font-size:12px; letter-spacing:.16em; }
.impact-grid h3 { margin:44px 0 18px; font-family:Georgia,serif; font-size:30px; font-weight:400; }
.impact-grid p { margin:0; color:rgba(255,255,255,.65); line-height:1.72; }
.impact-gallery { display:grid; grid-template-columns:repeat(3,1fr); margin-top:56px; border-top:1px solid rgba(255,255,255,.18); border-left:1px solid rgba(255,255,255,.18); }
.impact-gallery figure { position:relative; min-width:0; height:320px; margin:0; overflow:hidden; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); background:#091d2e; }
.impact-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.impact-gallery figure:hover img { transform:scale(1.025); }
.impact-gallery figcaption { position:absolute; inset:auto 0 0; padding:48px 22px 18px; color:white; background:linear-gradient(transparent,rgba(3,14,24,.92)); font-size:14px; font-weight:650; letter-spacing:.015em; }
.impact-gallery figure:nth-child(2) img,.impact-gallery figure:nth-child(3) img,.impact-gallery figure:nth-child(9) img { object-position:center 30%; }
.impact-gallery-note { margin:13px 0 0; color:rgba(255,255,255,.48); font-size:13px; }
.impact-invitation { display:flex; align-items:center; justify-content:space-between; gap:50px; margin-top:28px; padding:38px 40px; border:1px solid rgba(200,154,82,.45); background:rgba(255,255,255,.035); }
.impact-invitation>div { max-width:790px; }
.impact-invitation span { color:var(--gold-light); font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.impact-invitation p { margin:12px 0 0; color:rgba(255,255,255,.76); font-size:17px; line-height:1.65; }
.button-impact { flex:none; color:var(--navy); background:var(--gold-light); }

.expanded-support { background:var(--cream); padding-block:125px; }
.expanded-support .section-shell { display:grid; grid-template-columns:.25fr .75fr; gap:40px; }
.expanded-copy { max-width:810px; }
.expanded-support h2 { font-size:clamp(43px,5vw,68px); }
.expanded-copy p { color:var(--muted); font-size:18px; line-height:1.7; }
.capability-list { grid-column:2; margin-top:40px; border-top:1px solid var(--line); }
.capability-list>div { display:grid; grid-template-columns:60px minmax(250px,.9fr) 1fr; gap:20px; align-items:center; padding:28px 0; border-bottom:1px solid var(--line); }
.capability-list span { color:var(--gold); font-size:12px; }
.capability-list h3 { margin:0; font-family:Georgia,serif; font-size:23px; font-weight:400; }
.capability-list p { margin:0; color:var(--muted); line-height:1.55; }
.ways { padding-block:130px; }
.ways-intro { display:grid; grid-template-columns:.31fr .69fr; gap:40px; align-items:start; margin-bottom:70px; }
.ways h2 { font-size:clamp(43px,5vw,67px); }
.engagements { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.engagements article { padding:36px 34px 20px 0; border-right:1px solid var(--line); margin-right:32px; }
.engagements article:last-child { border:0; margin-right:0; }
.engagements span { color:var(--gold); text-transform:uppercase; letter-spacing:.14em; font-size:11px; }
.engagements h3 { margin:24px 0 14px; font-family:Georgia,serif; font-size:29px; font-weight:400; }
.engagements p { color:var(--muted); line-height:1.7; }
.pricing { padding-block:126px; background:var(--cream); }
.pricing-heading { display:grid; grid-template-columns:.31fr .69fr; gap:40px; margin-bottom:68px; }
.pricing h2 { max-width:920px; font-size:clamp(43px,5vw,68px); }
.pricing-heading>div:last-child>p:last-child { max-width:790px; margin:26px 0 0; color:var(--muted); font-size:18px; line-height:1.7; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.price-card { min-height:295px; padding:34px 32px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.32); }
.price-card>span { color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.price-card h3 { margin:30px 0 18px; color:var(--navy); font-family:Georgia,serif; font-size:44px; font-weight:400; line-height:1; letter-spacing:-.035em; }
.price-card h3 small { display:block; margin-bottom:9px; color:var(--muted); font-family:Aptos,Inter,"Segoe UI",sans-serif; font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.price-card h3 em { color:var(--muted); font-family:Aptos,Inter,"Segoe UI",sans-serif; font-size:15px; font-style:normal; letter-spacing:0; }
.price-card p { margin:0; color:var(--muted); line-height:1.65; }
.pricing-note { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:32px; color:white; background:var(--navy); }
.pricing-note p { margin:0; font-family:Georgia,serif; font-size:24px; }
.button-dark { flex:none; color:var(--navy); background:var(--gold-light); }
.testimonial { padding-block:120px; color:white; background:var(--navy-2); }
.testimonial .kicker { color:var(--gold-light); }
.testimonial h2 { max-width:840px; margin:0 0 62px; font-family:Georgia,serif; font-size:clamp(40px,5vw,65px); font-weight:400; letter-spacing:-.035em; line-height:1.08; }
.testimonial-grid { display:grid; grid-template-columns:1.35fr .65fr; border-top:1px solid rgba(255,255,255,.18); border-left:1px solid rgba(255,255,255,.18); }
.testimonial-card { position:relative; min-height:420px; margin:0; padding:45px 40px 38px; display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.testimonial-card-featured { background:rgba(255,255,255,.035); }
.quote-mark { height:42px; color:var(--gold); font-family:Georgia,serif; font-size:70px; line-height:1; }
.testimonial blockquote { margin:24px 0 38px; font-family:Georgia,serif; font-size:clamp(25px,2.8vw,39px); font-weight:400; line-height:1.34; }
.testimonial-card:not(.testimonial-card-featured) blockquote { font-size:clamp(27px,3vw,42px); }
.testimonial figcaption { margin-top:auto; display:flex; flex-direction:column; gap:7px; }
.testimonial figcaption strong { color:white; font-size:15px; }
.testimonial figcaption span { max-width:500px; color:rgba(255,255,255,.57); font-size:12px; letter-spacing:.1em; line-height:1.55; text-transform:uppercase; }
.contact { padding-block:125px; background:#030e18; color:white; }
.contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(50px,10vw,140px); align-items:end; }
.contact h2 { font-size:clamp(45px,6vw,76px); }
.contact-copy>p { color:rgba(255,255,255,.64); font-size:18px; line-height:1.7; }
.contact-actions { display:flex; gap:12px; margin:32px 0; flex-wrap:wrap; }
.button-gold { background:var(--gold); color:var(--navy); }
.button-outline { border:1px solid rgba(255,255,255,.35); color:white; }
.contact-detail { display:block; width:max-content; max-width:100%; margin-top:10px; color:rgba(255,255,255,.82); text-underline-offset:4px; overflow-wrap:anywhere; }
footer { min-height:100px; padding:24px clamp(24px,5vw,80px); display:flex; align-items:center; justify-content:space-between; gap:24px; background:#02080e; color:rgba(255,255,255,.5); font-size:13px; }
footer .brand { color:white; }
footer .brand-logo { width:64px; height:64px; }
.js .reveal { opacity:0; transform:translateY(20px); transition:opacity .7s ease,transform .7s ease; }
.js .reveal.is-visible { opacity:1; transform:none; }

@media (max-width:1100px) {
  .service-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px) {
  .site-header { height:76px; } nav { gap:16px; } nav a:not(.nav-cta) { display:none; }
  .hero { min-height:760px; } .hero-grid { width:min(100% - 48px,1180px); min-height:760px; padding-top:76px; }
  .hero-copy { padding:76px 0 56px; }
  .hero::before { background:linear-gradient(180deg,rgba(4,16,27,.97) 0%,rgba(4,16,27,.88) 43%,rgba(4,16,27,.48) 100%); }
  .proof-bar { grid-template-columns:repeat(2,1fr); } .proof-bar div:nth-child(2) { border-right:0; }
  .intro,.services-heading,.team-heading,.impact-heading,.ways-intro,.pricing-heading,.contact-grid { grid-template-columns:1fr; } .intro { padding-block:92px; }
  .team-member,.team-member-caitlin { grid-template-columns:1fr; gap:44px; }
  .team-member-caitlin .team-photo { order:0; }
  .team-photo { height:min(720px,105vw); }
  .service-card-dbs { grid-template-columns:1fr 1.6fr; }
  .dbs-services { grid-column:1/-1; grid-template-columns:repeat(2,1fr)!important; }
  .testimonial-grid { grid-template-columns:1fr; }
  .testimonial-card { min-height:360px; }
  .impact-grid { grid-template-columns:1fr; }
  .impact-grid article { min-height:auto; }
  .impact-gallery { grid-template-columns:repeat(2,1fr); }
  .impact-invitation { align-items:flex-start; flex-direction:column; }
  .expanded-support .section-shell { grid-template-columns:1fr; } .capability-list { grid-column:1; }
  .engagements { grid-template-columns:1fr; } .engagements article { border-right:0; border-bottom:1px solid var(--line); margin-right:0; padding-block:30px; }
  .pricing-grid { grid-template-columns:repeat(2,1fr); }
  footer { flex-wrap:wrap; }
}
@media (max-width:620px) {
  .section-shell { width:min(100% - 34px,1180px); } .brand-logo { width:50px; height:50px; } .brand-words strong { font-size:16px; } .brand-words small { font-size:8px; letter-spacing:.16em; } .site-header { padding-inline:17px; } .nav-cta { padding:9px 11px; }
  h1 { font-size:56px; } .hero-lead { font-size:18px; }
  .proof-bar { grid-template-columns:1fr; } .proof-bar div { justify-content:flex-start; padding-inline:26px; border-right:0; border-bottom:1px solid var(--line); }
  .service-grid { grid-template-columns:1fr; } .service-card { min-height:auto; padding:38px 28px; } .service-card h3 { margin-top:34px; }
  .service-card-dbs { grid-template-columns:1fr; gap:26px; }
  .dbs-copy h3 { margin-top:0; }
  .dbs-services { grid-column:1; grid-template-columns:1fr!important; }
  .team-photo { height:125vw; max-height:610px; }
  .capability-list>div { grid-template-columns:34px 1fr; } .capability-list p { grid-column:2; }
  .impact-gallery { grid-template-columns:1fr; } .impact-gallery figure { height:300px; }
  .impact-invitation { padding:30px 26px; }
  .pricing-grid { grid-template-columns:1fr; } .price-card { min-height:auto; }
  .pricing-note { align-items:flex-start; flex-direction:column; }
  footer { flex-direction:column; align-items:flex-start; padding-block:32px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; } }

/* Shared navigation and distinct page introductions */
.site-header { position:relative; background:#061726; gap:22px; height:88px; }
.site-header nav { gap:clamp(10px,1.5vw,24px); margin-left:auto; }
.site-header nav a { white-space:nowrap; font-size:14px; }
.site-header nav a[aria-current="page"] { color:var(--gold-light); border-bottom:1px solid var(--gold-light); padding-bottom:6px; }
.home-button { flex:none; text-decoration:none; border:1px solid rgba(231,202,149,.65); padding:9px 16px; color:var(--gold-light); font-weight:700; font-size:14px; }
.home-button:hover,.home-button:focus-visible { background:var(--gold-light); color:var(--navy); }
.menu-toggle { display:none; background:none; border:1px solid rgba(231,202,149,.6); color:white; font:inherit; padding:10px 14px; cursor:pointer; }
.page-hero { padding:clamp(76px,10vw,140px) 0 clamp(70px,8vw,110px); background:linear-gradient(110deg,#061726 0%,#0c2941 70%,#17394d 100%); color:white; }
.page-hero .section-shell { position:relative; }
.page-hero h1 { max-width:950px; font-size:clamp(48px,6.5vw,88px); line-height:1.04; }
.page-hero .hero-lead { max-width:790px; margin-bottom:0; }
.page-index .hero,.page-index .hero-grid { min-height:700px; }
.route-overview { padding-block:110px 125px; }
.route-grid { margin-top:34px; display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.route-grid a { display:flex; flex-direction:column; padding:38px; text-decoration:none; min-height:280px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .2s ease; }
.route-grid a:hover,.route-grid a:focus-visible { background:var(--cream); }
.route-grid span { color:#967140; font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.route-grid h2 { max-width:440px; margin:28px 0 10px; font:400 clamp(28px,3vw,40px)/1.15 Georgia,serif; }
.route-grid p { margin:0 0 20px; color:var(--muted); line-height:1.6; }
.route-grid b { margin-top:auto; color:#78582f; font-size:14px; }
.page-contact .contact { min-height:520px; }
.page-about .team,.page-services .services,.page-pricing .pricing,.page-impact .community-impact { padding-top:95px; }
.impact-gallery figure { height:auto; display:flex; flex-direction:column; }
.impact-gallery img { width:100%; height:370px; flex:none; object-fit:contain; object-position:center; background:#102638; }
.impact-gallery figure:nth-child(2) img,.impact-gallery figure:nth-child(3) img,.impact-gallery figure:nth-child(9) img { object-position:center; }
.impact-gallery figcaption { position:static; flex:1; padding:17px 20px 20px; background:#091d2e; line-height:1.45; }
.impact-gallery figure:hover img { transform:none; }
@media (max-width:1150px) {
  .site-header { flex-wrap:wrap; height:auto; min-height:76px; padding:12px 24px; }
  .site-header nav { display:none; position:absolute; z-index:25; top:100%; left:0; right:0; padding:18px 24px 26px; background:#061726; box-shadow:0 20px 30px rgba(0,0,0,.28); margin:0; flex-direction:column; align-items:stretch; gap:0; }
  .site-header nav.is-open { display:flex; }
  .site-header nav a,.site-header nav a:not(.nav-cta) { display:block; padding:13px 8px; border-bottom:1px solid rgba(255,255,255,.13); }
  .site-header nav a[aria-current="page"] { border-bottom-color:var(--gold-light); }
  .menu-toggle { display:block; margin-left:auto; }
  .home-button { order:-1; }
}
@media (max-width:620px) {
  .site-header { gap:9px; padding:10px 16px; }
  .site-header .brand { margin-right:auto; }
  .site-header .brand-words { display:none; }
  .home-button { order:-1; padding:9px 10px; }
  .menu-toggle { margin-left:0; padding:9px 10px; }
  .page-hero { padding:75px 0; }
  .page-hero h1 { font-size:clamp(46px,11vw,65px); }
  .page-index .hero,.page-index .hero-grid { min-height:660px; }
  .route-overview { padding-block:75px; }
  .route-grid { grid-template-columns:1fr; }
  .route-grid a { min-height:220px; padding:28px; }
  .impact-gallery figure { height:auto; }
  .impact-gallery img { height:min(110vw,430px); }
}
