/* PWS – Academics stage pages (Kindergarten → Senior Secondary) */
.stage .section.alt{background:#fff}
.st-banner{background-size:cover;background-position:center;text-align:left}
.st-banner .container{max-width:var(--container);position:relative}
.st-banner h1{max-width:760px}
.st-banner p{margin-left:0;max-width:640px}
.st-banner .crumb{justify-content:flex-start}
.st-chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0}
.st-chips li{padding:8px 16px;border:1px solid rgba(255,255,255,.35);border-radius:var(--pill);font:600 13.5px/1.2 var(--sans);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(4px)}
.st-chips li:first-child{background:var(--gold);border-color:var(--gold);color:var(--ink)}

/* overview */
.st-intro-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,6vw,90px);align-items:center}
.st-intro-in>*{min-width:0}
.st-intro .h2{margin-bottom:22px}
.st-intro .h2 em,.st-feat h2 em,.st-beyond .h2 em,.st-all h2 em{font-style:normal;color:var(--primary)}
.lead-p{font-size:17.5px}
.st-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px 0 0}
.st-facts div{background:#fff;border:1px solid var(--line);border-top:3px solid var(--primary);border-radius:var(--radius);padding:14px 16px}
.st-facts dt{font:600 12px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.st-facts dd{margin:6px 0 0;font:600 15.5px/1.35 var(--serif);color:var(--ink)}
.st-photos{position:relative;padding:0 0 70px 0}
.st-photos .st-ph1{aspect-ratio:4/3;box-shadow:var(--shadow)}
.st-photos .st-ph2{position:absolute;width:46%;right:-4%;bottom:0;aspect-ratio:4/3;border:6px solid #fff;box-shadow:var(--shadow)}

/* highlights */
.st-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.st-card{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 26px;transition:transform .25s,box-shadow .25s,border-color .25s}
.st-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--primary-line)}
.st-ic{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--primary-soft);color:var(--primary);margin-bottom:18px}
.st-ic svg{width:28px;height:28px}
.st-card h3{font-size:20px;margin-bottom:8px}
.st-card p{margin:0;font-size:15.5px;line-height:1.65}

