*{box-sizing:border-box;margin:0;padding:0}
:root{
  --g1:#1B4332;--g2:#2D6A4F;--g3:#52B788;
  --gold:#F59E0B;--gold-dk:#B45309;
  --navy:#0D1B3E;--teal:#1B5C6E;
  --bd:#E2E8F0;--t2:#475569;--t3:#94A3B8;
  --partner:#B45309;--partner-bg:#FEF3C7;
  --free:#065F46;--free-bg:#D1FAE5;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',Arial,sans-serif;background:#F1F5F9;color:#1a1a2e;line-height:1.5;font-size:14px}
a{color:inherit;text-decoration:none}
img{max-width:100%}

/* ── SITE HEADER ── */
.site-hdr{background:var(--navy);padding:14px 48px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.logo-area{display:flex;align-items:center;gap:12px}
.logo-mark{width:50px;height:50px;background:linear-gradient(135deg,var(--g1),var(--g3));border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;color:#fff;font-family:'Playfair Display',serif}
.logo-text{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:900;color:#fff;letter-spacing:1px}
.logo-sub{font-size:16px;color:rgba(255,255,255,.5);letter-spacing:.3px;margin-top:1px}
.hdr-nav{display:flex;align-items:center;gap:20px}
.hdr-nav a{font-size:15px;font-weight:700;color:rgba(255,255,255,.7);transition:color .2s}
.hdr-nav a:hover{color:#fff}
.hdr-cta{background:var(--gold);color:#fff !important;padding:10px 20px;border-radius:50px;font-weight:800!important;font-size:14px!important}
.hdr-pay{background:#059669;color:#fff!important;padding:10px 20px;border-radius:50px;font-size:14px!important;font-weight:800!important}
.hdr-burger{display:none;background:none;border:none;cursor:pointer;padding:8px;width:44px;height:44px;flex-direction:column;justify-content:center;gap:4px;align-items:center}
.hdr-burger span{display:block;width:22px;height:2.5px;background:#fff;border-radius:2px;transition:all .25s}
.hdr-burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hdr-burger.open span:nth-child(2){opacity:0}
.hdr-burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ── HERO ── */
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--g1) 55%,var(--teal) 100%);padding:64px 48px 56px;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.14),transparent 70%);pointer-events:none}
.hero::after{content:'';position:absolute;bottom:-60px;left:15%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(82,183,136,.12),transparent 70%);pointer-events:none}
.hero-inner{position:relative;z-index:1;max-width:1160px;margin:0 auto}
.hero-tag{display:inline-flex;align-items:center;gap:6px;background:rgba(82,183,136,.15);border:1px solid rgba(82,183,136,.3);color:var(--g3);font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:5px 14px;border-radius:50px;margin-bottom:16px}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(30px,4.6vw,54px);font-weight:900;color:#fff;line-height:1.3;margin-bottom:14px}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero-sub{font-size:16px;color:rgba(255,255,255,.72);max-width:740px;margin-bottom:28px;line-height:1.7}

/* Dual CTA */
.dual-cta{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:860px;margin-bottom:24px}
@media(max-width:720px){.dual-cta{grid-template-columns:1fr}}
.cta-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:20px 22px;transition:all .25s;cursor:pointer;display:block;backdrop-filter:blur(8px)}
.cta-card:hover{background:rgba(255,255,255,.13);border-color:rgba(245,158,11,.4);transform:translateY(-2px)}
.cta-icon{font-size:28px;margin-bottom:10px;display:block}
.cta-title{font-family:'Playfair Display',serif;font-size:20px;font-weight:800;color:#fff;margin-bottom:6px}
.cta-desc{font-size:14px;color:rgba(255,255,255,.65);line-height:1.55;margin-bottom:12px}
.cta-btn{display:inline-flex;align-items:center;gap:6px;background:var(--gold);color:#fff;padding:8px 16px;border-radius:50px;font-size:12px;font-weight:800;letter-spacing:.3px}
.cta-card.vendor .cta-btn{background:#fff;color:var(--navy)}

.hero-trust{display:flex;flex-wrap:wrap;gap:18px;font-size:14px;color:rgba(255,255,255,.55);margin-top:8px}
.hero-trust span{display:inline-flex;align-items:center;gap:5px}

/* ── TRANSPARENCY BANNER ── */
.transparency{background:#FEF3C7;border-bottom:1px solid #FDE68A;padding:14px 48px;font-size:13px;color:#78350F;line-height:1.6;text-align:center}
.transparency strong{color:#78350F}
.transparency a{color:#78350F;font-weight:800;text-decoration:underline}

/* ── HOW IT WORKS ── */
.how{background:#fff;padding:48px 48px;border-bottom:1px solid var(--bd)}
.how-inner{max-width:1160px;margin:0 auto}
.how-eyebrow{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--g2);margin-bottom:8px;text-align:center}
.how h2{font-family:'Playfair Display',serif;font-size:32px;font-weight:900;color:var(--navy);text-align:center;margin-bottom:6px}
.how-sub{font-size:15px;color:var(--t2);text-align:center;max-width:620px;margin:0 auto 36px;line-height:1.6}
.how-split{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:820px){.how-split{grid-template-columns:1fr}}
.how-col{background:#F8FAFC;border:1px solid var(--bd);border-radius:14px;padding:26px 24px;position:relative}
.how-col.businesses{border-top:4px solid var(--g2)}
.how-col.vendors{border-top:4px solid var(--gold)}
.how-col h3{font-family:'Playfair Display',serif;font-size:21px;font-weight:800;color:var(--navy);margin-bottom:4px}
.how-col .sub{font-size:12px;color:var(--t3);font-weight:600;margin-bottom:20px;text-transform:uppercase;letter-spacing:.5px}
.how-step{display:flex;gap:14px;margin-bottom:16px;align-items:flex-start}
.how-step:last-child{margin-bottom:0}
.how-num{flex-shrink:0;width:28px;height:28px;background:var(--navy);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;font-family:'Playfair Display',serif}
.how-col.vendors .how-num{background:var(--gold-dk)}
.how-step-body h4{font-size:14px;font-weight:800;color:var(--navy);margin-bottom:3px}
.how-step-body p{font-size:13px;color:var(--t2);line-height:1.55}

/* ── PARTNER PRICING CARD ── */
.pricing{background:linear-gradient(135deg,#FFFBEB,#FEF3C7);padding:48px;border-bottom:1px solid var(--bd)}
.pricing-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
@media(max-width:820px){.pricing-inner{grid-template-columns:1fr}}
.pricing-left .eyebrow{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--partner);margin-bottom:10px}
.pricing-left h2{font-family:'Playfair Display',serif;font-size:34px;font-weight:900;color:var(--navy);line-height:1.3;margin-bottom:14px}
.pricing-left h2 em{font-style:italic;color:var(--partner)}
.pricing-left p{font-size:14px;color:var(--t2);line-height:1.7;margin-bottom:8px}
.pricing-right{background:#fff;border:2px solid var(--gold);border-radius:18px;padding:28px 28px 24px;box-shadow:0 8px 28px rgba(180,83,9,.12);position:relative}
.pricing-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--partner);color:#fff;font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;padding:5px 14px;border-radius:50px}
.price-tier{font-size:12px;font-weight:800;color:var(--partner);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;margin-top:8px}
.price-num{font-family:'Playfair Display',serif;font-size:46px;font-weight:900;color:var(--navy);line-height:1}
.price-num sub{font-size:14px;color:var(--t3);font-weight:500}
.price-term{font-size:12px;color:var(--t2);margin-top:2px;margin-bottom:18px}
.price-perks{list-style:none;padding:0;margin:0 0 20px 0}
.price-perks li{font-size:13px;color:#1a1a2e;padding:6px 0;padding-left:22px;position:relative;line-height:1.5}
.price-perks li::before{content:'✓';position:absolute;left:0;top:6px;color:var(--g2);font-weight:900}
.price-btn{display:block;width:100%;background:var(--partner);color:#fff;border:none;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:800;padding:13px;border-radius:10px;cursor:pointer;letter-spacing:.3px;transition:background .2s}
.price-btn:hover{background:#92400E}

/* ── CATEGORY NAV ── */
.cat-nav{background:var(--navy);overflow-x:auto;white-space:nowrap;padding:14px 48px;border-bottom:3px solid var(--g1);position:sticky;top:66px;z-index:50}
.cat-nav::-webkit-scrollbar{height:9px}
.cat-nav::-webkit-scrollbar-thumb{background:var(--g2);border-radius:2px}
.npill{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:50px;font-size:13px;font-weight:700;color:rgba(255,255,255,.8);margin-right:8px;white-space:nowrap;opacity:1;transition:opacity .2s;border:1px solid rgba(255,255,255,.1)}
.npill:hover{opacity:0.75}

/* ── CATEGORY SECTION ── */
.cat-wrap{padding:36px 48px;max-width:1200px;margin:0 auto}
.cat-sec{margin-bottom:36px;background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--bd);scroll-margin-top:140px}
.cat-hdr{padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#fff}
.cat-hdr-l{display:flex;align-items:center;gap:14px}
.cicon{font-size:30px;line-height:1}
.ctitle{font-family:'Playfair Display',serif;font-size:20px;font-weight:800;line-height:1.2}
.cdesc{font-size:12px;opacity:.82;margin-top:3px;font-weight:400;max-width:560px}
.cbudget{text-align:right}
.clabel{font-size:11px;font-weight:800;opacity:.7;letter-spacing:1px;text-transform:uppercase}
.cval{font-size:14px;font-weight:800;margin-top:1px}

/* vendor grid */
.vgrid{padding:18px 20px 22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.vcard{background:#fff;border:1px solid #E5E7EB;border-left:4px solid #E5E7EB;border-radius:10px;padding:14px 16px;transition:box-shadow .2s}
.vcard:hover{box-shadow:0 4px 14px rgba(0,0,0,.06)}
.vcard.partner{border-left-color:var(--partner);background:linear-gradient(90deg,#FFFBEB 0%,#fff 30%)}
.vcard.free{border-left-color:var(--g3)}
.vcard-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.vname{font-size:14px;font-weight:800;color:#111827;flex:1;line-height:1.3}
.v-badge{font-size:10px;font-weight:800;padding:3px 10px;border-radius:50px;letter-spacing:.3px;white-space:nowrap}
.v-badge.partner{background:var(--partner-bg);color:var(--partner)}
.v-badge.free{background:var(--free-bg);color:var(--free)}
.vmeta{font-size:13px;color:var(--t2);margin-bottom:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.reach{color:var(--t2)}
.vlink{color:var(--teal);font-weight:700;font-size:12px}
.vcontacts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;background:#F1F5F9;color:var(--t2);padding:3px 9px;border-radius:50px}
.chip-email{background:#E0F2FE;color:#075985}
.vnote{font-size:13px;color:var(--t2);line-height:1.55;margin-top:4px;padding-top:6px;border-top:1px dashed #E2E8F0}

/* ── EMPTY CATEGORY (Coming Soon) ── */
.coming-soon{padding:28px 24px;background:#F8FAFC;border-radius:10px;margin:18px 20px 22px;border:1px dashed #CBD5E1;text-align:center}
.cs-label{display:inline-block;font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-dk);background:#FEF3C7;padding:4px 12px;border-radius:50px;margin-bottom:10px}
.cs-title{font-family:'Playfair Display',serif;font-size:18px;font-weight:800;color:var(--navy);margin-bottom:4px}
.cs-desc{font-size:13px;color:var(--t2);margin-bottom:16px;line-height:1.55;max-width:460px;margin-left:auto;margin-right:auto}
.cs-ctas{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.cs-btn{display:inline-block;padding:8px 16px;border-radius:50px;font-size:12px;font-weight:800;text-decoration:none;transition:all .2s;cursor:pointer;border:none;font-family:inherit}
.cs-btn.partner{background:var(--partner);color:#fff}
.cs-btn.partner:hover{background:#92400E}
.cs-btn.free{background:#fff;color:var(--navy);border:1px solid #CBD5E1}
.cs-btn.free:hover{border-color:var(--navy)}

/* ── FORM MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(13,27,62,.72);z-index:200;display:none;align-items:flex-start;justify-content:center;overflow-y:auto;padding:36px 16px}
.modal-overlay.active{display:flex}
.modal{background:#fff;border-radius:16px;max-width:620px;width:100%;padding:34px 36px 30px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal-close{position:absolute;top:14px;right:16px;font-size:26px;line-height:1;cursor:pointer;color:var(--t3);background:none;border:none;padding:6px 10px;border-radius:6px}
.modal-close:hover{color:var(--navy);background:#F1F5F9}
.modal-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--g2);margin-bottom:6px}
.modal-eyebrow.partner{color:var(--partner)}
.modal h2{font-family:'Playfair Display',serif;font-size:26px;font-weight:900;color:var(--navy);margin-bottom:10px;line-height:1.15}
.modal-sub{font-size:13px;color:var(--t2);margin-bottom:22px;line-height:1.6}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.form-grid{grid-template-columns:1fr}}
.form-group{margin-bottom:14px}
.form-group.full{grid-column:1/-1}
.form-group label{display:block;font-size:13px;font-weight:700;color:var(--navy);margin-bottom:5px}
.form-group label .req{color:#B91C1C;margin-left:3px}
.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid var(--bd);border-radius:8px;padding:10px 12px;font-size:13px;font-family:inherit;background:#F8FAFC;color:#1a1a2e}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--g2);background:#fff}
.form-group textarea{resize:vertical;min-height:80px}
.consent-box{background:#F8FAFC;border:1px solid var(--bd);border-radius:8px;padding:14px;margin:10px 0 16px;font-size:12px;color:var(--t2);line-height:1.55}
.consent-box label{display:flex;gap:8px;cursor:pointer;align-items:flex-start}
.consent-box input{margin-top:3px;flex-shrink:0}
.consent-box .tc-link{color:var(--g2);font-weight:800;text-decoration:underline}

/* Click-wrap agreement panel */
.agreement-panel{background:#FFFBEB;border:2px solid #FDE68A;border-radius:10px;margin:14px 0 10px;overflow:hidden}
.agreement-hdr{background:#FEF3C7;padding:10px 14px;font-size:12px;font-weight:800;color:#78350F;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #FDE68A}
.agreement-hdr .ag-label{letter-spacing:.4px}
.agreement-hdr .ag-version{font-size:10px;font-weight:600;color:#92400E;opacity:.8}
.agreement-body{max-height:220px;overflow-y:auto;padding:14px 16px;font-size:11.5px;line-height:1.55;color:#1f2937;background:#fff}
.agreement-body::-webkit-scrollbar{width:6px}
.agreement-body::-webkit-scrollbar-thumb{background:#D1D5DB;border-radius:3px}
.agreement-body h5{font-family:'Playfair Display',serif;font-size:13px;font-weight:800;color:var(--navy);margin:10px 0 4px}
.agreement-body h5:first-child{margin-top:0}
.agreement-body p{margin-bottom:6px}
.agreement-body ol{padding-left:18px;margin:4px 0 8px}
.agreement-body li{margin-bottom:4px}
.agreement-body strong{color:#78350F}
.agreement-footer{background:#FFF7ED;padding:8px 14px;font-size:10.5px;color:#92400E;border-top:1px solid #FDE68A;font-style:italic}
.click-wrap-checks{display:flex;flex-direction:column;gap:8px;background:#F0FDF4;border:1px solid #86EFAC;border-radius:10px;padding:14px;margin-top:12px}
.click-wrap-checks > label{display:flex;gap:8px;cursor:pointer;align-items:flex-start;font-size:12px;color:#065F46;line-height:1.5}
.click-wrap-checks > label input{margin-top:3px;flex-shrink:0}
.click-wrap-checks > label strong{color:#064E3B}
.submit-btn{width:100%;padding:13px;background:var(--g2);color:#fff;border:none;border-radius:10px;font-family:inherit;font-size:13px;font-weight:800;letter-spacing:.3px;cursor:pointer;transition:background .2s}
.submit-btn:hover{background:var(--g1)}
.submit-btn.partner{background:var(--partner)}
.submit-btn.partner:hover{background:#92400E}
.form-success{display:none;text-align:center;padding:24px 16px;background:#F0FDF4;border:1px solid #86EFAC;border-radius:10px;margin-top:12px}
.form-success.active{display:block}
.form-success h3{font-family:'Playfair Display',serif;color:#065F46;font-size:20px;margin-bottom:6px}
.form-success p{color:#047857;font-size:13px;line-height:1.6}

/* ── DISCLAIMER / TRUST SECTION ── */
.trust{background:#fff;padding:44px 48px;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd)}
.trust-inner{max-width:1000px;margin:0 auto}
.trust-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);margin-bottom:8px;text-align:center}
.trust h2{font-family:'Playfair Display',serif;font-size:28px;font-weight:900;color:var(--navy);text-align:center;margin-bottom:24px}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:820px){.trust-grid{grid-template-columns:1fr}}
.trust-item{background:#F8FAFC;border:1px solid var(--bd);border-radius:12px;padding:20px}
.trust-item h4{font-family:'Playfair Display',serif;font-size:16px;font-weight:800;color:var(--navy);margin-bottom:8px}
.trust-item p{font-size:13px;color:var(--t2);line-height:1.6}

/* ── FOOTER ── */
.site-footer{background:var(--navy);color:rgba(255,255,255,.7);padding:40px 48px 24px}
.footer-inner{max-width:1160px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;margin-bottom:28px}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}
.footer-logo{font-family:'Playfair Display',serif;font-size:22px;font-weight:900;color:#fff;margin-bottom:10px}
.footer-logo em{font-style:italic;color:var(--gold)}
.footer-desc{font-size:14px;line-height:1.7;color:rgba(255,255,255,.55)}
.footer-contact{margin-top:14px;display:flex;flex-direction:column;gap:5px}
.fc-item{font-size:14px;color:rgba(255,255,255,.6)}
.fc-item strong{color:rgba(255,255,255,.85)}
.footer-col h4{font-family:'Playfair Display',serif;font-size:18px;font-weight:800;color:#fff;margin-bottom:12px}
.footer-col a{display:block;font-size:14px;color:rgba(255,255,255,.55);margin-bottom:6px;transition:color .2s}
.footer-col a:hover{color:var(--gold)}
.footer-bottom{padding-top:20px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:rgba(255,255,255,.75);line-height:1.7}

/* WhatsApp float */
.wa-float{position:fixed;bottom:24px;right:24px;background:#25D366;color:#fff;padding:11px 18px;border-radius:50px;font-size:13px;font-weight:800;box-shadow:0 6px 20px rgba(37,211,102,.45);z-index:90;display:flex;align-items:center;gap:6px;transition:transform .2s}
.wa-float:hover{transform:scale(1.04)}
.wa-float svg{width:18px;height:18px;fill:#fff}

/* ── SCHOOL SETUP CONSULTING CTA ── */
.setup-cta{background:linear-gradient(135deg,#0F2922 0%,#1B4332 40%,#2D6A4F 100%);padding:64px 48px;position:relative;overflow:hidden}
.setup-cta::before{content:'';position:absolute;top:-120px;right:-120px;width:420px;height:420px;background:radial-gradient(circle,rgba(245,158,11,0.18) 0%,transparent 65%);pointer-events:none}
.setup-cta::after{content:'';position:absolute;bottom:-80px;left:-80px;width:320px;height:320px;background:radial-gradient(circle,rgba(82,183,136,0.15) 0%,transparent 65%);pointer-events:none}
.setup-inner{max-width:1180px;margin:0 auto;position:relative;z-index:1}
.setup-eyebrow{font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:#F59E0B;margin-bottom:14px;text-align:center}
.setup-eyebrow::before, .setup-eyebrow::after{content:' ◆ '}
.setup-title{font-family:'Playfair Display',serif;font-size:clamp(28px,3.8vw,42px);font-weight:900;color:#fff;text-align:center;line-height:1.3;letter-spacing:-0.5px;margin-bottom:12px}
.setup-title em{font-style:italic;color:#F59E0B;font-weight:900}
.setup-sub{font-size:15.5px;color:rgba(255,255,255,.78);text-align:center;max-width:780px;margin:0 auto 40px;line-height:1.65}
.setup-sub strong{color:#D1FAE5;font-weight:700}
.boards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}
.board-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:12px;padding:22px 20px;transition:all .3s;backdrop-filter:blur(8px)}
.board-card:hover{background:rgba(255,255,255,0.1);border-color:rgba(245,158,11,0.4);transform:translateY(-3px)}
.board-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:2px;padding:5px 10px;border-radius:4px;margin-bottom:12px;text-transform:uppercase}
.board-badge.svc-new-setup{background:rgba(6,95,70,0.35);color:#6EE7B7;border:1px solid rgba(110,231,183,0.3)}
.board-badge.svc-old-setup{background:rgba(30,64,175,0.35);color:#93C5FD;border:1px solid rgba(147,197,253,0.3)}
.board-badge.svc-existing{background:rgba(180,83,9,0.35);color:#FCD34D;border:1px solid rgba(252,211,77,0.3)}
.board-badge.svc-acquisition{background:rgba(107,33,168,0.35);color:#D8B4FE;border:1px solid rgba(216,180,254,0.3)}
.board-name{font-family:'Playfair Display',serif;font-size:19px;font-weight:800;color:#fff;margin-bottom:10px;line-height:1.2}
.board-full{font-size:12px;color:rgba(255,255,255,.55);margin-bottom:12px;line-height:1.5}
.board-help{font-size:13px;color:#D1FAE5;font-weight:500;line-height:1.55;margin-bottom:10px}
.board-meta{font-size:12px;color:rgba(255,255,255,.45);font-style:italic;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}

.setup-ctas-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}
.setup-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border-radius:8px;font-size:14.5px;font-weight:800;text-decoration:none;letter-spacing:0.3px;transition:all .25s;border:none;cursor:pointer}
.setup-btn.wa{background:#25D366;color:#fff;box-shadow:0 8px 24px rgba(37,211,102,0.35)}
.setup-btn.wa:hover{background:#1DA851;transform:translateY(-2px);box-shadow:0 10px 30px rgba(37,211,102,0.5)}
.setup-btn.call{background:#F59E0B;color:#fff;box-shadow:0 8px 24px rgba(245,158,11,0.35)}
.setup-btn.call:hover{background:#D97706;transform:translateY(-2px);box-shadow:0 10px 30px rgba(245,158,11,0.5)}
.setup-btn svg{width:18px;height:18px;fill:currentColor}

.setup-trust-row{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}
.setup-trust-item{font-size:12.5px;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:6px}
.setup-trust-item::before{content:'✓';color:#52B788;font-weight:900;font-size:14px}

.setup-legal{margin-top:32px;padding:18px 22px;background:rgba(0,0,0,0.25);border:1px solid rgba(255,255,255,.1);border-radius:10px;border-left:3px solid #F59E0B}
.setup-legal-title{font-size:10.5px;font-weight:800;letter-spacing:2.5px;color:#F59E0B;text-transform:uppercase;margin-bottom:8px}
.setup-legal-text{font-size:13px;color:rgba(255,255,255,.65);line-height:1.7}
.setup-legal-text strong{color:rgba(255,255,255,.85)}

@media(max-width:900px){.boards-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.boards-grid{grid-template-columns:1fr}.setup-cta{padding:44px 24px}}

/* ═══════════════════════════════════════════════════════ */
/* ── v7: DIRECT-PAY SUBSCRIPTION (Razorpay + WooCommerce) ── */
/* ═══════════════════════════════════════════════════════ */

/* Dual-action in pricing card */
.pricing-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.price-btn.pay-now{background:linear-gradient(135deg,#065F46,#059669);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px}
.price-btn.pay-now:hover{background:linear-gradient(135deg,#064E3B,#047857)}
.price-btn.pay-now .rz-logo{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;opacity:.85;padding-left:8px;border-left:1px solid rgba(255,255,255,.3);margin-left:4px}
.price-btn.apply-outline{background:#fff;color:var(--partner);border:2px solid var(--partner)}
.price-btn.apply-outline:hover{background:#FFFBEB}
.pricing-divider{text-align:center;font-size:11px;color:var(--t3);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin:4px 0;position:relative}
.pricing-divider::before,.pricing-divider::after{content:'';position:absolute;top:50%;width:38%;height:1px;background:var(--bd)}
.pricing-divider::before{left:0}.pricing-divider::after{right:0}

/* Plan selector cards inside direct-pay modal */
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
@media(max-width:620px){.plans-grid{grid-template-columns:1fr}}
.plan-card{border:2px solid var(--bd);border-radius:12px;padding:14px 12px;cursor:pointer;background:#fff;position:relative;transition:all .2s;display:block}
.plan-card:hover{border-color:#FBBF24;background:#FFFBEB}
.plan-card.selected{border-color:var(--partner);background:linear-gradient(180deg,#FFFBEB,#fff);box-shadow:0 4px 14px rgba(180,83,9,.15)}
.plan-card input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.plan-ribbon{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--partner);color:#fff;font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:3px 10px;border-radius:50px;white-space:nowrap}
.plan-name{font-family:'Playfair Display',serif;font-size:14px;font-weight:800;color:var(--navy);margin-bottom:4px}
.plan-price{font-family:'Playfair Display',serif;font-size:22px;font-weight:900;color:var(--navy);line-height:1}
.plan-price sub{font-size:10px;color:var(--t2);font-weight:500}
.plan-term{font-size:10px;color:var(--t2);margin-top:2px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}
.plan-perks{font-size:11px;color:var(--t2);line-height:1.45;margin-top:8px;padding-top:8px;border-top:1px dashed var(--bd);min-height:52px}

/* Order summary / Cart */
.cart-summary{background:#F8FAFC;border:1px solid var(--bd);border-radius:10px;padding:14px 16px;margin:14px 0}
.cart-hdr{font-size:11px;font-weight:800;letter-spacing:1px;color:var(--g2);text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.cart-row{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:#1a1a2e;padding:5px 0}
.cart-row.item{border-bottom:1px dashed var(--bd);padding-bottom:10px;margin-bottom:4px}
.cart-row.item .ci-name{font-weight:700}
.cart-row.item .ci-desc{font-size:12px;color:var(--t2);font-weight:400;margin-top:1px;display:block}
.cart-row.sub{color:var(--t2)}
.cart-row.gst{color:var(--t2);font-size:11.5px}
.cart-row.total{font-weight:900;font-size:16px;color:var(--navy);padding-top:9px;border-top:2px solid var(--navy);margin-top:6px}
.cart-row.total .cr-amt{color:var(--partner);font-family:'Playfair Display',serif;font-size:18px}
.cart-note{font-size:10.5px;color:var(--t3);margin-top:8px;font-style:italic;line-height:1.5}

/* Razorpay pay button */
.pay-btn-rz{width:100%;padding:15px;background:linear-gradient(135deg,#0C2451,#072654);color:#fff;border:none;border-radius:10px;font-family:inherit;font-size:14px;font-weight:800;letter-spacing:.3px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 6px 16px rgba(12,36,81,.25)}
.pay-btn-rz:hover{background:linear-gradient(135deg,#0A1E45,#051D48);transform:translateY(-1px);box-shadow:0 8px 20px rgba(12,36,81,.35)}
.pay-btn-rz:disabled{opacity:.55;cursor:not-allowed;transform:none}
.pay-btn-rz .rz-mark{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.12);padding:4px 9px;border-radius:5px;font-size:10.5px;font-weight:700;letter-spacing:.3px}
.pay-btn-rz .rz-amt{font-family:'Playfair Display',serif;font-size:18px;font-weight:900}

/* Payment methods ribbon */
.pay-methods{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;flex-wrap:wrap;font-size:10.5px;color:var(--t3)}
.pay-methods .pm-tag{display:inline-flex;align-items:center;gap:3px;background:#F1F5F9;padding:3px 8px;border-radius:4px;font-weight:700;color:var(--t2)}

/* Info strip for the two-path choice */
.path-switch{background:#EFF6FF;border:1px solid #BFDBFE;border-radius:10px;padding:10px 14px;margin-bottom:16px;font-size:12px;color:#1E3A8A;line-height:1.5}
.path-switch strong{color:#1E40AF}
.path-switch a{color:#1E40AF;font-weight:800;text-decoration:underline;cursor:pointer}

/* Slightly wider modal for direct-pay (since it has plans + cart) */
#modalPay .modal{max-width:720px}

/* Loading spinner for Razorpay */
.pay-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:pay-spin .7s linear infinite;margin-right:6px;vertical-align:middle}
@keyframes pay-spin{to{transform:rotate(360deg)}}

/* ════════════════════════════════════════════════════════════════ */
/* ══  v7.1: COMPREHENSIVE MOBILE OPTIMISATION (≤640px & ≤400px)  ══ */
/* ════════════════════════════════════════════════════════════════ */

/* Tablet breakpoint: mid-sized tweaks */
@media(max-width:900px){
  .site-hdr{padding:12px 24px}
  .hero{padding:48px 24px 44px}
  .transparency{padding:12px 24px;font-size:12.5px}
  .how{padding:44px 24px}
  .pricing{padding:40px 24px}
  .cat-nav{padding:12px 24px}
  .cat-wrap{padding:28px 20px}
  .trust{padding:36px 24px}
  .site-footer{padding:36px 24px 20px}
  .setup-cta{padding:52px 28px}
}

/* Phone breakpoint: full mobile layout */
@media(max-width:640px){
  /* ── BODY TYPOGRAPHY ── */
  body{font-size:15px;line-height:1.55}

  /* ── HEADER: collapse to hamburger ── */
  .site-hdr{padding:10px 16px;gap:8px}
  .logo-mark{width:40px;height:40px;font-size:16px}
  .logo-text{font-size:16px}
  .logo-sub{font-size:12px}
  .hdr-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);flex-direction:column;align-items:stretch;padding:8px 16px 16px;gap:4px;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 10px 24px rgba(0,0,0,.35);max-height:calc(100vh - 60px);overflow-y:auto}
  .hdr-nav.mobile-open{display:flex}
  .hdr-nav a{padding:12px 14px;border-radius:8px;font-size:14px;color:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.06);min-height:44px;display:flex;align-items:center}
  .hdr-nav a.hdr-cta,.hdr-nav a.hdr-pay{justify-content:center;font-size:13px!important;padding:14px!important;margin-top:4px}
  .hdr-burger{display:flex}

  /* ── HERO ── */
  .hero{padding:32px 18px 36px}
  .hero-tag{font-size:10px;padding:5px 12px;margin-bottom:14px;letter-spacing:.5px}
  .hero h1{font-size:28px;line-height:1.3;margin-bottom:12px}
  .hero-sub{font-size:14.5px;line-height:1.6;margin-bottom:22px;max-width:100%}
  .dual-cta{gap:12px;margin-bottom:18px}
  .cta-card{padding:18px 18px}
  .cta-icon{font-size:26px;margin-bottom:8px}
  .cta-title{font-size:18px}
  .cta-desc{font-size:13px;line-height:1.5;margin-bottom:14px}
  .cta-btn{padding:10px 16px;font-size:12.5px;min-height:40px}
  .hero-trust{gap:10px 14px;font-size:11.5px;margin-top:4px}

  /* ── TRANSPARENCY BANNER ── */
  .transparency{padding:12px 18px;font-size:12.5px;line-height:1.55;text-align:left}

  /* ── HOW IT WORKS ── */
  .how{padding:36px 18px}
  .how h2{font-size:26px}
  .how-sub{font-size:13.5px;margin-bottom:28px}
  .how-split{gap:14px}
  .how-col{padding:22px 18px}
  .how-col h3{font-size:19px}
  .how-col .sub{font-size:11px}
  .how-step-body h4{font-size:13.5px}
  .how-step-body p{font-size:13px;line-height:1.6}

  /* ── PRICING CARD ── */
  .pricing{padding:36px 16px}
  .pricing-inner{gap:22px}
  .pricing-left h2{font-size:26px}
  .pricing-left p{font-size:13.5px;line-height:1.65}
  .pricing-right{padding:24px 20px 22px}
  .price-num{font-size:38px}
  .price-perks li{font-size:13.5px;padding:7px 0 7px 22px}
  .price-btn{padding:14px 12px;font-size:13px;min-height:48px}
  .pricing-divider{margin:8px 0;font-size:10.5px}

  /* ── CATEGORY NAV (horizontal scroll strip) ── */
  .cat-nav{padding:10px 14px;top:56px}
  .npill{padding:8px 14px;font-size:11.5px;margin-right:6px;min-height:34px}

  /* ── CATEGORY SECTIONS ── */
  .cat-wrap{padding:24px 14px}
  .cat-sec{margin-bottom:24px;border-radius:12px;scroll-margin-top:120px}
  .cat-hdr{padding:18px 18px;gap:12px;flex-direction:column;align-items:flex-start}
  .cat-hdr-l{width:100%;gap:12px}
  .cicon{font-size:26px}
  .ctitle{font-size:17px}
  .cdesc{font-size:12.5px;line-height:1.5;margin-top:4px}
  .cbudget{text-align:left;width:100%;padding-top:8px;border-top:1px solid rgba(255,255,255,.15)}
  .clabel{font-size:9px}
  .cval{font-size:13.5px}

  /* ── VENDOR GRID / CARDS ── */
  .vgrid{padding:14px 14px 18px;gap:10px;grid-template-columns:1fr}
  .vcard{padding:13px 14px}
  .vname{font-size:14.5px}
  .v-badge{font-size:9.5px;padding:3px 9px}
  .vmeta{font-size:12px}
  .chip{font-size:11px;padding:4px 9px;min-height:24px}
  .vnote{font-size:12.5px;line-height:1.6}

  /* ── COMING SOON BLOCK (CTAs in stack) ── */
  .coming-soon{padding:22px 16px;margin:14px 14px 18px}
  .cs-title{font-size:16.5px}
  .cs-desc{font-size:13px;line-height:1.6}
  .cs-ctas{flex-direction:column;gap:8px}
  .cs-btn{width:100%;padding:12px 14px;font-size:12.5px;min-height:44px;display:flex;align-items:center;justify-content:center}

  /* ── MODALS (forms + payment) ── */
  .modal-overlay{padding:12px 8px 40px;align-items:flex-start}
  .modal{padding:26px 20px 24px;border-radius:14px;max-width:100%}
  .modal-close{width:40px;height:40px;font-size:28px;top:8px;right:8px;padding:0;display:flex;align-items:center;justify-content:center}
  .modal h2{font-size:22px;line-height:1.2;padding-right:36px}
  .modal-eyebrow{font-size:10.5px}
  .modal-sub{font-size:13px;line-height:1.55;margin-bottom:18px}

  /* CRITICAL: prevent iOS Safari zoom on input focus (needs ≥16px) */
  .form-group input,
  .form-group select,
  .form-group textarea{font-size:16px;padding:12px 12px;min-height:46px}
  .form-group textarea{min-height:96px}
  .form-group label{font-size:12.5px;margin-bottom:6px}
  .form-grid{gap:12px}
  .form-group{margin-bottom:12px}

  /* Agreement panel — legal text must be readable on phone */
  .agreement-hdr{padding:10px 12px;flex-wrap:wrap;gap:6px}
  .agreement-hdr .ag-label{font-size:11.5px;line-height:1.35}
  .agreement-hdr .ag-version{font-size:10px}
  .agreement-body{max-height:260px;padding:14px 14px;font-size:12.5px;line-height:1.65}
  .agreement-body h5{font-size:13px;margin:10px 0 5px}
  .agreement-body p{margin-bottom:7px}
  .agreement-footer{padding:9px 12px;font-size:11px;line-height:1.5}

  /* Click-wrap checkbox group — legal acceptance clarity */
  .click-wrap-checks{padding:14px 12px;gap:10px}
  .click-wrap-checks > label{font-size:12.5px;line-height:1.55;padding:4px 0;min-height:44px;align-items:center}
  .click-wrap-checks > label input{width:20px;height:20px;margin-top:0}

  .consent-box{padding:12px;font-size:12.5px}
  .consent-box label{min-height:44px;align-items:center}
  .consent-box input{width:20px;height:20px}

  .submit-btn,.pay-btn-rz{padding:15px;font-size:14px;min-height:52px}

  /* ── DIRECT-PAY MODAL (plans + cart) ── */
  #modalPay .modal{max-width:100%}
  .plans-grid{gap:12px;grid-template-columns:1fr}
  .plan-card{padding:16px 14px;min-height:auto}
  .plan-name{font-size:15px}
  .plan-price{font-size:22px}
  .plan-price sub{font-size:11px}
  .plan-term{font-size:10.5px}
  .plan-perks{font-size:12px;line-height:1.55;min-height:auto;padding-top:10px;margin-top:10px}

  .cart-summary{padding:14px 14px}
  .cart-hdr{font-size:11px}
  .cart-row{font-size:13px;padding:7px 0}
  .cart-row.item .ci-desc{font-size:11px;margin-top:3px}
  .cart-row.gst{font-size:12px}
  .cart-row.total{font-size:15px;padding-top:10px;margin-top:8px}
  .cart-row.total .cr-amt{font-size:18px}
  .cart-note{font-size:11px;line-height:1.55;margin-top:10px}

  .pay-methods{gap:6px;font-size:10.5px;margin-top:12px}
  .pay-methods .pm-tag{padding:4px 8px;font-size:10.5px}

  .path-switch{padding:11px 14px;font-size:12.5px;line-height:1.55;margin-bottom:14px}

  /* ── TRUST SECTION ── */
  .trust{padding:32px 18px}
  .trust h2{font-size:24px;margin-bottom:20px}
  .trust-grid{gap:14px}
  .trust-item{padding:18px 16px}
  .trust-item h4{font-size:15px}
  .trust-item p{font-size:13px;line-height:1.65}

  /* ── SCHOOL SETUP CTA (dark) ── */
  .setup-cta{padding:42px 18px}
  .setup-title{font-size:26px}
  .setup-sub{font-size:14px;line-height:1.6;margin-bottom:28px}
  .boards-grid{gap:12px}
  .board-card{padding:18px 16px}
  .board-name{font-size:17px}
  .board-full{font-size:11px}
  .board-help{font-size:12.5px;line-height:1.55}
  .board-meta{font-size:10.5px}
  .setup-ctas-row{flex-direction:column;gap:10px}
  .setup-btn{width:100%;padding:14px 22px;font-size:13.5px;justify-content:center;min-height:48px}
  .setup-trust-row{gap:10px 14px}
  .setup-trust-item{font-size:12px}
  .setup-legal{padding:14px 16px}
  .setup-legal-title{font-size:10px;letter-spacing:1.8px}
  .setup-legal-text{font-size:11px;line-height:1.7}

  /* ── FOOTER ── */
  .site-footer{padding:32px 18px 18px}
  .footer-grid{grid-template-columns:1fr;gap:22px}
  .footer-logo{font-size:20px}
  .footer-desc{font-size:13px;line-height:1.7}
  .fc-item{font-size:12.5px}
  .footer-col h4{font-size:16px;margin-bottom:10px}
  .footer-col a{font-size:13px;margin-bottom:8px;display:flex;align-items:center}
  .footer-bottom p{font-size:12px;line-height:1.7}

  /* ── WhatsApp float: lift above bottom nav / iOS safe area ── */
  .wa-float{bottom:18px;right:14px;padding:10px 14px;font-size:12.5px;min-height:44px}
  .wa-float svg{width:16px;height:16px}

  /* ── SUCCESS STATE ── */
  .form-success{padding:22px 14px}
  .form-success h3{font-size:18px}
  .form-success p{font-size:13px;line-height:1.65}
}

/* Small phones (iPhone SE, older Androids ≤400px) */
@media(max-width:400px){
  .hero h1{font-size:25px}
  .hero-sub{font-size:14px}
  .how h2,.trust h2{font-size:22px}
  .pricing-left h2{font-size:23px}
  .modal h2{font-size:20px}
  .price-num{font-size:34px}
  .logo-text{font-size:16px}
  .logo-sub{font-size:12px}
  .site-hdr{padding:10px 12px}
  .hero{padding:28px 14px 32px}
  .cat-wrap{padding:20px 10px}
  .cat-hdr{padding:16px 14px}
  .coming-soon{margin:12px 10px 16px;padding:20px 14px}
  .cs-btn{font-size:12px;padding:11px 10px}
}

@media(max-width:767px){
  .section-notice {
    padding: 40px 20px 10px 20px !important;
  }
  .section-notice div div {
    display: block !important;
  }
  .section-notice .section-notice-block > div:first-child {
    padding-bottom: 20px;
  }
}

@media(min-width:768px) and (max-width:991px){
  .site-hdr {
    padding: 12px 12px;
  }
  .logo-area {
    gap: 10px;
  }
  .logo-mark {
    width: 40px;
    height: 40px;
  }
  .logo-text {
    font-size: 16px;
  }
  .logo-sub {
    font-size: 12px;
  }
  .hdr-nav {
    gap: 13px;
  }
  .hdr-nav a {
    font-size: 13px;
  }
  .hdr-pay {
    font-size: 13px !important;
  }
  .hdr-cta {
    font-size: 13px !important;
  }
}
