:root { --cream:#fbf7f1; --ink:#2d2b2a; --orange:#e86f26; --teal:#176b69; --line:#e9ded1; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font:18px/1.55 Arial, Helvetica, sans-serif; }
a { color:inherit; }
.hero { padding:28px max(6vw, 30px) 74px; background:var(--orange); color:var(--white); }
.hero-compact { padding-bottom:58px; }
.nav { display:flex; max-width:1160px; margin:auto; justify-content:space-between; align-items:center; gap:24px; font-size:14px; }
.nav-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:18px; }
.brand { font-weight:800; letter-spacing:.09em; text-decoration:none; }
.nav-link { text-underline-offset:5px; }
.hero-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:58px; align-items:center; max-width:1160px; margin:68px auto 0; }
.eyebrow,.section-kicker { margin:0 0 15px; font-size:13px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
h1,h2,p { margin-top:0; }
h1 { max-width:690px; margin-bottom:20px; font-size:clamp(46px, 6vw, 82px); line-height:.98; letter-spacing:-.055em; }
h2 { margin-bottom:18px; font-size:clamp(30px, 3.5vw, 49px); line-height:1.04; letter-spacing:-.04em; }
.lead { max-width:570px; margin-bottom:32px; font-size:23px; line-height:1.35; }
.actions { display:flex; flex-wrap:wrap; gap:12px; }
.button { display:inline-block; padding:14px 20px; border:1px solid transparent; border-radius:99px; font-weight:800; text-decoration:none; transition:transform .15s ease, background .15s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--white); color:var(--orange); }
.button-secondary { border-color:rgba(255,255,255,.6); }
.microcopy { margin:19px 0 0; font-size:14px; }
.hero-image { position:relative; min-height:420px; overflow:hidden; border-radius:25px; background:#d75520; box-shadow:16px 16px 0 rgba(127,43,12,.18); }
.hero-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.photo-placeholder { display:none; height:420px; place-content:center; text-align:center; color:rgba(255,255,255,.85); }
.photo-placeholder span { font:110px/1 Georgia, serif; }
.photo-placeholder p { font-size:18px; line-height:1.25; }
.photo-missing .photo-placeholder { display:grid; }
main { max-width:1160px; margin:auto; padding:100px max(6vw, 30px); }
.intro { max-width:820px; }
.section-kicker { color:var(--orange); }
.intro > p:last-child,.story-copy { color:#5c5753; font-size:20px; }
.support { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:80px 0; }
.support-card { padding:42px; border-radius:20px; }
.support-card h2 { font-size:35px; }
.donate-card { color:var(--white); background:var(--teal); }
.donate-card .section-kicker { color:#b9e5df; }
.group-card { background:var(--white); border:1px solid var(--line); }
.card-icon { display:block; margin-bottom:25px; font-size:32px; }
.text-link { display:inline-block; margin-top:12px; font-weight:800; text-decoration-thickness:2px; text-underline-offset:5px; }
.story { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; padding:80px 0; border-top:1px solid var(--line); }
.story-copy p:last-child { margin-bottom:0; }
.quote { padding:42px 50px; border-left:6px solid var(--orange); background:var(--white); font:italic 29px/1.35 Georgia, serif; }
.quote p { margin:0; }
.legal-hero { max-width:1160px; margin:68px auto 0; }
.legal-hero h1 { margin-bottom:18px; }
.legal-page { display:grid; gap:24px; }
.legal-card { padding:42px; border:1px solid var(--line); border-radius:20px; background:var(--white); }
.legal-card h2 { font-size:clamp(28px, 3vw, 40px); }
.legal-card p:last-child { margin-bottom:0; }
.legal-card address { margin:0 0 18px; font-style:normal; font-weight:700; }
footer { display:flex; justify-content:space-between; gap:24px; padding:34px max(6vw, 30px); background:#2d2b2a; color:#f8f0e8; font-size:14px; }
footer p { margin:0; } footer div { display:flex; flex-wrap:wrap; gap:18px; } footer a { text-underline-offset:4px; }
@media (max-width:760px) { body { font-size:16px; } .hero { padding-bottom:48px; } .nav { align-items:flex-start; flex-direction:column; gap:10px; } .nav-links { justify-content:flex-start; gap:10px 16px; } .hero-grid,.support,.story { grid-template-columns:1fr; gap:32px; } .hero-grid,.legal-hero { margin-top:46px; } .hero-image { min-height:310px; box-shadow:10px 10px 0 rgba(127,43,12,.18); } .photo-placeholder { height:310px; } main { padding-top:64px; padding-bottom:64px; } .support { margin:58px 0; } .support-card,.legal-card { padding:30px; } .story { padding:62px 0; } .quote { padding:30px; font-size:24px; } footer { flex-direction:column; } footer div { flex-direction:column; gap:7px; } }
