/* MGN Urban Estate II — styling that theme.json cannot express.
   Everything colour/type related comes from theme.json presets. */

/* ---------- fonts ----------
   Self-host for speed and privacy: drop the .woff2 files into assets/fonts/
   and these rules pick them up. Until then Georgia / system sans is used. */
@font-face{font-family:Newsreader;src:url(../fonts/Newsreader.woff2) format('woff2');font-weight:400 600;font-display:swap;}
@font-face{font-family:Karla;src:url(../fonts/Karla.woff2) format('woff2');font-weight:400 700;font-display:swap;}

/* ---------- header ---------- */
.mgn-header{position:sticky;top:0;z-index:60;background:rgba(250,247,241,.94);backdrop-filter:blur(10px)}
.mgn-brand{gap:13px;align-items:center}
.mgn-brand .wp-block-site-logo img{border-radius:50%;border:2px solid var(--wp--preset--color--gold)}
.mgn-tagline{color:var(--wp--preset--color--muted);letter-spacing:.05em;margin:0}
.mgn-header .wp-block-site-title a{text-decoration:none}

.mgn-nav a{padding:9px 13px;border-radius:6px;text-decoration:none;font-weight:500;font-size:.93rem}
.mgn-nav a:hover{background:var(--wp--preset--color--paper-2)}
.mgn-nav .current-menu-item a{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--paper)}

.mgn-utility a{color:inherit;text-decoration:none;opacity:.9}
.mgn-utility a:hover{opacity:1;text-decoration:underline}
.mgn-utility-links a{margin-left:18px}
@media(max-width:782px){.mgn-utility-links{display:none}}

/* ---------- hero ---------- */
.mgn-hero{position:relative;overflow:hidden}
.mgn-hero::after{content:"";position:absolute;inset:auto -12% -55% 45%;height:520px;border-radius:50%;
  background:radial-gradient(circle at 40% 40%,rgba(200,135,27,.30),transparent 62%);pointer-events:none}
.mgn-hero>*{position:relative;z-index:2}
.mgn-hero h1{max-width:15ch}
.mgn-est{letter-spacing:.14em}
.mgn-btn-ghost .wp-block-button__link{border-color:rgba(239,217,174,.55);color:var(--wp--preset--color--gold-soft);background:transparent}
.mgn-btn-ghost .wp-block-button__link:hover{background:rgba(239,217,174,.12)}

/* ---------- facts strip ---------- */
.mgn-facts .wp-block-columns{gap:1px;background:rgba(255,255,255,.16);border-top:1px solid rgba(255,255,255,.16)}
.mgn-fact{background:var(--wp--preset--color--ink);padding:24px 22px}
.mgn-fact-num{font-size:1.85rem;margin:0}
.mgn-fact p{margin:2px 0 0;opacity:.8}
@media(max-width:781px){.mgn-facts .wp-block-columns{flex-wrap:wrap!important}.mgn-fact{flex-basis:calc(50% - 1px)!important}}

/* ---------- block styles ---------- */
.is-style-mgn-card{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:10px;padding:24px;height:100%}
.is-style-mgn-card h3{margin-bottom:8px}
.is-style-mgn-card h3 a{text-decoration:none}
.is-style-mgn-panel{border-radius:10px;padding:28px;height:100%}
.is-style-mgn-panel a{color:var(--wp--preset--color--gold-soft)}
.is-style-mgn-eyebrow{font-family:var(--wp--preset--font-family--body);font-size:.88rem;font-weight:600;letter-spacing:0;margin-bottom:10px}
.is-style-mgn-ruled{list-style:none;padding:0;margin-top:22px}
.is-style-mgn-ruled li{padding:13px 0;border-bottom:1px solid var(--wp--preset--color--line)}

/* ---------- notices ---------- */
.mgn-notice-line{padding:13px 0;border-bottom:1px solid var(--wp--preset--color--line);align-items:baseline}
.mgn-notice-line h3{margin:0}
.mgn-notice-line a{text-decoration:none}
.mgn-notice-line a:hover{text-decoration:underline}
.mgn-notice-row{padding:22px 0;border-bottom:1px solid var(--wp--preset--color--line)}
.mgn-notice-row h2{margin:4px 0}

/* ---------- staff ---------- */
.mgn-staff-card{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:10px;padding:18px;text-align:left}
.mgn-staff-card h3{margin:14px 0 2px;font-size:1.05rem}

/* ---------- page head ---------- */
.mgn-page-head h1{max-width:20ch}
.mgn-page-head p{color:#D5DEE8;max-width:60ch}

/* ---------- tables ---------- */
.wp-block-table table{border-collapse:collapse;width:100%}
.wp-block-table th{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--paper);text-align:left;font-weight:600;font-size:.88rem}
.wp-block-table td,.wp-block-table th{padding:13px 15px;border-bottom:1px solid var(--wp--preset--color--line)}

