/* Horizon Impact Foundation — responsive stylesheet */
:root{--navy:#0b3157;--navy2:#071f39;--teal:#13877c;--gold:#e4a83d;--ink:#172436;--muted:#64748b;--soft:#f4f8fb;--line:#dce5ed;--white:#fff;--shadow:0 14px 38px rgba(11,49,87,.10);--radius:18px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input,textarea{font:inherit}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.narrow{max-width:820px}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:10px;color:var(--navy);font-weight:700;line-height:1.05}.logo b{display:block;font-weight:850}.logo-mark{width:41px;height:41px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:22px;font-weight:900;box-shadow:0 7px 18px rgba(11,49,87,.2)}.nav-menu{display:flex;align-items:center;gap:28px}.nav-menu>a{color:#4b5c6d;font-weight:700;font-size:.95rem}.nav-menu>a:hover,.nav-menu>a.active{color:var(--navy)}.nav-button{background:var(--navy)!important;color:#fff!important;border-radius:999px;padding:10px 17px}.menu-btn{display:none;border:0;background:none;padding:8px}.menu-btn i{display:block;width:25px;height:2px;background:var(--navy);margin:5px}
.hero{min-height:680px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--navy2)}.hero-bg{position:absolute;inset:0;background:linear-gradient(115deg,rgba(7,31,57,.98),rgba(11,78,95,.72)),url("../images/hero.svg") center/cover}.hero-content{position:relative;color:#fff;padding:90px 0;max-width:900px}.eyebrow{display:inline-block;font-size:.75rem;letter-spacing:.15em;font-weight:900;color:var(--teal);margin-bottom:12px}.eyebrow.light{color:#b9e8df}.hero h1{font-size:clamp(2.8rem,6vw,5.1rem);line-height:1.01;letter-spacing:-.05em;margin:0 0 24px}.hero p{max-width:750px;color:#e4edf5;font-size:1.12rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 18px}.btn{min-height:50px;padding:12px 22px;border:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:850;cursor:pointer;transition:.25s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.13)}.btn.primary{background:var(--teal);color:#fff}.btn.white{background:#fff;color:var(--navy)}.full{width:100%}.trust-line{font-size:.84rem;color:#c9d9e7}
.section{padding:90px 0}.soft{background:var(--soft)}.intro,.two-col,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.section h2,.heading h2{font-size:clamp(2rem,4vw,3rem);line-height:1.12;letter-spacing:-.04em;margin:0 0 17px}.section p{color:var(--muted)}.text-link{display:inline-block;margin-top:10px;color:var(--navy);font-weight:850}.visual-card{overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);background:#eaf2f7}.heading{text-align:center;max-width:780px;margin:0 auto 45px}.heading p{margin:0}.programs{display:grid;grid-template-columns:repeat(5,1fr);gap:19px}.programs article,.values article,.testimonials article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:.25s;box-shadow:0 5px 18px rgba(20,48,72,.04)}.programs article:hover,.values article:hover,.testimonials article:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e6f5f2;color:var(--teal);font-weight:900;font-size:1.2rem}.programs h3{margin:17px 0 8px}.programs p{font-size:.91rem}.programs em{display:inline-block;font-style:normal;font-size:.7rem;font-weight:800;background:#fff5dc;color:#805a14;padding:5px 9px;border-radius:99px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.steps article{padding:20px}.steps strong{font-size:3rem;line-height:1;color:#dbe8f1}.steps h3{margin:7px 0}.steps p{font-size:.92rem}.stats{background:var(--navy);color:#fff;padding:65px 0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.stat-grid b{font-size:2.5rem;display:block;line-height:1.1}.stat-grid span{color:#c5d6e4}.stat-note{text-align:center;color:#a7bdce;font-size:.78rem;margin:25px auto 0}.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.quote{font-size:3rem;color:var(--teal);line-height:.7}.testimonials p{min-height:90px}.testimonials small{display:block;color:var(--muted)}.faq{border-top:1px solid var(--line)}.faq button{width:100%;border:0;border-bottom:1px solid var(--line);background:none;padding:21px 5px;text-align:left;font-weight:850;display:flex;justify-content:space-between;cursor:pointer}.faq button span{color:var(--teal);font-size:1.4rem;transition:.2s}.faq button[aria-expanded=true] span{transform:rotate(45deg)}.faq div{display:grid;grid-template-rows:0fr;transition:.3s}.faq div p{overflow:hidden;margin:0;padding:0 5px}.faq div.open{grid-template-rows:1fr}.faq div.open p{padding:15px 5px 20px}.cta{padding:70px 0;background:linear-gradient(110deg,var(--teal),var(--navy));color:#fff}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:0 0 8px}.cta p{color:#d7ebe8;margin:0}.page-hero{padding:90px 0;background:linear-gradient(120deg,#edf5fa,#f5faf9);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.04;letter-spacing:-.05em;margin:0 0 15px;max-width:900px}.page-hero p{color:var(--muted);font-size:1.1rem}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.value-list{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.value-list article{border-left:3px solid var(--teal);padding:5px 0 5px 20px}.value-list h3{margin:0}.two-col{align-items:start}.two-col ul{padding-left:20px;color:var(--muted)}.two-col li{margin:9px 0}.impact{background:var(--navy);border-radius:24px;padding:50px;color:#fff;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}.impact h2{color:#fff}.impact p{color:#c5d7e5}.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mini-stats div{border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:18px}.mini-stats b{display:block;font-size:1.7rem}.mini-stats span{color:#b9ccda;font-size:.84rem}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.team article{text-align:center;background:#fff;border:1px solid var(--line);padding:28px;border-radius:var(--radius)}.team article div{width:78px;height:78px;margin:auto;border-radius:50%;display:grid;place-items:center;background:#e6f5f2;color:var(--teal);font-weight:900;font-size:1.3rem}.team h3{margin:15px 0 3px}.team p{margin:0;color:var(--muted)}.notice{padding:24px;background:#fff8e8;border-top:1px solid #efd9a6;border-bottom:1px solid #efd9a6;color:#644b17}.contact-grid{align-items:start}.details{display:grid;gap:18px;margin-top:28px}.details>div{display:flex;gap:14px}.details>b,.details>div>b{width:42px;height:42px;display:grid;place-items:center;background:#e6f5f2;color:var(--teal);border-radius:10px;flex:none}.details strong,.details span{display:block}.details a{color:var(--navy);font-weight:700}.social{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.social a{border:1px solid var(--line);padding:8px 13px;border-radius:999px;font-weight:750;color:var(--navy)}.form-card{background:#fff;border:1px solid var(--line);padding:30px;border-radius:var(--radius);box-shadow:var(--shadow)}.field{margin-bottom:16px}.field label{font-weight:800;display:block;margin-bottom:7px}.field em{color:#b42318;font-style:normal}.field input,.field textarea{width:100%;border:1px solid #c9d5df;border-radius:9px;padding:12px 13px;outline:none}.field input:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(19,135,124,.12)}.field.invalid input,.field.invalid textarea{border-color:#b42318}.field small{display:block;color:#b42318;min-height:1em;font-size:.78rem}.security-note{font-size:.8rem;color:#667587;background:#f4f7f9;padding:11px;border-radius:8px;margin-bottom:16px}#feedback{display:none;margin-top:15px;padding:12px;border-radius:8px;font-size:.9rem}#feedback.success{display:block;background:#e8f7f0;color:#14643f}#feedback.error{display:block;background:#fff0ee;color:#9b2c1c}.map{height:360px;border-radius:var(--radius);background:linear-gradient(135deg,#dce9f2,#eef5f7);border:1px solid var(--line);display:grid;place-items:center;text-align:center}.map span{font-size:3rem;color:var(--teal)}.map h3{margin:5px 0}.map p{color:var(--muted)}.footer{background:#071e34;color:#bdcbd7;padding-top:60px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1fr .7fr;gap:40px;padding-bottom:45px}.footer-logo{color:#fff;margin-bottom:15px}.footer h3{font-size:1rem;color:#fff;margin:0 0 13px}.footer a,.footer span{display:block;margin:8px 0;color:#b4c5d2;font-size:.9rem}.footer a:hover{color:#fff}.footer p{max-width:390px;color:#99afbf}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:#8ea5b6}.footer-bottom div{display:flex;gap:20px}
@media(max-width:1050px){.programs{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.value-list{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.container{width:min(calc(100% - 28px),var(--max))}.nav{min-height:68px}.menu-btn{display:block}.nav-menu{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:12px 20px 20px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px rgba(0,0,0,.08);flex-direction:column;align-items:stretch;gap:0}.nav-menu.open{display:flex}.nav-menu>a{padding:12px 5px}.nav-button{text-align:center;margin-top:5px}.hero{min-height:610px}.hero h1{font-size:clamp(2.6rem,12vw,4rem)}.intro,.two-col,.contact-grid,.impact{grid-template-columns:1fr;gap:35px}.section{padding:65px 0}.programs,.steps,.testimonials,.values,.value-list,.team,.stat-grid{grid-template-columns:1fr}.cta-inner{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column}.page-hero{padding:65px 0}.impact{padding:30px}.mini-stats{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.footer-grid{grid-template-columns:1fr}.hero-actions .btn{width:100%}.form-card{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Donation form */
.active-button{background:var(--teal)!important}
.donation-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}
.donation-points{display:grid;gap:18px;margin-top:28px}
.donation-points>div{display:flex;gap:14px}
.donation-points>div>span{width:34px;height:34px;display:grid;place-items:center;background:#e6f5f2;color:var(--teal);border-radius:50%;font-weight:900;flex:none}
.donation-points strong{display:block}.donation-points p{margin:3px 0}
.amount-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:9px}
.amount-row button{border:1px solid #c9d5df;background:#f7fafc;color:var(--navy);border-radius:8px;padding:10px;cursor:pointer;font-weight:800}
.amount-row button:hover,.amount-row button.selected{border-color:var(--teal);background:#e6f5f2;color:var(--teal)}
.field select{width:100%;border:1px solid #c9d5df;border-radius:9px;padding:12px 13px;background:#fff}
#donation-feedback{display:none;margin-top:15px;padding:12px;border-radius:8px;font-size:.9rem}
#donation-feedback.success{display:block;background:#e8f7f0;color:#14643f}
#donation-feedback.error{display:block;background:#fff0ee;color:#9b2c1c}
@media(max-width:760px){.donation-grid{grid-template-columns:1fr;gap:35px}}
/* Grant application feedback */

#grant-feedback {
  margin-top: 16px;
  width: 100%;
  box-sizing: border-box;
}

#grant-feedback.success,
#feedback.success {
  background: #e8f7ee;
  border: 1px solid #35a765;
  color: #176b3a;
  padding: 14px 16px;
  border-radius: 8px;
  line-height: 1.5;
}

#grant-feedback.error,
#feedback.error {
  background: #fdecec;
  border: 1px solid #d9534f;
  color: #a12622;
  padding: 14px 16px;
  border-radius: 8px;
  line-height: 1.5;
}

