:root{
  --green:#0aa06e; --green-dark:#05875c; --green-soft:#eaf8f2;
  --blue:#2e7df6; --blue-soft:#eef5ff;
  --ink:#111827; --text:#34445d; --muted:#667085;
  --line:#dbe4ee; --soft-line:#edf2f7; --bg:#f7f9fb; --card:#fff;
  --shadow:0 24px 60px rgba(15,23,42,.08); --small-shadow:0 12px 30px rgba(15,23,42,.05);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff 0%,#fbfcfd 48%,#f6f8fb 100%);overflow-x:hidden}
button,input,select{font:inherit}
.container{width:min(1280px,calc(100% - 64px));margin-inline:auto}
.header{height:72px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--green);font-size:20px;font-weight:900;letter-spacing:-.04em}
.logo svg{width:30px;height:30px;stroke-width:2.2}
.save-plan{height:42px;border:1px solid #d6e0eb;background:#fff;color:#233047;border-radius:12px;padding:0 18px;display:inline-flex;align-items:center;gap:9px;font-weight:850;box-shadow:0 4px 14px rgba(15,23,42,.03);cursor:pointer}
.save-plan svg{width:16px;height:16px}
.hero{padding:22px 0 24px}
.hero-grid{display:grid;grid-template-columns:1fr .93fr;align-items:center;gap:72px}
.hero h1{margin:0 0 20px;font-size:clamp(46px,5.8vw,76px);line-height:1.12;letter-spacing:-.075em;color:#111827}
.hero h1 span{color:var(--green)}
.hero .lead{margin:0;max-width:640px;color:#44546d;font-size:19px;font-weight:650;line-height:1.62}
.benefits{display:flex;gap:34px;flex-wrap:wrap;margin-top:32px}
.benefit{display:flex;align-items:center;gap:14px;min-width:150px}
.bicon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue)}
.benefit:nth-child(2) .bicon{background:var(--green-soft);color:var(--green)}
.benefit strong{display:block;font-size:14px;line-height:1.25;letter-spacing:-.02em}
.hero-art{min-height:340px;display:grid;place-items:center;position:relative;background:radial-gradient(ellipse at 55% 45%,rgba(233,242,255,.9) 0%,rgba(245,249,252,.55) 54%,rgba(255,255,255,0) 76%)}
.hero-art:before{content:"";position:absolute;inset:12px 0 8px;background:radial-gradient(ellipse at center,rgba(255,255,255,.9),rgba(255,255,255,0) 70%);filter:blur(22px)}
.hero-art img{position:relative;z-index:1;width:min(100%,610px);height:auto;display:block;filter:drop-shadow(0 20px 35px rgba(15,23,42,.06));-webkit-mask-image:radial-gradient(ellipse at center,#000 62%,rgba(0,0,0,.86) 78%,rgba(0,0,0,0) 100%);mask-image:radial-gradient(ellipse at center,#000 62%,rgba(0,0,0,.86) 78%,rgba(0,0,0,0) 100%)}
.stats-band{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--small-shadow);overflow:hidden;margin-bottom:28px}
.stat{min-height:112px;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat small{display:block;color:#3b4960;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900;margin-bottom:10px}
.stat strong{display:block;font-size:24px;letter-spacing:-.04em}
.stat-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#f0f5ff;color:#2d78f2;flex:0 0 auto}
.stat:nth-child(4) .stat-icon{background:var(--green-soft);color:var(--green)}
.app-shell{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:26px;margin-bottom:28px}
.input-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:28px}
.panel{border:1px solid var(--line);border-radius:22px;background:#fff;padding:28px}
.panel h2{margin:0 0 8px;font-size:26px;letter-spacing:-.045em}
.panel-sub{margin:0 0 22px;color:#526179;font-weight:600;font-size:14px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 22px}
.form-grid .full{grid-column:1/-1}
.field label,.label{display:block;font-size:13px;color:#111827;font-weight:900;margin-bottom:9px}
.control{height:56px;border:1px solid #d7e1ed;border-radius:12px;background:#fff;display:flex;align-items:center;padding:0 16px;gap:10px;transition:.18s ease}
.control:focus-within{border-color:rgba(10,160,110,.55);box-shadow:0 0 0 4px rgba(10,160,110,.09)}
.control span{font-weight:900;color:#64748b}
.control input,.control select{width:100%;border:0;outline:0;background:transparent;color:#091120;font-weight:850;font-size:16px}
.control select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 6px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:24px}
.strategy-list{display:grid;gap:18px}
.strategy{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}
.strategy-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}
.strategy h3{margin:0 0 7px;font-size:20px;letter-spacing:-.035em}
.strategy p{margin:0;color:#44546d;font-weight:600}
.use-check{display:flex;align-items:center;gap:10px;font-weight:900;white-space:nowrap;cursor:pointer}
.use-check input{appearance:none;width:22px;height:22px;border-radius:6px;border:2px solid #cbd5e1;display:grid;place-items:center;position:relative;cursor:pointer}
.use-check input:checked{background:var(--green);border-color:var(--green)}
.use-check input:checked:after{content:'✓';position:absolute;color:#fff;font-weight:900;font-size:16px;line-height:1}
.strategy-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.strategy-fields.one{grid-template-columns:1fr}
.comparison{border:1px solid var(--line);border-radius:24px;background:#fff;padding:28px;box-shadow:var(--small-shadow);margin-bottom:28px}
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.section-title-row h2{margin:0;font-size:25px;letter-spacing:-.04em}
.section-title-row p{margin:6px 0 0;color:#64748b;font-weight:600}
.badge-soft{display:inline-flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:#536179;font-weight:850;font-size:12px;background:#fff}
.comparison-note{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:18px;padding:18px 20px;background:linear-gradient(135deg,#fff 0%,#f8fbfa 100%);margin-bottom:16px}
.comparison-note small{display:block;color:#64748b;font-weight:850;margin-bottom:5px}
.comparison-note strong{display:block;font-size:26px;letter-spacing:-.045em}
.comparison-note p{margin:0;color:#536179;font-weight:650;line-height:1.45;max-width:620px}
.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}
.compare-card{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff;display:flex;flex-direction:column;gap:16px}
.compare-card.optimal{border-color:rgba(10,160,110,.62);background:linear-gradient(135deg,#fff 0%,#f0fbf6 100%)}
.compare-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:#526179;font-size:13px;font-weight:850}
.compare-title{display:flex;flex-direction:column;gap:4px}
.compare-title span:first-child{color:#1f2937;font-size:15px}
.compare-title em{font-style:normal;color:#64748b;font-weight:700;font-size:12px;line-height:1.35}
.dot{width:11px;height:11px;border-radius:50%;display:inline-block;margin-right:8px;background:#cbd5e1}
.dot.blue{background:#2e7df6}.dot.green{background:var(--green)}.dot.gold{background:#f59e0b}
.result-rows{display:grid;gap:10px}
.result-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #eef2f6;border-radius:14px;padding:13px 14px;background:#fbfdff}
.result-row small{color:#64748b;font-weight:850}
.result-row strong{font-size:20px;letter-spacing:-.04em;white-space:nowrap}
.result-row.save{background:var(--green-soft);border-color:rgba(10,160,110,.20)}
.result-row.save strong{color:var(--green)}
.compare-card p{margin:0;color:#526179;font-weight:650;line-height:1.45}
.save-pill{background:var(--green-soft);color:var(--green);border-radius:999px;padding:7px 10px;font-weight:900;font-size:12px;white-space:nowrap}
.chart-card{margin-top:12px}
.chart-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.chart-top h3{margin:0;font-size:24px;letter-spacing:-.04em}
.legend{display:flex;gap:22px;align-items:center;color:#64748b;font-size:13px;font-weight:850}
.chart-wrap{height:330px;position:relative}
canvas{width:100%;height:100%;display:block}
.payoff-row{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:26px}
.payoff-cell{padding:22px 24px;border-right:1px solid var(--line);background:#fff}
.payoff-cell:last-child{border-right:0;background:linear-gradient(135deg,#fff 0%,#f0fbf6 100%)}
.payoff-cell small{display:block;color:#536179;font-size:13px;font-weight:850;margin-bottom:8px}
.payoff-cell strong{display:block;font-size:22px;letter-spacing:-.04em}
.payoff-cell em{display:block;margin-top:7px;color:#64748b;font-style:normal;font-weight:650}
.payoff-cell .green-text{color:var(--green)}
.site-footer{border-top:1px solid var(--line);padding:34px 0 42px;background:#fff}
.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;color:#64748b;font-weight:600}
.footer-brand{display:flex;flex-direction:column;gap:12px}
.footer-brand .logo{font-size:18px}
.footer-links{display:flex;gap:54px}
.footer-links h4{margin:0 0 12px;color:#111827}
.footer-links a{display:block;text-decoration:none;color:#64748b;margin:8px 0;font-weight:650}
.mobile-only{display:none}
@media (max-width:980px){
  .container{width:min(1280px,calc(100% - 36px))}
  .hero-grid,.input-grid{grid-template-columns:1fr;gap:30px}
  .stats-band,.compare-grid,.payoff-row{grid-template-columns:1fr}
  .stat,.payoff-cell{border-right:0;border-bottom:1px solid var(--line)}
  .stat:last-child,.payoff-cell:last-child{border-bottom:0}
  .strategy-fields,.form-grid{grid-template-columns:1fr}
  .footer-inner{flex-direction:column}
  .footer-links{flex-wrap:wrap;gap:32px}
}
@media (max-width:640px){
  .header,.nav{height:66px}
  .logo{font-size:17px}
  .save-plan{padding:0 12px}
  .save-plan span{display:none}
  .hero h1{font-size:48px}
  .benefits{gap:18px}
  .app-shell,.comparison,.panel{padding:18px;border-radius:20px}
  .chart-wrap{height:260px}
}
.chart-wrap canvas{max-width:100%;}

/* updated mortgage calculator fields */
.field-hint{display:block;margin-top:8px;color:#64748b;font-size:12px;font-weight:700}
.clean-loan-fields{align-items:start}
.clean-loan-fields .field.full{grid-column:1 / -1}

@media (max-width: 980px){
  .compare-grid{grid-template-columns:1fr !important}
  .comparison-note{align-items:flex-start;flex-direction:column}
}

.selected-combo-card{
  border:1px solid rgba(10,160,110,.35);
  border-radius:20px;
  padding:24px;
  margin:-12px 0 30px;
  background:linear-gradient(135deg,#ffffff 0%,#eefbf5 100%);
  box-shadow:0 18px 40px rgba(15,23,42,.06);
}
.selected-combo-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.selected-combo-head h3{
  margin:0;
  font-size:24px;
  letter-spacing:-.045em;
}
.selected-combo-head p{
  margin:6px 0 0;
  color:#526179;
  font-weight:650;
  line-height:1.45;
}
.combo-pill{
  background:#0aa06e;
  color:#fff;
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.combo-results{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.combo-result{
  border:1px solid rgba(10,160,110,.18);
  border-radius:16px;
  padding:16px;
  background:rgba(255,255,255,.78);
}
.combo-result small{
  display:block;
  color:#64748b;
  font-weight:850;
  margin-bottom:8px;
}
.combo-result strong{
  display:block;
  font-size:22px;
  letter-spacing:-.04em;
}
.combo-result.green strong{
  color:#0aa06e;
}
@media (max-width:980px){
  .combo-results{grid-template-columns:1fr 1fr}
  .selected-combo-head{flex-direction:column}
}
@media (max-width:640px){
  .combo-results{grid-template-columns:1fr}
}

.strategy-fields.two{grid-template-columns:1fr 1fr}
@media (max-width:760px){.strategy-fields.two{grid-template-columns:1fr}}

/* GitHub-ready external icon assets */
.icon-img{
  display:inline-block;
  vertical-align:middle;
  width:1.35em;
  height:1.35em;
  object-fit:contain;
}
.logo .icon-img,
.logo-icon .icon-img{
  width:28px;
  height:28px;
}
.stat-icon .icon-img{
  width:22px;
  height:22px;
}
.save-btn .icon-img{
  width:16px;
  height:16px;
}
.footer-brand .logo .icon-img{
  width:26px;
  height:26px;
}

.header-actions{
  display:flex;
  align-items:center;
  gap:14px;
  margin-left:auto;
}@media (max-width:640px){
  .header-actions{gap:8px}}/* Monthly repayment breakdown */
.monthly-breakdown-section{margin-top:28px;margin-bottom:28px}
.monthly-card{border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--small-shadow);padding:26px}
.monthly-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.monthly-head h2{margin:0;font-size:26px;letter-spacing:-.045em}
.monthly-head p{margin:7px 0 0;color:#64748b;font-weight:650}
.monthly-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.monthly-item{border:1px solid #e7edf4;border-radius:18px;padding:18px;background:linear-gradient(135deg,#fff 0%,#fbfdff 100%)}
.monthly-item.save{border-color:rgba(10,160,110,.25);background:linear-gradient(135deg,#fff 0%,#eefbf5 100%)}
.monthly-item small{display:block;color:#64748b;font-weight:900;line-height:1.35;margin-bottom:10px}
.monthly-item strong{display:block;font-size:26px;letter-spacing:-.045em;color:#111827}
.monthly-item.save strong{color:var(--green)}
.monthly-item em{display:block;margin-top:9px;color:#64748b;font-size:13px;font-style:normal;font-weight:650;line-height:1.35}
@media (max-width:980px){.monthly-grid{grid-template-columns:1fr 1fr}.monthly-head{flex-direction:column}}
@media (max-width:640px){.monthly-grid{grid-template-columns:1fr}}

/* Force desktop layout on mobile devices */
html,
body{
  min-width:1280px;
}

body{
  overflow-x:auto;
}

@media (max-width: 760px){
  .container{
    width:min(1280px, calc(100% - 64px)) !important;
  }
}/* Donation section */
.donation-section{margin-top:28px;margin-bottom:28px}
.donation-card{border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,#fff 0%,#fbfdfc 100%);box-shadow:var(--small-shadow);display:grid;grid-template-columns:1fr 1fr .9fr;overflow:hidden}
.donation-column{padding:28px;border-right:1px solid var(--line)}
.donation-column:last-child{border-right:0}
.donation-step{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}
.donation-step>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0aa06e,#3f8f35);color:#fff;font-size:14px;font-weight:900;flex:0 0 30px}
.donation-step h2{margin:0;font-size:22px;letter-spacing:-.04em}
.donation-step p{margin:8px 0 0;color:#64748b;font-weight:650;line-height:1.45}
.donation-amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:360px}
.donation-amount{height:64px;border:1px solid #dbe4ee;border-radius:14px;background:#fff;color:#111827;font-size:20px;font-weight:850;cursor:pointer;transition:.18s ease}
.donation-amount:hover{border-color:rgba(10,160,110,.55);transform:translateY(-1px)}
.donation-amount.active{border-color:var(--green);background:linear-gradient(135deg,#fff 0%,#eefbf5 100%);color:var(--green);box-shadow:0 12px 22px rgba(10,160,110,.10)}
.donation-secure{margin:22px 0 0;color:#526179;font-weight:700;line-height:1.45}
.payment-method{border:1px solid #dbe4ee;border-radius:16px;min-height:70px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff}
.payment-method.active{border-color:rgba(10,160,110,.65);background:linear-gradient(135deg,#fff 0%,#eefbf5 100%)}
.payment-method strong{font-size:18px}.payment-method span{color:#64748b;font-weight:700}
.bank-details{margin-top:16px;display:grid;gap:10px}
.bank-details div{border:1px solid #edf2f7;border-radius:14px;padding:13px 14px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px}
.bank-details small{color:#64748b;font-weight:850}.bank-details strong{font-size:16px}
.donation-column.summary{background:linear-gradient(135deg,#fff 0%,#f0fbf6 100%)}
.donation-summary-box{border:1px solid rgba(10,160,110,.16);border-radius:16px;background:rgba(255,255,255,.82);padding:18px;display:grid;gap:14px;margin-bottom:16px}
.donation-summary-box div{display:flex;justify-content:space-between;align-items:center;gap:14px;color:#526179;font-weight:750}
.donation-summary-box .total{border-top:1px solid #dfeee8;padding-top:14px}
.donation-summary-box strong{font-size:18px;color:#111827}.donation-summary-box .total strong{color:var(--green);font-size:25px}
.donation-copy-btn{width:100%;height:56px;border:0;border-radius:14px;background:linear-gradient(135deg,#0aa06e,#3f8f35);color:#fff;font-size:17px;font-weight:900;cursor:pointer;box-shadow:0 14px 26px rgba(10,160,110,.18)}
.donation-copy-btn.copied{background:linear-gradient(135deg,#0c7f5a,#0aa06e)}
.donation-note{margin:14px 0 0;text-align:center;color:#64748b;font-weight:700}@media (max-width:980px){.donation-card{grid-template-columns:1fr}.donation-column:last-child{border-bottom:0}}
@media (max-width:640px){.donation-column{padding:20px}.donation-amounts{grid-template-columns:1fr 1fr}}

.payment-methods{display:grid;gap:12px}
.payment-method{border:1px solid #dbe4ee;border-radius:16px;min-height:74px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;cursor:pointer;text-align:inherit}
.payment-method.active{border-color:rgba(10,160,110,.65);background:linear-gradient(135deg,#fff 0%,#eefbf5 100%)}
.payment-method strong{font-size:18px}.payment-method span{display:block;margin-top:4px;color:#64748b;font-weight:700}
.payment-dot{width:18px;height:18px;border:2px solid #c8d4e3;border-radius:50%;display:block;flex:0 0 18px;background:#fff}
.payment-method.active .payment-dot{border-color:var(--green);box-shadow:inset 0 0 0 4px #fff;background:var(--green)}
.payment-details-panel{display:none;margin-top:16px;border:1px solid #edf2f7;border-radius:16px;background:#fff;padding:16px}
.payment-details-panel.active{display:block}
.payment-details-panel p{margin:0;color:#64748b;font-weight:700;line-height:1.5}

/* Donation method dropdown */
.donation-method-select-wrap{
  display:grid;
  gap:10px;
}
.donation-method-select-wrap label{
  color:#334155;
  font-size:13px;
  font-weight:900;
}
.donation-method-select{
  width:100%;
  height:58px;
  border:1px solid #dbe4ee;
  border-radius:16px;
  background:#fff;
  color:#111827;
  font-size:17px;
  font-weight:850;
  padding:0 16px;
  outline:none;
}
.donation-method-select:focus{
  border-color:var(--green);
  box-shadow:0 0 0 4px rgba(10,160,110,.10);
}
#donationMethodInfo{
  display:block;
  margin-top:16px;
}
#donationMethodInfo p{
  margin:0;
  color:#64748b;
  font-weight:700;
  line-height:1.5;
}
.payment-methods,
.bank-details{
  display:none !important;
}

/* Polished donation method dropdown */
.donation-method-select-wrap{
  display:grid;
  gap:10px;
}
.donation-method-select-wrap label{
  color:#334155;
  font-size:13px;
  font-weight:900;
}
.donation-method-control{
  min-height:74px;
  border:1px solid rgba(10,160,110,.35);
  border-radius:18px;
  background:linear-gradient(135deg,#ffffff 0%,#eefbf5 100%);
  display:grid;
  grid-template-columns:54px 1fr;
  align-items:center;
  gap:14px;
  padding:0 16px;
  box-shadow:0 14px 28px rgba(10,160,110,.07);
}
.donation-method-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:rgba(10,160,110,.10);
  color:var(--green);
}
.donation-method-select{
  width:100%;
  height:54px;
  border:0;
  border-radius:14px;
  background:transparent;
  color:#111827;
  font-size:18px;
  font-weight:900;
  padding:0 34px 0 0;
  outline:none;
  cursor:pointer;
}
.donation-method-select:focus{
  box-shadow:none;
}#donationMethodInfo,
.payment-details-panel{
  display:none !important;
}

/* Donation amount click feedback */
.donation-amount{
  position:relative;
  z-index:2;
  pointer-events:auto;
}
.donation-amount.active{
  outline:3px solid rgba(10,160,110,.16);
}
.donation-amount.active::after{
  content:"✓";
  position:absolute;
  top:8px;
  right:10px;
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--green);
  color:#fff;
  font-size:13px;
  font-weight:900;
}/* Donation dropdown styled like amount buttons */
.donation-method-select-wrap{
  display:grid !important;
  gap:14px !important;
}
.donation-method-select-wrap label{
  color:#334155 !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.02em;
}
.donation-method-control{
  min-height:64px !important;
  border:1px solid #dbe4ee !important;
  border-radius:14px !important;
  background:#ffffff !important;
  display:grid !important;
  grid-template-columns:46px 1fr 24px !important;
  align-items:center !important;
  gap:12px !important;
  padding:0 16px !important;
  box-shadow:none !important;
  position:relative;
  transition:.18s ease;
}
.donation-method-control:hover{
  border-color:rgba(10,160,110,.55) !important;
  transform:translateY(-1px);
}
.donation-method-control:focus-within{
  border-color:var(--green) !important;
  background:linear-gradient(135deg,#fff 0%,#eefbf5 100%) !important;
  box-shadow:0 12px 22px rgba(10,160,110,.10) !important;
  outline:3px solid rgba(10,160,110,.16);
}
.donation-method-icon{
  width:38px !important;
  height:38px !important;
  border-radius:13px !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(10,160,110,.10) !important;
  color:var(--green) !important;
}
.donation-method-control::after{
  content:"⌄";
  color:#64748b;
  font-size:22px;
  font-weight:900;
  pointer-events:none;
  justify-self:end;
  margin-top:-4px;
}
.donation-method-select{
  width:100% !important;
  height:62px !important;
  border:0 !important;
  border-radius:14px !important;
  background:transparent !important;
  color:#111827 !important;
  font-size:20px !important;
  font-weight:850 !important;
  padding:0 !important;
  outline:none !important;
  cursor:pointer !important;
  appearance:none;
  -webkit-appearance:none;
}.donation-column .donation-step h2#donateStep2Title{
  font-size:22px;
  letter-spacing:-.04em;
}

/* Professional donation section */
.donation-card.pro{
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 50px rgba(15,23,42,.08);
  display:grid;
  grid-template-columns:1fr 1fr .95fr;
  overflow:visible;
}
.donation-card.pro .donation-column{
  padding:30px;
  border-right:1px solid var(--line);
}
.donation-card.pro .donation-column:last-child{
  border-right:0;
}
.donation-card.pro .donation-step{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:24px;
}
.donation-card.pro .donation-step > span{
  width:30px;
  height:30px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#0aa06e,#3f8f35);
  color:#fff;
  font-size:14px;
  font-weight:900;
  flex:0 0 30px;
}
.donation-card.pro .donation-step h2{
  margin:0;
  color:#111827;
  font-size:23px;
  letter-spacing:-.045em;
  line-height:1.1;
}
.donation-card.pro .donation-step p{
  margin:9px 0 0;
  color:#526179;
  font-weight:700;
  line-height:1.48;
}
.donation-card.pro .donation-amounts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  max-width:370px;
}
.donation-card.pro .donation-amount{
  height:64px;
  border:1px solid #dbe4ee;
  border-radius:14px;
  background:#fff;
  color:#111827;
  font-size:20px;
  font-weight:900;
  cursor:pointer;
  position:relative;
  transition:.18s ease;
}
.donation-card.pro .donation-amount:hover{
  border-color:rgba(10,160,110,.55);
  transform:translateY(-1px);
}
.donation-card.pro .donation-amount.active{
  border-color:var(--green);
  background:linear-gradient(135deg,#fff 0%,#eefbf5 100%);
  color:var(--green);
  box-shadow:0 12px 22px rgba(10,160,110,.10);
  outline:3px solid rgba(10,160,110,.12);
}
.donation-card.pro .donation-amount.active::after{
  content:"✓";
  position:absolute;
  top:8px;
  right:10px;
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--green);
  color:#fff;
  font-size:13px;
  font-weight:900;
}
.donation-card.pro .donation-secure{
  margin:24px 0 0;
  color:#526179;
  font-weight:750;
  line-height:1.5;
}
.method-picker{
  position:relative;
  max-width:390px;
  z-index:20;
}
.method-picker-button{
  width:100%;
  min-height:68px;
  border:1px solid #dbe4ee;
  border-radius:16px;
  background:#fff;
  color:#111827;
  display:grid;
  grid-template-columns:46px 1fr 24px;
  align-items:center;
  gap:14px;
  padding:0 16px;
  cursor:pointer;
  text-align:left;
  transition:.18s ease;
}
.method-picker-button:hover,
.method-picker.open .method-picker-button{
  border-color:var(--green);
  background:linear-gradient(135deg,#fff 0%,#eefbf5 100%);
  box-shadow:0 14px 26px rgba(10,160,110,.10);
}
.method-picker-icon{
  width:40px;
  height:40px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:rgba(10,160,110,.10);
  color:var(--green);
}
.method-picker-text{
  font-size:20px;
  font-weight:900;
}
.method-picker-chevron{
  color:#64748b;
  font-size:22px;
  font-weight:900;
  justify-self:end;
  transform:translateY(-2px);
}
.method-picker-menu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 10px);
  border:1px solid #dbe4ee;
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.14);
  padding:8px;
  display:none;
  z-index:50;
}
.method-picker.open .method-picker-menu{
  display:grid;
  gap:6px;
}
.method-option{
  min-height:48px;
  border:0;
  border-radius:12px;
  background:#fff;
  color:#111827;
  text-align:left;
  padding:0 14px;
  font-size:17px;
  font-weight:850;
  cursor:pointer;
}
.method-option:hover,
.method-option.active{
  background:var(--green-soft);
  color:var(--green);
}
.donation-card.pro .summary{
  background:linear-gradient(135deg,#fff 0%,#f0fbf6 100%);
}
.donation-card.pro .donation-summary-box{
  border:1px solid rgba(10,160,110,.16);
  border-radius:18px;
  background:rgba(255,255,255,.86);
  padding:18px;
  display:grid;
  gap:14px;
  margin-bottom:16px;
}
.donation-card.pro .donation-summary-box div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  color:#526179;
  font-weight:850;
}
.donation-card.pro .donation-summary-box .total{
  border-top:1px solid #dfeee8;
  padding-top:14px;
}
.donation-card.pro .donation-summary-box strong{
  color:#111827;
  font-size:18px;
  text-align:right;
}
.donation-card.pro .donation-summary-box .total strong{
  color:var(--green);
  font-size:25px;
}
.donation-card.pro .donation-copy-btn{
  width:100%;
  min-height:56px;
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,#0aa06e,#3f8f35);
  color:#fff;
  font-size:17px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 14px 26px rgba(10,160,110,.18);
}
.donation-card.pro .donation-copy-btn.copied{
  background:linear-gradient(135deg,#0c7f5a,#0aa06e);
}
.donation-card.pro .donation-note{
  margin:14px 0 0;
  text-align:center;
  color:#64748b;
  font-weight:750;
}
.donation-method-select-wrap,
.donation-method-control,
.payment-methods,
.payment-details-panel,
.bank-details{
  display:none !important;
}@media (max-width:980px){
  .donation-card.pro{
    grid-template-columns:1fr;
  }.donation-card.pro .donation-column:last-child{
    border-bottom:0;
  }
}
@media (max-width:640px){
  .donation-card.pro .donation-column{padding:20px}
  .donation-card.pro .donation-amounts{grid-template-columns:1fr 1fr}
}

/* Card-only professional donation section */
.donation-card.card-only{border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.08);display:grid;grid-template-columns:1fr 1fr .95fr;overflow:visible}
.donation-card.card-only .donation-column{padding:30px;border-right:1px solid var(--line)}
.donation-card.card-only .donation-column:last-child{border-right:0}
.donation-card.card-only .donation-step{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}
.donation-card.card-only .donation-step>span{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,#0aa06e,#3f8f35);color:#fff;font-size:14px;font-weight:900;flex:0 0 30px}
.donation-card.card-only .donation-step h2{margin:0;color:#111827;font-size:23px;letter-spacing:-.045em;line-height:1.1}
.donation-card.card-only .donation-step p{margin:9px 0 0;color:#526179;font-weight:700;line-height:1.48}
.donation-card.card-only .donation-amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:370px}
.donation-card.card-only .donation-amount{height:64px;border:1px solid #dbe4ee;border-radius:14px;background:#fff;color:#111827;font-size:20px;font-weight:900;cursor:pointer;position:relative;transition:.18s ease}
.donation-card.card-only .donation-amount:hover{border-color:rgba(10,160,110,.55);transform:translateY(-1px)}
.donation-card.card-only .donation-amount.active{border-color:var(--green);background:linear-gradient(135deg,#fff 0%,#eefbf5 100%);color:var(--green);box-shadow:0 12px 22px rgba(10,160,110,.10);outline:3px solid rgba(10,160,110,.12)}
.donation-card.card-only .donation-amount.active::after{content:"✓";position:absolute;top:8px;right:10px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:13px;font-weight:900}
.donation-card.card-only .donation-secure{margin:24px 0 0;color:#526179;font-weight:750;line-height:1.5}
.card-payment-box{min-height:84px;border:1px solid rgba(10,160,110,.45);border-radius:18px;background:linear-gradient(135deg,#fff 0%,#eefbf5 100%);display:grid;grid-template-columns:50px 1fr 30px;align-items:center;gap:16px;padding:18px;box-shadow:0 14px 26px rgba(10,160,110,.10)}
.card-payment-icon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:rgba(10,160,110,.10);color:var(--green)}
.card-payment-box strong{display:block;font-size:20px;font-weight:900;color:#111827}
.card-payment-box span{display:block;margin-top:5px;color:#64748b;font-weight:700;line-height:1.35}
.card-payment-check{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:14px;font-weight:900;justify-self:end}
.donation-card.card-only .summary{background:linear-gradient(135deg,#fff 0%,#f0fbf6 100%)}
.donation-card.card-only .donation-summary-box{border:1px solid rgba(10,160,110,.16);border-radius:18px;background:rgba(255,255,255,.86);padding:18px;display:grid;gap:14px;margin-bottom:16px}
.donation-card.card-only .donation-summary-box div{display:flex;justify-content:space-between;align-items:center;gap:14px;color:#526179;font-weight:850}
.donation-card.card-only .donation-summary-box .total{border-top:1px solid #dfeee8;padding-top:14px}
.donation-card.card-only .donation-summary-box strong{color:#111827;font-size:18px;text-align:right}
.donation-card.card-only .donation-summary-box .total strong{color:var(--green);font-size:25px}
.donation-card.card-only .donation-copy-btn{width:100%;min-height:56px;border:0;border-radius:14px;background:linear-gradient(135deg,#0aa06e,#3f8f35);color:#fff;font-size:17px;font-weight:900;cursor:pointer;box-shadow:0 14px 26px rgba(10,160,110,.18)}
.donation-card.card-only .donation-copy-btn.copied{background:linear-gradient(135deg,#0c7f5a,#0aa06e)}
.donation-card.card-only .donation-note{margin:14px 0 0;text-align:center;color:#64748b;font-weight:750}
.method-picker,.donation-method-select-wrap,.donation-method-control,.payment-methods,.payment-details-panel,.bank-details{display:none!important}@media (max-width:980px){.donation-card.card-only{grid-template-columns:1fr}.donation-card.card-only .donation-column:last-child{border-bottom:0}}
@media (max-width:640px){.donation-card.card-only .donation-column{padding:20px}.donation-card.card-only .donation-amounts{grid-template-columns:1fr 1fr}}

/* Official Stripe Buy Button donation section */
.donation-card.stripe-official{
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 50px rgba(15,23,42,.08);
  display:grid;
  grid-template-columns:1fr 1fr;
  overflow:hidden;
}
.donation-card.stripe-official .donation-column{
  padding:32px;
}
.donation-card.stripe-official .donation-info{
  border-right:1px solid var(--line);
}
.donation-card.stripe-official .donation-checkout{
  background:linear-gradient(135deg,#fff 0%,#f0fbf6 100%);
}
.donation-card.stripe-official .donation-step{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:24px;
}
.donation-card.stripe-official .donation-step > span{
  width:30px;
  height:30px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#0aa06e,#3f8f35);
  color:#fff;
  font-size:14px;
  font-weight:900;
  flex:0 0 30px;
}
.donation-card.stripe-official .donation-step h2{
  margin:0;
  color:#111827;
  font-size:24px;
  letter-spacing:-.045em;
  line-height:1.1;
}
.donation-card.stripe-official .donation-step p{
  margin:9px 0 0;
  color:#526179;
  font-weight:700;
  line-height:1.5;
}
.donation-trust-card{
  min-height:92px;
  border:1px solid rgba(10,160,110,.45);
  border-radius:18px;
  background:linear-gradient(135deg,#fff 0%,#eefbf5 100%);
  display:grid;
  grid-template-columns:50px 1fr;
  align-items:center;
  gap:16px;
  padding:20px;
  box-shadow:0 14px 26px rgba(10,160,110,.08);
}
.donation-trust-card strong{
  display:block;
  font-size:20px;
  font-weight:900;
  color:#111827;
}
.donation-trust-card span{
  display:block;
  margin-top:5px;
  color:#64748b;
  font-weight:700;
  line-height:1.4;
}
.stripe-buy-wrapper{
  border:1px solid rgba(10,160,110,.18);
  border-radius:20px;
  background:#fff;
  padding:18px;
  min-height:170px;
  display:grid;
  align-items:center;
  box-shadow:0 14px 30px rgba(15,23,42,.05);
}
.donation-card.stripe-official .donation-secure,
.donation-card.stripe-official .donation-note{
  margin:20px 0 0;
  color:#526179;
  font-weight:750;
  line-height:1.5;
}
.donation-card.stripe-official .donation-note{
  text-align:center;
}@media (max-width:980px){
  .donation-card.stripe-official{
    grid-template-columns:1fr;
  }}

/* Header donation button */
.donation-header-btn{
  height:42px;
  padding:0 18px;
  border:1px solid rgba(10,160,110,.35);
  border-radius:14px;
  background:linear-gradient(135deg,#0aa06e,#3f8f35);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:14px;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 12px 24px rgba(10,160,110,.16);
  transition:.18s ease;
}
.donation-header-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 30px rgba(10,160,110,.22);
}
.donation-heart{
  font-size:18px;
  line-height:1;
  transform:translateY(-1px);
}/* === Modern approved visual refresh === */
.container{width:min(1580px,calc(100% - 56px));}
body{background:linear-gradient(180deg,#f7f8fb 0%,#f8fafc 55%,#f4f7fb 100%)}
.header{height:auto;background:transparent;border:0;position:sticky;top:0;padding:14px 0 0;z-index:35}
.nav-card{min-height:92px;padding:0 28px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border:1px solid rgba(219,228,238,.8);border-radius:28px;box-shadow:0 18px 44px rgba(15,23,42,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{gap:16px;color:var(--ink);font-size:28px;font-weight:900;letter-spacing:-.045em;flex:0 0 auto}
.logo .brand-text{color:#13203b}
.logo-icon{width:52px;height:52px;display:block}
.main-nav{display:flex;align-items:center;justify-content:center;gap:22px;flex:1 1 auto;min-width:0}
.nav-link{position:relative;padding:10px 6px;color:#13203b;text-decoration:none;font-size:18px;font-weight:700;letter-spacing:-.02em}
.nav-link.active,.nav-link:hover{color:var(--green)}
.nav-link.active::after{content:'';position:absolute;left:6px;right:6px;bottom:-10px;height:3px;border-radius:999px;background:var(--green)}
.header-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}.donation-header-btn{height:56px;padding:0 28px;border:1px solid rgba(10,160,110,.38);border-radius:18px;background:linear-gradient(135deg,#2f9b3b 0%, #3ea544 55%, #2d8a35 100%);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:18px;font-weight:900;text-decoration:none;box-shadow:0 18px 34px rgba(47,155,59,.20);transition:.18s ease}
.donation-header-btn:hover{transform:translateY(-1px);box-shadow:0 22px 38px rgba(47,155,59,.24)}
.donation-heart{font-size:28px;line-height:1;transform:translateY(-1px)}
.hero{padding:46px 0 26px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(460px,.98fr);align-items:center;gap:64px}
.hero-copy{padding:28px 0 18px}
.hero h1{margin:0 0 24px;font-size:clamp(62px,5.2vw,92px);line-height:1.06;letter-spacing:-.078em;color:#0f1c38}
.hero h1 span{color:#3aa346}
.hero .lead{margin:0;max-width:700px;color:#556479;font-size:20px;font-weight:560;line-height:1.7}
.hero-ctas{display:flex;align-items:center;gap:20px;margin-top:36px;flex-wrap:wrap}
.cta-primary,.cta-secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:850;letter-spacing:-.02em}
.cta-primary{height:66px;padding:0 30px;border-radius:18px;background:linear-gradient(135deg,#2f9b3b 0%, #3ea544 55%, #2d8a35 100%);color:#fff;box-shadow:0 18px 34px rgba(47,155,59,.18);font-size:18px}
.cta-secondary{height:66px;padding:0 8px;color:#2f9b3b;font-size:18px;gap:10px}
.cta-secondary::after{content:'›';font-size:34px;line-height:1;transform:translateY(-1px)}
.benefits{display:flex;align-items:center;gap:36px;flex-wrap:wrap;margin-top:52px}
.benefit{display:flex;align-items:center;gap:14px;min-width:auto}
.bicon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#eff8f0;color:#3aa346;box-shadow:inset 0 0 0 1px rgba(58,163,70,.06)}
.benefit strong{display:block;font-size:15px;line-height:1.28;color:#4c5b72;font-weight:780}
.hero-art{min-height:620px;display:grid;place-items:center;position:relative;background:transparent}
.hero-art::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 35% 20%,rgba(238,242,249,.95),rgba(247,249,253,.88) 58%,rgba(247,249,253,0) 74%)}
.hero-art img{position:relative;z-index:1;width:min(100%,820px);height:auto;display:block;filter:drop-shadow(0 18px 34px rgba(15,23,42,.06));-webkit-mask-image:none;mask-image:none}
.stats-band,.panel,.comparison,.monthly-breakdown,.site-footer{box-shadow:0 16px 40px rgba(15,23,42,.05)}
.site-footer{margin-bottom:28px}@media (max-width:1400px){.container{width:min(1380px,calc(100% - 40px))}.logo{font-size:24px}.main-nav{gap:16px}.nav-link{font-size:16px}.hero h1{font-size:clamp(54px,4.8vw,76px)}.hero-art{min-height:530px}.hero-art img{width:min(100%,680px)}}
@media (max-width:1100px){.nav-card{padding:18px 22px;flex-wrap:wrap;justify-content:center}.nav{height:auto}.main-nav{order:3;width:100%;justify-content:center;padding-bottom:6px}.header-actions{margin-left:0;width:auto}.hero-grid{grid-template-columns:1fr;gap:24px}.hero-copy{padding-top:8px}.hero-art{min-height:420px}.hero-art img{width:min(100%,620px)}}

/* === Final polished approved style overrides === */
:root{--green:#3AA348;--green-dark:#2f9138;--ink:#13203b;--soft-bg:#f5f6f8;--hero-bg:#f4f5f7;}
body{background:linear-gradient(180deg,#f3f5f7 0%,#f7f8fa 46%,#f3f5f7 100%);}
.container{width:min(1650px,calc(100% - 40px));}
.header{padding:14px 0 0;background:transparent;border:0;position:sticky;top:0;z-index:40;backdrop-filter:none}
.nav-card{min-height:112px;padding:0 36px;border-radius:30px;background:rgba(255,255,255,.97);border:1px solid rgba(225,232,239,.9);box-shadow:0 14px 36px rgba(15,23,42,.06)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:32px}
.logo{display:flex;align-items:center;gap:18px;text-decoration:none;flex:0 0 auto;color:var(--ink)}
.logo-icon{width:58px;height:58px;display:block;filter:drop-shadow(0 4px 8px rgba(58,163,72,.12))}
.brand-text{font-size:31px;font-weight:900;line-height:1;letter-spacing:-.05em;color:var(--ink)}
.main-nav{display:flex;align-items:center;justify-content:center;gap:52px;flex:1 1 auto}
.nav-link{position:relative;padding:8px 0;color:var(--ink);text-decoration:none;font-size:22px;font-weight:500;letter-spacing:-.025em}
.nav-link.active,.nav-link:hover{color:var(--green)}
.nav-link.active::after{content:'';position:absolute;left:0;right:0;bottom:-14px;height:4px;border-radius:999px;background:var(--green)}
.header-actions{display:flex;align-items:center;gap:16px;flex:0 0 auto}.donation-header-btn{height:76px;padding:0 32px;border-radius:18px;background:linear-gradient(180deg,#3ba546 0%,#379b41 100%);border:1px solid rgba(46,137,54,.35);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:14px;font-size:22px;font-weight:800;text-decoration:none;box-shadow:0 10px 22px rgba(58,163,72,.18)}
.donation-header-btn img{width:30px;height:30px;display:block}
.donation-header-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(58,163,72,.22)}
.hero{padding:18px 0 16px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(680px,1.02fr);align-items:center;gap:20px;min-height:760px}
.hero-copy{padding:34px 0 28px;max-width:760px}
.hero h1{margin:0 0 28px;color:var(--ink);font-size:clamp(68px,5.2vw,83px);line-height:1.08;letter-spacing:-.078em;font-weight:900}
.hero h1 span{color:var(--green)}
.hero .lead{max-width:660px;margin:0;color:#5a667b;font-size:26px;line-height:1.58;font-weight:450;letter-spacing:-.02em}
.hero-ctas{display:flex;align-items:center;gap:36px;flex-wrap:wrap;margin-top:52px}
.cta-primary{height:82px;padding:0 32px;border-radius:18px;background:linear-gradient(180deg,#3ba546 0%,#379b41 100%);color:#fff;display:inline-flex;align-items:center;gap:14px;text-decoration:none;font-size:22px;font-weight:800;box-shadow:0 12px 25px rgba(58,163,72,.16)}
.cta-primary img{width:28px;height:28px;display:block}
.cta-primary:hover{transform:translateY(-1px)}
.cta-secondary{display:inline-flex;align-items:center;gap:12px;height:auto;padding:0;color:var(--green);text-decoration:none;font-size:22px;font-weight:700}
.cta-secondary::after{display:none !important;content:none !important}
.cta-secondary img{width:24px;height:24px;display:block}
.benefits{display:flex;align-items:center;gap:32px;flex-wrap:nowrap;margin-top:74px}
.benefit{display:flex;align-items:center;gap:18px;position:relative;padding-right:38px;min-width:auto}
.benefit:not(:last-child)::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:42px;background:#dfe5ea}
.bicon{width:52px;height:52px;border-radius:50%;background:#eef7ec;display:grid;place-items:center;flex:0 0 52px;box-shadow:none}
.bicon img{width:24px;height:24px;display:block}
.benefit strong{display:block;color:#566275;font-size:15px;font-weight:500;letter-spacing:-.02em;white-space:nowrap}
.hero-art{display:flex;align-items:flex-end;justify-content:flex-end;min-height:760px;position:relative;background:radial-gradient(circle at 58% 40%,rgba(255,255,255,.35) 0%,rgba(255,255,255,.08) 38%,rgba(255,255,255,0) 62%)}
.hero-art::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#f4f5f7 0%,#f4f5f7 100%);z-index:0}
.hero-art img{position:relative;z-index:1;width:min(100%,905px);height:auto;display:block;filter:none;mix-blend-mode:normal;-webkit-mask-image:none;mask-image:none}
.stats-band,.panel,.comparison,.monthly-breakdown,.site-footer{box-shadow:0 12px 36px rgba(15,23,42,.045)}@media (max-width:1500px){.container{width:min(1480px,calc(100% - 32px))}.brand-text{font-size:28px}.main-nav{gap:38px}.nav-link{font-size:19px}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(560px,.98fr)}.hero h1{font-size:clamp(58px,5vw,72px)}.hero .lead{font-size:22px}.hero-art,.hero-grid{min-height:680px}.donation-header-btn{height:68px;font-size:20px}}
@media (max-width:1150px){.main-nav{gap:24px}.nav-link{font-size:17px}.brand-text{font-size:24px}.logo-icon{width:50px;height:50px}.hero-grid{grid-template-columns:1fr;min-height:auto;gap:12px}.hero-copy{max-width:none}.hero h1{font-size:clamp(50px,6vw,66px)}.hero-art{min-height:420px;justify-content:center}.hero-art img{width:min(100%,720px)}.benefits{gap:18px;flex-wrap:wrap}.benefit{padding-right:0}.benefit::after{display:none}.donation-header-btn{height:62px;padding:0 24px;font-size:18px}}

/* === Composed hero using clean landscape background + live overlay content === */
.hero-composed{
  padding: 18px 0 12px;
  background: transparent;
}
.hero-composed-wrap{
  position: relative;
}
.hero-bg-scene{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}
.hero-overlay-copy{
  position: absolute;
  left: 3.4%;
  top: 13.5%;
  width: 45.5%;
  max-width: 760px;
  z-index: 2;
}
.hero-overlay-copy h1{
  margin: 0;
  color: #13203b;
  font-size: clamp(52px, 4.7vw, 78px);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.075em;
}
.hero-overlay-copy h1 span{
  color: #3AA348;
}
.hero-overlay-copy .lead{
  margin: 28px 0 0;
  max-width: 560px;
  color: #5c677b;
  font-size: clamp(18px, 1.55vw, 23px);
  line-height: 1.62;
  font-weight: 450;
}
.hero-composed .hero-ctas{
  display: flex;
  align-items: center;
  gap: 34px;
  margin-top: 42px;
}
.hero-composed .cta-primary{
  min-width: 196px;
  height: 66px;
  padding: 0 30px;
  border-radius: 14px;
  background: #39A843;
  border: 1px solid #39A843;
  box-shadow: none;
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 800;
}
.hero-composed .cta-primary:hover{background:#349c3d;transform:none;box-shadow:none}
.hero-composed .cta-secondary{
  color: #39A843;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 700;
}
.hero-composed .cta-secondary img{width:18px;height:18px}
.hero-composed .benefits{
  display: flex;
  align-items: center;
  gap: 26px;
  margin-top: 64px;
  flex-wrap: nowrap;
}
.hero-composed .benefit{
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
  padding-right: 26px;
}
.hero-composed .benefit:not(:last-child)::after{
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 42px;
  background: #e2e6ea;
}
.hero-composed .bicon{
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #eef7ec;
  display: grid;
  place-items: center;
  flex: 0 0 52px;
}
.hero-composed .bicon img{width:22px;height:22px}
.hero-composed .benefit strong{
  color: #677286;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.02em;
  white-space: nowrap;
}@media (max-width: 1500px){
  .hero-overlay-copy{top: 12.8%; width: 47%;}
  .hero-composed .benefits{gap:20px;margin-top:52px}
  .hero-composed .benefit{padding-right:20px}
}
@media (max-width: 1200px){
  .hero-overlay-copy{position:relative;left:auto;top:auto;width:auto;max-width:none;padding:24px 16px 10px;background:transparent}.hero-composed-wrap{display:flex;flex-direction:column}
  .hero-bg-scene{order:2}
  .hero-overlay-copy{order:1}
  .hero-composed .benefits{flex-wrap:wrap;margin-top:34px}
  .hero-composed .benefit{padding-right:0}
  .hero-composed .benefit::after{display:none}
}

/* === softer top and bottom blending for hero scene === */
.hero-composed{
  background: #f4f5f7;
}
.hero-composed-wrap{
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.hero-bg-scene{
  position: relative;
  z-index: 0;
}
.hero-composed-wrap::before,
.hero-composed-wrap::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  pointer-events: none;
}
.hero-composed-wrap::before{
  top: 0;
  height: 68px;
  z-index: 1;
  background: linear-gradient(to bottom,
    #f4f5f7 0%,
    rgba(244,245,247,0.96) 20%,
    rgba(244,245,247,0.72) 48%,
    rgba(244,245,247,0.28) 76%,
    rgba(244,245,247,0) 100%);
}
.hero-composed-wrap::after{
  bottom: 0;
  height: 130px;
  z-index: 1;
  background: linear-gradient(to bottom,
    rgba(244,245,247,0) 0%,
    rgba(244,245,247,0.18) 22%,
    rgba(244,245,247,0.58) 58%,
    rgba(244,245,247,0.9) 84%,
    #f4f5f7 100%);
}
.hero-overlay-copy{
  z-index: 2;
}
@media (max-width: 1200px){
  .hero-composed-wrap::before{height: 42px;}
  .hero-composed-wrap::after{height: 72px;}
}

/* === stronger four-side edge blending for hero background === */
.hero-composed-wrap{
  background: #f4f5f7;
}
.hero-bg-scene{
  content: url("../images/hero-clean-background-soft.png");
  display:block;
  width:100%;
  height:auto;
  position:relative;
  z-index:0;
  box-shadow:
    inset 120px 0 110px -110px #f4f5f7,
    inset -120px 0 110px -110px #f4f5f7,
    inset 0 70px 70px -70px #f4f5f7,
    inset 0 -150px 120px -120px #f4f5f7;
}
.hero-composed-wrap::before{
  top: 0;
  height: 82px;
  background: linear-gradient(to bottom,
    #f4f5f7 0%,
    rgba(244,245,247,0.98) 18%,
    rgba(244,245,247,0.78) 42%,
    rgba(244,245,247,0.32) 72%,
    rgba(244,245,247,0) 100%);
}
.hero-composed-wrap::after{
  bottom: 0;
  height: 160px;
  background: linear-gradient(to bottom,
    rgba(244,245,247,0) 0%,
    rgba(244,245,247,0.24) 20%,
    rgba(244,245,247,0.66) 56%,
    rgba(244,245,247,0.92) 82%,
    #f4f5f7 100%);
}
@media (max-width: 1200px){
  .hero-composed-wrap::before{height: 50px;}
  .hero-composed-wrap::after{height: 86px;}
}

/* === Fix ugly right-side hero fade === */
/* Use the landscape as a real full background and remove the bad right feather. */
.hero-composed{
  background:#f4f5f7;
  padding:18px 0 12px;
}
.hero-composed-wrap{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:clamp(620px,56.3vw,900px);
  background-image:
    linear-gradient(to bottom,
      #f4f5f7 0%,
      rgba(244,245,247,0) 7%,
      rgba(244,245,247,0) 84%,
      #f4f5f7 100%),
    url("../images/hero-clean-background.png");
  background-size:100% auto;
  background-position:center top;
  background-repeat:no-repeat;
}

/* Remove the visible image layer that caused the white right-side patch. */
.hero-bg-scene{
  display:none !important;
}

/* Keep only natural top and bottom fades. Do not cover the right side of the house. */
.hero-composed-wrap::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:70px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(to bottom,
    #f4f5f7 0%,
    rgba(244,245,247,.88) 35%,
    rgba(244,245,247,0) 100%);
}
.hero-composed-wrap::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:130px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(to bottom,
    rgba(244,245,247,0) 0%,
    rgba(244,245,247,.55) 58%,
    #f4f5f7 100%);
}

.hero-overlay-copy{
  z-index:2;
  top:13.5%;
}

/* Make sure no previous edge-softening rules add side haze. */
.hero-composed-wrap{
  box-shadow:none !important;
}
.hero-composed-wrap img.hero-bg-scene{
  box-shadow:none !important;
  opacity:1 !important;
}

/* Slightly rebalance text over the cleaner background */
.hero-overlay-copy h1{
  max-width:760px;
}
.hero-overlay-copy .lead{
  max-width:570px;
}

@media (max-width:1200px){
  .hero-composed-wrap{
    min-height:auto;
    background-image:none;
  }
  .hero-bg-scene{
    display:block !important;
    width:100%;
    height:auto;
  }
  .hero-overlay-copy{
    position:relative;
    top:auto;
    left:auto;
    width:auto;
  }
}

/* === Remove top fade: hero starts cleanly under header === */
.hero-composed{
  padding-top: 18px;
  background:#f4f5f7;
}

.hero-composed-wrap{
  background-position:center top;
}

/* Disable all top fade overlays */
.hero-composed-wrap::before{
  display:none !important;
  content:none !important;
  background:none !important;
  height:0 !important;
}

/* Keep only a soft bottom blend into the rest of the website */
.hero-composed-wrap::after{
  display:block !important;
  bottom:0;
  height:120px;
  background:linear-gradient(to bottom,
    rgba(244,245,247,0) 0%,
    rgba(244,245,247,.35) 48%,
    #f4f5f7 100%) !important;
}

/* Make sure the top of the background image is clean and not washed out */
.hero-bg-scene{
  display:none !important;
}

/* === Reference hero match: live overlay on full landscape background === */
.hero-composed{
  padding: 14px 0 8px !important;
  background: #f4f5f7 !important;
}

.hero-composed-wrap{
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  min-height: clamp(690px, 56.3vw, 940px) !important;
  background:
    linear-gradient(to bottom,
      rgba(244,245,247,0) 0%,
      rgba(244,245,247,0) 86%,
      rgba(244,245,247,.55) 94%,
      #f4f5f7 100%),
    url("../images/hero-clean-background.png") !important;
  background-size: 100% auto !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
}

/* Remove all previous pseudo-element fades that caused hard/white edges */
.hero-composed-wrap::before,
.hero-composed-wrap::after{
  display: none !important;
  content: none !important;
  background: none !important;
}

/* Remove hidden/old image layer */
.hero-bg-scene,
.hero-art{
  display: none !important;
}

.hero-overlay-copy{
  position: absolute !important;
  left: 3.9% !important;
  top: 13.6% !important;
  width: 56.5% !important;
  max-width: 940px !important;
  z-index: 2 !important;
}

.hero-overlay-copy h1{
  margin: 0 !important;
  color: #13203b !important;
  font-size: clamp(58px, 4.7vw, 82px) !important;
  line-height: 1.07 !important;
  font-weight: 900 !important;
  letter-spacing: -0.078em !important;
  white-space: nowrap !important;
}

.hero-overlay-copy h1 span{
  color: #3AA348 !important;
}

.hero-overlay-copy .lead{
  margin: 32px 0 0 !important;
  max-width: 610px !important;
  color: #5f6b7e !important;
  font-size: clamp(18px, 1.46vw, 24px) !important;
  line-height: 1.58 !important;
  font-weight: 450 !important;
  letter-spacing: -0.015em !important;
}

.hero-composed .hero-ctas{
  display: flex !important;
  align-items: center !important;
  gap: 44px !important;
  margin-top: 48px !important;
  flex-wrap: nowrap !important;
}

.hero-composed .cta-primary{
  height: 76px !important;
  min-width: 235px !important;
  padding: 0 30px !important;
  border-radius: 12px !important;
  background: #249637 !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.hero-composed .cta-primary img{
  width: 30px !important;
  height: 30px !important;
  display: block !important;
}

.hero-composed .cta-primary:hover{
  background:#218c33 !important;
  transform:none !important;
  box-shadow:none !important;
}

.hero-composed .cta-secondary{
  color: #249637 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  font-size: 21px !important;
  font-weight: 750 !important;
  height: 76px !important;
}

.hero-composed .cta-secondary img{
  width: 22px !important;
  height: 22px !important;
  display: block !important;
}

.hero-composed .benefits{
  display: flex !important;
  align-items: center !important;
  gap: 38px !important;
  margin-top: 66px !important;
  flex-wrap: nowrap !important;
}

.hero-composed .benefit{
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  position: relative !important;
  padding-right: 34px !important;
  min-width: auto !important;
}

.hero-composed .benefit:not(:last-child)::after{
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 1px !important;
  height: 46px !important;
  background: rgba(210,217,224,.82) !important;
  display: block !important;
}

.hero-composed .bicon{
  width: 56px !important;
  height: 56px !important;
  border-radius: 999px !important;
  background: #eef8ef !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 56px !important;
}

.hero-composed .bicon img{
  width: 24px !important;
  height: 24px !important;
  display: block !important;
}

.hero-composed .benefit strong{
  color: #5f6b7e !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: -0.018em !important;
  white-space: nowrap !important;
}

/* Header closer to reference */
.nav-card{
  min-height: 104px !important;
}
.logo-icon{
  width: 62px !important;
  height: 62px !important;
}
.brand-text{
  font-size: 30px !important;
}
.donation-header-btn{
  height: 70px !important;
  padding: 0 32px !important;
  border-radius: 12px !important;
  background: #249637 !important;
  box-shadow: none !important;
}
.donation-header-btn:hover{
  background:#218c33 !important;
  box-shadow:none !important;
  transform:none !important;
}/* Keep desktop-style layout until smaller screens */
@media (max-width: 1450px){
  .hero-overlay-copy{
    width: 57.5% !important;
  }
  .hero-overlay-copy h1{
    font-size: clamp(52px, 4.4vw, 70px) !important;
  }
  .hero-composed .lead{
    font-size: 19px !important;
  }
  .hero-composed .hero-ctas{
    margin-top: 38px !important;
  }
  .hero-composed .benefits{
    margin-top: 54px !important;
    gap: 28px !important;
  }
  .hero-composed .benefit{
    padding-right: 24px !important;
  }
}

@media (max-width: 1150px){
  .hero-composed-wrap{
    min-height: auto !important;
    background-size: cover !important;
    padding: 72px 34px !important;
  }
  .hero-overlay-copy{
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    width: min(720px, 100%) !important;
    max-width: 100% !important;
  }
  .hero-overlay-copy h1{
    white-space: normal !important;
  }
  .hero-composed .benefits{
    flex-wrap: wrap !important;
  }
  .hero-composed .benefit{
    padding-right: 0 !important;
  }
  .hero-composed .benefit::after{
    display:none !important;
  }
}

/* === final hero alignment: header over hero background + refined typography === */
@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap");

body{
  background:#f4f5f7 !important;
}
.header{
  position:relative !important;
  z-index:40 !important;
  background:transparent !important;
  border-bottom:none !important;
  height:auto !important;
  padding-top:12px !important;
}
.hero-composed{
  margin-top:-118px !important;
  padding-top:118px !important;
  background:transparent !important;
}
.hero-composed-wrap{
  min-height:clamp(720px,57vw,960px) !important;
  background:
    linear-gradient(to bottom,
      rgba(244,245,247,0) 0%,
      rgba(244,245,247,0) 88%,
      rgba(244,245,247,.5) 95%,
      #f4f5f7 100%),
    url("../images/hero-clean-background.png") !important;
  background-size:100% auto !important;
  background-position:center 0 !important;
  background-repeat:no-repeat !important;
  border-radius:0 !important;
  overflow:hidden !important;
}
.nav-card{
  min-height:106px !important;
  border-radius:30px !important;
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(14px) !important;
  box-shadow:0 14px 34px rgba(15,23,42,.06) !important;
  border:1px solid rgba(219,228,238,.88) !important;
}
.logo,
.brand-text,
.main-nav .nav-link,
.hero-overlay-copy h1,
.hero-overlay-copy .lead,
.hero-composed .cta-primary,
.hero-composed .cta-secondary,
.hero-composed .benefit strong,
.donation-header-btn{
  font-family:"Plus Jakarta Sans", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}
.logo{
  gap:15px !important;
}
.logo-icon{
  width:56px !important;
  height:56px !important;
}
.brand-text{
  font-size:28px !important;
  font-weight:800 !important;
  letter-spacing:-0.04em !important;
  color:#13203b !important;
}
.main-nav{ gap:34px !important; }
.nav-link{
  font-size:18px !important;
  font-weight:700 !important;
  letter-spacing:-0.03em !important;
}
.donation-header-btn{
  height:72px !important;
  padding:0 33px !important;
  border-radius:14px !important;
  font-size:18px !important;
  font-weight:800 !important;
}
.hero-overlay-copy{
  left:2.8% !important;
  top:16.5% !important;
  width:58% !important;
}
.hero-overlay-copy h1{
  font-size:clamp(64px,4.85vw,84px) !important;
  line-height:1.03 !important;
  font-weight:800 !important;
  letter-spacing:-0.065em !important;
  color:#13203b !important;
}
.hero-overlay-copy .lead{
  margin-top:28px !important;
  max-width:640px !important;
  font-size:18px !important;
  line-height:1.6 !important;
  font-weight:500 !important;
  letter-spacing:-0.015em !important;
  color:#5b677b !important;
}
.hero-composed .hero-ctas{
  margin-top:42px !important;
  gap:40px !important;
}
.hero-composed .cta-primary{
  min-width:252px !important;
  height:72px !important;
  padding:0 28px !important;
  border-radius:14px !important;
  font-size:18px !important;
  font-weight:800 !important;
  background:#2ea541 !important;
}
.hero-composed .cta-primary img{ width:26px !important; height:26px !important; }
.hero-composed .cta-secondary{
  height:72px !important;
  font-size:18px !important;
  font-weight:800 !important;
  gap:12px !important;
}
.hero-composed .cta-secondary img{ width:20px !important; height:20px !important; }
.hero-composed .benefits{
  margin-top:58px !important;
  gap:34px !important;
}
.hero-composed .bicon{
  width:54px !important;
  height:54px !important;
  background:#eef7ef !important;
}
.hero-composed .benefit strong{
  font-size:15px !important;
  font-weight:500 !important;
  color:#5b677b !important;
}
.hero-composed .benefit{ padding-right:30px !important; }
@media (max-width:1450px){
  .hero-composed{ margin-top:-110px !important; padding-top:110px !important; }
  .hero-overlay-copy{ width:60% !important; }
  .hero-overlay-copy h1{ font-size:clamp(58px,4.55vw,76px) !important; }
}
@media (max-width:1150px){
  .header{ padding-top:8px !important; }
  .hero-composed{ margin-top:0 !important; padding-top:16px !important; }
}

/* === remove header navigation links as requested === */
.main-nav{display:none !important;}
.nav{justify-content:space-between !important;}
.logo{flex:0 0 auto !important;}
.header-actions{margin-left:auto !important;}/* === Clean centered footer === */
.site-footer{
  background:#fff !important;
  border-top:1px solid #e8edf3 !important;
  padding:34px 0 38px !important;
  box-shadow:none !important;
}

.footer-center{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:10px !important;
}

.footer-logo{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  color:#13203b !important;
  text-decoration:none !important;
  font-size:20px !important;
  font-weight:900 !important;
  letter-spacing:-.04em !important;
}

.footer-logo-icon{
  width:32px !important;
  height:32px !important;
  display:block !important;
}

.site-footer p{
  margin:0 !important;
  color:#5f6b7e !important;
  font-size:15px !important;
  font-weight:500 !important;
}

.site-footer .footer-grid,
.site-footer .footer-col,
.site-footer ul,
.site-footer li{
  display:none !important;
}

/* === FINAL COMPLETE UPDATE ===
   - sticky floating header restored
   - hero background starts behind/under the header
   - header nav links removed
   - footer remains clean/centered
   - hero text block moved down and made more balanced
*/

/* Sticky floating header like the earlier version */
.header{
  position: sticky !important;
  top: 12px !important;
  z-index: 1000 !important;
  height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border-bottom: none !important;
}

/* Make sure removed nav stays removed */
.main-nav{
  display:none !important;
}
.nav{
  justify-content:space-between !important;
}
.header-actions{
  margin-left:auto !important;
}/* Floating header card */
.nav-card{
  min-height: 94px !important;
  border-radius: 28px !important;
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  box-shadow: 0 14px 34px rgba(15,23,42,.08) !important;
  border: 1px solid rgba(223,231,239,.95) !important;
}
.nav{
  min-height:94px !important;
}
.logo{
  gap:15px !important;
}
.logo-icon{
  width:56px !important;
  height:56px !important;
}
.brand-text{
  font-size:26px !important;
  font-weight:850 !important;
  letter-spacing:-.045em !important;
  color:#13203b !important;
}
.donation-header-btn{
  height:64px !important;
  padding:0 30px !important;
  border-radius:14px !important;
  background:#2ea541 !important;
  box-shadow:0 10px 20px rgba(46,165,65,.16) !important;
  font-size:17px !important;
  font-weight:850 !important;
}

/* Pull hero upward so image starts behind the sticky header */
.hero-composed{
  margin-top:-106px !important;
  padding-top:106px !important;
  background:transparent !important;
}

/* Hero image canvas */
.hero-composed-wrap{
  position:relative !important;
  min-height:clamp(760px,59vw,980px) !important;
  background:
    linear-gradient(to bottom,
      rgba(244,245,247,0) 0%,
      rgba(244,245,247,0) 90%,
      rgba(244,245,247,.38) 96%,
      #f4f5f7 100%),
    url("../images/hero-clean-background.png") !important;
  background-size:100% auto !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
  overflow:hidden !important;
  border-radius:0 !important;
}

/* Remove earlier image/pseudo layers that caused bad edges */
.hero-bg-scene,
.hero-art{
  display:none !important;
}
.hero-composed-wrap::before{
  display:none !important;
  content:none !important;
}
.hero-composed-wrap::after{
  display:none !important;
  content:none !important;
}

/* Move the full text/buttons/icons block DOWN into the area requested */
.hero-overlay-copy{
  position:absolute !important;
  left:48px !important;
  top:260px !important;
  width:min(47%, 680px) !important;
  max-width:680px !important;
  z-index:3 !important;
}

/* More appealing headline scale and spacing */
.hero-overlay-copy h1{
  margin:0 !important;
  max-width:680px !important;
  font-family:"Manrope","Plus Jakarta Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif !important;
  font-size:clamp(42px,3.7vw,60px) !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  letter-spacing:-.058em !important;
  color:#13203b !important;
}
.hero-overlay-copy h1 span{
  color:#39a843 !important;
}

.hero-overlay-copy .lead{
  margin-top:22px !important;
  max-width:560px !important;
  font-size:16px !important;
  line-height:1.62 !important;
  font-weight:500 !important;
  color:#5f6d81 !important;
  letter-spacing:-.01em !important;
}

/* Hero buttons */
.hero-composed .hero-ctas{
  display:flex !important;
  align-items:center !important;
  gap:24px !important;
  margin-top:34px !important;
  flex-wrap:nowrap !important;
}
.hero-composed .cta-primary{
  min-width:176px !important;
  height:58px !important;
  padding:0 24px !important;
  border-radius:14px !important;
  background:#2ea541 !important;
  border:0 !important;
  color:#fff !important;
  box-shadow:none !important;
  font-size:16px !important;
  font-weight:850 !important;
}
.hero-composed .cta-primary img{
  width:20px !important;
  height:20px !important;
}
.hero-composed .cta-secondary{
  height:58px !important;
  color:#2ea541 !important;
  font-size:16px !important;
  font-weight:850 !important;
  gap:10px !important;
  text-decoration:none !important;
}
.hero-composed .cta-secondary img{
  width:16px !important;
  height:16px !important;
}

/* Benefit row */
.hero-composed .benefits{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  margin-top:42px !important;
  flex-wrap:nowrap !important;
}
.hero-composed .benefit{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding-right:18px !important;
  position:relative !important;
}
.hero-composed .benefit:not(:last-child)::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  right:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:1px !important;
  height:28px !important;
  background:#e2e7ed !important;
}
.hero-composed .bicon{
  width:40px !important;
  height:40px !important;
  flex:0 0 40px !important;
  border-radius:999px !important;
  background:#eff8ef !important;
}
.hero-composed .bicon img{
  width:18px !important;
  height:18px !important;
}
.hero-composed .benefit strong{
  font-size:14px !important;
  font-weight:500 !important;
  color:#69768b !important;
  white-space:nowrap !important;
}/* Desktop scaling */
@media (max-width:1500px){
  .hero-overlay-copy{
    left:42px !important;
    top:230px !important;
    width:min(48%, 620px) !important;
  }
  .hero-overlay-copy h1{
    font-size:clamp(40px,3.45vw,54px) !important;
  }
  .hero-overlay-copy .lead{
    font-size:15px !important;
  }
}

/* Keep usable on smaller screens */
@media (max-width:1150px){
  .header{
    top:8px !important;
  }
  .hero-composed{
    margin-top:-96px !important;
    padding-top:96px !important;
  }
  .hero-composed-wrap{
    min-height:auto !important;
    padding:180px 30px 60px !important;
    background-size:cover !important;
  }
  .hero-overlay-copy{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    right:auto !important;
    width:min(680px,100%) !important;
  }
  .hero-overlay-copy h1{
    white-space:normal !important;
  }
  .hero-composed .benefits{
    flex-wrap:wrap !important;
  }
  .hero-composed .benefit{
    padding-right:0 !important;
  }
  .hero-composed .benefit::after{
    display:none !important;
  }
}

/* === Footer: stack icon, brand name, and tagline in the center === */
.footer-center{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:10px !important;
}

.footer-mark{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
}

.footer-logo,
.footer-title{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  color:#13203b !important;
  text-decoration:none !important;
  font-size:20px !important;
  font-weight:900 !important;
  letter-spacing:-.04em !important;
  line-height:1.15 !important;
}

.footer-logo-icon{
  width:34px !important;
  height:34px !important;
  display:block !important;
}

.footer-tagline,
.site-footer p{
  margin:0 !important;
  text-align:center !important;
  color:#5f6b7e !important;
  font-size:15px !important;
  font-weight:500 !important;
}

/* === Smaller Support Us header button === */
.donation-header-btn{
  height:52px !important;
  padding:0 22px !important;
  border-radius:13px !important;
  font-size:15px !important;
  font-weight:850 !important;
  gap:9px !important;
  background:#2ea541 !important;
  box-shadow:0 8px 16px rgba(46,165,65,.14) !important;
}

.donation-header-btn img{
  width:20px !important;
  height:20px !important;
}

.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}@media (max-width:1100px){
  .header-actions{flex-wrap:wrap;justify-content:center}}


/* Payoff goal calculator */
.goal-planner-section{margin-top:28px;margin-bottom:28px}
.goal-card{border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--small-shadow);padding:28px}
.goal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.goal-head h2{margin:0;font-size:26px;letter-spacing:-.045em}
.goal-head p{margin:7px 0 0;color:#64748b;font-weight:650;line-height:1.5;max-width:760px}
.goal-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:18px;align-items:stretch}
.goal-inputs{border:1px solid #e7edf4;border-radius:18px;padding:20px;background:linear-gradient(135deg,#fff 0%,#fbfdff 100%);display:grid;gap:16px}
.goal-results{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.goal-result{border:1px solid #e7edf4;border-radius:18px;padding:18px;background:linear-gradient(135deg,#fff 0%,#fbfdff 100%)}
.goal-result.highlight{border-color:rgba(10,160,110,.35);background:linear-gradient(135deg,#fff 0%,#eefbf5 100%)}
.goal-result small{display:block;color:#64748b;font-weight:900;line-height:1.35;margin-bottom:10px}
.goal-result strong{display:block;font-size:25px;letter-spacing:-.045em;color:#111827}
.goal-result.highlight strong{color:var(--green)}
.goal-result em{display:block;margin-top:9px;color:#64748b;font-size:13px;font-style:normal;font-weight:650;line-height:1.35}





@media (max-width:980px){.goal-head{flex-direction:column}.goal-layout{grid-template-columns:1fr}.goal-results{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.goal-results{grid-template-columns:1fr}.goal-card{padding:18px;border-radius:20px}}
