@font-face { font-family:'Atkinson Hyperlegible'; font-style:normal; font-weight:400; font-display:swap; src:url('assets/fonts/atkinson-hyperlegible-400.woff2') format('woff2'); }
@font-face { font-family:'Atkinson Hyperlegible'; font-style:normal; font-weight:700; font-display:swap; src:url('assets/fonts/atkinson-hyperlegible-700.woff2') format('woff2'); }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:200 800; font-display:swap; src:url('assets/fonts/manrope-variable.woff2') format('woff2'); }

:root { --font-body:'Atkinson Hyperlegible'; --font-heading:'Manrope'; --navy:#073b5c; --navy-deep:#042b44; --red:#ed1b2f; --red-dark:#c91225; --orange:#e88945; --orange-soft:#f2a666; --cream:#f7f1e8; --paper:#fffdf8; --ink:#12212b; --muted:#566771; --line:#d8dedf; }
* { box-sizing:border-box; }
img,svg { display:block; }
img { max-width:100%; }
svg:not([hidden]) { fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
[hidden] { display:none!important; }
button,input,select,textarea { font:inherit; }
::selection { background:var(--navy-deep); color:white; }
html { scroll-behavior:smooth; }
section[id],#approach { scroll-margin-top:160px; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--font-body),Arial,sans-serif; font-size:18px; line-height:1.55; }
a { color:inherit; }
h1,h2,h3 { margin:0; font-family:var(--font-heading),Arial,sans-serif; font-weight:650; line-height:1.04; letter-spacing:-.04em; }
p { margin:0; }
a:focus-visible,summary:focus-visible { outline:4px solid #ffd46a; outline-offset:3px; box-shadow:0 0 0 7px var(--navy-deep); }
.shell { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.skip-link { position:fixed; left:16px; top:-60px; z-index:100; background:white; padding:12px 18px; border:3px solid var(--red); }
.skip-link:focus { top:12px; }
.support-strip { background:var(--navy-deep); border-bottom:4px solid var(--orange); color:white; }
.support-strip-inner { min-height:60px; display:flex; align-items:center; justify-content:center; gap:32px; font-size:15px; text-align:center; }
.support-strip-inner a { display:inline-flex; align-items:center; flex:0 0 auto; gap:7px; color:white; font-weight:700; text-underline-offset:5px; }
.support-strip-inner a:hover,.support-strip-inner a:focus-visible { color:#ff8893; }
.site-header { position:sticky; top:0; z-index:50; border-bottom:4px solid var(--navy); background:rgb(255 255 255 / 97%); backdrop-filter:blur(14px); }
.header-inner { min-height:138px; display:grid; grid-template-columns:325px 1fr auto; align-items:center; gap:22px; }
.brand { position:relative; display:block; width:320px; height:134px; overflow:hidden; }
.brand img { position:absolute; display:block; width:360px; max-width:none; height:360px; left:-20px; top:-113px; object-fit:fill; mix-blend-mode:multiply; }
.main-nav { display:flex; justify-content:center; gap:clamp(18px,3vw,40px); }
.main-nav a { text-decoration:none; font-weight:700; font-size:16px; }
.main-nav a:nth-child(odd) { color:var(--navy); }
.main-nav a:nth-child(even) { color:var(--red-dark); }
.main-nav a:hover,.main-nav a:focus-visible { text-decoration:underline; text-decoration-thickness:3px; text-underline-offset:7px; }
.text-link:hover { color:var(--red-dark); }
.mobile-menu { display:none; position:relative; }
.mobile-menu summary { display:flex; align-items:center; gap:7px; padding:11px 14px; border:2px solid var(--navy); color:var(--navy); font-weight:700; cursor:pointer; list-style:none; }
.mobile-menu summary::-webkit-details-marker { display:none; }
.mobile-menu-links { position:absolute; right:0; top:calc(100% + 10px); width:240px; padding:14px; border:3px solid var(--navy); background:white; box-shadow:7px 7px 0 var(--red); }
.mobile-menu-links a { display:block; padding:10px 8px; color:var(--navy); font-weight:700; text-decoration:none; }
.mobile-menu-links a:nth-child(even) { color:var(--red-dark); }
.mobile-menu-links a:hover,.mobile-menu-links a:focus-visible { background:var(--cream); text-decoration:underline; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:56px; padding:0 25px; border:2px solid var(--red-dark); background:var(--red-dark); color:white; text-decoration:none; font-weight:700; box-shadow:5px 5px 0 var(--navy-deep); transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease; }
.button:hover,.button:focus-visible { transform:translate(2px,2px); box-shadow:3px 3px 0 var(--navy-deep); background:#a50e1d; }
.button-small { min-height:44px; padding-inline:18px; font-size:16px; }
.text-link { display:inline-flex; align-items:center; gap:8px; color:var(--navy); font-weight:700; text-underline-offset:5px; }
.hero { position:relative; overflow:hidden; background:linear-gradient(135deg,var(--orange-soft) 0%,var(--orange) 72%); border-bottom:6px solid var(--navy); }
.hero::after { content:''; position:absolute; inset:auto -8% -180px 48%; height:340px; background:var(--navy); transform:rotate(-7deg); opacity:.1; }
.hero-grid { position:relative; z-index:1; min-height:650px; display:grid; grid-template-columns:1.32fr .8fr; align-items:center; gap:clamp(50px,8vw,100px); padding:96px 0 78px; }
.eyebrow { margin-bottom:18px; color:var(--red-dark); font:800 15px/1.2 var(--font-heading),sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.hero-copy { border-left:8px solid var(--red); padding-left:30px; }
.hero-copy>.eyebrow { display:inline-block; padding:7px 10px; scroll-margin-top:180px; background:var(--paper); }
.hero h1 { max-width:720px; color:var(--navy-deep); font-size:clamp(46px,4.9vw,68px); text-decoration-line:underline; text-decoration-color:rgb(4 43 68 / 34%); text-decoration-thickness:2px; text-underline-offset:9px; text-decoration-skip-ink:none; }
.hero-intro { max-width:720px; margin-top:30px; color:#263d49; font-size:clamp(20px,1.8vw,23px); line-height:1.45; }
.hero-origin { max-width:680px; margin-top:15px; color:#3f5159; font-size:17px; line-height:1.55; }
.actions { display:flex; align-items:center; flex-wrap:wrap; gap:30px; margin-top:38px; }
.hero-panel { position:relative; padding:40px; background:var(--navy); color:white; box-shadow:13px 13px 0 var(--red); }
.panel-kicker { display:inline-block; margin-bottom:24px; padding:6px 10px; background:white; color:var(--navy); font:800 13px/1 var(--font-heading),sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.hero-panel h2 { font-size:38px; }
.hero-panel>p { margin-top:20px; color:#e2edf1; }
.hero-panel>a { display:inline-flex; align-items:center; gap:8px; margin-top:25px; color:white; font-weight:700; text-underline-offset:5px; }
.status { display:flex; gap:10px; margin-top:30px; padding-top:22px; border-top:1px solid rgb(255 255 255 / 24%); color:#d6e8ef; font-size:15px; }
.action-rail { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:6px solid var(--navy); }
.action-rail a { position:relative; display:flex; min-height:205px; flex-direction:column; padding:30px clamp(24px,3vw,42px); overflow:hidden; text-decoration:none; }
.action-rail a:nth-child(1) { background:var(--navy-deep); color:white; }
.action-rail a:nth-child(2) { background:var(--red-dark); color:white; }
.action-rail a:nth-child(3) { background:var(--cream); color:var(--navy-deep); }
.action-rail a:nth-child(4) { background:var(--orange-soft); color:var(--navy-deep); }
.action-rail span { font:800 13px/1.2 var(--font-heading),sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.action-rail strong { max-width:250px; margin-top:20px; font:650 clamp(28px,2.6vw,39px)/1.02 var(--font-heading),sans-serif; letter-spacing:-.04em; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px; }
.action-rail small { margin-top:14px; font-size:15px; }
.action-rail svg { position:absolute; right:28px; bottom:28px; transition:transform .18s ease; }
.action-rail a:hover svg,.action-rail a:focus-visible svg { transform:translate(7px,-2px); }
.action-rail a:hover,.action-rail a:focus-visible { filter:saturate(1.08) brightness(.97); }
.section { padding-block:105px; }
#support { background:var(--paper); }
.section-heading { max-width:760px; }
.section-heading h2,.about-grid h2 { max-width:720px; color:var(--navy); font-size:clamp(36px,4vw,54px); }
.section-heading h2::after,.about-grid h2::after { content:''; display:block; width:110px; height:5px; margin-top:24px; background:var(--red); }
.section-heading>p:last-child { max-width:620px; margin-top:22px; color:var(--muted); font-size:21px; }
.card-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:52px; }
.support-card { min-height:335px; padding:34px; border:1px solid var(--line); border-top:7px solid var(--red); background:white; display:flex; flex-direction:column; box-shadow:0 0 0 transparent; transition:transform .18s ease,box-shadow .18s ease; }
.support-card:nth-child(even) { border-top-color:var(--navy); }
.support-card>svg { width:58px; height:58px; padding:14px; background:var(--cream); color:var(--red); }
.support-card:nth-child(even)>svg { color:var(--navy); }
.support-card h3 { margin-top:34px; color:var(--navy); font-size:29px; }
.support-card p { margin-top:18px; color:var(--muted); }
.support-card a { display:inline-flex; align-items:center; gap:7px; margin-top:auto; padding-top:30px; color:var(--navy); font-weight:700; }
.support-card:hover { transform:translateY(-6px); box-shadow:9px 9px 0 var(--orange-soft); }
.work-section { background:var(--cream); border-top:6px solid var(--red); }
.compact-heading { max-width:800px; }
.work-list { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:48px; background:#c9d4d8; border:1px solid #c9d4d8; }
.work-list article { min-height:300px; padding:34px; background:white; transition:background-color .18s ease,transform .18s ease; }
.work-list span { color:var(--red); font:750 40px/1 var(--font-heading),sans-serif; letter-spacing:-.06em; }
.work-list article:nth-child(2) span { color:var(--navy); }
.work-list article:nth-child(3) span { color:var(--orange); }
.work-list h3 { margin-top:30px; color:var(--navy); font-size:29px; }
.work-list p { margin-top:16px; color:var(--muted); }
.work-list article:hover { transform:translateY(-5px); background:#fffaf4; }
.method-panel { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:start; margin-top:58px; padding:42px; border-top:8px solid var(--navy); background:white; box-shadow:10px 10px 0 var(--orange-soft); }
.method-intro h2 { max-width:430px; color:var(--navy-deep); font-size:clamp(34px,3.6vw,48px); }
.method-intro>p:last-child { margin-top:20px; color:var(--muted); font-size:18px; }
.method-steps { margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
.method-steps li { display:grid; grid-template-columns:46px 1fr; gap:18px; padding:18px 0; border-bottom:1px solid var(--line); }
.method-steps li>span { color:var(--red-dark); font:800 16px/1.25 var(--font-heading),sans-serif; }
.method-steps h3 { color:var(--navy); font-size:23px; }
.method-steps p { margin-top:7px; color:var(--muted); font-size:16px; }
.featured-case { display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; margin-top:90px; padding:50px; border-left:8px solid var(--red); background:var(--navy-deep); color:white; box-shadow:12px 12px 0 var(--orange); }
.featured-case .eyebrow { color:#ff8b96; }
.featured-case h2 { max-width:520px; color:white; font-size:clamp(36px,4vw,52px); text-decoration:underline; text-decoration-color:rgb(255 255 255 / 26%); text-decoration-thickness:1px; text-underline-offset:7px; text-decoration-skip-ink:none; }
.case-summary { display:grid; gap:0; margin:34px 0 0; border-top:1px solid rgb(255 255 255 / 28%); }
.case-summary div { display:grid; grid-template-columns:125px 1fr; gap:18px; padding:14px 0; border-bottom:1px solid rgb(255 255 255 / 28%); }
.case-summary dt { color:#ff8b96; font-weight:700; }
.case-summary dd { margin:0; color:white; }
.publishing-note { margin-top:28px; padding:24px; border-left:6px solid var(--orange); background:#0a466b; }
.publishing-label { color:#ffadb4; font:800 13px/1.2 var(--font-heading),sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.publishing-note h3 { margin-top:12px; color:white; font-size:26px; line-height:1.08; }
.publishing-note>p:last-child { margin-top:14px; color:#e5eff3; font-size:16px; }
.featured-case-copy { padding-top:4px; }
.featured-case-copy>p { color:#e5eff3; font-size:19px; }
.featured-case-copy>p+p { margin-top:20px; }
.featured-case-copy .case-lede { padding-left:20px; border-left:4px solid #ff8b96; color:white; font-size:21px; }
.featured-case-copy .case-stand { padding-top:2px; color:white; }
.featured-case-copy a:not(.button) { color:white; font-weight:700; text-decoration-thickness:2px; text-underline-offset:5px; }
.featured-case-copy a:not(.button):hover,.featured-case-copy a:not(.button):focus-visible { color:#ff9da6; }
.why-it-matters { margin-top:26px; padding:24px; border-left:6px solid var(--orange); background:#0a466b; }
.why-it-matters h3 { color:white; font-size:24px; }
.why-it-matters p { margin-top:12px; color:#e5eff3; font-size:16px; }
.featured-case-copy .case-denial { margin-top:26px; padding-top:20px; border-top:1px solid rgb(255 255 255 / 28%); font-size:15px; }
.featured-case-copy .button { margin-top:28px; }
.policy-focus { display:grid; grid-template-columns:.72fr 1.28fr; gap:70px; align-items:start; margin-top:90px; padding-top:70px; border-top:4px solid var(--navy); }
.policy-intro h2 { color:var(--navy); font-size:clamp(36px,4vw,52px); }
.policy-intro>p:not(.eyebrow) { margin-top:22px; color:var(--muted); font-size:20px; }
.university-support-note { margin-top:34px; padding:28px; border-top:7px solid var(--red); background:white; box-shadow:8px 8px 0 var(--orange-soft); }
.university-support-note .support-note-label { color:var(--red-dark); font:800 13px/1.2 var(--font-heading),sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.university-support-note h3 { margin-top:14px; color:var(--navy); font-size:27px; line-height:1.08; }
.university-support-note>p:not(.support-note-label) { margin-top:16px; color:var(--muted); font-size:17px; }
.university-support-note a { display:inline-flex; align-items:center; gap:7px; margin-top:22px; color:var(--navy); font-weight:700; text-underline-offset:5px; }
.university-support-note a:hover,.university-support-note a:focus-visible { color:var(--red-dark); }
.policy-details { display:grid; gap:24px; }
.peer-support-card { padding:32px 38px; border-left:8px solid var(--navy); background:white; box-shadow:8px 8px 0 var(--orange-soft); }
.peer-support-card .support-note-label { color:var(--red-dark); font:800 13px/1.2 var(--font-heading),sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.peer-support-card h3 { margin-top:14px; color:var(--navy-deep); font-size:29px; }
.peer-support-card p:not(.support-note-label) { margin-top:16px; color:var(--muted); font-size:16px; }
.peer-support-card a { display:inline-flex; align-items:center; gap:7px; margin-top:22px; color:var(--navy); font-weight:700; text-underline-offset:5px; }
.peer-support-card a:hover,.peer-support-card a:focus-visible { color:var(--red-dark); }
.evidence-card { padding:38px; border-left:8px solid var(--red); background:var(--navy-deep); color:white; }
.evidence-label { color:#ff8893; font:800 14px/1.2 var(--font-heading),sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.evidence-card h3 { margin-top:16px; font-size:34px; }
.evidence-card>p:not(.evidence-label) { margin-top:20px; color:#e5eff3; }
.evidence-note { padding-top:20px; border-top:1px solid rgb(255 255 255 / 25%); font-size:15px; }
.evidence-links { display:flex; flex-wrap:wrap; gap:13px 24px; margin-top:28px; }
.evidence-links a { display:inline-flex; align-items:center; gap:7px; color:white; font-weight:700; text-underline-offset:5px; }
.evidence-links a:hover,.evidence-links a:focus-visible { color:#ff8893; }
.stories-section { background:linear-gradient(135deg,var(--orange-soft) 0%,var(--orange) 72%); border-top:6px solid var(--navy); color:var(--navy-deep); }
.stories-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; }
.stories-grid h2 { font-size:clamp(38px,4vw,54px); }
.stories-section .eyebrow { display:inline-block; padding:7px 10px; background:var(--navy-deep); color:white; font-size:18px; letter-spacing:.12em; }
.story-note { padding:34px; border-left:8px solid var(--red); background:rgb(255 253 248 / 88%); font-size:21px; }
.story-note p + p { margin-top:18px; }
.story-note h3 { margin-top:30px; color:var(--navy); font-size:29px; }
.story-note .story-safety { padding-top:18px; border-top:1px solid rgb(4 43 68 / 24%); color:#445861; font-size:16px; }
.story-note a { display:inline-flex; align-items:center; gap:7px; margin-top:24px; color:var(--navy); font-weight:700; text-underline-offset:5px; }
.story-note a:hover,.story-note a:focus-visible { color:var(--red-dark); }
.rights-band { padding-block:100px; background:var(--navy-deep); border-top:6px solid var(--red); color:white; }
.rights-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; }
.rights-grid h2 { max-width:500px; font-size:clamp(42px,5vw,68px); }
.rights-intro { max-width:470px; margin-top:24px; color:#d7e5eb; font-size:18px; }
.light { color:#ff6472; }
.topic-list { border-top:1px solid rgb(255 255 255 / 25%); }
.topic-list a { display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:18px; padding:24px 0; border-bottom:1px solid rgb(255 255 255 / 25%); text-decoration:none; transition:padding-left .18s ease,color .18s ease; }
.topic-list span { color:#ff8b96; font-size:14px; }
.topic-list strong { display:block; color:white; font:700 23px/1.2 var(--font-heading),sans-serif; }
.topic-list small { display:block; margin-top:7px; color:#d7e5eb; font-size:15px; }
.topic-list a:hover,.topic-list a:focus-visible { padding-left:14px; color:#ff8b96; }
.standards-section { background:var(--paper); border-top:6px solid var(--orange); }
.standards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:50px; }
.standards-grid article { min-height:310px; padding:32px; border:1px solid var(--line); border-top:7px solid var(--red); background:white; }
.standards-grid article:nth-child(2) { border-top-color:var(--navy); }
.standards-grid article:nth-child(3) { border-top-color:var(--orange); }
.standards-grid svg { color:var(--red); }
.standards-grid article:nth-child(2) svg { color:var(--navy); }
.standards-grid article:nth-child(3) svg { color:var(--orange); }
.standards-grid h3 { margin-top:28px; color:var(--navy); font-size:28px; }
.standards-grid p { margin-top:17px; color:var(--muted); font-size:17px; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; border-top:6px solid var(--red); }
.about-copy { padding-top:34px; }
.about-copy p { margin-bottom:20px; color:var(--muted); font-size:21px; }
.about-copy .text-link { margin-top:12px; }
.take-part-section { padding-block:100px; background:var(--navy-deep); border-top:6px solid var(--orange); color:white; }
.take-part-section .section-heading h2 { color:white; }
.take-part-section .section-heading h2::after { background:var(--orange); }
.take-part-section .section-heading>p:last-child { color:#dbe8ed; }
.take-part-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:50px; }
.take-part-grid article { display:flex; min-height:315px; flex-direction:column; padding:32px; border:1px solid rgb(255 255 255 / 24%); background:#0a466b; }
.take-part-grid article>svg { color:#ff7582; }
.take-part-grid h3 { margin-top:28px; font-size:28px; }
.take-part-grid p { margin-top:17px; color:#dbe8ed; }
.take-part-grid a { display:inline-flex; align-items:center; gap:7px; margin-top:auto; padding-top:28px; color:white; font-weight:700; text-underline-offset:5px; }
.take-part-grid a:hover,.take-part-grid a:focus-visible { color:#ff8d97; }
.support-band { padding-block:96px; background:var(--cream); border-top:6px solid var(--navy); }
.support-band-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; }
.support-band h2 { max-width:520px; color:var(--navy); font-size:clamp(40px,4.5vw,60px); }
.support-copy { padding:38px; border-top:8px solid var(--orange); background:white; box-shadow:10px 10px 0 var(--navy); }
.support-copy p { color:var(--muted); font-size:19px; }
.support-copy p + p { margin-top:18px; }
.support-copy .button { margin-top:30px; }
.contact-band { padding-block:80px; background:var(--red-dark); border-top:6px solid var(--orange); color:white; }
.contact-inner { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:36px; text-align:center; }
.contact-intro { display:flex; flex-direction:column; align-items:center; }
.contact-inner h2 { max-width:780px; font-size:clamp(36px,4vw,50px); }
.contact-intro>p:last-child { margin-top:18px; color:#fff1f2; }
.contact-guide { width:min(940px,100%); padding:34px; border-top:7px solid var(--navy-deep); background:white; color:var(--navy-deep); text-align:left; box-shadow:10px 10px 0 var(--navy-deep); }
.contact-guide-kicker { color:var(--red-dark); font:800 13px/1.2 var(--font-heading),sans-serif; letter-spacing:.11em; text-align:center; text-transform:uppercase; }
.contact-guide h3 { margin-top:10px; font-size:31px; text-align:center; }
.contact-guide ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:28px 0 0; padding:0; list-style:none; }
.contact-guide li { display:grid; grid-template-columns:42px 1fr; gap:14px; min-height:138px; padding:21px; border-top:5px solid var(--red); background:var(--cream); }
.contact-guide li:nth-child(2) { border-top-color:var(--navy); }
.contact-guide li:nth-child(3) { border-top-color:var(--orange); }
.contact-guide li:nth-child(4) { border-top-color:var(--red-dark); }
.contact-guide li>span { color:var(--red-dark); font:800 18px/1 var(--font-heading),sans-serif; }
.contact-guide li strong { display:block; color:var(--navy-deep); font:750 20px/1.15 var(--font-heading),sans-serif; }
.contact-guide li p { margin-top:8px; color:#405762; font-size:15px; line-height:1.5; }
.contact-safety { display:grid; grid-template-columns:auto 1fr; gap:15px; align-items:start; margin-top:18px; padding:20px 22px; background:var(--navy-deep); color:white; }
.contact-safety svg { margin-top:2px; color:#ff8b96; }
.contact-safety p { color:white; font-size:15px; line-height:1.55; }
.contact-safety strong { color:white; }
.email-link { display:inline-block; margin-top:8px; color:white; font-weight:700; text-decoration-thickness:2px; text-underline-offset:5px; }
.email-link:hover,.email-link:focus-visible { color:var(--navy-deep); background:white; outline:4px solid white; }
.contact-band .eyebrow { color:white; font-size:16px; }
.button-light { flex:0 0 auto; border-color:white; background:white; color:var(--navy-deep); box-shadow:5px 5px 0 var(--navy-deep); }
.button-light:hover { background:var(--cream); color:var(--navy-deep); }
footer { padding-block:44px; background:white; border-top:4px solid var(--navy); font-size:14px; }
.footer-top { display:grid; grid-template-columns:250px 1fr auto; align-items:center; gap:40px; padding-bottom:32px; border-bottom:2px solid var(--navy); }
.footer-brand { position:relative; display:block; width:220px; height:88px; overflow:hidden; }
.footer-brand img { position:absolute; display:block; width:248px; max-width:none; height:248px; left:-14px; top:-78px; object-fit:fill; mix-blend-mode:multiply; }
.footer-tagline { color:var(--navy-deep); font:650 clamp(28px,3vw,40px)/1 var(--font-heading),sans-serif; letter-spacing:-.04em; }
.footer-cta { display:inline-flex; align-items:center; gap:8px; color:var(--red-dark); font-weight:700; text-decoration-thickness:2px; text-underline-offset:5px; }
.footer-links { display:flex; flex-wrap:wrap; gap:12px 30px; padding-block:22px; border-bottom:1px solid var(--line); }
.footer-links a { color:var(--navy); font-weight:700; text-decoration-thickness:2px; text-underline-offset:5px; }
.footer-links a:nth-child(even) { color:var(--red-dark); }
.footer-links a:hover,.footer-links a:focus-visible { text-decoration-thickness:3px; }
.footer-meta { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; padding-top:26px; }
.footer-meta p { color:var(--navy-deep); }
.footer-legal { max-width:850px; }
.footer-legal>p:first-child { font-weight:400; line-height:1.55; }
.footer-legal p+p { margin-top:14px; }
.footer-contact,.footer-trademark { font-weight:700; }
.footer-contact span { margin-right:4px; color:var(--red-dark); }
.footer-trademark { flex:0 0 auto; }
.footer-meta a { color:var(--navy-deep); text-decoration-thickness:2px; text-underline-offset:4px; }
@media (max-width:1100px) { .header-inner{grid-template-columns:285px 1fr auto} .brand{width:280px} .brand img{width:320px;height:320px;top:-100px;left:-18px} .main-nav{gap:14px} .main-nav a{font-size:15px} }
@media (max-width:950px) { .header-inner{grid-template-columns:1fr auto auto} .main-nav{display:none} .mobile-menu{display:block} .hero-grid,.rights-grid,.about-grid,.stories-grid,.featured-case,.policy-focus,.support-band-grid,.method-panel{grid-template-columns:1fr} .hero-grid{gap:55px} .action-rail{grid-template-columns:repeat(2,1fr)} .work-list,.standards-grid{grid-template-columns:1fr} .support-card{min-height:300px} .standards-grid article{min-height:260px} .footer-top{grid-template-columns:220px 1fr}.footer-cta{grid-column:2}.footer-meta{align-items:flex-start;flex-direction:column;gap:18px} }
@media (max-width:620px) { body{font-size:17px} .shell{width:min(100% - 28px,1180px)} .header-inner{min-height:clamp(92px,27vw,108px);grid-template-columns:minmax(0,1fr) auto;gap:8px} .brand{width:min(225px,calc(100vw - 142px));height:clamp(76px,24vw,96px)} .brand img{width:111%;height:auto;top:0;left:-5.5%;transform:translateY(-31.4%)} .header-inner>.button{display:none} .hero-grid{min-height:auto;padding-block:62px 76px} .hero-copy{border-left-width:5px;padding-left:18px} .hero h1{font-size:42px} .hero-panel{padding:30px 25px;box-shadow:8px 8px 0 var(--red)} .section,.rights-band{padding-block:76px} .featured-case{margin-top:65px;padding:34px 24px;box-shadow:8px 8px 0 var(--orange)} .topic-list a{grid-template-columns:35px 1fr auto;font-size:19px} }
@media (max-width:620px) { .support-strip-inner{min-height:92px;align-items:flex-start;flex-direction:column;justify-content:center;gap:7px;text-align:left} .action-rail{grid-template-columns:1fr}.action-rail a{min-height:175px}.support-band{padding-block:74px} .support-copy{padding:28px 24px;box-shadow:7px 7px 0 var(--navy)} .contact-guide{padding:27px 20px;box-shadow:7px 7px 0 var(--navy-deep)} .contact-guide h3{font-size:27px}.contact-guide ul{grid-template-columns:1fr}.contact-guide li{min-height:0}.contact-safety{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr;gap:20px}.footer-cta{grid-column:auto}.footer-links{gap:10px 20px}.footer-meta{padding-top:22px} }
@media (max-width:700px) { .card-grid,.take-part-grid{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{transition:none!important} }
