:root { --navy:#102d4f; --red:#c92836; --green:#5e933f; --forest:#2f6538; --gold:#f1b82d; --lake:#4f9fc1; --cream:#f6f5ef; --ink:#1c2c3b; --muted:#5b6873; --font-display:Arial,Helvetica,sans-serif; --font-body:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:88px; }
body { margin:0; overflow-x:clip; background:#fff; color:var(--ink); font-family:var(--font-body),Arial,sans-serif; font-size:18px; line-height:1.67; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3,.brand-name,.office,.button,.kicker { font-family:var(--font-display),Arial,sans-serif; }
h2 { color:var(--navy); font-size:clamp(2.1rem,4vw,3.45rem); line-height:1.07; letter-spacing:-.045em; margin-bottom:18px; }
h3 { color:var(--navy); font-size:1.18rem; line-height:1.25; margin-bottom:10px; }
.site-header { height:84px; padding:0 clamp(20px,5vw,72px); display:flex; align-items:center; justify-content:flex-end; position:sticky; top:0; z-index:20; background:rgba(255,255,255,.96); border-bottom:1px solid #e4e9ec; backdrop-filter:blur(12px); }
.site-header nav { display:flex; align-items:center; gap:clamp(18px,2.6vw,40px); font-family:var(--font-display); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.055em; color:var(--navy); }
.site-header nav a:not(.nav-cta):hover { color:var(--red); }
.nav-cta { background:var(--red); color:#fff; padding:11px 17px; border-radius:4px; }
.header-brand { display:block; }
.brand-mark { width:min(620px,88vw); margin:0 auto; text-align:center; }
.brand-name { line-height:.77; text-transform:uppercase; font-style:italic; letter-spacing:-.075em; transform:skew(-4deg); }
.brand-name span { display:block; }
.brand-chase { color:var(--navy); font-size:clamp(3rem,7vw,5.9rem); font-weight:800; padding-right:1.2em; }
.brand-hansen { color:var(--red); font-size:clamp(4.4rem,10.8vw,9.2rem); font-weight:900; }
.office { color:var(--navy); font-weight:800; text-transform:uppercase; letter-spacing:.16em; font-size:clamp(.68rem,1.5vw,.93rem); margin-top:15px; }
.office span { color:var(--red); padding:0 .35em; }
.brand-mark--compact { width:auto; margin:0; display:flex; align-items:center; gap:10px; text-align:left; }
.brand-mark--compact .brand-name { line-height:.73; letter-spacing:-.05em; }
.brand-mark--compact .brand-chase,.brand-mark--compact .brand-hansen { display:inline; padding:0; font-size:1.15rem; }
.brand-mark--compact .brand-chase { margin-right:5px; }
.brand-mark--compact .office { margin:0; font-size:.5rem; letter-spacing:.095em; padding-left:10px; border-left:1px solid #d1d8dd; max-width:130px; line-height:1.3; }
.landscape { height:112px; margin:-1px auto 0; max-width:580px; position:relative; overflow:hidden; border-radius:0 0 48% 48%; }
.sun { position:absolute; left:44%; top:1px; width:72px; height:72px; background:var(--gold); border-radius:50%; }
.hill { position:absolute; border-radius:55% 55% 0 0; transform-origin:center; }
.hill-back { width:520px; height:105px; left:-45px; top:37px; background:var(--green); transform:rotate(3deg); }
.hill-front { width:480px; height:100px; right:-72px; top:52px; background:var(--forest); transform:rotate(-4deg); }
.water { position:absolute; left:12%; right:7%; bottom:5px; height:26px; background:var(--lake); border-radius:50%; }
.water i,.water b { position:absolute; height:3px; border-radius:3px; background:#fff; opacity:.85; }
.water i { width:34%; left:8%; top:9px; }.water b { width:27%; right:12%; top:15px; }
.home { position:absolute; z-index:4; width:24px; height:18px; background:white; bottom:29px; }
.home:before { content:""; position:absolute; width:20px; height:20px; background:var(--red); transform:rotate(45deg); left:2px; top:-9px; z-index:-1; }
.home i { position:absolute; width:5px; height:9px; background:var(--navy); left:4px; bottom:0; }.home b { position:absolute; width:6px; height:6px; background:var(--gold); right:4px; top:5px; }
.home-one { left:29%; }.home-two { left:36%; transform:scale(.82); bottom:31px; }
.hero { min-height:calc(100vh - 84px); display:grid; place-items:center; padding:58px 20px 44px; background:radial-gradient(circle at 50% 25%,#fff 0,#fff 52%,#f7f8f4 100%); }
.hero-inner { text-align:center; width:100%; }
.hero-logo { display:block; width:min(820px,94vw); height:auto; margin:-45px auto -35px; object-fit:contain; }
.eyebrow,.kicker { color:var(--red); text-transform:uppercase; font-size:.73rem; font-weight:800; letter-spacing:.19em; margin-bottom:26px; }
.hero h1 { color:var(--navy); font-size:clamp(1.15rem,2.35vw,1.65rem); line-height:1.45; letter-spacing:-.02em; margin:33px auto 29px; max-width:690px; }
.hero-actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:49px; padding:12px 23px; border:2px solid transparent; border-radius:4px; font-size:.76rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.button-primary { background:var(--red); color:#fff; }.button-primary:hover { background:#a91e2b; }
.button-secondary { border-color:var(--navy); color:var(--navy); }.button-secondary:hover { background:var(--navy); color:#fff; }
.button-donate { background:var(--red); color:#fff; }.button-donate:hover { background:var(--gold); color:var(--navy); }
.section { padding:clamp(75px,10vw,135px) clamp(22px,6vw,90px); }
.section-grid { max-width:1120px; margin:0 auto; display:grid; grid-template-columns:minmax(280px,.75fr) 1.25fr; gap:clamp(50px,8vw,110px); align-items:center; }
.portrait-placeholder { min-height:520px; background:var(--cream); border:1px dashed #9eaaa5; display:grid; place-items:center; position:relative; overflow:hidden; color:var(--forest); text-align:center; font-family:var(--font-display); font-size:.72rem; text-transform:uppercase; letter-spacing:.15em; font-weight:800; }
.portrait-photo { display:block; width:100%; height:520px; object-fit:cover; object-position:52% center; border-radius:2px; box-shadow:0 16px 40px rgba(16,45,79,.13); }
.portrait-placeholder:before,.portrait-placeholder:after { content:""; position:absolute; border-radius:50% 50% 0 0; bottom:-55px; height:145px; width:125%; }.portrait-placeholder:before { left:-40%; background:var(--green); }.portrait-placeholder:after { right:-45%; bottom:-78px; background:var(--forest); }
.section-copy { max-width:635px; }
.section-copy p,.text-narrow p { color:var(--muted); }
.kicker { margin-bottom:12px; }.red-rule { width:52px; height:5px; background:var(--red); margin:0 0 29px; }
.placeholder-label { display:inline-block; background:#fff4d8; color:#835d00!important; border:1px solid #e4c063; padding:5px 9px; font-size:.69rem; line-height:1; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.why { background:var(--navy); color:#fff; position:relative; overflow:hidden; }
.why:after { content:""; position:absolute; width:600px; height:180px; background:var(--forest); border-radius:50%; right:-170px; bottom:-125px; box-shadow:-210px 25px 0 var(--green); opacity:.8; }
.why h2,.why p { color:#fff; }.why .kicker { color:#f5ca57; }.why .red-rule { background:var(--gold); }.text-narrow { max-width:860px; margin:0 auto; position:relative; z-index:2; }.text-narrow p { font-size:1.04rem; }.text-narrow .lead { font-size:clamp(1.25rem,2vw,1.55rem); line-height:1.5; font-weight:600; color:#fff; }
.section-heading { max-width:720px; }.centered { text-align:center; margin:0 auto 56px; }.centered .red-rule { margin-left:auto; margin-right:auto; }
.values { background:var(--cream); }.values-grid { max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:22px 58px; }.value { display:flex; gap:17px; padding:18px 0; }.value-dot { flex:0 0 11px; height:11px; margin-top:8px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 5px rgba(241,184,45,.18); }.value p,.priority-card p { color:var(--muted); font-size:.96rem; line-height:1.58; margin:0; }
blockquote { max-width:920px; margin:66px auto 0; padding:33px 39px; border-left:6px solid var(--red); background:#fff; box-shadow:0 10px 30px rgba(16,45,79,.07); }.values blockquote strong { display:block; color:var(--red); font-family:var(--font-display); font-size:clamp(1.55rem,3vw,2.25rem); letter-spacing:-.04em; }.values blockquote span { color:var(--navy); font-size:1.05rem; }
.priorities { background:#fff; }.priority-grid { max-width:1160px; margin:0 auto; display:grid; grid-template-columns:repeat(6,1fr); gap:20px; }.priority-card { grid-column:span 2; border-top:5px solid var(--green); background:#fff; padding:29px 26px 31px; box-shadow:0 9px 35px rgba(16,45,79,.09); }.priority-card:nth-child(4) { grid-column:2/span 2; }.priority-number { color:var(--lake); font-family:var(--font-display); font-size:.75rem; font-weight:800; letter-spacing:.12em; }.priority-card h3 { margin-top:15px; font-size:1.25rem; }
.connect { background:var(--navy); color:#fff; padding:clamp(65px,8vw,100px) clamp(22px,7vw,110px); display:flex; justify-content:space-between; align-items:center; gap:40px; }.connect h2 { color:#fff; margin-bottom:12px; }.connect p { margin:0; color:#dbe6ee; }.kicker-light { color:#f5ca57!important; margin-bottom:10px!important; }.connect-actions { display:flex; flex-direction:column; align-items:flex-end; gap:15px; }.button-light { background:#fff; color:var(--navy); }.button-light:hover { background:var(--gold); color:var(--navy); }.contact-links { display:flex; flex-direction:column; align-items:flex-end; gap:3px; color:#dbe6ee; font-size:.86rem; line-height:1.45; }.contact-links a:hover { color:var(--gold); }
footer { padding:42px 25px; text-align:center; background:#091f38; color:#b9c8d5; } footer p { margin:9px 0; font-size:.8rem; }.disclaimer { color:#b9c8d5; font-size:.72rem!important; font-weight:700; }.copyright { color:#7890a5; font-size:.68rem!important; }
.donate-page { min-height:100vh; background:var(--cream); }.donate-header { position:static; justify-content:space-between; }.donate-home { color:var(--navy); font-family:var(--font-display); font-size:.78rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.donate-main { padding:clamp(55px,8vw,95px) 20px; }.donate-intro { max-width:760px; margin:0 auto 36px; text-align:center; }.donate-intro h1 { color:var(--navy); font-size:clamp(2.25rem,6vw,4rem); line-height:1.05; letter-spacing:-.05em; margin-bottom:20px; }.donate-intro .red-rule { margin-left:auto; margin-right:auto; }.donate-intro p:last-child { color:var(--muted); }.donation-embed { width:min(100%,900px); min-height:560px; margin:0 auto; padding:clamp(30px,6vw,70px); display:grid; place-items:center; text-align:center; background:#fff; border:1px solid #e1e6e8; box-shadow:0 14px 40px rgba(16,45,79,.1); }.donation-placeholder { max-width:500px; }.donation-placeholder h2 { font-size:clamp(1.7rem,4vw,2.5rem); }.donation-placeholder p { color:var(--muted); }.donation-embed iframe { display:block; width:100%; min-height:720px; border:0; }
.involve-grid { width:min(100%,1120px); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:stretch; }.involve-card { display:flex; flex-direction:column; padding:34px 30px; background:#fff; border-top:5px solid var(--green); box-shadow:0 10px 32px rgba(16,45,79,.09); }.involve-card:nth-child(2) { border-top-color:var(--lake); }.involve-card:nth-child(3) { border-top-color:var(--red); }.involve-card h2 { font-size:1.65rem; }.involve-card p { color:var(--muted); flex-grow:1; }.involve-card .button { width:100%; }.form-placeholder { margin-top:18px; padding:17px; border:1px dashed #aab5bb; background:#f8faf9; color:var(--muted); font-size:.78rem; font-weight:700; line-height:1.45; text-align:center; text-transform:uppercase; letter-spacing:.06em; }
@media (max-width:860px) { .site-header { height:auto; min-height:76px; padding:13px 18px; }.site-header nav { gap:10px; }.site-header nav a:not(.nav-cta) { display:none; }.brand-mark--compact .office { display:none; }.section-grid { grid-template-columns:1fr; }.portrait-placeholder,.portrait-photo { min-height:390px; height:390px; max-width:520px; width:100%; margin:auto; }.values-grid { grid-template-columns:1fr; gap:3px; }.priority-card,.priority-card:nth-child(4) { grid-column:span 3; }.connect { flex-direction:column; align-items:flex-start; }.connect-actions,.contact-links { align-items:flex-start; } }
@media (max-width:860px) { .involve-grid { grid-template-columns:1fr; max-width:560px; } }
@media (max-width:600px) { body { font-size:17px; }.site-header { min-height:64px; padding-top:max(10px,env(safe-area-inset-top)); padding-right:max(16px,env(safe-area-inset-right)); padding-bottom:10px; padding-left:max(16px,env(safe-area-inset-left)); }.donate-header { gap:12px; }.donate-home { font-size:.66rem; }.hero { min-height:auto; padding-top:42px; padding-bottom:62px; }.hero-inner { min-width:0; }.hero-logo { width:100%; max-width:520px; margin:-12px auto -8px; }.hero h1 { max-width:340px; padding:0 4px; }.hero h1 br { display:none; }.brand-chase { padding-right:.75em; }.landscape { height:88px; }.sun { width:58px; height:58px; }.office { letter-spacing:.09em; }.section { padding-left:20px; padding-right:20px; }.priority-grid { display:block; }.priority-card { margin-bottom:17px; }.portrait-placeholder,.portrait-photo { min-height:330px; height:330px; }.value { padding:11px 0; }.values blockquote { margin-top:42px; padding:25px 23px; }.hero-actions .button { width:100%; max-width:310px; }.connect-actions,.button-light,.button-donate { width:100%; }.nav-cta { padding:9px 12px; font-size:.66rem; }.donation-embed { min-height:430px; padding:28px 20px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