/* beyond */
.st-beyond-in{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(36px,6vw,90px);align-items:center}
.st-beyond-in>*{min-width:0}
.st-ph3{aspect-ratio:4/3;box-shadow:var(--shadow)}
.st-beyond .h2{margin-bottom:24px}
.st-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* all stages */
.st-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.st-step{position:relative;display:flex;flex-direction:column;gap:4px;padding:22px 20px 20px;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-lg);transition:transform .2s,border-color .2s,background .2s}
.st-step:hover{transform:translateY(-3px);border-color:var(--primary)}
.st-step .st-num{font:700 13px/1 var(--sans);color:var(--primary);letter-spacing:.1em}
.st-step b{font:600 18px/1.25 var(--serif);color:var(--ink);margin-top:8px}
.st-step small{color:var(--muted);font-size:13.5px}
.st-step.on{background:var(--primary);border-color:var(--primary)}
.st-step.on .st-num,.st-step.on b,.st-step.on small{color:#fff}

@media (max-width:1100px){.st-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){
  .st-intro-in,.st-beyond-in{grid-template-columns:minmax(0,1fr)}
  .st-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .st-photos{padding-bottom:56px}.st-photos .st-ph2{right:0}
}
@media (max-width:600px){
  .st-grid,.st-steps{grid-template-columns:minmax(0,1fr)}
  .st-facts{grid-template-columns:minmax(0,1fr)}
  .st-step{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:4px 12px;padding:16px 18px}
  .st-step b{margin-top:0}
  .st-btns .btn{width:100%}
}

/* ---------- Kindergarten: a little extra colour and fun ---------- */
.stage-kg{--kg1:#f2b631;--kg2:#e8566b;--kg3:#3aa5d8;--kg4:#5bbf73;--kg5:#9a6ad6}
.kg-doodle{position:absolute;color:var(--kg1);opacity:.9;animation:kgfloat 6s ease-in-out infinite}
.kg-doodle svg{width:100%;height:100%}
.kg-doodle.d1{width:46px;height:46px;right:8%;top:-10px}
.kg-doodle.d2{width:64px;height:64px;right:18%;bottom:-24px;color:#fff;opacity:.5;animation-delay:-2s}
.kg-doodle.d3{width:34px;height:34px;right:3%;bottom:30px;color:#ffb3c0;animation-delay:-4s}
@keyframes kgfloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(8deg)}}
.stage-kg .st-chips li:first-child{background:var(--kg1);border-color:var(--kg1)}
.stage-kg .st-photos .st-ph1{border-radius:40px 120px 40px 40px}
.stage-kg .st-photos .st-ph2{border-radius:30px 30px 90px 30px;transform:rotate(3deg)}
.stage-kg .kg-blob{position:absolute;z-index:-1;width:62%;aspect-ratio:1;left:-12%;top:-10%;border-radius:42% 58% 63% 37%/45% 41% 59% 55%;background:radial-gradient(circle at 30% 30%,#fde7b0,#fbd7de)}
.stage-kg .st-photos{isolation:isolate}
.stage-kg .st-facts div{border-top-color:var(--kg1)}
.stage-kg .st-facts div:nth-child(2){border-top-color:var(--kg3)}
.stage-kg .st-facts div:nth-child(3){border-top-color:var(--kg4)}
.stage-kg .st-card{background:#fff;border-width:2px;border-style:dashed}
.stage-kg .st-card.c0 .st-ic{background:#fff3d6;color:#c48a00}.stage-kg .st-card.c0{border-color:#f7dc94}
.stage-kg .st-card.c1 .st-ic{background:#fde4e8;color:var(--kg2)}.stage-kg .st-card.c1{border-color:#f6b8c2}
.stage-kg .st-card.c2 .st-ic{background:#e2f2fb;color:var(--kg3)}.stage-kg .st-card.c2{border-color:#b6dcf0}
.stage-kg .st-card.c3 .st-ic{background:#e5f5e9;color:#3f9a57}.stage-kg .st-card.c3{border-color:#b8e2c3}
.stage-kg .st-card.c4 .st-ic{background:#f0e8fb;color:var(--kg5)}.stage-kg .st-card.c4{border-color:#d6c4f1}
.stage-kg .st-card.c5 .st-ic{background:#fff3d6;color:var(--kg2)}.stage-kg .st-card.c5{border-color:#f7dc94}
.stage-kg .st-card .st-ic{border-radius:50%}
.stage-kg .st-feat{background:#fffaf0 radial-gradient(circle,#f6e3b5 1.5px,transparent 1.6px) 0 0/26px 26px}
.stage-kg .st-ph3{border-radius:120px 40px 40px 40px}
@media (prefers-reduced-motion:reduce){.kg-doodle{animation:none}}
@media (max-width:600px){.kg-doodle.d2{display:none}}
.stage .checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.stage .checks li{position:relative;padding-left:38px;color:var(--ink);font-weight:500;line-height:1.5}
.stage .checks li::before{content:"";position:absolute;left:0;top:-1px;width:26px;height:26px;border-radius:50%;background:var(--primary-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5' fill='none' stroke='%23960b27' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.stage-kg .checks li:nth-child(5n+1)::before{background-color:#fff3d6}.stage-kg .checks li:nth-child(5n+2)::before{background-color:#fde4e8}.stage-kg .checks li:nth-child(5n+3)::before{background-color:#e2f2fb}.stage-kg .checks li:nth-child(5n+4)::before{background-color:#e5f5e9}

/* ---------- v2: subjects, streams, assessment timeline ---------- */
.st-subj{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:1000px}
.st-subj li{padding:11px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--pill);font:600 15px/1.3 var(--sans);color:var(--ink);box-shadow:0 8px 20px -16px rgba(60,10,20,.35)}
.st-subj li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--primary);margin-right:10px;vertical-align:middle;transform:translateY(-1px)}
.stage-kg .st-subj li:nth-child(6n+1)::before{background:#f2b631}.stage-kg .st-subj li:nth-child(6n+2)::before{background:#e8566b}.stage-kg .st-subj li:nth-child(6n+3)::before{background:#3aa5d8}.stage-kg .st-subj li:nth-child(6n+4)::before{background:#5bbf73}.stage-kg .st-subj li:nth-child(6n+5)::before{background:#9a6ad6}
.st-note{max-width:760px;margin:26px auto 0;text-align:center;color:var(--muted);font-size:15px}
.st-grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.st-grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
.st-stream h3{font-size:24px}
.st-stream .st-core{color:var(--ink);font-weight:600;margin-bottom:10px!important}
.st-assess{background:var(--cream)}
.st-time{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;counter-reset:t;position:relative}
.st-time::before{content:"";position:absolute;left:4%;right:4%;top:22px;height:2px;background:repeating-linear-gradient(90deg,var(--primary-line) 0 10px,transparent 10px 18px)}
.st-time li{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:56px 20px 22px;counter-increment:t}
.st-time li::before{content:counter(t);position:absolute;top:6px;left:20px;width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font:700 14px/1 var(--sans);box-shadow:0 0 0 6px var(--cream)}
.st-time span{display:block;font:700 12px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:6px}
.st-time b{display:block;font:600 18px/1.3 var(--serif);color:var(--ink);margin-bottom:6px}
.st-time p{margin:0;font-size:14.5px;line-height:1.6}
.stage-kg .st-time li::before{background:#f2b631;color:var(--ink)}
.stage-kg .st-time li:nth-child(2)::before{background:#e8566b;color:#fff}.stage-kg .st-time li:nth-child(3)::before{background:#3aa5d8;color:#fff}.stage-kg .st-time li:nth-child(4)::before{background:#5bbf73;color:#fff}.stage-kg .st-time li:nth-child(5)::before{background:#9a6ad6;color:#fff}

/* ---------- content pages (Academics, Boarding, About, Sports) ---------- */
.cp .sec-head .lead{color:var(--text)}
.st-intro-in.flip>:first-child{order:2}
.cp .checks{margin-top:24px}
.cp-stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.cp-stage{display:flex;flex-direction:column;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.cp-stage:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--primary-line)}
.cp-stage .img-slot{border-radius:0;aspect-ratio:4/3}
.cp-stage-tx{padding:18px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.cp-stage-tx small{font:700 12px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}
.cp-stage-tx b{font:600 19px/1.25 var(--serif);color:var(--ink)}
.cp-stage-tx p{margin:0;font-size:14px;line-height:1.55;flex:1}
.cp-stage-tx .link-arrow{margin-top:8px;font-weight:600;color:var(--primary);display:inline-flex;align-items:center;gap:8px;font-size:14.5px}
.cp-stage-tx .ic{width:16px;height:16px}
.cp-subj-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:18px}
.cp-subj-group{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px}
.cp-subj-group h3{font-size:18px;margin-bottom:14px}
.cp-subj-group .st-subj{justify-content:flex-start;gap:8px}
.cp-subj-group .st-subj li{padding:7px 13px;font-size:13.5px;box-shadow:none;background:var(--cream)}
.cp-months{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cp-month{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--radius);padding:16px 18px}
.cp-month b{display:block;font:600 17px/1.2 var(--serif);color:var(--primary);margin-bottom:6px}
.cp-month p{margin:0;font-size:14.5px;line-height:1.55}
.cp-motto{background:linear-gradient(120deg,var(--primary-deep),var(--primary));color:#fff;padding:clamp(56px,7vw,90px) 0;text-align:center}
.cp-motto blockquote{margin:0;font:600 clamp(32px,5vw,58px)/1.15 var(--serif);color:#fff}
.cp-motto-sub{margin:16px 0 0;color:rgba(255,255,255,.82);font-size:17px}
.cp-motto .eyebrow{justify-content:center}
@media (max-width:1100px){.cp-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.st-time{grid-template-columns:repeat(3,minmax(0,1fr))}.st-time::before{display:none}.cp-months{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.st-intro-in.flip>:first-child{order:0}.st-grid3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.cp-stage-grid,.cp-months{grid-template-columns:repeat(2,minmax(0,1fr))}.st-time{grid-template-columns:minmax(0,1fr)}.st-grid2{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.cp-stage-grid,.cp-months{grid-template-columns:minmax(0,1fr)}}
