/* Approved School and House Flags — v4.6.0 */
:root{--flag-indigo:#1D0045;--flag-deep:#140039;--flag-saffron:#F1951A;--flag-gold:#F5CD96;--flag-ivory:#FFF8EC;--flag-blue:#07336A;--flag-green:#07845E;--flag-crimson:#C22032;--flag-vyas:#F7930A}
.bjs-approved-flags{padding:clamp(88px,10vw,150px) 0;background:#fff}
.bjs-approved-flags-heading{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:clamp(38px,7vw,100px);align-items:end;margin-bottom:54px}
.bjs-approved-flags-heading h2{margin:0;color:var(--flag-indigo);font-size:clamp(2.55rem,5vw,5rem);font-weight:900;letter-spacing:-.055em;line-height:.98}
.bjs-approved-flags-heading p:last-child{max-width:760px;margin:0;color:#5B5068;font-size:1.04rem;line-height:1.85}
.bjs-approved-flag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.bjs-approved-flag-card{--flag-accent:var(--flag-indigo);position:relative;margin:0;padding:14px;border:1px solid rgba(29,0,69,.12);border-radius:24px;background:#fff;box-shadow:0 24px 65px rgba(29,0,69,.11);overflow:hidden}
.bjs-approved-flag-card.is-gargi{--flag-accent:var(--flag-blue)}.bjs-approved-flag-card.is-maitreyi{--flag-accent:var(--flag-green)}.bjs-approved-flag-card.is-vyas{--flag-accent:var(--flag-vyas)}.bjs-approved-flag-card.is-agastya{--flag-accent:var(--flag-crimson)}
.bjs-approved-flag-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--flag-accent)}
.bjs-approved-flag-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:13px;background:var(--flag-ivory)}
.bjs-approved-flag-card figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 7px 4px}
.bjs-approved-flag-card strong{color:var(--flag-indigo);font-size:.92rem;font-weight:900}.bjs-approved-flag-card span{color:#6B617C;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.bjs-approved-flags-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:38px}
.bjs-btn.bjs-btn-outline-indigo{border:1px solid rgba(29,0,69,.23);background:#fff;color:var(--flag-indigo)}.bjs-btn.bjs-btn-outline-indigo:hover{border-color:var(--flag-indigo);background:var(--flag-indigo);color:#fff}
.bjs-flag-page{background:#fff}.bjs-flag-page-hero{position:relative;padding:clamp(85px,11vw,155px) 0 82px;background:linear-gradient(135deg,var(--flag-deep),#35106A 70%,#4B1674);color:#fff;overflow:hidden}
.bjs-flag-page-hero::before{content:"";position:absolute;inset:auto -180px -270px auto;width:620px;height:620px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 85px rgba(255,255,255,.025),0 0 0 170px rgba(255,255,255,.02)}
.bjs-flag-page-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr);gap:clamp(45px,7vw,105px);align-items:center}
.bjs-flag-page-eyebrow{margin:0 0 18px;color:var(--flag-gold);font-size:.75rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.bjs-flag-page-hero h1{margin:0;color:#fff;font-size:clamp(3.4rem,6.3vw,7rem);font-weight:900;letter-spacing:-.065em;line-height:.92}.bjs-flag-page-hero h1 span{color:#FFB13B}.bjs-flag-page-lead{max-width:700px;margin:28px 0 0;color:rgba(255,255,255,.74);font-size:1.08rem;line-height:1.8}
.bjs-flag-hero-frame{display:block;padding:14px;border:1px solid rgba(245,205,150,.38);border-radius:22px;background:rgba(255,255,255,.08);box-shadow:0 30px 80px rgba(0,0,0,.28);backdrop-filter:blur(10px)}.bjs-flag-hero-frame img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;background:#fff}
.bjs-flag-principles{padding:65px 0;background:var(--flag-ivory);border-bottom:1px solid rgba(29,0,69,.1)}.bjs-flag-principles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bjs-flag-principle{padding:24px;border:1px solid rgba(29,0,69,.11);border-radius:18px;background:#fff}.bjs-flag-principle small{display:block;margin-bottom:10px;color:#8F4200;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.bjs-flag-principle h2{margin:0 0 9px;color:var(--flag-indigo);font-size:1.25rem}.bjs-flag-principle p{margin:0;color:#6B617C;line-height:1.65}
.bjs-flag-school-master{padding:clamp(88px,10vw,145px) 0;background:#fff}.bjs-flag-school-master-grid{display:grid;grid-template-columns:minmax(420px,1.12fr) minmax(0,.88fr);gap:clamp(50px,8vw,115px);align-items:center}.bjs-flag-school-master figure{margin:0;padding:15px;border:1px solid rgba(29,0,69,.12);border-radius:25px;background:#fff;box-shadow:0 28px 75px rgba(29,0,69,.14)}.bjs-flag-school-master img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:14px}.bjs-flag-school-master-copy h2{margin:0;color:var(--flag-indigo);font-size:clamp(2.6rem,4.8vw,5rem);font-weight:900;letter-spacing:-.055em;line-height:.98}.bjs-flag-school-master-copy>p:last-of-type{margin:25px 0 0;color:#5B5068;font-size:1.04rem;line-height:1.85}.bjs-flag-colour-code{display:grid;gap:10px;margin-top:29px}.bjs-flag-colour-code span{display:grid;grid-template-columns:18px 90px 1fr;gap:12px;align-items:center;padding:12px 14px;border:1px solid rgba(29,0,69,.1);border-radius:12px;background:var(--flag-ivory)}.bjs-flag-colour-code i{width:14px;height:32px;border-radius:999px}.bjs-flag-colour-code strong{color:var(--flag-indigo);font-size:.75rem;text-transform:uppercase}.bjs-flag-colour-code small{color:#6B617C}.bjs-flag-colour-code .saffron{background:var(--flag-saffron)}.bjs-flag-colour-code .ivory{background:#fff;border:1px solid #E7D8C1}.bjs-flag-colour-code .indigo{background:var(--flag-indigo)}
.bjs-flag-house-section{padding:clamp(88px,10vw,145px) 0;background:linear-gradient(180deg,#FFF8EC,#fff)}.bjs-flag-house-section .bjs-approved-flags-heading{margin-bottom:50px}.bjs-flag-usage{padding:75px 0;background:var(--flag-indigo);color:#fff}.bjs-flag-usage-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.bjs-flag-usage h2{margin:0;color:#fff;font-size:clamp(2.3rem,4vw,4.2rem);font-weight:900;letter-spacing:-.05em;line-height:1}.bjs-flag-usage-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bjs-flag-usage-list span{padding:17px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.82);font-weight:750}.bjs-flag-download{padding:95px 0;background:#fff;text-align:center}.bjs-flag-download h2{max-width:850px;margin:0 auto;color:var(--flag-indigo);font-size:clamp(2.35rem,4.5vw,4.7rem);font-weight:900;letter-spacing:-.05em;line-height:1}.bjs-flag-download p{max-width:760px;margin:24px auto 34px;color:#6B617C;line-height:1.8}.bjs-flag-download-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
@media(max-width:1050px){.bjs-approved-flags-heading,.bjs-flag-page-hero-grid,.bjs-flag-school-master-grid,.bjs-flag-usage-grid{grid-template-columns:1fr}.bjs-flag-page-hero-grid{gap:55px}.bjs-flag-hero-frame{max-width:780px}.bjs-flag-principles-grid{grid-template-columns:1fr}.bjs-flag-usage-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.bjs-approved-flag-grid{grid-template-columns:1fr}.bjs-approved-flags-heading{margin-bottom:35px}.bjs-approved-flag-card{padding:9px;border-radius:17px}.bjs-approved-flag-card figcaption{display:grid;gap:5px}.bjs-flag-page-hero{padding-top:75px}.bjs-flag-page-hero h1{font-size:clamp(3.1rem,14vw,5rem)}.bjs-flag-usage-list{grid-template-columns:1fr}.bjs-flag-school-master-grid{gap:38px}}
.bjs-flag-page .bjs-house-kicker{margin:0 0 15px;color:#8F4200;font-size:.75rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
