/* ===== unAustralian — campaign site styles ===== */

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:#0b1320;
  color:#eef1f6;
  font-family:'Helvetica Neue',Arial,sans-serif;
  letter-spacing:-0.01em;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
::selection{ background:#f2b705; color:#0b1320; }
img{ max-width:100%; }

.cv-h{ font-family:'Cormorant Garamond',Georgia,serif; }

.page{ min-height:100vh; background:#0b1320; overflow-x:hidden; }

/* ===== Animations ===== */
@keyframes sweepIn{ from{ transform:translateY(20px); opacity:0 } to{ transform:translateY(0); opacity:1 } }
@keyframes glowPulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(242,183,5,0) } 50%{ box-shadow:0 0 22px 0 rgba(242,183,5,0.18) } }
@keyframes tick{ from{ opacity:.45; transform:translateY(-4px) } to{ opacity:1; transform:none } }
@keyframes swipeNudge{ 0%,100%{ transform:translateY(-50%) translateX(0) } 50%{ transform:translateY(-50%) translateX(9px) } }

.anim-sweep{ animation:sweepIn .7s both; }
.anim-sweep-2{ animation:sweepIn .85s .05s both; }
.anim-sweep-3{ animation:sweepIn .9s .1s both; }
.anim-sweep-4{ animation:sweepIn .95s .16s both; }
.anim-sweep-5{ animation:sweepIn 1s .22s both; }

