/*
 Theme Name:   The School Chronicles
 Theme URI:    https://schoolchronicle.com
 Description:  GeneratePress child theme for The School Chronicles. Requires The School Chronicles Core plugin. Styled to Brand Guidelines v1.0 (2026).
 Author:       The School Chronicles
 Template:     generatepress
 Version:      2.16.0
 Text Domain:  school-chronicle
*/

/* =====================================================================
 * Brand tokens (Brand Guidelines v1.0)
 * Paper 60% · Ink 30% · Chronicle Red 10%. One family: Archivo 400/600/800.
 * Square corners, 2px ink rules, flush left, black-and-white photography.
 * ===================================================================== */
:root {
	--paper: #F3F2F2;
	--ink: #201E1D;
	--red: #EC3013;
	--red-500: #FF563C;
	--deep: #AE1800;
	--blush: #FFE0D9;
	--red-100: #FFF2EF;
	--surface: #EAE9E9;
	--graphite: #605D5D;
	--n300: #D7D3D3;
	--n400: #BAB6B6;
	--n800: #444141;
	--pass: #2E7D4F;
	--caution: #C98A1A;
	--info: #2D62A8;
	--rule: 2px solid var(--ink);
	--hair: 1px solid var(--n300);
	--font: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;

	/* Older names used by templates and scripts */
	--sc-ink: var(--ink);
	--sc-muted: var(--graphite);
	--sc-line: var(--n300);
	--sc-soft: var(--surface);
	--sc-accent: var(--deep);
	--sc-radius: 0;
}

/* ---------- Base ---------- */
body { background: var(--paper); color: var(--ink); font-family: var(--font); font-size: 16px; line-height: 1.6; }
h1, h2, h3, h4, .entry-title, .main-title { font-family: var(--font); font-weight: 800; color: var(--ink); letter-spacing: -0.01em; line-height: 1.15; }
h1 { font-size: clamp(2rem, 4.2vw, 2.5rem); }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.1rem; }
a { color: var(--deep); text-underline-offset: 2px; }
a:hover, a:focus { color: var(--ink); }
:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
button, input, select, textarea { font-family: var(--font); }
input[type="search"], input[type="text"], input[type="email"], select, textarea { border-radius: 0; }
::selection { background: var(--blush); color: var(--ink); }
[hidden] { display: none !important; }
.sc-ico { width: 1.05em; height: 1.05em; flex: none; vertical-align: -0.15em; stroke-width: 2; }
.sc-num { font-variant-numeric: tabular-nums; }

/* Black-and-white photography, never tinted */
.sc-phero-bg, .sc-photo img, .sc-fcard-img img, .sc-thumb img, .sc-kp-img img, .sc-alum-ph img, .sc-lightbox img { filter: grayscale(1); }

/* Section labels (from the core palette) */
.sc-label { display: inline-block; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.25rem 0.5rem; line-height: 1.2; }
.sc-label.is-news { background: var(--red); color: var(--paper); }
.sc-label.is-reviews { background: var(--ink); color: var(--paper); }
.sc-label.is-articles { background: var(--blush); color: var(--deep); }
.sc-label.is-directory { border: 1px solid var(--ink); color: var(--ink); }
.sc-eyebrow { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--deep); margin: 0 0 0.6rem; }

/* ---------- GeneratePress frame ---------- */
.site-header { background: var(--paper); border-bottom: var(--rule); }
.inside-header { padding-top: 18px; padding-bottom: 18px; }
.site-logo img { width: 156px; height: auto; display: block; }
.main-navigation, .main-navigation ul ul { background: var(--paper); }
.main-navigation .main-nav ul li a { color: var(--ink); font-weight: 600; font-size: 0.95rem; }
.main-navigation .main-nav ul li:hover > a, .main-navigation .main-nav ul li:focus > a, .main-navigation .main-nav ul li.sfHover > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a { color: var(--ink); background: transparent; box-shadow: inset 0 -2px 0 var(--red); }
.main-navigation ul ul { border: var(--rule); box-shadow: none; }
.main-navigation .main-nav ul ul li a { font-size: 0.9rem; }
.main-navigation .main-nav ul ul li:hover > a { background: var(--surface); box-shadow: none; }
.menu-toggle, .menu-toggle:hover, .menu-toggle:focus { background: transparent; color: var(--ink); }
.sc-menu-cta { display: flex; align-items: center; padding-left: 0.75rem; }
.sc-menu-cta a { background: var(--red); color: var(--paper) !important; font-weight: 800; font-size: 0.9rem; padding: 0.55rem 0.9rem; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.sc-menu-cta a:hover, .sc-menu-cta a:focus { background: var(--deep); color: var(--paper) !important; }
@media (max-width: 768px) {
	.site-logo img { width: 146px; }
	.sc-menu-cta a { font-size: 0.8rem; padding: 0.45rem 0.65rem; }
}

.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .one-container .container,
.separate-containers .paging-navigation, .inside-page-header { background: transparent; }
.separate-containers .inside-article { padding: 0; }
.site-content { padding-top: 32px; }
.sidebar .widget { background: transparent; padding: 1rem 0 1.5rem; border-top: var(--rule); margin-bottom: 1.25rem; border-radius: 0; }
.sidebar .widget .widget-title { font-size: 1.05rem; font-weight: 800; margin-bottom: 0.8rem; display: flex; align-items: center; gap: 0.45rem; }
.entry-title { margin-bottom: 0.5rem; }
body.page:not(.home) .entry-content { max-width: 70ch; }
body.page:not(.home) .entry-content h2 { margin-top: 2rem; padding-top: 0.75rem; border-top: var(--rule); }

/* Footer */
.sc-sitefoot { background: var(--ink); color: var(--n400); }
.sc-sitefoot-in { max-width: 1200px; margin: 0 auto; padding: 3rem 20px 2.5rem; display: grid; grid-template-columns: 1.7fr repeat(5, minmax(0, 1fr)); gap: 1.75rem; }
.sc-sitefoot-logo { display: inline-block; }
.sc-sitefoot-logo img { width: 190px; height: auto; display: block; }
.sc-sitefoot-tag { color: var(--paper); font-weight: 800; font-size: 1.25rem; line-height: 1.2; margin: 1.1rem 0 0.4rem; }
.sc-sitefoot-brand p { font-size: 0.9rem; line-height: 1.6; margin: 0.5rem 0 0; }
.sc-sitefoot-mail { display: flex; gap: 0.45rem; align-items: center; color: var(--paper); }
.sc-sitefoot-cta { margin-top: 1rem !important; }
.sc-sitefoot-cta a { display: inline-flex; gap: 0.45rem; align-items: center; background: var(--red); color: var(--paper); text-decoration: none; font-weight: 800; padding: 0.6rem 1rem; }
.sc-sitefoot-cta a:hover { background: var(--deep); color: var(--paper); }
.sc-sitefoot-col h2 { color: var(--red-500); font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; margin: 0.3rem 0 0.9rem; }
.sc-sitefoot-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.sc-sitefoot-col a { color: var(--n300); text-decoration: none; font-size: 0.9rem; }
.sc-sitefoot-col a:hover { color: var(--paper); text-decoration: underline; }
.sc-sitefoot-col span { font-size: 0.9rem; color: var(--graphite); }
.sc-sitefoot-col em { font-style: normal; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; border: 1px solid var(--n800); padding: 0.05rem 0.35rem; margin-left: 0.25rem; }
.site-footer, .site-info { background: var(--ink); color: var(--n400); }
.site-info { border-top: 1px solid var(--n800); }
.site-info .inside-site-info { padding-top: 16px; padding-bottom: 16px; }
.site-info .copyright-bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem; font-size: 0.82rem; width: 100%; }
.site-info a { color: var(--paper); }
.sc-foot-note { opacity: 0.85; }
@media (max-width: 1000px) { .sc-sitefoot-in { grid-template-columns: repeat(3, minmax(0, 1fr)); } .sc-sitefoot-brand { grid-column: 1 / -1; } }
@media (max-width: 560px) { .sc-sitefoot-in { grid-template-columns: 1fr 1fr; padding: 2.25rem 16px 1.75rem; } }

/* ---------- Shared bits ---------- */
.c1, .c2, .c3, .c4, .c5, .c6 { --c: var(--ink); }
.sc-mono { display: inline-grid; place-items: center; width: 3.5rem; height: 3.5rem; flex: none; background: var(--surface); color: var(--ink); font-weight: 800; font-size: 1.2rem; letter-spacing: 0.01em; }
.sc-row-name .sc-mono { width: 2.25rem; height: 2.25rem; font-size: 0.8rem; }
.sc-na { color: var(--graphite); font-style: normal; }
.sc-source { font-size: 0.82rem; color: var(--graphite); margin: 0.75rem 0 0; }
.sc-email { font-weight: 800; color: var(--ink); user-select: all; }
.sc-note { background: var(--surface); border-left: 4px solid var(--ink); padding: 0.8rem 1rem; font-size: 0.9rem; margin: 1.5rem 0; }
.sc-note-sm { font-size: 0.86rem; }
.sc-empty { display: flex; gap: 0.6rem; align-items: flex-start; background: var(--surface); border: 1px dashed var(--n400); padding: 0.85rem 1rem; }
.sc-empty .sc-ico { margin-top: 0.25rem; }
.sc-empty p { margin: 0; }
.sc-muted-note { color: var(--graphite); font-size: 0.88rem; margin: 0.75rem 0 0; }

/* Board badges: section-label styles, no new colours */
.sc-board { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.3rem 0.5rem; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1; text-decoration: none; border: 1px solid transparent; }
.sc-board b { font-weight: 800; }
.sc-board .sc-ico { width: 0.95em; height: 0.95em; }
.sc-board.is-sm { font-size: 0.65rem; padding: 0.2rem 0.35rem; }
.sc-board.is-lg { font-size: 0.8rem; padding: 0.35rem 0.6rem; }
.b-cbse { background: var(--ink); color: var(--paper); }
.b-ib { background: var(--red); color: var(--paper); }
.b-cam { background: var(--blush); color: var(--deep); }
.b-icse { border-color: var(--ink); color: var(--ink); background: transparent; }
.b-state, .b-other { background: var(--surface); color: var(--ink); }
a.sc-board:hover { text-decoration: underline; }
.b-cbse:hover, .b-ib:hover { color: var(--paper); }
.sc-badges { display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center; }
.sc-row-badges { display: flex; gap: 0.3rem; align-items: center; flex-wrap: wrap; }

/* Chips */
.sc-chips { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0.5rem 0 1.5rem; padding: 0; list-style: none; }
.sc-chips a { display: inline-flex; gap: 0.35rem; align-items: center; padding: 0.35rem 0.7rem; border: 1px solid var(--n400); background: transparent; color: var(--ink); text-decoration: none; font-size: 0.88rem; font-weight: 600; }
.sc-chips a:hover { border-color: var(--ink); background: var(--surface); color: var(--ink); }
.sc-chips .sc-count { color: var(--graphite); font-weight: 400; font-variant-numeric: tabular-nums; }
.sc-chips-lg a { padding: 0.45rem 0.8rem; }
.sc-chip { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.3rem 0.6rem; border: 1px solid var(--n400); font-size: 0.82rem; font-weight: 600; color: var(--ink); text-decoration: none; }
.sc-chip.is-rank { background: var(--red); border-color: var(--red); color: var(--paper); font-weight: 800; }

/* Buttons */
.sc-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.sc-act, .sc-cmp-btn, button.sc-act, button.sc-cmp-btn { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.55rem 0.85rem; border: 1px solid var(--ink); background: var(--paper); color: var(--ink); font-weight: 600; font-size: 0.88rem; line-height: 1.2; text-decoration: none; cursor: pointer; border-radius: 0; }
.sc-act:hover, .sc-act:focus-visible, .sc-cmp-btn:hover, .sc-cmp-btn:focus-visible { background: var(--surface); color: var(--ink); border-color: var(--ink); }
.sc-act.is-primary { background: var(--red); border-color: var(--red); color: var(--paper); font-weight: 800; }
.sc-act.is-primary:hover { background: var(--deep); border-color: var(--deep); color: var(--paper); }
.sc-cmp-btn[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.sc-cmp-btn.is-compact { padding: 0.35rem 0.6rem; font-size: 0.8rem; }
.sc-cmp-btn.is-full { animation: sc-shake 0.3s; }
@keyframes sc-shake { 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } }
@media (prefers-reduced-motion: reduce) { .sc-cmp-btn.is-full { animation: none; } }
.sc-btn { display: inline-flex; gap: 0.45rem; align-items: center; background: var(--ink); color: var(--paper); font-weight: 800; padding: 0.7rem 1.1rem; text-decoration: none; }
.sc-btn:hover { background: var(--n800); color: var(--paper); }

/* Tables */
.sc-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.sc-table { width: 100%; border-collapse: collapse; font-size: 0.93rem; margin: 0; border-top: var(--rule); }
.sc-table th, .sc-table td { border-bottom: var(--hair); padding: 0.6rem 0.6rem; text-align: left; vertical-align: middle; }
.sc-table th { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink); white-space: nowrap; background: transparent; }
.sc-table td.sc-num, .sc-table th.sc-num { text-align: right; white-space: nowrap; }
.sc-table tbody tr:hover { background: var(--surface); }
.sc-sortable th { cursor: pointer; user-select: none; }
.sc-sortable th::after { content: " \2195"; color: var(--n400); font-size: 0.85em; }
.sc-sortable th[aria-sort="ascending"]::after { content: " \2191"; color: var(--red); }
.sc-sortable th[aria-sort="descending"]::after { content: " \2193"; color: var(--red); }
.sc-sortable th.sc-nosort::after { content: none; }
.sc-sortable th.sc-nosort { cursor: default; }
.sc-dl { display: grid; grid-template-columns: minmax(140px, 220px) 1fr; gap: 0.4rem 1rem; margin: 0; }
.sc-dl dt { color: var(--graphite); }
.sc-dl dd { margin: 0; }

/* Thumbnails */
.sc-thumb { display: block; overflow: hidden; aspect-ratio: 1; background: var(--surface); }
.sc-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sc-thumb.is-mono { display: grid; place-items: center; }
.sc-thumb.is-mono .sc-mono { width: 100%; height: 100%; background: transparent; font-size: 1rem; }

/* Social icons: Lucide line icons in ink, square */
.sc-socs { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.sc-soc { display: inline-grid; place-items: center; width: 2.2rem; height: 2.2rem; border: 1px solid var(--ink); color: var(--ink); text-decoration: none; }
.sc-soc:hover { background: var(--ink); color: var(--paper); }
.sc-soc span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* =====================================================================
 * Home
 * ===================================================================== */
.sc-home { display: grid; gap: 2.75rem; padding-bottom: 3rem; }
.sc-home > *, .sc-home-block { min-width: 0; }
.sc-home h2 { font-size: 1.5rem; margin: 0; }
.sc-home-block { border-top: var(--rule); padding-top: 1rem; }
.sc-block-head { display: flex; justify-content: space-between; align-items: baseline; gap: 0.4rem 1rem; margin-bottom: 1rem; flex-wrap: wrap; }
.sc-block-head a { font-size: 0.9rem; font-weight: 600; }
.sc-block-sub { margin: 0; color: var(--graphite); font-size: 0.92rem; flex-basis: 100%; }
.sc-block-foot { margin: 0.75rem 0 0; color: var(--graphite); font-size: 0.85rem; }

/* Hero: ink block, paper type, red as the one accent */
.sc-hero { background: var(--ink); color: var(--paper); padding: clamp(1.5rem, 4vw, 3rem); display: grid; gap: 1.75rem; position: relative; }
.sc-hero .sc-eyebrow { color: var(--red-500); }
.sc-hero h1 { color: var(--paper); font-size: clamp(2.1rem, 5.2vw, 4rem); font-weight: 800; line-height: 1.04; letter-spacing: -0.02em; max-width: 18ch; margin: 0; }
.sc-hero h1 em { font-style: normal; color: var(--red-500); }
.sc-lede { color: var(--n300); max-width: 60ch; margin: 0.9rem 0 0; font-size: 1.05rem; }
.sc-finder { background: var(--paper); color: var(--ink); padding: 1rem; display: grid; gap: 0.75rem; }
.sc-finder-main { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 0.6rem; align-items: end; }
.sc-finder-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0.6rem; align-items: end; }
.sc-finder-main label, .sc-finder-row label { display: grid; gap: 0.3rem; font-size: 0.72rem; font-weight: 800; color: var(--ink); text-transform: uppercase; letter-spacing: 0.08em; }
.sc-finder-main label b { display: inline-grid; place-items: center; width: 1.2rem; height: 1.2rem; background: var(--ink); color: var(--paper); font-size: 0.68rem; margin-right: 0.3rem; }
.sc-finder select, .sc-finder input { width: 100%; min-width: 0; padding: 0.75rem 0.7rem; border: 1px solid var(--n400); background: var(--surface); color: var(--ink); font-size: 1rem; text-transform: none; letter-spacing: 0; font-weight: 400; }
.sc-finder select:focus, .sc-finder input:focus { border-color: var(--ink); outline: 2px solid var(--ink); outline-offset: -2px; }
.sc-finder select:disabled { opacity: 0.55; }
.sc-finder-main button { display: inline-flex; gap: 0.45rem; align-items: center; justify-content: center; background: var(--red); color: var(--paper); padding: 0.8rem 1.3rem; font-weight: 800; font-size: 1rem; white-space: nowrap; border-radius: 0; }
.sc-finder-main button:hover, .sc-finder-main button:focus-visible { background: var(--deep); color: var(--paper); }
.sc-finder-more summary { cursor: pointer; display: inline-flex; gap: 0.4rem; align-items: center; font-weight: 600; font-size: 0.88rem; color: var(--deep); list-style: none; }
.sc-finder-more summary::-webkit-details-marker { display: none; }
.sc-finder-more[open] summary { margin-bottom: 0.7rem; }
.sc-finder-name { grid-column: span 2; }
.sc-stats { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 1.1rem 0 0; border-top: 1px solid var(--n800); }
.sc-stats li { padding-right: 1rem; }
.sc-stats li + li { border-left: 1px solid var(--n800); padding-left: 1rem; }
.sc-stats strong { display: block; font-size: 1.9rem; font-weight: 800; line-height: 1.1; color: var(--paper); font-variant-numeric: tabular-nums; }
.sc-stats span { font-size: 0.8rem; color: var(--n400); }
@media (max-width: 760px) {
	.sc-finder-main { grid-template-columns: 1fr; }
	.sc-finder-name { grid-column: auto; }
	.sc-stats { grid-template-columns: 1fr 1fr; row-gap: 1rem; }
	.sc-stats li:nth-child(3) { border-left: 0; padding-left: 0; }
}

/* Tiles shared by cities, stages, brands, boards */
.sc-city-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-left: var(--hair); border-top: var(--hair); }
.sc-city { display: grid; gap: 0.1rem; padding: 1rem; border-right: var(--hair); border-bottom: var(--hair); text-decoration: none; color: var(--ink); background: transparent; }
.sc-city .sc-ico { font-size: 1.4rem; margin-bottom: 0.5rem; }
.sc-city strong { font-size: 1.05rem; font-weight: 800; }
.sc-city span { font-size: 0.82rem; color: var(--graphite); }
.sc-city:hover { background: var(--surface); color: var(--ink); box-shadow: inset 0 -3px 0 var(--red); }
.sc-city.is-soon { pointer-events: none; color: var(--graphite); }
.sc-city.is-soon strong { color: var(--graphite); font-weight: 600; }
@media (max-width: 900px) { .sc-city-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 480px) { .sc-city-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.sc-stage-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-left: var(--hair); border-top: var(--hair); }
.sc-stage { display: grid; gap: 0.1rem; padding: 1.1rem 1rem; text-decoration: none; color: var(--ink); border-right: var(--hair); border-bottom: var(--hair); }
.sc-stage .sc-ico { font-size: 1.5rem; margin-bottom: 0.6rem; }
.sc-stage strong { font-size: 1.05rem; font-weight: 800; line-height: 1.2; }
.sc-stage small { color: var(--graphite); font-size: 0.82rem; }
.sc-stage-n { margin-top: 0.6rem; font-weight: 800; font-size: 0.85rem; color: var(--deep); }
.sc-stage:hover { background: var(--surface); color: var(--ink); box-shadow: inset 0 -3px 0 var(--red); }
@media (max-width: 900px) { .sc-stage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.sc-home-two { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; }
.sc-home-two > * { min-width: 0; }
@media (max-width: 800px) { .sc-home-two { grid-template-columns: 1fr; } }
.sc-fee-bands { display: grid; border-top: var(--hair); }
.sc-band { display: grid; grid-template-columns: 9.5rem 1fr 3rem; gap: 0.9rem; align-items: center; padding: 0.7rem 0.2rem; border-bottom: var(--hair); text-decoration: none; color: var(--ink); }
.sc-band:hover { background: var(--surface); color: var(--ink); }
.sc-band-label { font-weight: 600; font-size: 0.93rem; }
.sc-band-bar { height: 10px; background: var(--surface); overflow: hidden; display: block; }
.sc-band-bar i { display: block; height: 100%; width: var(--w); background: var(--ink); }
.sc-band:hover .sc-band-bar i { background: var(--red); }
.sc-band-n { text-align: right; font-weight: 800; font-variant-numeric: tabular-nums; }
@media (max-width: 480px) { .sc-band { grid-template-columns: 7.5rem 1fr 2.5rem; gap: 0.5rem; } .sc-band-label { font-size: 0.85rem; } }

.sc-brand-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0; border-left: var(--hair); border-top: var(--hair); }
.sc-brand { display: flex; gap: 0.75rem; align-items: center; padding: 0.8rem; text-decoration: none; color: var(--ink); border-right: var(--hair); border-bottom: var(--hair); }
.sc-brand:hover { background: var(--surface); color: var(--ink); }
.sc-brand-mark { flex: none; display: grid; place-items: center; width: 2.8rem; height: 2.8rem; background: var(--ink); color: var(--paper); font-weight: 800; font-size: 0.8rem; letter-spacing: 0.02em; }
.sc-brand strong { display: block; line-height: 1.25; font-weight: 800; }
.sc-brand small { color: var(--graphite); font-size: 0.82rem; }