/* ---------- footer ---------- */
.mgn-footer a{color:#B9C6D4;text-decoration:none}
.mgn-footer a:hover{color:var(--wp--preset--color--gold-soft)}
.mgn-footer .wp-block-site-title a{color:#fff;font-size:1.1rem}
.mgn-footer-list{list-style:none;padding:0}
.mgn-footer-list li{padding:4px 0}
.mgn-footer-rule{border-color:rgba(255,255,255,.12);margin:38px 0 20px}
.mgn-legal{opacity:.8}

/* ---------- forms ---------- */
input[type=text],input[type=email],input[type=tel],input[type=search],textarea,select{
  width:100%;padding:12px 14px;border:1px solid var(--wp--preset--color--line);border-radius:7px;
  font-family:inherit;font-size:1rem;background:#fff;color:var(--wp--preset--color--ink)}
textarea{min-height:130px}

/* ---------- accessibility floor ---------- */
:focus-visible{outline:3px solid var(--wp--preset--color--gold);outline-offset:3px}
.skip-link:focus{background:var(--wp--preset--color--ink);color:#fff;padding:12px 18px;z-index:99999}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- language switcher ---------- */
.mgn-lang-switch{display:inline-flex;gap:2px;align-items:center}
.mgn-lang-link{padding:3px 9px;border-radius:5px;text-decoration:none;opacity:.85;font-size:.85rem}
.mgn-lang-link:hover{opacity:1;background:rgba(255,255,255,.12)}
.mgn-lang-link.is-current{background:var(--wp--preset--color--gold);color:#1A1204;opacity:1;font-weight:600}

/* ---------- fee table ---------- */
.mgn-fee-table table{width:100%}
.mgn-fee-table tfoot td{background:var(--wp--preset--color--paper-2);font-size:.92rem}
.mgn-fee-table figcaption{color:var(--wp--preset--color--muted);font-size:.85rem;margin-top:10px}
@media(max-width:640px){.mgn-fee-table{overflow-x:auto}.mgn-fee-table table{min-width:520px}}

/* ---------- toppers ---------- */
.mgn-topper{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:10px;padding:26px 22px;text-align:center;height:100%}
.mgn-topper-photo img{border-radius:50%;border:3px solid var(--wp--preset--color--gold-soft);margin:0 auto}
.mgn-topper-photo{margin:0 0 16px}
.mgn-topper-score{font-family:var(--wp--preset--font-family--display);font-size:2.1rem;color:var(--wp--preset--color--gold);margin:0;line-height:1.1}
.mgn-topper h3{margin:6px 0 2px}
.mgn-topper p:last-child{margin:0}

/* ---------- toppers: auto-sorted results ---------- */
.mgn-toppers-heading{font-family:var(--wp--preset--font-family--display);font-size:1.3rem;margin:0 0 20px}

.mgn-toppers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px;margin:30px 0}
@media(max-width:520px){.mgn-toppers-grid{grid-template-columns:repeat(2,1fr);gap:14px}}

.mgn-topper{position:relative;margin:0;background:#fff;border:1px solid var(--wp--preset--color--line);
  border-radius:12px;padding:26px 20px 24px;text-align:center}
.mgn-topper img.mgn-topper-photo,.mgn-topper .mgn-topper-initial{
  width:116px;height:116px;border-radius:50%;object-fit:cover;object-position:top center;
  margin:0 auto 16px;display:block;border:3px solid var(--wp--preset--color--gold-soft);background:var(--wp--preset--color--paper-2)}
.mgn-topper-initial{display:grid!important;place-items:center;font-family:var(--wp--preset--font-family--display);
  font-size:2.4rem;color:var(--wp--preset--color--muted)}

/* The top three get progressively warmer rings; everyone else stays neutral. */
.mgn-topper-rank-1 img.mgn-topper-photo,.mgn-topper-rank-1 .mgn-topper-initial{border-color:var(--wp--preset--color--gold);border-width:4px}
.mgn-topper-rank-2 img.mgn-topper-photo,.mgn-topper-rank-2 .mgn-topper-initial{border-color:#C9CDD2}
.mgn-topper-rank-3 img.mgn-topper-photo,.mgn-topper-rank-3 .mgn-topper-initial{border-color:#C89B6B}

.mgn-rank-badge{position:absolute;top:16px;left:16px;width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;font-size:.82rem;font-weight:700;
  background:var(--wp--preset--color--paper-2);color:var(--wp--preset--color--ink)}
.mgn-topper-rank-1 .mgn-rank-badge{background:var(--wp--preset--color--gold);color:#1A1204}

.mgn-topper figcaption{display:block}
.mgn-topper-score{display:block;font-family:var(--wp--preset--font-family--display);font-size:2.2rem;
  line-height:1.05;color:var(--wp--preset--color--gold);font-variant-numeric:tabular-nums}
.mgn-topper-score .mgn-pct{font-size:1.1rem;margin-left:1px}
.mgn-topper-name{display:block;font-family:var(--wp--preset--font-family--display);font-size:1.08rem;margin-top:8px}
.mgn-topper-stream{display:block;font-size:.86rem;color:var(--wp--preset--color--muted);margin-top:3px}
.mgn-topper-note{display:block;font-size:.84rem;color:var(--wp--preset--color--sabz);margin-top:8px}

/* Table layout for the long list of distinctions. */
.mgn-toppers-list-wrap{overflow-x:auto;margin:26px 0}
.mgn-toppers-list{width:100%;border-collapse:collapse;background:#fff;font-size:.95rem}
.mgn-toppers-list th{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--paper);
  text-align:left;padding:13px 15px;font-size:.86rem;font-weight:600}
.mgn-toppers-list td{padding:11px 15px;border-bottom:1px solid var(--wp--preset--color--line);vertical-align:middle}
.mgn-rank-cell{width:60px;color:var(--wp--preset--color--muted);font-variant-numeric:tabular-nums}
.mgn-name-cell{display:flex;align-items:center;gap:12px}
img.mgn-list-photo{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top center;flex:none}
.mgn-mark-cell{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.mgn-toppers-list tr:first-child .mgn-mark-cell{color:var(--wp--preset--color--gold)}

.mgn-empty{color:var(--wp--preset--color--muted);padding:22px;border:1px dashed var(--wp--preset--color--line);border-radius:10px}

/* Punjabi pages: numerals stay Latin, names need the Gurmukhi face. */
.mgn-lang-pa .mgn-topper-name,.mgn-lang-pa .mgn-name-cell span{font-family:"Noto Serif Gurmukhi",Georgia,serif;line-height:1.6}

/* ---------- instagram feed ---------- */
.mgn-ig{margin:36px 0}
.mgn-ig-heading{margin:0 0 20px}
.mgn-ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:700px){.mgn-ig-grid{grid-template-columns:1fr;gap:16px}}

.mgn-ig-post{display:block;text-decoration:none;color:inherit;background:#fff;
  border:1px solid var(--wp--preset--color--line);border-radius:12px;overflow:hidden}
.mgn-ig-post:hover .mgn-ig-caption{text-decoration:underline}
.mgn-ig-media{position:relative;display:block;aspect-ratio:1/1;background:var(--wp--preset--color--paper-2)}
.mgn-ig-media img{width:100%;height:100%;object-fit:cover;display:block}
.mgn-ig-type{position:absolute;top:10px;right:12px;color:#fff;font-size:1rem;
  text-shadow:0 1px 4px rgba(0,0,0,.55);line-height:1}
.mgn-ig-caption{display:block;padding:14px 16px 0;font-size:.93rem;line-height:1.5}
.mgn-ig-date{display:block;padding:6px 16px 16px;font-size:.82rem;color:var(--wp--preset--color--muted)}
.mgn-ig-follow{margin-top:20px;font-size:.93rem}
.mgn-ig-follow a.wp-element-button{display:inline-block;text-decoration:none}

/* ---------- campus photo grid ---------- */
.mgn-campus-grid-wrap{padding:var(--wp--preset--spacing--50) 0}
.mgn-campus-heading{margin:0 0 24px}
.mgn-campus-grid{display:grid;grid-template-columns:repeat(var(--mgn-cols,4),1fr);gap:10px}
@media(max-width:900px){.mgn-campus-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.mgn-campus-grid{grid-template-columns:repeat(2,1fr);gap:8px}}

.mgn-campus-cell{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:8px;
  background:var(--wp--preset--color--paper-2)}
.mgn-campus-cell img.mgn-campus-img{width:100%;height:100%;object-fit:cover;display:block}
a.mgn-campus-cell::after{content:"";position:absolute;inset:0;background:rgba(18,42,68,0);transition:background .18s ease}
a.mgn-campus-cell:hover::after,a.mgn-campus-cell:focus-visible::after{background:rgba(18,42,68,.22)}
@media(prefers-reduced-motion:reduce){a.mgn-campus-cell::after{transition:none}}
.mgn-campus-caption{margin:16px 0 0;font-size:.88rem;color:var(--wp--preset--color--muted)}

/* ---------- lightbox ---------- */
.mgn-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(11,27,45,.94);
  display:flex;align-items:center;justify-content:center;padding:24px}
.mgn-lightbox[hidden]{display:none}
.mgn-lb-figure{margin:0;max-width:min(1100px,92vw);text-align:center}
.mgn-lb-figure img{max-width:100%;max-height:82vh;border-radius:6px;display:block;margin:0 auto}
.mgn-lb-figure figcaption{color:#C8D4E0;font-size:.9rem;margin-top:14px;max-width:70ch;margin-inline:auto}
.mgn-lightbox button{background:transparent;border:0;color:#fff;cursor:pointer;line-height:1;
  border-radius:8px;padding:10px 14px}
.mgn-lightbox button:hover{background:rgba(255,255,255,.14)}
.mgn-lb-close{position:absolute;top:16px;right:18px;font-size:2rem}
.mgn-lb-prev,.mgn-lb-next{font-size:2.6rem;flex:none}
@media(max-width:600px){
  .mgn-lb-prev,.mgn-lb-next{position:absolute;bottom:18px;font-size:2.2rem}
  .mgn-lb-prev{left:22%}.mgn-lb-next{right:22%}
}

/* ---------- utility bar: fees and social ---------- */
.mgn-utility .wp-block-group{align-items:center;row-gap:6px}
.mgn-utility-contact{margin:0}
.mgn-utility-actions{margin:0;display:flex;align-items:center;gap:14px}

.mgn-social{display:inline-flex;align-items:center;gap:4px}
.mgn-social-label{margin-right:8px;font-size:.88rem;opacity:.85}
.mgn-social-link{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;
  color:inherit;text-decoration:none;opacity:.82;transition:opacity .15s ease,background .15s ease}
.mgn-social-link:hover,.mgn-social-link:focus-visible{opacity:1;background:rgba(255,255,255,.14);color:inherit}
@media(prefers-reduced-motion:reduce){.mgn-social-link{transition:none}}
.mgn-social-link svg{display:block}

/* Footer social sits on the paper-coloured text, so it needs its own hover. */
.mgn-footer-social{margin:30px 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.mgn-footer-social .mgn-social-link:hover{background:rgba(239,217,174,.16);color:var(--wp--preset--color--gold-soft)}

/* Pay fees */
.mgn-pay-fees{display:inline-flex;align-items:center;gap:7px;text-decoration:none;
  background:var(--wp--preset--color--gold);color:#1A1204;padding:6px 15px;border-radius:20px;
  font-weight:600;font-size:.85rem;line-height:1.4;white-space:nowrap}
.mgn-pay-fees:hover,.mgn-pay-fees:focus-visible{background:#D9962A;color:#1A1204}
.mgn-pay-fees svg{flex:none}

@media(max-width:782px){
  .mgn-utility .wp-block-group{justify-content:center!important}
  .mgn-utility-contact{display:none}
  .mgn-utility-actions{justify-content:center;width:100%;gap:10px}
}

/* ---------- CBSE disclosure band ---------- */
.mgn-disclosure h2{margin:0 0 14px}
.mgn-disclosure p{color:#D5DEE8;max-width:58ch}
.mgn-disclosure-list{list-style:none;padding:0;margin:0 0 24px}
.mgn-disclosure-list li{padding:9px 0 9px 24px;border-bottom:1px solid rgba(255,255,255,.14);
  position:relative;color:#C8D4E0}
.mgn-disclosure-list li::before{content:"";position:absolute;left:2px;top:17px;width:7px;height:7px;
  border-radius:50%;background:var(--wp--preset--color--gold)}
.mgn-disclosure .wp-block-button__link{background:var(--wp--preset--color--gold);color:#1A1204}
.mgn-disclosure-link{text-decoration:none}
.mgn-disclosure-link:hover{text-decoration:underline}

/* ---------- utility bar text links ---------- */
.mgn-utility-link{text-decoration:none;opacity:.88;padding:5px 2px;white-space:nowrap}
.mgn-utility-link:hover,.mgn-utility-link:focus-visible{opacity:1;text-decoration:underline;color:var(--wp--preset--color--gold-soft)}
.mgn-utility-actions .mgn-utility-link + .mgn-social{margin-left:4px}

/* On narrow screens the fee button is the priority; the TC link wraps below
   rather than pushing it off the row. */
@media(max-width:560px){
  .mgn-utility-actions{flex-wrap:wrap;row-gap:8px}
  .mgn-utility-actions .mgn-utility-link{flex-basis:100%;text-align:center}
}

/* ---------- vertical about tabs ---------- */
.mgn-tabs{margin:0}
.mgn-tabs-heading{margin:0 0 28px}
.mgn-tabs-inner{display:grid;grid-template-columns:270px 1fr;gap:0;
  background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:12px;overflow:hidden}

.mgn-tablist{display:flex;flex-direction:column;background:var(--wp--preset--color--paper-2);
  border-right:1px solid var(--wp--preset--color--line)}
.mgn-tab{appearance:none;background:transparent;border:0;border-left:3px solid transparent;
  font:500 1rem/1.4 var(--wp--preset--font-family--body);color:var(--wp--preset--color--ink);
  text-align:left;padding:18px 22px;cursor:pointer;border-bottom:1px solid var(--wp--preset--color--line)}
.mgn-tab:last-child{border-bottom:0}
.mgn-tab:hover{background:rgba(200,135,27,.10)}
.mgn-tab.is-active{background:#fff;border-left-color:var(--wp--preset--color--gold);
  font-family:var(--wp--preset--font-family--display);font-size:1.12rem;font-weight:500}
.mgn-tab:focus-visible{outline:3px solid var(--wp--preset--color--gold);outline-offset:-3px}

.mgn-tabpanels{padding:34px 38px}
.mgn-tabpanel:focus-visible{outline:3px solid var(--wp--preset--color--gold);outline-offset:6px;border-radius:4px}
.mgn-tabpanel-title{font-size:1.6rem;margin:0 0 16px}
.mgn-tabpanel-media{float:right;max-width:210px;margin:0 0 20px 26px}
.mgn-tabpanel-media img{border-radius:10px;display:block;width:100%;height:auto}
.mgn-tabpanel-body p{margin:0 0 1em}
.mgn-tabpanel-body p:last-child{margin-bottom:0}
.mgn-tabpanel-more{margin:22px 0 0;font-size:.93rem;clear:both}

@media(max-width:780px){
  .mgn-tabs-inner{grid-template-columns:1fr}
  .mgn-tablist{flex-direction:row;overflow-x:auto;border-right:0;
    border-bottom:1px solid var(--wp--preset--color--line);scrollbar-width:thin}
  .mgn-tab{border-left:0;border-bottom:3px solid transparent;white-space:nowrap;padding:14px 18px;font-size:.95rem}
  .mgn-tab.is-active{border-left:0;border-bottom-color:var(--wp--preset--color--gold);font-size:1rem}
  .mgn-tabpanels{padding:26px 22px}
  .mgn-tabpanel-media{float:none;max-width:100%;margin:0 0 20px}
}

/* Punjabi tab labels need the Gurmukhi face and more room. */
.mgn-lang-pa .mgn-tab{line-height:1.8;padding:16px 20px}

/* ---------- transfer certificate lookup ---------- */
.mgn-tc-lookup{margin:0}
.mgn-tc-heading{margin:0 0 12px}
.mgn-tc-intro{color:var(--wp--preset--color--muted);font-size:.96rem;max-width:60ch}
.mgn-tc-form{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:12px;padding:26px;margin-top:20px}
.mgn-tc-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mgn-tc-form label{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px}
.mgn-tc-form p{margin:0 0 16px}
.mgn-tc-form button{cursor:pointer;border:0}
@media(max-width:620px){.mgn-tc-row{grid-template-columns:1fr;gap:0}.mgn-tc-form{padding:20px}}

.mgn-tc-result{margin-top:22px;border-radius:12px;padding:26px}
.mgn-tc-result.is-found{background:#fff;border:1px solid var(--wp--preset--color--line);border-top:4px solid var(--wp--preset--color--sabz)}
.mgn-tc-result.is-none{background:var(--wp--preset--color--paper-2);border-left:4px solid var(--wp--preset--color--gold)}
.mgn-tc-result.is-warn{background:#FDF3E0;border-left:4px solid #B32D2E}
.mgn-tc-result p{margin:0 0 .8em}
.mgn-tc-result p:last-child{margin-bottom:0}

.mgn-tc-badge{display:inline-block;background:#E3F0EB;color:var(--wp--preset--color--sabz);
  padding:5px 14px;border-radius:20px;font-size:.84rem;font-weight:600;margin-bottom:18px!important}

.mgn-tc-details{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;margin:0 0 22px;font-size:.96rem}
.mgn-tc-details dt{color:var(--wp--preset--color--muted);font-size:.88rem}
.mgn-tc-details dd{margin:0;font-weight:500}
@media(max-width:520px){.mgn-tc-details{grid-template-columns:1fr;gap:2px 0}.mgn-tc-details dd{margin-bottom:12px}}

.mgn-tc-download{display:inline-block;background:var(--wp--preset--color--gold);color:#1A1204;
  padding:12px 22px;border-radius:7px;text-decoration:none;font-weight:600;font-size:.94rem}
.mgn-tc-download:hover{background:#D9962A;color:#1A1204}
.mgn-tc-expiry{display:block;color:var(--wp--preset--color--muted);font-size:.85rem;margin-top:10px}
.mgn-tc-help{margin-top:22px;font-size:.9rem;color:var(--wp--preset--color--muted)}

/* ---------- student council ---------- */
.mgn-council{margin:0}
.mgn-council-heading{margin:0 0 18px}
.mgn-council-label{color:var(--wp--preset--color--muted);font-size:.9rem;margin:0 0 22px}

.mgn-council-sessions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.mgn-council-session{padding:7px 15px;border-radius:20px;text-decoration:none;font-size:.86rem;
  background:var(--wp--preset--color--paper-2);color:var(--wp--preset--color--ink)}
.mgn-council-session:hover{background:var(--wp--preset--color--gold-soft);color:var(--wp--preset--color--ink)}
.mgn-council-session.is-current{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--paper);font-weight:600}

.mgn-council-grid{display:grid;grid-template-columns:repeat(var(--mgn-cols,4),1fr);gap:20px}
@media(max-width:900px){.mgn-council-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.mgn-council-grid{grid-template-columns:repeat(2,1fr);gap:14px}}

.mgn-council-card{margin:0;background:#fff;border:1px solid var(--wp--preset--color--line);
  border-radius:12px;padding:24px 18px;text-align:center}
.mgn-council-card img.mgn-council-photo,.mgn-council-card .mgn-council-initial{
  width:108px;height:108px;border-radius:50%;object-fit:cover;object-position:top center;
  margin:0 auto 14px;display:block;border:3px solid var(--wp--preset--color--line);
  background:var(--wp--preset--color--paper-2)}
.mgn-council-initial{display:grid!important;place-items:center;
  font-family:var(--wp--preset--font-family--display);font-size:2.2rem;color:var(--wp--preset--color--muted)}

/* The two top appointments carry a gold ring; everyone else stays neutral. */
.mgn-role-head-boy img.mgn-council-photo,.mgn-role-head-boy .mgn-council-initial,
.mgn-role-head-girl img.mgn-council-photo,.mgn-role-head-girl .mgn-council-initial{
  border-color:var(--wp--preset--color--gold);border-width:4px}

.mgn-council-role{display:block;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--wp--preset--color--sabz);font-weight:600;margin-bottom:5px}
.mgn-role-head-boy .mgn-council-role,.mgn-role-head-girl .mgn-council-role{color:var(--wp--preset--color--gold)}
.mgn-council-name{display:block;font-family:var(--wp--preset--font-family--display);font-size:1.08rem;line-height:1.25}
.mgn-council-house{display:block;font-size:.85rem;color:var(--wp--preset--color--muted);margin-top:4px}
.mgn-council-note{display:block;font-size:.82rem;color:var(--wp--preset--color--muted);margin-top:8px}

@media(max-width:680px){
  .mgn-council-card{padding:18px 12px}
  .mgn-council-card img.mgn-council-photo,.mgn-council-card .mgn-council-initial{width:84px;height:84px}
  .mgn-council-name{font-size:.98rem}
  .mgn-council-role{font-size:.72rem}
}

/* Punjabi names need the Gurmukhi face and looser leading. */
.mgn-lang-pa .mgn-council-name{font-family:"Noto Serif Gurmukhi",Georgia,serif;line-height:1.6}

/* ---------- CBSE disclosure table ---------- */
.mgn-mpd{margin:0}
.mgn-mpd-heading{margin:0 0 20px}
.mgn-mpd-section{margin:0 0 38px}
.mgn-mpd-section h3{font-size:1.15rem;margin:0 0 14px;padding-bottom:10px;
  border-bottom:2px solid var(--wp--preset--color--gold-soft)}

.mgn-mpd-scroll{overflow-x:auto}
.mgn-mpd-table{width:100%;border-collapse:collapse;background:#fff;font-size:.95rem}
.mgn-mpd-table th{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--paper);
  text-align:left;padding:12px 15px;font-size:.85rem;font-weight:600}
.mgn-mpd-table td{padding:12px 15px;border-bottom:1px solid var(--wp--preset--color--line);vertical-align:top}
.mgn-mpd-table tr:last-child td{border-bottom:0}
.mgn-mpd-dates{color:var(--wp--preset--color--muted);font-size:.88rem;white-space:nowrap}
.mgn-mpd-link{text-align:right;white-space:nowrap}
.mgn-mpd-link a{display:inline-block;padding:6px 16px;border-radius:6px;text-decoration:none;
  background:var(--wp--preset--color--paper-2);font-size:.88rem;font-weight:600}
.mgn-mpd-link a:hover{background:var(--wp--preset--color--gold);color:#1A1204}
.mgn-mpd-expired{color:#B32D2E;font-weight:600}
.mgn-mpd-gap{color:#B32D2E;font-size:.86rem}
.mgn-mpd-missing td{background:#FDF3E0}
.mgn-mpd-note{margin-top:20px;padding:14px 18px;border-radius:8px;background:#FDF3E0;
  font-size:.9rem;color:#7A6A4C}

@media(max-width:640px){
  .mgn-mpd-table{min-width:560px}
  .mgn-mpd-section h3{font-size:1.05rem}
}

/* ---------- MPD: the Board's table format ---------- */
.mgn-mpd-full .mgn-mpd-section{margin-bottom:42px}
.mgn-mpd-full .mgn-mpd-table th{vertical-align:bottom}
.mgn-mpd-n{width:64px;color:var(--wp--preset--color--muted);text-align:center;font-variant-numeric:tabular-nums}
.mgn-mpd-table td:nth-child(2){font-weight:500}
.mgn-mpd-dash{color:var(--wp--preset--color--muted)}
.mgn-mpd-link .mgn-mpd-dates{display:block;font-size:.8rem;margin-top:4px;white-space:nowrap}

/* Zebra striping — these tables are long and an eye loses its row. */
.mgn-mpd-full .mgn-mpd-table tbody tr:nth-child(odd){background:var(--wp--preset--color--paper)}
.mgn-mpd-full .mgn-mpd-table tbody tr:hover{background:var(--wp--preset--color--paper-2)}

/* Print: an inspecting officer often wants this on paper. */
@media print{
  .mgn-header,.mgn-utility,.mgn-footer,.mgn-gallery-strip,.mgn-mpd-note{display:none!important}
  .mgn-mpd-table{font-size:10pt;page-break-inside:auto}
  .mgn-mpd-table tr{page-break-inside:avoid}
  .mgn-mpd-section{page-break-inside:avoid}
  .mgn-mpd-link a::after{content:" (" attr(href) ")";font-size:8pt;word-break:break-all}
  body{background:#fff}
}

/* ---------- house system ---------- */
.mgn-council-group{margin:0 0 46px}
.mgn-council-group:last-child{margin-bottom:0}
.mgn-council-group-title{font-size:1.25rem;margin:0 0 6px;display:flex;align-items:center;gap:11px}
.mgn-house-title{color:var(--mgn-house,var(--wp--preset--color--ink))}
.mgn-house-dot{width:14px;height:14px;border-radius:50%;background:var(--mgn-house,var(--wp--preset--color--ink));flex:none}
.mgn-house-motto{margin:0 0 18px;font-size:.9rem;color:var(--wp--preset--color--muted);font-style:italic}
.mgn-council-group .mgn-council-grid{margin-top:16px}

/* House tint on the photograph ring and the role label. */
.mgn-council-card.has-house img.mgn-council-photo,
.mgn-council-card.has-house .mgn-council-initial{border-color:var(--mgn-house,var(--wp--preset--color--line))}
.mgn-house-group .mgn-council-card{border-top:3px solid var(--mgn-house,var(--wp--preset--color--line))}
.mgn-house-group .mgn-council-role{color:var(--mgn-house,var(--wp--preset--color--sabz))}
.mgn-council-house{display:inline-block;padding:2px 10px;border-radius:12px;margin-top:6px;
  background:var(--wp--preset--color--paper-2);font-size:.78rem;color:var(--wp--preset--color--muted)}

/* Head Boy and Head Girl keep the gold ring even inside a house block. */
.mgn-role-head-boy.has-house img.mgn-council-photo,.mgn-role-head-boy.has-house .mgn-council-initial,
.mgn-role-head-girl.has-house img.mgn-council-photo,.mgn-role-head-girl.has-house .mgn-council-initial{
  border-color:var(--wp--preset--color--gold)}

/* ---------- house mentors ---------- */
.mgn-mentors{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 22px}
.mgn-mentor{display:flex;align-items:center;gap:13px;background:#fff;
  border:1px solid var(--wp--preset--color--line);border-left:4px solid var(--mgn-house,var(--wp--preset--color--gold));
  border-radius:10px;padding:12px 18px 12px 14px;flex:1 1 260px;min-width:0}
.mgn-mentor img.mgn-mentor-photo,.mgn-mentor .mgn-mentor-initial{
  width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:top center;flex:none;
  background:var(--wp--preset--color--paper-2)}
.mgn-mentor-initial{display:grid;place-items:center;font-family:var(--wp--preset--font-family--display);
  font-size:1.35rem;color:var(--wp--preset--color--muted)}
.mgn-mentor-text{min-width:0}
.mgn-mentor-role{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--mgn-house,var(--wp--preset--color--sabz));font-weight:600}
.mgn-mentor-name{display:block;font-family:var(--wp--preset--font-family--display);font-size:1.02rem;
  line-height:1.25;margin-top:2px;overflow-wrap:anywhere}
.mgn-mentor-dept{display:block;font-size:.82rem;color:var(--wp--preset--color--muted);margin-top:2px}
.mgn-mentor-empty{margin-bottom:20px;font-size:.9rem}

@media(max-width:560px){
  .mgn-mentor{flex:1 1 100%;padding:11px 14px}
  .mgn-mentor img.mgn-mentor-photo,.mgn-mentor .mgn-mentor-initial{width:44px;height:44px}
}

.mgn-lang-pa .mgn-mentor-name{font-family:"Noto Serif Gurmukhi",Georgia,serif;line-height:1.6}

/* Disclosure call to action — matches the button styling without needing a
   button block, since the destination comes from settings. */
.mgn-disclosure-cta{margin:0}
.mgn-disclosure-button{display:inline-block;background:var(--wp--preset--color--gold);color:#1A1204;
  padding:13px 24px;border-radius:7px;text-decoration:none;font-weight:600;font-size:.96rem}
.mgn-disclosure-button:hover,.mgn-disclosure-button:focus-visible{background:#D9962A;color:#1A1204}

/* ---------- mobile navigation overlay ----------
   The header is sticky with a translucent background, and that was sizing the
   open menu instead of letting it cover the screen. These rules take the
   overlay out of the header's flow entirely. */
.wp-block-navigation__responsive-container.is-menu-open{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  padding:26px 22px 40px;
  background:var(--wp--preset--color--ink);
  color:var(--wp--preset--color--paper);
  overflow-y:auto;
  z-index:9999;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  backdrop-filter:none;
}

/* The inner wrappers inherit widths from the header; reset them. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
  width:100%;
  max-width:none;
  align-items:stretch;
  justify-content:flex-start;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
  display:flex;
  flex-direction:column;
  gap:0;
  margin-top:26px;
}

/* Full-width rows, generous tap targets. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
  width:100%;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child{border-bottom:0}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .mgn-nav a{
  display:block;
  width:100%;
  padding:17px 4px;
  font-family:var(--wp--preset--font-family--display);
  font-size:1.3rem;
  color:var(--wp--preset--color--paper);
  text-decoration:none;
  border-radius:0;
  background:transparent;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible{
  color:var(--wp--preset--color--gold-soft);
  background:transparent;
}
.wp-block-navigation__responsive-container.is-menu-open .current-menu-item .wp-block-navigation-item__content{
  color:var(--wp--preset--color--gold);
}

/* Close button: top right, large enough to hit with a thumb. */
.wp-block-navigation__responsive-container-close{
  position:absolute;
  top:18px;
  right:18px;
  color:var(--wp--preset--color--paper);
  padding:10px;
}
.wp-block-navigation__responsive-container-close svg{width:28px;height:28px;fill:currentColor}

/* Submenus open inline rather than as a floating card. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
  position:static;
  width:100%;
  border:0;
  background:transparent;
  padding-left:16px;
  opacity:1;
  visibility:visible;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  font-size:1.05rem;
  font-family:var(--wp--preset--font-family--body);
  color:#C8D4E0;
  padding:13px 4px;
}

/* Stop the page scrolling behind the open menu. */
body.has-modal-open{overflow:hidden}

/* The hamburger itself, against the paper header. */
.wp-block-navigation__responsive-container-open{color:var(--wp--preset--color--ink);padding:8px}
.wp-block-navigation__responsive-container-open svg{width:26px;height:26px;fill:currentColor}

/* ---------- top-level items only in the mobile menu ----------
   The Page List block lists every page, so child pages appear as submenu rows
   and the menu turns into a wall of links on a phone. Top-level items are the
   ones people navigate by; the children are reachable from the page itself. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
  display:none !important;
}

/* The parent row keeps its own link and loses the arrow that opened nothing. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon{
  display:none !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu{
  width:100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content{
  display:block;
  width:100%;
}

/* ---------- campus tour video ---------- */
.mgn-tour-btn{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:7px;
  font:600 .95rem var(--wp--preset--font-family--body);cursor:pointer;text-decoration:none;
  border:1.5px solid transparent}
.mgn-tour-btn.is-ghost{background:transparent;border-color:rgba(239,217,174,.55);color:var(--wp--preset--color--gold-soft)}
.mgn-tour-btn.is-ghost:hover{background:rgba(239,217,174,.12);color:var(--wp--preset--color--gold-soft)}
.mgn-tour-btn.is-gold{background:var(--wp--preset--color--gold);color:#1A1204}
.mgn-tour-btn.is-gold:hover{background:#D9962A}
.mgn-tour-play{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;
  background:rgba(239,217,174,.22);flex:none}
.mgn-tour-btn.is-gold .mgn-tour-play{background:rgba(26,18,4,.14)}
.mgn-tour-btn:focus-visible{outline:3px solid var(--wp--preset--color--gold);outline-offset:3px}

.mgn-tour-card{display:block;position:relative;width:100%;max-width:760px;padding:0;border:0;cursor:pointer;
  border-radius:12px;overflow:hidden;background:var(--wp--preset--color--paper-2);line-height:0}
.mgn-tour-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.mgn-tour-card-play{position:absolute;inset:0;margin:auto;width:74px;height:74px;border-radius:50%;
  display:grid;place-items:center;background:rgba(18,42,68,.82);color:#fff;transition:background .18s ease}
.mgn-tour-card:hover .mgn-tour-card-play{background:var(--wp--preset--color--gold);color:#1A1204}
.mgn-tour-card-label{position:absolute;left:0;right:0;bottom:0;padding:26px 18px 14px;color:#fff;
  font:600 .95rem/1.4 var(--wp--preset--font-family--body);text-align:left;
  background:linear-gradient(transparent,rgba(11,27,45,.78))}
@media(prefers-reduced-motion:reduce){.mgn-tour-card-play{transition:none}}

.mgn-video-modal{position:fixed;inset:0;z-index:9999;background:rgba(11,27,45,.94);
  display:flex;align-items:center;justify-content:center;padding:24px}
.mgn-video-modal[hidden]{display:none}
.mgn-video-frame{width:min(1100px,94vw);aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden}
.mgn-video-frame iframe{width:100%;height:100%;display:block;border:0}
.mgn-video-close{position:absolute;top:16px;right:18px;background:transparent;border:0;color:#fff;
  font-size:2.2rem;line-height:1;cursor:pointer;padding:6px 14px;border-radius:8px}
.mgn-video-close:hover{background:rgba(255,255,255,.14)}
.mgn-video-close:focus-visible{outline:3px solid var(--wp--preset--color--gold);outline-offset:3px}

/* Both hero buttons on one row. */
.mgn-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 0}
@media(max-width:600px){
  .mgn-hero-actions{gap:10px}
  .mgn-hero-actions .mgn-tour-btn{flex:1 1 100%;justify-content:center}
}
