/*
Theme Name: StudentPath Portal
Theme URI: https://studentpath.pk/
Author: StudentPath
Description: StudentPath student guidance portal. Local reference-led review build.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: studentpath-portal
*/
:root {
  --sp-header-h: 88px;
  --sp-green: #035544; --sp-gold: #CEA33D; --sp-cream: #FDFAF3;
  --sp-cream-alt: #F6F1E4; --sp-green-ink: #053224; --sp-green-deep: #053224;
  --sp-gold-soft: #EED39D; --sp-ink-muted: #4A5F58;
  --sp-line: #E2D9C4; --sp-line-strong: #94825A; --sp-danger: #8C2F1F;
  --sp-surface: #FFFFFF; --sp-verified: #1F6B4F; --sp-unknown: #7E6219;
  --sp-canvas: var(--sp-cream); --sp-ink: var(--sp-green-ink); --sp-action: var(--sp-green);
  --sp-radius: 10px; --sp-radius-media: 16px; --sp-radius-card: 20px; --sp-radius-band: 28px;
  --sp-max: 76rem; --sp-measure: 68ch;
  --sp-sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --sp-display: var(--sp-sans); --sp-shadow-sm: none; --sp-shadow-md: 0 8px 24px rgba(5,50,36,.06);
  --sp-section: 96px; --sp-dur-fast: 150ms; --sp-ease: cubic-bezier(.2,.7,.3,1);
}
@font-face {font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/manrope.woff2") format("woff2")}
@font-face {font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/manrope-600.woff2") format("woff2")}
@font-face {font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/manrope-700.woff2") format("woff2")}
*,*::before,*::after {box-sizing:border-box}
body {margin:0;background:var(--sp-canvas);color:var(--sp-ink);font:400 16px/1.6 var(--sp-sans);-webkit-text-size-adjust:100%;font-variant-numeric:tabular-nums}
html,body {overflow-x:hidden}
h1,h2,h3,h4 {font-family:var(--sp-display);font-weight:600;line-height:1.15;letter-spacing:-.03em;margin:0 0 16px;color:var(--sp-ink)}
h1 {font-size:clamp(2rem,1.4rem + 2vw,3rem);line-height:1.12}
h2 {font-size:clamp(1.75rem,1.2rem + 2vw,2.75rem)}
h3 {font-size:20px;line-height:1.3;letter-spacing:-.015em}
p {margin:0 0 16px}
img {max-width:100%;height:auto}
a {color:var(--sp-action);text-underline-offset:4px}
a:hover {color:var(--sp-ink)}
button,input,select {font:inherit}
[id],:target,a,button,input,select,summary {scroll-margin-top:calc(var(--sp-header-h) + 16px)}
:focus-visible {outline:3px solid var(--sp-ink);outline-offset:3px;box-shadow:0 0 0 6px var(--sp-gold)}
[hidden],.sp-hidden {display:none!important}
.sp-visually-hidden {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sp-skip {position:absolute;left:-9999px;top:0;z-index:100;background:var(--sp-action);color:var(--sp-cream);padding:12px 24px}
.sp-skip:focus {left:0}
.sp-wrap {width:100%;max-width:var(--sp-max);margin:auto;padding:0 32px}
.sp-main {padding:32px 0 0;min-height:55vh}
.sp-header {position:sticky;top:0;z-index:20;background:var(--sp-cream);border-bottom:1px solid var(--sp-line)}
.sp-header__inner {max-width:var(--sp-max);padding:16px 32px;min-height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.sp-brand {display:inline-flex;align-items:center;min-height:44px;flex:none}
.sp-brand__logo {display:block;width:220px;height:72px;object-fit:contain}
.sp-nav__list {display:flex;gap:8px;list-style:none;margin:0;padding:0}
.sp-nav__list a {display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;text-decoration:none;font-size:14px;font-weight:600}
.sp-nav__list a:hover,.sp-nav__list a[aria-current="page"] {text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.sp-nav__toggle {display:none}
.sp-btn {display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 24px;border:1px solid transparent;border-radius:999px;font:600 14px/1.4 var(--sp-sans);color:var(--sp-cream);background:var(--sp-action);text-decoration:none;cursor:pointer;transition:background var(--sp-dur-fast) var(--sp-ease),border-color var(--sp-dur-fast) var(--sp-ease)}
.sp-btn:hover {color:var(--sp-cream);background:var(--sp-ink)}
.sp-btn:active {box-shadow:none}
.sp-btn--ghost {background:var(--sp-surface);color:var(--sp-action);border-color:var(--sp-line-strong)}
.sp-btn--ghost:hover {background:var(--sp-surface);color:var(--sp-action);border-color:var(--sp-action)}
.sp-btn:disabled {background:var(--sp-cream-alt);color:var(--sp-ink-muted);border-color:var(--sp-line-strong);cursor:not-allowed}
.sp-icon {width:20px;height:20px;flex:none;vertical-align:middle}
.sp-hero {display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:48px 0 64px}
.sp-hero__body {max-width:560px}
.sp-hero h1 {font-size:clamp(2.25rem,1.5rem + 3vw,4rem);line-height:1.08;letter-spacing:-.04em;max-width:19ch;margin:20px 0 32px}
.sp-hero__lead {color:var(--sp-ink-muted);max-width:55ch}
.sp-eyebrow {display:inline-block;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:0;margin:0 0 16px;padding:4px 12px;border-radius:999px;background:var(--sp-gold-soft);color:var(--sp-ink)}
.sp-hero__cta {display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 20px}
.sp-hero__small {font-size:14px;color:var(--sp-ink-muted);margin:0}
.sp-hero__media {padding:16px;background:var(--sp-cream-alt);border-radius:var(--sp-radius-band)}
.sp-hero__media picture {display:block}
.sp-hero__media img {display:block;width:100%;aspect-ratio:1.08;object-fit:cover;border-radius:var(--sp-radius-media)}
.sp-hero__shortcut {position:relative;display:flex;align-items:center;gap:12px;margin:-48px 12px 0;padding:16px;background:var(--sp-surface);border:1px solid var(--sp-line);border-radius:20px;text-decoration:none;color:var(--sp-action)}
.sp-hero__shortcut span {flex:1;font-size:12px}
.sp-hero__shortcut strong {display:block;font-size:14px;font-weight:600}
.sp-hero__caption {font-size:12px;color:var(--sp-ink-muted);margin:12px 0 0;line-height:1.5}
.sp-next {padding:32px;background:var(--sp-cream-alt);border-radius:var(--sp-radius-band)}
.sp-next h2 {font-size:20px;margin-bottom:24px}
.sp-next__links {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sp-next__links a {display:flex;align-items:center;gap:12px;text-decoration:none;padding:8px 0}
.sp-next__links a + a {border-left:1px solid var(--sp-line);padding-left:24px}
.sp-next__links span {font-size:12px;color:var(--sp-ink-muted);flex:1}
.sp-next__links strong {display:block;font-size:14px;color:var(--sp-action);margin-bottom:4px}
.sp-next__links a:hover strong {text-decoration:underline}
.sp-section {margin:var(--sp-section) 0}
.sp-sectionhead {text-align:center;max-width:760px;margin:0 auto 48px}
.sp-sectionhead p:not(.sp-eyebrow) {color:var(--sp-ink-muted);margin:0}
.sp-sectionhead h2 {margin-bottom:16px;text-wrap:balance}
.sp-sectionhead--left {text-align:left;margin-left:0}
.sp-catalogue-heading {display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid var(--sp-line);margin-bottom:24px;padding-bottom:16px}
.sp-catalogue-heading h3 {font-size:16px;margin:0}
.sp-catalogue-heading span {font-size:12px;color:var(--sp-ink-muted)}
.sp-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sp-card {position:relative;min-width:0;background:var(--sp-surface);border:1px solid var(--sp-line);border-radius:var(--sp-radius-card);padding:24px;box-shadow:none}
.sp-card:has(a):hover {border-color:var(--sp-action)}
.sp-card h3 {margin:8px 0 16px}
.sp-card h3 a {text-decoration:none}
.sp-card h3 a:hover {text-decoration:underline}
.sp-card p {color:var(--sp-ink-muted);margin:12px 0;font-size:14px}
.sp-card--institution {display:flex;flex-direction:column;gap:12px}
.sp-card--institution h3,.sp-card--institution p,.sp-card--institution .sp-meta {margin:0}
.sp-card .sp-card__type {display:flex;align-items:center;gap:8px;font-size:12px;margin:0}
.sp-card .sp-card__recognition {display:flex;gap:8px;align-items:flex-start;color:var(--sp-action);font-size:14px;margin:0}
.sp-card .sp-card__source {font-size:14px;line-height:1.5;margin:16px 0}
.sp-card--institution .sp-card__footer {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:4px;flex-wrap:wrap}
.sp-card--institution .sp-card__source {margin:0;font-size:12px;line-height:1.3}
.sp-card--institution .sp-card__source a {display:inline-flex;align-items:center;min-height:44px;min-width:44px;font-size:12px;color:var(--sp-ink-muted);text-decoration:underline;text-underline-offset:2px}
.sp-card--institution .sp-card__source a:hover {color:var(--sp-action)}
.sp-card--institution .sp-card__source a:focus-visible {outline:2px solid var(--sp-action);outline-offset:2px}
.sp-card--institution .sp-card__link:focus-visible {outline:2px solid var(--sp-action);outline-offset:2px}
.sp-scope-note {font-size:14px;color:var(--sp-ink-muted);line-height:1.5;margin:0 0 20px}
.sp-card__link,.sp-text-link {display:inline-flex;align-items:center;gap:12px;min-height:44px;font-weight:600;font-size:14px}
.sp-card__logo-slot {display:flex;align-items:center;justify-content:flex-start;height:56px;min-height:56px;width:100%;margin:0 0 4px}
.sp-card__logo {max-width:180px;max-height:52px;width:auto;height:auto;object-fit:contain;object-position:left center;display:block}
.sp-pagehead__logo-slot {display:flex;align-items:center;justify-content:flex-start;min-height:48px;margin-bottom:16px}
.sp-pagehead__logo {max-width:240px;max-height:60px;width:auto;height:auto;object-fit:contain;object-position:left center;display:block}
.sp-logo-fallback {display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--sp-cream-alt);border:1px solid var(--sp-line);border-radius:var(--sp-radius);color:var(--sp-ink);line-height:1.2}
.sp-logo-fallback__acronym {font-family:var(--sp-sans);font-weight:700;font-size:13px;letter-spacing:.04em;color:var(--sp-green-ink)}
.sp-logo-fallback__label {font-size:11px;font-weight:600;color:var(--sp-unknown);text-transform:uppercase;letter-spacing:.04em}
.sp-section-action {display:flex;justify-content:center;margin-top:32px}
.sp-meta {display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:8px 0;gap:4px 12px;font-size:14px;color:var(--sp-ink-muted)}
.sp-meta li + li::before {content:"·";margin-right:12px}
.sp-band {display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:48px;background:var(--sp-cream-alt);border-radius:var(--sp-radius-band);align-items:center}
.sp-band__media img {display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--sp-radius-media)}
.sp-band__body > p:not(.sp-eyebrow) {color:var(--sp-ink-muted)}
.sp-guidance-list {padding:0;list-style:none;margin:24px 0}
.sp-guidance-list li {display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--sp-line)}
.sp-guidance-list .sp-icon {margin-top:4px}
.sp-guidance-list h3 {font-size:18px;margin-bottom:8px}
.sp-guidance-list p {font-size:14px;margin:0;color:var(--sp-ink-muted)}
.sp-admissions-surface {background:var(--sp-surface);border:1px solid var(--sp-line);border-radius:var(--sp-radius-card);overflow:hidden;box-shadow:var(--sp-shadow-sm)}
.sp-admissions-surface:not(:has([data-sp-event]:not([hidden]))) {display:none}
.sp-admissions-head {display:grid;grid-template-columns:160px minmax(260px,1fr) 160px 220px;grid-template-areas:"date main status action";gap:24px;padding:14px 24px;background:var(--sp-cream-alt);border-bottom:1px solid var(--sp-line);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--sp-ink-muted)}
.sp-admissions-list {display:flex;flex-direction:column;width:100%;margin:0;padding:0;list-style:none}
.sp-admission-row {display:grid;grid-template-columns:160px minmax(260px,1fr) 160px 220px;grid-template-areas:"date main status action";gap:24px;padding:20px 24px;align-items:start;border-bottom:1px solid var(--sp-line);background:var(--sp-surface);transition:background var(--sp-dur-fast) var(--sp-ease)}
.sp-admission-row:last-child {border-bottom:none}
.sp-admission-row:hover {background:#FCFAF6}
.sp-admission-row[hidden] {display:none !important}
.sp-adm-col--date {grid-area:date;display:flex;flex-direction:column;gap:2px}
.sp-adm-date-label {font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--sp-ink-muted)}
.sp-adm-date-val {font-size:15px;font-weight:700;line-height:1.35;color:var(--sp-green-ink)}
.sp-adm-date-sub {font-size:12px;color:var(--sp-ink-muted);line-height:1.3}
.sp-adm-col--main {grid-area:main;display:flex;flex-direction:column;gap:4px}
.sp-adm-title {font-size:16px;font-weight:700;line-height:1.35;color:var(--sp-green-ink);margin:0}
.sp-adm-scope {font-size:13.5px;line-height:1.45;color:var(--sp-ink-muted);margin:0}
.sp-adm-institution {font-weight:600;color:var(--sp-green-ink)}
.sp-adm-sep {margin:0 4px;color:var(--sp-line-strong)}
.sp-adm-details {color:var(--sp-ink-muted)}
.sp-adm-caveat {font-size:12px;line-height:1.4;color:var(--sp-unknown);background:#FAF5EB;border-left:3px solid var(--sp-unknown);padding:4px 8px;border-radius:4px;margin:4px 0 0;display:inline-block;max-width:fit-content}
.sp-adm-col--status {grid-area:status;display:flex;align-items:flex-start}
.sp-adm-col--status .sp-badge {white-space:nowrap}
.sp-adm-col--action {grid-area:action;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.sp-adm-link {display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--sp-action);text-decoration:none;min-height:44px;min-width:44px;padding:6px 0;transition:color var(--sp-dur-fast) var(--sp-ease)}
.sp-adm-link:hover,.sp-adm-link:focus-visible {text-decoration:underline;color:var(--sp-green-deep)}
.sp-adm-link:focus-visible {outline:2px solid var(--sp-action);outline-offset:4px;border-radius:4px}
.sp-adm-source {font-size:12px;line-height:1.35;color:var(--sp-ink-muted);margin:0}
.sp-card--tool {display:flex;flex-direction:column;align-items:flex-start;padding:32px}
.sp-tool-icon {padding:12px;background:var(--sp-cream-alt);border-radius:12px;display:inline-flex;margin-bottom:16px}
.sp-tool-icon .sp-icon {width:24px;height:24px}
.sp-card--tool .sp-btn {margin-top:auto}
.sp-faq {max-width:880px;margin-left:auto;margin-right:auto}
.sp-faq details {border-bottom:1px solid var(--sp-line);padding:0 24px}
.sp-faq summary {min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;font-weight:600}
.sp-faq summary::-webkit-details-marker {display:none}
.sp-faq summary::after {content:"+";font-size:24px;font-weight:400}
.sp-faq details[open] {background:var(--sp-cream-alt);border-radius:16px;border-color:transparent}
.sp-faq details[open] summary::after {content:"−"}
.sp-faq details p {color:var(--sp-ink-muted);max-width:65ch;padding-bottom:24px;margin:0}
/* Compact leads distinguish inner routes from the homepage. */
.sp-pagehead {display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:48px;align-items:center;padding:24px 0 40px;margin-bottom:24px;border-bottom:1px solid var(--sp-line)}
.sp-pagehead__body {max-width:780px}
.sp-pagehead h1 {max-width:28ch;margin-bottom:16px}
.sp-pagehead__lead,.sp-hero__note {color:var(--sp-ink-muted);max-width:var(--sp-measure);margin:0 0 16px}
.sp-pagehead__media img {display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--sp-radius-media)}
.sp-crumbs {list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 16px;color:var(--sp-ink-muted);font-size:14px}
.sp-crumbs li::after {content:"/";margin-left:8px}
.sp-crumbs li:last-child::after {content:""}
.sp-filters {background:var(--sp-cream-alt);border:1px solid var(--sp-line);border-radius:var(--sp-radius-card);padding:24px;margin:24px 0 32px}
.sp-filters__row {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.sp-field {display:flex;flex-direction:column;gap:8px;min-width:0}
.sp-field--wide {grid-column:1/-1}
.sp-field label {font-size:14px;font-weight:600}
.sp-field input,.sp-field select {min-height:48px;min-width:0;width:100%;padding:12px;background:var(--sp-surface);color:var(--sp-ink);border:1px solid var(--sp-line-strong);border-radius:var(--sp-radius)}
.sp-field select {text-overflow:ellipsis}
.sp-filters__actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.sp-resultcount {font-size:14px;color:var(--sp-ink-muted);margin:0 0 24px}
.sp-results-heading {font-size:24px;margin-top:48px}
.sp-badge {display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;line-height:1.5;padding:4px 10px;border-radius:999px;background:var(--sp-cream-alt);color:var(--sp-ink-muted);vertical-align:middle;letter-spacing:0.02em}
.sp-badge .sp-icon {width:14px;height:14px}
.sp-badge--verified,.sp-badge--open,.sp-admissions-status--open {background:#DCFCE7!important;color:#14532D!important;border:1px solid #86EFAC}
.sp-badge--provisional,.sp-badge--upcoming,.sp-admissions-status--upcoming {background:#FEF3C7!important;color:#78350F!important;border:1px solid #FDE68A}
.sp-badge--conflict,.sp-badge--expired,.sp-admissions-status--closed {background:#FEE2E2!important;color:#991B1B!important;border:1px solid #FCA5A5}
.sp-badge--occurred,.sp-badge--scheduled {background:var(--sp-cream-alt);color:var(--sp-ink-muted)}

/* Status indicator dot */
.sp-admissions-status::before {content:'';display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:2px}
.sp-admissions-status--open::before {background:#15803D;box-shadow:0 0 0 2px rgba(21,128,61,0.2)}
.sp-admissions-status--upcoming::before {background:#B45309;box-shadow:0 0 0 2px rgba(180,83,9,0.2)}
.sp-source {padding:24px;background:var(--sp-cream-alt);border:1px solid var(--sp-line);border-radius:20px;margin:24px 0;font-size:14px}
.sp-source h2,.sp-source h3,.sp-source h4 {font-size:18px;letter-spacing:-.015em;margin:0 0 12px}
.sp-source p:last-child {margin-bottom:0}
.sp-source blockquote {margin:16px 0 0;padding-left:16px;border-left:2px solid var(--sp-gold);color:var(--sp-ink-muted)}
.sp-source a,[data-sp-eligibility-output] a {overflow-wrap:anywhere}
.sp-note {border-color:var(--sp-line-strong)}
.sp-empty {padding:32px;background:var(--sp-surface);border:1px dashed var(--sp-line-strong);border-radius:20px;text-align:center;color:var(--sp-ink-muted);margin:24px 0}
.sp-empty h2 {font-size:24px}
.sp-stat-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.sp-stat-grid .sp-profile-stat {padding:20px;border:1px solid var(--sp-line);border-radius:16px;background:var(--sp-surface)}
.sp-stat-grid strong {display:block;font-size:28px;color:var(--sp-action)}
.sp-stat-grid span {display:block;color:var(--sp-ink-muted);font-size:14px;margin-top:4px}
.sp-dl {display:grid;grid-template-columns:minmax(144px,auto) 1fr;gap:8px 24px;margin:0}
.sp-dl dt {font-weight:600}
.sp-dl dd {margin:0;color:var(--sp-ink-muted)}
.sp-table__wrap {overflow-x:auto;max-width:100%;min-width:0}
.sp-table {width:100%;border-collapse:collapse;background:var(--sp-surface);font-size:14px}
.sp-table caption {text-align:left;padding:16px;color:var(--sp-ink-muted)}
.sp-table th,.sp-table td {text-align:left;padding:16px;border-bottom:1px solid var(--sp-line);vertical-align:top}
.sp-table th {background:var(--sp-cream-alt);font-weight:600}
.sp-calc-result {background:var(--sp-cream-alt);color:var(--sp-ink);border:1px solid var(--sp-line-strong);border-radius:20px;padding:24px;margin-top:24px}
.sp-calc-result output {display:block;font-size:clamp(1.5rem,1rem + 2vw,2.5rem);line-height:1.2;font-weight:700}
.sp-calc-result table {width:100%;border-collapse:collapse;font-size:14px;margin-top:16px}
.sp-calc-result th,.sp-calc-result td {text-align:left;padding:12px 0;border-bottom:1px solid var(--sp-line)}
.sp-calc-component {background:var(--sp-surface);border:1px solid var(--sp-line);border-radius:var(--sp-radius);padding:16px;margin-bottom:16px}
.sp-calc-component__header {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.sp-calc-component__title {display:flex;align-items:center;gap:8px;font-size:15px}
.sp-calc-modes {display:inline-flex;align-items:center;gap:12px;font-size:13px}
.sp-calc-mode-option {display:inline-flex;align-items:center;gap:6px;min-height:44px;cursor:pointer}
.sp-calc-route-select {margin-bottom:16px}
.sp-calc-policy ul {margin:8px 0 0;padding-left:20px}
.sp-calc-policy li {margin:4px 0}
.sp-calc-error {color:var(--sp-danger);border-color:var(--sp-danger);margin-top:16px}
.sp-field-help {font-size:13px;color:var(--sp-ink-muted);margin:8px 0 0;line-height:1.4}
.sp-list {padding-left:24px}
.sp-list li {margin:8px 0}
.sp-list--badges {list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.sp-list--badges li {padding:8px 12px;background:var(--sp-surface);border:1px solid var(--sp-line);border-radius:10px;margin:0}
.sp-actions {display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:32px 0}
.sp-action {display:block;padding:24px;background:var(--sp-surface);border:1px solid var(--sp-line);border-radius:20px;text-decoration:none}
.sp-action:hover {border-color:var(--sp-action)}
.sp-action strong {display:block;font-size:20px;margin-bottom:8px;font-weight:600}
.sp-action span {display:block;font-size:14px;color:var(--sp-ink-muted)}
.sp-prose > p,.sp-prose > .sp-section,.sp-prose > .sp-source,.sp-prose > .sp-empty {max-width:var(--sp-measure)}
.sp-prose > .sp-section {margin-top:48px;margin-bottom:48px}
.sp-prose > .sp-section h2 {font-size:28px}
.sp-prose .sp-empty .sp-icon {margin-bottom:12px}
.sp-prose .sp-empty span {display:block}
/* Local footer revision: separate white-alpha derivative on the existing dark surface. */
.sp-footer {margin-top:96px;padding:48px 0 24px;background:var(--sp-ink);color:var(--sp-cream)}
.sp-footer a {color:var(--sp-cream)}
.sp-footer :focus-visible {outline:3px solid var(--sp-cream);outline-offset:4px;box-shadow:none}
.sp-footer h2,.sp-footer h3 {color:var(--sp-cream)}
.sp-footer__social {display:flex;gap:16px;flex-wrap:wrap}
.sp-footer__social a,.sp-footer li a,.sp-footer__legal a {display:inline-flex;align-items:center;min-height:44px;min-width:44px;font-size:14px;text-decoration:none}
.sp-footer a:hover {text-decoration:underline}
.sp-footer__cols {display:grid;grid-template-columns:1.3fr repeat(4,minmax(0,1fr));gap:32px;padding:0 0 32px}
.sp-footer__cols h2 {font-size:16px;margin-bottom:16px;letter-spacing:0}
.sp-footer__cols ul {list-style:none;padding:0;margin:0}
.sp-footer__brand > a {display:inline-flex;align-items:center;min-height:88px;margin-bottom:20px}
.sp-footer__brand img {display:block;width:270px;height:90px;object-fit:contain}
.sp-footer__brand p {font-size:14px;max-width:32ch;margin:0}
.sp-footer__legal {display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid var(--sp-line-strong);padding-top:24px;font-size:12px}
.sp-footer__legal p {margin:0}
.sp-footer__legal > div {display:flex;align-items:center;flex-wrap:wrap;gap:16px}
@media (max-width:1199px) {.sp-header__inner {gap:16px}.sp-nav__list {gap:0}.sp-nav__list a {padding:8px}.sp-hero {gap:32px}.sp-band {gap:32px;padding:32px}}
@media (max-width:1023px) {
  :root {--sp-section:64px}
  .sp-header__inner {min-height:74px;flex-wrap:wrap;padding:12px 32px}
  .sp-brand__logo {width:180px;height:60px}
  .sp-header__cta {display:none}
  .sp-nav {margin-left:auto}
  .sp-nav__toggle {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 20px;border:1px solid var(--sp-line-strong);border-radius:999px;background:var(--sp-surface);color:var(--sp-action);cursor:pointer;font-size:14px;font-weight:600}
  .sp-nav__list {display:none;position:absolute;top:100%;left:0;right:0;padding:16px 32px;background:var(--sp-cream);border-bottom:1px solid var(--sp-line-strong)}
  .sp-nav__list[data-open="true"] {display:flex;flex-direction:column}
  .sp-nav__list a {display:flex;min-height:48px}
  .sp-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-admissions-head {grid-template-columns:140px minmax(200px,1fr) 140px 190px;gap:16px;padding:12px 18px}
  .sp-admission-row {grid-template-columns:140px minmax(200px,1fr) 140px 190px;gap:16px;padding:16px 18px}
  .sp-next__links {gap:16px}.sp-next__links a + a {padding-left:16px}
  .sp-next__links a > .sp-icon:last-child {display:none}
  .sp-footer__cols {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px) {
  :root {--sp-section:48px}
  .sp-wrap {padding:0 20px}.sp-header__inner {padding:12px 20px}.sp-main {padding-top:16px}
  .sp-hero {grid-template-columns:1fr;padding:24px 0 40px;gap:32px}
  .sp-hero h1 {margin:16px 0 24px}.sp-hero__cta {margin-top:24px;gap:12px}
  .sp-hero__media img {aspect-ratio:3/2}.sp-hero__media {padding:12px}.sp-hero__shortcut {margin:-32px 4px 0;padding:12px;gap:8px}
  .sp-next {padding:24px}.sp-next__links {grid-template-columns:1fr;gap:8px}.sp-next__links a {padding:12px 0}.sp-next__links a + a {border-left:0;border-top:1px solid var(--sp-line);padding:16px 0 8px}.sp-next h2 {margin-bottom:12px}
  .sp-grid {grid-template-columns:1fr}.sp-stat-grid {grid-template-columns:1fr}
  .sp-admissions-head {display:none}
  .sp-admission-row {grid-template-columns:1fr auto;grid-template-areas:"date status" "main main" "action action";row-gap:12px;column-gap:12px;padding:16px}
  .sp-adm-col--date {grid-area:date;align-self:center}
  .sp-adm-col--status {grid-area:status;justify-self:end;align-self:center}
  .sp-adm-col--main {grid-area:main}
  .sp-adm-col--action {grid-area:action;padding-top:8px;border-top:1px dashed var(--sp-line);width:100%}
  .sp-adm-col--action .sp-adm-link {width:100%;justify-content:space-between}
  .sp-sectionhead {margin-bottom:32px}.sp-catalogue-heading {display:block}.sp-catalogue-heading span {display:block;margin-top:8px}
  .sp-band {grid-template-columns:1fr;padding:24px;gap:32px}.sp-band__media img {aspect-ratio:3/2}
  .sp-card--tool {padding:24px}.sp-card h3 {font-size:18px}
  .sp-pagehead {grid-template-columns:1fr;gap:24px;padding:16px 0 24px;margin-bottom:24px}.sp-pagehead__media {display:flex;align-items:center;gap:16px}.sp-pagehead__media picture {display:block;width:144px;flex:none}.sp-pagehead__media .sp-hero__caption {margin:0;max-width:24ch}
  .sp-pagehead h1 {max-width:100%}.sp-filters {padding:24px}.sp-filters__row {grid-template-columns:1fr}
  .sp-faq details {padding:0 16px}.sp-faq summary {padding:16px 0}.sp-faq details p {padding-bottom:20px}
  .sp-dl {grid-template-columns:1fr;gap:4px}.sp-dl dd {margin-bottom:16px}
  .sp-footer {margin-top:64px;padding-top:32px}
  .sp-footer__cols {grid-template-columns:1fr;gap:24px;padding:0 0 24px}.sp-footer__brand p {max-width:100%}.sp-footer__legal {display:block}.sp-footer__legal > div {margin-top:16px}
}
/* Centered Page Header (for calculators) */
.sp-pagehead--center {display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 0 24px;width:100%}
.sp-pagehead--center .sp-pagehead__body {max-width:880px;width:100%;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.sp-pagehead--center .sp-eyebrow {margin:0 auto 12px;text-align:center}
.sp-pagehead--center h1 {font-size:34px;max-width:32ch;margin:0 auto 14px;line-height:1.25;text-align:center}
.sp-pagehead--center .sp-pagehead__lead {font-size:16.5px;max-width:65ch;margin:0 auto;text-align:center;line-height:1.55}

/* Split Feature Guide Section (Full-Width Dark Band, White Text, Left Text, Right Image) */
.sp-band-dark {background:var(--sp-ink);color:#fff;width:100%;margin:72px 0;padding:72px 0}
.sp-band-dark h2 {color:#fff;font-size:30px;line-height:1.25;margin:0 0 16px}
.sp-band-dark .sp-lead {color:rgba(255,255,255,0.85);font-size:16.5px;line-height:1.6;margin:0 0 28px}

.sp-split-feature {display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:stretch}
.sp-split-feature__text {display:flex;flex-direction:column;justify-content:center}
.sp-feature-points {display:flex;flex-direction:column;gap:20px}
.sp-feature-point h3 {font-size:16.5px;font-weight:700;color:var(--sp-gold-soft);margin:0 0 8px}
.sp-feature-point p {font-size:14.5px;line-height:1.6;color:rgba(255,255,255,0.8);margin:0}
.sp-feature-point strong {color:#fff}

.sp-split-feature__media {display:flex;align-items:stretch;height:100%}
.sp-media-card {background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.15);border-radius:16px;overflow:hidden;padding:14px;display:flex;flex-direction:column;width:100%;height:100%}
.sp-media-frame {position:relative;display:flex;flex:1;min-height:0;overflow:hidden;border-radius:10px}
.sp-media-frame picture {display:block;width:100%;height:100%}
.sp-media-frame img {display:block;width:100%;height:100%;border-radius:10px;object-fit:cover}
.sp-media-tag {position:absolute;bottom:12px;left:12px;background:rgba(18,60,47,0.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(255,255,255,0.25);padding:5px 12px;border-radius:6px;font-size:12px;font-weight:700;letter-spacing:0.03em;box-shadow:0 4px 12px rgba(0,0,0,0.3);display:inline-flex;align-items:center;gap:6px}
.sp-media-tag::before {content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--sp-gold)}
.sp-media-caption {font-size:13.5px;color:rgba(255,255,255,0.85);margin:14px 4px 4px;line-height:1.5;flex:none}

@media (max-width:1023px) {
  .sp-band-dark {padding:48px 0;margin:48px 0}
  .sp-split-feature {grid-template-columns:1fr;gap:36px}
  .sp-media-frame {min-height:300px}
}
.sp-calc-toolbar {display:flex;justify-content:space-between;align-items:center;background:#FAF9F5;border:1px solid var(--sp-line);border-radius:12px;padding:12px 20px;margin-bottom:28px;gap:16px;flex-wrap:wrap}
.sp-toolbar-group {display:flex;align-items:center;gap:12px}
.sp-toolbar-label {font-size:13px;font-weight:700;color:var(--sp-ink)}
.sp-mode-btn {background:#fff;border:1px solid var(--sp-line-strong);border-radius:8px;padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--sp-ink-muted);cursor:pointer;transition:all var(--sp-dur-fast) var(--sp-ease)}
.sp-mode-btn:hover {border-color:var(--sp-action);color:var(--sp-action)}
.sp-mode-btn.is-active {background:var(--sp-action);border-color:var(--sp-action);color:#fff}

.sp-system-switch-wrap {display:flex;align-items:center;gap:16px;background:#FAF9F5;border:1px solid var(--sp-line);border-radius:12px;padding:12px 20px;margin-bottom:24px;flex-wrap:wrap}
.sp-system-switch-label {font-size:13.5px;font-weight:700;color:var(--sp-ink)}
.sp-system-switch {display:flex;gap:8px}
.sp-system-btn {background:#fff;border:1px solid var(--sp-line-strong);border-radius:8px;padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--sp-ink-muted);cursor:pointer;transition:all var(--sp-dur-fast) var(--sp-ease)}
.sp-system-btn:hover {border-color:var(--sp-action);color:var(--sp-action)}
.sp-system-btn.is-active {background:var(--sp-action);border-color:var(--sp-action);color:#fff}
.sp-system-btn.is-active strong {color:#fff}

.sp-calc-fields--compact {display:flex;flex-direction:column;gap:16px}
.sp-compact-field {background:#FAF9F5;border:1px solid var(--sp-line);border-radius:12px;padding:16px 20px}
.sp-compact-field__head {display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:12px;flex-wrap:wrap}
.sp-compact-label {font-size:14.5px;font-weight:700;color:var(--sp-ink);margin:0}
.sp-compact-route select {padding:6px 10px;font-size:12.5px;border:1px solid var(--sp-line-strong);border-radius:6px;background:#fff}

.sp-input-affix-wrap {position:relative;display:flex;align-items:center}
.sp-input-affix-wrap input {width:100%;padding:14px 85px 14px 16px;font-size:18px;font-weight:700;border:1px solid var(--sp-line-strong);border-radius:8px;background:#fff;color:var(--sp-ink)}
.sp-input-affix-wrap input:focus {outline:none;border-color:var(--sp-action);box-shadow:0 0 0 3px rgba(18,60,47,0.12)}
.sp-input-affix {position:absolute;right:12px;font-size:13.5px;font-weight:700;color:var(--sp-ink-muted);background:#F0F2F0;padding:4px 10px;border-radius:6px;pointer-events:none}

.sp-checkbox-inline {display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--sp-ink);cursor:pointer}
.sp-checkbox-inline input {accent-color:var(--sp-action);width:15px;height:15px}

.sp-calc-awaiting-wrap {margin-bottom:12px;padding:8px 12px;background:#fff;border:1px dashed var(--sp-line-strong);border-radius:8px}
.sp-checkbox-label {display:flex;align-items:center;gap:8px;font-size:13px;color:var(--sp-ink);cursor:pointer}
.sp-checkbox-label input {accent-color:var(--sp-action);width:16px;height:16px}

.sp-ibcc-helper-card {margin-top:20px;background:#fff;border:1px solid var(--sp-line);border-radius:12px;padding:20px}
.sp-ibcc-helper-title {font-size:14px;font-weight:700;color:var(--sp-ink);margin:0 0 10px;text-transform:uppercase;letter-spacing:0.04em}
.sp-ibcc-list {margin:0;padding-left:18px;font-size:12.5px;line-height:1.5;color:var(--sp-ink-muted)}
.sp-ibcc-list li {margin-bottom:6px}

.sp-calc-tabs {display:flex;gap:12px;margin:24px 0 20px;overflow-x:auto;padding-bottom:4px}
.sp-calc-tab {flex:1;min-width:260px;background:#fff;border:2px solid var(--sp-line);border-radius:12px;padding:16px 20px;text-align:left;cursor:pointer;transition:all var(--sp-dur-fast) var(--sp-ease)}
.sp-calc-tab strong {display:block;font-size:16px;color:var(--sp-ink);margin-bottom:4px}
.sp-calc-tab span {display:block;font-size:12.5px;color:var(--sp-ink-muted)}
.sp-calc-tab:hover {border-color:var(--sp-action)}
.sp-calc-tab.is-active {border-color:var(--sp-action);background:#FAFDFB;box-shadow:0 4px 16px rgba(18,60,47,0.08)}
.sp-calc-tab.is-active strong {color:var(--sp-action)}

.sp-calc-layout {display:grid;grid-template-columns:1.6fr 1fr;gap:32px;align-items:start;margin-bottom:48px}
.sp-calc-card {background:#fff;border:1px solid var(--sp-line);border-radius:16px;padding:32px;box-shadow:0 2px 12px rgba(0,0,0,0.03)}
.sp-calc-card__header {display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--sp-line);margin-bottom:24px}
.sp-calc-card__title {font-size:22px;color:var(--sp-ink);margin:0 0 6px}
.sp-calc-card__desc {font-size:14px;color:var(--sp-ink-muted);margin:0;max-width:55ch}
.sp-calc-pills {display:flex;gap:8px;flex-wrap:wrap}
.sp-pill {font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:100px;text-transform:uppercase;letter-spacing:0.04em}
.sp-pill--test {background:#E8F3EE;color:var(--sp-green-deep)}
.sp-pill--hssc {background:#FDF5E6;color:#8B6414}
.sp-pill--ssc {background:#F0F4F8;color:#204A6E}

.sp-calc-fields {display:flex;flex-direction:column;gap:24px}
.sp-calc-group {background:#FAF9F5;border:1px solid var(--sp-line);border-radius:12px;padding:20px}
.sp-calc-group__head {display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.sp-calc-label {font-size:15px;font-weight:700;color:var(--sp-ink);margin:0}
.sp-calc-input-toggle {display:flex;gap:12px;font-size:12.5px;font-weight:600;color:var(--sp-ink-muted)}
.sp-calc-input-toggle label {display:flex;align-items:center;gap:4px;cursor:pointer}
.sp-calc-route-select {margin-bottom:12px}
.sp-calc-route-select select {width:100%;padding:10px 14px;font-size:14px;border:1px solid var(--sp-line-strong);border-radius:8px;background:#fff}

.sp-calc-input-row {display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sp-calc-col label {display:block;font-size:12.5px;font-weight:600;color:var(--sp-ink-muted);margin-bottom:6px}
.sp-calc-col input {width:100%;padding:12px 14px;font-size:16px;font-weight:600;border:1px solid var(--sp-line-strong);border-radius:8px;background:#fff;color:var(--sp-ink)}
.sp-calc-col input:focus {outline:none;border-color:var(--sp-action);box-shadow:0 0 0 3px rgba(18,60,47,0.12)}
.sp-calc-col--full {grid-column:1 / -1}
.sp-calc-alert {margin-top:16px;padding:12px 16px;background:#FDF2F2;border-left:4px solid #C0392B;color:#7A1E1E;border-radius:6px;font-size:13.5px}

/* Sticky Sidebar Result */
.sp-calc-sidebar {position:sticky;top:24px}
.sp-calc-live-result {background:#fff;border:2px solid var(--sp-action);border-radius:16px;padding:28px;box-shadow:0 8px 30px rgba(18,60,47,0.1)}
.sp-calc-live-result__head {display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--sp-line)}
.sp-calc-live-title {font-size:13px;font-weight:700;color:var(--sp-ink-muted)}

.sp-calc-score-box {text-align:center;padding:12px 0 20px}
.sp-calc-score-caption {display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--sp-ink-muted);margin-bottom:4px}
.sp-calc-score-val {display:block;font-family:var(--sp-font-display);font-size:48px;font-weight:800;color:var(--sp-action);line-height:1;margin-bottom:8px}
.sp-calc-score-status {display:block;font-size:13px;color:var(--sp-ink-muted)}

.sp-calc-breakdown-stack {margin-top:20px;padding-top:20px;border-top:1px solid var(--sp-line)}
.sp-calc-bar-wrap {background:#E8ECE9;height:10px;border-radius:100px;overflow:hidden;margin-bottom:16px}
.sp-calc-bar {height:100%;background:linear-gradient(90deg,var(--sp-action),var(--sp-gold));border-radius:100px;transition:width var(--sp-dur-fast) var(--sp-ease)}

.sp-calc-breakdown-list {display:flex;flex-direction:column;gap:10px}
.sp-calc-breakdown-item {display:flex;align-items:center;font-size:13px}
.sp-calc-dot {width:10px;height:10px;border-radius:50%;margin-right:8px;flex:none}
.sp-calc-dot--test {background:var(--sp-green-deep)}
.sp-calc-dot--hssc {background:var(--sp-gold)}
.sp-calc-dot--ssc {background:#204A6E}
.sp-calc-item-name {flex:1;color:var(--sp-ink-muted)}
.sp-calc-item-val {font-weight:700;color:var(--sp-ink)}

.sp-calc-sidebar-actions {display:flex;flex-direction:column;gap:10px;margin-top:24px}

/* Formula Math Box */
.sp-formula-grid {display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px}
.sp-formula-box {background:#fff;border:1px solid var(--sp-line);border-radius:12px;padding:24px}
.sp-formula-box h3 {font-size:18px;color:var(--sp-ink);margin-top:0;margin-bottom:10px}
.sp-formula-math {font-family:monospace;font-size:14px;background:#F4F6F4;padding:10px 14px;border-radius:6px;color:var(--sp-green-deep);font-weight:700;margin-bottom:14px}

.sp-card--upcoming {opacity:0.85;border-style:dashed}
.sp-btn--disabled {display:inline-flex;align-items:center;padding:12px 20px;border-radius:100px;font-size:14px;font-weight:600;background:#E8ECE9;color:var(--sp-ink-muted);cursor:not-allowed}

/* Full Clickable Tool Cards with Logos */
.sp-card--clickable {display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer;transition:transform 0.18s cubic-bezier(0.16,1,0.3,1),box-shadow 0.18s cubic-bezier(0.16,1,0.3,1),border-color 0.18s ease;position:relative}
.sp-card--clickable.sp-card--active-tool:hover {transform:translateY(-3px);border-color:var(--sp-action);box-shadow:0 12px 28px -6px rgba(18,60,47,0.12)}
.sp-card--clickable.sp-card--upcoming {cursor:default}
@media (max-width:1023px) {
  .sp-calc-layout {grid-template-columns:1fr;gap:24px}
  .sp-calc-sidebar {position:static}
  .sp-formula-grid {grid-template-columns:1fr}
}
@media (max-width:767px) {
  .sp-calc-card {padding:20px}
  .sp-calc-card__header {flex-direction:column;gap:12px}
  .sp-calc-input-row {grid-template-columns:1fr}
  .sp-calc-tab {min-width:220px;padding:12px 14px}
}

@media (prefers-reduced-motion:reduce) {*,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Additional NUST & Dedicated Calculator Layout Helpers */
.sp-calc-tab--active {border-color:var(--sp-action)!important;background:#FAFDFB!important;box-shadow:0 4px 16px rgba(18,60,47,0.08)!important}
.sp-calc-tab--active strong {color:var(--sp-action)!important}
.sp-calc-stream-select {margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--sp-line)}
.sp-calc-radio-group {display:flex;gap:20px;margin-top:8px;flex-wrap:wrap}
.sp-calc-radio {display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--sp-ink);cursor:pointer}
.sp-calc-radio input {accent-color:var(--sp-action);width:16px;height:16px}
.sp-calc-awaiting-toggle {margin-bottom:24px;padding:14px 18px;background:#F9FBFA;border:1px dashed var(--sp-action);border-radius:10px}
.sp-calc-hint {margin:6px 0 0 24px;font-size:13px;color:var(--sp-ink-muted);line-height:1.4}
.sp-calc-fieldset {margin:0 0 24px;padding:20px;background:#FAF9F5;border:1px solid var(--sp-line);border-radius:12px}
.sp-calc-fieldset legend {display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--sp-ink);padding:0 8px;margin-bottom:12px}
.sp-calc-step {display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--sp-action);color:#fff;font-size:12px;font-weight:700;border-radius:50%}
.sp-calc-weight-pill {font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:#E8F3EE;color:var(--sp-green-deep);text-transform:uppercase;letter-spacing:0.04em}
.sp-calc-input-row {display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end}
.sp-calc-input-group label {display:block;font-size:12.5px;font-weight:600;color:var(--sp-ink-muted);margin-bottom:6px}
.sp-calc-input-group input {width:100%;padding:12px 14px;font-size:16px;font-weight:700;border:1px solid var(--sp-line-strong);border-radius:8px;background:#fff;color:var(--sp-ink)}
.sp-calc-input-group input:focus {outline:none;border-color:var(--sp-action);box-shadow:0 0 0 3px rgba(18,60,47,0.12)}
.sp-calc-input-group--full {grid-column:1 / -1}
.sp-calc-input--readonly {background:#F2F4F2!important;color:var(--sp-ink-muted)!important;cursor:not-allowed}
.sp-calc-subhint {display:block;font-size:12px;color:var(--sp-ink-muted);margin-top:4px;line-height:1.35}
.sp-calc-stat-group {display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 14px;background:#fff;border:1px solid var(--sp-line);border-radius:8px;min-width:90px}
.sp-calc-stat-label {font-size:11px;font-weight:600;color:var(--sp-ink-muted);text-transform:uppercase}
.sp-calc-stat-val {font-size:16px;font-weight:800;color:var(--sp-action)}
.sp-calc-hidden {display:none!important}

/* Result Card */
.sp-calc-result-card {background:#fff;border:2px solid var(--sp-action);border-radius:16px;padding:28px;box-shadow:0 8px 30px rgba(18,60,47,0.08)}
.sp-calc-result-eyebrow {font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--sp-ink-muted);margin:0 0 6px;text-align:center}
.sp-calc-result-score {text-align:center;font-size:48px;font-weight:800;font-family:var(--sp-font-display);color:var(--sp-action);line-height:1;margin-bottom:8px}
.sp-calc-result-unit {font-size:28px;font-weight:600;margin-left:2px}
.sp-calc-result-badge {text-align:center;font-size:13px;font-weight:600;color:var(--sp-ink-muted);margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--sp-line)}
.sp-calc-breakdown {display:flex;flex-direction:column;gap:14px;margin-bottom:24px}
.sp-calc-breakdown-row {display:flex;flex-direction:column;gap:4px}
.sp-calc-breakdown-label {display:flex;justify-content:space-between;font-size:13px;color:var(--sp-ink)}
.sp-calc-progress-track {width:100%;height:8px;background:#EDF1EE;border-radius:100px;overflow:hidden}
.sp-calc-progress-bar {height:100%;border-radius:100px;transition:width 0.25s ease}
.sp-calc-progress-bar--test {background:var(--sp-action)}
.sp-calc-progress-bar--hssc {background:#D97706}
.sp-calc-progress-bar--ssc {background:#2563EB}
.sp-calc-breakdown-row small {font-size:11.5px;color:var(--sp-ink-muted)}

/* Target Simulator */
.sp-calc-target-box {background:#FAFDFB;border:1px solid #CDE5DA;border-radius:12px;padding:18px;margin-bottom:20px}
.sp-calc-target-box h4 {font-size:14px;font-weight:700;margin:0 0 6px;color:var(--sp-ink)}
.sp-calc-target-box p {font-size:12.5px;color:var(--sp-ink-muted);margin:0 0 10px;line-height:1.4}
.sp-calc-select {width:100%;padding:10px 12px;font-size:13.5px;font-weight:600;border:1px solid var(--sp-line-strong);border-radius:8px;background:#fff;color:var(--sp-ink);margin-bottom:10px}
.sp-calc-target-result {padding:10px 12px;background:#fff;border:1px solid var(--sp-line);border-radius:6px;font-size:13px;line-height:1.45;color:var(--sp-ink)}
/* WhatsApp Share Button */
.sp-btn--whatsapp {background:#25D366;color:#06281F;border:1px solid #1EBE5D;font-weight:700}
.sp-btn--whatsapp:hover {background:#1EBE5D;color:#06281F;box-shadow:0 6px 18px rgba(37,211,102,0.28)}

.sp-btn--full {width:100%;text-align:center;justify-content:center}
.sp-table-scroll {overflow-x:auto;margin:24px 0}
.sp-table-footnote {font-size:13px;color:var(--sp-ink-muted);margin-top:12px;line-height:1.4}

/* ==========================================================================
   Guides Hub & Article Typography & Natural Layout
   ========================================================================== */

/* Guides Hub: Featured Hero Card */
.sp-featured-guide {
  margin-bottom: 48px;
}
.sp-guide-hero-card {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 36px;
  background: var(--sp-surface);
  border: 1px solid var(--sp-line);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(18,60,47,0.05);
  align-items: stretch;
}
.sp-guide-hero-card__body {
  padding: 36px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sp-guide-hero-card__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.sp-guide-read-time, .sp-article-meta-item {
  font-size: 13px;
  color: var(--sp-ink-muted);
  font-weight: 600;
}
.sp-guide-date {
  font-size: 13px;
  color: var(--sp-ink-muted);
}
.sp-guide-hero-card__title {
  font-size: 26px;
  line-height: 1.3;
  margin: 0 0 14px;
}
.sp-guide-hero-card__title a {
  color: var(--sp-ink);
  text-decoration: none;
}
.sp-guide-hero-card__title a:hover {
  color: var(--sp-action);
}
.sp-guide-hero-card__excerpt {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--sp-ink-muted);
  margin: 0 0 24px;
}
.sp-guide-hero-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding-top: 20px;
  border-top: 1px solid var(--sp-line);
}
.sp-guide-hero-card__media {
  background: var(--sp-cream-alt);
  display: flex;
}
.sp-guide-hero-card__media picture,
.sp-guide-hero-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Author Inline */
.sp-author-inline {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sp-author-avatar {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  border-radius: 50%;
  background: var(--sp-forest, #0B251B);
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.02em;
  text-align: center;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(11,37,27,0.15);
}
.sp-author-inline strong {
  display: block;
  font-size: 13px;
  line-height: 1.25;
  color: var(--sp-ink);
}
.sp-author-inline .sp-author-role,
.sp-author-inline div > span {
  display: block;
  font-size: 11.5px;
  line-height: 1.25;
  color: var(--sp-ink-muted);
}

/* Guides Hub: Grid of Guide Cards */
.sp-guides-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 28px;
}
.sp-guide-card {
  display: flex;
  flex-direction: column;
  background: var(--sp-surface);
  border: 1px solid var(--sp-line);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(18,60,47,0.04);
  transition: transform 0.2s cubic-bezier(0.16,1,0.3,1), border-color 0.2s ease, box-shadow 0.2s ease;
}
.sp-guide-card:not(.sp-guide-card--preview):hover {
  transform: translateY(-4px);
  border-color: var(--sp-action);
  box-shadow: 0 14px 28px -6px rgba(18,60,47,0.12);
}
.sp-guide-card--preview {
  background: #FAF9F5;
  border-style: dashed;
}
.sp-guide-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9.5;
  background: var(--sp-cream-alt);
  overflow: hidden;
}
.sp-guide-card__media a {
  display: block;
  width: 100%;
  height: 100%;
}
.sp-guide-card__media picture,
.sp-guide-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}
.sp-guide-card:hover .sp-guide-card__media img {
  transform: scale(1.03);
}
.sp-guide-card__body {
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.sp-guide-card__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.sp-guide-card .sp-badge {
  font-size: 11px;
  padding: 3px 8px;
}
.sp-guide-card .sp-guide-read-time,
.sp-guide-card .sp-guide-date {
  font-size: 12px;
}
.sp-guide-card__title,
.sp-guide-card h2,
.sp-guide-card h3 {
  font-size: 18px;
  line-height: 1.35;
  margin: 0 0 10px;
  font-weight: 700;
}
.sp-guide-card__title a,
.sp-guide-card h2 a,
.sp-guide-card h3 a {
  color: var(--sp-ink);
  text-decoration: none;
}
.sp-guide-card__title a:hover,
.sp-guide-card h2 a:hover,
.sp-guide-card h3 a:hover {
  color: var(--sp-action);
}
.sp-guide-title-static {
  color: var(--sp-ink);
}
.sp-guide-card__excerpt,
.sp-guide-card p {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--sp-ink-muted);
  margin: 0 0 18px;
  flex: 1 1 auto;
}
.sp-guide-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 14px;
  border-top: 1px solid var(--sp-line);
  margin-top: auto;
}
.sp-guide-card__footer .sp-btn--sm {
  padding: 6px 12px;
  font-size: 12px;
  border-radius: 7px;
  white-space: nowrap;
}
.sp-guide-author-name {
  font-weight: 600;
  color: var(--sp-ink);
}
.sp-guide-action {
  font-weight: 700;
  color: var(--sp-action);
}
.sp-guide-action--disabled {
  color: var(--sp-ink-muted);
  font-weight: 600;
}

/* ==========================================================================
   Single Guide Article Layout & Immersive Hero
   ========================================================================== */
.sp-article-hero {
  position: relative;
  overflow: hidden;
  background-color: var(--sp-green-deep);
  margin-bottom: 36px;
}
.sp-article-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.sp-article-hero__bg picture,
.sp-article-hero__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;
}
.sp-article-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(135deg, rgba(10, 32, 23, 0.94) 0%, rgba(18, 60, 47, 0.90) 55%, rgba(8, 26, 19, 0.96) 100%);
}
.sp-article-hero__content {
  position: relative;
  z-index: 3;
  padding-top: 44px;
  padding-bottom: 52px;
}
.sp-crumbs--light {
  margin-bottom: 24px;
}
.sp-crumbs--light a {
  color: rgba(240, 245, 242, 0.75);
}
.sp-crumbs--light a:hover {
  color: #fff;
}
.sp-crumbs--light [aria-current="page"] {
  color: #fff;
  font-weight: 600;
}
.sp-crumbs--light li:not(:last-child)::after {
  color: rgba(255, 255, 255, 0.4);
}
.sp-badge--gold {
  background: #D4A017;
  color: #0C261C;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.sp-article-hero__meta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.sp-article-hero__meta-item {
  font-size: 13px;
  font-weight: 600;
  color: rgba(240, 245, 242, 0.82);
}
.sp-article-hero__title {
  font-size: clamp(2rem, 1.6rem + 2vw, 2.85rem);
  line-height: 1.22;
  color: #FFFFFF;
  font-weight: 800;
  letter-spacing: -0.025em;
  margin: 0 0 16px;
  max-width: 900px;
}
.sp-article-hero__lead {
  font-size: 17px;
  line-height: 1.6;
  color: rgba(240, 245, 242, 0.9);
  max-width: 780px;
  margin: 0 0 28px;
}
.sp-article-byline--hero {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 20px !important;
  padding: 20px 0 0 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-bottom: none !important;
  flex-wrap: wrap;
}
.sp-article-byline--hero .sp-author-inline {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.sp-article-byline--hero .sp-author-avatar--gold {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #E5B22A 0%, #C89210 100%) !important;
  color: #0A261B !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
  text-align: center !important;
  border: 2px solid rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
  box-sizing: border-box !important;
  flex: none !important;
}
.sp-article-byline--hero .sp-author-name--light {
  display: block !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}
.sp-article-byline--hero .sp-author-title--light {
  display: block !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #F0F5F2 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}

/* In-Article Figures & Media Cards */
.sp-guide-media {
  margin: 36px 0;
}
.sp-guide-media__frame {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--sp-line);
  box-shadow: 0 6px 20px rgba(18,60,47,0.06);
  background: var(--sp-cream-alt);
}
.sp-guide-media__frame picture,
.sp-guide-media__frame img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.sp-article-header {
  margin: 24px auto 32px;
  max-width: 840px;
  text-align: center;
}
.sp-article-header__meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.sp-article-title {
  font-size: clamp(2rem, 1.5rem + 2vw, 2.75rem);
  line-height: 1.25;
  color: var(--sp-ink);
  margin: 0 0 16px;
  letter-spacing: -0.02em;
}
.sp-article-lead {
  font-size: 17.5px;
  line-height: 1.6;
  color: var(--sp-ink-muted);
  max-width: 720px;
  margin: 0 auto 28px;
}
.sp-article-byline {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 16px 0;
  border-top: 1px solid var(--sp-line);
  border-bottom: 1px solid var(--sp-line);
  flex-wrap: wrap;
}

/* Article Layout: Two-Column Reading Grid */
.sp-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 48px;
  align-items: start;
  margin-top: 32px;
}
.sp-article-body {
  font-size: 16.5px;
  line-height: 1.75;
  color: #2D3732;
}
.sp-article-body h2 {
  font-size: 24px;
  line-height: 1.35;
  color: var(--sp-ink);
  margin: 40px 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--sp-line);
}
.sp-article-body h3 {
  font-size: 18.5px;
  line-height: 1.4;
  color: var(--sp-ink);
  margin: 28px 0 12px;
}
.sp-article-body p {
  margin: 0 0 20px;
}
.sp-article-body ul, .sp-article-body ol {
  margin: 0 0 24px;
  padding-left: 24px;
}
.sp-article-body li {
  margin-bottom: 8px;
  line-height: 1.65;
}

/* Key Takeaways Box (Featured Snippet Box) */
.sp-key-takeaways {
  background: #FAFDFB;
  border: 2px solid var(--sp-action);
  border-radius: 16px;
  padding: 24px 28px;
  margin-bottom: 36px;
}
.sp-key-takeaways h2,
.sp-key-takeaways h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--sp-action);
  margin: 0 0 14px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.sp-key-takeaways ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sp-key-takeaways li {
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
}
.sp-key-takeaways strong {
  color: var(--sp-ink);
}

/* 12 Service Groups Grid */
.sp-service-groups-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 24px 0 32px;
}
.sp-service-group-card {
  padding: 16px 20px;
  background: #FAF9F5;
  border: 1px solid var(--sp-line);
  border-radius: 12px;
}
.sp-service-group-card h4 {
  font-size: 15px;
  font-weight: 700;
  color: var(--sp-green-deep);
  margin: 0 0 6px;
}
.sp-service-group-card p {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--sp-ink-muted);
  margin: 0;
}

/* Author Profile Box (AdSense E-E-A-T Signal) */
.sp-author-box {
  display: flex;
  gap: 20px;
  padding: 28px;
  background: var(--sp-surface);
  border: 1px solid var(--sp-line);
  border-radius: 16px;
  margin: 48px 0 32px;
  box-shadow: 0 4px 20px rgba(18,60,47,0.04);
}
.sp-author-box__avatar {
  width: 56px;
  height: 56px;
  min-width: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--sp-action) 0%, #0D3E27 100%);
  color: #FFFFFF;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex: none;
  box-shadow: 0 4px 12px rgba(18, 60, 47, 0.12);
  border: 2px solid rgba(255, 255, 255, 0.9);
  user-select: none;
  box-sizing: border-box;
}
.sp-author-box__content {
  flex: 1;
}
.sp-author-box__header {
  margin-bottom: 8px;
}
.sp-author-box__name {
  font-size: 18px;
  font-weight: 700;
  color: var(--sp-ink);
  margin: 0;
  display: inline-block;
}
.sp-author-box__title {
  display: inline-block;
  margin-left: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--sp-ink-muted);
}
.sp-author-box__bio {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--sp-ink-muted);
  margin: 0 0 12px;
}
.sp-author-box__social {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 13px;
}

/* Article Sidebar: Table of Contents & Promos */
.sp-article-sidebar {
  position: sticky;
  top: 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.sp-toc-card {
  padding: 22px;
  background: var(--sp-surface);
  border: 1px solid var(--sp-line);
  border-radius: 16px;
}
.sp-toc-card h2,
.sp-toc-card h4 {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--sp-ink-muted);
  margin: 0 0 14px;
}
.sp-toc-nav {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sp-toc-nav a {
  font-size: 13.5px;
  color: var(--sp-ink);
  text-decoration: none;
  line-height: 1.45;
  padding: 4px 0;
  transition: color var(--sp-dur-fast) ease;
}
.sp-toc-nav a:hover {
  color: var(--sp-action);
  text-decoration: underline;
}
.sp-sidebar-promo-card {
  padding: 22px;
  background: #FAFDFB;
  border: 1px solid #CDE5DA;
  border-radius: 16px;
}
.sp-sidebar-promo-card h2,
.sp-sidebar-promo-card h4 {
  font-size: 15px;
  font-weight: 700;
  color: var(--sp-ink);
  margin: 0 0 8px;
}
.sp-sidebar-promo-card p {
  font-size: 13px;
  line-height: 1.5;
  color: var(--sp-ink-muted);
  margin: 0 0 14px;
}

/* Responsive Breakpoints for Article & Hub */
@media (max-width: 1023px) {
  .sp-article-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .sp-article-sidebar {
    position: static;
  }
  .sp-guide-hero-card {
    grid-template-columns: 1fr;
  }
  .sp-guide-hero-card__media {
    min-height: 240px;
  }
  .sp-guides-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .sp-guides-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .sp-guide-card__body {
    padding: 20px;
  }
  .sp-guide-card__title,
  .sp-guide-card h2,
  .sp-guide-card h3 {
    font-size: 19px;
  }
  .sp-guide-card__footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .sp-guide-card__footer .sp-btn {
    width: 100%;
    justify-content: center;
  }
  .sp-service-groups-grid {
    grid-template-columns: 1fr;
  }
  .sp-guide-hero-card__body {
    padding: 24px;
  }
  .sp-author-box {
    flex-direction: column;
    padding: 20px;
    gap: 14px;
  }
}

/* ==========================================================================
   CSS Age & Eligibility Calculator Dedicated Styles
   ========================================================================== */
.sp-badge--frosted {
  background: rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.32);
  font-weight: 600;
  font-size: 12px;
  padding: 4px 12px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.sp-badge--neutral {
  background: var(--sp-cream-alt);
  color: var(--sp-ink-muted);
  border: 1px solid var(--sp-line);
}

.sp-dob-selectors {
  display: grid;
  grid-template-columns: 1fr 1.5fr 1.2fr;
  gap: 12px;
  margin-top: 6px;
}
@media (max-width: 640px) {
  .sp-dob-selectors {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

.sp-calc-select {
  width: 100%;
  padding: 12px 14px;
  font-size: 15px;
  font-weight: 600;
  border: 1px solid var(--sp-line-strong);
  border-radius: 8px;
  background-color: #fff;
  color: var(--sp-ink);
  font-family: inherit;
  transition: border-color var(--sp-dur-fast) var(--sp-ease);
}
.sp-calc-select:focus {
  outline: none;
  border-color: var(--sp-action);
  box-shadow: 0 0 0 3px rgba(18, 60, 47, 0.12);
}

.sp-check-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
  background: #FAF9F5;
  border: 1px solid var(--sp-line);
  border-radius: 10px;
  padding: 16px;
}
.sp-check-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.5;
  color: var(--sp-ink);
}
.sp-check-item input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--sp-action);
  flex-shrink: 0;
  cursor: pointer;
}

.sp-exact-age-display {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 12px;
  margin: 16px 0 12px;
}
.sp-exact-age-unit {
  text-align: center;
}
.sp-exact-age-num {
  font-family: var(--sp-font-display);
  font-size: 42px;
  font-weight: 800;
  color: var(--sp-action);
  line-height: 1;
}
.sp-exact-age-lbl {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--sp-ink-muted);
  margin-top: 4px;
}

.sp-text--pass {
  color: #14532D !important;
}
.sp-text--warn {
  color: #991B1B !important;
}

.sp-roadmap-card {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--sp-line);
}
.sp-roadmap-title {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--sp-ink-muted);
  margin: 0 0 12px;
}
.sp-roadmap-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sp-roadmap-item {
  background: #FAF9F5;
  border: 1px solid var(--sp-line);
  border-radius: 10px;
  padding: 12px 14px;
  transition: border-color var(--sp-dur-fast) ease;
}
.sp-roadmap-item__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}
.sp-roadmap-item__cutoff {
  font-size: 11.5px;
  color: var(--sp-ink-muted);
}
.sp-roadmap-item__detail {
  font-size: 12.5px;
  color: var(--sp-ink-muted);
  margin: 6px 0 0;
  line-height: 1.4;
}

.sp-calc-promo-banner {
  display: grid;
  grid-template-columns: 240px 1fr;
  background: #fff;
  border: 1px solid #CDE5DA;
  border-radius: 16px;
  overflow: hidden;
  margin: 40px 0;
  box-shadow: 0 4px 20px rgba(18, 60, 47, 0.05);
}
@media (max-width: 768px) {
  .sp-calc-promo-banner {
    grid-template-columns: 1fr;
  }
}
.sp-calc-promo-media {
  position: relative;
  min-height: 200px;
  background: var(--sp-green-deep);
}
.sp-calc-promo-media picture,
.sp-calc-promo-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sp-calc-promo-body {
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sp-calc-promo-body h3 {
  font-size: 20px;
  font-weight: 700;
  color: var(--sp-ink);
  margin: 0 0 8px;
}
.sp-calc-promo-body p {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--sp-ink-muted);
  margin: 0 0 20px;
}

/* 10 Flagship Universities Showcase Grid & High-Craft Cards */
.sp-directory-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin: 32px 0 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--sp-line);
  flex-wrap: wrap;
}
.sp-directory-head h2 {
  font-size: 22px;
  margin: 0 0 4px;
  letter-spacing: -0.01em;
}
.sp-directory-head .sp-scope-note {
  max-width: 480px;
  margin: 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--sp-ink-muted);
}
.sp-univ-flagship-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-bottom: 48px;
}
.sp-card--univ-flagship {
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  background: var(--sp-surface);
  border: 1px solid var(--sp-line);
  border-radius: var(--sp-radius-card);
  transition: transform var(--sp-dur-base) var(--sp-ease), border-color var(--sp-dur-base) var(--sp-ease), box-shadow var(--sp-dur-base) var(--sp-ease);
}
.sp-card--univ-flagship:hover {
  transform: translateY(-3px);
  border-color: var(--sp-action);
  box-shadow: 0 16px 32px -8px rgba(18, 60, 47, 0.12);
}
.sp-univ-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--sp-green-deep);
  overflow: hidden;
}
.sp-univ-card__media picture,
.sp-univ-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.sp-card--univ-flagship:hover .sp-univ-card__media img {
  transform: scale(1.03);
}
.sp-univ-card__media-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
}
.sp-badge--sector {
  background: rgba(18, 60, 47, 0.88) !important;
  color: #fff !important;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  font-size: 11.5px;
  font-weight: 600;
  padding: 4px 10px;
}
.sp-univ-card__body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.sp-univ-card__crest-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.sp-univ-card__crest {
  height: 52px;
  display: flex;
  align-items: center;
}
.sp-univ-card__crest .sp-card__logo-slot {
  margin: 0;
  height: 48px;
  min-height: 48px;
}
.sp-univ-card__crest img {
  max-height: 46px;
  max-width: 150px;
  object-fit: contain;
  object-position: left center;
}
.sp-univ-card__title {
  font-size: 19px;
  line-height: 1.35;
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--sp-ink);
}
.sp-univ-card__title a {
  text-decoration: none;
  color: inherit;
}
.sp-univ-card__title a:hover {
  color: var(--sp-action);
}
.sp-univ-card__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  color: var(--sp-ink-muted);
  margin: 0 0 20px;
}
.sp-univ-card__dot {
  opacity: 0.5;
}
.sp-univ-card__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--sp-line);
}
.sp-btn--calc {
  width: 100%;
  justify-content: center;
  font-weight: 700;
  font-size: 14.5px;
  letter-spacing: 0.01em;
  padding: 12px 20px;
  background: var(--sp-action);
  color: var(--sp-cream);
  text-decoration: none;
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(18, 60, 47, 0.15);
  transition: all var(--sp-dur-fast) var(--sp-ease);
}
.sp-btn--calc:hover {
  background: var(--sp-ink);
  color: var(--sp-cream);
  box-shadow: 0 6px 16px rgba(18, 60, 47, 0.25);
  transform: translateY(-1px);
}
.sp-univ-card__profile-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--sp-ink-muted);
  text-decoration: none;
  padding: 6px 0;
  transition: color var(--sp-dur-fast) var(--sp-ease);
}
.sp-univ-card__profile-link:hover {
  color: var(--sp-action);
  text-decoration: underline;
}

@media (max-width: 900px) {
  .sp-univ-flagship-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* Aggregate tools: put score entry ahead of oversized introductory spacing.
   Scoped to the ten aggregate templates; CSS age and other page heads stay unchanged. */
.sp-aggregate-tool .sp-calc-card > .sp-calc-card__desc {margin-bottom:20px}
@media (max-width: 767px) {
  .sp-aggregate-tool .sp-calc-card {display:flex;flex-direction:column}
  .sp-aggregate-tool .sp-calc-card > .sp-calc-fields {order:1}
  .sp-aggregate-tool .sp-calc-card > .sp-calc-card__desc {order:3;margin:16px 0 0}
  .sp-aggregate-tool .sp-calc-card > .sp-calc-alert {order:2}
  .sp-aggregate-tool > .sp-pagehead {padding:8px 0;margin-bottom:8px}
  .sp-aggregate-tool .sp-pagehead--center .sp-eyebrow {margin-bottom:8px}
  .sp-aggregate-tool .sp-pagehead--center h1 {font-size:24px;line-height:1.2;margin-bottom:8px}
  .sp-aggregate-tool .sp-pagehead--center .sp-pagehead__lead {font-size:15px;line-height:1.5}
  /* Keep the complete admitting/receiving and UGAT distinction before score entry. */
  .sp-aggregate-tool .sp-mdcat-route-scope {font-size:14px;line-height:1.5;margin:8px 0 0}
  .sp-aggregate-tool > .sp-calc-tabs {margin:8px 0;gap:8px}
  .sp-aggregate-tool .sp-calc-tab {min-width:280px;min-height:44px;padding:10px 12px}
  .sp-aggregate-tool .sp-calc-tab strong {font-size:14px;line-height:1.35}
  .sp-aggregate-tool .sp-calc-tab span {line-height:1.4}
  .sp-aggregate-tool > .sp-calc-toolbar {padding:12px;margin-bottom:12px;gap:12px}
  .sp-aggregate-tool .sp-toolbar-group {width:100%;display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;align-items:center}
  .sp-aggregate-tool .sp-toolbar-label {font-size:12px;line-height:1.35}
  .sp-aggregate-tool .sp-system-switch {min-width:0}
  .sp-aggregate-tool .sp-toolbar-group > div:not(.sp-system-switch) {display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
  .sp-aggregate-tool .sp-system-switch {gap:8px}
  .sp-aggregate-tool .sp-system-btn,
  .sp-aggregate-tool .sp-mode-btn {min-height:44px;flex:1;padding:6px 8px;line-height:1.25}
  .sp-aggregate-tool .sp-calc-card {padding:16px}
  .sp-aggregate-tool .sp-calc-card__header {gap:8px;padding-bottom:12px;margin-bottom:12px}
  .sp-aggregate-tool .sp-calc-card__title {font-size:18px;line-height:1.3}
  .sp-aggregate-tool .sp-calc-card__desc {line-height:1.4}
  .sp-aggregate-tool .sp-compact-field {padding:12px}
  .sp-aggregate-tool .sp-compact-field__head {gap:8px;margin-bottom:8px}
  .sp-aggregate-tool .sp-compact-field__head:has(> .sp-badge) {display:grid;grid-template-columns:minmax(0,1fr) auto}
  .sp-aggregate-tool .sp-compact-field__head > .sp-badge {white-space:normal;max-width:110px;text-align:center}
  .sp-aggregate-tool .sp-compact-route select {min-height:44px;max-width:100%}
  .sp-aggregate-tool .sp-checkbox-inline {min-height:44px}
  .sp-aggregate-tool--mdcat > .sp-calc-toolbar {margin-bottom:8px;gap:8px;padding:8px 12px}
  .sp-aggregate-tool--mdcat .sp-calc-card__header {padding-bottom:8px;margin-bottom:8px}
}

/* Institution profile navigation and native, script-free programme disclosure. */
.sp-profile-glance {padding:24px;border:1px solid var(--sp-line);border-left:4px solid var(--sp-action);background:var(--sp-cream)}
.sp-profile-glance__facts {margin:0;display:grid;gap:20px}
.sp-profile-glance__facts > div {min-width:0}
.sp-profile-glance__facts dt {font-weight:700;margin-bottom:6px;color:var(--sp-green)}
.sp-profile-glance__facts dd {margin:0;line-height:1.65;overflow-wrap:anywhere}
.sp-profile-glance .sp-btn {white-space:normal;text-align:center;max-width:100%}
.sp-profile-jumps {display:flex;flex-wrap:wrap;gap:8px 20px;margin:20px 0 32px;border-bottom:1px solid var(--sp-line);padding-bottom:16px}
.sp-profile-jumps a {display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.sp-programme-disclosure {margin:16px 0}
.sp-programme-disclosure > summary {cursor:pointer;min-height:48px;padding:12px 16px;background:var(--sp-cream);border:1px solid var(--sp-line);font-weight:700;color:var(--sp-green)}
.sp-programme-disclosure .sp-show-less {display:none}
.sp-programme-disclosure[open] .sp-show-all {display:none}
.sp-programme-disclosure[open] .sp-show-less {display:inline}
.sp-programme-disclosure > summary:focus-visible,.sp-profile-jumps a:focus-visible {outline:3px solid var(--sp-action);outline-offset:4px}
.sp-profile-faq {padding:20px 0;border-bottom:1px solid var(--sp-line)}
.sp-profile-faq h3 {margin-top:0}
#programmes,#fees,#entry-requirements,#admission-dates,#student-faqs,#official-links {scroll-margin-top:110px}
@media (min-width:1000px) {.sp-profile-glance__facts {grid-template-columns:1fr 1fr 1fr;gap:24px}}
@media (max-width:600px) {.sp-profile-glance {padding:16px}.sp-profile-glance h2 {font-size:24px}.sp-profile-glance__facts {gap:16px}}




/* Medical guide: CSS-guide presentation, in-flow navigation, wider supporting tables. */
.sp-med-guide .sp-article-layout {display:block;max-width:1120px;margin:32px auto 0}
.sp-med-guide .sp-article-body {display:grid;grid-template-columns:minmax(0,1fr);min-width:0}
.sp-med-guide .sp-article-body > * {width:100%;max-width:75ch;justify-self:center;min-width:0;box-sizing:border-box}
.sp-med-guide .sp-article-body > :is(.sp-table__wrap,.sp-med-guide-directory) {max-width:1120px}
.sp-med-guide .sp-article-hero__bg img {object-position:center 46%}
.sp-guide-illustration-note {display:block;margin-top:14px;color:rgba(240,245,242,.82);font-size:12px;line-height:1.5}
.sp-med-guide .sp-table {min-width:740px;font-size:14px;line-height:1.5;width:100%;table-layout:fixed}
.sp-med-guide #nums-college-table {min-width:960px}
.sp-med-guide #nums-college-table th:first-child {width:29%}
.sp-med-guide #nums-college-table th:nth-child(2) {width:15%}
.sp-med-guide #nums-college-table th:nth-child(3) {width:9%}
.sp-med-guide #nums-college-table th:nth-child(4) {width:14%}
.sp-med-guide .sp-table caption {text-align:left;font-weight:700;padding:12px 16px;caption-side:top}
.sp-med-guide .sp-table :is(th,td) {vertical-align:top;white-space:normal;padding:14px 16px;font-variant-numeric:tabular-nums}
.sp-med-guide .sp-table small {display:block;margin-top:6px;font-size:12px;font-weight:400}
.sp-med-guide .sp-table p {margin:0 0 8px}
.sp-med-guide .sp-table p:last-child {margin-bottom:0}
.sp-med-guide .sp-table__wrap {margin:20px 0;border:1px solid var(--sp-line);border-radius:8px;overflow:auto;max-height:none;scrollbar-color:var(--sp-action) var(--sp-surface)}
.sp-med-guide :is(h2,h3,#nums-colleges) {scroll-margin-top:120px}
.sp-med-guide :is(.sp-med-guide-directory,.sp-med-guide-toc) {border-block:1px solid var(--sp-line);padding:0 0 4px;margin:16px 0 24px}
.sp-med-guide :is(.sp-med-guide-directory,.sp-med-guide-toc) > summary {cursor:pointer;padding:18px 0;font-weight:700;color:var(--sp-ink);line-height:1.5;font-size:18px}
.sp-med-guide :is(.sp-med-guide-directory,.sp-med-guide-toc) > summary::marker {color:var(--sp-action)}
.sp-med-guide :is(.sp-med-guide-directory,.sp-med-guide-toc) > summary span {display:block;font-size:13px;font-weight:400;color:var(--sp-ink-muted);margin:4px 0 0 20px}
.sp-med-guide :is(.sp-med-guide-directory,.sp-med-guide-toc) > summary:hover {color:var(--sp-action)}
.sp-med-guide .sp-med-guide-toc {max-width:75ch;margin:0 auto;font-size:16.5px}
.sp-med-guide-toc nav ul {columns:2;column-gap:32px;padding-left:20px}
.sp-med-guide-toc nav li {break-inside:avoid;margin-bottom:12px;line-height:1.5}
.sp-med-guide-toc > p {display:inline-block;margin:0 20px 12px 0;font-size:14px}
.sp-med-guide .sp-med-guide-category-note {font-size:14px;line-height:1.65;padding:18px 20px;background:var(--sp-surface);border-radius:8px}
.sp-med-guide .sp-med-guide-category-note p {margin:0}
.sp-med-guide .sp-med-guide-filters {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:8px 0 20px;padding:20px;background:var(--sp-surface);border:1px solid var(--sp-line);border-radius:12px}
.sp-med-guide .sp-med-guide-filters label {display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px;min-width:0}
.sp-med-guide .sp-med-guide-filters :is(input,select) {width:100%;min-width:0;min-height:46px;padding:10px;border:1px solid var(--sp-line);border-radius:6px;background:white;color:var(--sp-ink);font:inherit;caret-color:var(--sp-action)}
.sp-med-guide .sp-med-guide-filters .sp-btn {min-height:46px;grid-column:span 2}
.sp-med-guide :focus-visible {outline:3px solid var(--sp-action);outline-offset:4px}
.sp-med-guide ::selection {background:var(--sp-action);color:white}
.sp-med-guide blockquote {margin:16px 0 24px;padding:24px;border:1px solid var(--sp-line);border-radius:8px;background:var(--sp-surface)}
.sp-med-guide blockquote p {margin:0}
@media(max-width:1051px){.sp-med-guide .sp-med-guide-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-med-guide .sp-med-guide-filters .sp-btn{grid-column:auto}}
@media(max-width:700px){.sp-med-guide-toc nav ul{columns:1}.sp-med-guide .sp-med-guide-filters{grid-template-columns:1fr;padding:16px}}
/* Live admission line from Admission Events ([sp_next_event]) */
.sp-next-event {display:flex;gap:10px;align-items:flex-start;margin:0 0 20px;padding:12px 16px;border-radius:12px;border:1px solid var(--sp-line);background:var(--sp-cream-alt);font-size:15px}
.sp-next-event::before {content:"";flex:none;width:10px;height:10px;margin-top:7px;border-radius:50%;background:var(--sp-ink-muted)}
.sp-next-event--open {background:#E7F6EC;border-color:#86D3A1}
.sp-next-event--open::before {background:#16A34A}
.sp-next-event--upcoming {background:#FEF6E0;border-color:#F0D78C}
.sp-next-event--upcoming::before {background:#C08A12}

/* Shared photo hero (template-parts/photo-hero.php): admissions, tools. */
.sp-main:has(> .sp-photo-hero-page) {padding-top:0}
.sp-photo-hero {position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:440px;padding:56px 0 64px;background:var(--sp-green-ink);color:var(--sp-cream)}
.sp-photo-hero__scene,.sp-photo-hero__scene picture,.sp-photo-hero__scene img {position:absolute;inset:0;width:100%;height:100%;display:block}
.sp-photo-hero__scene {z-index:-2}
.sp-photo-hero__scene img {object-fit:cover;object-position:center 40%;transform:scale(1.03)}
.sp-photo-hero::before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,50,36,.97) 0%,rgba(5,50,36,.9) 38%,rgba(5,50,36,.62) 70%,rgba(5,50,36,.5) 100%),linear-gradient(0deg,rgba(5,50,36,.55) 0%,rgba(5,50,36,0) 45%)}
.sp-photo-hero__inner {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:center}
.sp-photo-hero .sp-crumbs {margin:0 0 20px}
.sp-photo-hero__eyebrow {display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;padding:6px 14px;border:1px solid rgba(238,211,157,.45);border-radius:999px;font-size:13px;font-weight:600;color:var(--sp-gold-soft);background:rgba(5,50,36,.4)}
.sp-photo-hero__eyebrow span {width:8px;height:8px;border-radius:50%;background:#4ADE80;box-shadow:0 0 0 4px rgba(74,222,128,.2)}
.sp-photo-hero h1 {color:var(--sp-cream);max-width:18ch;margin-bottom:16px;letter-spacing:-.035em;font-size:clamp(2.1rem,1.3rem + 2.6vw,3.4rem);line-height:1.08}
.sp-photo-hero__intro {max-width:56ch;margin-bottom:12px;font-size:18px;color:rgba(253,250,243,.92)}
.sp-photo-hero__note {font-size:14px;margin:0;color:rgba(253,250,243,.7)}
.sp-photo-hero__stats {display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sp-hero-stat {display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px 20px;text-align:left;font:inherit;text-decoration:none;cursor:pointer;border:1px solid rgba(253,250,243,.18);border-radius:18px;color:var(--sp-cream);background:rgba(253,250,243,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .15s ease,border-color .15s ease,transform .15s ease}
div.sp-hero-stat {cursor:default}
a.sp-hero-stat:hover,button.sp-hero-stat:hover {background:rgba(253,250,243,.16);border-color:rgba(238,211,157,.6);transform:translateY(-2px);color:var(--sp-cream)}
.sp-hero-stat strong {font-size:36px;line-height:1;font-weight:700;letter-spacing:-.02em}
.sp-hero-stat span {font-size:14px;font-weight:600;color:rgba(253,250,243,.82)}
.sp-hero-stat--open strong {color:#86EFAC}
.sp-hero-stat--soon strong {color:var(--sp-gold-soft)}
.sp-hero-stat--wide {grid-column:1 / -1;flex-direction:row;align-items:baseline;gap:12px}
.sp-photo-hero__stats-note {grid-column:1 / -1;margin:4px 0 0;font-size:13px;color:rgba(253,250,243,.7)}
/* Lighter fade for images that are already dark (guides). */
.sp-photo-hero--light::before {background:linear-gradient(90deg,rgba(5,50,36,.82) 0%,rgba(5,50,36,.55) 45%,rgba(5,50,36,.15) 100%)}
.sp-photo-hero--light .sp-photo-hero__scene img {object-position:center 70%}
@media (max-width:960px) {
  .sp-photo-hero__inner {grid-template-columns:minmax(0,1fr);gap:28px}
  .sp-photo-hero::before {background:linear-gradient(180deg,rgba(5,50,36,.9) 0%,rgba(5,50,36,.84) 100%)}
  .sp-photo-hero--light::before {background:linear-gradient(180deg,rgba(5,50,36,.78) 0%,rgba(5,50,36,.6) 100%)}
}
@media (max-width:767px) {
  .sp-photo-hero {min-height:0;padding:40px 0}
  .sp-photo-hero__intro {font-size:16px}
  .sp-hero-stat {padding:14px 16px}
  .sp-hero-stat strong {font-size:28px}
}

/* Numbered pager (universities, guides, admissions) */
.sp-hub-pager {display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:36px 0 64px}
.sp-hub-pager__btn {min-width:44px;min-height:44px;padding:8px 14px;border:1px solid var(--sp-line-strong);border-radius:999px;background:var(--sp-surface);color:var(--sp-ink);font-weight:600;cursor:pointer}
.sp-hub-pager__btn:hover:not(:disabled) {border-color:var(--sp-green);color:var(--sp-green)}
.sp-hub-pager__btn.is-current {background:var(--sp-green);border-color:var(--sp-green);color:var(--sp-cream)}
.sp-hub-pager__btn:disabled {opacity:.45;cursor:default}
.sp-hub-pager__gap {align-self:center;padding:0 4px;color:var(--sp-ink-muted)}
/* Related calculators at the foot of tool pages (sp_related_tool_links) */
.sp-related-tools {padding:40px 0 56px}
.sp-related-tools h2 {font-size:clamp(22px,2.4vw,28px);margin:0 0 6px}
.sp-related-tools > p {color:var(--sp-ink-muted);font-size:14.5px;margin:0 0 18px}
.sp-related-tools__grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;max-width:1080px}
@media (max-width: 400px) {.sp-related-tools__grid {grid-template-columns:minmax(0,1fr)}}
.sp-related-tool {display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--sp-line);border-radius:16px;padding:14px 16px;text-decoration:none;color:var(--sp-ink);transition:border-color var(--sp-dur-fast) var(--sp-ease),box-shadow var(--sp-dur-fast) var(--sp-ease),transform var(--sp-dur-fast) var(--sp-ease)}
.sp-related-tool:hover {border-color:var(--sp-action);box-shadow:0 8px 22px rgba(5,50,36,.08);transform:translateY(-1px)}
.sp-related-tool__logo {flex:0 0 44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sp-related-tool__logo .sp-card__logo-slot {width:44px;height:44px;margin:0;padding:0;border:0;background:none}
.sp-related-tool__logo .sp-logo-fallback__acronym {font-size:10.5px;letter-spacing:0}
.sp-related-tool__logo img {max-width:44px;max-height:44px;width:auto;height:auto;object-fit:contain}
.sp-related-tool__body {flex:1;min-width:0;display:grid;gap:2px}
.sp-related-tool__body strong {font-size:14.5px;line-height:1.3}
.sp-related-tool__body span {font-size:12.5px;line-height:1.4;color:var(--sp-ink-muted)}
.sp-related-tool__go {flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:#EAF3EE;color:var(--sp-action);display:flex;align-items:center;justify-content:center;font-weight:700}
.sp-related-tool:hover .sp-related-tool__go {background:var(--sp-action);color:#fff}
/* Compact footer: brand + three short link columns (footer.php) */
.sp-footer {padding:40px 0 20px}
.sp-footer__cols {grid-template-columns:1.6fr repeat(3,minmax(0,1fr));gap:32px;padding:0 0 24px}
.sp-footer__cols h2 {font-size:14px;margin-bottom:8px;letter-spacing:.02em}
.sp-footer li a {min-height:34px;font-size:14px}
.sp-footer__brand > a {min-height:0;margin-bottom:12px}
.sp-footer__brand img {width:200px;height:auto}
@media (max-width: 900px) {
  .sp-footer__cols {grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px}
  .sp-footer__brand {grid-column:1 / -1}
}
@media (max-width: 560px) {
  .sp-footer {margin-top:56px;padding-top:28px}
  .sp-footer__cols {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .sp-footer__cols > div:last-child {grid-column:1 / -1}
  .sp-footer__cols > div:last-child ul {display:flex;flex-wrap:wrap;column-gap:18px}
  .sp-footer li a {min-height:40px;font-size:13.5px}
  .sp-footer__brand img {width:170px}
}
/* Admission event rows (inc/event-rows.php), used on /admissions/ and the homepage */
.sp-evlist__items {display:grid;gap:10px}
.sp-ev {display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--sp-line);border-radius:16px;padding:14px 18px}
.sp-ev[hidden] {display:none}
.sp-ev__date {display:grid;justify-items:center;align-content:center;width:64px;height:68px;border-radius:12px;background:var(--sp-cream-alt);color:var(--sp-ink);line-height:1}
.sp-ev__day {font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}
.sp-ev__mon {font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-top:3px}
.sp-ev__wd {font-size:11px;color:var(--sp-ink-muted);margin-top:3px}
.sp-ev__date.is-month {background:#FFF8E6}
.sp-ev__date.is-month .sp-ev__mon {font-size:17px;letter-spacing:.02em;margin-top:0}
.sp-ev__main {min-width:0;display:grid;gap:3px}
.sp-ev__inst {display:flex;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:600;color:var(--sp-ink-muted)}
.sp-ev__inst > a,.sp-ev__inst > span:last-child {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}
.sp-ev__inst > a {text-decoration:none}
.sp-ev__inst > a:hover {color:var(--sp-action);text-decoration:underline}
.sp-ev__logo {flex:0 0 28px;width:28px;height:28px;display:flex;align-items:center;justify-content:center}
.sp-ev__logo img {max-width:28px;max-height:28px;width:auto;height:auto;object-fit:contain}
.sp-ev__initials {display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#EAF3EE;color:var(--sp-action);font-size:9.5px;font-weight:800;letter-spacing:.02em}
.sp-ev__title {font-size:16px;line-height:1.35;margin:0;color:var(--sp-ink)}
.sp-ev__meta {display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;font-size:13px;color:var(--sp-ink-muted)}
.sp-ev__progs {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.sp-ev__note {margin:4px 0 0;font-size:12.5px;color:#5C4210;background:#FFF8E6;border-radius:8px;padding:5px 10px;justify-self:start}
.sp-ev__side {display:grid;justify-items:end;gap:8px;text-align:right}
.sp-ev__countdown {font-size:14px;font-weight:700;color:var(--sp-ink);white-space:nowrap}
.sp-ev__countdown.is-urgent {color:#B03A2E}
.sp-ev__chips {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.sp-ev__chip {font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 9px;white-space:nowrap;background:var(--sp-cream-alt);color:var(--sp-ink-muted)}
.sp-ev__chip--open {background:#E6F4EA;color:#1F6B3A}
.sp-ev__chip--upcoming {background:#EEF2FB;color:#33508C}
.sp-ev__chip--expected,.sp-ev__chip--tentative {background:#FFF3D6;color:#7A5410}
.sp-ev__action {display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 14px;border-radius:999px;border:1px solid var(--sp-line-strong);font-size:13px;font-weight:700;color:var(--sp-ink);text-decoration:none;white-space:nowrap}
.sp-ev__action:hover {border-color:var(--sp-action);color:var(--sp-action)}
.sp-ev__action.is-apply {background:var(--sp-action);border-color:var(--sp-action);color:#fff}
.sp-ev__action.is-apply:hover {background:var(--sp-green-deep);color:#fff}
.sp-ev--compact .sp-ev__chips .sp-ev__chip--type {display:none}
@media (max-width: 760px) {
  .sp-ev {grid-template-columns:52px minmax(0,1fr);gap:4px 12px;padding:12px;align-items:start}
  .sp-ev__date {width:52px;height:58px;grid-row:span 2}
  .sp-ev__day {font-size:22px}
  .sp-ev__title {font-size:15px}
  .sp-ev__progs {display:none}
  .sp-ev__side {grid-column:2;justify-items:start;text-align:left;grid-template-columns:auto 1fr;align-items:center;gap:6px 10px}
  .sp-ev__countdown {font-size:13px}
  .sp-ev__chips {justify-content:flex-start}
  .sp-ev__action {grid-column:1 / -1;justify-self:start;min-height:34px;padding:5px 12px}
}
/* Event row: countdown above, chips and action side by side (two short lines instead of three) */
.sp-ev {padding:12px 16px;gap:16px}
.sp-ev__side {grid-template-columns:auto auto;grid-template-areas:"count count" "chips action";align-items:center;gap:6px 10px}
.sp-ev__countdown {grid-area:count;justify-self:end}
.sp-ev__chips {grid-area:chips}
.sp-ev__action {grid-area:action;min-height:32px;padding:5px 12px}
.sp-ev__main {gap:2px}
@media (max-width: 760px) {
  .sp-ev__side {grid-template-columns:auto 1fr;grid-template-areas:"count chips" "action action"}
  .sp-ev__countdown {justify-self:start}
}
@media (max-width: 760px) {
  .sp-ev__side {display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:6px}
  .sp-ev__chips {flex-wrap:nowrap}
  .sp-ev__chip--type {display:none}
  .sp-ev__action {margin-left:auto;min-height:32px;padding:4px 11px;font-size:12.5px}
  .sp-ev__note {font-size:12px;padding:4px 8px}
  .sp-ev__inst {font-size:12px}
  .sp-ev__logo {flex-basis:22px;width:22px;height:22px}
  .sp-ev__logo img {max-width:22px;max-height:22px}
  .sp-ev__initials {width:22px;height:22px;font-size:8px}
}
@media (max-width: 760px) {
  .sp-ev__date {grid-row:auto}
  .sp-ev__side {grid-column:1 / -1;padding-top:8px;border-top:1px solid var(--sp-line)}
}
/* Photo hero on phones: short header so the page content starts on the first screen */
@media (max-width:767px) {
  .sp-photo-hero {padding:20px 0 22px}
  .sp-photo-hero__inner {gap:16px}
  .sp-photo-hero .sp-crumbs {margin:0 0 10px}
  .sp-photo-hero__eyebrow,.sp-photo-hero__note,.sp-photo-hero__stats-note {display:none}
  .sp-photo-hero h1 {font-size:1.85rem;margin-bottom:8px;max-width:none}
  .sp-photo-hero__intro {font-size:14.5px;line-height:1.5;margin-bottom:0}
  .sp-photo-hero__stats {grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .sp-hero-stat,.sp-hero-stat--wide {grid-column:auto;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:14px}
  .sp-hero-stat strong {font-size:22px}
  .sp-hero-stat span {font-size:11.5px;line-height:1.25}
}

/* Shared sections from the homepage (logo strip, section heads, calculator tiles, guide cards); used on / and /admissions/ */

/* University logo strip */
.sp-home-unis {padding:40px 0 8px}
.sp-home-unis__head {display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.sp-home-unis__head h2 {font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sp-ink-muted);margin:0}
.sp-marquee {display:grid;gap:14px;overflow:hidden;padding:6px 0 10px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.sp-marquee__track {display:flex;gap:18px;width:max-content;margin:0;padding:0;list-style:none;animation:sp-marquee var(--sp-marquee-duration,40s) linear infinite}
.sp-marquee__row--reverse .sp-marquee__track {animation-direction:reverse}
.sp-marquee:hover .sp-marquee__track,.sp-marquee:focus-within .sp-marquee__track {animation-play-state:paused}
@keyframes sp-marquee {from {transform:translateX(0)} to {transform:translateX(calc(-50% - 9px))}}
.sp-logo-pill {display:flex;align-items:center;justify-content:center;height:72px;min-width:120px;padding:10px 26px;background:#fff;border:1px solid var(--sp-line);border-radius:999px;box-shadow:0 4px 14px rgba(5,50,36,.06);transition:border-color var(--sp-dur-fast) var(--sp-ease),box-shadow var(--sp-dur-fast) var(--sp-ease),transform var(--sp-dur-fast) var(--sp-ease)}
.sp-logo-pill:hover,.sp-logo-pill:focus-visible {border-color:var(--sp-action);box-shadow:0 8px 22px rgba(5,50,36,.12);transform:translateY(-2px)}
.sp-logo-pill .sp-card__logo-slot {display:flex;align-items:center;justify-content:center;width:auto;height:48px;margin:0;padding:0;border:0;background:none}
.sp-logo-pill img {max-height:48px;max-width:130px;width:auto;height:auto;object-fit:contain}
.sp-logo-pill .sp-logo-fallback__acronym {font-size:15px}
@media (prefers-reduced-motion: reduce) {
  .sp-marquee {-webkit-mask-image:none;mask-image:none}
  .sp-marquee__track {animation:none;flex-wrap:wrap;justify-content:center;width:auto}
  .sp-marquee__copy {display:none}
}

/* Section heads with the action on the right */
.sp-home-block {padding-top:56px}
.sp-home-head {display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;flex-wrap:wrap}
.sp-home-head h2 {margin:0 0 6px;font-size:clamp(26px,3vw,34px)}
.sp-home-head p {margin:0;color:var(--sp-ink-muted);max-width:60ch}
.sp-home-head .sp-eyebrow {margin-bottom:10px}
.sp-home-head .sp-btn {flex:0 0 auto}
.sp-home-empty {background:var(--sp-cream-alt);border-radius:16px;padding:20px 24px;margin:0}

/* Calculators: compact tiles, 4 per row on desktop, 2 on phones */
.sp-home-tools {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sp-tool-tile {display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--sp-line);border-radius:16px;padding:14px;text-decoration:none;color:var(--sp-ink);transition:border-color var(--sp-dur-fast) var(--sp-ease),box-shadow var(--sp-dur-fast) var(--sp-ease),transform var(--sp-dur-fast) var(--sp-ease)}
.sp-tool-tile:hover {border-color:var(--sp-action);box-shadow:0 8px 22px rgba(5,50,36,.08);transform:translateY(-1px)}
.sp-tool-tile:focus-visible {outline:3px solid rgba(3,85,68,.35);outline-offset:2px}
.sp-tool-tile__top {display:flex;align-items:center;justify-content:space-between;gap:8px}
.sp-tool-tile .sp-toolcard__logo {flex:0 0 44px;width:44px;height:44px;border-radius:12px}
.sp-tool-tile .sp-toolcard__logo.is-wide {flex-basis:auto;width:clamp(44px,calc(38px * var(--logo-ar)),112px)}
.sp-tool-tile__go {flex:none;width:30px;height:30px;border-radius:999px;background:#EAF3EE;color:var(--sp-action);display:flex;align-items:center;justify-content:center;transition:background var(--sp-dur-fast) var(--sp-ease),color var(--sp-dur-fast) var(--sp-ease)}
.sp-tool-tile__go svg {width:14px;height:14px}
.sp-tool-tile:hover .sp-tool-tile__go {background:var(--sp-action);color:#fff}
.sp-tool-tile strong {font-size:15px;line-height:1.3}
.sp-tool-tile__line {align-self:flex-start;max-width:100%;background:#EAF3EE;color:var(--sp-action);border-radius:8px;padding:4px 8px;font-size:12px;font-weight:600;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
@media (max-width: 1100px) {.sp-home-tools {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width: 760px) {
  .sp-home-tools {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .sp-tool-tile {padding:10px;gap:6px;border-radius:14px}
  .sp-tool-tile .sp-toolcard__logo {flex-basis:38px;width:38px;height:38px;border-radius:10px;padding:3px}
  .sp-tool-tile .sp-toolcard__logo.is-wide {width:clamp(38px,calc(32px * var(--logo-ar)),96px)}
  .sp-tool-tile__go {display:none}
  .sp-tool-tile strong {font-size:13.5px}
  .sp-tool-tile__line {font-size:11px;padding:3px 6px}
  .sp-home-tools .sp-tool-tile:nth-child(n+7) {display:none} /* 6 on phones keeps the section short; All tools sits above */
}

/* Latest guides */
.sp-home-guides {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sp-home-guide {background:#fff;border:1px solid var(--sp-line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow var(--sp-dur-fast) var(--sp-ease),transform var(--sp-dur-fast) var(--sp-ease)}
.sp-home-guide:hover {box-shadow:0 10px 28px rgba(5,50,36,.1);transform:translateY(-2px)}
.sp-home-guide__media {display:block;aspect-ratio:16/9;overflow:hidden;background:var(--sp-cream-alt)}
.sp-home-guide__media img {width:100%;height:100%;object-fit:cover;display:block}
.sp-home-guide__body {padding:16px 18px 18px;display:grid;gap:6px}
.sp-home-guide__topic {justify-self:start;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sp-action);background:#EAF3EE;border-radius:999px;padding:3px 10px}
.sp-home-guide h3 {font-size:17px;line-height:1.35;margin:2px 0 0}
.sp-home-guide h3 a {color:var(--sp-ink);text-decoration:none}
.sp-home-guide h3 a:hover {color:var(--sp-action);text-decoration:underline}
.sp-home-guide__meta {font-size:12.5px;color:var(--sp-ink-muted)}
.sp-home-topics {display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.sp-home-topics .sp-uni-chip {display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:6px 14px;border-radius:999px;border:1px solid var(--sp-line-strong);background:#fff;color:var(--sp-ink);font-size:13.5px;font-weight:600;text-decoration:none}
.sp-home-topics .sp-uni-chip:hover {border-color:var(--sp-action);color:var(--sp-action)}
.sp-home-topics .sp-uni-chip span {font-size:12px;color:var(--sp-ink-muted)}

.sp-home .sp-band {margin-top:64px}
.sp-home .sp-faq {padding-top:64px}

@media (max-width: 900px) {
  .sp-home-guides {grid-template-columns:minmax(0,1fr)}
  .sp-home-guide {flex-direction:row}
  .sp-home-guide__media {flex:0 0 120px;aspect-ratio:auto}
}
@media (max-width: 560px) {
  .sp-home-unis {padding-top:28px}
  .sp-logo-pill {height:60px;min-width:96px;padding:8px 18px}
  .sp-logo-pill img {max-height:40px;max-width:110px}
  .sp-home-block {padding-top:40px}
  .sp-home-head .sp-btn {width:100%}
  .sp-home-guide__media {flex-basis:96px}
}
.sp-ev__checked {color:var(--sp-ink-muted)}

/* Tools directory cards: 3 per row, filter chips and pages of 15 (sp_tool_cards, assets/tools-hub.js) */
.sp-guide-topics.sp-tool-filters {margin:0 0 24px}
.sp-tool-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sp-toolcard {display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--sp-line);border-radius:18px;padding:20px;text-decoration:none;color:var(--sp-ink);transition:border-color var(--sp-dur-fast) var(--sp-ease),box-shadow var(--sp-dur-fast) var(--sp-ease),transform var(--sp-dur-fast) var(--sp-ease)}
.sp-toolcard[hidden] {display:none}
.sp-toolcard:hover {border-color:var(--sp-action);box-shadow:0 10px 26px rgba(5,50,36,.08);transform:translateY(-2px)}
.sp-toolcard:focus-visible {outline:3px solid rgba(3,85,68,.35);outline-offset:2px}
.sp-toolcard__top {display:flex;align-items:center;gap:12px;min-width:0}
.sp-toolcard__logo {flex:0 0 52px;width:52px;height:52px;border:1px solid var(--sp-line);border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:4px}
.sp-toolcard__logo .sp-card__logo-slot {width:100%;height:100%;margin:0;padding:0;border:0;background:none;display:flex;align-items:center;justify-content:center;min-height:0}
.sp-toolcard__logo img {max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.sp-toolcard__logo .sp-logo-fallback__acronym {font-size:11px;letter-spacing:0}
/* Wide marks: widen the tile by the mark's measured ratio so the whole mark fits at a readable size. */
.sp-toolcard__logo.is-wide {flex-basis:auto;width:clamp(52px,calc(44px * var(--logo-ar)),128px);padding:0 6px}
.sp-toolcard__logo.is-wide img {width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.sp-toolcard__logo .sp-logo-fallback__label {display:none}
.sp-toolcard__kicker {flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sp-ink-muted)}
.sp-toolcard__top .sp-badge {flex:none}
.sp-toolcard__title {font-size:17px;line-height:1.3;font-weight:700;font-family:var(--sp-display, inherit)}
.sp-toolcard__line {align-self:flex-start;max-width:100%;background:#EAF3EE;color:var(--sp-action);border-radius:10px;padding:6px 10px;font-size:13px;font-weight:600;line-height:1.35}
.sp-toolcard__desc {font-size:14px;line-height:1.5;color:var(--sp-ink-muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sp-toolcard__go {margin-top:auto;padding-top:12px;border-top:1px solid var(--sp-line);display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--sp-action)}
.sp-toolcard:hover .sp-toolcard__go {text-decoration:underline}
@media (max-width: 1024px) {.sp-tool-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px) {
  .sp-tool-grid {grid-template-columns:1fr;gap:12px}
  .sp-toolcard {padding:16px;gap:8px}
  .sp-toolcard__logo {flex-basis:44px;width:44px;height:44px;border-radius:12px}
  .sp-toolcard__logo.is-wide {flex-basis:auto;width:clamp(44px,calc(38px * var(--logo-ar)),112px)}
  .sp-guide-topics.sp-tool-filters {flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 18px;padding:0 16px 4px;scrollbar-width:none}
  .sp-tool-filters .sp-uni-chip {flex:none}
}

/* Locked tool page (template-parts/tool-page.php) */
.sp-toolpage .sp-section,.sp-toolpage > .sp-source {margin-top:56px;max-width:1040px;margin-left:auto;margin-right:auto}
.sp-toolpage .sp-measure,.sp-toolpage .sp-prose {max-width:none}
.sp-toolpage .sp-prose > p {max-width:none}
.sp-toolpage .sp-section > h2 {max-width:none}
.sp-toolpage .sp-prose p {margin:0 0 12px;line-height:1.65}
.sp-toolpage .sp-prose ul {margin:0 0 12px;padding-left:20px;line-height:1.6}
.sp-toolpage .sp-prose li + li {margin-top:6px}
.sp-toolpage__table caption {text-align:left;font-weight:700;padding:0 0 8px;color:var(--sp-ink)}
.sp-toolpage__table th,.sp-toolpage__table td {padding:10px 12px;border-bottom:1px solid var(--sp-line);text-align:left;vertical-align:top}
.sp-toolpage__table tbody th {font-weight:600}
.sp-toolpage__table.sp-toolpage__table--facts td:last-child {text-align:left;white-space:normal}
.sp-toolpage__table td:last-child,.sp-toolpage__table tfoot td {text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.sp-toolpage__table tfoot th,.sp-toolpage__table tfoot td {background:#EAF3EE;color:var(--sp-action);border-bottom:0;font-size:15px}
.sp-toolpage__note {color:var(--sp-ink-muted);font-size:14px}
.sp-toolpage__merit {background:#fff;border:1px solid var(--sp-line);border-radius:18px;padding:24px}
.sp-toolpage__merit h2 {font-size:26px}
@media (max-width: 640px) {
  .sp-toolpage .sp-section {margin-top:40px}
  .sp-toolpage__merit {padding:18px}
  .sp-toolpage__table th,.sp-toolpage__table td {padding:8px}
}
.sp-band-dark .sp-feature-point a,.sp-band-dark .sp-lead a {color:var(--sp-gold-soft);text-decoration:underline;text-underline-offset:2px}
