/* =========================================================
   Bhardwaj Model School Nihal Vihar
   Design system: "Academic Slate" - navy + brick red + gold
   ========================================================= */

:root{
  --navy-950:#0b1830;
  --navy-900:#0f2142;
  --navy-800:#152b56;
  --navy-700:#1c3a70;
  --brick:#b5342b;
  --brick-dark:#8f2620;
  --gold:#d4a94a;
  --gold-light:#f1d99a;
  --paper:#f7f5ef;
  --ink:#1c2430;
  --muted:#5c6577;
  --line:#e4e0d4;
  --radius:14px;
  --shadow-sm:0 2px 10px rgba(15,33,66,.08);
  --shadow-md:0 12px 32px rgba(15,33,66,.14);
  --shadow-lg:0 24px 60px rgba(15,33,66,.22);
  font-size:16px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Source Sans 3','Segoe UI',Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
}
h1,h2,h3,h4{
  font-family:'Merriweather','Georgia',serif;
  color:var(--navy-900);
  margin:0 0 .5em;
  line-height:1.25;
}
a{color:var(--brick);text-decoration:none;}
img{max-width:100%;display:block;}
.container{width:min(1180px,92%);margin:0 auto;}
.btn{
  display:inline-flex;align-items:center;gap:.5em;
  padding:.75em 1.6em;border-radius:999px;
  background:var(--brick);color:#fff;font-weight:600;
  border:2px solid var(--brick);cursor:pointer;
  transition:.25s;font-size:.95rem;
}
.btn:hover{background:var(--brick-dark);border-color:var(--brick-dark);transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--navy-900);border-color:var(--navy-900);}
.btn-outline:hover{background:var(--navy-900);color:#fff;}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--navy-950);}
.btn-gold:hover{background:var(--gold-light);border-color:var(--gold-light);}

.eyebrow{
  display:inline-block;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;font-size:.72rem;color:var(--brick);
  border-left:4px solid var(--gold);padding-left:.6em;margin-bottom:.6em;
}

/* ---------- Top bar ---------- */
.topbar{
  background:var(--navy-950);color:#cdd8ee;font-size:.82rem;
}
.topbar .container{display:flex;justify-content:space-between;align-items:center;padding:.45em 0;flex-wrap:wrap;gap:.4em;}
.topbar a{color:#cdd8ee;}
.topbar span{margin-right:1.4em;}
.topbar i{color:var(--gold);margin-right:.4em;}

/* ---------- Header ---------- */
header.site-header{
  background:#fff;border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:50;box-shadow:var(--shadow-sm);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.6em 0;}
.brand{display:flex;align-items:center;gap:.8em;}
.brand img{height:58px;width:auto;}
.brand-text small{display:block;color:var(--brick);font-weight:700;font-size:.72rem;letter-spacing:.08em;}

nav.main-nav ul{list-style:none;display:flex;gap:.3em;margin:0;padding:0;flex-wrap:wrap;}
nav.main-nav a{
  display:block;padding:.7em 1em;font-weight:600;color:var(--navy-900);
  border-radius:8px;font-size:.95rem;transition:.2s;
}
nav.main-nav a:hover,nav.main-nav a.active{background:var(--navy-950);color:#fff;}
.nav-toggle{display:none;background:none;border:0;font-size:1.6rem;color:var(--navy-900);cursor:pointer;}

@media(max-width:900px){
  .nav-toggle{display:block;}
  nav.main-nav{width:100%;display:none;}
  nav.main-nav.open{display:block;}
  nav.main-nav ul{flex-direction:column;border-top:1px solid var(--line);padding-top:.5em;}
  .header-inner{flex-wrap:wrap;}
}

/* ---------- Hero ---------- */
.hero{
  position:relative;background:linear-gradient(120deg,var(--navy-950) 0%,var(--navy-800) 60%,var(--brick-dark) 130%);
  color:#fff;overflow:hidden;
}
.hero .container{position:relative;z-index:2;padding:5.5em 0 6em;}
.hero h1{color:#fff;font-size:clamp(1.9rem,4vw,3.2rem);max-width:780px;}
.hero p{color:#dbe3f3;max-width:560px;font-size:1.08rem;}
.hero .hero-actions{display:flex;gap:1em;margin-top:1.6em;flex-wrap:wrap;}
.hero::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 82% 20%, rgba(212,169,74,.28), transparent 45%);
}
.hero-badge{
  position:absolute;right:6%;top:50%;transform:translateY(-50%);
  width:230px;height:230px;border-radius:50%;
  border:3px dashed rgba(212,169,74,.5);
  display:flex;align-items:center;justify-content:center;
  z-index:1;
}
@media(max-width:900px){.hero-badge{display:none;}}

/* Admin-managed banner slider (up to 3 photos) */
.hero-slider{position:relative;height:420px;overflow:hidden;padding:0;}
.hero-slide{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity 1s ease;
}
.hero-slide.active{opacity:1;}
.hero-slide-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,24,48,.15),rgba(11,24,48,.65));}
.hero-slide-caption{position:relative;z-index:2;height:100%;display:flex;align-items:flex-end;padding-bottom:2.2em;}
.hero-slide-caption h1{
  color:#fff;font-size:clamp(1.3rem,2.6vw,2rem);max-width:640px;
  margin:0;background:rgba(11,24,48,.55);display:inline-block;padding:.5em .9em;border-radius:8px;
  border-left:4px solid var(--gold);
}
.hero-dots{position:absolute;bottom:1em;right:1.4em;z-index:3;display:flex;gap:.5em;}
.hero-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;transition:.2s;}
.hero-dot.active{background:var(--gold);}
@media(max-width:700px){.hero-slider{height:300px;}}

/* ---------- Section framing ---------- */
section{padding:4.5em 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1em;margin-bottom:2.2em;flex-wrap:wrap;}
.section-head h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:0;}
.section-alt{background:#fff;}
.section-navy{background:var(--navy-950);color:#dbe3f3;}
.section-navy h2{color:#fff;}

/* ---------- Unique "ledger card" display concept ---------- */
.ledger-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.6em;
}
.ledger-card{
  position:relative;background:#fff;border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line);
  transition:.3s;
}
.ledger-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.ledger-card .thumb{aspect-ratio:4/3;overflow:hidden;position:relative;}
.ledger-card .thumb img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.ledger-card:hover .thumb img{transform:scale(1.08);}
.ledger-card .thumb .tag{
  position:absolute;left:.8em;top:.8em;background:var(--gold);color:var(--navy-950);
  font-weight:700;font-size:.72rem;padding:.3em .8em;border-radius:999px;letter-spacing:.04em;
}
.ledger-card .body{padding:1.1em 1.2em 1.3em;}
.ledger-card h3{font-size:1.05rem;margin:0 0 .35em;}
.ledger-card p{color:var(--muted);font-size:.92rem;margin:0;}
.ledger-card .meta{display:flex;align-items:center;gap:.5em;color:var(--brick);font-weight:700;font-size:.78rem;margin-bottom:.5em;text-transform:uppercase;letter-spacing:.05em;}

/* Gallery mosaic - unique display for photo grid */
.mosaic{
  display:grid;gap:.7em;
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:110px;
}
.mosaic a{grid-column:span 2;grid-row:span 2;border-radius:10px;overflow:hidden;position:relative;display:block;}
.mosaic a:nth-child(6n+1){grid-column:span 3;grid-row:span 3;}
.mosaic a:nth-child(6n+4){grid-column:span 3;grid-row:span 2;}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.mosaic a:hover img{transform:scale(1.1);}
.mosaic a::after{
  content:"\f00e";font-family:"Font Awesome 5 Free";font-weight:900;color:#fff;
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(11,24,48,0);font-size:1.4rem;opacity:0;transition:.25s;
}
.mosaic a:hover::after{background:rgba(11,24,48,.45);opacity:1;}
@media(max-width:760px){
  .mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px;}
  .mosaic a,.mosaic a:nth-child(6n+1),.mosaic a:nth-child(6n+4){grid-column:span 1;grid-row:span 1;}
}

/* Faculty - id-card concept */
.faculty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.5em;}
.id-card{
  background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
  box-shadow:var(--shadow-sm);text-align:center;position:relative;padding-bottom:1.2em;transition:.25s;
}
.id-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);}
.id-card .photo-wrap{background:var(--navy-950);padding:1.4em 1.4em .6em;}
.id-card .photo{width:96px;height:96px;border-radius:10px;overflow:hidden;margin:0 auto;border:3px solid var(--gold);}
.id-card .photo img{width:100%;height:100%;object-fit:cover;}
.id-card h3{font-size:1rem;margin:.9em 0 .2em;}
.id-card .role{color:var(--brick);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;}
.id-card .qual{color:var(--muted);font-size:.85rem;margin-top:.3em;}
.id-card::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:40px;height:8px;background:var(--gold);border-radius:0 0 6px 6px;
}

/* Facility - editorial split rows */
.facility-row{display:grid;grid-template-columns:1fr 1fr;gap:2.5em;align-items:center;margin-bottom:3.2em;}
.facility-row.reverse .facility-media{order:2;}
.facility-media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:5/4;}
.facility-media img{width:100%;height:100%;object-fit:cover;}
.facility-index{font-family:'Merriweather',serif;font-size:3.2rem;color:var(--gold);font-weight:700;line-height:1;}
@media(max-width:820px){
  .facility-row,.facility-row.reverse{grid-template-columns:1fr;}
  .facility-row.reverse .facility-media{order:0;}
}

/* Career listing - dossier style */
.dossier{background:#fff;border:1px solid var(--line);border-left:5px solid var(--brick);border-radius:10px;padding:1.4em 1.6em;margin-bottom:1.1em;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;gap:1em;flex-wrap:wrap;align-items:center;}
.dossier h3{margin:0 0 .3em;font-size:1.1rem;}
.dossier p{margin:0;color:var(--muted);font-size:.92rem;}
.dossier .deadline{font-size:.8rem;color:var(--brick);font-weight:700;text-transform:uppercase;}

/* Mandatory - document grid */
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.4em;}
.doc-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4em 1.2em;
  text-align:center;box-shadow:var(--shadow-sm);transition:.25s;
}
.doc-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);}
.doc-card .icon{
  width:56px;height:56px;border-radius:14px;background:var(--brick);color:#fff;
  display:flex;align-items:center;justify-content:center;margin:0 auto .8em;font-size:1.5rem;
}
.doc-card h4{font-size:.95rem;margin:0 0 .8em;min-height:2.6em;}

/* Event detail image strip */
.event-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.8em;margin-top:1.4em;}
.event-strip img{border-radius:10px;aspect-ratio:1/1;object-fit:cover;box-shadow:var(--shadow-sm);}

/* Stats band */
.stats-band{background:var(--navy-900);color:#fff;}
.stats-band .container{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5em;padding:2.6em 0;text-align:center;}
.stats-band strong{display:block;font-family:'Merriweather',serif;font-size:2.1rem;color:var(--gold);}
.stats-band span{font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;color:#b9c4dc;}
@media(max-width:700px){.stats-band .container{grid-template-columns:repeat(2,1fr);}}

/* Footer */
footer.site-footer{background:var(--navy-950);color:#b9c4dc;padding-top:3.5em;}
footer .container{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.2em;padding-bottom:2.5em;}
footer h4{color:#fff;font-size:1rem;margin-bottom:1em;}
footer a{color:#b9c4dc;}
footer a:hover{color:var(--gold);}
footer ul{list-style:none;padding:0;margin:0;}
footer ul li{margin-bottom:.6em;font-size:.92rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.2em 0;text-align:center;font-size:.82rem;}
@media(max-width:820px){footer .container{grid-template-columns:1fr 1fr;}}

.empty-state{text-align:center;padding:3em 1em;color:var(--muted);}
.badge-count{background:var(--gold);color:var(--navy-950);border-radius:999px;padding:.15em .7em;font-size:.75rem;font-weight:700;margin-left:.5em;}

.breadcrumb-hero{background:var(--navy-950);color:#fff;padding:3em 0;}
.breadcrumb-hero h1{color:#fff;margin-bottom:.2em;}
.breadcrumb-hero a{color:var(--gold-light);}

/* Lightbox (simple) */
.lightbox-overlay{position:fixed;inset:0;background:rgba(11,24,48,.92);display:none;align-items:center;justify-content:center;z-index:200;padding:2em;}
.lightbox-overlay.open{display:flex;}
.lightbox-overlay img{max-width:90vw;max-height:85vh;border-radius:8px;}
.lightbox-close{position:absolute;top:1.2em;right:1.6em;color:#fff;font-size:2rem;cursor:pointer;background:none;border:0;}
