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

:root { --ink:#202422; --paper:#f6f1e9; --white:#fffdf9; --sage:#b7cac0; --coral:#f19b85; --coral-dark:#c95f49; --display:"Barlow Condensed","Arial Narrow",sans-serif; --body:"DM Sans",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--body); line-height:1.6; }
a { color:inherit; }
img { display:block; max-width:100%; }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:100; padding:.75rem 1rem; background:white; }
.skip-link:focus { top:1rem; }
.site-header { position:absolute; z-index:2; inset:0 0 auto; display:flex; justify-content:space-between; align-items:center; padding:1.4rem clamp(1.25rem,5vw,5rem); color:white; }
.brand img, footer img { width:60px; height:58px; object-fit:contain; }
.home-link { font-size:.85rem; font-weight:600; text-underline-offset:.3rem; }
.hero { min-height:720px; display:grid; grid-template-columns:1.25fr .75fr; overflow:hidden; color:white; background:var(--ink); }
.hero-copy { align-self:center; padding:10rem clamp(1.5rem,8vw,9rem) 6rem; }
.eyebrow { margin:0 0 1.25rem; text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; font-weight:700; }
h1,h2,h3 { margin:0; font-family:var(--display); line-height:.92; text-transform:uppercase; }
h1 { font-size:clamp(5rem,11vw,10rem); letter-spacing:-.035em; }
h1 span { color:var(--sage); }
.hero-copy > p:last-child { max-width:42rem; margin:2rem 0 0; color:rgba(255,255,255,.72); font-size:1.12rem; }
.hero-mark { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; min-height:520px; padding:3rem; color:var(--ink); background:var(--coral); font-family:var(--display); font-size:clamp(3rem,6vw,6rem); font-weight:800; line-height:.8; text-transform:uppercase; }
.hero-mark i { width:2px; height:55px; background:var(--ink); transform:rotate(25deg); opacity:.45; }
.resources { padding:clamp(5rem,9vw,9rem) clamp(1.5rem,7vw,8rem); }
.section-heading { display:grid; grid-template-columns:1.2fr .65fr; gap:4rem; align-items:end; padding-bottom:clamp(3.5rem,7vw,6rem); border-bottom:2px solid var(--ink); }
.coral { color:var(--coral-dark); }
h2 { font-size:clamp(3.8rem,8vw,7rem); letter-spacing:-.025em; }
.section-heading > p { max-width:32rem; margin:0; }
.resource-group { padding-top:clamp(3.5rem,7vw,6rem); }
.resource-group + .resource-group { margin-top:clamp(2.5rem,5vw,5rem); border-top:1px solid rgba(32,36,34,.18); }
.group-heading { display:grid; grid-template-columns:.18fr .9fr 1fr; gap:2rem; align-items:end; margin-bottom:2rem; }
.group-heading > p:first-child { margin:0; color:var(--coral-dark); font-family:var(--display); font-size:1.8rem; font-weight:800; }
.group-heading span { display:block; margin-bottom:.35rem; font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.group-heading h3 { font-size:clamp(2.6rem,5vw,4.5rem); }
.group-heading > p:last-child { max-width:34rem; margin:0; }
.resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.resource-card { min-height:480px; display:flex; flex-direction:column; justify-content:space-between; padding:clamp(1.5rem,3vw,2.5rem); border:1px solid rgba(32,36,34,.18); text-decoration:none; overflow:hidden; }
.featured { background:var(--sage); transition:transform .2s, box-shadow .2s; }
.featured:hover { transform:translateY(-5px); box-shadow:0 18px 50px rgba(32,36,34,.12); }
.next-steps-card { color:white; background:#009bb0; transition:transform .2s, box-shadow .2s; }
.next-steps-card:hover { transform:translateY(-5px); box-shadow:0 18px 50px rgba(32,36,34,.12); }
.team-card { color:white; background:#293f78; transition:transform .2s, box-shadow .2s; }
.groups-card { color:white; background:#173f35; transition:transform .2s, box-shadow .2s; }
.team-card:hover,.groups-card:hover { transform:translateY(-5px); box-shadow:0 18px 50px rgba(32,36,34,.12); }
.care-card { color:white; background:#243b53; transition:transform .2s, box-shadow .2s; }
.care-card:hover { transform:translateY(-5px); box-shadow:0 18px 50px rgba(32,36,34,.12); }
.upcoming { background:var(--white); }
.primary-card { min-height:540px; }
.card-top { display:flex; justify-content:space-between; align-items:center; }
.number { font-family:var(--display); font-size:1.7rem; font-weight:800; }
.status { padding:.35rem .7rem; border:1px solid currentColor; font-size:.65rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.card-art { height:140px; display:flex; align-items:center; justify-content:center; gap:1rem; }
.card-art i { width:12px; height:35%; border-radius:99px; background:var(--ink); }
.card-art i:nth-child(2),.card-art i:nth-child(4) { height:70%; }
.card-art i:nth-child(3) { height:100%; background:var(--coral-dark); }
.card-copy > p { margin:0 0 .4rem; font-size:.72rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
h3 { font-size:clamp(3.2rem,6vw,5.8rem); }
.card-link { display:flex; justify-content:space-between; align-items:center; margin-top:1.5rem; padding-top:1rem; border-top:1px solid rgba(32,36,34,.4); font-weight:700; }
.card-link b { font-size:1.6rem; }
.upcoming .card-copy > span { display:block; max-width:22rem; margin-top:1.5rem; color:#6b6d6c; }
.support { padding:clamp(6rem,11vw,10rem) clamp(1.5rem,10vw,11rem); text-align:center; color:white; background:var(--coral-dark); }
.support h2 { font-size:clamp(4rem,9vw,8rem); }
.support > p:last-child { max-width:38rem; margin:2rem auto 0; color:rgba(255,255,255,.8); }
footer { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:2rem clamp(1.5rem,7vw,8rem); color:white; background:var(--ink); font-size:.8rem; }
@media (max-width:800px) { .hero { grid-template-columns:1fr; } .hero-mark { min-height:360px; } .section-heading,.resource-grid,.group-heading { grid-template-columns:1fr; gap:2rem; } .group-heading { gap:.75rem; } .resource-card,.primary-card { min-height:400px; } }
@media (max-width:520px) { .site-header { padding:1rem 1.2rem; } .brand img { width:48px; height:46px; } .hero-copy { padding:8.5rem 1.25rem 4.5rem; } h1 { font-size:clamp(4.3rem,21vw,6rem); } .hero-mark { min-height:300px; } footer { align-items:flex-start; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