/* ===== Shared bits ===== */
.eyebrow{ display:flex; align-items:center; gap:14px; margin-bottom:24px; }
.eyebrow--center{ justify-content:center; }
.eyebrow .rule{ width:46px; height:1px; background:#f2b705; }
.eyebrow--center .rule{ width:36px; }
.rule--red{ background:#ef3b2d !important; }
.eyebrow-text{ font-weight:500; letter-spacing:0.22em; font-size:12.5px; color:#e8b35d; text-transform:uppercase; }
.eyebrow-text--red{ color:#ef6a5e; }

.lead{ font-size:17.5px; line-height:1.65; color:#9aa6ba; text-wrap:pretty; }
.lead--center{ text-align:center; }
.it-gold{ font-style:italic; color:#f2b705; }
.hi-red{ font-style:normal; font-weight:600; color:#ef3b2d; }
.gold-strong{ color:#f2b705; font-weight:600; }
.white-strong{ color:#eef1f6; font-weight:600; }
.muted{ color:#9aa6ba; }

.h-xl{ font-weight:600; font-size:clamp(40px,6vw,78px); line-height:1.0; letter-spacing:-0.5px; margin-bottom:24px; }
.h-lg{ font-weight:600; font-size:clamp(34px,4.6vw,56px); line-height:1.02; letter-spacing:-0.5px; margin-bottom:20px; }

.wrap-wide{ max-width:1180px; margin:0 auto; }
.wrap-narrow{ max-width:920px; margin:0 auto; position:relative; }

.sec{ position:relative; padding:120px 40px; border-top:1px solid rgba(242,183,5,0.25); }
.sec--navy{ background:#131b30; }
.sec--dark{ background:#090e1a; }
.sec-head{ max-width:760px; margin-bottom:46px; }
.sec-head--wide{ max-width:820px; margin-bottom:50px; }
.sec-head--test{ max-width:780px; margin-bottom:66px; }

.hairline{ flex:1; height:1px; background:rgba(212,166,74,0.16); }

/* ===== Buttons ===== */
.btn{ display:inline-block; text-decoration:none; text-align:center; font-weight:600; cursor:pointer; transition:all .25s; border:none; font-family:inherit; }
.btn-gold{ color:#0b1320; background:#f2b705; }
.btn-gold:hover{ background:#d9a304; box-shadow:0 0 18px rgba(242,183,5,0.55); transform:translateY(-2px); }
.btn-outline{ color:#e8b35d; background:#14263f; border:1px solid #d4a64a; }
.btn-outline:hover{ box-shadow:0 0 12px rgba(212,166,74,0.5); }
.btn-lg{ font-size:14px; letter-spacing:0.14em; text-transform:uppercase; padding:18px 40px; border-radius:2px; }
.btn-xl{ font-size:17px; letter-spacing:0.12em; text-transform:uppercase; padding:19px; border-radius:2px; }
.btn-block{ display:block; width:100%; }

/* ===== Nav ===== */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 32px;
  background:rgba(11,19,32,0.7); backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(212,166,74,0.18);
}
.nav-logo{ display:flex; align-items:center; }
.nav-logo img{ height:34px; width:auto; display:block; }
.nav-links{ display:flex; align-items:center; gap:14px; }
.nav-link{ white-space:nowrap; text-decoration:none; color:#9aa6ba; font-size:11px; font-weight:500; letter-spacing:0.13em; text-transform:uppercase; transition:color .2s; }
.nav-link:hover{ color:#eef1f6; }
.nav-cta{
  flex:0 0 auto; margin-left:12px; white-space:nowrap; text-decoration:none;
  font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  color:#0b1320; background:#f2b705; padding:11px 18px; border-radius:2px; transition:all .25s;
}
.nav-cta:hover{ background:#d9a304; box-shadow:0 0 14px rgba(242,183,5,0.55); transform:translateY(-1px); }
.nav-burger{
  display:flex; flex-direction:column; justify-content:center; gap:5px;
  width:42px; height:42px; padding:0 9px; background:transparent;
  border:1px solid rgba(212,166,74,0.32); border-radius:3px; cursor:pointer; transition:border-color .2s;
}
.nav-burger:hover{ border-color:rgba(242,183,5,0.7); }
.nav-burger span{ display:block; height:2px; width:100%; background:#e8b35d; border-radius:2px; }
.nav-menu{
  position:absolute; top:100%; right:40px; margin-top:10px; min-width:248px;
  background:rgba(13,20,34,0.97); backdrop-filter:blur(16px);
  border:1px solid rgba(212,166,74,0.24); border-radius:6px;
  box-shadow:0 24px 60px rgba(0,0,0,0.55); padding:10px;
  display:flex; flex-direction:column;
}
.nav-menu-link{ text-decoration:none; color:#cbd4e2; font-size:12px; font-weight:500; letter-spacing:0.16em; text-transform:uppercase; padding:14px 16px; border-radius:4px; transition:background .15s; }
.nav-menu-link:hover{ background:rgba(242,183,5,0.1); }
.nav-menu-cta{ text-decoration:none; text-align:center; color:#0b1320; background:#f2b705; font-size:12px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; padding:14px 16px; border-radius:4px; margin-top:6px; }

/* ===== Hero ===== */
.hero{
  position:relative; min-height:100vh; display:flex; flex-direction:column;
  justify-content:center; align-items:center; text-align:center;
  padding:132px 24px 108px; overflow:hidden;
}
.hero-glow{
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(56% 46% at 50% 43%, rgba(242,183,5,0.16), transparent 62%),
             radial-gradient(95% 72% at 50% 124%, rgba(2,18,93,0.55), transparent 60%);
}
.hero-inner{ position:relative; max-width:1000px; width:100%; display:flex; flex-direction:column; align-items:center; }
.eyebrow--center.anim-sweep{ margin-bottom:28px; }
.hero-logo{ width:min(700px,94%); height:auto; display:block; filter:drop-shadow(0 26px 64px rgba(0,0,0,0.6)); }
.hero-line{ font-style:italic; font-size:clamp(26px,3.7vw,48px); line-height:1.08; color:#eef1f6; margin-top:6px; }
.hero-subhead{ max-width:680px; font-size:clamp(17px,1.9vw,21px); line-height:1.6; color:#aab4c6; text-wrap:pretty; min-height:96px; margin-top:18px; }
.hero-ctas{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:24px; margin-top:38px; }
.hero-count-link{ text-decoration:none; font-size:16px; color:#9aa6ba; border-bottom:1px solid rgba(154,166,186,0.35); padding-bottom:3px; }
.hero-count{ color:#f2b705; font-weight:600; }
.hero-skew{ position:absolute; bottom:0; left:0; right:0; height:90px; background:linear-gradient(180deg, transparent, #101322); transform:skewY(-1.4deg); transform-origin:bottom left; }

/* ===== Tell your leaders ===== */
.pledge-grid{ max-width:1080px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:66px; align-items:start; }
.h-xl + .lead, .h-xl ~ .lead{ }
.pledge-grid .lead{ margin-bottom:40px; }
.steps{ display:flex; flex-direction:column; gap:24px; }
.step{ display:flex; gap:18px; }
.step-n{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:22px; color:#0b1320; background:#f2b705; min-width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:50%; }
.step-title{ font-weight:600; font-size:13px; letter-spacing:0.12em; text-transform:uppercase; color:#eef1f6; margin-bottom:5px; }
.step-body{ font-size:15.5px; line-height:1.55; color:#7c879b; }

.form-card{ background:rgba(23,35,54,0.55); backdrop-filter:blur(12px); border:1px solid rgba(212,166,74,0.28); border-radius:6px; padding:40px; box-shadow:0 24px 60px rgba(0,0,0,0.45); }
.form-title{ font-weight:600; font-size:28px; margin-bottom:26px; }
.leaders-form label{ display:block; font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:#7c879b; margin-bottom:7px; }
.leaders-form label .opt{ color:rgba(86,96,115,0.5); text-transform:none; letter-spacing:0; }
.leaders-form input{ width:100%; background:rgba(11,19,32,0.6); border:1px solid rgba(212,166,74,0.28); border-radius:2px; padding:12px 14px; color:#eef1f6; font-family:inherit; font-size:16px; outline:none; transition:border-color .2s; }
.leaders-form input:focus{ border-color:#f2b705; }
.leaders-form input.invalid{ border-color:#cc3344; }
.leaders-form button[type="submit"]{ font-size:17px; letter-spacing:0.14em; text-transform:uppercase; padding:20px; border-radius:2px; }
.name-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.field{ margin-bottom:14px; }
.postcode-row{ display:grid; grid-template-columns:1.4fr 1fr; gap:14px; margin-bottom:24px; }
.form-err{ font-size:13.5px; color:transparent; min-height:18px; margin-bottom:14px; }
.form-err.show{ color:#cc3344; }
.fineprint{ font-size:12.5px; line-height:1.5; color:#5f6b80; margin-top:14px; }

.confirm-check{ width:56px; height:56px; border-radius:50%; background:#f2b705; display:flex; align-items:center; justify-content:center; margin-bottom:26px; box-shadow:0 0 22px rgba(242,183,5,0.45); }
.confirm-check span{ font-weight:600; font-size:32px; color:#0b1320; }
.confirm-title{ font-weight:600; font-size:36px; line-height:1.05; margin-bottom:18px; }
.confirm-body{ font-size:16.5px; line-height:1.65; color:#bcc4d2; margin-bottom:14px; }
.confirm-sub{ font-size:15px; line-height:1.6; color:#7c879b; margin-bottom:24px; }
.confirm .btn-block{ font-size:14px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; padding:15px; border-radius:2px; }
.share{ border-top:1px solid rgba(212,166,74,0.2); padding-top:26px; margin-top:26px; }
.share-label{ font-weight:600; font-size:12px; letter-spacing:0.16em; color:#7c879b; text-transform:uppercase; margin-bottom:16px; }
.share-btns{ display:flex; gap:10px; }
.share-btn{ flex:1; font-size:13px; letter-spacing:0.1em; text-transform:uppercase; padding:14px; border-radius:2px; }
.link-btn{ margin-top:16px; width:100%; background:none; border:none; color:#7c879b; font-family:inherit; font-size:14px; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }

/* ===== Bills ===== */
.bills-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; }
.bill-card{ background:rgba(23,35,54,0.5); backdrop-filter:blur(8px); border:1px solid rgba(212,166,74,0.2); border-radius:6px; overflow:hidden; display:flex; flex-direction:column; }
.bill-img{ position:relative; height:178px; flex:0 0 auto; }
.bill-img img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(0.9) contrast(1.02); }
.bill-img-grad{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(23,35,54,0) 44%, rgba(20,30,48,0.82) 100%); }
.bill-body{ padding:28px 32px 32px; display:flex; flex-direction:column; gap:14px; flex:1; }
.bill-tag{ font-size:11px; font-weight:600; letter-spacing:0.14em; color:#e8b35d; text-transform:uppercase; }
.bill-title{ font-weight:600; font-size:26px; line-height:1.12; }
.bill-text{ font-size:15.5px; line-height:1.65; color:#9aa6ba; }
.bill-action{ margin-top:auto; padding-top:10px; font-size:12px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:#f2b705; }

/* ===== Who loses ===== */
.sec--cost{ padding:120px 0 124px; overflow:hidden; }
.cost-glow{ position:absolute; inset:0; pointer-events:none; background:radial-gradient(80% 50% at 50% 0%, rgba(239,59,45,0.07), transparent 60%); }
.cost-head-wrap{ position:relative; padding:0 40px; }
.cost-swipe-line{ font-weight:600; font-size:clamp(22px,2.6vw,30px); line-height:1.15; color:#ff8378; letter-spacing:-0.2px; }
.cost-scroll-wrap{ position:relative; }
.cost-scroll{ position:relative; display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x proximity; padding:6px 40px 30px; scrollbar-width:thin; scrollbar-color:rgba(239,59,45,0.45) transparent; -webkit-overflow-scrolling:touch; }
.cost-scroll::-webkit-scrollbar{ height:8px; }
.cost-scroll::-webkit-scrollbar-track{ background:rgba(255,255,255,0.04); border-radius:4px; }
.cost-scroll::-webkit-scrollbar-thumb{ background:rgba(239,59,45,0.45); border-radius:4px; }
.cost-scroll::-webkit-scrollbar-thumb:hover{ background:rgba(239,59,45,0.7); }
.loser-card{ scroll-snap-align:center; flex:0 0 clamp(310px,80vw,500px); background:#0b1320; border:1px solid rgba(239,59,45,0.22); border-top:3px solid #ef3b2d; border-radius:8px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 24px 60px rgba(0,0,0,0.42); }
.loser-img{ position:relative; height:204px; flex:0 0 auto; }
.loser-img img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(0.9) contrast(1.02); }
.loser-img-grad{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,19,32,0) 36%, rgba(11,19,32,0.55) 70%, #0b1320 100%); }
.loser-pull-label{ position:absolute; left:24px; bottom:14px; font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:#ff8378; }
.loser-body{ padding:24px 36px 40px; display:flex; flex-direction:column; }
.loser-n{ font-weight:600; font-size:54px; line-height:0.78; color:#ef3b2d; margin-bottom:10px; }
.loser-title{ font-weight:600; font-size:29px; line-height:1.1; color:#eef1f6; margin-bottom:10px; }
.loser-pull{ font-style:italic; font-size:22px; line-height:1.2; color:#ef3b2d; margin-bottom:20px; text-wrap:pretty; }
.loser-text{ font-size:15.5px; line-height:1.68; color:#9aa6ba; text-wrap:pretty; }
.cost-spacer{ flex:0 0 18px; }
.cost-fade{ position:absolute; top:0; right:0; bottom:30px; width:96px; background:linear-gradient(90deg, rgba(13,20,34,0), #0d1422 86%); pointer-events:none; }
.cost-swipe-btn{ position:absolute; top:50%; right:26px; transform:translateY(-50%); width:62px; height:62px; border-radius:999px; background:#ef3b2d; color:#fff; border:2px solid rgba(255,255,255,0.16); cursor:pointer; box-shadow:0 14px 34px rgba(239,59,45,0.5); display:flex; align-items:center; justify-content:center; animation:swipeNudge 1.5s ease-in-out infinite; }
.cost-foot{ position:relative; padding:26px 40px 0; display:flex; align-items:center; gap:16px; }
.cost-foot-text{ font-size:13px; color:#5f6b80; }

/* ===== unAustralian Test ===== */
.test-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); gap:1px; background:rgba(212,166,74,0.18); border:1px solid rgba(212,166,74,0.18); border-radius:4px; overflow:hidden; }
.test-cell{ background:#0d1422; display:flex; flex-direction:column; transition:background .25s; }
.test-cell:hover{ background:#13203a; }
.test-img{ position:relative; height:186px; flex:0 0 auto; }
.test-img img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(0.92) contrast(1.01); }
.test-img-grad{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(13,20,34,0) 42%, rgba(13,20,34,0.5) 72%, #0d1422 100%); }
.test-body{ padding:30px 38px 40px; display:flex; flex-direction:column; gap:18px; }
.test-head{ display:flex; align-items:center; gap:14px; }
.test-icon{ width:48px; height:48px; flex:0 0 auto; border-radius:9px; background:rgba(242,183,5,0.10); border:1px solid rgba(242,183,5,0.28); display:flex; align-items:center; justify-content:center; }
.test-n{ font-weight:600; font-size:30px; color:#f2b705; line-height:1; }
.test-head .hairline{ background:rgba(212,166,74,0.22); }
.test-value{ font-weight:600; font-size:29px; line-height:1.12; color:#eef1f6; }
.test-text{ font-size:16px; line-height:1.65; color:#9aa6ba; text-wrap:pretty; }

/* ===== The Count ===== */
.sec--count{ overflow:hidden; }
.count-glow{ position:absolute; inset:0; pointer-events:none; background:radial-gradient(85% 55% at 50% 0%, rgba(242,183,5,0.10), transparent 60%); }
.sec--count .wrap-wide{ position:relative; }
.count-live{ text-align:center; margin-bottom:20px; }
.count-live .eyebrow-text{ font-size:12px; }
.count-number{ display:flex; justify-content:center; font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1; font-size:clamp(64px,15vw,196px); color:#f2b705; margin-bottom:14px; text-shadow:0 0 40px rgba(242,183,5,0.25); }
.count-number.tick{ animation:tick .45s cubic-bezier(.16,1,.3,1); }
.count-caption{ text-align:center; font-size:clamp(22px,2.6vw,30px); color:#eef1f6; margin-bottom:8px; font-style:italic; }
.count-sub{ text-align:center; font-size:15.5px; color:#7c879b; margin-bottom:74px; }
.count-grid{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:54px; align-items:center; }
.count-map-title{ font-weight:600; font-size:28px; color:#eef1f6; margin-bottom:4px; }
.count-hover{ font-size:14.5px; color:#7c879b; margin-bottom:20px; min-height:22px; letter-spacing:0; }
.count-map{ width:100%; height:auto; display:block; filter:drop-shadow(0 16px 28px rgba(0,0,0,0.5)); }
.count-map path{ cursor:pointer; transition:fill .3s; }
.count-bars{ display:flex; flex-direction:column; gap:2px; }
.count-bar{ padding:12px 14px; border-radius:3px; background:transparent; transition:background .15s; }
.count-bar.active{ background:rgba(242,183,5,0.08); }
.count-bar-top{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:8px; }
.count-bar-name{ font-size:12px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:#aab4c6; }
.count-bar-num{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:19px; color:#eef1f6; }
.count-bar-track{ height:7px; background:rgba(255,255,255,0.06); border-radius:4px; overflow:hidden; }
.count-bar-fill{ height:100%; border-radius:4px; transition:width .8s ease; }
.count-cta-wrap{ display:flex; justify-content:center; margin-top:64px; }
.btn-lg.count-cta{ padding:18px 44px; }

/* ===== Donate ===== */
.sec--donate{ overflow:hidden; }
.donate-glow{ position:absolute; inset:0; pointer-events:none; background:radial-gradient(70% 50% at 50% 0%, rgba(242,183,5,0.08), transparent 62%); }
.donate-banner{ display:flex; align-items:center; gap:12px; background:rgba(242,183,5,0.1); border:1px solid rgba(242,183,5,0.35); border-radius:4px; padding:14px 20px; margin-bottom:44px; }
.donate-banner .cv-h{ font-weight:600; font-size:20px; color:#f2b705; }
.donate-banner span:last-child{ font-size:15px; color:#dfe4ee; }
.donate-head{ text-align:center; max-width:680px; margin:0 auto 44px; }
.don-freq-wrap{ display:flex; justify-content:center; margin-bottom:30px; }
.don-freq{ display:flex; gap:5px; background:rgba(23,35,54,0.6); border:1px solid rgba(212,166,74,0.2); border-radius:3px; padding:4px; }
.don-freq-btn{ font-size:12px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; padding:9px 20px; border:none; border-radius:2px; cursor:pointer; font-family:inherit; transition:all .2s; background:transparent; color:#8a94a8; }
.don-freq-btn.active{ background:#f2b705; color:#0b1320; }
.donor-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:22px; }
.don-tier{ display:flex; flex-direction:column; gap:8px; align-items:flex-start; text-align:left; padding:18px 20px; border-radius:5px; cursor:pointer; transition:all .2s; font-family:inherit; background:rgba(23,35,54,0.5); border:1px solid rgba(212,166,74,0.2); }
.don-tier:hover{ border-color:rgba(242,183,5,0.5); }
.don-tier.active{ background:rgba(242,183,5,0.14); border-color:#f2b705; }
.don-tier-amt{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:34px; line-height:1; color:#f2b705; }
.don-tier-label{ font-size:12.5px; line-height:1.35; color:#9aa6ba; text-align:left; }
.don-custom{ display:flex; align-items:center; gap:10px; margin-bottom:22px; padding:14px 18px; border:1px solid rgba(212,166,74,0.2); border-radius:5px; background:rgba(255,255,255,0.02); }
.don-custom.filled{ border-color:#f2b705; }
.don-dollar{ font-weight:600; font-size:26px; color:#f2b705; }
.don-custom input{ flex:1; background:transparent; border:none; outline:none; color:#e9edf3; font-size:20px; font-family:inherit; letter-spacing:0.02em; }
.don-processing{ text-align:center; font-size:14px; color:#f2b705; margin-top:16px; }
.don-fineprint{ text-align:center; font-size:12.5px; line-height:1.5; color:#5f6b80; margin-top:16px; }

/* ===== Footer ===== */
.footer{ background:#0b1320; padding:74px 40px 52px; border-top:1px solid rgba(212,166,74,0.22); }
.footer-logo{ height:50px; width:auto; display:block; margin-bottom:28px; }
.footer-blurb{ max-width:680px; font-size:15.5px; line-height:1.7; color:#7c879b; margin-bottom:34px; text-wrap:pretty; }
.footer-links{ display:flex; flex-wrap:wrap; gap:30px; margin-bottom:38px; }
.footer-links a{ text-decoration:none; color:#aab4c6; font-size:13px; font-weight:500; letter-spacing:0.06em; }
.footer-foot{ border-top:1px solid rgba(255,255,255,0.07); padding-top:26px; display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between; align-items:center; }
.footer-auth{ font-size:12.5px; line-height:1.55; color:#56607a; max-width:640px; }
.footer-copy{ font-size:12.5px; color:#56607a; }

/* ===== Mobile-first overrides (primary interface) ===== */
.nav-menu[hidden]{ display:none; }
@media (max-width:820px){
  .nav{ padding:12px 16px; }
  .nav-links{ gap:14px; }
  .nav-link{ display:none; }
  .nav-cta{ padding:10px 16px; font-size:11px; }

  .hero{ min-height:auto; padding:104px 18px 64px; }
  .sec{ padding:64px 18px; }
  .sec--cost{ padding:64px 0; }
  .cost-head-wrap{ padding:0 18px; }
  .footer{ padding:56px 18px 44px; }

  .test-grid{ grid-template-columns:1fr; }
  .test-cell{ padding:0; }
  .count-grid{ grid-template-columns:1fr; gap:40px; }
  .pledge-grid{ grid-template-columns:1fr; gap:40px; }
  .form-card{ padding:26px 22px; }
  .bills-grid{ grid-template-columns:1fr; }
  .leaders-form button[type="submit"]{ font-size:18px; padding:22px; }
}
@media (min-width:821px){
  .nav-burger{ display:none; }
  .nav-menu{ display:none !important; }
}
@media (max-width:430px){
  .name-row{ grid-template-columns:1fr; }
  .sec{ padding:54px 16px; }
  .sec--cost{ padding:54px 0; }
  .hero{ padding:96px 16px 56px; }
  .donor-grid{ grid-template-columns:repeat(2,1fr); }
}
