/* Deep Public School - minimal viable theme */
:root{--navy:#1a2f5a;--navy2:#243b6b;--saffron:#f39c12;--green:#1e9e62;--bg:#f4f6fb;--card:#ffffff;--text:#243;--muted:#6b7280;--line:#e5e7eb}
*{box-sizing:border-box}body{margin:0;font-family:'Segoe UI',Arial,Helvetica,sans-serif;color:#223;background:var(--bg);line-height:1.6}
a{color:var(--navy)}img{max-width:100%}
.topbar{background:var(--navy);color:#fff;font-size:.85rem}.topbar .wrap{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;padding:6px 16px;max-width:1100px;margin:auto}
.topbar a{color:#ffe9b0;text-decoration:none}
.header{background:#fff;border-bottom:3px solid var(--saffron);position:sticky;top:0;z-index:50}
.header .wrap{max-width:1100px;margin:auto;display:flex;align-items:center;gap:14px;padding:10px 16px}
.logo{width:52px;height:52px;border-radius:12px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.3rem}
.brand h1{margin:0;font-size:1.25rem;color:var(--navy)}.brand small{color:var(--muted)}
nav.mainnav{margin-left:auto}nav.mainnav a{text-decoration:none;color:var(--navy);font-weight:600;padding:8px 10px;border-radius:8px}nav.mainnav a:hover,nav.mainnav a.active{background:#eef2ff}
#menuBtn{display:none;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;font-size:1.1rem}
.ticker{background:#fff8e6;border-bottom:1px solid #f3e2a9;overflow:hidden;white-space:nowrap}.ticker span{display:inline-block;padding:8px 0;animation:tick 25s linear infinite;font-weight:600;color:#7a5200}@keyframes tick{from{transform:translateX(100%)}to{transform:translateX(-100%)}}
.wrap{max-width:1100px;margin:auto;padding:0 16px}
.hero{position:relative;border-radius:14px;overflow:hidden;margin:16px auto;max-width:1100px;min-height:300px;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;display:flex;align-items:center}
.hero .slide{padding:48px 32px}.hero h2{margin:0 0 8px;font-size:2rem}.hero p{opacity:.9}.hero .dots{position:absolute;bottom:12px;left:32px;display:flex;gap:8px}.hero .dots button{width:12px;height:12px;border-radius:50%;border:0;background:#ffffff66;cursor:pointer}.hero .dots button.on{background:#fff}
.btn{display:inline-block;background:var(--saffron);color:#3a2500;font-weight:700;text-decoration:none;padding:10px 18px;border-radius:10px;border:0;cursor:pointer}.btn.sec{background:var(--navy);color:#fff}.btn.ghost{background:#fff;border:1px solid var(--line);color:var(--navy)}
.grid{display:grid;gap:14px}.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px}
.card h3{margin:0 0 6px;color:var(--navy)}.muted{color:var(--muted)}
.sec{padding:28px 0}.sec h2.sec-title{color:var(--navy);margin:0 0 4px}.sec p.lead{color:var(--muted);margin-top:0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{background:var(--navy);color:#fff;border-radius:12px;padding:18px;text-align:center}.stat b{font-size:1.6rem;display:block}
table.tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}table.tbl th,table.tbl td{border:1px solid var(--line);padding:10px 12px;text-align:left}table.tbl th{background:var(--navy);color:#fff}
.notice{background:#eef7ff;border:1px solid #cfe6ff;border-radius:12px;padding:14px 16px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.gallery figcaption{padding:8px 12px;font-size:.9rem}.ph{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}
footer{background:var(--navy);color:#dbe4ff;margin-top:32px}footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;padding:28px 16px}footer a{color:#ffe9b0;text-decoration:none}footer .copy{border-top:1px solid #ffffff22;text-align:center;padding:12px;font-size:.85rem;color:#aebadd}
form.frm .row{margin-bottom:12px}form.frm label{display:block;font-weight:600;margin-bottom:4px}form.frm input,form.frm textarea,form.frm select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}
.lightbox{position:fixed;inset:0;background:#000a;display:none;align-items:center;justify-content:center;z-index:99}.lightbox.open{display:flex}.lightbox img{max-width:92%;max-height:88%;border-radius:12px;background:#fff}
@media(max-width:860px){
.g4,.g3,.stats{grid-template-columns:repeat(2,1fr)}.g2{grid-template-columns:1fr}footer .wrap{grid-template-columns:1fr}
nav.mainnav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 10px 20px rgba(0,0,0,.12);padding:8px 12px}
nav.mainnav.open{display:block}
nav.mainnav a{display:block;padding:12px 10px;border-radius:8px}
nav.mainnav a.active{background:#eef2ff}
#menuBtn{display:block}
.header .wrap{position:relative}
.hero{min-height:220px}.hero .slide{padding:28px 18px}.hero h2{font-size:1.45rem}.hero p{font-size:.95rem}
.topbar .wrap{justify-content:center;text-align:center;font-size:.78rem}
.brand h1{font-size:1.05rem}
.gallery{grid-template-columns:repeat(2,1fr)}
.stats{gap:10px}.stat{padding:14px}.stat b{font-size:1.25rem}
.sec{padding:20px 0}
}
@media(max-width:520px){
.gallery{grid-template-columns:1fr}
.stats{grid-template-columns:repeat(2,1fr)}
.g4,.g3{grid-template-columns:1fr}
.hero .slide .btn{display:block;text-align:center;margin:8px 0}
.hero .slide .btn + .btn{margin-left:0}
}
/* mobile: tables scroll instead of breaking layout */
@media(max-width:600px){table.tbl{display:block;overflow-x:auto;white-space:nowrap}table.tbl th,table.tbl td{padding:8px 10px}}
td,th,.card{overflow-wrap:anywhere}