.sc-board-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-left: var(--hair); border-top: var(--hair); }
.sc-board-tile { display: flex; gap: 0.75rem; align-items: center; padding: 0.9rem 1rem; text-decoration: none; color: var(--ink); border-right: var(--hair); border-bottom: var(--hair); font-weight: 600; font-size: 0.93rem; line-height: 1.3; }
.sc-board-tile small { display: block; color: var(--graphite); font-weight: 400; }
.sc-board-tile:hover { background: var(--surface); color: var(--ink); }
.sc-board-tile.is-soon { pointer-events: none; color: var(--graphite); }
.sc-board-tile.is-soon .sc-board { opacity: 0.5; }
@media (max-width: 900px) { .sc-board-row { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .sc-board-row { grid-template-columns: 1fr; } }

/* Featured carousel */
.sc-car-nav { display: flex; gap: 0.35rem; }
.sc-car-nav button { width: 2.4rem; height: 2.4rem; background: var(--paper); color: var(--ink); border: 1px solid var(--ink); display: grid; place-items: center; padding: 0; border-radius: 0; }
.sc-car-nav button:hover { background: var(--ink); color: var(--paper); }
.sc-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 290px); gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 0 12px; scrollbar-width: thin; max-width: 100%; }
.sc-fcard { scroll-snap-align: start; display: flex; flex-direction: column; border-top: var(--rule); }
.sc-fcard-img { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 10; background: var(--surface); overflow: hidden; text-decoration: none; }
.sc-fcard-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.sc-fcard:hover .sc-fcard-img img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) { .sc-fcard-img img { transition: none; } }
.sc-fcard-img .sc-mono { width: 4rem; height: 4rem; font-size: 1.4rem; background: var(--paper); }
.sc-fcard-rank { position: absolute; left: 0; top: 0; display: inline-flex; gap: 0.3rem; align-items: center; background: var(--red); color: var(--paper); font-weight: 800; font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.3rem 0.55rem; }
.sc-fcard-body { padding: 0.8rem 0 0; display: grid; gap: 0.35rem; }
.sc-fcard-body h3 { font-size: 1.05rem; margin: 0; line-height: 1.25; }
.sc-fcard-body h3 a { color: var(--ink); text-decoration: none; }
.sc-fcard-body h3 a:hover { text-decoration: underline; }
.sc-fcard-meta { margin: 0; color: var(--graphite); font-size: 0.85rem; }
.sc-fcard-fee { margin: 0; font-size: 0.93rem; }
.sc-fcard-fee b { font-weight: 800; }

/* Guide, promo, CTA, news */
.sc-guide-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem 2rem; counter-reset: g; }
.sc-guide-grid li { border-top: 1px solid var(--ink); padding-top: 0.8rem; counter-increment: g; }
.sc-guide-grid .sc-ico { font-size: 1.4rem; }
.sc-guide-grid h3 { font-size: 1.05rem; margin: 0.5rem 0 0.3rem; }
.sc-guide-grid h3::before { content: "0" counter(g) " "; color: var(--red); }
.sc-guide-grid p { margin: 0; color: var(--graphite); font-size: 0.92rem; }
@media (max-width: 860px) { .sc-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) { .sc-guide-grid { grid-template-columns: 1fr; } }

.sc-home-block.sc-promo { display: grid; grid-template-columns: 1.3fr 1fr; gap: 2rem; align-items: center; padding: 2rem; border-top: 0; background: var(--red); color: var(--paper); }
.sc-promo h2 { color: var(--paper); margin: 0.3rem 0 0.6rem; font-size: 1.75rem; }
.sc-promo p { margin: 0 0 1.1rem; color: var(--paper); font-weight: 600; }
.sc-promo .sc-eyebrow { color: var(--paper); margin: 0; }
.sc-promo-steps { list-style: none; margin: 0; padding: 0; display: grid; border-top: 1px solid rgba(243, 242, 242, 0.45); }
.sc-promo-steps li { display: flex; gap: 0.8rem; align-items: center; padding: 0.75rem 0; border-bottom: 1px solid rgba(243, 242, 242, 0.45); font-weight: 800; }
.sc-promo-steps b { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; background: var(--ink); color: var(--paper); flex: none; }
@media (max-width: 760px) { .sc-home-block.sc-promo { grid-template-columns: 1fr; padding: 1.25rem; } }

.sc-home-block.sc-cta { display: flex; gap: 1rem; align-items: center; padding: 1.4rem 1.5rem; border-top: 0; background: var(--blush); border-left: 4px solid var(--red); }
.sc-cta > .sc-ico { font-size: 2rem; flex: none; }
.sc-cta h2 { margin-bottom: 0.25rem; }
.sc-cta p { margin: 0; }
.sc-news { list-style: none; margin: 0; padding: 0; }
.sc-news li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.7rem 0; border-bottom: var(--hair); }
.sc-news a { color: var(--ink); font-weight: 600; text-decoration: none; }
.sc-news a:hover { text-decoration: underline; }
.sc-news span { color: var(--graphite); font-size: 0.85rem; white-space: nowrap; }
.sc-searches .sc-ico { color: var(--graphite); }
@media (max-width: 768px) { .sc-home { padding-left: 16px; padding-right: 16px; } }

/* =====================================================================
 * Listing pages
 * ===================================================================== */
.sc-list-head { border-bottom: var(--rule); padding-bottom: 1rem; margin-bottom: 1.25rem; }
.sc-list-head .entry-title { margin-bottom: 0.4rem; }
.sc-area-intro { color: var(--graphite); margin: 0; }
.sc-chipbar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; margin: 0 0 1.25rem; }
.sc-chipbar-label { font-size: 0.72rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.sc-chipbar .sc-chips { margin: 0; }
.sc-toolbar { display: grid; gap: 0.7rem; padding: 1rem; background: var(--surface); margin-bottom: 1rem; }
.sc-search { display: flex; align-items: center; gap: 0.5rem; background: var(--paper); border: 1px solid var(--n400); padding: 0 0.7rem; max-width: 480px; }
.sc-search input { border: 0; background: transparent; padding: 0.65rem 0; width: 100%; min-width: 0; font-size: 1rem; }
.sc-search input:focus { outline: none; }
.sc-search:focus-within { border-color: var(--ink); }
.sc-filters { display: flex; flex-wrap: wrap; gap: 0.5rem 0.9rem; align-items: center; }
.sc-filters select { padding: 0.5rem 0.6rem; border: 1px solid var(--n400); background: var(--paper); font-size: 0.9rem; color: var(--ink); }
.sc-toggle { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.9rem; cursor: pointer; }
.sc-toggle input { accent-color: var(--ink); }
.sc-count-line { margin: 0; font-size: 0.82rem; color: var(--graphite); }
.sc-row-name { display: flex; gap: 0.65rem; align-items: center; }
.sc-row-name > div > a { font-weight: 800; color: var(--ink); text-decoration: none; }
.sc-row-name > div > a:hover { color: var(--deep); text-decoration: underline; }
.sc-row-name .sc-row-badges { margin-top: 0.25rem; }
.sc-mini-rank { display: inline-flex; gap: 0.2rem; align-items: center; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--deep); background: var(--blush); padding: 0.18rem 0.35rem; }
.sc-cmp-cell { text-align: right; width: 1%; }
.sc-empty-filter { padding: 1rem; text-align: center; color: var(--graphite); }
@media (max-width: 700px) {
	.sc-list thead { display: none; }
	.sc-list, .sc-list tbody, .sc-list tr, .sc-list td { display: block; width: 100%; }
	.sc-list { border-top: 0; }
	.sc-list tr { display: grid; grid-template-columns: 1fr 1fr; gap: 0.15rem 0.75rem; border-top: var(--rule); padding: 0.75rem 0; }
	.sc-list tr[hidden] { display: none !important; }
	.sc-list td { border: 0; padding: 0.2rem 0; text-align: left; width: auto; }
	.sc-list td.sc-num { text-align: left; white-space: normal; }
	.sc-list td[data-label="School"], .sc-list .sc-cmp-cell { grid-column: 1 / -1; }
	.sc-list td[data-label="School"] { margin-bottom: 0.3rem; }
	.sc-list td[data-label]:not([data-label="School"])::before { display: block; content: attr(data-label); font-size: 0.68rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: var(--graphite); }
	.sc-list .sc-cmp-cell { text-align: left; padding-top: 0.45rem; }
	.sc-table-wrap { overflow: visible; }
	.sc-table tbody tr:hover { background: transparent; }
}

/* Compare tray and modal */
.sc-tray { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; background: var(--paper); border-top: var(--rule);
	padding: 0.7rem max(16px, env(safe-area-inset-right, 0px)) calc(0.7rem + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); }
.sc-tray-in { max-width: 1200px; margin: 0 auto; display: flex; gap: 0.75rem; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.sc-tray-list { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; min-width: 0; }
.sc-tray-item { display: inline-flex; align-items: center; gap: 0.3rem; background: var(--surface); padding: 0.3rem 0.3rem 0.3rem 0.7rem; font-size: 0.85rem; font-weight: 600; }
.sc-tray-item button { border: 0; background: none; color: var(--ink); font-size: 1.1rem; line-height: 1; padding: 0 0.3rem; cursor: pointer; }
.sc-tray-item button:hover { background: none; color: var(--red); }
.sc-tray-hint { font-size: 0.85rem; color: var(--graphite); }
.sc-tray-act { display: flex; gap: 0.5rem; }
.sc-tray-go { background: var(--red); color: var(--paper); padding: 0.6rem 1.1rem; font-weight: 800; border-radius: 0; }
.sc-tray-go:hover { background: var(--deep); color: var(--paper); }
.sc-tray-go:disabled { opacity: 0.45; cursor: not-allowed; }
.sc-tray-clear { background: transparent; color: var(--ink); border: 1px solid var(--ink); padding: 0.6rem 0.85rem; border-radius: 0; }
.sc-tray-clear:hover { background: var(--surface); color: var(--ink); }
body.has-tray { padding-bottom: 5rem; }
.sc-modal { position: fixed; inset: 0; z-index: 90; background: rgba(32, 30, 29, 0.6); display: grid; place-items: center; padding: 16px; }
.sc-modal-box { background: var(--paper); border-top: 4px solid var(--red); width: min(960px, 100%); max-height: 88vh; overflow: auto; padding: 1.1rem 1.25rem 1.25rem; }
.sc-modal-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.75rem; }
.sc-modal-head h2 { margin: 0; font-size: 1.3rem; }
.sc-modal-x { background: none; border: 0; font-size: 1.8rem; line-height: 1; color: var(--ink); cursor: pointer; padding: 0 0.25rem; }
.sc-modal-x:hover { background: none; color: var(--red); }
.sc-cmp-table th[scope="row"] { white-space: nowrap; color: var(--graphite); font-weight: 800; background: var(--surface); text-transform: uppercase; font-size: 0.7rem; letter-spacing: 0.06em; }
.sc-cmp-table thead th a { color: var(--ink); text-decoration: none; text-transform: none; font-size: 0.95rem; letter-spacing: 0; }
.sc-lightbox { position: fixed; inset: 0; z-index: 100; background: rgba(32, 30, 29, 0.94); display: grid; place-items: center; padding: max(16px, env(safe-area-inset-top, 0px)) 16px; cursor: zoom-out; }
.sc-lightbox img { max-width: 100%; max-height: 90vh; }
.sc-lightbox button { position: absolute; top: 12px; right: 16px; background: none; color: var(--paper); font-size: 2rem; border: 0; }

/* =====================================================================
 * School profile
 * ===================================================================== */
.sc-profile { color: var(--ink); }
.single-school .inside-article { background: transparent; padding: 0; }
.single-school .entry-content { margin-top: 0; }
.single-school .featured-image.page-header-image-single { display: none; }

/* Hero: ink block; photo in black and white under an ink wash */
.sc-phero { position: relative; overflow: hidden; background: var(--ink); color: var(--paper); margin-bottom: 0; }
.sc-phero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sc-phero.has-photo::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(32, 30, 29, 0.35) 0%, rgba(32, 30, 29, 0.92) 72%); }
.sc-phero-in { position: relative; z-index: 2; padding: 1.5rem 1.6rem 1.4rem; display: grid; gap: 1rem; }
.sc-phero.has-photo .sc-phero-in { padding-top: 7rem; }
.sc-crumbs { display: flex; flex-wrap: wrap; gap: 0.45rem; font-size: 0.8rem; font-weight: 600; color: var(--n400); }
.sc-crumbs span { color: var(--red-500); }
.sc-crumbs a { color: var(--n300); text-decoration: none; }
.sc-crumbs a:hover { color: var(--paper); text-decoration: underline; }
.sc-phero-id { display: flex; gap: 1rem; align-items: center; }
.sc-phero-id .sc-mono { width: 4.2rem; height: 4.2rem; font-size: 1.45rem; background: var(--paper); color: var(--ink); }
.sc-phero-title { color: var(--paper); font-size: clamp(1.6rem, 3.6vw, 2.5rem); line-height: 1.08; letter-spacing: -0.02em; margin: 0; }
.sc-phero-sub { margin: 0.35rem 0 0; display: flex; align-items: center; gap: 0.35rem; color: var(--n300); font-size: 0.93rem; }
.sc-phero .sc-chip { border-color: rgba(243, 242, 242, 0.4); color: var(--paper); }
.sc-phero .sc-chip.is-rank { background: var(--red); border-color: var(--red); }
.sc-phero .b-cbse { background: var(--paper); color: var(--ink); }
.sc-phero .b-icse { border-color: var(--paper); color: var(--paper); }
.sc-phero .sc-act, .sc-phero .sc-cmp-btn { background: var(--paper); border-color: var(--paper); color: var(--ink); }
.sc-phero .sc-act:hover, .sc-phero .sc-cmp-btn:hover { background: var(--surface); border-color: var(--surface); }
.sc-phero .sc-act.is-primary { background: var(--red); border-color: var(--red); color: var(--paper); }
.sc-phero .sc-act.is-primary:hover { background: var(--deep); border-color: var(--deep); }
.sc-phero .sc-cmp-btn[aria-pressed="true"] { background: var(--red-500); border-color: var(--red-500); color: var(--ink); }
.sc-strip { position: relative; z-index: 2; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--paper); color: var(--ink); border: var(--rule); border-top: 0; }
.sc-strip li { display: grid; grid-template-columns: auto 1fr; column-gap: 0.65rem; align-items: center; padding: 0.9rem 1rem; border-right: var(--hair); min-width: 0; }
.sc-strip li:last-child { border-right: 0; }
.sc-strip .sc-ico { grid-row: span 2; font-size: 1.35rem; }
.sc-strip span { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--graphite); font-weight: 800; }
.sc-strip strong { font-size: 0.95rem; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 760px) {
	.sc-strip { grid-template-columns: 1fr 1fr; }
	.sc-strip li:nth-child(2) { border-right: 0; }
	.sc-strip li:nth-child(-n+2) { border-bottom: var(--hair); }
	.sc-phero-in { padding: 1.1rem; }
	.sc-phero.has-photo .sc-phero-in { padding-top: 4.5rem; }
	.sc-phero-id .sc-mono { width: 3.1rem; height: 3.1rem; font-size: 1.05rem; }
}

/* Section nav */
.sc-tabs { position: sticky; top: 0; z-index: 5; display: flex; gap: 0; overflow-x: auto; background: var(--paper); border-bottom: var(--rule); margin: 1.25rem 0 0; padding: 0; scrollbar-width: none; }
.sc-tabs::-webkit-scrollbar { display: none; }
.sc-tabs a { padding: 0.7rem 0.85rem; text-decoration: none; color: var(--ink); font-size: 0.9rem; font-weight: 600; white-space: nowrap; }
.sc-tabs a:hover { background: var(--surface); color: var(--ink); }
.sc-tabs a.is-on { background: var(--ink); color: var(--paper); }

/* Sections: separated by 2px ink rules, flush left */
.sc-sec { padding: 1.5rem 0 1.75rem; border-bottom: var(--rule); scroll-margin-top: 4.5rem; }
.sc-sh { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 1rem; flex-wrap: wrap; }
.sc-sh h2, .sc-profile .sc-sh h2 { margin: 0; padding: 0; border: 0; font-size: 1.5rem; }
.sc-sh-ic { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border: 1px solid var(--ink); font-size: 1.1rem; flex: none; color: var(--ink); }
.sc-sh-tag { margin-left: auto; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.25rem 0.5rem; background: var(--surface); }
.sc-summary { font-size: 1.05rem; line-height: 1.65; margin: 0 0 1.1rem; max-width: 70ch; }
.sc-sub { font-size: 1rem; font-weight: 800; margin: 1.4rem 0 0.75rem; }

/* Overview facts */
.sc-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); border-left: var(--hair); border-top: var(--hair); margin: 0; }
.sc-fact { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.8rem 0.9rem; border-right: var(--hair); border-bottom: var(--hair); }
.sc-fact > .sc-ico { font-size: 1.2rem; margin-top: 0.1rem; }
.sc-fact span { display: block; font-size: 0.68rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--graphite); }
.sc-fact strong { display: block; font-size: 0.98rem; font-weight: 800; margin-top: 0.15rem; overflow-wrap: anywhere; }

/* Fees */
.sc-fee-rows { display: grid; border-top: var(--hair); }
.sc-fee-row { display: grid; grid-template-columns: 12rem 1fr 7.5rem; gap: 1rem; align-items: center; padding: 0.65rem 0; border-bottom: var(--hair); }
.sc-fee-label { font-weight: 600; font-size: 0.95rem; }
.sc-fee-row .sc-band-bar { height: 12px; }
.sc-fee-row strong { text-align: right; font-variant-numeric: tabular-nums; font-size: 1.05rem; font-weight: 800; }
.sc-fee-unit { font-size: 0.8rem; color: var(--graphite); margin: 0.6rem 0 0; }
.sc-fee-extra { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 0.6rem; }
.sc-fee-extra li { background: var(--surface); padding: 0.75rem 0.9rem; display: grid; gap: 0.15rem; }
.sc-fee-extra span { font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--graphite); }
.sc-fee-extra strong { font-weight: 800; }
.sc-howcalc { margin-top: 0.75rem; font-size: 0.9rem; color: var(--graphite); }
.sc-howcalc summary { cursor: pointer; color: var(--deep); font-weight: 600; }
@media (max-width: 600px) {
	.sc-fee-row { grid-template-columns: 1fr auto; row-gap: 0.35rem; }
	.sc-fee-row .sc-band-bar { grid-column: 1 / -1; grid-row: 2; }
}

/* Admissions */
.sc-adm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); border-left: var(--hair); border-top: var(--hair); }
.sc-adm { display: flex; gap: 0.6rem; padding: 0.85rem 0.9rem; border-right: var(--hair); border-bottom: var(--hair); }
.sc-adm > .sc-ico { font-size: 1.2rem; margin-top: 0.1rem; }
.sc-adm span { font-size: 0.68rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--graphite); }
.sc-adm p { margin: 0.15rem 0 0; font-size: 0.95rem; }
.sc-timeline { list-style: none; counter-reset: st; margin: 0; padding: 0; }
.sc-timeline li { counter-increment: st; position: relative; padding: 0 0 1rem 2.8rem; }
.sc-timeline li::before { content: counter(st); position: absolute; left: 0; top: 0; width: 1.9rem; height: 1.9rem; background: var(--ink); color: var(--paper); font-weight: 800; display: grid; place-items: center; font-size: 0.85rem; }
.sc-timeline li::after { content: ""; position: absolute; left: 0.9rem; top: 1.9rem; bottom: 0; width: 2px; background: var(--n300); }
.sc-timeline li:last-child::after { display: none; }
.sc-timeline p { margin: 0.25rem 0 0; }

/* Results over time */
.sc-res-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.sc-res-card { border-top: 1px solid var(--ink); padding-top: 0.75rem; min-width: 0; }
.sc-res-card h3 { margin: 0 0 0.75rem; font-size: 1.05rem; }
.sc-res-bars { display: flex; align-items: flex-end; gap: 0.9rem; height: 150px; padding: 0 0.25rem; border-bottom: var(--rule); }
.sc-res-bar { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 0.3rem; min-width: 0; position: relative; }
.sc-res-bar b { font-size: 0.8rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.sc-res-bar i { display: block; width: 100%; max-width: 48px; height: var(--h); background: var(--ink); }
.sc-res-bar:last-child i { background: var(--red); }
.sc-res-bar span { position: absolute; bottom: -1.5rem; font-size: 0.78rem; font-weight: 600; color: var(--graphite); }
.sc-res-cap { margin: 1.9rem 0 0.6rem; font-size: 0.68rem; color: var(--graphite); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 800; }
.sc-res-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.sc-res-table th { text-align: left; font-size: 0.66rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; padding: 0.4rem 0.3rem; border-bottom: 1px solid var(--ink); }
.sc-res-table td { padding: 0.45rem 0.3rem; border-bottom: var(--hair); font-variant-numeric: tabular-nums; }
.sc-res-table .sc-num { text-align: right; }
.sc-result { margin-top: 1.25rem; background: var(--red-100); border-left: 4px solid var(--red); padding: 0.9rem 1.1rem; }
.sc-result-year { display: inline-flex; gap: 0.35rem; align-items: center; font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--deep); }
.sc-result p { margin: 0.3rem 0 0; font-size: 1.02rem; font-weight: 600; }
@media (max-width: 700px) { .sc-res-grid { grid-template-columns: 1fr; } }

/* Placements */
.sc-place-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1rem 1.5rem; }
.sc-place { border-top: 1px solid var(--ink); padding-top: 0.6rem; }
.sc-place header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.4rem; }
.sc-place header strong { font-weight: 800; }
.sc-place header span { background: var(--ink); color: var(--paper); font-weight: 800; font-size: 0.75rem; padding: 0.1rem 0.45rem; }
.sc-place ul { margin: 0; padding-left: 1.1rem; font-size: 0.9rem; display: grid; gap: 0.2rem; }
.sc-place li::marker { color: var(--red); }

/* Rankings */
.sc-ranks { list-style: none; margin: 0; padding: 0; display: grid; border-top: var(--hair); }
.sc-ranks li { display: flex; gap: 0.9rem; align-items: center; padding: 0.85rem 0; border-bottom: var(--hair); }
.sc-ranks .sc-ico { font-size: 1.4rem; }
.sc-ranks strong { font-weight: 800; }
.sc-ranks span { display: block; color: var(--graphite); font-size: 0.86rem; }
.sc-rank-num { font-size: 2rem; font-weight: 800; color: var(--red); min-width: 3.2rem; line-height: 1; letter-spacing: -0.02em; }

/* Amenities by category */
.sc-amen-groups { display: grid; gap: 1.5rem; }
.sc-amen-group h3 { display: flex; gap: 0.5rem; align-items: center; margin: 0 0 0.7rem; padding-top: 0.6rem; border-top: 1px solid var(--ink); font-size: 1rem; }
.sc-amen-group h3 span { font-size: 0.68rem; background: var(--surface); padding: 0.1rem 0.45rem; font-weight: 800; }
.sc-amen { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0 1.5rem; }
.sc-amen li { display: flex; gap: 0.55rem; align-items: center; padding: 0.5rem 0; border-bottom: var(--hair); font-size: 0.92rem; line-height: 1.3; }
.sc-amen li .sc-ico { flex: none; font-size: 1.05rem; }

/* Alumni */
.sc-alumni2 { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 1.25rem; }
.sc-alumni2 li { display: grid; justify-items: start; gap: 0.2rem; border-top: 1px solid var(--ink); padding-top: 0.8rem; }
.sc-alum-ph { width: 72px; height: 72px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; margin-bottom: 0.4rem; background: var(--surface); }
.sc-alum-ph img { width: 100%; height: 100%; object-fit: cover; }
.sc-alum-ph .sc-mono { width: 100%; height: 100%; font-size: 1.2rem; background: var(--surface); }
.sc-alumni2 strong { line-height: 1.25; font-weight: 800; }
.sc-alumni2 span { font-size: 0.86rem; color: var(--graphite); line-height: 1.35; }
.sc-alumni2 em { font-style: normal; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--deep); background: var(--blush); padding: 0.15rem 0.45rem; margin-top: 0.3rem; }

/* Photos and videos */
.sc-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; }
.sc-photo { margin: 0; }
.sc-photo img { width: 100%; height: 170px; object-fit: cover; display: block; }
.sc-photo figcaption { font-size: 0.75rem; color: var(--graphite); margin-top: 0.35rem; line-height: 1.4; }
.sc-video { position: relative; aspect-ratio: 16 / 9; margin: 1rem 0; }
.sc-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.sc-photo-empty { display: flex; gap: 1rem; align-items: center; padding: 1rem; border: 1px dashed var(--n400); margin-top: 1rem; }
.sc-photo-empty .sc-ico { font-size: 1.5rem; }
.sc-photo-empty p { margin: 0; color: var(--graphite); }
.sc-photo-empty strong { color: var(--ink); }

/* Location */
.sc-loc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.sc-map { position: relative; overflow: hidden; border: 1px solid var(--ink); background: var(--surface); aspect-ratio: 4 / 3; max-width: 100%; }
.sc-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(1); }
.sc-map-fallback { position: absolute; left: 0; bottom: 0; display: inline-flex; gap: 0.35rem; align-items: center; background: var(--ink); color: var(--paper); padding: 0.45rem 0.75rem; font-size: 0.82rem; font-weight: 600; text-decoration: none; }
.sc-map-fallback:hover { background: var(--red); color: var(--paper); }
.sc-map-note { position: absolute; inset: 0; display: grid; place-items: center; color: var(--graphite); font-size: 0.9rem; }
.sc-addr { display: flex; gap: 0.5rem; align-items: flex-start; margin: 0 0 1rem; font-weight: 800; font-size: 1.02rem; }
.sc-addr .sc-ico { flex: none; margin-top: 0.25rem; color: var(--red); }
.sc-conn { list-style: none; margin: 0; padding: 0; display: grid; border-top: var(--hair); }
.sc-conn li { display: flex; gap: 0.65rem; align-items: flex-start; padding: 0.6rem 0; border-bottom: var(--hair); }
.sc-conn li > .sc-ico { font-size: 1.15rem; margin-top: 0.15rem; flex: none; }
.sc-conn strong { display: block; font-size: 0.8rem; font-weight: 800; }
.sc-conn span { font-size: 0.9rem; color: var(--graphite); }
@media (max-width: 760px) { .sc-loc { grid-template-columns: 1fr; } }

/* Explore more (bottom of profile) */
.sc-explore { display: grid; gap: 0; margin-top: 0; }
.sc-ex-block { padding: 1.5rem 0 1.75rem; border-bottom: var(--rule); min-width: 0; }
.sc-ex-h, .sc-profile .sc-ex-h { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.9rem; padding: 0; border: 0; font-size: 1.25rem; }
.sc-ex-block .sc-block-head { margin-bottom: 0.9rem; }
.sc-ex-block .sc-block-head .sc-ex-h { margin: 0; }
.sc-mini-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 0; border-left: var(--hair); border-top: var(--hair); }
.sc-mini { display: flex; gap: 0.8rem; align-items: stretch; padding: 0.7rem; text-decoration: none; color: var(--ink); border-right: var(--hair); border-bottom: var(--hair); min-width: 0; }
.sc-mini:hover { background: var(--surface); color: var(--ink); }
.sc-mini .sc-thumb { width: 80px; flex: none; }
.sc-mini-body { display: grid; gap: 0.15rem; align-content: start; min-width: 0; }
.sc-mini-body strong { line-height: 1.25; font-size: 0.95rem; font-weight: 800; }
.sc-mini-body small { color: var(--graphite); font-size: 0.8rem; }
.sc-mini-body em { font-style: normal; font-size: 0.82rem; font-weight: 600; }
.sc-ex-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; background: var(--ink); color: var(--n300); padding: 1.5rem; margin-top: 1.5rem; }
.sc-ex-cols h3 { color: var(--red-500); font-size: 0.72rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; margin: 0 0 0.75rem; }
.sc-ex-cols ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; }
.sc-ex-cols a { color: var(--n300); text-decoration: none; font-size: 0.9rem; }
.sc-ex-cols a:hover { color: var(--paper); text-decoration: underline; }
@media (max-width: 760px) { .sc-ex-cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .sc-ex-cols { grid-template-columns: 1fr; } }

/* =====================================================================
 * Profile sidebar
 * ===================================================================== */
.sidebar .sc-kp { border: var(--rule); padding: 0; background: var(--paper); }
.sc-kp-top { position: relative; }
.sc-kp-img { display: block; height: 150px; }
.sc-kp-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sc-kp-name { display: flex; gap: 0.75rem; align-items: center; padding: 1rem 1.1rem 0; }
.sc-kp-name .sc-mono { width: 3rem; height: 3rem; font-size: 1rem; background: var(--ink); color: var(--paper); }
.sc-kp-name strong { display: block; font-weight: 800; font-size: 1.12rem; line-height: 1.2; }
.sc-kp-name span { font-size: 0.8rem; color: var(--graphite); }
.sc-kp-sum { padding: 0 1.1rem; margin: 0.8rem 0; font-size: 0.88rem; line-height: 1.55; }
.sc-kp-dl { display: grid; grid-template-columns: 7rem 1fr; margin: 0; padding: 0 1.1rem; border-top: var(--hair); font-size: 0.86rem; }
.sc-kp-dl dt { color: var(--graphite); padding: 0.5rem 0; border-bottom: var(--hair); font-weight: 600; }
.sc-kp-dl dd { margin: 0; padding: 0.5rem 0; border-bottom: var(--hair); overflow-wrap: anywhere; font-weight: 600; }
.sc-kp-dl dt:last-of-type, .sc-kp-dl dd:last-of-type { border-bottom: 0; }
.sc-kp-row { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.75rem 1.1rem; border-top: var(--hair); }
.sc-kp-row > span { font-size: 0.68rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.sc-kp-act { display: flex; gap: 0.5rem; padding: 0.85rem 1.1rem 1.1rem; border-top: var(--hair); }
.sc-kp-act > * { flex: 1; justify-content: center; }
.sc-side-adm { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.sc-side-adm li { display: flex; gap: 0.6rem; align-items: flex-start; }
.sc-side-adm .sc-ico { flex: none; font-size: 1.1rem; margin-top: 0.15rem; }
.sc-side-adm span { display: block; font-size: 0.66rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--graphite); }
.sc-side-adm strong { font-size: 0.9rem; font-weight: 600; line-height: 1.4; }
.sc-side-p { margin: 0; font-size: 0.9rem; color: var(--graphite); }
.sidebar .sc-feat-banner { border-top: 0; padding: 0; background: var(--ink); }
.sc-feat-banner a { display: block; position: relative; color: var(--paper); text-decoration: none; }
.sc-feat-banner .sc-thumb { aspect-ratio: 16 / 10; background: var(--n800); }
.sc-feat-banner .sc-thumb.is-mono .sc-mono { width: 4.5rem; height: 4.5rem; font-size: 1.5rem; background: var(--paper); color: var(--ink); }
.sc-feat-tag { position: absolute; top: 0; left: 0; display: inline-flex; gap: 0.3rem; align-items: center; background: var(--red); color: var(--paper); font-weight: 800; font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.35rem 0.6rem; }
.sc-feat-body { display: grid; gap: 0.25rem; padding: 0.95rem 1.1rem 1.15rem; }
.sidebar .sc-feat-banner .sc-feat-body strong { color: var(--paper); font-weight: 800; font-size: 1.12rem; line-height: 1.2; }
.sidebar .sc-feat-banner .sc-feat-body small { color: var(--n400); }
.sidebar .sc-feat-banner .sc-feat-body em { font-style: normal; color: var(--red-500); font-weight: 800; font-size: 0.88rem; margin-top: 0.35rem; }
.sc-feat-banner .b-cbse { background: var(--paper); color: var(--ink); }
.sc-feat-banner a:hover em { text-decoration: underline; }
.sc-side-list { list-style: none; margin: 0; padding: 0; }
.sc-side-list li { padding: 0.6rem 0; border-bottom: var(--hair); line-height: 1.35; }
.sc-side-list li:last-child { border-bottom: 0; }
.sc-side-list a { text-decoration: none; font-weight: 800; color: var(--ink); font-size: 0.93rem; }
.sc-side-list a:hover { color: var(--deep); text-decoration: underline; }
.sc-side-list span { display: block; font-size: 0.82rem; color: var(--graphite); margin-top: 0.15rem; }
.sc-side-list.has-thumbs li { display: flex; gap: 0.7rem; align-items: center; }
.sc-side-list.has-thumbs .sc-thumb { width: 46px; flex: none; }
.sc-side-list.has-thumbs .sc-thumb.is-mono .sc-mono { font-size: 0.7rem; }
.sc-side-list.is-dated li { display: flex; justify-content: space-between; gap: 0.6rem; align-items: baseline; }
.sc-side-list.is-dated span { white-space: nowrap; font-size: 0.76rem; margin: 0; }
.sc-side-more { margin: 0.8rem 0 0; font-size: 0.88rem; font-weight: 600; }
.sc-side .sc-chips { margin: 0; }
.sc-side-search { display: flex; gap: 0; }
.sc-side-search input[type=search] { flex: 1; min-width: 0; padding: 0.55rem 0.7rem; border: 1px solid var(--n400); border-right: 0; background: var(--surface); }
.sc-side-search button { padding: 0.55rem 0.95rem; background: var(--ink); color: var(--paper); font-weight: 800; border-radius: 0; }
.sc-side-search button:hover { background: var(--red); color: var(--paper); }
.sc-side-search + .sc-chips { margin-top: 0.85rem; }
.sc-phero-top { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }
.sc-phero .sc-label.is-directory { border-color: var(--paper); color: var(--paper); }
.main-navigation .menu-bar-items .sc-menu-cta a { line-height: 1.2; padding: 0.6rem 1rem; }
.sc-side-list .sc-thumb.is-mono, .sc-side-list .sc-thumb .sc-mono { display: grid; place-items: center; margin: 0; }
.sc-side-list .sc-thumb { display: block; }
@media (max-width: 768px) {
	.separate-containers .inside-article { padding: 0 16px; }
	.sidebar .widget { margin-left: 16px; margin-right: 16px; }
	.sidebar .sc-feat-banner, .sidebar .sc-kp { margin-left: 16px; margin-right: 16px; }
}
@media (max-width: 480px) {
	.site-logo img { width: 140px; }
	.inside-header { padding-left: 16px; padding-right: 8px; }
}

/* =====================================================================
 * v2.1 Colour layer: more of the brand palette on show.
 * Chronicle Red and its ramp lead; Info, Pass and Caution from the
 * functional set colour interface tiles, bars and icons. Photos in colour.
 * ===================================================================== */
:root {
	--info-100: #E9EFF8;
	--pass-100: #E7F2EB;
	--caution-100: #FBF1DF;
}
.c1 { --c: var(--red); --t: var(--red-100); }
.c2 { --c: var(--info); --t: var(--info-100); }
.c3 { --c: var(--pass); --t: var(--pass-100); }
.c4 { --c: var(--caution); --t: var(--caution-100); }
.c5 { --c: var(--deep); --t: var(--blush); }
.c6 { --c: var(--info); --t: var(--info-100); }

/* Photos back in full colour */
.sc-phero-bg, .sc-photo img, .sc-fcard-img img, .sc-thumb img, .sc-kp-img img, .sc-alum-ph img, .sc-lightbox img, .sc-map iframe { filter: none; }

/* Header: thin red line under the ink rule */
.site-header { box-shadow: 0 3px 0 var(--red); }

/* Home hero on Chronicle Red */
.sc-hero { background: var(--red); background-image: linear-gradient(115deg, var(--red) 0%, var(--red) 62%, #DD2B0F 62%, #DD2B0F 100%); }
.sc-hero .sc-eyebrow { color: var(--paper); }
.sc-hero h1 em { color: var(--ink); }
.sc-lede { color: var(--paper); font-weight: 600; }
.sc-finder { border-top: 4px solid var(--ink); }
.sc-stats { border-top-color: rgba(243, 242, 242, 0.45); }
.sc-stats li + li { border-left-color: rgba(243, 242, 242, 0.45); }
.sc-stats span { color: var(--paper); font-weight: 800; }

/* Section headings get a red marker */
.sc-home-block > .sc-block-head h2, .sc-home-block > h2 { display: inline-flex; align-items: center; gap: 0.6rem; }
.sc-home-block > .sc-block-head h2::before { content: ""; width: 14px; height: 14px; background: var(--red); flex: none; }

/* Cities and stages: tinted tiles with colour accents */
.sc-city { background: var(--t, transparent); box-shadow: inset 0 4px 0 var(--c); }
.sc-city .sc-ico { color: var(--c); }
.sc-city:hover { background: var(--t); box-shadow: inset 0 6px 0 var(--c); }
.sc-city.is-soon { background: transparent; box-shadow: inset 0 4px 0 var(--n300); }
.sc-city.is-soon .sc-ico { color: var(--n400); }
.sc-stage { background: var(--t); }
.sc-stage .sc-ico { color: var(--paper); background: var(--c); width: 2.4rem; height: 2.4rem; padding: 0.5rem; }
.sc-stage-n { color: var(--c); }
.sc-stage:hover { background: var(--t); box-shadow: inset 0 -4px 0 var(--c); }

/* Bars in colour */
.sc-band-bar i { background: var(--c, var(--ink)); }
.sc-band:hover .sc-band-bar i { background: var(--c, var(--red)); filter: brightness(0.9); }
.sc-fee-row .sc-band-bar i { background: var(--info); }
.sc-fee-row:first-child .sc-band-bar i { background: var(--red); }

/* School groups: rotating colour marks */
.sc-brand:nth-child(4n+1) .sc-brand-mark { background: var(--red); }
.sc-brand:nth-child(4n+2) .sc-brand-mark { background: var(--info); }
.sc-brand:nth-child(4n+3) .sc-brand-mark { background: var(--pass); }
.sc-brand:nth-child(4n+4) .sc-brand-mark { background: var(--caution); }

/* Board badges and tiles */
.b-cbse { background: var(--info); color: var(--paper); }
.b-cam { background: var(--pass); color: var(--paper); }
.b-icse { border-color: var(--caution); color: #8A5D0F; background: var(--caution-100); }
.sc-phero .b-cbse, .sc-feat-banner .b-cbse { background: var(--info); color: var(--paper); }
.sc-phero .b-icse { border-color: var(--caution); color: #8A5D0F; background: var(--caution-100); }
.b-cbse-tile { background: var(--info-100); }
.b-ib-tile { background: var(--red-100); }
.b-cam-tile { background: var(--pass-100); }
.b-icse-tile { background: var(--caution-100); }

/* Featured cards: colour top rule, ranked tag */
.sc-fcard { border-top: 4px solid var(--red); }
.sc-fcard:nth-child(3n+2) { border-top-color: var(--info); }
.sc-fcard:nth-child(3n+3) { border-top-color: var(--pass); }
.sc-fcard-img { background: var(--red-100); }
.sc-fcard:nth-child(3n+2) .sc-fcard-img { background: var(--info-100); }
.sc-fcard:nth-child(3n+3) .sc-fcard-img { background: var(--pass-100); }
.sc-fcard-img .sc-mono { background: var(--paper); color: var(--ink); }
.sc-fcard-fee b { color: var(--pass); }
.sc-car-nav button:hover { background: var(--red); border-color: var(--red); }

/* Guide numbers and icons in colour */
.sc-guide-grid li { border-top: 3px solid var(--c); }
.sc-guide-grid .sc-ico { color: var(--c); }
.sc-guide-grid h3::before { color: var(--c); }

/* Compare promo on Info blue, CTA on blush */
.sc-home-block.sc-promo { background: var(--info); }
.sc-promo .sc-eyebrow { color: var(--blush); }
.sc-promo .sc-btn { background: var(--red); }
.sc-promo .sc-btn:hover { background: var(--deep); }
.sc-promo-steps b { background: var(--paper); color: var(--info); }

/* Chips: tinted on hover, red icons */
.sc-chips-lg a .sc-ico, .sc-searches .sc-ico { color: var(--red); }
.sc-chips a:hover { background: var(--red-100); border-color: var(--red); }

/* Listing */
.sc-list-head { border-bottom-color: var(--red); }
.sc-toolbar { background: var(--red-100); border-top: 3px solid var(--red); }
.sc-table { border-top-color: var(--red); }
.sc-table thead th { background: var(--ink); color: var(--paper); }
.sc-sortable th::after { color: var(--n400); }
.sc-fcard-rank, .sc-mini-rank { background: var(--caution); color: var(--paper); }

/* Profile hero: colour photo under a lighter ink wash; red when there is no photo */
.sc-phero { background: var(--red); background-image: linear-gradient(115deg, var(--red) 0%, var(--red) 64%, #DD2B0F 64%); }
.sc-phero.has-photo::before { background: linear-gradient(180deg, rgba(32, 30, 29, 0.05) 0%, rgba(32, 30, 29, 0.85) 75%); }
.sc-phero:not(.has-photo) .sc-crumbs a, .sc-phero:not(.has-photo) .sc-phero-sub { color: var(--paper); }
.sc-phero:not(.has-photo) .sc-crumbs span { color: var(--ink); }
.sc-phero:not(.has-photo) .sc-act.is-primary { background: var(--ink); border-color: var(--ink); }
.sc-phero .sc-chip.is-rank { background: var(--caution); border-color: var(--caution); }
.sc-strip li:nth-child(1) .sc-ico { color: var(--pass); }
.sc-strip li:nth-child(2) .sc-ico { color: var(--info); }
.sc-strip li:nth-child(3) .sc-ico { color: var(--red); }
.sc-strip li:nth-child(4) .sc-ico { color: var(--caution); }
.sc-strip { border-color: var(--ink); border-bottom: 4px solid var(--red); }
.sc-tabs { border-bottom-color: var(--red); }
.sc-tabs a.is-on { background: var(--red); color: var(--paper); }

/* Section heading tiles in colour */
.sc-sh-ic { border: 0; background: var(--c, var(--ink)); color: var(--paper); }
.sc-sec { border-bottom-color: var(--ink); }
.sc-fact > .sc-ico { color: var(--c); }
.sc-fact { background: var(--t); }
.sc-adm:nth-child(1) > .sc-ico { color: var(--info); }
.sc-adm:nth-child(2) > .sc-ico { color: var(--pass); }
.sc-adm:nth-child(3) > .sc-ico { color: var(--caution); }
.sc-timeline li::before { background: var(--red); }
.sc-timeline li::after { background: var(--blush); }
.sc-fee-extra li { background: var(--pass-100); }
.sc-fee-row strong { color: var(--ink); }

/* Results: Info bars, latest year in red */
.sc-res-card { border-top: 3px solid var(--info); }
.sc-res-card + .sc-res-card { border-top-color: var(--pass); }
.sc-res-bar i { background: var(--info); }
.sc-res-card + .sc-res-card .sc-res-bar i { background: var(--pass); }
.sc-res-bar:last-child i, .sc-res-card + .sc-res-card .sc-res-bar:last-child i { background: var(--red); }

/* Placements and rankings */
.sc-place { border-top: 3px solid var(--info); }
.sc-place:nth-child(3n+2) { border-top-color: var(--pass); }
.sc-place:nth-child(3n+3) { border-top-color: var(--caution); }
.sc-place header span { background: var(--red); }
.sc-ranks li { background: var(--caution-100); padding-left: 0.9rem; padding-right: 0.9rem; border-bottom: 2px solid var(--paper); }
.sc-ranks .sc-ico { color: var(--caution); }

/* Amenity groups in their own colours */
.sc-amen-group { background: var(--t); padding: 0 0.9rem 0.6rem; }
.sc-amen-group h3 { border-top: 3px solid var(--c); padding-top: 0.7rem; }
.sc-amen-group h3 .sc-ico, .sc-amen-group .sc-amen li .sc-ico { color: var(--c); }
.sc-amen-group h3 span { background: var(--c); color: var(--paper); }
.sc-amen li { border-bottom-color: rgba(32, 30, 29, 0.12); }

/* Alumni: coloured avatar rings */
.sc-alumni2 li { border-top: 3px solid var(--red); }
.sc-alumni2 li:nth-child(3n+2) { border-top-color: var(--info); }
.sc-alumni2 li:nth-child(3n+3) { border-top-color: var(--pass); }
.sc-alum-ph .sc-mono { background: var(--red-100); color: var(--deep); }
.sc-alumni2 li:nth-child(3n+2) .sc-alum-ph .sc-mono { background: var(--info-100); color: var(--info); }
.sc-alumni2 li:nth-child(3n+3) .sc-alum-ph .sc-mono { background: var(--pass-100); color: var(--pass); }

/* Location */
.sc-conn li:nth-child(1) > .sc-ico { color: var(--info); }
.sc-conn li:nth-child(2) > .sc-ico, .sc-conn li:nth-child(3) > .sc-ico { color: var(--pass); }
.sc-conn li:nth-child(4) > .sc-ico { color: var(--caution); }
.sc-map-fallback { background: var(--red); }

/* Explore panel: blush instead of ink */
.sc-ex-cols { background: var(--red-100); color: var(--ink); border-top: 4px solid var(--red); }
.sc-ex-cols h3 { color: var(--deep); }
.sc-ex-cols a { color: var(--ink); }
.sc-ex-cols a:hover { color: var(--deep); }
.sc-mini:nth-child(3n+1) .sc-thumb.is-mono { background: var(--red-100); }
.sc-mini:nth-child(3n+2) .sc-thumb.is-mono { background: var(--info-100); }
.sc-mini:nth-child(3n+3) .sc-thumb.is-mono { background: var(--pass-100); }
.sc-mini-body em { color: var(--pass); }

/* Sidebar */
.sidebar .sc-kp { border: 0; border-top: 4px solid var(--red); background: var(--paper); box-shadow: 0 0 0 1px var(--n300); }
.sc-kp-name .sc-mono { background: var(--red); }
.sc-kp-act { background: var(--red-100); }
.sidebar .widget { border-top-color: var(--red); }
.sidebar .widget .widget-title .sc-ico { color: var(--red); }
.sc-side-adm li:nth-child(1) .sc-ico { color: var(--info); }
.sc-side-adm li:nth-child(2) .sc-ico { color: var(--pass); }
.sc-side-adm li:nth-child(3) .sc-ico { color: var(--caution); }
.sidebar .sc-side.is-adm { background: var(--info-100); padding-left: 1rem; padding-right: 1rem; border-top-color: var(--info); }
.sidebar .sc-feat-banner { background: var(--info); }
.sc-feat-banner .sc-thumb { background: var(--info-100); }
.sidebar .sc-feat-banner .sc-feat-body small { color: var(--paper); }
.sidebar .sc-feat-banner .sc-feat-body em { color: var(--paper); text-decoration: underline; }
.sc-feat-banner .b-cbse { background: var(--paper); color: var(--info); }
.sc-side-list.has-thumbs li:nth-child(3n+1) .sc-thumb.is-mono { background: var(--red-100); }
.sc-side-list.has-thumbs li:nth-child(3n+2) .sc-thumb.is-mono { background: var(--info-100); }
.sc-side-list.has-thumbs li:nth-child(3n+3) .sc-thumb.is-mono { background: var(--pass-100); }
.sc-soc:hover { background: var(--red); border-color: var(--red); }

/* Footer: red top band */
.sc-sitefoot { border-top: 6px solid var(--red); }

/* =====================================================================
 * v2.2 Softer: calmer home colours, fewer hues, rounded corners.
 * Two accents only: Chronicle Red (and its light tints) plus Info blue
 * used sparingly in charts. Cards lift off the page with soft shadows.
 * ===================================================================== */
:root {
	--card: #F8F4F4;
	--r-lg: 18px;
	--r: 12px;
	--r-sm: 8px;
	--shadow: 0 1px 2px rgba(32, 30, 29, 0.04), 0 6px 18px rgba(32, 30, 29, 0.06);
	--shadow-hover: 0 2px 4px rgba(32, 30, 29, 0.05), 0 12px 28px rgba(32, 30, 29, 0.10);
	--soft-rule: 1px solid var(--n300);
}
.c1, .c3, .c5 { --c: var(--red); --t: var(--red-100); }
.c2, .c4, .c6 { --c: var(--info); --t: var(--info-100); }

/* Frame */
.site-header { border-bottom: var(--soft-rule); box-shadow: none; }
.main-navigation .main-nav ul li[class*="current-menu-"] > a, .main-navigation .main-nav ul li:hover > a { box-shadow: inset 0 -2px 0 var(--red); }
.main-navigation ul ul { border: var(--soft-rule); border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow); }
.main-navigation .menu-bar-items .sc-menu-cta a { border-radius: 999px; padding: 0.6rem 1.15rem; }
.sc-sitefoot { border-top: 0; }
.sidebar .widget { border-top: 0; background: var(--card); border-radius: var(--r-lg); padding: 1.15rem 1.2rem 1.3rem; box-shadow: var(--shadow); }
.sidebar .widget .widget-title .sc-ico { color: var(--red); }

/* Shared pieces */
.sc-board, .sc-label, .sc-sh-tag, .sc-mini-rank, .sc-fcard-rank, .sc-feat-tag, .sc-alumni2 em, .sc-place header span, .sc-amen-group h3 span { border-radius: 999px; }
.sc-board { padding-left: 0.6rem; padding-right: 0.6rem; }
.sc-chips a, .sc-chip { border-radius: 999px; border-color: var(--n300); background: var(--card); }
.sc-chips a:hover { background: var(--red-100); border-color: var(--red-500); }
.sc-chip.is-rank, .sc-phero .sc-chip.is-rank { background: var(--red); border-color: var(--red); }
.sc-act, .sc-cmp-btn, button.sc-act, button.sc-cmp-btn, .sc-btn, .sc-car-nav button, .sc-tray-go, .sc-tray-clear { border-radius: var(--r-sm); }
.sc-act, .sc-cmp-btn { border-color: var(--n400); }
.sc-mono, .sc-thumb, .sc-brand-mark { border-radius: var(--r); }
.sc-row-name .sc-mono, .sc-side-list.has-thumbs .sc-thumb { border-radius: var(--r-sm); }
.sc-empty, .sc-photo-empty, .sc-note, .sc-result { border-radius: var(--r); }
.sc-note { border-left: 0; background: var(--card); box-shadow: var(--shadow); }
.b-cbse { background: var(--ink); color: var(--paper); }
.b-cam { background: var(--blush); color: var(--deep); }
.b-icse { border-color: var(--ink); color: var(--ink); background: transparent; }
.sc-phero .b-cbse, .sc-feat-banner .b-cbse { background: var(--ink); color: var(--paper); }
.sc-phero .b-icse { border-color: var(--ink); color: var(--ink); background: transparent; }

/* Cards in grids: separate, rounded, soft shadow */
.sc-city-grid, .sc-stage-grid, .sc-brand-grid, .sc-board-row, .sc-facts, .sc-adm-grid, .sc-mini-grid { border: 0; gap: 0.75rem; }
.sc-city, .sc-stage, .sc-brand, .sc-board-tile, .sc-fact, .sc-adm, .sc-mini { border: 0; border-radius: var(--r); background: var(--card); box-shadow: var(--shadow); transition: box-shadow 0.2s ease, transform 0.2s ease; }
.sc-city:hover, .sc-stage:hover, .sc-brand:hover, .sc-board-tile:hover, .sc-mini:hover { background: var(--card); box-shadow: var(--shadow-hover); transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) { .sc-city, .sc-stage, .sc-brand, .sc-board-tile, .sc-mini { transition: none; } .sc-city:hover, .sc-stage:hover, .sc-brand:hover, .sc-board-tile:hover, .sc-mini:hover { transform: none; } }

/* ---------- Home ---------- */
.sc-home { gap: 3.25rem; }
.sc-home-block { border-top: 0; padding-top: 0; }
.sc-home-block > .sc-block-head h2::before { width: 6px; height: 1.1em; border-radius: 3px; }

/* Hero: warm light tint, ink type, red only as the accent */
.sc-hero { background: var(--red-100); background-image: radial-gradient(90% 120% at 100% 0%, var(--blush) 0%, rgba(255, 224, 217, 0) 60%); color: var(--ink); border-radius: 24px; }
.sc-hero .sc-eyebrow { color: var(--deep); }
.sc-hero h1 { color: var(--ink); }
.sc-hero h1 em { color: var(--red); }
.sc-lede { color: var(--graphite); font-weight: 400; }
.sc-finder { border-top: 0; border-radius: var(--r-lg); background: var(--card); box-shadow: 0 2px 4px rgba(32, 30, 29, 0.05), 0 16px 40px rgba(174, 24, 0, 0.10); padding: 1.1rem; }
.sc-finder select, .sc-finder input { border-radius: var(--r-sm); background: var(--paper); border-color: var(--n300); }
.sc-finder-main button { border-radius: var(--r-sm); }
.sc-finder-main label b { border-radius: 50%; background: var(--red-100); color: var(--deep); }
.sc-stats { border-top-color: rgba(32, 30, 29, 0.12); }
.sc-stats li + li { border-left-color: rgba(32, 30, 29, 0.12); }
.sc-stats strong { color: var(--ink); }
.sc-stats span { color: var(--graphite); font-weight: 600; }

/* Cities: no tints; red icon for the live city */
.sc-city { box-shadow: var(--shadow); background: var(--card); }
.sc-city:hover { box-shadow: var(--shadow-hover); }
.sc-city .sc-ico { color: var(--red); }
.sc-city.is-soon { background: transparent; box-shadow: none; border: 1px dashed var(--n400); }
.sc-city.is-soon .sc-ico { color: var(--n400); }

/* Stages: neutral cards, small tinted icon */
.sc-stage { background: var(--card); }
.sc-stage .sc-ico { color: var(--deep); background: var(--red-100); border-radius: 10px; }
.sc-stage-n { color: var(--deep); }
.sc-stage:hover { box-shadow: var(--shadow-hover); }

/* Bars: one colour each chart */
.sc-band { border-radius: var(--r-sm); }
.sc-band-bar, .sc-band-bar i { border-radius: 999px; }
.sc-home-two > section:first-child .sc-band-bar i { background: var(--red); }
.sc-home-two > section:last-child .sc-band-bar i { background: var(--info); }

/* Groups and boards */
.sc-brand .sc-brand-mark, .sc-brand:nth-child(n) .sc-brand-mark { background: var(--red-100); color: var(--deep); }
.b-cbse-tile, .b-ib-tile, .b-cam-tile, .b-icse-tile { background: var(--card); }

/* Featured carousel */
.sc-fcard, .sc-fcard:nth-child(n) { border-top: 0; background: var(--card); border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow); }
.sc-fcard-img, .sc-fcard:nth-child(n) .sc-fcard-img { background: var(--surface); }
.sc-fcard-body { padding: 0.9rem 1rem 1.1rem; }
.sc-fcard-fee b { color: var(--ink); }
.sc-fcard-rank, .sc-mini-rank { background: var(--red); color: var(--paper); }
.sc-fcard-rank { left: 10px; top: 10px; }
.sc-carousel { padding: 4px 4px 16px; }

/* Guide */
.sc-guide-grid li { border-top: 0; background: var(--card); border-radius: var(--r); padding: 1.1rem; box-shadow: var(--shadow); }
.sc-guide-grid .sc-ico, .sc-guide-grid h3::before { color: var(--red); }

/* Promo and CTA: soft blush instead of solid blocks */
.sc-home-block.sc-promo { background: var(--blush); color: var(--ink); border-radius: 24px; }
.sc-promo h2, .sc-promo p { color: var(--ink); }
.sc-promo p { font-weight: 400; }
.sc-promo .sc-eyebrow { color: var(--deep); }
.sc-promo .sc-btn { background: var(--red); color: var(--paper); border-radius: var(--r-sm); }
.sc-promo-steps { border-top-color: rgba(174, 24, 0, 0.2); }
.sc-promo-steps li { border-bottom-color: rgba(174, 24, 0, 0.2); }
.sc-promo-steps b { background: var(--paper); color: var(--deep); border-radius: 50%; }
.sc-home-block.sc-cta { background: var(--card); border-left: 0; border-radius: var(--r-lg); box-shadow: var(--shadow); }
.sc-cta > .sc-ico { color: var(--red); }

/* Searches */
.sc-chips-lg a .sc-ico, .sc-searches .sc-ico { color: var(--graphite); }

/* ---------- Listing ---------- */
.sc-list-head { border-bottom: var(--soft-rule); }
.sc-toolbar { background: var(--card); border-top: 0; border-radius: var(--r-lg); box-shadow: var(--shadow); }
.sc-search, .sc-filters select { border-radius: var(--r-sm); border-color: var(--n300); }
.sc-table-wrap { border-radius: var(--r); background: var(--card); box-shadow: var(--shadow); }
.sc-table { border-top: 0; }
.sc-table thead th { background: var(--surface); color: var(--ink); }
@media (max-width: 700px) {
	.sc-table-wrap { background: transparent; box-shadow: none; }
	.sc-list tr { border-top: 0; background: var(--card); border-radius: var(--r); box-shadow: var(--shadow); padding: 0.85rem; margin-bottom: 0.75rem; }
}
.sc-tray { border-top: var(--soft-rule); box-shadow: 0 -8px 24px rgba(32, 30, 29, 0.08); }
.sc-tray-item { border-radius: 999px; }
.sc-modal-box { border-radius: var(--r-lg); border-top: 0; }

/* ---------- Profile ---------- */
.sc-phero { border-radius: 24px 24px 0 0; }
.sc-phero:not(.has-photo) { background: var(--red-100); background-image: radial-gradient(90% 140% at 100% 0%, var(--blush) 0%, rgba(255, 224, 217, 0) 60%); color: var(--ink); }
.sc-phero:not(.has-photo) .sc-phero-title { color: var(--ink); }
.sc-phero:not(.has-photo) .sc-phero-sub, .sc-phero:not(.has-photo) .sc-crumbs, .sc-phero:not(.has-photo) .sc-crumbs a { color: var(--graphite); }
.sc-phero:not(.has-photo) .sc-crumbs span { color: var(--red); }
.sc-phero:not(.has-photo) .sc-label.is-directory { border-color: var(--ink); color: var(--ink); }
.sc-phero:not(.has-photo) .sc-chip { border-color: var(--n400); color: var(--ink); background: var(--card); }
.sc-phero:not(.has-photo) .sc-chip.is-rank { color: var(--paper); background: var(--red); }
.sc-phero:not(.has-photo) .sc-phero-id .sc-mono { background: var(--card); box-shadow: var(--shadow); }
.sc-phero:not(.has-photo) .sc-act, .sc-phero:not(.has-photo) .sc-cmp-btn { background: var(--card); border-color: var(--n300); }
.sc-phero:not(.has-photo) .sc-act.is-primary { background: var(--red); border-color: var(--red); color: var(--paper); }
.sc-phero .sc-act, .sc-phero .sc-cmp-btn { border-radius: var(--r-sm); }
.sc-phero-id .sc-mono { border-radius: 14px; }
.sc-strip { border: 0; border-radius: 0 0 24px 24px; background: var(--card); box-shadow: var(--shadow); }
.sc-strip li { border-right-color: var(--n300); }
.sc-strip li:nth-child(n) .sc-ico { color: var(--deep); }
.sc-tabs { border-bottom: 0; background: rgba(243, 242, 242, 0.94); backdrop-filter: blur(6px); padding: 0.4rem 0; gap: 0.3rem; }
.sc-tabs a { border-radius: 999px; }
.sc-tabs a.is-on { background: var(--ink); color: var(--paper); }
.sc-sec { border-bottom: var(--soft-rule); }
.sc-sh-ic { border-radius: 10px; background: var(--red-100); color: var(--deep); }
.sc-fact, .sc-fact:nth-child(n) { background: var(--card); }
.sc-fact > .sc-ico, .sc-adm:nth-child(n) > .sc-ico { color: var(--deep); }
.sc-fee-rows, .sc-fee-row { border-color: var(--n300); }
.sc-fee-row .sc-band-bar i, .sc-fee-row:first-child .sc-band-bar i { background: var(--red); }
.sc-fee-extra li { background: var(--card); border-radius: var(--r); box-shadow: var(--shadow); }
.sc-timeline li::before { border-radius: 50%; }
.sc-res-card, .sc-res-card + .sc-res-card { border-top: 0; background: var(--card); border-radius: var(--r-lg); padding: 1rem; box-shadow: var(--shadow); }
.sc-res-bar i, .sc-res-card + .sc-res-card .sc-res-bar i { background: var(--n400); border-radius: 6px 6px 0 0; }
.sc-res-bar:last-child i, .sc-res-card + .sc-res-card .sc-res-bar:last-child i { background: var(--red); }
.sc-res-bars { border-bottom: 1px solid var(--n400); }
.sc-place, .sc-place:nth-child(n) { border-top: 0; background: var(--card); border-radius: var(--r); padding: 0.85rem 1rem; box-shadow: var(--shadow); }
.sc-place header span { background: var(--red-100); color: var(--deep); }
.sc-ranks li { background: var(--card); border-radius: var(--r); border-bottom: 0; margin-bottom: 0.6rem; box-shadow: var(--shadow); }
.sc-ranks { border-top: 0; }
.sc-ranks .sc-ico { color: var(--red); }
.sc-amen-group, .sc-amen-group:nth-child(n) { background: var(--card); border-radius: var(--r-lg); padding: 0.4rem 1rem 0.8rem; box-shadow: var(--shadow); }
.sc-amen-group h3 { border-top: 0; }
.sc-amen-group h3 .sc-ico, .sc-amen-group .sc-amen li .sc-ico { color: var(--deep); }
.sc-amen-group h3 span { background: var(--red-100); color: var(--deep); }
.sc-alumni2 li, .sc-alumni2 li:nth-child(n) { border-top: 0; background: var(--card); border-radius: var(--r); padding: 1rem; box-shadow: var(--shadow); }
.sc-alum-ph .sc-mono, .sc-alumni2 li:nth-child(n) .sc-alum-ph .sc-mono { background: var(--red-100); color: var(--deep); border-radius: 50%; }
.sc-photo img, .sc-map, .sc-video iframe { border-radius: var(--r); }
.sc-map { border-color: var(--n300); }
.sc-map-fallback { border-radius: 0 var(--r-sm) 0 0; background: var(--ink); }
.sc-conn li:nth-child(n) > .sc-ico { color: var(--deep); }
.sc-ex-block { border-bottom: var(--soft-rule); }
.sc-mini .sc-thumb.is-mono, .sc-mini:nth-child(n) .sc-thumb.is-mono { background: var(--surface); }
.sc-mini-body em { color: var(--ink); }
.sc-ex-cols { background: var(--card); border-top: 0; border-radius: var(--r-lg); box-shadow: var(--shadow); }

/* Profile sidebar */
.sidebar .sc-kp { border-top: 0; box-shadow: var(--shadow); overflow: hidden; padding: 0; }
.sc-kp-act { background: transparent; }
.sc-kp-name .sc-mono { background: var(--red-100); color: var(--deep); }
.sc-kp-img + .sc-kp-name .sc-mono { background: var(--card); color: var(--ink); box-shadow: var(--shadow); }
.sidebar .sc-side.is-adm { background: var(--card); border-top: 0; padding: 1.15rem 1.2rem 1.3rem; }
.sc-side-adm li:nth-child(n) .sc-ico { color: var(--deep); }
.sidebar .sc-feat-banner { background: var(--card); overflow: hidden; padding: 0; }
.sc-feat-banner a { color: var(--ink); }
.sc-feat-banner .sc-thumb { background: var(--surface); border-radius: 0; }
.sidebar .sc-feat-banner .sc-feat-body strong { color: var(--ink); }
.sidebar .sc-feat-banner .sc-feat-body small { color: var(--graphite); }
.sidebar .sc-feat-banner .sc-feat-body em { color: var(--deep); text-decoration: none; }
.sc-feat-banner .sc-thumb.is-mono .sc-mono { background: var(--card); box-shadow: var(--shadow); }
.sc-feat-tag { left: 10px; top: 10px; }
.sc-side-list.has-thumbs li:nth-child(n) .sc-thumb.is-mono { background: var(--surface); }
.sc-side-search input[type=search] { border-radius: var(--r-sm) 0 0 var(--r-sm); background: var(--paper); }
.sc-side-search button { border-radius: 0 var(--r-sm) var(--r-sm) 0; }
.sc-soc { border-radius: 10px; border-color: var(--n400); }
.sc-fee-row .sc-band-bar i, .sc-fee-row:first-child .sc-band-bar i { background: #FF9783; }
.sc-home-two > section:first-child .sc-band-bar i { background: #FF9783; }
.sc-home-two > section:last-child .sc-band-bar i { background: #8FAAD3; }
.sc-sitefoot-cta a { border-radius: 999px; }
.sc-sitefoot-col em { border-radius: 999px; }

/* =====================================================================
 * v2.3 Hero in deep maroon (Red 800-900), readable chips, clipped hero,
 * clearer section menu, updates, social handles, write-to-us box.
 * ===================================================================== */
:root { --maroon: #4D170E; --maroon-2: #7C1405; }

/* Home hero */
.sc-hero { background: var(--maroon); background-image: radial-gradient(80% 120% at 100% 0%, var(--maroon-2) 0%, rgba(124, 20, 5, 0) 65%), linear-gradient(160deg, var(--maroon) 0%, #3a120b 100%); color: var(--paper); }
.sc-hero .sc-eyebrow { color: #FFC4B8; }
.sc-hero h1 { color: var(--paper); }
.sc-hero h1 em { color: var(--red-500); }
.sc-lede { color: #EAE7E7; }
.sc-stats { border-top-color: rgba(243, 242, 242, 0.18); }
.sc-stats li + li { border-left-color: rgba(243, 242, 242, 0.18); }
.sc-stats strong { color: var(--paper); }
.sc-stats span { color: #D7D3D3; }
.sc-finder { box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28); }

/* Profile hero: clip everything to one rounded shape */
.sc-phero { border-radius: 24px; overflow: hidden; box-shadow: var(--shadow); }
.sc-strip { border-radius: 0; box-shadow: none; }
.sc-phero:not(.has-photo) { background: var(--maroon); background-image: radial-gradient(80% 140% at 100% 0%, var(--maroon-2) 0%, rgba(124, 20, 5, 0) 65%), linear-gradient(160deg, var(--maroon) 0%, #3a120b 100%); color: var(--paper); }
.sc-phero:not(.has-photo) .sc-phero-title { color: var(--paper); }
.sc-phero:not(.has-photo) .sc-phero-sub, .sc-phero:not(.has-photo) .sc-crumbs, .sc-phero:not(.has-photo) .sc-crumbs a { color: #EAE7E7; }
.sc-phero:not(.has-photo) .sc-crumbs span { color: var(--red-500); }
.sc-phero:not(.has-photo) .sc-label.is-directory { border-color: var(--paper); color: var(--paper); }
.sc-phero:not(.has-photo) .sc-phero-id .sc-mono { background: var(--card); color: var(--ink); }

/* Chips on the hero: dark glass so text is always readable */
.sc-phero .sc-chip, .sc-phero:not(.has-photo) .sc-chip { background: rgba(20, 12, 10, 0.55); border: 1px solid rgba(243, 242, 242, 0.35); color: var(--paper); backdrop-filter: blur(4px); }
.sc-phero .sc-chip .sc-ico { color: var(--paper); }
.sc-phero .sc-chip.is-rank { background: var(--red); border-color: var(--red); }
.sc-phero .b-cbse, .sc-phero .b-icse { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.sc-phero .sc-act, .sc-phero .sc-cmp-btn, .sc-phero:not(.has-photo) .sc-act, .sc-phero:not(.has-photo) .sc-cmp-btn { background: var(--card); border-color: var(--card); color: var(--ink); }
.sc-phero .sc-act.is-primary, .sc-phero:not(.has-photo) .sc-act.is-primary { background: var(--red); border-color: var(--red); color: var(--paper); }

/* Section menu: a clear bar of buttons */
.sc-tabs { background: var(--card); border: 1px solid var(--n300); border-radius: 14px; padding: 0.4rem; margin: 1rem 0 0.5rem; box-shadow: var(--shadow); align-items: center; top: 8px; gap: 0.35rem; }
.sc-tabs-label { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0 0.6rem 0 0.4rem; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--graphite); white-space: nowrap; border-right: 1px solid var(--n300); margin-right: 0.15rem; }
.sc-tabs a { background: var(--paper); border: 1px solid var(--n300); border-radius: 999px; padding: 0.45rem 0.9rem; font-weight: 600; color: var(--ink); }
.sc-tabs a:hover { background: var(--red-100); border-color: var(--red-500); color: var(--deep); }
.sc-tabs a.is-on { background: var(--ink); border-color: var(--ink); color: var(--paper); }

/* Latest updates */
.sc-updates { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.sc-updates li { display: grid; grid-template-columns: 7.5rem auto 1fr; gap: 0.75rem; align-items: baseline; background: var(--card); border-radius: var(--r); padding: 0.8rem 1rem; box-shadow: var(--shadow); }
.sc-updates time { font-size: 0.82rem; font-weight: 600; color: var(--graphite); white-space: nowrap; }
.sc-upd-kind { font-size: 0.66rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; background: var(--red-100); color: var(--deep); border-radius: 999px; padding: 0.15rem 0.55rem; white-space: nowrap; }
.sc-updates p { margin: 0; font-weight: 600; }
.sc-updates a { color: var(--ink); text-decoration: none; }
.sc-updates a:hover { color: var(--deep); text-decoration: underline; }
@media (max-width: 600px) { .sc-updates li { grid-template-columns: auto 1fr; } .sc-updates p { grid-column: 1 / -1; } }

/* Social handles */
.sc-handles { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.75rem; }
.sc-handle { display: flex; gap: 0.75rem; align-items: center; background: var(--card); border-radius: var(--r); padding: 0.85rem 1rem; text-decoration: none; color: var(--ink); box-shadow: var(--shadow); transition: box-shadow 0.2s ease, transform 0.2s ease; }
.sc-handle:hover { color: var(--ink); box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.sc-handle > .sc-ico { flex: none; width: 2.5rem; height: 2.5rem; padding: 0.6rem; border-radius: 12px; background: var(--red-100); color: var(--deep); }
.sc-handle span { display: grid; min-width: 0; }
.sc-handle small { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--graphite); }
.sc-handle strong { font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-handle em { margin-left: auto; font-style: normal; font-size: 0.82rem; font-weight: 600; color: var(--deep); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .sc-handle, .sc-handle:hover { transition: none; transform: none; } }

/* Alumni photos: faces sit near the top of portraits */
.sc-alum-ph { width: 84px; height: 84px; }
.sc-alum-ph img { object-position: center 20%; }
.sc-credits { margin-top: 1rem; font-size: 0.78rem; color: var(--graphite); }
.sc-credits summary { cursor: pointer; font-weight: 600; color: var(--graphite); }
.sc-credits p { margin: 0.4rem 0 0; line-height: 1.6; }

/* Write to us */
.sc-write { background: var(--card); border-radius: 22px; padding: 1.5rem; box-shadow: var(--shadow); margin: 1.5rem 0; }
.sc-write-head h2 { margin: 0 0 0.3rem; font-size: 1.5rem; display: flex; align-items: center; gap: 0.6rem; }
.sc-write-head h2::before { content: ""; width: 6px; height: 1.1em; border-radius: 3px; background: var(--red); }
.sc-write-head p { margin: 0 0 1.1rem; color: var(--graphite); }
.sc-write-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
.sc-write-card { display: grid; gap: 0.35rem; align-content: start; background: var(--paper); border: 1px solid var(--n300); border-radius: var(--r); padding: 1rem; text-decoration: none; color: var(--ink); transition: border-color 0.2s ease, background 0.2s ease; }
.sc-write-card:hover { border-color: var(--red-500); background: var(--red-100); color: var(--ink); }
.sc-write-card > .sc-ico { width: 2.4rem; height: 2.4rem; padding: 0.55rem; border-radius: 12px; background: var(--red-100); color: var(--deep); margin-bottom: 0.3rem; }
.sc-write-card strong { font-weight: 800; line-height: 1.25; }
.sc-write-card span { font-size: 0.88rem; color: var(--graphite); }
.sc-write-card em { font-style: normal; font-weight: 800; font-size: 0.85rem; color: var(--deep); margin-top: 0.3rem; }
.sc-write-mail { margin: 1rem 0 0; font-size: 0.88rem; color: var(--graphite); }
.sc-home .sc-write { margin: 0; }
@media (max-width: 760px) { .sc-write-grid { grid-template-columns: 1fr; } .sc-write { padding: 1.1rem; } }
.sc-handles { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.sc-handle strong { white-space: normal; overflow-wrap: anywhere; line-height: 1.25; }
.sc-handle em { align-self: center; }

/* =====================================================================
 * v2.4 Editorial home hero with live list preview, pick tiles,
 * article-style "Latest" cards, admission steps.
 * ===================================================================== */
.sc-hero2 { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: 2rem 2.5rem; align-items: center; padding: clamp(1.5rem, 4vw, 3rem); }
.sc-hero2 .sc-finder { grid-column: 1 / -1; }
.sc-hero2 h1 { font-size: clamp(2.1rem, 4.6vw, 3.5rem); max-width: 14ch; }
.sc-hero2 h1 em { display: block; }
.sc-hero2-feats { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem 1.25rem; }
.sc-hero2-feats li { display: flex; gap: 0.7rem; align-items: flex-start; }
.sc-hero2-feats .sc-ico { flex: none; width: 2.3rem; height: 2.3rem; padding: 0.55rem; border-radius: 12px; background: rgba(255, 86, 60, 0.18); color: #FFC4B8; }
.sc-hero2-feats span { display: grid; font-size: 0.86rem; color: #D7D3D3; line-height: 1.4; }
.sc-hero2-feats strong { color: var(--paper); font-size: 0.95rem; }

/* List preview panel */
.sc-hero2-ui { background: var(--paper); color: var(--ink); border-radius: 20px; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35); overflow: hidden; transform: rotate(0.6deg); }
.sc-ui-bar { display: flex; align-items: center; gap: 0.8rem; padding: 0.7rem 1rem; background: var(--surface); border-bottom: 1px solid var(--n300); }
.sc-ui-dots { display: inline-flex; gap: 5px; }
.sc-ui-dots i { width: 9px; height: 9px; border-radius: 50%; background: var(--n400); }
.sc-ui-dots i:first-child { background: var(--red-500); }
.sc-ui-title { display: inline-flex; gap: 0.4rem; align-items: center; font-size: 0.85rem; font-weight: 600; color: var(--graphite); background: var(--paper); border-radius: 999px; padding: 0.3rem 0.8rem; flex: 1; }
.sc-ui-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; padding: 0.8rem 1rem 0.2rem; }
.sc-ui-chips a { font-size: 0.78rem; font-weight: 600; padding: 0.25rem 0.7rem; border-radius: 999px; background: var(--red-100); color: var(--deep); text-decoration: none; }
.sc-ui-chips a:hover { background: var(--blush); color: var(--deep); }
.sc-ui-list { list-style: none; margin: 0; padding: 0.4rem 0.6rem; }
.sc-ui-row { display: flex; gap: 0.8rem; align-items: center; padding: 0.65rem 0.5rem; border-radius: 12px; text-decoration: none; color: var(--ink); }
.sc-ui-row:hover { background: var(--card); color: var(--ink); }
.sc-ui-list li + li .sc-ui-row { border-top: 1px solid var(--n300); border-radius: 0; }
.sc-ui-list li + li .sc-ui-row:hover { border-radius: 12px; }
.sc-ui-row .sc-thumb { width: 54px; flex: none; border-radius: 10px; }
.sc-ui-main { display: grid; min-width: 0; flex: 1; }
.sc-ui-main strong { font-size: 0.93rem; font-weight: 800; line-height: 1.25; }
.sc-ui-main small { font-size: 0.78rem; color: var(--graphite); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-ui-fee { display: grid; text-align: right; font-weight: 800; font-size: 0.88rem; white-space: nowrap; }
.sc-ui-fee small { font-size: 0.66rem; font-weight: 600; color: var(--graphite); text-transform: uppercase; letter-spacing: 0.06em; }
.sc-ui-foot { display: flex; gap: 0.5rem; align-items: center; padding: 0.75rem 1rem; background: var(--ink); color: var(--paper); font-size: 0.82rem; }
.sc-ui-foot .sc-ico { color: var(--red-500); }
@media (max-width: 900px) {
	.sc-hero2 { grid-template-columns: 1fr; }
	.sc-hero2-ui { transform: none; }
}
@media (max-width: 480px) {
	.sc-hero2-feats { grid-template-columns: 1fr; }
	.sc-ui-fee { display: none; }
}

/* Pick tiles (budget, type) */
.sc-pick-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
.sc-pick { display: flex; gap: 0.6rem; align-items: center; padding: 0.9rem 1rem; background: var(--card); border-radius: var(--r); box-shadow: var(--shadow); text-decoration: none; color: var(--ink); font-weight: 600; transition: box-shadow 0.2s ease, transform 0.2s ease; }
.sc-pick .sc-ico { color: var(--deep); background: var(--red-100); width: 2rem; height: 2rem; padding: 0.45rem; border-radius: 10px; flex: none; }
.sc-pick:hover { color: var(--ink); box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.sc-city span, .sc-stage-n, .sc-brand small, .sc-board-tile small { color: var(--deep); font-weight: 600; }
.sc-city.is-soon span { color: var(--graphite); font-weight: 400; }

/* Latest on this school: article cards */
.sc-latest { border-bottom: 0; }
.sc-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.sc-post { display: flex; flex-direction: column; background: var(--card); border-radius: 16px; overflow: hidden; box-shadow: var(--shadow); text-decoration: none; color: var(--ink); transition: box-shadow 0.2s ease, transform 0.2s ease; }
a.sc-post:hover { color: var(--ink); box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.sc-post-art { display: grid; place-items: center; aspect-ratio: 16 / 7; background: var(--red-100); background-image: radial-gradient(circle at 85% 20%, var(--blush) 0, rgba(255, 224, 217, 0) 55%); color: var(--deep); }
.sc-post-art .sc-ico { width: 2.2rem; height: 2.2rem; }
.sc-post:nth-child(3n+2) .sc-post-art { background-color: #F1ECEB; color: var(--ink); }
.sc-post:nth-child(3n+3) .sc-post-art { background-color: var(--info-100); color: var(--info); }
.sc-post-body { display: grid; gap: 0.4rem; padding: 0.9rem 1rem 1.1rem; }
.sc-post-meta { display: flex; gap: 0.6rem; align-items: center; font-size: 0.75rem; color: var(--graphite); }
.sc-post-meta b { font-size: 0.66rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--deep); }
.sc-post-title { font-size: 1.05rem; font-weight: 800; line-height: 1.3; }
.sc-post-ex { font-size: 0.88rem; color: var(--graphite); line-height: 1.5; }
.sc-post em { font-style: normal; font-weight: 800; font-size: 0.85rem; color: var(--deep); margin-top: 0.2rem; }
.sc-post.is-lead { grid-column: span 2; flex-direction: row; }
.sc-post.is-lead .sc-post-art { aspect-ratio: auto; width: 42%; flex: none; }
.sc-post.is-lead .sc-post-art .sc-ico { width: 3rem; height: 3rem; }
.sc-post.is-lead .sc-post-title { font-size: 1.3rem; }
.sc-post.is-lead .sc-post-body { align-content: center; padding: 1.25rem; }
.sc-posts > .sc-post:only-child { grid-column: 1 / -1; }
@media (max-width: 760px) {
	.sc-posts { grid-template-columns: 1fr; }
	.sc-post.is-lead { grid-column: auto; flex-direction: column; }
	.sc-post.is-lead .sc-post-art { width: auto; aspect-ratio: 16 / 7; }
}
@media (prefers-reduced-motion: reduce) { .sc-post, .sc-pick { transition: none; } a.sc-post:hover, .sc-pick:hover { transform: none; } }

/* Admissions: general steps */
.sc-adm-general { margin-top: 1.25rem; background: var(--card); border-radius: var(--r-lg); padding: 0.4rem 1.2rem 1rem; box-shadow: var(--shadow); }
details.sc-adm-general { padding: 0.9rem 1.2rem; }
.sc-adm-general summary { cursor: pointer; font-weight: 800; }
details.sc-adm-general[open] summary { margin-bottom: 0.9rem; }
.sc-adm-general .sc-timeline li::before { background: var(--ink); }
.sc-timeline p strong { font-weight: 800; }

/* Tabs: always scrolled clear of the sticky bar */
.sc-sec { scroll-margin-top: 6rem; }

/* Hero without the list preview: one calm column */
.sc-hero2 { grid-template-columns: 1fr; }
.sc-hero2 h1 { max-width: 20ch; }
.sc-hero2-feats { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 980px; }
@media (max-width: 900px) { .sc-hero2-feats { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .sc-hero2-feats { grid-template-columns: 1fr; } }

/* Finder tabs */
.sc-finder-wrap { display: grid; gap: 0; }
.sc-finder-tabs { display: inline-flex; gap: 0.3rem; background: rgba(243, 242, 242, 0.12); padding: 0.3rem; border-radius: 999px; justify-self: start; margin-bottom: 0.75rem; }
.sc-finder-tabs button { background: transparent; color: #EAE7E7; border: 0; border-radius: 999px; padding: 0.5rem 1rem; font-weight: 600; font-size: 0.9rem; cursor: pointer; }
.sc-finder-tabs button:hover { background: rgba(243, 242, 242, 0.12); color: var(--paper); }
.sc-finder-tabs button[aria-selected="true"] { background: var(--paper); color: var(--ink); }
.sc-finder-main.is-name { grid-template-columns: minmax(0, 1fr) auto; }
.sc-finder[hidden] { display: none; }
@media (max-width: 760px) { .sc-finder-main.is-name { grid-template-columns: 1fr; } }

/* City landmark icons */
.sc-city .sc-ico { font-size: 2.1rem; margin-bottom: 0.6rem; stroke-width: 1.75; }

/* Popular areas: city switcher */
.sc-area-switch { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.sc-area-switch button, .sc-area-switch span { border-radius: 999px; padding: 0.4rem 0.85rem; font-size: 0.85rem; font-weight: 600; border: 1px solid var(--n300); background: var(--card); color: var(--ink); line-height: 1.2; }
.sc-area-switch button { cursor: pointer; }
.sc-area-switch button:hover { background: var(--red-100); border-color: var(--red-500); color: var(--deep); }
.sc-area-switch button[aria-selected="true"] { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.sc-area-switch .is-soon { color: var(--n400); border-style: dashed; background: transparent; }
.sc-area-panel .sc-chips { margin-bottom: 0.4rem; }
.sc-area-elsewhere { display: flex; gap: 0.6rem; align-items: flex-start; margin: 1rem 0 0; padding: 0.85rem 1rem; background: var(--card); border-radius: var(--r); box-shadow: var(--shadow); font-size: 0.92rem; color: var(--graphite); }
.sc-area-elsewhere .sc-ico { color: var(--red); flex: none; margin-top: 0.2rem; }
.sc-area-elsewhere a { font-weight: 600; }

/* Board logos on the home page */
.sc-board-tile { gap: 1rem; padding: 1rem 1.1rem; }
.sc-board-logo { width: 64px; height: 64px; object-fit: contain; flex: none; }
.sc-board-tile.is-soon .sc-board-logo { filter: grayscale(1); opacity: 0.55; }

/* Social media row in the school panel: one coloured icon per platform */
.sc-kp-row { flex-wrap: wrap; }
.sc-socs.is-kp { gap: 0.45rem; }
.sc-socs.is-kp .sc-soc { width: 2.4rem; height: 2.4rem; border: 0; border-radius: 12px; background: var(--sc); color: #fff; }
.sc-socs.is-kp .sc-soc:hover { filter: brightness(1.1); transform: translateY(-1px); background: var(--sc); color: #fff; }
.sc-soc.has-logo { background: #fff !important; box-shadow: var(--shadow); }
.sc-soc img { width: 20px; height: 20px; object-fit: contain; display: block; }
.sc-kp-add { font-size: 0.85rem; font-weight: 600; }

/* Feature images on Latest cards */
.sc-post-art.has-img { position: relative; background: var(--surface); overflow: hidden; }
.sc-post-art.has-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s ease; }
a.sc-post:hover .sc-post-art.has-img img { transform: scale(1.04); }
.sc-post-tag { position: absolute; left: 10px; top: 10px; display: inline-flex; gap: 0.3rem; align-items: center; background: rgba(32, 30, 29, 0.78); color: var(--paper); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.3rem 0.6rem; border-radius: 999px; backdrop-filter: blur(4px); }
.sc-post-tag .sc-ico { width: 0.95em; height: 0.95em; }
.sc-post.is-lead .sc-post-art.has-img { min-height: 220px; }
@media (prefers-reduced-motion: reduce) { .sc-post-art.has-img img { transition: none; } }
.sc-post.is-lead .sc-post-tag .sc-ico, .sc-post-tag .sc-ico { width: 0.95em; height: 0.95em; font-size: 1em; }

/* =====================================================================
 * Articles and the News index
 * ===================================================================== */
.single-post .site-main, .blog .site-main, .category .site-main, .tag .site-main { margin: 0; }
.sc-article { max-width: 1080px; margin: 0 auto; }
.sc-article-head { max-width: 760px; margin: 0 auto 1.75rem; }
.sc-crumbs.is-light { color: var(--graphite); margin-bottom: 1.25rem; }
.sc-crumbs.is-light a { color: var(--graphite); }
.sc-crumbs.is-light span { color: var(--red); }
.sc-article-labels { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-bottom: 0.9rem; }
.sc-article-labels .sc-label { text-decoration: none; border-radius: 999px; }
.sc-article-title { font-size: clamp(2rem, 4.4vw, 3rem); line-height: 1.08; letter-spacing: -0.02em; margin: 0 0 0.9rem; }
.sc-article-dek { font-size: 1.2rem; line-height: 1.55; color: var(--graphite); margin: 0 0 1.4rem; }
.sc-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem 1rem; padding: 1rem 0; border-top: 1px solid var(--n300); border-bottom: 1px solid var(--n300); }
.sc-byline-av { width: 44px; height: 44px; border-radius: 12px; }
.sc-byline strong { display: block; font-weight: 800; }
.sc-byline span { font-size: 0.85rem; color: var(--graphite); }
.sc-share { display: flex; gap: 0.5rem; margin-left: auto; }
.sc-article-img { margin: 0 0 2.25rem; }
.sc-article-img img { width: 100%; height: auto; max-height: 560px; object-fit: cover; border-radius: 22px; display: block; box-shadow: var(--shadow); }
.sc-article-img figcaption { max-width: 760px; margin: 0.6rem auto 0; font-size: 0.82rem; color: var(--graphite); }
.sc-article-body { max-width: 760px; margin: 0 auto; font-size: 1.12rem; line-height: 1.75; color: #2a2726; }
.sc-article-body > p:first-child::first-letter { float: left; font-size: 3.4em; line-height: 0.9; font-weight: 800; color: var(--red); margin: 0.08em 0.1em 0 0; }
.sc-article-body h2 { font-size: 1.65rem; margin: 2.5rem 0 0.9rem; padding: 0; border: 0; }
.sc-article-body h3 { font-size: 1.2rem; margin: 1.8rem 0 0.5rem; }
.sc-article-body p, .sc-article-body ul, .sc-article-body ol { margin: 0 0 1.25rem; }
.sc-article-body li { margin-bottom: 0.5rem; }
.sc-article-body ol { counter-reset: n; list-style: none; padding-left: 0; }
.sc-article-body ol > li { counter-increment: n; position: relative; padding-left: 2.6rem; }
.sc-article-body ol > li::before { content: counter(n); position: absolute; left: 0; top: 0.15em; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--red-100); color: var(--deep); font-weight: 800; font-size: 0.85rem; display: grid; place-items: center; }
.sc-article-body ul { padding-left: 1.2rem; }
.sc-article-body ul li::marker { color: var(--red); }
.sc-article-body blockquote { margin: 2rem 0; padding: 1.25rem 1.5rem; border: 0; border-left: 5px solid var(--red); background: var(--card); border-radius: 0 16px 16px 0; font-size: 1.2rem; font-weight: 600; line-height: 1.5; color: var(--ink); font-style: normal; }
.sc-article-body blockquote p { margin: 0; }
.sc-article-body .wp-block-table { margin: 1.75rem 0; }
.sc-article-body table { width: 100%; border-collapse: collapse; font-size: 0.95rem; background: var(--card); border-radius: 14px; overflow: hidden; box-shadow: var(--shadow); }
.sc-article-body th { background: var(--ink); color: var(--paper); text-align: left; padding: 0.7rem 0.8rem; font-size: 0.82rem; }
.sc-article-body td { padding: 0.65rem 0.8rem; border-bottom: 1px solid var(--n300); font-variant-numeric: tabular-nums; }
.sc-article-body tr:last-child td { border-bottom: 0; }
.sc-article-body figcaption { font-size: 0.82rem; color: var(--graphite); margin-top: 0.6rem; text-align: left; }
.sc-article-body a { color: var(--deep); }
.sc-article-schools, .sc-article-topics, .sc-article-more { max-width: 760px; margin: 2.5rem auto 0; }
.sc-article-more { max-width: 1080px; }
.sc-article-schools h2, .sc-article-more h2 { font-size: 1.3rem; margin: 0 0 1rem; display: flex; align-items: center; gap: 0.6rem; }
.sc-article-schools h2::before, .sc-article-more h2::before { content: ""; width: 6px; height: 1.1em; border-radius: 3px; background: var(--red); }
.sc-article-topics { display: flex; gap: 0.8rem; align-items: center; flex-wrap: wrap; padding-top: 1.25rem; border-top: 1px solid var(--n300); }
.sc-article-topics > span { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--graphite); }
.sc-article-topics .sc-chips { margin: 0; }
.sc-article .sc-write { max-width: 1080px; margin: 2.5rem auto 0; }
@media (max-width: 600px) { .sc-share { margin-left: 0; } .sc-article-body { font-size: 1.04rem; } }

/* Article cards */
.sc-acards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.sc-acard { display: flex; flex-direction: column; background: var(--card); border-radius: 18px; overflow: hidden; box-shadow: var(--shadow); text-decoration: none; color: var(--ink); transition: box-shadow 0.2s ease, transform 0.2s ease; }
.sc-acard:hover { color: var(--ink); box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.sc-acard-img { display: grid; place-items: center; aspect-ratio: 16 / 9; background: var(--red-100); color: var(--deep); overflow: hidden; }
.sc-acard-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s ease; }
.sc-acard:hover .sc-acard-img img { transform: scale(1.03); }
.sc-acard-img .sc-ico { width: 2.5rem; height: 2.5rem; }
.sc-acard-body { display: grid; gap: 0.45rem; padding: 1rem 1.1rem 1.2rem; }
.sc-acard-body .sc-post-meta span { color: var(--graphite); }
.sc-acard-body strong { font-size: 1.12rem; font-weight: 800; line-height: 1.3; }
.sc-acard-ex { font-size: 0.9rem; color: var(--graphite); line-height: 1.5; }
.sc-acard em { font-style: normal; font-weight: 800; font-size: 0.85rem; color: var(--deep); }
.sc-acard.is-lead { grid-column: 1 / -1; flex-direction: row; }
.sc-acard.is-lead .sc-acard-img { width: 58%; flex: none; aspect-ratio: auto; min-height: 340px; }
.sc-acard.is-lead .sc-acard-body { align-content: center; padding: 2rem; }
.sc-acard.is-lead strong { font-size: 1.85rem; line-height: 1.15; letter-spacing: -0.01em; }
.sc-acard.is-lead .sc-acard-ex { font-size: 1.02rem; }
@media (max-width: 900px) { .sc-acards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) {
	.sc-acards { grid-template-columns: 1fr; }
	.sc-acard.is-lead { flex-direction: column; }
	.sc-acard.is-lead .sc-acard-img { width: auto; min-height: 0; aspect-ratio: 16 / 9; }
	.sc-acard.is-lead .sc-acard-body { padding: 1.1rem; }
	.sc-acard.is-lead strong { font-size: 1.35rem; }
}
@media (prefers-reduced-motion: reduce) { .sc-acard, .sc-acard-img img { transition: none; } .sc-acard:hover { transform: none; } }

/* News index */
.sc-news-index { display: grid; gap: 2rem; }
.sc-news-head h1 { font-size: clamp(2rem, 4vw, 2.8rem); margin: 0 0 0.4rem; }
.sc-news-head p { margin: 0 0 1rem; color: var(--graphite); font-size: 1.05rem; }
.sc-news-head .sc-area-switch a { text-decoration: none; border-radius: 999px; padding: 0.45rem 0.95rem; font-size: 0.88rem; font-weight: 600; border: 1px solid var(--n300); background: var(--card); color: var(--ink); }
.sc-news-head .sc-area-switch a:hover { background: var(--red-100); border-color: var(--red-500); color: var(--deep); }
.sc-news-head .sc-area-switch a[aria-current="page"] { background: var(--ink); border-color: var(--ink); color: var(--paper); }
@media (max-width: 768px) { .sc-news-index, .sc-article { padding: 0 16px; } }

/* v2.5 byline on phones: avatar beside name, share row below */
@media (max-width: 640px) {
	.sc-byline { display: grid; grid-template-columns: 44px 1fr; gap: 0.75rem 0.85rem; }
	.sc-byline .sc-share { grid-column: 1 / -1; margin-left: 0; }
}

/* v2.6 brand icon set: the red detail turns to the text colour on coloured or dark surfaces */
.sc-ico-brand { flex: none; }
.sc-hero, .sc-btn, .sc-btn-primary, .main-navigation .sc-find-btn, .sc-finder button[type="submit"], .sc-chip.is-active,
.sc-pill.is-active, .site-footer, .sc-site-footer, .sc-feat-banner, [class*="is-dark"] { --ico-accent: currentColor; }
.sc-city .sc-ico { font-size: 3rem; margin-bottom: 0.5rem; color: var(--ink); }
.sc-city .sc-ico:not(.sc-ico-brand) { stroke-width: 0.9; }
.sc-city.is-soon .sc-ico { color: var(--n400); --ico-accent: var(--n400); }

/* v2.7 FAQs on school profiles */
.sc-faq-list { display: grid; gap: 0.6rem; }
.sc-faq { background: var(--card); border: 1px solid var(--n300); border-radius: var(--r); transition: border-color .15s, box-shadow .15s; }
.sc-faq[open] { border-color: var(--red-500); box-shadow: var(--shadow); }
.sc-faq summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; font-weight: 700; font-size: 1.02rem; color: var(--ink); }
.sc-faq summary::-webkit-details-marker { display: none; }
.sc-faq summary i { flex: none; position: relative; width: 28px; height: 28px; border-radius: 50%; background: var(--red-100); }
.sc-faq summary i::before, .sc-faq summary i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; background: var(--deep); border-radius: 2px; transition: transform .2s; }
.sc-faq summary i::after { transform: rotate(90deg); }
.sc-faq[open] summary i { background: var(--red); }
.sc-faq[open] summary i::before, .sc-faq[open] summary i::after { background: #fff; }
.sc-faq[open] summary i::after { transform: rotate(0deg); }
.sc-faq summary:hover span { color: var(--deep); }
.sc-faq summary:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; border-radius: var(--r); }
.sc-faq p { margin: 0; padding: 0 1.15rem 1.1rem; color: #3a3736; line-height: 1.65; }

/* v2.7 Homepage newsroom: masthead-style block, lead story plus numbered list */
.sc-newsroom { background: var(--card); border-radius: var(--r-lg); box-shadow: var(--shadow); padding: 1.6rem 1.75rem 1.75rem; border-top: 5px solid var(--ink); }
.sc-newsroom-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; margin-bottom: 1.4rem; border-bottom: 1px solid var(--ink); box-shadow: 0 3px 0 -2px var(--ink); }
.sc-newsroom-kicker { display: inline-flex; align-items: center; gap: 0.45rem; margin: 0 0 0.35rem; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--deep); }
.sc-newsroom-kicker .sc-ico { font-size: 1.05rem; }
.sc-newsroom-head h2 { margin: 0; font-size: clamp(1.5rem, 2.6vw, 2rem); letter-spacing: -0.01em; }
.sc-newsroom-all { flex: none; font-weight: 700; color: var(--deep); text-decoration: none; padding: 0.5rem 1rem; border: 1px solid var(--n300); border-radius: 999px; background: var(--paper); }
.sc-newsroom-all:hover { background: var(--red-100); border-color: var(--red-500); }
.sc-newsroom-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1.75rem; }
.sc-nr-lead { display: grid; gap: 1rem; text-decoration: none; color: var(--ink); align-content: start; }
.sc-nr-img { display: block; aspect-ratio: 16 / 9; border-radius: var(--r); overflow: hidden; background: var(--blush); }
.sc-nr-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s; }
.sc-nr-img > .sc-ico { font-size: 3rem; margin: 2rem; color: var(--deep); }
.sc-nr-lead:hover .sc-nr-img img { transform: scale(1.03); }
.sc-nr-body { display: grid; gap: 0.5rem; }
.sc-nr-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.75rem; font-size: 0.8rem; color: var(--graphite); }
.sc-nr-meta b { color: #fff; background: var(--red); padding: 0.18rem 0.55rem; border-radius: 999px; font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; }
.sc-nr-lead strong { font-size: clamp(1.35rem, 2.2vw, 1.75rem); line-height: 1.2; font-weight: 800; letter-spacing: -0.01em; }
.sc-nr-lead:hover strong { color: var(--deep); }
.sc-nr-ex { color: var(--graphite); line-height: 1.6; }
.sc-nr-side { display: grid; gap: 1.1rem; align-content: start; }
.sc-nr-list { list-style: none; margin: 0; padding: 0; }
.sc-nr-list li + li { border-top: 1px solid var(--n300); }
.sc-nr-list a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.9rem; align-items: start; padding: 0.95rem 0; text-decoration: none; color: var(--ink); }
.sc-nr-list li:first-child a { padding-top: 0; }
.sc-nr-num { font-size: 1.9rem; font-weight: 800; line-height: 1; color: var(--red-500); opacity: 0.85; min-width: 2.2ch; }
.sc-nr-txt { display: grid; gap: 0.25rem; }
.sc-nr-txt b { font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--deep); }
.sc-nr-txt strong { font-size: 1.05rem; line-height: 1.3; }
.sc-nr-list a:hover strong { color: var(--deep); text-decoration: underline; text-underline-offset: 3px; }
.sc-nr-txt time { font-size: 0.8rem; color: var(--graphite); }
.sc-nr-thumb { width: 92px; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: var(--blush); }
.sc-nr-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sc-nr-topics { background: var(--paper); border-radius: var(--r); padding: 0.9rem 1rem; }
.sc-nr-topics p { margin: 0 0 0.55rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--graphite); }
.sc-nr-topics ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.45rem; }
.sc-nr-topics a { display: inline-block; padding: 0.35rem 0.85rem; border-radius: 999px; background: var(--card); border: 1px solid var(--n300); color: var(--ink); font-size: 0.86rem; font-weight: 600; text-decoration: none; }
.sc-nr-topics a:hover { border-color: var(--red-500); background: var(--red-100); color: var(--deep); }
.sc-nr-cta { display: grid; grid-template-columns: auto 1fr auto; gap: 0.8rem; align-items: center; padding: 0.95rem 1rem; border-radius: var(--r); background: var(--blush); color: var(--ink); text-decoration: none; }
.sc-nr-cta > .sc-ico { font-size: 1.6rem; }
.sc-nr-cta b { display: block; font-size: 0.98rem; }
.sc-nr-cta span:not([aria-hidden]) { font-size: 0.88rem; color: #4a4645; }
.sc-nr-cta:hover { background: #ffd3c9; }
@media (max-width: 860px) {
	.sc-newsroom { padding: 1.2rem 1rem 1.25rem; }
	.sc-newsroom-grid { grid-template-columns: 1fr; }
	.sc-newsroom-head { flex-direction: column; align-items: flex-start; }
	.sc-nr-thumb { width: 72px; }
}

/* =====================================================================
 * v2.8 Editing controls, sticky header and sidebar, list pages, quieter feedback strip
 * ===================================================================== */

/* Sticky header (Customizer: School lists and layout) */
.sc-sticky-head .site-header { position: sticky; top: 0; z-index: 60; background: var(--paper); box-shadow: 0 1px 0 var(--n300); transition: box-shadow .2s; }
.admin-bar.sc-sticky-head .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar.sc-sticky-head .site-header { top: 0; } }
.sc-sticky-head .site-header.is-scrolled { box-shadow: 0 6px 18px rgba(32, 30, 29, 0.08); }
.sc-sticky-head .sc-tabs { top: var(--sc-head, 0px); }

/* Floating sidebar: top is set by script so tall sidebars stick by their bottom edge */
@media (min-width: 769px) {
	.sc-sticky-side #right-sidebar .inside-right-sidebar { position: sticky; top: calc(var(--sc-head, 0px) + 16px); }
}

/* Section headings now wrap title + line in one block */
.sc-block-head > div > h2 { margin: 0; }
.sc-block-head > div > .sc-block-sub { margin: 0.3rem 0 0; }

/* One-city layout for "Explore by city" */
.sc-city-wide { display: grid; grid-template-columns: minmax(220px, 280px) 1fr; gap: 1.25rem; align-items: center; background: var(--card); border-radius: var(--r-lg); padding: 1.25rem; box-shadow: var(--shadow); }
.sc-city-wide-main { display: flex; align-items: center; gap: 1rem; text-decoration: none; color: var(--ink); padding-right: 1.25rem; border-right: 1px solid var(--n300); }
.sc-city-wide-main .sc-ico { font-size: 3.4rem; flex: none; }
.sc-city-wide-main strong { display: block; font-size: 1.5rem; }
.sc-city-wide-main em { font-style: normal; font-weight: 700; color: var(--deep); font-size: 0.92rem; }
.sc-city-wide-main:hover strong { color: var(--deep); }
.sc-city-wide .sc-chips { margin: 0; }
@media (max-width: 700px) {
	.sc-city-wide { grid-template-columns: 1fr; }
	.sc-city-wide-main { border-right: 0; padding-right: 0; border-bottom: 1px solid var(--n300); padding-bottom: 1rem; }
}

/* Newsroom: same frame as other homepage sections (no card, no black rule) */
.sc-newsroom { background: none; box-shadow: none; border-top: 0; padding: 0; border-radius: 0; }
.sc-newsroom .sc-block-head { align-items: flex-end; }
.sc-newsroom-kicker { margin: 0 0 0.3rem; }

/* Quiet feedback strip (replaces the big "Write to us" box) */
.sc-write { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem 1.25rem; margin: 2rem 0 0; padding: 0.85rem 0; border-top: 1px solid var(--n300); border-bottom: 1px solid var(--n300); background: none; box-shadow: none; border-radius: 0; font-size: 0.92rem; color: var(--graphite); }
.sc-write p { display: flex; align-items: center; gap: 0.5rem; margin: 0; }
.sc-write p .sc-ico { color: var(--graphite); font-size: 1.05rem; --ico-accent: var(--graphite); }
.sc-write ul { list-style: none; display: flex; flex-wrap: wrap; gap: 0.25rem 1.1rem; margin: 0; padding: 0; }
.sc-write a { color: var(--ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--n400); text-underline-offset: 3px; }
.sc-write a:hover { color: var(--deep); text-decoration-color: var(--red); }

/* School list: filter bar as a form, and page numbers */
form.sc-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 0.8rem; }
form.sc-toolbar .sc-search { flex: 1 1 260px; }
form.sc-toolbar .sc-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
form.sc-toolbar .sc-count-line { flex-basis: 100%; margin: 0.2rem 0 0; }
.sc-btn-sm { padding: 0.5rem 1rem; font-size: 0.88rem; }
.js form.sc-toolbar button[type="submit"] { display: none; }
.sc-clear { font-size: 0.88rem; font-weight: 600; color: var(--deep); }
.sc-pager { margin: 1.5rem 0 0.5rem; }
.sc-pager ul.page-numbers { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; justify-content: center; }
.sc-pager .page-numbers li { margin: 0; }
.sc-pager a.page-numbers, .sc-pager span.page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 2.5rem; height: 2.5rem; padding: 0 0.85rem; border-radius: 999px; border: 1px solid var(--n300); background: var(--card); color: var(--ink); font-weight: 600; text-decoration: none; font-size: 0.92rem; }
.sc-pager a.page-numbers:hover { border-color: var(--red-500); background: var(--red-100); color: var(--deep); }
.sc-pager span.page-numbers.current { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.sc-pager span.page-numbers.dots { border: 0; background: none; min-width: 1.5rem; padding: 0; }
.sc-newsroom .sc-newsroom-kicker { display: flex; }

/* Contact form */
.sc-form { background: var(--card); border-radius: var(--r-lg); box-shadow: var(--shadow); padding: 1.5rem; margin: 1.5rem 0; }
.sc-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.1rem; }
.sc-form-grid label { display: grid; gap: 0.35rem; font-weight: 600; font-size: 0.9rem; color: var(--ink); }
.sc-form-grid label.is-wide { grid-column: 1 / -1; }
.sc-form input[type="text"], .sc-form input[type="email"], .sc-form select, .sc-form textarea { width: 100%; padding: 0.7rem 0.85rem; border: 1px solid var(--n300); border-radius: 10px; background: var(--paper); font: inherit; font-weight: 400; color: var(--ink); }
.sc-form input:focus, .sc-form select:focus, .sc-form textarea:focus { outline: 2px solid var(--red); outline-offset: 1px; border-color: transparent; background: #fff; }
.sc-form-check { display: flex !important; align-items: flex-start; gap: 0.6rem; font-weight: 400 !important; color: var(--graphite) !important; }
.sc-form-check input { margin-top: 0.25rem; accent-color: var(--red); }
.sc-form-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem; margin: 1.25rem 0 0; color: var(--graphite); font-size: 0.88rem; }
.sc-form-foot .sc-btn { border: 0; cursor: pointer; }
.sc-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sc-form-msg { display: flex; gap: 0.7rem; align-items: flex-start; border-radius: var(--r); padding: 1rem 1.15rem; margin: 1rem 0; }
.sc-form-msg p { margin: 0; }
.sc-form-msg.is-ok { background: #e8f4ec; color: #1d5b33; }
.sc-form-msg.is-ok .sc-ico { font-size: 1.4rem; flex: none; --ico-accent: #1d5b33; }
.sc-form-msg.is-err { background: var(--red-100); color: var(--deep); }
@media (max-width: 640px) { .sc-form-grid { grid-template-columns: 1fr; } .sc-form { padding: 1.1rem; } }

/* Brand resources */
.sc-res { display: grid; gap: 2.5rem; margin: 1.5rem 0; }
.sc-res-files { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0.8rem; }
.sc-res-file { display: grid; grid-template-columns: auto 1fr auto; gap: 0.85rem; align-items: center; padding: 1rem 1.1rem; background: var(--card); border-radius: var(--r); box-shadow: var(--shadow); text-decoration: none; color: var(--ink); }
.sc-res-file > .sc-ico { font-size: 1.6rem; color: var(--deep); }
.sc-res-file strong { display: block; }
.sc-res-file small { color: var(--graphite); font-size: 0.82rem; }
.sc-res-file em { font-style: normal; font-weight: 700; font-size: 0.85rem; color: var(--deep); }
.sc-res-file:hover { box-shadow: var(--shadow-hover); }
.sc-res-logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.sc-res-logo { margin: 0; background: var(--card); border-radius: var(--r); box-shadow: var(--shadow); overflow: hidden; }
.sc-res-prev { display: grid; place-items: center; height: 150px; padding: 1.5rem; }
.sc-res-prev img { max-width: 100%; max-height: 90px; width: auto; }
.sc-res-prev.is-light { background: #fff; }
.sc-res-prev.is-dark { background: var(--ink); }
.sc-res-prev.is-red { background: var(--red); }
.sc-res-logo figcaption { display: grid; gap: 0.2rem; padding: 0.85rem 1rem 1rem; }
.sc-res-logo figcaption span { color: var(--graphite); font-size: 0.85rem; }
.sc-res-dl { display: flex; gap: 0.5rem; margin-top: 0.45rem; }
.sc-res-dl a { font-size: 0.8rem; font-weight: 700; text-decoration: none; color: var(--ink); border: 1px solid var(--n300); border-radius: 999px; padding: 0.25rem 0.75rem; }
.sc-res-dl a:hover { border-color: var(--red-500); background: var(--red-100); color: var(--deep); }
.sc-res-colours { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0.8rem; }
.sc-res-swatch { width: 100%; text-align: left; display: grid; gap: 0.2rem; padding: 0 0 0.85rem; border: 0; border-radius: var(--r); background: var(--card); box-shadow: var(--shadow); cursor: pointer; overflow: hidden; font: inherit; color: var(--ink); }
.sc-res-chip { display: block; height: 84px; background: var(--sw); margin-bottom: 0.55rem; border-bottom: 1px solid rgba(0,0,0,.06); }
.sc-res-swatch strong, .sc-res-swatch code, .sc-res-swatch small { padding: 0 0.85rem; }
.sc-res-swatch code { background: none; font-size: 0.85rem; color: var(--graphite); }
.sc-res-swatch small { font-size: 0.78rem; color: var(--graphite); }
.sc-res-swatch.is-copied code::after { content: "  Copied"; color: var(--deep); font-weight: 700; }
.sc-res-two { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.sc-res-two > div { background: var(--card); border-radius: var(--r); padding: 1rem 1.2rem; box-shadow: var(--shadow); }
.sc-res-two h3 { margin: 0 0 0.5rem; font-size: 1rem; }
.sc-res-two ul { margin: 0; padding-left: 1.1rem; }
.sc-res-note { color: var(--graphite); font-size: 0.9rem; margin-top: 1rem; }
@media (max-width: 640px) { .sc-res-two { grid-template-columns: 1fr; } }
body.page:not(.home) .entry-content:has(.sc-res), body.page:not(.home) .entry-content:has(.sc-results) { max-width: none; }
body.page:not(.home) .entry-content .sc-res h2, body.page:not(.home) .entry-content .sc-results h2 { border-top: 0; padding-top: 0; margin-top: 0; }

/* Board results page, homepage teaser and toppers */
.sc-results { display: grid; gap: 2.25rem; margin: 1.25rem 0; }
.sc-board-stats, .sc-home-results-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.sc-board-stat { background: var(--card); border-radius: var(--r); box-shadow: var(--shadow); padding: 1.1rem 1.2rem; display: grid; align-content: start; gap: 0.15rem; border-top: 4px solid var(--red); }
.sc-board-stat p { margin: 0; }
.sc-board-stat-k { font-size: 0.74rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--graphite); }
.sc-board-stat-v { font-size: 2.3rem; font-weight: 800; line-height: 1.1; color: var(--ink); }
.sc-board-stat-l { font-size: 0.85rem; color: var(--graphite); }
.sc-board-stat-n { font-size: 0.85rem; color: #4a4645; margin-top: 0.5rem !important; line-height: 1.5; }
.sc-board-stat-s { font-size: 0.8rem; font-weight: 700; color: var(--deep); margin-top: 0.4rem; }
.sc-results-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 0.45rem; }
.sc-results-chips span { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--graphite); margin-right: 0.3rem; }
.sc-results-chips a { padding: 0.4rem 0.95rem; border-radius: 999px; border: 1px solid var(--n300); background: var(--card); color: var(--ink); font-weight: 600; font-size: 0.88rem; text-decoration: none; }
.sc-results-chips a:hover { border-color: var(--red-500); background: var(--red-100); color: var(--deep); }
.sc-results-h3 { font-size: 1.1rem; margin: 1.25rem 0 0.6rem; }
.sc-results-table td a { font-weight: 700; color: var(--ink); text-decoration: none; }
.sc-results-table td a:hover { color: var(--deep); text-decoration: underline; }
.sc-top-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.sc-top-card { background: var(--card); border-radius: var(--r); box-shadow: var(--shadow); padding: 1rem 1.15rem; }
.sc-top-card h4 { margin: 0 0 0.5rem; font-size: 1rem; }
.sc-top-card h4 a { color: var(--ink); text-decoration: none; }
.sc-top-card h4 a:hover { color: var(--deep); }
.sc-top-k { margin: 0.6rem 0 0.35rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--deep); }
.sc-top-card .sc-top-k:first-child { margin-top: 0; }
.sc-top-list { list-style: none; margin: 0; padding: 0; }
.sc-top-list li { display: grid; grid-template-columns: 1fr auto auto; gap: 0.6rem; align-items: center; padding: 0.45rem 0; border-bottom: 1px solid var(--n300); font-size: 0.93rem; }
.sc-top-list li:last-child { border-bottom: 0; }
.sc-top-name { display: inline-flex; align-items: center; gap: 0.45rem; font-weight: 600; }
.sc-top-name .sc-ico { color: var(--red); font-size: 1rem; flex: none; }
.sc-top-stream { font-size: 0.78rem; color: var(--graphite); }
.sc-top-list b { font-variant-numeric: tabular-nums; }
.sc-top-src, .sc-top-sum { font-size: 0.85rem; color: var(--graphite); margin: 0.6rem 0 0; }
.sc-top-src a { color: var(--deep); font-weight: 600; }
.sc-results-note { font-size: 0.88rem; color: var(--graphite); border-top: 1px solid var(--n300); padding-top: 1rem; }
.sc-home-results .sc-top-card.is-mini h4 { margin-bottom: 0.4rem; }
.sc-top-grid { grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); }
.sc-board-stats, .sc-home-results-grid { grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }
@media (max-width: 760px) {
	.sc-results .sc-table-wrap { overflow-x: auto; background: var(--card); box-shadow: var(--shadow); }
	.sc-results .sc-results-table { min-width: 560px; }
	.sc-results .sc-results-table th:first-child, .sc-results .sc-results-table td:first-child { position: sticky; left: 0; background: var(--card); z-index: 1; min-width: 150px; }
}
.sc-results > *, .sc-results-block > * { min-width: 0; }

/* v2.9 Results page: categories, topper tables, board cards */
.sc-results-chips { position: sticky; top: calc(var(--sc-head, 72px) + 8px); z-index: 20; background: var(--paper); padding: 0.5rem 0; }
.sc-results-block { scroll-margin-top: calc(var(--sc-head, 72px) + 70px); }
.sc-toppers-table td { vertical-align: middle; }
.sc-toppers-table .sc-top-name { display: inline-flex; align-items: center; gap: 0.45rem; font-weight: 700; }
.sc-toppers-table .sc-top-name .sc-ico { color: var(--red); flex: none; }
.sc-toppers-table td a { font-weight: 600; color: var(--deep); }
.sc-src-link { font-size: 0.78rem; color: var(--graphite) !important; font-weight: 500 !important; margin-left: 0.35rem; }
.sc-results-empty { display: flex; gap: 0.8rem; align-items: flex-start; background: var(--card); border-radius: var(--r); padding: 1rem 1.15rem; box-shadow: var(--shadow); }
.sc-results-empty .sc-ico { color: var(--info); font-size: 1.3rem; flex: none; margin-top: 0.15rem; }
.sc-results-empty p { margin: 0; line-height: 1.6; }
.sc-board-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr)); gap: 1rem; }
.sc-board-card { background: var(--card); border-radius: var(--r); box-shadow: var(--shadow); padding: 1.1rem 1.2rem; border-top: 4px solid var(--red); }
.sc-board-card h3 { margin: 0 0 0.8rem; font-size: 1.1rem; }
.sc-board-card-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.sc-board-fig span { display: block; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--graphite); }
.sc-board-fig strong { display: block; font-size: 1.8rem; line-height: 1.1; margin-top: 0.2rem; }
.sc-board-fig em { font-style: normal; font-size: 0.82rem; color: var(--graphite); }
.sc-board-fig p { margin: 0.45rem 0 0.25rem; font-size: 0.8rem; color: #4a4645; line-height: 1.45; }
.sc-board-fig a { font-size: 0.78rem; font-weight: 600; color: var(--deep); }
@media (max-width: 760px) {
	.sc-results .sc-toppers-table { min-width: 640px; }
	.sc-results .sc-toppers-table th:first-child, .sc-results .sc-toppers-table td:first-child { position: sticky; left: 0; background: var(--card); z-index: 1; }
	.sc-results-chips { overflow-x: auto; flex-wrap: nowrap; white-space: nowrap; }
}
.sc-city-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
@media (max-width: 480px) { .sc-city-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* v2.10 Sticky bars never slide under the header, even before scripts run */
.sc-sticky-head .sc-tabs { top: calc(var(--sc-head, 96px) + 6px); z-index: 40; }
.admin-bar.sc-sticky-head .sc-tabs { top: calc(var(--sc-head, 128px) + 6px); }
.sc-sticky-head .site-header { z-index: 60; }

/* v2.10 Info pages: sidebar with quick links, contact and policies */
.sc-info-page #right-sidebar .widget:not(.sc-side), .single-school #right-sidebar .widget:not(.sc-side) { display: none; }
.sc-info-page .entry-content { max-width: 72ch; }
.sc-page-brand { display: grid; gap: 0.5rem; }
.sc-page-brand img { border-radius: 12px; }
.sc-page-tag { margin: 0.3rem 0 0; font-weight: 800; font-size: 1.15rem; line-height: 1.3; color: var(--ink); }
.sc-page-blurb { margin: 0; font-size: 0.9rem; color: var(--graphite); line-height: 1.55; }
.sc-page-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.15rem; }
.sc-page-links a { display: flex; align-items: center; gap: 0.6rem; padding: 0.5rem 0.6rem; border-radius: 10px; color: var(--ink); text-decoration: none; font-weight: 600; font-size: 0.93rem; }
.sc-page-links a .sc-ico { color: var(--deep); flex: none; }
.sc-page-links a:hover { background: var(--red-100); color: var(--deep); }
.sc-page-links a.is-on { background: var(--ink); color: #fff; }
.sc-page-links a.is-on .sc-ico { color: #fff; --ico-accent: #fff; }
.sc-page-contact p { margin: 0 0 0.6rem; font-size: 0.9rem; color: #4a4645; line-height: 1.55; }
.sc-page-mail { display: flex; align-items: center; gap: 0.45rem; font-weight: 700; }
.sc-page-mail a { color: var(--deep); word-break: break-all; }

/* Add a school form */
.sc-addform fieldset { border: 0; margin: 0 0 1.4rem; padding: 0 0 1.2rem; border-bottom: 1px solid var(--n300); }
.sc-addform legend { display: flex; align-items: center; gap: 0.55rem; font-weight: 800; font-size: 1.08rem; margin-bottom: 0.9rem; padding: 0; color: var(--ink); }
.sc-addform legend b { display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--red); color: #fff; font-size: 0.85rem; }
.sc-addform legend em { font-style: normal; font-weight: 500; color: var(--graphite); font-size: 0.9rem; }
.sc-fs-note { margin: -0.4rem 0 0.9rem; font-size: 0.88rem; color: var(--graphite); }
.sc-form-checks > span { display: block; font-weight: 600; font-size: 0.9rem; margin-bottom: 0.45rem; }
.sc-form-checks > div { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.sc-chip-check { position: relative; display: inline-flex !important; cursor: pointer; }
.sc-chip-check input { position: absolute; opacity: 0; pointer-events: none; }
.sc-chip-check span { padding: 0.45rem 0.9rem; border: 1px solid var(--n300); border-radius: 999px; background: var(--paper); font-weight: 600; font-size: 0.88rem; transition: background .15s, border-color .15s; }
.sc-chip-check input:checked + span { background: var(--ink); border-color: var(--ink); color: #fff; }
.sc-chip-check input:focus-visible + span { outline: 2px solid var(--red); outline-offset: 2px; }
.sc-addform-consent { margin-bottom: 0.5rem; }
@media (max-width: 640px) { .sc-form-grid { grid-template-columns: 1fr !important; } }
.sc-info-page .entry-content, body.page.sc-info-page:not(.home) .entry-content { max-width: none; }
.sc-form input[type="tel"], .sc-form input[type="url"], .sc-form input[type="number"] { width: 100%; padding: 0.7rem 0.85rem; border: 1px solid var(--n300); border-radius: 10px; background: var(--paper); font: inherit; font-weight: 400; color: var(--ink); }
.sc-addform .sc-form-grid { align-items: start; }
/* Official platform logos */
.sc-socs.is-kp .sc-soc.has-logo { background: #fff !important; border: 1px solid var(--n300); box-shadow: none; }
.sc-socs.is-kp .sc-soc.has-logo:hover { border-color: var(--n400); box-shadow: var(--shadow); filter: none; }
.sc-soc.has-logo img { width: 22px; height: 22px; }
.sc-act-logo { width: 18px; height: 18px; display: block; }

/* School logo in place of initials */
.sc-mono.has-logo, .sc-kp-name .sc-mono.has-logo, .sc-phero-id .sc-mono.has-logo, .sc-thumb.is-mono .sc-mono.has-logo { background: #fff; padding: 0.3rem; overflow: hidden; }
.sc-mono.has-logo .sc-logo-img { width: 100%; height: 100%; object-fit: contain; display: block; border-radius: inherit; }
.sc-phero-id .sc-mono.has-logo { padding: 0.45rem; }
.sc-thumb.is-mono .sc-mono.has-logo { background: transparent; padding: 18%; }

/* v2.10.6 No clipped text; full-width summary; slimmer logo frame */
.sc-summary { max-width: none; }
.sc-kp-dl { grid-template-columns: minmax(6.5rem, 42%) 1fr; column-gap: 0.75rem; }
.sc-kp-dl dt, .sc-kp-dl dd { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.4; }
.sc-fact strong, .sc-fact span, .sc-facts strong, .sc-facts span { white-space: normal; overflow: visible; text-overflow: clip; }
.sc-mono.has-logo, .sc-kp-name .sc-mono.has-logo, .sc-phero-id .sc-mono.has-logo { padding: 2px; background: #fff; border-radius: 12px; box-shadow: 0 0 0 1px rgba(0,0,0,0.06); }
.sc-mono.has-logo .sc-logo-img { border-radius: 10px; }

/* v2.10.7 No repeated information: the side panel is a contact card (description and Overview facts
   appear only in the main column); the sidebar Admissions box shows only if the Admissions section is hidden;
   Board and Classes appear once, in the strip under the hero. */

/* ===================================================================
   v2.11.0 Boards by category, Boards guide, parent questions, search pop-up,
   separate Photos and Videos, mobile logo and panel
   =================================================================== */

/* Header: stacked logo on phones and tablets */
.sc-logo-pic { display: block; line-height: 0; }
@media (max-width: 768px) {
	.site-logo .header-image { width: auto; height: 32px; max-width: 60vw; }
}
.sc-menu-cta a { display: inline-flex; align-items: center; gap: 0.4rem; }
.sc-menu-cta a .sc-ico, .sc-menu-cta a svg { width: 1em; height: 1em; flex: none; }

/* Search pop-up */
html.sc-noscroll { overflow: hidden; }
.sc-sdlg { width: min(640px, calc(100vw - 32px)); max-height: min(80vh, 640px); margin: 9vh auto auto; padding: 0; border: 0; border-radius: var(--r-lg); background: var(--paper); color: var(--ink); box-shadow: 0 24px 64px rgba(32, 30, 29, 0.28); overflow: auto; }
.sc-sdlg::backdrop { background: rgba(32, 30, 29, 0.55); backdrop-filter: blur(2px); }
.sc-sdlg-form { margin: 0; }
.sc-sdlg-bar { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; gap: 0.6rem; padding: 0.9rem 1rem; background: var(--paper); border-bottom: var(--soft-rule); }
.sc-sdlg-bar > svg, .sc-sdlg-bar > .sc-ico { width: 1.25rem; height: 1.25rem; color: var(--red); flex: none; }
.sc-sdlg-bar input { flex: 1; min-width: 0; border: 0 !important; background: transparent !important; font-size: 1.1rem; font-weight: 600; padding: 0.35rem 0 !important; box-shadow: none !important; outline: none; color: var(--ink); }
.sc-sdlg-x { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; padding: 0; border-radius: 50%; background: var(--card) !important; color: var(--ink) !important; flex: none; }
.sc-sdlg-x:hover { background: var(--red-100) !important; }
.sc-sdlg-x svg { width: 1.1rem; height: 1.1rem; }
.sc-sdlg-res { list-style: none; margin: 0; padding: 0.4rem; }
.sc-sdlg-res a { display: grid; gap: 0.1rem; padding: 0.65rem 0.8rem; border-radius: var(--r-sm); text-decoration: none; color: var(--ink); }
.sc-sdlg-res a strong { font-weight: 700; }
.sc-sdlg-res a span { font-size: 0.84rem; color: var(--graphite); }
.sc-sdlg-res a:hover, .sc-sdlg-res a.is-active { background: var(--red-100); }
.sc-sdlg-all button { width: 100%; text-align: left; margin-top: 0.25rem; padding: 0.75rem 0.8rem; border-radius: var(--r-sm); background: var(--card) !important; color: var(--deep) !important; font-weight: 700; font-size: 0.92rem; }
.sc-sdlg-more { padding: 0.4rem 1rem 1rem; }
.sc-sdlg-h { margin: 0.9rem 0 0.2rem; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--graphite); }
.sc-sdlg-more .sc-chips { margin: 0.4rem 0 0.4rem; }
.sc-sdlg-more .sc-chips svg { width: 0.95em; height: 0.95em; color: var(--red); }
.sc-sdlg-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1rem; margin: 1rem 0 0; padding-top: 0.85rem; border-top: var(--soft-rule); font-size: 0.9rem; font-weight: 600; }
.sc-sdlg-foot a { color: var(--deep); }
@media (max-width: 560px) { .sc-sdlg { margin-top: 12px; max-height: calc(100vh - 24px); } }

/* Home page: boards grouped by category */
.sc-head-link { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 700; font-size: 0.92rem; color: var(--deep); text-decoration: none; }
.sc-head-link:hover { text-decoration: underline; }
.sc-head-link svg { width: 1.05em; height: 1.05em; }
.sc-board-group + .sc-board-group { margin-top: 1.4rem; }
.sc-board-group-h { margin: 0 0 0.6rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--graphite); }
.sc-home-boards .sc-board-row { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0.9rem; border: 0; }
.sc-board-mono { display: grid; place-items: center; width: 64px; height: 64px; flex: none; border-radius: var(--r-sm); background: var(--paper); font-weight: 800; font-size: 0.85rem; color: var(--ink); text-align: center; }

/* Boards guide page and board cards */
.sc-boards-jump { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1.75rem; }
.sc-boards-jump a { padding: 0.45rem 0.95rem; border-radius: 999px; background: var(--card); box-shadow: var(--shadow); color: var(--ink); text-decoration: none; font-weight: 700; font-size: 0.9rem; }
.sc-boards-jump a:hover { background: var(--red-100); }
.sc-boards-cat { margin: 0 0 2.5rem; scroll-margin-top: calc(var(--sc-head, 96px) + 16px); }
.sc-bcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; }
.sc-bcard { display: flex; flex-direction: column; padding: 1.2rem 1.25rem 1.1rem; border-radius: var(--r-lg); background: var(--card); box-shadow: var(--shadow); scroll-margin-top: calc(var(--sc-head, 96px) + 16px); }
.sc-bcard-head { display: flex; gap: 0.8rem; align-items: center; margin-bottom: 0.7rem; }
.sc-bcard-head img { width: 48px; height: 48px; object-fit: contain; border-radius: var(--r-sm); background: #fff; padding: 4px; flex: none; }
.sc-bcard-mono { display: grid; place-items: center; width: 48px; height: 48px; flex: none; border-radius: var(--r-sm); background: var(--ink); color: var(--paper); font-weight: 800; font-size: 0.72rem; text-align: center; line-height: 1.1; padding: 2px; }
.sc-bcard-cat { display: block; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; color: var(--red); }
.sc-bcard h2, .sc-bcard h3 { margin: 0.1rem 0 0; font-size: 1.05rem; line-height: 1.3; }
.sc-bcard-body { margin: 0 0 0.6rem; font-size: 0.93rem; }
.sc-bcard h4 { margin: 0.2rem 0 0.3rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--graphite); }
.sc-bcard ul { margin: 0 0 0.7rem 1.1rem; padding: 0; font-size: 0.92rem; }
.sc-bcard li { margin: 0.15rem 0; }
.sc-bcard-note { margin: 0 0 0.8rem; font-size: 0.88rem; color: var(--graphite); }
.sc-bcard-links { display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; margin: auto 0 0; padding-top: 0.7rem; border-top: var(--soft-rule); font-size: 0.9rem; font-weight: 700; }
.sc-bcard-links a { color: var(--deep); }
.sc-boards-tips { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0.9rem; }
.sc-boards-tips li { padding: 1rem 1.1rem; border-radius: var(--r); background: var(--card); box-shadow: var(--shadow); font-size: 0.93rem; }
.sc-boards-tips strong { display: block; margin-bottom: 0.25rem; }

/* Board listing pages: "About this board" */
.sc-board-about { margin: 0 0 1.25rem; border-radius: var(--r-lg); background: var(--card); box-shadow: var(--shadow); }
.sc-board-about > summary { display: flex; align-items: center; gap: 0.5rem; padding: 0.85rem 1.1rem; cursor: pointer; font-weight: 700; list-style: none; }
.sc-board-about > summary::-webkit-details-marker { display: none; }
.sc-board-about > summary svg { width: 1.1rem; height: 1.1rem; color: var(--red); }
.sc-board-about > summary::after { content: "+"; margin-left: auto; font-weight: 800; color: var(--graphite); }
.sc-board-about[open] > summary::after { content: "\2212"; }
.sc-board-about .sc-bcard { box-shadow: none; background: transparent; padding-top: 0; }
.sc-board-about .sc-bcard-head { display: none; }
.sc-board-about-more { margin: -0.4rem 1.25rem 1rem; font-weight: 700; font-size: 0.9rem; }

/* Parent questions */
.sc-ask-fs { grid-column: 1 / -1; margin: 0; padding: 0; border: 0; min-width: 0; }
.sc-ask-fs legend { padding: 0; margin-bottom: 0.45rem; font-weight: 600; font-size: 0.9rem; }
.sc-ask-topics { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.sc-form-grid .sc-ask-chip { display: inline-flex; gap: 0; cursor: pointer; }
.sc-ask-chip input { position: absolute; opacity: 0; pointer-events: none; }
.sc-ask-chip span { padding: 0.45rem 0.9rem; border-radius: 999px; border: 1px solid var(--n300); background: var(--card); font-weight: 600; font-size: 0.88rem; }
.sc-ask-chip input:checked + span { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.sc-ask-chip input:focus-visible + span { outline: 2px solid var(--red); outline-offset: 2px; }
.sc-ask-card { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) auto; gap: 1rem 1.5rem; align-items: center; padding: 1.4rem 1.5rem; border-radius: var(--r-lg); background: var(--ink); color: var(--paper); }
.sc-ask-copy { display: flex; gap: 0.9rem; align-items: flex-start; }
.sc-ask-icon { display: grid; place-items: center; width: 3rem; height: 3rem; flex: none; border-radius: 50%; background: var(--red); color: #fff; }
.sc-ask-icon svg { width: 1.5rem; height: 1.5rem; }
.sc-ask-copy h2 { margin: 0 0 0.25rem; color: var(--paper); font-size: 1.35rem; }
.sc-ask-copy p { margin: 0; color: #D7D3D3; font-size: 0.95rem; }
.sc-ask-examples { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; list-style: none; }
.sc-ask-examples a { display: inline-block; padding: 0.35rem 0.75rem; border-radius: 999px; border: 1px solid #605D5D; color: var(--paper); text-decoration: none; font-size: 0.85rem; font-weight: 600; }
.sc-ask-examples a:hover { border-color: var(--red-500); color: #fff; background: rgba(236, 48, 19, 0.2); }
.sc-ask-card .sc-btn { background: var(--red); color: #fff; border-radius: 999px; white-space: nowrap; }
.sc-ask-card .sc-btn:hover { background: var(--red-500); }
.sc-ask-card .sc-btn svg { width: 1em; height: 1em; }
@media (max-width: 900px) { .sc-ask-card { grid-template-columns: 1fr; } .sc-ask-card .sc-btn { justify-self: start; } }
.sc-write li.is-ask a { display: inline-flex; align-items: center; gap: 0.3rem; font-weight: 700; }
.sc-write li.is-ask svg { width: 1em; height: 1em; color: var(--red); }
.sc-empty-note { color: var(--graphite); margin: 0 0 1rem; }

/* School page: Videos as their own section */
.sc-videos.is-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.sc-videos .sc-video { margin: 0; border-radius: var(--r); overflow: hidden; background: var(--ink); }
@media (max-width: 640px) { .sc-videos.is-grid { grid-template-columns: 1fr; } }

/* School details panel: sidebar on wide screens, under the hero on phones */
.sc-kp-mobile { display: none; }
@media (max-width: 768px) {
	.sidebar .sc-kp-side { display: none !important; }
	.sc-kp-mobile { display: block; margin: 1rem 0 0.25rem; border-radius: var(--r-lg); background: var(--card); box-shadow: var(--shadow); overflow: hidden; }
	.sc-kp-mobile .sc-kp-top, .sc-kp-mobile .sc-kp-act { display: none; }
	.sc-kp-mtitle { display: flex; align-items: center; gap: 0.45rem; margin: 0; padding: 0.85rem 1.1rem 0.35rem; font-weight: 800; font-size: 0.95rem; }
	.sc-kp-mtitle svg { width: 1.05rem; height: 1.05rem; color: var(--red); }
	.sc-kp-mobile .sc-kp-dl { border-top: 0; }
	.sc-kp-mobile .sc-kp-row { padding: 0.6rem 1.1rem 0.9rem; }
}
body.page:not(.home) .entry-content:has(.sc-boards) { max-width: none; }
body.page:not(.home) .entry-content:has(.sc-boards) > p:first-child { max-width: 75ch; }
body.page:not(.home) .entry-content .sc-boards h2 { border-top: 0; padding-top: 0; margin-top: 0; }
.sc-sdlg-bar input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
@media (max-width: 768px) {
	/* Header in one row on phones: logo, search icon, menu */
	.sc-menu-cta { padding-left: 0.25rem; }
	.main-navigation .menu-bar-items .sc-menu-cta a, .sc-menu-cta a { width: 2.6rem; height: 2.6rem; padding: 0 !important; justify-content: center; border-radius: 50%; }
	.sc-menu-cta a > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.sc-menu-cta a svg { width: 1.15rem; height: 1.15rem; }
	.sc-kp-mobile { margin-top: 1rem; }
}

/* ===================================================================
   v2.12.0 Full school details panel (no repeats elsewhere), former names, board guide pages
   =================================================================== */
.sc-phero-was { margin: 0.15rem 0 0.2rem; font-size: 0.95rem; font-weight: 600; color: rgba(255, 255, 255, 0.85); }
.sc-phero .sc-actions { margin-bottom: 0.25rem; }
.sc-kp .sc-kp-sum { margin: 0.85rem 0 0.9rem; color: var(--n800); }
@media (max-width: 768px) { .sc-kp-mobile .sc-kp-sum { margin-top: 0.2rem; } }

.sc-btn.is-ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); }
.sc-btn.is-ghost:hover { background: var(--ink); color: var(--paper); }
.sc-btn svg { width: 1em; height: 1em; }
.sc-bcard-guide { color: var(--red) !important; }

/* Board guide pages */
.sc-bg { max-width: 920px; margin: 0 auto; }
.sc-bg-hero { padding: 1.6rem 1.6rem 1.4rem; border-radius: var(--r-lg); background: var(--card); box-shadow: var(--shadow); margin-bottom: 1rem; }
.sc-bg-hero .sc-crumbs { margin-bottom: 0.9rem; font-size: 0.85rem; color: var(--graphite); }
.sc-bg-hero .sc-crumbs a { color: var(--deep); }
.sc-bg-hero .sc-crumbs span[aria-hidden] { margin: 0 0.4rem; color: var(--n400); }
.sc-bg-id { display: flex; gap: 1rem; align-items: center; }
.sc-bg-id img { width: 72px; height: 72px; object-fit: contain; flex: none; border-radius: var(--r); background: #fff; padding: 6px; box-shadow: var(--shadow); }
.sc-bg-id .sc-bcard-mono { width: 72px; height: 72px; font-size: 0.9rem; }
.sc-bg-id h1 { margin: 0.15rem 0 0; font-size: clamp(1.5rem, 3.4vw, 2.2rem); line-height: 1.15; }
.sc-bg-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0.6rem; margin: 1.3rem 0 1.1rem; }
.sc-bg-facts > div { padding: 0.7rem 0.85rem; border-radius: var(--r-sm); background: var(--paper); }
.sc-bg-facts dt { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; color: var(--graphite); }
.sc-bg-facts dd { margin: 0.2rem 0 0; font-weight: 700; font-size: 0.95rem; line-height: 1.35; }
.sc-bg-facts dd a { color: var(--deep); }
.sc-bg-links { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0; }
.sc-bg-links .sc-btn { border-radius: 999px; }
.sc-bg-tabs { margin-bottom: 1rem; }
.sc-bg .sc-sec { scroll-margin-top: calc(var(--sc-head, 96px) + 60px); }
.sc-bg .sc-sec > p { font-size: 1.02rem; line-height: 1.65; max-width: 75ch; }
.sc-bg-offers { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0.9rem; }
.sc-bg-offer { padding: 1rem 1.1rem; border-radius: var(--r); background: var(--card); box-shadow: var(--shadow); }
.sc-bg-offer h3 { margin: 0 0 0.35rem; font-size: 1rem; }
.sc-bg-offer p { margin: 0; font-size: 0.93rem; color: var(--n800); }
.sc-bg-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.55rem; max-width: 80ch; }
.sc-bg-list li { position: relative; padding-left: 1.4rem; line-height: 1.6; }
.sc-bg-list li::before { content: ""; position: absolute; left: 0.2rem; top: 0.62em; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: var(--red); }
.sc-bg-list.is-check li::before { content: "\2713"; width: auto; height: auto; background: none; top: 0; color: var(--pass); font-weight: 800; }
.sc-bg-nums { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0.9rem; margin-bottom: 1rem; }
.sc-bg-num { display: flex; flex-direction: column; gap: 0.25rem; padding: 1rem 1.1rem; border-radius: var(--r); background: var(--card); box-shadow: var(--shadow); }
.sc-bg-num strong { font-size: 1.5rem; line-height: 1.15; color: var(--ink); }
.sc-bg-num span { font-weight: 700; font-size: 0.92rem; }
.sc-bg-num small { color: var(--graphite); font-size: 0.8rem; line-height: 1.45; }
.sc-bg-num small a { color: var(--deep); }
.sc-bg-schools .sc-side-list, .sc-bg-schools ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0 1.2rem; }
.sc-bg-sources ul { margin: 0.4rem 0 0.8rem 1.1rem; font-size: 0.92rem; }
.sc-bg-sources a { color: var(--deep); }
.sc-bg-more { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin: 1.5rem 0 0; padding-top: 1.2rem; border-top: var(--soft-rule); }
.sc-bg-more > span { font-weight: 800; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.07em; color: var(--graphite); }
.sc-bg-more .sc-chips { margin: 0; }
@media (max-width: 640px) { .sc-bg-hero { padding: 1.1rem; } .sc-bg-id img, .sc-bg-id .sc-bcard-mono { width: 56px; height: 56px; } }
/* Board guides: text uses the full width of the column; programme logos */
.sc-bg .sc-sec > p, .sc-bg-list { max-width: none; }
.sc-bg { max-width: none; }
.sc-bg-offer.has-logo { display: flex; flex-direction: column; }
.sc-bg-offer-logo { display: block; width: 100%; max-width: 240px; height: auto; margin: 0 0 0.8rem; }

/* ===================================================================
   v2.13.0 Search suggestions, related reading, article and board guide sidebars
   =================================================================== */
.sc-finder-byname .sc-finder-main label { position: relative; }
.sc-suggest { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; margin: 0.35rem 0 0; padding: 0.35rem; list-style: none; border-radius: var(--r); background: var(--paper); box-shadow: 0 16px 40px rgba(32, 30, 29, 0.2); text-transform: none; letter-spacing: 0; }
.sc-suggest a, .sc-qres a { display: grid; gap: 0.1rem; padding: 0.6rem 0.75rem; border-radius: var(--r-sm); color: var(--ink); text-decoration: none; }
.sc-suggest a strong, .sc-qres a strong { font-weight: 700; font-size: 0.98rem; }
.sc-suggest a span, .sc-qres a span { font-size: 0.84rem; font-weight: 400; color: var(--graphite); }
.sc-suggest a:hover, .sc-suggest a.is-active, .sc-qres a:hover { background: var(--red-100); }
.sc-qres { margin: 0 0 1.5rem; }
.sc-qres ul { list-style: none; margin: 0; padding: 0.4rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 0.3rem; border-radius: var(--r-lg); background: var(--card); box-shadow: var(--shadow); }

.sc-related .sc-acards { margin-top: 0.4rem; }
.sc-related .sc-block-sub { margin: -0.4rem 0 0.9rem; }

.sc-bg-dek { margin: 0.9rem 0 1.1rem; font-size: 1.05rem; color: var(--n800); max-width: none; }
.sidebar .sc-bg-glance { padding: 0; border-top: 0; }
.sc-side-h { margin: 0.6rem 0 0.25rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--graphite); }
.sc-side-boards { list-style: none; margin: 0 0 0.4rem; padding: 0; }
.sc-side-boards a { display: block; padding: 0.4rem 0.6rem; margin: 0 -0.6rem; border-radius: var(--r-sm); color: var(--ink); text-decoration: none; font-weight: 600; font-size: 0.92rem; }
.sc-side-boards a:hover { background: var(--red-100); }
.sc-side-boards a.is-on { background: var(--ink); color: var(--paper); }
.sc-side-news { list-style: none; margin: 0; padding: 0; }
.sc-side-news li + li { border-top: var(--soft-rule); }
.sc-side-news a { display: grid; gap: 0.15rem; padding: 0.6rem 0; color: var(--ink); text-decoration: none; }
.sc-side-news a strong { font-weight: 700; font-size: 0.93rem; line-height: 1.35; }
.sc-side-news a span { font-size: 0.8rem; color: var(--graphite); }
.sc-side-news a:hover strong { color: var(--deep); }
.sc-side-ask .sc-btn svg { width: 1em; height: 1em; }
.single-post .sc-article { max-width: none; }

/* ===================================================================
   v2.14.0 Logo on article images, media relations page, deeper menus
   =================================================================== */
.sc-acard-img, .sc-nr-img, .sc-post-art.has-img, .sc-article-imgwrap { position: relative; }
.sc-article-imgwrap { display: block; }
.sc-brandmark { position: absolute; left: 12px; top: 12px; z-index: 2; display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px; background: rgba(255, 255, 255, 0.94); box-shadow: 0 2px 8px rgba(32, 30, 29, 0.18); line-height: 0; pointer-events: none; }
.sc-brandmark img { width: 108px !important; height: auto !important; max-width: none; object-fit: contain !important; position: static !important; }
.sc-brandmark.is-lg { left: 18px; top: 18px; padding: 8px 14px; }
.sc-brandmark.is-lg img { width: 150px !important; }
@media (max-width: 560px) { .sc-brandmark img { width: 88px !important; } .sc-brandmark.is-lg img { width: 110px !important; } }

.sc-media-contact { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem 2rem; padding: 1.3rem 1.4rem; margin: 0 0 1.75rem; border-radius: var(--r-lg); background: var(--card); box-shadow: var(--shadow); }
.sc-media-contact h2 { margin: 0 0 0.3rem; border: 0; padding: 0; }
.sc-media-contact p { margin: 0; }
.sc-media-actions { display: grid; gap: 0.6rem; justify-items: start; }
.sc-media-block { margin: 0 0 1.75rem; }
.sc-media-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0.7rem; margin: 0.6rem 0 0; }
.sc-media-facts > div { padding: 0.8rem 0.95rem; border-radius: var(--r); background: var(--card); box-shadow: var(--shadow); }
.sc-media-facts dt { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; color: var(--graphite); }
.sc-media-facts dd { margin: 0.25rem 0 0; font-weight: 800; font-size: 1.05rem; }
.sc-media-boiler { padding: 1rem 1.1rem; border-left: 4px solid var(--red); background: var(--card); border-radius: 0 var(--r) var(--r) 0; }
[data-sc-copy].is-copied::after { content: " Copied"; font-weight: 700; color: var(--pass); }
.main-navigation ul ul ul { border-radius: var(--r); }
body.page:not(.home) .entry-content .sc-media-contact h2 { border-top: 0; padding-top: 0; margin-top: 0; }

/* v2.14.1 Article image branding: a broadcast-style watermark (white logo, bottom right, soft shadow), not a tag */
.sc-brandmark, .sc-brandmark.is-lg { left: auto; top: auto; right: 0; bottom: 0; padding: 34px 14px 12px 56px; border-radius: 0; background: radial-gradient(ellipse at 100% 100%, rgba(20, 10, 8, 0.55) 0%, rgba(20, 10, 8, 0.25) 45%, rgba(20, 10, 8, 0) 75%); box-shadow: none; opacity: 0.95; }
.sc-brandmark img { width: 104px !important; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35)); }
.sc-brandmark.is-lg { padding: 48px 22px 18px 80px; }
.sc-brandmark.is-lg img { width: 150px !important; }
@media (max-width: 560px) { .sc-brandmark img { width: 84px !important; } .sc-brandmark.is-lg img { width: 112px !important; } }

/* v2.15.0: submenus without the red underline, arrows kept on the same line */
.main-navigation .main-nav ul ul li > a,
.main-navigation .main-nav ul ul li:hover > a,
.main-navigation .main-nav ul ul li.sfHover > a,
.main-navigation .main-nav ul ul li[class*="current-menu-"] > a { box-shadow: none; }
.main-navigation .main-nav ul ul li.current-menu-item > a { color: var(--deep); background: var(--surface); }
.main-navigation .main-nav ul ul li.current-menu-ancestor > a, .main-navigation .main-nav ul ul li.current-menu-parent > a { color: var(--ink); }
@media (min-width: 769px) {
	.main-navigation ul ul { width: max-content; min-width: 230px; max-width: 320px; }
	.main-navigation .main-nav ul ul li a { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; white-space: nowrap; }
	.main-navigation .main-nav ul ul li.menu-item-has-children > a { padding-right: 1rem; }
	.main-navigation .main-nav ul ul li.menu-item-has-children > a .dropdown-menu-toggle { position: static; float: none; margin: 0 0 0 auto; padding: 0; line-height: 1; height: auto; display: inline-flex; align-items: center; }
	.main-navigation ul ul li:hover > ul, .main-navigation ul ul li.sfHover > ul { left: 100%; }
}

/* v2.15.0: Browse by board, groups side by side so the row fills the width */
.sc-board-groups { display: flex; flex-wrap: wrap; gap: 1.4rem 1.25rem; }
.sc-board-groups .sc-board-group { flex: var(--n, 1) 1 calc(var(--n, 1) * 230px); min-width: 0; margin: 0; }
.sc-board-groups .sc-board-group + .sc-board-group { margin-top: 0; }
.sc-home-boards .sc-board-groups .sc-board-row { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }

/* v2.15.0: "Add a school" button beside "Find a school" (outline, so red stays the one accent) */
.main-navigation .menu-bar-items .sc-menu-cta-alt a,
.sc-menu-cta-alt a { background: transparent; color: var(--ink) !important; box-shadow: inset 0 0 0 1.5px var(--ink); }
.main-navigation .menu-bar-items .sc-menu-cta-alt a:hover,
.main-navigation .menu-bar-items .sc-menu-cta-alt a:focus,
.sc-menu-cta-alt a:hover, .sc-menu-cta-alt a:focus { background: var(--ink); color: var(--paper) !important; box-shadow: inset 0 0 0 1.5px var(--ink); }
.sc-menu-cta-alt + .sc-menu-cta { padding-left: 0.5rem; }
@media (max-width: 1100px) and (min-width: 769px) {
	/* Mid-size screens: the menu needs the room, so Add a school becomes a round icon */
	.main-navigation .menu-bar-items .sc-menu-cta-alt a { width: 2.6rem; height: 2.6rem; padding: 0; justify-content: center; border-radius: 50%; }
	.sc-menu-cta-alt a > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media (min-width: 769px) {
	/* Room for both header buttons on one line */
	.main-navigation .main-nav > ul > li > a { padding-left: 0.7rem; padding-right: 0.7rem; }
	.main-navigation .menu-bar-items { flex-wrap: nowrap; flex: none; }
	.main-navigation .menu-bar-items .sc-menu-cta a { padding: 0.55rem 0.95rem; }
	.sc-menu-cta-alt + .sc-menu-cta { padding-left: 0.4rem; }
}
@media (max-width: 1300px) and (min-width: 769px) {
	.main-navigation .main-nav > ul > li > a { padding-left: 0.6rem; padding-right: 0.6rem; }
	.main-navigation .menu-bar-items .sc-menu-cta-alt a { width: 2.6rem; height: 2.6rem; padding: 0; justify-content: center; border-radius: 50%; }
	.sc-menu-cta-alt a > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media (min-width: 769px) {
	.main-navigation .main-nav > ul > li.menu-item-has-children > a { padding-right: 0.7rem; }
	.main-navigation .main-nav > ul > li > a .dropdown-menu-toggle { padding-left: 0.35rem; padding-right: 0; }
}
@media (max-width: 1300px) and (min-width: 769px) {
	.main-navigation .main-nav > ul > li.menu-item-has-children > a { padding-right: 0.6rem; }
}
@media (min-width: 1100px) {
	.main-navigation .inside-navigation { flex-wrap: nowrap; }
}

/* v2.15.0: a gap between the article and its sidebar, as on school pages */
@media (min-width: 769px) {
	.single-post.right-sidebar #primary > .site-main { margin-right: 20px; }
}
