:root { --font-geist:Arial,Helvetica,sans-serif; --ink:#183b3b; --blue:#277896; --sky:#dceff2; --cream:#f5f0df; --paper:#fffdf7; --coral:#b84d3e; --yellow:#efc845; --leaf:#4e7b59; --line:rgba(24,59,59,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-geist), Arial, sans-serif; line-height:1.55; }
a { color:inherit; }
img { display:block; width:100%; }
.shell { width:min(1180px, calc(100% - 40px)); margin-inline:auto; }
.skip-link { position:fixed; left:16px; top:-80px; background:#fff; padding:12px 18px; z-index:100; border:2px solid var(--ink); }
.skip-link:focus { top:16px; }
.help-bar { background:var(--ink); color:#fff; font-size:.88rem; }
.help-bar-inner { display:flex; align-items:center; justify-content:space-between; min-height:42px; gap:20px; }
.help-bar p { margin:0; }
.help-bar a { color:#fff; font-weight:750; text-decoration:none; letter-spacing:.02em; white-space:nowrap; }
.help-bar a span { color:#67c5a5; font-size:.65rem; margin-right:7px; }
.site-header { position:sticky; top:0; z-index:30; background:rgba(255,253,248,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.nav-wrap { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:13px; text-decoration:none; }
.brand > span:last-child { display:flex; flex-direction:column; }
.brand strong { font-family:Georgia, serif; font-size:1.12rem; line-height:1.1; }
.brand small { font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; margin-top:5px; }
.brand-mark { width:42px; height:42px; border:2px solid var(--coral); border-top:0; position:relative; display:block; margin-top:5px; }
.brand-mark:before, .brand-mark:after { content:""; position:absolute; top:-8px; width:27px; height:2px; background:var(--coral); }
.brand-mark:before { left:-4px; transform:rotate(-35deg); }
.brand-mark:after { right:-4px; transform:rotate(35deg); }
.brand-mark i { width:6px; height:13px; border-radius:5px 5px 0 0; background:var(--yellow); position:absolute; bottom:0; left:16px; }
nav { display:flex; align-items:center; gap:30px; }
nav a { font-size:.86rem; font-weight:700; text-decoration:none; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 24px; background:var(--coral); color:#fff; border:2px solid var(--coral); border-radius:3px; text-decoration:none; font-weight:800; transition:.2s ease; box-shadow:0 9px 24px rgba(168,64,44,.15); }
.button:hover { background:#b84d38; border-color:#b84d38; transform:translateY(-2px); }
.button:focus-visible, a:focus-visible { outline:3px solid var(--yellow); outline-offset:4px; }
.button-small { min-height:42px; padding-inline:19px; }
.hero { overflow:hidden; background:linear-gradient(115deg, var(--cream) 0 58%, #d9eef2 58%); }
.hero-grid { min-height:680px; display:grid; grid-template-columns:.86fr 1.14fr; align-items:center; gap:58px; padding-block:74px; }
.eyebrow { margin:0 0 20px; display:flex; align-items:center; gap:11px; text-transform:uppercase; letter-spacing:.16em; font-weight:800; font-size:.74rem; color:var(--blue); }
.eyebrow span { width:28px; height:2px; background:var(--coral); display:inline-block; }
h1,h2 { font-family:Georgia, 'Times New Roman', serif; font-weight:500; letter-spacing:-.035em; line-height:.98; margin:0; }
h1 { font-size:clamp(3.4rem, 6.6vw, 6.2rem); }
h1 em { color:var(--coral); font-weight:500; }
.hero-lead { max-width:640px; font-size:1.18rem; line-height:1.7; margin:30px 0 28px; color:#355467; }
.hero-actions { display:flex; align-items:center; gap:30px; }
.text-link { font-weight:800; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:3px; }
.microcopy { margin:24px 0 0; font-size:.78rem; color:#587080; }
.hero-visual { position:relative; max-width:650px; margin-left:auto; }
.hero-image-wrap { position:relative; z-index:2; overflow:hidden; border-radius:160px 8px 8px 8px; box-shadow:0 30px 60px rgba(23,54,54,.2); background:#fff; border:8px solid #fff; }
.hero-image-wrap img { aspect-ratio:4/3; object-fit:cover; object-position:center; }
.open-card { position:absolute; left:-46px; bottom:32px; z-index:3; background:#fff; padding:17px 22px; box-shadow:0 15px 34px rgba(23,54,74,.18); display:flex; gap:12px; align-items:center; min-width:220px; }
.open-card p { margin:0; display:flex; flex-direction:column; }
.open-card small { color:#647985; margin-top:2px; }
.open-dot { width:12px; height:12px; background:#55b68f; border-radius:50%; box-shadow:0 0 0 5px #dff4ea; }
.sun-shape { position:absolute; width:122px; height:122px; background:var(--yellow); border-radius:50%; right:-47px; top:-32px; opacity:.88; }
.quick-paths { background:#fff; border-block:1px solid var(--line); }
.quick-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.quick-grid > a { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:17px; min-height:148px; padding:22px 34px; text-decoration:none; border-right:1px solid var(--line); transition:.2s ease; }
.quick-grid > a:first-child { border-left:1px solid var(--line); }
.quick-grid > a:hover { background:var(--sky); }
.path-number { font-size:.65rem; font-weight:800; color:var(--coral); align-self:start; padding-top:8px; }
.quick-grid h2 { font-family:var(--font-geist); font-size:1.15rem; font-weight:800; letter-spacing:0; }
.quick-grid p { margin:5px 0 0; color:#647985; font-size:.87rem; }
.quick-grid b { font-size:1.3rem; }
.section { padding-block:120px; }
.split-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:110px; align-items:start; }
.section h2 { font-size:clamp(2.7rem, 4.3vw, 4.4rem); }
.section-intro { font-size:1.08rem; color:#4a6676; line-height:1.75; max-width:490px; margin-top:28px; }
.location-photo { margin:36px 0 0; padding:8px; background:#fff; box-shadow:0 16px 38px rgba(24,59,59,.12); transform:rotate(-1deg); }
.location-photo img { aspect-ratio:1.88/1; object-fit:cover; }
.location-photo figcaption { padding:11px 8px 5px; color:#587070; font-size:.78rem; font-weight:650; }
.location-photo figcaption span { color:var(--coral); font-size:.55rem; margin-right:6px; }
.steps { border-top:1px solid var(--line); }
.step { display:grid; grid-template-columns:42px 1fr; gap:20px; padding:29px 0; border-bottom:1px solid var(--line); }
.step > span { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:var(--coral); background:#fae7df; font-weight:800; }
.step h3 { margin:2px 0 6px; font-size:1.08rem; }
.step p { color:#587080; margin:0 0 9px; }
.step a { color:var(--blue); font-weight:800; }
.story-section { background:#1d4a45; color:#fff; overflow:hidden; }
.story-grid { display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:100px; }
.photo-card { position:relative; }
.photo-card:before { content:""; position:absolute; inset:-24px 24px 24px -24px; border:1px solid rgba(255,255,255,.22); }
.photo-card img { position:relative; aspect-ratio:4/4.6; object-fit:cover; object-position:55% center; filter:saturate(.82); }
.photo-card > p { position:absolute; left:-24px; bottom:28px; margin:0; background:var(--yellow); color:var(--ink); font-family:Georgia,serif; font-style:italic; font-size:1.1rem; padding:13px 19px; }
.eyebrow.light { color:#b8dbe2; }
.story-copy > p:not(.eyebrow) { color:#d4e0e5; font-size:1.08rem; line-height:1.75; margin:28px 0 35px; }
.values-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(255,255,255,.16); }
.values-grid div { padding:24px 24px 24px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.values-grid div:nth-child(odd) { border-right:1px solid rgba(255,255,255,.16); }
.values-grid div:nth-child(even) { padding-left:24px; }
.values-grid strong { color:var(--yellow); text-transform:uppercase; font-size:.72rem; letter-spacing:.14em; }
.values-grid p { margin:7px 0 0; color:#cbd9df; font-size:.9rem; }
.give-section { background:var(--cream); }
.section-heading.centered { max-width:760px; text-align:center; margin:0 auto 55px; }
.section-heading.centered .eyebrow { justify-content:center; }
.section-heading.centered > p:last-child { color:#587080; font-size:1.05rem; max-width:650px; margin:24px auto 0; }
.give-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.give-card { position:relative; background:#fff; padding:38px 34px; min-height:340px; border:1px solid transparent; display:flex; flex-direction:column; }
.give-card.featured { border-color:var(--coral); }
.card-kicker { position:absolute; top:0; right:22px; transform:translateY(-50%); background:var(--coral); color:#fff; padding:6px 10px; font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
.icon-circle { width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:var(--sky); color:var(--blue); font-family:Georgia,serif; font-size:1.25rem; }
.give-card h3 { font-family:Georgia,serif; font-size:1.75rem; margin:24px 0 12px; }
.give-card p { color:#587080; margin:0; }
.give-card a { margin-top:auto; color:var(--blue); font-weight:800; text-decoration:none; }
.facebook-note { margin-top:20px; background:#fff; padding:24px 30px; display:flex; justify-content:space-between; align-items:center; gap:24px; border-left:4px solid var(--blue); }
.facebook-note > div { display:flex; align-items:center; gap:16px; }
.facebook-note > div > span { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:#1877f2; color:#fff; font-weight:900; font-family:Arial; }
.facebook-note p { margin:0; display:flex; flex-direction:column; }
.facebook-note small { color:#657987; margin-top:3px; }
.response-band { background:var(--leaf); color:#fff; padding-block:82px; border-top:10px solid var(--yellow); }
.response-grid { display:grid; grid-template-columns:.65fr 1.6fr 1fr; gap:40px; align-items:start; }
.response-grid .eyebrow { margin-top:8px; }
.response-grid h2 { font-size:clamp(2rem,3vw,3.25rem); }
.response-grid > p:not(.eyebrow) { margin:4px 0 0; color:#ffe5dd; }
.response-grid > a { grid-column:3; font-weight:800; text-underline-offset:5px; }
.contact-section { background:#fff; }
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:start; }
.contact-grid > div:first-child > p:last-child { color:#587080; font-size:1.06rem; max-width:520px; margin-top:25px; }
.contact-card { padding:40px; background:var(--sky); border-top:5px solid var(--blue); }
.contact-card > div { padding:0 0 20px; margin-bottom:20px; border-bottom:1px solid rgba(34,91,120,.18); }
.contact-card small { display:block; text-transform:uppercase; letter-spacing:.14em; font-size:.66rem; font-weight:800; color:var(--blue); margin-bottom:5px; }
.contact-card a:not(.button), .contact-card address { font-family:Georgia,serif; font-style:normal; font-size:1.35rem; font-weight:600; text-decoration:none; }
.contact-card p { margin:0; font-weight:750; }
.contact-card p span { color:#587080; font-weight:450; font-size:.84rem; }
.contact-card .button { width:100%; }
.contact-form { background:var(--cream); padding:42px; border-top:5px solid var(--coral); box-shadow:0 18px 45px rgba(24,59,59,.1); }
.form-heading { margin-bottom:28px; }
.form-heading .eyebrow { margin-bottom:13px; }
.form-heading h3 { font-family:Georgia,serif; font-size:2rem; line-height:1.1; margin:0; }
.form-heading > p:last-child { color:#587070; margin:11px 0 0; font-size:.9rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-form label { display:block; font-size:.76rem; font-weight:800; margin-bottom:17px; }
.contact-form label > span { color:#667c7c; font-weight:500; }
.contact-form input:not([type="checkbox"]), .contact-form select, .contact-form textarea { display:block; width:100%; border:1px solid rgba(24,59,59,.3); background:#fff; color:var(--ink); border-radius:2px; padding:12px 13px; margin-top:6px; font:inherit; font-size:.92rem; font-weight:500; }
.contact-form textarea { resize:vertical; min-height:130px; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline:3px solid rgba(239,200,69,.65); border-color:var(--blue); }
.consent { display:flex!important; align-items:flex-start; gap:10px; font-weight:550!important; line-height:1.45; }
.consent input { margin-top:4px; accent-color:var(--blue); }
.contact-form .button { width:100%; cursor:pointer; font:inherit; }
.form-privacy { text-align:center; color:#667c7c; font-size:.72rem; margin:11px 0 0; }
.form-trap { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; }
footer { background:#143331; color:#fff; padding:60px 0 28px; }
.footer-grid { display:grid; grid-template-columns:1fr .8fr 1fr; gap:40px; align-items:center; padding-bottom:40px; }
.footer-brand .brand-mark { border-color:var(--yellow); }
.footer-brand .brand-mark:before, .footer-brand .brand-mark:after { background:var(--yellow); }
.footer-grid > p { color:#b9cbd4; margin:0; font-size:.9rem; }
.footer-links { display:flex; justify-content:flex-end; gap:24px; }
.footer-links a { color:#fff; font-weight:700; font-size:.85rem; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding-top:24px; display:flex; justify-content:space-between; color:#94abb7; font-size:.76rem; }

@media (max-width: 900px) {
  nav a:not(.button) { display:none; }
  .hero-grid { grid-template-columns:1fr; min-height:auto; gap:60px; }
  .hero-copy { max-width:650px; }
  .hero-visual { margin-inline:auto; width:min(90%,510px); }
  .quick-grid { grid-template-columns:1fr; }
  .quick-grid > a, .quick-grid > a:first-child { border-left:1px solid var(--line); border-bottom:1px solid var(--line); }
  .split-grid,.story-grid,.contact-grid { grid-template-columns:1fr; gap:65px; }
  .photo-card { max-width:560px; }
  .give-grid { grid-template-columns:1fr; }
  .give-card { min-height:280px; }
  .response-grid { grid-template-columns:1fr 1fr; }
  .response-grid h2 { grid-column:1/-1; }
  .response-grid > a { grid-column:2; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-links { justify-content:flex-start; }
}
@media (max-width: 600px) {
  .shell { width:min(100% - 28px,1180px); }
  .help-bar-inner { min-height:64px; align-items:flex-start; justify-content:center; flex-direction:column; gap:1px; padding-block:9px; }
  .nav-wrap { min-height:74px; }
  .brand strong { font-size:.98rem; }
  .brand small { font-size:.59rem; }
  .brand-mark { width:34px; height:34px; }
  .brand-mark i { left:13px; }
  nav { gap:0; }
  .button-small { min-height:39px; padding-inline:13px; font-size:.78rem; }
  .hero { background:var(--cream); }
  .hero-grid { padding-block:54px 70px; }
  h1 { font-size:3.25rem; }
  .hero-lead { font-size:1.04rem; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }
  .hero-actions .button { width:100%; }
  .open-card { left:-12px; bottom:18px; min-width:202px; }
  .sun-shape { right:-16px; }
  .section { padding-block:82px; }
  .split-grid,.story-grid,.contact-grid { gap:48px; }
  .section h2 { font-size:2.65rem; }
  .story-section { padding-top:100px; }
  .photo-card:before { inset:-14px 14px 14px -8px; }
  .photo-card > p { left:-8px; }
  .values-grid { grid-template-columns:1fr; }
  .values-grid div:nth-child(odd) { border-right:0; }
  .values-grid div:nth-child(even) { padding-left:0; }
  .facebook-note { align-items:flex-start; flex-direction:column; }
  .response-grid { grid-template-columns:1fr; }
  .response-grid h2,.response-grid > a { grid-column:1; }
  .contact-card { padding:28px 22px; }
  .contact-form { padding:30px 20px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .footer-bottom { flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none!important; } }

.status-page { min-height:100vh; display:grid; place-items:center; padding:30px; background:linear-gradient(135deg,var(--cream),var(--sky)); }
.status-card { width:min(680px,100%); background:#fff; padding:clamp(32px,6vw,64px); box-shadow:0 24px 70px rgba(24,59,59,.16); border-top:6px solid var(--leaf); }
.status-card h1 { font-size:clamp(2.5rem,6vw,4.6rem); }
.status-card > p:not(.eyebrow):not(.status-note) { color:#587070; font-size:1.08rem; max-width:560px; margin:24px 0; }
.status-mark { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:#dcefe5; color:var(--leaf); font-size:1.6rem; font-weight:900; margin-bottom:28px; }
.status-mark.error { background:#f7dfd9; color:var(--coral); }
.status-actions { display:flex; align-items:center; gap:25px; margin-top:30px; }
.status-note { margin:32px 0 0; padding-top:20px; border-top:1px solid var(--line); color:#6b7f7f; font-size:.8rem; }
@media (max-width:600px) { .status-actions { align-items:flex-start; flex-direction:column; } .status-actions .button { width:100%; } }
