/* Province overview variant of the shared PC directory/portal family. */
.rp-portal .pc-frame { align-items:start; }
.rp-portal .pc-main,.rp-portal .pc-sidebar-stack { gap:18px; }
.rp-portal a { text-decoration:none; }
.rp-masthead { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:3px 2px 7px; }
.rp-masthead__identity { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.rp-location { display:flex; align-items:center; gap:5px; padding:6px 10px; background:#e7effc; border:1px solid #d4e3f9; border-radius:6px; color:#2c6ac2; font-size:13px; }
.rp-masthead h1 { margin:0; color:#223d60; font-size:28px; font-weight:750; letter-spacing:.4px; }
.rp-masthead p { color:#8291a5; font-size:13px; margin:0; padding-left:15px; border-left:1px solid #d9e2ee; }
.rp-switch { flex:none; display:flex; align-items:center; gap:7px; font-size:13px; color:#6c86a8; }
.rp-pathways { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.rp-pathway { --rp-accent:#256ac8; --rp-border:#d7e6fc; --rp-tint:#eaf2ff; position:relative; overflow:hidden; isolation:isolate; padding:16px 20px 13px; min-height:116px; border:1px solid var(--rp-border); border-radius:10px; background:linear-gradient(105deg,var(--rp-tint),#f9fbff); }
.rp-pathway--violet { --rp-accent:#6953ad; --rp-border:#e0d9f4; --rp-tint:#f0ebfc; }
.rp-pathway--mint { --rp-accent:#247f75; --rp-border:#cfeae3; --rp-tint:#e8f7f1; }
.rp-pathway>div { position:relative; z-index:1; }
.rp-pathway img { position:absolute; right:-7px; top:0; height:100%; width:58%; object-fit:cover; object-position:right; mask-image:linear-gradient(90deg,transparent,#000 46%); opacity:.9; z-index:-1; }
.rp-pathway h2 { color:var(--rp-accent); font-size:22px; font-weight:750; line-height:1.3; margin:0 0 6px; }
.rp-pathway p { margin:0; color:#7486a0; font-size:12px; }
.rp-pathway span { display:inline-flex; align-items:center; gap:18px; margin-top:12px; color:var(--rp-accent); font-size:12px; font-weight:600; }
.rp-pathway:hover { border-color:var(--rp-accent); box-shadow:0 4px 15px #3e639012; }
.rp-pathway:hover span { gap:24px; }
.rp-portal .dl-box__head { padding:12px 20px; }
.rp-portal .dl-box__head h2 { font-size:19px; }
.rp-portal .dl-box__head>a:hover { color:#236bc4; }
.rp-portal section[id],.rp-portal details[id] { scroll-margin-top:20px; }
.rp-news__list { padding:4px 20px 9px; }
.rp-news__item { display:grid; grid-template-columns:auto minmax(0,1fr) 42px; align-items:start; gap:12px; padding:11px 0; border-bottom:1px dashed #e6edf5; }
.rp-news__item:last-child { border-bottom:0; }
.rp-news__type { font-size:12px; line-height:22px; background:#f0f5fc; border-radius:4px; color:#6a8bb4; padding:0 7px; margin-top:2px; white-space:nowrap; }
.rp-news__item h3 { margin:0; font-size:16px; font-weight:500; line-height:1.65; color:#374d68; }
.rp-news__item h3 a { color:inherit; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; overflow:hidden; }
.rp-news__item h3 a:hover { color:#216ccc; }
.rp-news__item time { padding-top:5px; font-size:12px; color:#92a1b5; text-align:right; font-variant-numeric:tabular-nums; }
.rp-news__item--lead { padding:14px 0; }
.rp-news__item--lead h3 { font-size:21px; color:#245a98; font-weight:700; line-height:1.5; }
.rp-news__item--lead h3 a { -webkit-line-clamp:2; }
.rp-news__item--lead .rp-news__type { color:#ce8559; background:#fff3e9; margin-top:6px; }
.rp-news__item p { font-size:13px; line-height:1.8; margin:7px 0 0; color:#8a98aa; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; overflow:hidden; }
.rp-scope { display:block; font-size:11px; color:#98a5b6; margin-top:2px; }
.rp-plan-intro { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:12px 20px; border-bottom:1px solid #e8eef6; }
.rp-plan-intro p { margin:0; font-size:12px; color:#8a9aaf; }
.rp-tabs { display:flex; padding:3px; gap:3px; border-radius:7px; background:#f1f5fb; }
.rp-tabs button { background:transparent; border:0; border-radius:5px; color:#7d90ac; font-size:13px; padding:6px 15px; cursor:pointer; }
.rp-tabs button[aria-selected=true] { color:white; background:#3378cc; box-shadow:0 2px 6px #2867b924; }
.rp-fallback-title { margin:0; padding:10px 20px; font-size:16px; color:#4e709a; background:#f9fbfe; }
.rp-plans[data-enhanced] .rp-fallback-title { display:none; }
.rp-panel-footer { padding:11px 20px; display:flex; align-items:center; justify-content:space-between; gap:10px; background:#fafcff; font-size:12px; color:#95a4b7; }
.rp-panel-footer a { color:#497fbf; }
.rp-portal .dl-plan { padding:14px 20px; }
.rp-portal .dl-plan h3 { font-size:19px; }
.rp-schools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.rp-school { display:flex; align-items:center; gap:13px; padding:16px 20px; border-bottom:1px solid #e9eff6; min-width:0; }
.rp-school:nth-child(odd) { border-right:1px solid #e9eff6; }
.rp-school:hover { background:#f8fbff; }
.rp-school__logo { flex:none; width:52px; height:52px; display:grid; place-items:center; border:1px solid #e5ecf6; border-radius:50%; background:#fff; }
.rp-school__logo img { width:42px; height:42px; object-fit:contain; }
.rp-school__logo>.icon { width:26px; height:26px; color:#7298cf; }
.rp-school__body { flex:1; min-width:0; }
.rp-school strong { display:block; font-size:17px; font-weight:650; line-height:1.5; color:#3c5472; }
.rp-school small { display:block; font-size:12px; color:#94a2b5; margin-top:5px; }
.rp-school>.icon { flex:none; color:#98acc5; font-size:14px; }
.rp-guides { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.rp-guide { padding:16px 20px; border-bottom:1px solid #eaf0f7; min-width:0; }
.rp-guide:nth-child(odd) { border-right:1px solid #eaf0f7; }
.rp-guide__meta { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.rp-guide__meta>span { color:#368d81; background:#edf7f3; padding:2px 6px; border-radius:3px; font-size:11px; white-space:nowrap; }
.rp-guide small { color:#98a5b7; font-size:11px; }
.rp-guide h3 { font-size:16px; line-height:1.6; font-weight:600; margin:0; color:#3a5474; }
.rp-guide h3 a { color:inherit; }
.rp-guide h3 a:hover { color:#266ecc; }
.rp-guide p { color:#8d9bac; margin:7px 0 0; font-size:12px; line-height:1.8; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.rp-originals summary { padding:16px 20px; cursor:pointer; display:flex; align-items:center; gap:14px; font-size:16px; font-weight:600; color:#526e90; }
.rp-originals summary span { color:#9aa8b9; font-size:12px; font-weight:400; flex:1; }
.rp-originals[open] summary>.icon { transform:rotate(180deg); }
.rp-originals__list { padding:0 20px 10px; }
.rp-originals__list a { display:flex; align-items:center; gap:12px; border-top:1px dashed #e5edf7; padding:13px 0; font-size:14px; color:#607fa4; }
.rp-originals__list a span { flex:1; }.rp-originals__list small { color:#95a4b8; font-size:11px; white-space:nowrap; }
.rp-query .dl-box__head { background:linear-gradient(110deg,#e7f1ff,#f1f7ff); }
.rp-query__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:6px 15px 9px; gap:0 15px; }
.rp-query__grid a { padding:14px 3px 12px; border-bottom:1px dashed #e0e9f6; display:grid; grid-template-columns:26px 1fr; align-items:center; gap:5px 7px; }
.rp-query__grid a:nth-last-child(-n+2) { border-bottom:0; }
.rp-query__grid .icon { font-size:22px; color:#4388df; }
.rp-query__grid a:nth-child(3n+2) .icon { color:#8780ce; }.rp-query__grid a:nth-child(3n) .icon { color:#3da998; }
.rp-query__grid strong { font-size:15px; font-weight:600; color:#4c6484; }
.rp-query__grid small { grid-column:1 / -1; font-size:11px; color:#94a4b9; white-space:nowrap; }
.rp-query__grid a:hover strong { color:#286fcc; }
.rp-calendar__head { color:#fff; padding:16px 20px; background:linear-gradient(115deg,#326ec0,#4a89d5); }
.rp-calendar__head>span { display:block; font-size:18px; font-weight:650; }
.rp-calendar__head small { display:block; margin-top:6px; padding-left:24px; font-size:11px; color:#d5e7ff; }
.rp-calendar ol { list-style:none; margin:0; padding:0 17px; }
.rp-calendar li { display:flex; align-items:start; gap:12px; padding:16px 0; border-bottom:1px dashed #e2eaf5; }
.rp-calendar time { text-align:center; flex:none; width:48px; color:#5583b9; }
.rp-calendar time strong { font-size:19px; font-weight:600; display:block; font-variant-numeric:tabular-nums; }
.rp-calendar time small { font-size:11px; color:#9baabd; }
.rp-calendar li>div { flex:1; min-width:0; }
.rp-calendar li>div>span { display:flex; justify-content:space-between; gap:6px; font-size:11px; color:#8ea2ba; }
.rp-calendar em { font-style:normal; color:#378d82; }
.rp-calendar h3 { font-size:14px; line-height:1.7; font-weight:600; color:#4e6887; margin:5px 0; }
.rp-calendar p { font-size:11px; color:#8da0b7; margin:0; }
.rp-calendar__more { display:block; padding:13px 20px; font-size:12px; color:#5081ba; background:#f5f9ff; }
.rp-jumps nav { padding:6px 20px; }
.rp-jumps nav a { display:flex; justify-content:space-between; gap:10px; padding:11px 0; border-bottom:1px solid #eef2f8; color:#6e839e; font-size:13px; }
.rp-jumps nav a:last-child { border:0; }.rp-jumps nav span { color:#b2c0d2; font-size:11px; }
.rp-jumps nav a:hover,.rp-jumps nav a[aria-current] { color:#246ecd; }
.rp-adviser { display:block; position:relative; border:1px solid #d5e9e3; border-radius:10px; overflow:hidden; background:linear-gradient(#e8f9f2,#f1faf6); }
.rp-adviser>img { display:block; width:100%; height:106px; object-fit:cover; }
.rp-adviser>div { padding:0 20px 20px; }
.rp-adviser small { font-size:11px; color:#80a197; }
.rp-adviser strong { display:block; font-size:20px; color:#337d74; margin-top:7px; }
.rp-adviser p { color:#77998f; font-size:12px; line-height:1.9; margin:8px 0 13px; }
.rp-adviser div>span { display:flex; justify-content:space-between; color:#378c7e; font-size:13px; }
.rp-start { padding:28px; }.rp-start h2 { font-size:22px; color:#41638b; }.rp-start p { font-size:14px; line-height:1.8; color:#8d9eb3; margin:15px 0; }.rp-start a { font-size:14px; color:#3173c5; }
@media(max-width:1280px) {
    .rp-pathway { padding:15px 17px 12px; }.rp-pathway h2 { font-size:21px; }.rp-pathway p { font-size:11px; }
    .rp-masthead p { font-size:12px; }.rp-masthead h1 { font-size:26px; }
    .rp-news__item--lead h3 { font-size:20px; }
    .rp-guide__meta { flex-wrap:wrap; }.rp-school strong { font-size:16px; }
}
