@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/manrope-400.ttf') format('truetype'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/manrope-500.ttf') format('truetype'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/manrope-600.ttf') format('truetype'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/manrope-700.ttf') format('truetype'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/manrope-800.ttf') format('truetype'); }

.rc-hero{padding:var(--space-8) 0 var(--space-4)}
.rc-hero__kicker{font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#5E7268;margin:0 0 var(--space-3)}
.rc-hero__title{font-size:clamp(2rem,5.5vw,3.4rem);line-height:1.05;font-weight:800;color:#2A0C3C;margin:0 0 var(--space-3)}
.rc-hero__standfirst{font-size:1.15rem;line-height:1.5;color:#463A52;max-width:34em;margin:0}
.rc-h2{font-size:clamp(1.4rem,3.4vw,2rem);font-weight:800;color:#2A0C3C;margin:var(--space-8) 0 var(--space-4)}
.rc-panel{background:#fff;border:2px solid #EFE9F7;border-radius:24px;padding:var(--space-6);margin-top:var(--space-6)}
.rc-chart{display:flex;align-items:flex-end;gap:5px;height:230px;padding-top:var(--space-6)}
.rc-bar{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.rc-bar__grade{font-weight:800;font-size:.95rem;color:#3A1251;margin-bottom:var(--space-2);white-space:nowrap}
.rc-bar__col{width:100%;height:var(--h);min-height:3px;background:#3A1251;border-radius:6px 6px 0 0}
.rc-bar--ng .rc-bar__col{background:repeating-linear-gradient(45deg,#B9A8CC 0 6px,#E9E2F4 6px 12px)}
.rc-bar--ng .rc-bar__grade{color:#7A6A94;font-size:.8rem}
.rc-bar__name{margin-top:var(--space-2);font-size:.7rem;font-weight:700;letter-spacing:.05em;color:#5E7268}
.rc-chart__cap{font-size:.85rem;color:#5E7268;margin:var(--space-3) 0 0}
.rc-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-top:var(--space-8)}
.rc-stat{background:#F3EDFA;border-radius:16px;padding:var(--space-4)}
.rc-stat__num{display:block;font-size:2rem;font-weight:800;color:#3A1251;line-height:1.05}
.rc-stat__label{display:block;margin-top:var(--space-2);font-size:.92rem;line-height:1.45;color:#463A52}
.rc-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}
.rc-tile{display:flex;flex-direction:column;gap:var(--space-2);background:#fff;border:2px solid #EFE9F7;border-radius:16px;padding:var(--space-4);text-decoration:none}
.rc-tile__flag{width:56px;height:auto;border-radius:4px;box-shadow:0 0 0 1px rgba(42,12,60,.08)}
.rc-tile__name{font-weight:700;color:#2A0C3C;line-height:1.25}
.rc-tile__grade{font-size:2rem;font-weight:800;color:#3A1251;line-height:1}
.rc-tile__grade small{font-size:1.05rem;font-weight:800}
.rc-tile__grade--ng{font-size:1.05rem;padding-top:var(--space-2)}
.rc-meter{display:block;height:8px;background:#EDE7F5;border-radius:99px;overflow:hidden}
.rc-meter>span{display:block;height:100%;background:#3A1251;border-radius:99px}
.rc-meter--ng>span{background:repeating-linear-gradient(45deg,#B9A8CC 0 6px,#E9E2F4 6px 12px)}
.rc-meter--lg{height:12px;min-width:150px}
.rc-tile__meta{font-size:.82rem;color:#5E7268}
.rc-tile__go{font-weight:800;color:#3A1251;font-size:.9rem}
a.rc-tile--link{border-color:#3A1251}
a.rc-tile--link:hover{box-shadow:0 10px 24px rgba(42,12,60,.14)}
.rc-close{margin-top:var(--space-10,64px);border-top:2px solid #EFE9F7;padding-top:var(--space-5)}
.rc-close p{max-width:44em;line-height:1.55;color:#463A52}
.rc-close__links a{font-weight:700}
.rc-credits{font-size:.85rem;color:#5E7268}
.rc-board{background:#fff;border:2px solid #EFE9F7;border-radius:24px;padding:var(--space-4) var(--space-5)}
.rc-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid #EFE9F7}
.rc-row:last-child{border-bottom:0}
.rc-row__flag{width:42px;height:auto;border-radius:4px;flex:none}
.rc-row__name{font-weight:700;color:#2A0C3C;flex:0 1 11.5em;line-height:1.25}
.rc-row__bar{flex:1;height:14px;background:#EDE7F5;border-radius:99px;overflow:hidden}
.rc-row__bar>span{display:block;height:100%;background:#3A1251}
.rc-row__bar--ng>span{background:repeating-linear-gradient(45deg,#B9A8CC 0 6px,#E9E2F4 6px 12px)}
.rc-row__grade{font-weight:800;color:#3A1251;flex:none;min-width:4.2em;text-align:right}
.rc-row__grade--ng{color:#7A6A94;font-size:.85rem}
@media (min-width:760px){
 .rc-stats{grid-template-columns:repeat(4,1fr)}
 .rc-tiles{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:1080px){ .rc-tiles{grid-template-columns:repeat(4,1fr)} }
@media (max-width:560px){
 .rc-chart{height:180px;gap:3px}
 .rc-bar__grade{font-size:.78rem}
 .rc-bar--ng .rc-bar__grade{font-size:.62rem}
 .rc-row__name{flex-basis:7.5em;font-size:.9rem}
}

.rc-prov__crumb{margin:var(--space-5) 0 0;font-weight:700}
.rc-prov__hero{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5);background:#F3EDFA;border-radius:24px;padding:var(--space-6);margin-top:var(--space-4)}
.rc-prov__flag{width:120px;height:auto;border-radius:8px;box-shadow:0 2px 10px rgba(42,12,60,.18)}
.rc-prov__id{flex:1 1 260px}
.rc-prov__kicker{font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#5E7268;margin:0 0 var(--space-2)}
.rc-prov__title{font-size:clamp(2.2rem,6vw,3.6rem);font-weight:800;color:#2A0C3C;line-height:1.02;margin:0 0 var(--space-2)}
.rc-prov__sub{margin:0;color:#463A52}
.rc-prov__gradebox{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}
.rc-prov__letter{font-size:4.2rem;font-weight:800;line-height:.95;color:#3A1251}
.rc-prov__mean{font-weight:800;color:#3A1251}
.rc-cat{border-top:2px solid #EFE9F7;padding:var(--space-4) 0}
.rc-cat__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}
.rc-cat__name{font-size:1.08rem;font-weight:800;color:#2A0C3C;margin:0}
.rc-cat__score{font-weight:800;color:#3A1251;white-space:nowrap}
.rc-cat__bar{height:10px;background:#EDE7F5;border-radius:99px;overflow:hidden;margin:var(--space-3) 0}
.rc-cat__bar>span{display:block;height:100%;background:#3A1251}
.rc-cat__line{margin:0;line-height:1.55;color:#463A52;max-width:46em}
.rc-prov__split{display:grid;gap:var(--space-4);margin-top:var(--space-8)}
.rc-prov__panel{background:#fff;border:2px solid #EFE9F7;border-radius:20px;padding:var(--space-5)}
.rc-prov__panel .rc-h2{margin-top:0;font-size:1.3rem}
.rc-prov__panel ul{margin:0;padding-left:1.2em;line-height:1.55;color:#463A52}
.rc-prov__panel li+li{margin-top:var(--space-3)}
.rc-prov__note{background:#F3EDFA;border-radius:20px;padding:var(--space-5);margin-top:var(--space-6)}
.rc-prov__note .rc-h2{margin-top:0;font-size:1.3rem}
.rc-prov__note p{margin:0;line-height:1.55;color:#463A52;max-width:46em}
@media (min-width:760px){ .rc-prov__split{grid-template-columns:1fr 1fr} }

/* province-full additions (2026-10-28) */
.rc-cat--na{opacity:.85;border-style:dashed}
.rc-cat__score--na{color:#7A6A94}
.rc-panel{border-radius:16px;padding:var(--space-5);margin-top:var(--space-4)}
.rc-panel--strong{background:#EDF3EA}
.rc-panel--weak{background:#FBEEE9}
.rc-panel__title{margin:0 0 var(--space-2);font-size:1.05rem;color:#2A0C3C}
.rc-panel__list{margin:0;padding-left:1.1em;line-height:1.6;color:#33254A}
.rc-prov__gradebox--ng{border-color:#B9A8CC}
.rc-prov__ng{font-size:1.35rem;font-weight:800;color:#3A1251;line-height:1.1;text-align:center}
.rc-prov__ngnote{background:#F3EDFA;border-radius:16px;padding:var(--space-4);line-height:1.55;color:#463A52}
.rc-prov__foot{margin-top:var(--space-6);line-height:1.6;color:#463A52}
.rc-note{margin-top:var(--space-5)}

/* ——— Font + rhythm fix (2026-10-28, Christopher: scratchy fonts, messy spacing) ——— */
.rc-prov, .rc-summary { font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
.rc-panel__list { list-style:none; padding-left:0; line-height:1.4; }
.rc-srow { display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-4); padding:var(--space-2) 0; border-bottom:1px solid #EFE9F7; }
.rc-panel__list li.rc-srow:last-child { border-bottom:0; padding-bottom:0; }
.rc-panel__list li.rc-srow:first-child { padding-top:0; }
.rc-srow__name { font-weight:700; color:#2A0C3C; }
.rc-srow__score { font-weight:800; color:#3A1251; white-space:nowrap; }
.rc-cat { padding:var(--space-4) 0 var(--space-5); }
.rc-cat__bar { margin:var(--space-2) 0 var(--space-3); }
.rc-cat__line { line-height:1.5; max-width:40em; }
.rc-panel__title { margin-bottom:var(--space-2); }

/* ——— Not-assessable rows: remove the accidental dashed box (2026-10-28) ———
   border-style:dashed alone styled ALL four sides; the unstyled sides took the
   default width and currentColor, drawing a dark dashed box tight around the
   text. An NA row now carries only a dashed top rule, in the hub's hairline tone. */
.rc-cat--na { border-top:2px dashed #D5C8EC; border-left:0; border-right:0; border-bottom:0; opacity:1; }
.rc-cat--na .rc-cat__name { color:#5B4A78; }
.rc-cat--na .rc-cat__line { color:#5B4A78; }
.rc-prov__ngnote { margin-top:var(--space-4); }

