@font-face { font-family: "Inter"; src: url("assets/fonts/Inter-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("assets/fonts/Inter-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("assets/fonts/Inter-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("assets/fonts/Inter-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("assets/fonts/Inter-ExtraBold.woff2") format("woff2"); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("assets/fonts/Inter-Black.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; }

:root { --navy:#102a4c; --deep-blue:#012d6a; --blue:#0054b5; --royal:#005db9; --yellow:#ffc800; --green:#72c515; --pale:#eff4fb; --ink:#161616; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:#fff; scrollbar-width:none; }
html::-webkit-scrollbar { display:none; }
body { margin:0; color:var(--ink); background:#fff; font-family:"Inter",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
.responsive-site { display:block; max-width:1920px; margin-inline:auto; }
.shell { width:min(1200px,62.5vw); margin-inline:auto; }
.site-header,footer { background:var(--navy); color:white; }

.site-header { height:min(125px,6.510417vw); }
.header-inner { height:100%; display:grid; grid-template-columns:1fr auto auto; gap:min(54px,2.8125vw); align-items:center; }
.brand { width:min(280px,14.583333vw); height:auto; }
.social-strip { width:min(112px,5.833333vw); height:auto; }
.social-links { display:flex; align-items:center; gap:15.534%; }
.social-link { display:block; flex:40 1 0; min-width:0; border-radius:3px; }
.social-link:nth-of-type(2) { flex-grow:46; }
.social-link:nth-of-type(3) { flex-grow:54; }
.social-link img { display:block; width:100%; height:auto; }
.social-link[href]:hover { opacity:.8; }
.social-link[href]:focus-visible { outline:2px solid var(--yellow); outline-offset:5px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:min(16px,.833333vw); min-height:min(64px,3.333333vw); border-radius:min(7px,.364583vw); background:var(--yellow); color:#082343; padding:min(18px,.9375vw) min(34px,1.770833vw); font-size:min(16px,.833333vw); line-height:1; font-weight:900; text-transform:uppercase; box-shadow:0 1px 0 rgb(0 0 0 / 12%); transition:.2s ease; }
.button:hover { background:#ffd62f; transform:translateY(-1px); }
.button img { width:min(25px,1.302083vw); height:min(26px,1.354167vw); object-fit:contain; }
.button-stack { display:flex; flex-direction:column; align-items:flex-start; gap:min(20px,1.041667vw); }
.button-stack .button { width:min(408px,21.25vw); }
.button.button-outline { background:transparent; border:1px solid #0754a6; color:#003377; box-shadow:none; }
.hero .button.button-outline { border-color:#b0c7e3; color:#fff; }
.button.button-outline:hover { background:rgb(0 51 119 / 5%); }
.hero .button.button-outline:hover { background:rgb(255 255 255 / 10%); }
.button-small { min-width:min(290px,15.104167vw); min-height:min(64px,3.333333vw); padding:min(17px,.885417vw) min(30px,1.5625vw); }

.hero { height:min(727px,37.864583vw); color:white; background:var(--deep-blue) url("assets/hero.webp") center/cover no-repeat; }
.hero-inner { height:100%; display:flex; align-items:flex-start; }
.hero-copy { width:min(540px,28.125vw); padding-top:min(86px,4.479167vw); }
.hero h1 { margin:0; font-size:min(64px,3.333333vw); line-height:.95; text-transform:uppercase; letter-spacing:-.045em; font-weight:900; }
.hero h1 span { color:var(--yellow); }
.hero-copy p { max-width:min(505px,26.302083vw); margin:min(42px,2.1875vw) 0 min(76px,3.958333vw); font-size:min(20px,1.041667vw); line-height:1.3; font-weight:600; }

.intro { height:min(496px,25.833333vw); padding:0; }
.intro-grid { height:100%; display:grid; grid-template-columns:min(440px,22.916667vw) 1fr; gap:min(98px,5.104167vw); align-items:center; }
.eyebrow { margin:0 0 min(16px,.833333vw); color:var(--royal); font-weight:900; text-transform:uppercase; font-size:min(12px,.625vw); line-height:1.2; }
.intro h2 { margin:0; color:#070b13; font-size:min(48px,2.5vw); line-height:.98; letter-spacing:-.04em; font-weight:800; }
.intro h2 span { color:#0958ae; }
.body-copy { margin:min(25px,1.302083vw) 0 0; font-size:min(16px,.833333vw); line-height:1.42; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); height:min(270px,14.0625vw); }
.principles article { display:flex; min-width:0; flex-direction:column; align-items:center; justify-content:center; padding:0 min(22px,1.145833vw); text-align:center; border-left:1px solid #9f9f9f; }
.principles img { width:auto; height:min(72px,3.75vw); margin:0 auto min(20px,1.041667vw); object-fit:contain; }
.principles h3 { margin:0; color:#064697; text-transform:uppercase; font-size:min(14px,.729167vw); line-height:1.1; font-weight:800; }
.principles p { margin:min(18px,.9375vw) 0 0; font-size:min(14px,.729167vw); line-height:1.35; }

.section-title { margin:0; color:#064388; font-size:min(30px,1.5625vw); line-height:1.08; text-align:center; text-transform:uppercase; letter-spacing:-.025em; font-weight:900; }
.fronts-section { height:min(664px,34.583333vw); background:var(--pale); }
.fronts-section>.shell { height:min(608px,31.666667vw); padding-top:min(52px,2.708333vw); }
.fronts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:min(30px,1.5625vw); margin-top:min(40px,2.083333vw); }
.front-card { position:relative; height:min(450px,23.4375vw); border:min(2px,.104167vw) solid currentColor; border-radius:min(14px,.729167vw); background:white; padding:min(82px,4.270833vw) min(31px,1.614583vw) min(24px,1.25vw); }
.front-card.blue { --accent:#005bb8; color:var(--accent); } .front-card.green { --accent:#6cc21c; color:var(--accent); } .front-card.yellow { --accent:#f5b900; color:var(--accent); }
.front-number { position:absolute; top:min(22px,1.145833vw); left:min(31px,1.614583vw); display:grid; width:min(44px,2.291667vw); height:min(44px,2.291667vw); place-items:center; border-radius:50%; background:var(--accent); color:white; font-size:min(14px,.729167vw); font-weight:900; }
.front-icon { position:absolute; top:min(78px,4.0625vw); right:min(31px,1.614583vw); width:min(58px,3.020833vw); height:min(58px,3.020833vw); object-fit:contain; }
.front-card h3 { max-width:min(230px,11.979167vw); min-height:min(50px,2.604167vw); margin:0 0 min(14px,.729167vw); font-size:min(15px,.78125vw); line-height:1.08; text-transform:uppercase; font-weight:800; }
.front-card p { margin:0 0 min(18px,.9375vw); color:#20252c; font-size:min(12px,.625vw); line-height:1.22; font-weight:600; }
.front-card ul { margin:0; padding-left:min(17px,.885417vw); color:#222a32; font-size:min(11px,.572917vw); line-height:1.52; }
.central-axis { height:min(56px,2.916667vw); display:flex; gap:min(13px,.677083vw); align-items:center; justify-content:center; background:#00337d; color:white; padding:0 min(20px,1.041667vw); font-size:min(13px,.677083vw); line-height:1; font-weight:900; text-transform:uppercase; }
.central-axis img { width:min(31px,1.614583vw); height:min(27px,1.40625vw); object-fit:contain; }

.commitments-section { height:min(722px,37.604167vw); padding-top:min(81px,4.21875vw); }
.commitments-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:min(18px,.9375vw); margin-top:min(47px,2.447917vw); }
.commitment-card { height:min(236px,12.291667vw); border:min(1.5px,.078125vw) solid #0b6dda; border-radius:min(8px,.416667vw); padding:min(15px,.78125vw); }
.commitment-head { display:flex; height:min(42px,2.1875vw); align-items:center; gap:min(8px,.416667vw); color:#0b6dda; }
.commitment-head span { font-size:min(32px,1.666667vw); line-height:1; font-weight:900; }
.commitment-head img { width:auto; height:min(35px,1.822917vw); object-fit:contain; }
.commitment-card h3 { margin:min(14px,.729167vw) 0 min(10px,.520833vw); color:#151a22; font-size:min(11px,.572917vw); line-height:1.14; font-weight:800; }
.commitment-card p { margin:0; font-size:min(10px,.520833vw); line-height:1.27; }

.proposals-section { height:min(582px,30.3125vw); padding-top:min(76px,3.958333vw); background:var(--pale); }
.proposals-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:min(18px,.9375vw); margin-top:min(44px,2.291667vw); }
.proposal-card { height:min(294px,15.3125vw); overflow:hidden; border-radius:min(10px,.520833vw); background:white; box-shadow:0 min(2px,.104167vw) min(10px,.520833vw) rgb(16 49 90 / 5%); }
.proposal-card>img { width:100%; height:min(155px,8.072917vw); object-fit:cover; }
.proposal-card div { padding:min(14px,.729167vw) min(14px,.729167vw) min(16px,.833333vw); }
.proposal-card h3 { margin:0 0 min(9px,.46875vw); color:#0963b8; font-size:min(11px,.572917vw); line-height:1.1; text-transform:uppercase; font-weight:800; }
.proposal-card.green h3 { color:#55b51c; }
.proposal-card p { margin:0; font-size:min(10px,.520833vw); line-height:1.3; }

.planning-section { height:min(299px,15.572917vw); padding-top:min(52px,2.708333vw); }
.planning-flow { display:grid; grid-template-columns:1fr min(32px,1.666667vw) 1fr min(32px,1.666667vw) 1fr min(32px,1.666667vw) 1fr; gap:min(15px,.78125vw); align-items:start; margin-top:min(46px,2.395833vw); }
.planning-flow article { display:grid; grid-template-columns:min(48px,2.5vw) 1fr; gap:min(15px,.78125vw); }
.planning-flow article>img { width:auto; height:min(45px,2.34375vw); object-fit:contain; justify-self:center; }
.planning-flow h3 { margin:0 0 min(7px,.364583vw); color:#0860b8; font-size:min(15px,.78125vw); line-height:1; text-transform:uppercase; font-weight:800; }
.planning-flow strong { display:block; margin-bottom:min(7px,.364583vw); font-size:min(9px,.46875vw); line-height:1.15; }
.planning-flow p { margin:0; font-size:min(9px,.46875vw); line-height:1.25; }
.flow-arrow { align-self:center; width:min(24px,1.25vw); height:auto; }

.quote-section { height:min(301px,15.677083vw); display:flex; align-items:center; color:white; background:#0752a7 url("assets/quote-banner.webp") center/cover no-repeat; }
.quote-inner { padding-left:min(58px,3.020833vw); }
.quote-section blockquote { margin:0 0 min(18px,.9375vw); font-size:min(39px,2.03125vw); line-height:.96; font-weight:900; text-transform:uppercase; letter-spacing:-.03em; }
.quote-section p { margin:0; font-size:min(16px,.833333vw); line-height:1.25; text-transform:uppercase; font-weight:800; }
.quote-section p strong { color:var(--yellow); }

.download-section { height:min(513px,26.71875vw); padding:0; }
.download-grid { height:100%; display:grid; grid-template-columns:min(480px,25vw) 1fr; gap:min(74px,3.854167vw); align-items:center; max-width:min(1040px,54.166667vw); }
.download-grid>img { width:min(315px,16.40625vw); max-height:min(390px,20.3125vw); justify-self:end; object-fit:contain; }
.download-grid h2 { margin:0; color:#0754a6; font-size:min(36px,1.875vw); line-height:1; text-transform:uppercase; font-weight:800; }
.mobile-title-break { display:none; }
.download-grid p { max-width:min(500px,26.041667vw); margin:min(28px,1.458333vw) 0 min(42px,2.1875vw); font-size:min(16px,.833333vw); line-height:1.4; }

footer { height:min(150px,7.8125vw); }
.footer-inner { height:100%; display:grid; grid-template-columns:1fr 1.5fr 1fr; align-items:center; gap:min(30px,1.5625vw); }
.footer-inner>strong { font-size:min(23px,1.197917vw); line-height:1.1; text-align:center; text-transform:uppercase; font-weight:800; }
.footer-inner>strong span { color:var(--yellow); }
.footer-inner .social-strip { justify-self:end; }

/* Measurements follow the 1920 × 4578 reference; all copy remains live text. */
.proposal-card h3 span { color:#65c000; }
.planning-flow ul { margin:0; padding-left:1em; font-size:min(12px,.625vw); line-height:1.15; }
.footer-brand small { display:block; font-size:10px; letter-spacing:2px; margin-top:9px; text-align:center; }
.footer-brand { width:fit-content; }
@media (max-width:900px) { .planning-flow ul { font-size:11px; } .footer-brand { justify-self:center; } }
@media (min-width:901px) {
  .responsive-site { --u:min(1px,.052083333vw); }
  .hero h1 { font-size:calc(62 * var(--u)); line-height:1.06; letter-spacing:0; }
  .hero-copy p { font-size:calc(28.97 * var(--u)); max-width:calc(575 * var(--u)); margin:calc(34 * var(--u)) 0 calc(40 * var(--u)); line-height:1.22; font-weight:500; }
  .hero-copy { width:calc(600 * var(--u)); padding-top:calc(78 * var(--u)); }
  .button { font-size:calc(20 * var(--u)); }
  .hero .button,.download-section .button { width:calc(408 * var(--u)); padding-inline:calc(20 * var(--u)); }
  .intro { height:calc(450 * var(--u)); }
  .intro-grid { grid-template-columns:calc(450 * var(--u)) 1fr; gap:calc(0 * var(--u)); }
  .eyebrow { font-size:calc(17 * var(--u)); white-space:nowrap; margin-bottom:calc(26 * var(--u)); }
  .intro h2 { font-size:calc(50 * var(--u)); line-height:1.08; letter-spacing:-.02em; }
  .body-copy { font-size:calc(20 * var(--u)); font-weight:500; line-height:normal; margin-top:calc(26 * var(--u)); }
  .principles { height:calc(260 * var(--u)); }
  .principles article { justify-content:flex-start; padding:0 calc(30 * var(--u)); }
  .principles article:first-child { border-left:0; }
  .principles img { height:calc(92 * var(--u)); margin-bottom:calc(27 * var(--u)); }
  .principles h3 { font-size:calc(19 * var(--u)); }
  .principles p { font-size:calc(19 * var(--u)); line-height:1.08; margin-top:calc(24 * var(--u)); }
  .section-title { font-size:calc(26 * var(--u)); letter-spacing:-.02em; font-weight:800; }
  .fronts-section { height:calc(710 * var(--u)); }
  .fronts-section>.shell { width:calc(1136 * var(--u)); height:calc(654 * var(--u)); padding-top:calc(42 * var(--u)); }
  .fronts-grid { gap:calc(30 * var(--u)); margin-top:calc(28 * var(--u)); }
  .front-card { height:calc(536 * var(--u)); padding:calc(90 * var(--u)) calc(26 * var(--u)) calc(24 * var(--u)); }
  .front-number { left:calc(26 * var(--u)); }
  .front-card h3 { font-size:calc(16 * var(--u)); max-width:calc(210 * var(--u)); min-height:0; line-height:1.12; margin-bottom:calc(14 * var(--u)); }
  .front-card p { font-size:calc(14 * var(--u)); max-width:calc(215 * var(--u)); margin-bottom:calc(20 * var(--u)); }
  .front-card ul { font-size:calc(14 * var(--u)); line-height:1.55; max-width:calc(185 * var(--u)); }
  .front-icon { width:calc(50 * var(--u)); height:calc(50 * var(--u)); right:calc(54 * var(--u)); top:calc(88 * var(--u)); }
  .central-axis { font-size:calc(17 * var(--u)); }
  .central-axis img { width:calc(38 * var(--u)); height:calc(38 * var(--u)); }
  .commitments-section { height:calc(784 * var(--u)); padding-top:calc(82 * var(--u)); }
  .commitments-grid { margin-top:calc(30 * var(--u)); gap:calc(20 * var(--u)); }
  .commitment-card { height:calc(280 * var(--u)); padding:calc(18 * var(--u)); }
  .commitment-head { gap:calc(12 * var(--u)); }
  .commitment-head span { font-size:calc(40 * var(--u)); font-weight:700; letter-spacing:calc(-1 * var(--u)); }
  .commitment-head img { height:calc(42 * var(--u)); }
  .commitment-card h3 { font-size:calc(14 * var(--u)); font-weight:700; line-height:1.2; margin:calc(20 * var(--u)) 0 calc(18 * var(--u)); }
  .commitment-card p { font-size:calc(14 * var(--u)); line-height:1.22; }
  .proposals-section { height:calc(454 * var(--u)); padding-top:calc(38 * var(--u)); }
  .proposals-section>.shell { width:calc(1136 * var(--u)); }
  .proposals-grid { margin-top:calc(30 * var(--u)); gap:calc(18 * var(--u)); }
  .proposal-card { height:calc(324 * var(--u)); }
  .proposal-card>img { height:calc(143 * var(--u)); }
  .proposal-card div { padding:calc(18 * var(--u)); }
  .proposal-card h3 { font-size:calc(15 * var(--u)); max-width:calc(180 * var(--u)); margin-bottom:calc(16 * var(--u)); }
  .proposal-card p { font-size:calc(13 * var(--u)); font-weight:500; line-height:normal; }
  .planning-section { height:calc(365 * var(--u)); padding-top:calc(42 * var(--u)); }
  .planning-section>.shell { width:calc(1136 * var(--u)); }
  .planning-flow { margin-top:calc(64 * var(--u)); gap:calc(18 * var(--u)); grid-template-columns:1fr calc(32 * var(--u)) 1fr calc(32 * var(--u)) 1fr calc(32 * var(--u)) 1fr; }
  .planning-flow h3 { font-size:calc(20 * var(--u)); white-space:nowrap; margin-bottom:calc(14 * var(--u)); }
  .planning-flow strong { font-size:calc(13 * var(--u)); line-height:1.15; }
  .planning-flow p { font-size:calc(12 * var(--u)); font-weight:500; line-height:normal; }
  .planning-flow article { gap:calc(8 * var(--u)); }
  .quote-section { position:relative; background:none; }
  .quote-section::before { content:""; position:absolute; inset:calc(-50 * var(--u)) 0 0; background:url("assets/quote-banner.webp") center/100% 100% no-repeat; }
  .quote-inner { position:relative; }
  .quote-section blockquote { font-size:calc(36 * var(--u)); line-height:1.06; max-width:calc(570 * var(--u)); }
  .quote-section p { font-size:calc(20 * var(--u)); }
  .download-section { height:calc(512 * var(--u)); }
  .download-grid { max-width:calc(1040 * var(--u)); grid-template-columns:calc(440 * var(--u)) 1fr; gap:calc(84 * var(--u)); }
  .download-grid>img { width:calc(425 * var(--u)); max-height:calc(470 * var(--u)); }
  .download-grid h2 { font-size:calc(36 * var(--u)); line-height:1.05; }
  .download-grid p { max-width:calc(390 * var(--u)); font-size:calc(20 * var(--u)); font-weight:500; line-height:normal; margin:calc(28 * var(--u)) 0 calc(58 * var(--u)); }
  .footer-brand .brand { width:calc(260 * var(--u)); }
  .footer-brand small { font-size:calc(10 * var(--u)); letter-spacing:calc(2 * var(--u)); margin-top:calc(9 * var(--u)); }
  footer { height:calc(150 * var(--u)); background:#00337d; }
  .footer-inner>strong { font-size:calc(29 * var(--u)); white-space:nowrap; }
}

@media (max-width:900px) {
  .responsive-site { display:block; }
  .shell { width:min(100% - 36px,720px); }
  .site-header { height:78px; }
  .header-inner { grid-template-columns:1fr auto; gap:16px; }
  .brand { width:190px; }
  .social-strip { width:92px; }
  .header-inner .social-strip { display:none; }
  .button { min-height:48px; gap:10px; padding:14px 20px; border-radius:6px; font-size:12px; }
  .button img { width:20px; height:20px; }
  .button-small { min-width:0; min-height:44px; padding:12px 15px; font-size:10px; }
  .hero { height:650px; background-position:60% center; }
  .hero-inner { align-items:flex-end; }
  .hero-copy { width:100%; padding:0 0 48px; }
  .hero h1 { max-width:520px; font-size:clamp(42px,8vw,62px); }
  .hero-copy p { max-width:500px; margin:24px 0 30px; font-size:17px; }
  .intro { height:auto; padding:58px 0; }
  .intro-grid { height:auto; grid-template-columns:1fr; gap:48px; }
  .eyebrow { margin-bottom:13px; font-size:12px; }
  .intro h2 { font-size:42px; }
  .body-copy { margin-top:22px; font-size:16px; }
  .principles { height:auto; grid-template-columns:repeat(3,1fr); }
  .principles article { min-height:220px; padding:0 18px; }
  .principles img { height:62px; margin-bottom:17px; }
  .principles h3,.principles p { font-size:13px; }
  .principles p { margin-top:14px; }
  .section-title { font-size:25px; }
  .fronts-section { height:auto; }
  .fronts-section>.shell { height:auto; padding:52px 0; }
  .fronts-grid { grid-template-columns:1fr; gap:22px; margin-top:34px; }
  .front-card { height:auto; min-height:430px; border-width:2px; border-radius:13px; padding:78px 28px 28px; }
  .front-number { top:22px; left:28px; width:42px; height:42px; font-size:14px; }
  .front-icon { top:76px; right:28px; width:58px; height:58px; }
  .front-card h3 { max-width:240px; min-height:48px; margin-bottom:12px; font-size:16px; }
  .front-card p { margin-bottom:18px; font-size:14px; }
  .front-card ul { padding-left:18px; font-size:13px; line-height:1.65; }
  .central-axis { height:58px; gap:10px; padding:0 16px; font-size:11px; text-align:center; }
  .central-axis img { width:28px; height:26px; flex:0 0 auto; }
  .commitments-section,.proposals-section,.planning-section,.download-section,footer { height:auto; }
  .commitments-section { padding:58px 0; }
  .commitments-grid { grid-template-columns:repeat(2,1fr); gap:16px; margin-top:34px; }
  .commitment-card { height:auto; min-height:245px; border-width:1.5px; border-radius:8px; padding:16px; }
  .commitment-head { height:40px; gap:8px; }
  .commitment-head span { font-size:30px; }
  .commitment-head img { height:34px; }
  .commitment-card h3 { margin:14px 0 10px; font-size:13px; }
  .commitment-card p { font-size:12px; line-height:1.35; }
  .proposals-section { padding:58px 0; }
  .proposals-grid { grid-template-columns:repeat(2,1fr); gap:18px; margin-top:34px; }
  .proposal-card { height:auto; min-height:305px; border-radius:10px; }
  .proposal-card>img { height:165px; }
  .proposal-card div { padding:15px; }
  .proposal-card h3 { margin-bottom:9px; font-size:12px; }
  .proposal-card p { font-size:12px; line-height:1.35; }
  .planning-section { padding:58px 0; }
  .planning-flow { grid-template-columns:repeat(2,1fr); gap:34px; margin-top:38px; }
  .planning-flow article { grid-template-columns:48px 1fr; gap:15px; }
  .planning-flow article>img { height:44px; }
  .planning-flow h3 { margin-bottom:8px; font-size:15px; }
  .planning-flow strong,.planning-flow p { font-size:11px; }
  .flow-arrow { display:none; }
  .quote-section { height:360px; background-position:58% center; }
  .quote-inner { padding-left:0; }
  .quote-section blockquote { margin-bottom:18px; font-size:34px; }
  .quote-section p { font-size:15px; }
  .download-section { padding:54px 0; }
  .download-grid { height:auto; grid-template-columns:260px 1fr; gap:38px; max-width:720px; }
  .download-grid>img { width:250px; max-height:330px; }
  .download-grid h2 { font-size:30px; }
  .download-grid p { max-width:430px; margin:22px 0 28px; font-size:15px; }
  footer { min-height:120px; }
  .footer-inner { min-height:120px; grid-template-columns:1fr 1.5fr auto; gap:20px; }
  .footer-inner>strong { font-size:18px; }
}

@media (max-width:560px) {
  .shell { width:min(100% - 28px,520px); }
  .brand { width:164px; }
  .hero { height:680px; background:linear-gradient(180deg,rgb(1 45 106 / 4%) 0 38%,rgb(1 45 106 / 96%) 67%),url("assets/hero.webp") 61% top/auto 440px no-repeat,var(--deep-blue); }
  .hero h1 { font-size:clamp(39px,12vw,56px); }
  .hero-copy p { font-size:16px; }
  .intro h2 { font-size:38px; }
  .principles { grid-template-columns:1fr; }
  .principles article { min-height:auto; padding:28px 12px; border-left:0; border-top:1px solid #d7d7d7; }
  .front-card { min-height:455px; }
  .commitments-grid,.proposals-grid,.planning-flow { grid-template-columns:1fr; }
  .commitment-card { min-height:220px; }
  .proposal-card { display:grid; grid-template-columns:125px 1fr; min-height:180px; }
  .proposal-card>img { height:100%; }
  .quote-section { position:relative; height:480px; align-items:flex-end; background-position:63% center; }
  .quote-section::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 22%,rgb(2 45 96 / 90%) 74%); }
  .quote-inner { position:relative; z-index:1; padding-bottom:42px; }
  .quote-section blockquote { font-size:29px; }
  .download-grid { grid-template-columns:1fr; gap:18px; text-align:center; }
  .download-grid>img { width:230px; justify-self:center; }
  .download-grid h2 { font-size:29px; }
  .download-grid p { margin-inline:auto; }
  .footer-inner { grid-template-columns:1fr; padding:28px 0; }
  .footer-inner .brand,.footer-inner .social-strip { justify-self:center; }
  .footer-inner>strong { font-size:18px; }
}

/* Colors and text rhythm adjusted in the browser inspector. */
.header-inner .button { color:#102a4c; }
.hero .button,.download-section .button { color:#003377; }
.quote-section blockquote .quote-mark { color:#fec502; }
.body-copy,.commitment-card p,.proposal-card p,.planning-flow p,.planning-flow ul,.download-grid p { font-weight:500; line-height:normal; }
.hero-copy p { font-weight:500; }

/* Mobile content follows its natural height and stays centered. */
@media (max-width:900px) {
  .shell { width:calc(100% - 32px); max-width:600px; }
  .site-header { height:78px; padding:0; }
  .header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; }
  .header-inner .social-strip { display:none; }
  .button { max-width:100%; line-height:1.3; }
  .button img { flex-shrink:0; }
  .button-stack { align-items:center; gap:14px; }
  .button-stack .button { width:280px; max-width:100%; padding-inline:14px; }
  .hero { --hero-photo-height:max(clamp(240px,78vw,420px),52vw); position:relative; height:auto; background:var(--deep-blue); text-align:center; }
  .hero::before { content:""; display:block; height:var(--hero-photo-height); background:var(--deep-blue) url("assets/hero.webp") calc(50% - var(--hero-photo-height) * .306666667) center/auto 100% no-repeat; mask-image:linear-gradient(to bottom,#000 55%,transparent 92%); }
  .hero::after { content:""; position:absolute; top:calc(var(--hero-photo-height) - 16px); left:0; right:0; height:20px; background:var(--deep-blue); pointer-events:none; }
  .hero-inner { position:relative; z-index:1; height:auto; display:block; }
  .hero-copy { width:100%; padding:16px 0 40px; }
  .hero h1 { max-width:100%; font-size:clamp(32px,9vw,54px); line-height:1.05; letter-spacing:-.025em; }
  .hero-copy p { max-width:440px; margin:24px auto 28px; font-size:16px; line-height:1.5; }
  .intro,.fronts-section,.commitments-section,.proposals-section,.planning-section,.download-section,footer { text-align:center; }
  .intro h2 { font-size:clamp(30px,8vw,42px); }
  .eyebrow { white-space:normal; line-height:1.5; }
  .body-copy { max-width:480px; margin-inline:auto; line-height:1.5; }
  .principles { grid-template-columns:1fr; }
  .principles article { min-height:0; padding:28px 16px; border-left:0; border-top:1px solid #d7d7d7; }
  .principles p { max-width:300px; margin-inline:auto; font-size:15px; line-height:1.5; }
  .section-title { font-size:clamp(22px,5.8vw,28px); line-height:1.25; }
  .front-card { min-height:0; padding:28px 24px; }
  .front-number { position:static; margin:0 auto 20px; }
  .front-icon { position:static; margin:0 auto 20px; }
  .front-card h3 { max-width:360px; min-height:0; margin:0 auto 16px; line-height:1.35; }
  .front-card p { margin:0 auto 20px; }
  .front-card ul { padding:0; margin-inline:auto; list-style:none; text-align:center; line-height:1.8; font-size:14px; }
  .central-axis { height:auto; min-height:58px; flex-direction:column; gap:12px; padding:20px 16px; line-height:1.5; }
  .central-axis img { display:block; width:36px; height:36px; margin-inline:auto; }
  .central-axis-copy { display:block; width:100%; max-width:440px; text-align:center; }
  .central-axis-label { display:block; margin-bottom:4px; }
  .commitments-grid,.proposals-grid,.planning-flow { grid-template-columns:minmax(0,1fr); }
  .commitment-card { min-height:0; padding:24px; }
  .commitment-head { justify-content:center; }
  .commitment-card h3 { font-size:16px; line-height:1.35; }
  .commitment-card p,.proposal-card p { font-size:15px; line-height:1.5; }
  .proposal-card { display:block; min-height:0; }
  .proposal-card>img { width:100%; height:auto; }
  .proposal-card div { padding:24px; }
  .proposal-card h3 { font-size:17px; line-height:1.3; max-width:none; }
  .planning-flow article { grid-template-columns:minmax(0,1fr); gap:18px; }
  .planning-flow article>img { width:auto; height:48px; max-width:100%; }
  .planning-flow h3 { font-size:18px; white-space:normal; }
  .planning-flow strong { font-size:14px; line-height:1.4; }
  .planning-flow p,.planning-flow ul { max-width:360px; margin:12px auto 0; font-size:15px; line-height:1.5; }
  .planning-flow ul { padding:0; list-style:none; text-align:center; }
  .quote-section { display:block; height:auto; background:#0752a7; text-align:center; }
  .quote-section::before { content:""; position:static; display:block; height:clamp(220px,65vw,320px); background:url("assets/quote-banner.webp") 64% center/auto 100% no-repeat; }
  .quote-inner { padding:24px 0 36px; }
  .quote-section blockquote { font-size:clamp(23px,6.5vw,34px); line-height:1.2; }
  .download-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .download-grid>img { max-width:100%; justify-self:center; }
  .download-grid h2 { font-size:clamp(22px,6.6vw,30px); line-height:1.25; }
  .download-grid .mobile-title-break { display:block; }
  .download-grid .desktop-title-break { display:none; }
  .download-grid p { max-width:400px; margin-inline:auto; font-size:16px; line-height:1.5; }
  .footer-inner { grid-template-columns:minmax(0,1fr); padding:28px 0; }
  .footer-inner>strong { white-space:normal; line-height:1.4; }
  .footer-inner>strong span { display:block; }
  .footer-inner .social-strip { justify-self:center; }
}

.skip-link { position:fixed; top:12px; left:12px; z-index:1000; padding:12px 18px; background:#fff; color:#012d6a; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); outline:3px solid #ffc800; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }
