/* ===================================================================
   Inner academic pages — New Ravindra Public Sr. Sec. School
   Loaded in addition to style.css
   =================================================================== */

/* ---------- Sub hero / page banner ---------- */
.subhero{position:relative;color:#fff;padding:56px 0 66px;overflow:hidden;isolation:isolate}
.subhero__bg{position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(700px 400px at 88% -20%,rgba(56,189,248,.35),transparent 60%),
    radial-gradient(600px 400px at 5% 120%,rgba(47,107,255,.4),transparent 60%),
    linear-gradient(135deg,var(--navy-900),var(--navy) 55%,#123a86);}
.subhero__bg::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:44px 44px;mask-image:radial-gradient(circle at 70% 20%,#000,transparent 75%);-webkit-mask-image:radial-gradient(circle at 70% 20%,#000,transparent 75%);}
.subhero .pill{margin-bottom:1rem}
.subhero h1{font-size:clamp(1.9rem,4.4vw,3rem);color:#fff;font-weight:800;letter-spacing:-.5px;max-width:22ch}
.subhero__lead{margin-top:1rem;color:#d5e2ff;font-size:1.08rem;max-width:52ch}
.subhero__meta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.subhero__meta span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#eaf1ff;font-size:.85rem;font-weight:600;padding:.45rem .9rem;border-radius:999px}

/* ---------- Breadcrumb ---------- */
.breadcrumb{background:var(--bg-tint);border-bottom:1px solid var(--line)}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding:.8rem 0;font-size:.85rem;color:var(--muted)}
.breadcrumb a{color:var(--blue);font-weight:600}
.breadcrumb li+li::before{content:"›";margin-right:.4rem;color:var(--muted)}
.breadcrumb li[aria-current]{color:var(--navy);font-weight:600}

/* ---------- Page layout ---------- */
.pagewrap{padding:66px 0}
.pagegrid{display:grid;grid-template-columns:1fr 340px;gap:3rem;align-items:start}

/* ---------- Prose ---------- */
.prose>*+*{margin-top:1.1rem}
.prose h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-top:2.4rem}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.25rem;margin-top:1.8rem;color:var(--navy)}
.prose p{color:#3f4d6b;font-size:1.02rem}
.prose strong{color:var(--navy)}
.prose a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.prose ul{list-style:none;display:grid;gap:.7rem;margin-top:1rem}
.prose ul li{position:relative;padding-left:1.9rem;color:#3f4d6b}
.prose ul li::before{content:"✓";position:absolute;left:0;top:0;width:1.3rem;height:1.3rem;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-size:.72rem;font-weight:700;border-radius:6px;display:grid;place-items:center}
.lead{font-size:1.12rem !important;color:#31456e !important}

/* ---------- Intro media ---------- */
.intro-media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);margin:1.6rem 0}
.intro-media img{width:100%;height:320px;object-fit:cover}

/* ---------- Subject cards ---------- */
.subjects{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.4rem}
.subj{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.3rem;transition:transform .3s var(--ease),box-shadow .3s}
.subj:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.subj__ic{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;display:grid;place-items:center;font-size:1.25rem;margin-bottom:.8rem}
.subj h4{font-size:1.05rem;color:var(--navy)}
.subj p{color:var(--muted);font-size:.9rem;margin-top:.3rem}

/* stream highlight cards */
.streamcards{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1.4rem}
.streamcard{border-radius:var(--radius);padding:1.7rem;color:#fff;position:relative;overflow:hidden}
.streamcard--sci{background:linear-gradient(150deg,#0d3378,#1f57c4)}
.streamcard--art{background:linear-gradient(150deg,#7a3cf0,#b5179e)}
.streamcard h3{color:#fff;font-size:1.35rem}
.streamcard p{color:rgba(255,255,255,.88);font-size:.94rem;margin-top:.5rem}
.streamcard .tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.streamcard .tags span{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);font-size:.78rem;font-weight:600;padding:.3rem .7rem;border-radius:999px}
.streamcard .btn{margin-top:1.2rem}

/* ---------- Highlight boxes ---------- */
.callout{background:linear-gradient(135deg,var(--bg-tint),#fff);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--radius-sm);padding:1.3rem 1.5rem;margin-top:1.6rem}
.callout h4{color:var(--navy);font-size:1.05rem}
.callout p{color:var(--muted);font-size:.95rem;margin-top:.3rem}

/* ---------- Areas served (local SEO) ---------- */
.areas{margin-top:2.4rem}
.areas__chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.areas__chips a{background:#fff;border:1px solid var(--line);color:var(--navy);font-size:.88rem;font-weight:600;padding:.5rem .95rem;border-radius:999px;transition:.25s;text-decoration:none}
.areas__chips a:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:translateY(-2px)}

/* ---------- FAQ ---------- */
.faq{margin-top:1.4rem;display:grid;gap:.8rem}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.2rem 1.2rem;transition:box-shadow .3s}
.faq details[open]{box-shadow:var(--shadow)}
.faq summary{list-style:none;cursor:pointer;font-family:'Poppins';font-weight:600;color:var(--navy);padding:1rem 0;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--blue);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted);padding:0 0 1.1rem;font-size:.96rem}

/* ---------- Sidebar ---------- */
.sidebar{position:sticky;top:96px;display:grid;gap:1.2rem}
.sidecard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}
.sidecard--cta{background:linear-gradient(150deg,var(--navy-900),var(--navy));color:#fff;border:0}
.sidecard--cta h3{color:#fff;font-size:1.25rem}
.sidecard--cta p{color:#d5e2ff;font-size:.92rem;margin:.5rem 0 1.1rem}
.sidecard--cta .btn{width:100%;margin-bottom:.6rem}
.sidecard h3{font-size:1.15rem;color:var(--navy);margin-bottom:.9rem}
.sidelinks{display:grid;gap:.3rem}
.sidelinks a{display:flex;align-items:center;gap:.6rem;padding:.65rem .7rem;border-radius:10px;font-size:.92rem;font-weight:500;color:var(--ink);transition:.2s}
.sidelinks a:hover,.sidelinks a.active{background:var(--bg-tint);color:var(--blue)}
.sidelinks a span{font-size:1.05rem}
.sidecontact{display:grid;gap:.8rem}
.sidecontact a{display:flex;align-items:center;gap:.7rem;font-weight:600;color:var(--navy);font-size:.95rem}
.sidecontact svg{width:20px;height:20px;flex:0 0 auto}
.sidecontact .ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:#fff;flex:0 0 auto}
.sidecontact .ic--wa{background:#25d366}
.sidecontact .ic--call{background:var(--blue)}
.sidecontact .ic svg{fill:#fff}

/* ---------- CTA band ---------- */
.ctaband{background:linear-gradient(135deg,var(--navy-900),var(--navy) 55%,#12408f);color:#fff;padding:64px 0;text-align:center;position:relative;overflow:hidden}
.ctaband::before{content:"";position:absolute;right:-120px;top:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(255,201,60,.22),transparent 70%)}
.ctaband h2{color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);position:relative}
.ctaband p{color:#d5e2ff;max-width:44ch;margin:.9rem auto 1.6rem;position:relative}
.ctaband__btns{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;position:relative}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .pagegrid{grid-template-columns:1fr}
  .sidebar{position:static;grid-template-columns:1fr 1fr}
  .streamcards{grid-template-columns:1fr}
}
@media (max-width:640px){
  .subjects{grid-template-columns:1fr}
  .sidebar{grid-template-columns:1fr}
  .pagewrap{padding:44px 0}
  .intro-media img{height:230px}
}
