/* =========================================================
   PSALMS EDUCATION — DESIGN TOKENS
   Display: Space Grotesk / Body: Inter
   Palette: Violet #6D28D9, Indigo #1E1245, Amber #FFB020,
            Coral #FF6B81, Mint #16C784, Cloud #F6F4FF
   ========================================================= */
:root{
  --violet: #6D28D9;
  --violet-light: #8B5CF6;
  --indigo-deep: #170B33;
  --indigo: #24134D;
  --amber: #FFB020;
  --coral: #FF6B81;
  --mint: #16C784;
  --cloud: #F6F4FF;
  --ink: #1A1330;
  --ink-soft: #574B75;
  --white: #FFFFFF;

  --font-display: 'Space Grotesk', sans-serif;
  --font-body: 'Inter', sans-serif;

  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;

  --shadow-soft: 0 20px 50px -20px rgba(36,19,77,.35);
  --shadow-card: 0 10px 30px -12px rgba(36,19,77,.22);

  --ease: cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; overflow-x:hidden; width:100%;}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--white);
  overflow-x:hidden;
  width:100%;
  line-height:1.6;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
h1,h2,h3,h4{font-family:var(--font-display); line-height:1.15; letter-spacing:-.01em;}
.container{max-width:1180px; margin:0 auto; padding:0 24px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family:var(--font-display); font-weight:600; font-size:.95rem;
  padding:.85rem 1.6rem; border-radius:999px; border:2px solid transparent;
  cursor:pointer; transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
  white-space:nowrap;
}
.btn:hover{transform:translateY(-3px);}
.btn-primary{background:linear-gradient(135deg,var(--violet),var(--violet-light)); color:#fff; box-shadow:0 12px 24px -10px rgba(109,40,217,.55);}
.btn-primary:hover{box-shadow:0 18px 30px -10px rgba(109,40,217,.65);}
.btn-outline{border-color:var(--violet); color:var(--violet); background:#fff;}
.btn-outline:hover{background:var(--violet); color:#fff;}
.btn-ghost{border-color:rgba(255,255,255,.4); color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.15);}
.btn-light{background:#fff; color:var(--violet);}
.btn-lg{padding:1.05rem 2rem; font-size:1.02rem;}
.btn-sm{padding:.6rem 1.1rem; font-size:.85rem;}
.btn-block{width:100%;}

/* ---------- Nav ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(23,11,51,.55); backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:background .3s var(--ease);
}
.nav-inner{
  max-width:1280px; margin:0 auto; padding:.85rem 24px;
  display:flex; align-items:center; gap:2rem;
}
.brand{display:flex; align-items:center; gap:.5rem; font-family:var(--font-display); font-weight:700; font-size:1.15rem; color:#fff;}
.brand-mark{
  width:34px; height:34px; border-radius:10px;
  background:linear-gradient(135deg,var(--amber),var(--coral));
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.82rem; letter-spacing:.02em; color:#2b1330;
}
.brand-text em{font-style:normal; color:var(--amber);}
.nav-links{display:flex; gap:1.35rem; flex:1; justify-content:center; flex-wrap:wrap;}
.nav-links a{color:rgba(255,255,255,.82); font-size:.88rem; font-weight:500; position:relative; padding:.25rem 0;}
.nav-links a::after{content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--amber); transition:width .25s var(--ease);}
.nav-links a:hover{color:#fff;}
.nav-links a:hover::after{width:100%;}
.nav-cta{display:flex; gap:.6rem;}
.hamburger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
.hamburger span{width:24px; height:2px; background:#fff; border-radius:2px; transition:transform .3s var(--ease), opacity .3s var(--ease);}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---------- Hero ---------- */
.hero{
  position:relative; min-height:100vh; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center;
  padding:9rem 24px 6rem; overflow:hidden;
  background:radial-gradient(circle at 50% 0%, var(--indigo) 0%, var(--indigo-deep) 65%);
  color:#fff;
}
.hero-bg{position:absolute; inset:0; z-index:0;}
.grid-overlay{
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(circle at 50% 35%, #000 0%, transparent 70%);
}
.blob{position:absolute; border-radius:50%; filter:blur(70px); opacity:.55; animation:drift 18s ease-in-out infinite alternate;}
.blob-a{width:420px; height:420px; background:var(--violet); top:-100px; left:-120px;}
.blob-b{width:360px; height:360px; background:var(--coral); bottom:-120px; right:-80px; animation-duration:22s;}
.blob-c{width:280px; height:280px; background:var(--amber); top:30%; right:10%; animation-duration:26s;}
@keyframes drift{
  0%{transform:translate(0,0) scale(1);}
  100%{transform:translate(40px,-30px) scale(1.15);}
}
.hero-inner{position:relative; z-index:1; max-width:820px;}
.eyebrow{
  display:inline-block; padding:.4rem 1rem; border-radius:999px;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
  font-size:.78rem; letter-spacing:.04em; font-weight:600; margin-bottom:1.4rem;
}
.hero h1{font-size:clamp(2.2rem, 5vw, 3.6rem); font-weight:700; margin-bottom:1rem;}
.text-gradient{background:linear-gradient(135deg,var(--amber),var(--coral)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.hero-tagline{font-family:var(--font-display); font-size:1.2rem; color:var(--amber); margin-bottom:.9rem; font-weight:600;}
.hero-desc{color:rgba(255,255,255,.8); max-width:640px; margin:0 auto 2.2rem; font-size:1.02rem;}
.hero-actions{display:flex; flex-wrap:wrap; gap:.85rem; justify-content:center; margin-bottom:2.6rem; max-width:100%;}
.hero-whatsapp p{color:rgba(255,255,255,.7); margin-bottom:.6rem; font-size:.92rem;}
.whatsapp-pill{
  display:inline-flex; align-items:center; gap:.5rem; background:#1EBE5D;
  color:#fff; padding:.75rem 1.4rem; border-radius:999px; font-weight:600;
  box-shadow:0 12px 24px -10px rgba(30,190,93,.6); transition:transform .25s var(--ease);
}
.whatsapp-pill:hover{transform:translateY(-3px);}

/* Floating dashboard mockup */
.hero-dashboard{position:relative; z-index:1; margin-top:3.5rem; width:100%; max-width:760px; height:340px;}
.center-panel{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:280px; background:rgba(255,255,255,.08); backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.18); border-radius:var(--radius-md);
  padding:1.2rem; text-align:left; box-shadow:var(--shadow-soft);
  animation:float-panel 6s ease-in-out infinite;
}
@keyframes float-panel{0%,100%{transform:translate(-50%,-50%) translateY(0);} 50%{transform:translate(-50%,-50%) translateY(-10px);}}
.panel-bar{display:flex; gap:6px; margin-bottom:.7rem;}
.dot{width:9px; height:9px; border-radius:50%;}
.dot-r{background:#FF5F57;} .dot-y{background:#FEBC2E;} .dot-g{background:#28C840;}
.panel-title{font-family:var(--font-display); font-weight:700; margin-bottom:.7rem; font-size:.95rem;}
.panel-row{display:flex; justify-content:space-between; font-size:.8rem; color:rgba(255,255,255,.75); margin-bottom:.4rem;}
.panel-chart{display:flex; align-items:flex-end; gap:5px; height:44px; margin-top:.7rem;}
.panel-chart span{flex:1; height:var(--h); background:linear-gradient(180deg,var(--amber),var(--coral)); border-radius:3px 3px 0 0;}
.float-card{
  position:absolute; display:flex; align-items:center; gap:.5rem;
  background:rgba(255,255,255,.92); color:var(--ink); font-size:.78rem; font-weight:600;
  padding:.6rem .9rem; border-radius:14px; box-shadow:var(--shadow-card);
  animation:float-chip 5s ease-in-out infinite;
}
.fc-ico{font-size:1rem;}
.fc-1{top:0; left:2%; animation-delay:.2s;}
.fc-2{top:6%; right:0; animation-delay:.6s; background:linear-gradient(135deg,var(--coral),#ff9aa8); color:#fff;}
.fc-3{bottom:14%; left:0; animation-delay:1s;}
.fc-4{bottom:0; right:10%; animation-delay:1.4s;}
.fc-5{top:38%; left:-4%; animation-delay:1.8s;}
@keyframes float-chip{0%,100%{transform:translateY(0);} 50%{transform:translateY(-14px);}}

/* ---------- Sections ---------- */
.section{padding:6rem 0;}
.section-alt{background:var(--cloud);}
.section-eyebrow{
  display:inline-block; font-family:var(--font-display); font-weight:700; font-size:.8rem;
  letter-spacing:.08em; text-transform:uppercase; color:var(--violet); margin-bottom:.7rem;
}
.section-eyebrow.light{color:var(--amber);}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem); margin-bottom:1rem;}
h2.light{color:#fff;}
.section-lead{color:var(--ink-soft); max-width:640px; font-size:1.02rem; margin-bottom:2.2rem;}
.section-lead.light{color:rgba(255,255,255,.78);}
.edit-note{
  font-size:.82rem; color:#9182b8; background:#F4EFFF; border:1px dashed #D7C7FF;
  padding:.7rem 1rem; border-radius:var(--radius-sm); margin-top:1.6rem; max-width:760px;
}
.edit-note.light{background:rgba(255,255,255,.08); color:rgba(255,255,255,.7); border-color:rgba(255,255,255,.2);}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:3rem;}

/* Chips (module list) */
.chip-grid{display:flex; flex-wrap:wrap; gap:.7rem;}
.chip{
  background:#fff; border:1px solid #E9E1FF; padding:.65rem 1.1rem; border-radius:999px;
  font-size:.88rem; font-weight:500; box-shadow:var(--shadow-card); transition:transform .25s var(--ease);
}
.chip:hover{transform:translateY(-3px);}
.chip-accent{background:linear-gradient(135deg,var(--violet),var(--coral)); color:#fff; border-color:transparent;}

/* Accordion (features / faq) */
.acc-list{display:flex; flex-direction:column; gap:.8rem; max-width:880px;}
.acc-item{background:#fff; border:1px solid #ECE5FF; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-card);}
.acc-head{
  width:100%; display:flex; align-items:center; gap:.8rem; background:none; border:none; cursor:pointer;
  padding:1.1rem 1.3rem; text-align:left; font-family:var(--font-body); font-weight:600; font-size:1rem;
}
.acc-ico{font-size:1.2rem;}
.acc-title{flex:1;}
.acc-plus{font-size:1.2rem; color:var(--violet); transition:transform .3s var(--ease);}
.acc-item.open .acc-plus{transform:rotate(45deg);}
.acc-body{max-height:0; overflow:hidden; transition:max-height .35s var(--ease);}
.acc-body p{padding:0 1.3rem 1.2rem; color:var(--ink-soft); font-size:.95rem;}

/* E-Election section */
.election-section{position:relative; padding:6.5rem 0; background:linear-gradient(135deg,var(--indigo-deep),var(--indigo)); color:#fff; overflow:hidden;}
.election-bg{position:absolute; inset:0; background:radial-gradient(circle at 80% 20%, rgba(255,107,129,.25), transparent 60%), radial-gradient(circle at 10% 80%, rgba(109,40,217,.35), transparent 60%);}
.election-section .container{position:relative; z-index:1;}
.election-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:2.4rem;}
.election-card{
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15); border-radius:var(--radius-md);
  padding:1.4rem; font-weight:600; font-size:.92rem; display:flex; flex-direction:column; gap:.6rem;
  backdrop-filter:blur(6px); transition:transform .3s var(--ease), background .3s var(--ease);
}
.election-card span{font-size:1.6rem;}
.election-card:hover{transform:translateY(-6px); background:rgba(255,255,255,.13);}

/* Screenshots */
.shot-placeholder{
  aspect-ratio:16/10; border-radius:var(--radius-md); border:2px dashed #D7C7FF; background:#F9F6FF;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem;
  color:#9182b8; font-size:.85rem; font-weight:500; text-align:center; padding:1rem;
}
.shot-placeholder span{font-size:1.8rem;}

/* Screenshot carousel — one big image with prev/next nav on the image itself */
.shot-viewport{
  position:relative; width:100%; aspect-ratio:16/9; border-radius:var(--radius-md); overflow:hidden;
  background:#17102b; box-shadow:var(--shadow-card);
}
.shot-slide{
  position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#17102b;
  display:none;
}
.shot-slide.active{display:block;}
.shot-nav{
  position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%;
  border:none; background:rgba(255,255,255,.14); color:#fff; font-size:1.1rem; display:flex; align-items:center;
  justify-content:center; cursor:pointer; transition:background .2s var(--ease);
}
.shot-nav:hover{background:rgba(255,255,255,.28);}
.shot-prev{left:16px;}
.shot-next{right:16px;}
.shot-counter{
  position:absolute; right:16px; bottom:14px; background:rgba(255,255,255,.14); color:#fff; font-size:.78rem;
  font-weight:600; padding:.28rem .7rem; border-radius:999px;
}
@media (max-width:640px){
  .shot-nav{width:38px; height:38px; font-size:.9rem;}
  .shot-prev{left:8px;}
  .shot-next{right:8px;}
}

/* Why choose */
.why-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.2rem;}
.why-card{background:#fff; border-radius:var(--radius-md); padding:1.6rem; box-shadow:var(--shadow-card); transition:transform .3s var(--ease);}
.why-card:hover{transform:translateY(-6px);}
.why-ico{font-size:1.8rem; display:block; margin-bottom:.7rem;}
.why-card h3{font-size:1.05rem; margin-bottom:.4rem;}
.why-card p{color:var(--ink-soft); font-size:.9rem;}

/* Pricing */
.pricing-section{background:linear-gradient(180deg,#fff,var(--cloud)); text-align:center;}
.pricing-section .section-lead{margin-left:auto; margin-right:auto;}
.price-card{
  max-width:460px; margin:0 auto; background:#fff; border-radius:var(--radius-lg);
  padding:2.6rem 2.2rem; box-shadow:var(--shadow-soft); border:1px solid #ECE5FF; text-align:left;
  position:relative; overflow:hidden;
}
.price-card::before{content:''; position:absolute; top:-60px; right:-60px; width:180px; height:180px; border-radius:50%; background:linear-gradient(135deg,var(--amber),var(--coral)); opacity:.18;}
.price-card-badge{font-family:var(--font-display); font-weight:700; color:var(--violet); font-size:.9rem; margin-bottom:.6rem;}
.price-amount{font-family:var(--font-display); font-size:3.2rem; font-weight:700; color:var(--ink);}
.rupee{font-size:2rem; vertical-align:top; margin-right:.15rem;}
.price-sub{font-weight:700; letter-spacing:.06em; color:var(--ink-soft); font-size:.8rem; margin-bottom:1.6rem;}
.price-list{display:flex; flex-direction:column; gap:.6rem; margin-bottom:1.8rem;}
.price-list li{font-size:.92rem; color:var(--ink-soft);}
.price-note{text-align:center; margin-top:1rem; font-size:.85rem; color:var(--ink-soft);}
.price-note a{color:var(--violet); font-weight:600;}

/* Check list */
.check-list{display:flex; flex-direction:column; gap:.6rem; margin:1.2rem 0;}
.check-list li{padding-left:1.6rem; position:relative; color:var(--ink-soft); font-size:.95rem;}
.check-list li::before{content:'✓'; position:absolute; left:0; color:var(--mint); font-weight:700;}
.callout{border-radius:var(--radius-md); padding:1.4rem; font-size:.92rem;}
.callout-warn{background:#FFF4E5; border:1px solid #FFDDA6; color:#7A4E00;}
.callout p{margin-bottom:.5rem;}
.callout p:last-child{margin-bottom:0;}

/* Updates */
.update-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:1rem; margin-bottom:1.8rem;}
.update-card{background:#fff; border-radius:var(--radius-md); padding:1.2rem; box-shadow:var(--shadow-card); font-weight:600; font-size:.9rem; display:flex; flex-direction:column; gap:.5rem;}
.update-card span{font-size:1.5rem;}
.schedule-badge{
  display:inline-block; background:linear-gradient(135deg,var(--violet),var(--violet-light)); color:#fff;
  padding:.7rem 1.4rem; border-radius:999px; font-weight:700; font-size:.9rem; margin-bottom:1.6rem;
}
.library-card{
  margin-top:2rem; background:linear-gradient(135deg,#fff,#F4EFFF); border:1px solid #ECE5FF;
  border-radius:var(--radius-lg); padding:2rem; max-width:640px; box-shadow:var(--shadow-card); position:relative;
}
.library-badge{display:inline-block; background:var(--amber); color:#402900; font-weight:700; font-size:.78rem; padding:.35rem .8rem; border-radius:999px; margin-bottom:.9rem;}
.library-card h3{margin-bottom:.6rem;}
.library-card p{color:var(--ink-soft); margin-bottom:1.2rem; font-size:.95rem;}
.library-meta{display:flex; gap:2rem;}
.library-meta span{display:block; font-size:.78rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.04em;}
.library-meta strong{font-family:var(--font-display); font-size:1rem;}

/* Hosting mini boxes */
.mini-price-box{
  display:flex; justify-content:space-between; align-items:center; background:#fff; border:1px solid #ECE5FF;
  border-radius:var(--radius-md); padding:1.1rem 1.4rem; box-shadow:var(--shadow-card); margin-top:1rem;
}
.mini-price-box-accent{border-color:var(--amber); background:#FFF8EA;}
.mini-price-box span{color:var(--ink-soft); font-size:.85rem;}
.mini-price-box strong{font-family:var(--font-display);}

/* Forms */
.cust-form{display:flex; flex-direction:column; gap:.9rem; background:#fff; padding:1.8rem; border-radius:var(--radius-lg); box-shadow:var(--shadow-card); border:1px solid #ECE5FF;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:.9rem;}
input, textarea{
  width:100%; padding:.85rem 1rem; border-radius:var(--radius-sm); border:1.5px solid #E4DCFB;
  font-family:var(--font-body); font-size:.92rem; background:#FBFAFF; transition:border-color .25s var(--ease);
}
input:focus, textarea:focus{outline:none; border-color:var(--violet); background:#fff;}
.form-note{font-size:.78rem; color:#9182b8;}

/* Trust */
.trust-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.9rem;}
.trust-item{background:#fff; border:1px solid #ECE5FF; border-radius:var(--radius-sm); padding:1rem 1.2rem; font-weight:600; font-size:.9rem; box-shadow:var(--shadow-card);}

/* Payment */
.pay-card{display:grid; grid-template-columns:280px 1fr; gap:2.4rem; background:#fff; border-radius:var(--radius-lg); padding:2.2rem; box-shadow:var(--shadow-soft); border:1px solid #ECE5FF; align-items:start; max-width:100%;}
.pay-qr{background:#fff; border:2px dashed #E4DCFB; border-radius:var(--radius-md); padding:1rem; text-align:center;}
.pay-qr img{max-width:100%; height:auto;}
.pay-row{display:flex; justify-content:space-between; align-items:baseline; gap:.6rem; padding:.6rem 0; border-bottom:1px solid #F1ECFF; font-size:.92rem;}
.pay-row span{flex-shrink:0;}
.pay-row strong{overflow-wrap:anywhere; text-align:right;}
.pay-steps{margin:1rem 0 1.4rem; padding-left:1.2rem; color:var(--ink-soft); font-size:.9rem; display:flex; flex-direction:column; gap:.4rem;}

/* Footer */
.footer{background:var(--indigo-deep); color:rgba(255,255,255,.75); padding:4rem 0 1.5rem;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; gap:2rem;}
.footer-grid h4{color:#fff; font-family:var(--font-display); font-size:.9rem; margin-bottom:1rem;}
.footer-grid a{display:block; font-size:.85rem; margin-bottom:.6rem; color:rgba(255,255,255,.65); transition:color .2s var(--ease);}
.footer-grid a:hover{color:var(--amber);}
.brand-footer{margin-bottom:.8rem;}
.footer-grid p{font-size:.85rem; color:rgba(255,255,255,.6);}
.footer-bottom{text-align:center; margin-top:3rem; font-size:.8rem; color:rgba(255,255,255,.45);}

/* Floating WhatsApp */
.float-whatsapp{
  position:fixed; bottom:24px; right:24px; z-index:200; width:58px; height:58px; border-radius:50%;
  background:#1EBE5D; color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 14px 28px -8px rgba(30,190,93,.6); animation:pulse-wa 2.6s ease-in-out infinite;
}
@keyframes pulse-wa{0%,100%{transform:scale(1);} 50%{transform:scale(1.08);}}

/* Scroll reveal */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.in{opacity:1; transform:translateY(0);}

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .nav-inner{flex-wrap:wrap; justify-content:space-between;}
  .brand{order:1;}
  .nav-links, .nav-cta{display:none;}
  .hamburger{display:flex; order:2;}
  .nav.mobile-open .nav-links{
    display:flex; flex:0 0 100%; flex-direction:column; order:3; width:100%;
    justify-content:flex-start; align-items:stretch;
    max-height:60vh; overflow-y:auto;
    background:var(--indigo-deep); padding:1.4rem 24px; gap:1rem; border-bottom:1px solid rgba(255,255,255,.08);
  }
  .nav.mobile-open .nav-cta{
    display:flex; flex:0 0 100%; flex-direction:column; order:4; width:100%;
    padding:1rem 24px 1.4rem;
    background:var(--indigo-deep); gap:.7rem;
  }
  .two-col{grid-template-columns:1fr;}
  .election-grid{grid-template-columns:1fr 1fr;}
  .shot-grid{grid-template-columns:1fr 1fr;}
  .pay-card{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width: 600px){
  .hero{padding:8rem 18px 4rem;}
  .hero-dashboard{height:auto; padding-bottom:2rem;}
  .float-card{position:static; margin-bottom:.6rem; animation:none;}
  .center-panel{position:static; transform:none; margin:0 auto; animation:none;}
  .election-grid{grid-template-columns:1fr;}
  .shot-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .pay-card{padding:1.3rem; gap:1.2rem;}
  .hero-actions .btn{max-width:100%; white-space:normal; text-align:center;}
  .btn{max-width:100%; white-space:normal; text-align:center;}
}
