/* SchoolOps school directory, enquiry desk and admin */
.vbadge{width:20px;height:20px;flex-shrink:0;vertical-align:-4px}
.vtag{position:relative;display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:13.5px;font-weight:700;color:var(--navy);background:#EEF3FF;border:1px solid #C9D6F5;border-radius:99px;padding:3px 10px 3px 6px;cursor:help;outline-offset:2px}
.vtip{position:absolute;left:0;top:calc(100% + 8px);z-index:20;width:min(280px,80vw);background:var(--deep,#0E1D52);color:#fff;font-weight:400;font-size:13.5px;line-height:1.45;border-radius:12px;padding:10px 12px;box-shadow:0 12px 30px rgba(14,29,82,.3);opacity:0;visibility:hidden;transform:translateY(-4px);transition:.18s}
.vtag:hover .vtip,.vtag:focus .vtip{opacity:1;visibility:visible;transform:none}
.page-hero .vtag{background:rgba(255,255,255,.95)}
.btn-amber{background:#F59E0B;color:#0E1D52;box-shadow:0 8px 22px rgba(245,158,11,.35)}
.btn-line-lt{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}
.btn-text{background:none;border:0;color:var(--navy);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:6px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
textarea{width:100%;font:16px var(--body);color:var(--ink);background:var(--white);border:2px solid var(--line);border-radius:10px;padding:12px 13px;resize:vertical}
textarea:focus{border-color:var(--navy);box-shadow:0 0 0 4px rgba(30,58,138,.12);outline:none}
.lbl{font-weight:700;font-size:15px}

/* directory list */
.dir{display:grid;grid-template-columns:300px minmax(0,1fr);gap:26px;align-items:start}
.dir-filters{position:sticky;top:96px;display:grid;gap:12px;padding:20px}
.flt{display:grid;gap:5px;font-size:14px;font-weight:700}
.flt select,.flt input{width:100%;font:15px var(--body);border:2px solid var(--line);border-radius:10px;padding:9px 10px;background:var(--white);color:var(--ink)}
.dir-filters .chk{display:flex;gap:8px;align-items:center;font-weight:600;font-size:14.5px}
.fbtn{display:flex;gap:10px;align-items:center}.fbtn .btn{margin-top:0;flex:1}
.dir-count{margin:0 0 12px;font-weight:700;color:var(--navy)}
.sch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.sch{display:flex;flex-direction:column;padding:0;overflow:hidden;text-decoration:none;color:inherit}
.sch-img{height:140px;background:linear-gradient(150deg,#1E3A8A,#0E1D52) center/cover;display:grid;place-items:center}
.sch-img span{font-family:Archivo,sans-serif;font-weight:800;font-size:54px;color:rgba(255,255,255,.35)}
.sch-b{padding:16px 18px 18px;display:grid;gap:6px;align-content:start}
.sch .vtag{justify-self:start}
.sch h3{margin:0;font-size:19px;line-height:1.25}
.sch-loc{margin:0;color:var(--muted,#4B5673);font-size:14.5px}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:12.5px;font-weight:700;border-radius:99px;padding:3px 10px;background:#F1F4FA;color:#3E4A66}
.tag.b{background:#EEF3FF;color:var(--navy)}.tag.lt{background:rgba(255,255,255,.14);color:#fff}
.sch-g,.sch-f{margin:0;font-size:13.5px;color:#4B5673}
.open{justify-self:start;font-size:12.5px;font-weight:700;color:#166534;background:#DCFCE7;border-radius:99px;padding:3px 10px}
.open.big{font-size:14px;padding:5px 14px}
.empty{padding:28px}.dir-note{font-size:13.5px;color:#4B5673;margin-top:18px}
.dir-cta{margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.dir-cta h3{margin:0}.dir-cta p{margin:4px 0 0}.dir-cta .btn{margin-top:0}

/* profile */
.prof-hero .lead{margin-top:10px}.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.prof-hero .btn{margin-top:0}
.prof{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:26px;align-items:start}
.prof-main{display:grid;gap:18px}
.psec h2{font-size:24px;margin:0 0 10px}.psec h3{font-size:17px;margin:16px 0 4px}
.kvs{display:grid;gap:0;margin:0}.kv{display:grid;grid-template-columns:200px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.kv dt{font-weight:700;color:#4B5673;font-size:14.5px}.kv dd{margin:0}
.fac{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.fac li{background:#F5F7FC;border-radius:10px;padding:9px 12px 9px 34px;position:relative;font-weight:600}
.fac li::before{content:"";position:absolute;left:12px;top:13px;width:12px;height:7px;border:solid #16A34A;border-width:0 0 3px 3px;transform:rotate(-45deg)}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.gal img:first-child{grid-column:span 2;grid-row:span 2}
.prof-side{position:sticky;top:96px}
.enq{padding:20px}
.etabs{display:grid;grid-template-columns:1fr 1fr;background:#F1F4FA;border-radius:12px;padding:4px;margin-bottom:16px}
.etabs button{border:0;background:none;font:700 15px var(--body);padding:10px;border-radius:9px;cursor:pointer;color:#4B5673}
.etabs button.on{background:#fff;color:var(--navy);box-shadow:0 2px 8px rgba(14,29,82,.12)}
.reply{background:#EEF8F0;border:1px solid #BBE5C6;border-radius:14px;padding:14px 16px;text-align:left;margin:12px 0}
.reply b{display:block;font-size:13px;letter-spacing:.5px;text-transform:uppercase;color:#166534;margin-bottom:4px}
.wa-btn{background:#25D366;color:#fff;box-shadow:0 8px 20px rgba(37,211,102,.35)}

/* list your school */
.lys{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:26px;align-items:start}
.lys-main{display:grid;gap:20px}
.benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.benefits h3{margin:8px 0 4px;font-size:18px}.benefits p{margin:0;font-size:15px}
.bi{width:44px;height:44px;border-radius:12px;background:#EEF3FF;display:grid;place-items:center;font-size:22px;color:var(--navy)}.bi .vbadge{width:26px;height:26px}
.steps-l{margin:10px 0 0;padding-left:22px;display:grid;gap:6px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips label{cursor:pointer}.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;color:var(--ink,#0F1B3D);background:#fff;border:2px solid var(--line);border-radius:99px;padding:6px 12px;font-size:14px;font-weight:600}
.chips input:checked+span{border-color:var(--navy);background:var(--navy);color:#fff!important}.chips input:focus-visible+span{outline:3px solid #F59E0B}

/* desk + admin */
.desk-login{max-width:460px;margin:0 auto}
.dk-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.dk-top h2{margin:0}.dk-top .btn{margin-top:0}
.dk-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:18px}
.dk-stats div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px}.dk-stats b{display:block;font-family:Archivo,sans-serif;font-size:28px;color:var(--navy)}.dk-stats span{font-size:13.5px;color:#4B5673;text-transform:capitalize}
.dk-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.eq{display:grid;gap:8px;padding:16px 18px;margin-bottom:12px}
.eq-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.eq-h b{font-size:17px}.eq-h small{color:#4B5673}
.eq .kind{font-size:12px;font-weight:700;text-transform:uppercase;border-radius:99px;padding:2px 9px;background:#EEF3FF;color:var(--navy)}.eq .kind.visit{background:#FEF3C7;color:#92400E}
.eq-r{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.eq-r select,.eq-r input{font:14.5px var(--body);border:2px solid var(--line);border-radius:9px;padding:7px 9px}.eq-r input{flex:1;min-width:160px}
.eq-r .btn{margin-top:0;padding:8px 14px;font-size:14px}
.st-new{border-left:5px solid #C8102E}.st-admitted{border-left:5px solid #16A34A}
.adm-t{width:100%;border-collapse:collapse;font-size:14.5px}.adm-t th,.adm-t td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.adm-t th{background:#F1F4FA}
.pill{font-size:12px;font-weight:700;border-radius:99px;padding:2px 9px;background:#F1F4FA}.pill.live{background:#DCFCE7;color:#166534}.pill.pending{background:#FEF3C7;color:#92400E}.pill.hidden{background:#FDE2E7;color:#9F1239}
.adm-ed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.adm-ed .full{grid-column:1/-1}
.adm-acts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.adm-acts .btn{margin-top:0}
.codebox{background:#0E1D52;color:#fff;border-radius:12px;padding:14px;font-size:15px;margin:10px 0}.codebox b{font-family:Archivo,sans-serif;font-size:24px;letter-spacing:2px;color:#FBBF24}

@media (max-width:980px){.dir,.prof,.lys,.dk-grid{grid-template-columns:1fr}.dir-filters,.prof-side{position:static}.benefits{grid-template-columns:1fr}}
@media (max-width:560px){.kv{grid-template-columns:1fr;gap:2px}.adm-ed{grid-template-columns:1fr}.gal{grid-template-columns:1fr 1fr}}
/* v7: basic listings, location pages, admin tabs */
.btag{display:inline-flex;align-items:center;margin-top:6px;font-size:12.5px;font-weight:700;color:#4B5673;background:#F1F4FA;border:1px dashed #B8C2D9;border-radius:99px;padding:3px 10px;justify-self:start}
.btag.lt{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.5)}
.sch.basic{border-style:dashed}.sch.basic .sch-b{padding-top:18px}
.pager{display:flex;justify-content:space-between;align-items:center;margin:18px 0;font-weight:600}.pager a{color:var(--navy)}
.browse{margin-top:18px}.browse h3{margin:0 0 6px}.browse p{margin:0}
.narrow{max-width:720px}
.near{columns:2;margin:0;padding-left:18px}.near li{margin:4px 0}
.loc{display:grid;gap:22px}.loc-h{margin:0;font-size:26px}
.loc-intro p{font-size:17px}.loc-text h2{font-size:24px;margin:26px 0 8px}.loc-text h2:first-child{margin-top:0}
.places{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.places li{display:flex;justify-content:space-between;gap:8px;background:#F5F7FC;border-radius:10px;padding:9px 12px}.places li span{font-weight:700;color:var(--navy)}
.faqs details{border-bottom:1px solid var(--line);padding:12px 0}.faqs summary{cursor:pointer;font-weight:700;font-size:16.5px}.faqs p{margin:8px 0 0}
.adm-tabs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:16px}.adm-tabs button{border:2px solid var(--line);background:#fff;border-radius:10px;padding:8px 14px;font:700 14.5px var(--body);cursor:pointer}
.adm-tabs button.on{background:var(--navy);border-color:var(--navy);color:#fff}.adm-tabs .btn-text{margin-left:auto;border:0}
.pill.basic{background:#EEF3FF;color:var(--navy)}.pill.removed{background:#E5E7EB;color:#374151}

/* v8: blog */
.bcats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.bcats a{border:2px solid var(--line);border-radius:99px;padding:7px 14px;font-weight:700;font-size:14.5px;text-decoration:none;color:var(--navy);background:#fff}.bcats a.on{background:var(--navy);border-color:var(--navy);color:#fff}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.bpost{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit}.bpost h3{margin:0;font-size:19px;line-height:1.3}.bpost p{margin:0;color:#4B5673;font-size:15px}
.bcat{font-family:Archivo,sans-serif;font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#C8102E}.bdate{font-size:13px;color:#6B7590;margin-top:auto}
.art-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.art-side{position:sticky;top:96px;display:grid;gap:16px}.art-side h3{margin:0 0 6px}
.art{padding:clamp(20px,4vw,40px)}.art-meta{color:#6B7590;font-size:14px;margin:0 0 14px}
.art-body{font-size:17.5px;line-height:1.7}.art-body h2{font-size:25px;margin:28px 0 8px}.art-body ul,.art-body ol{padding-left:22px}.art-body li{margin:6px 0}.art-body a{color:var(--navy);font-weight:600}
.art-note{margin-top:26px;padding:12px 16px;background:#F5F7FC;border-radius:12px;font-size:14px;color:#4B5673}
@media (max-width:980px){.art-wrap{grid-template-columns:1fr}.art-side{position:static}}

.st-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.st-tab{display:inline-flex;gap:8px;align-items:center;padding:9px 16px;border:2px solid var(--line);border-radius:999px;background:var(--white);color:var(--navy);font-weight:700;text-decoration:none;font-size:15px}
.st-tab small{font-size:12.5px;color:var(--muted,#667);font-weight:600}
.st-tab.on{background:var(--navy);border-color:var(--navy);color:#fff}.st-tab.on small{color:#cfd6f5}
.grid-note{grid-column:1/-1;background:#fff8e6;border:1px solid #f1d58a;border-radius:12px;padding:12px 16px;font-size:14.5px;line-height:1.5}
/* about page */
.ab-founder{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:56px;align-items:start}
.ab-photo{position:relative;margin:0;border-radius:22px;overflow:hidden;background:linear-gradient(160deg,var(--navy),var(--deep));aspect-ratio:4/5;box-shadow:var(--sh-2);position:sticky;top:100px}
.ab-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.ab-photo .ab-init{display:none}
.ab-photo.noimg img{display:none}.ab-photo.noimg .ab-init{display:grid;place-items:center;position:absolute;inset:0;font:800 96px var(--display);color:rgba(255,255,255,.85)}
.ab-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 22px 18px;background:linear-gradient(transparent,rgba(8,16,48,.88));color:#fff;display:grid}
.ab-photo figcaption b{font:800 21px var(--display)}.ab-photo figcaption span{color:#cdd8f5;font-size:15px}
.ab-msg h2{margin:10px 0 22px;font-size:clamp(26px,3.2vw,36px);line-height:1.2}
.ab-msg p{font-size:18px;line-height:1.7;color:var(--ink)}
.ab-sign{margin-top:26px;font:800 20px var(--display);color:var(--navy);display:grid}.ab-sign span{font:600 15px var(--body);color:var(--muted)}
.ab-tint{background:var(--tint)}
.ab-vm{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ab-vm h3{font-size:24px;line-height:1.3;margin:6px 0 12px}.ab-vm p{color:var(--muted);font-size:17px;line-height:1.6}
.ab-ic{width:52px;height:52px;border-radius:14px;background:var(--amber-soft);display:grid;place-items:center;margin-bottom:14px}
.ab-ic svg{width:26px;height:26px;fill:none;stroke:var(--amber-ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ab-ben{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.ab-ben h3{font-size:20px;margin:0 0 8px;color:var(--navy)}.ab-ben p{margin:0;color:var(--muted);line-height:1.6}
.ab-steps{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:s}
.ab-steps li{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px 18px;position:relative}
.ab-steps li span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--red);color:#fff;font:800 17px var(--display);margin-bottom:12px}
.ab-steps h3{margin:0 0 6px;font-size:19px;color:var(--navy)}.ab-steps p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.55}
.ab-note{margin-top:22px;font-size:17px;font-weight:600;color:var(--navy)}
.ab-bio{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}
.ab-bio p{font-size:17.5px;line-height:1.7}
.ab-hl{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.ab-hl li{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:12px;padding:14px 18px;font-weight:700;color:var(--navy)}
.ab-cta .card{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:linear-gradient(135deg,var(--navy),var(--deep));border:0}
.ab-cta h2{color:#fff;margin:0 0 6px;font-size:clamp(24px,3vw,32px)}.ab-cta p{color:var(--on-navy);margin:0}
.ab-btns{display:flex;gap:12px;flex-wrap:wrap}
.ab-btns .btn-ghost{background:transparent;border:2px solid #fff;color:#fff}
@media (max-width:980px){.ab-founder,.ab-bio,.ab-vm{grid-template-columns:1fr}.ab-photo{position:relative;top:0;max-width:420px}.ab-ben{grid-template-columns:1fr 1fr}.ab-steps{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.ab-ben,.ab-steps{grid-template-columns:1fr}}
.ab-tag{font:700 14px var(--display);letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:-6px 0 14px}
.ab-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.ab-stats div{background:var(--navy);color:#fff;border-radius:14px;padding:16px 18px;display:grid}
.ab-stats b{font:800 28px var(--display);color:var(--amber)}.ab-stats span{font-size:14.5px;color:var(--on-navy)}
.ab-gal{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px;margin-top:36px}
.ab-gal img{width:100%;height:240px;object-fit:cover;border-radius:16px;box-shadow:var(--sh-1)}
.ab-msg p+p{margin-top:14px}.ab-bio p+p{margin-top:12px}
@media (max-width:700px){.ab-gal{grid-template-columns:1fr}.ab-gal img{height:200px}}
