/* Illustrated course cards, shared by the AQA and IGCSE hubs. */
.vibrant-hub{--hub-blue:#4c55b8;--hub-border:#e3e5ef;background:#f5f5fa}
.vibrant-hub .page-hero{background:radial-gradient(ellipse at 85% 15%,#555195 0,transparent 50%),linear-gradient(120deg,#18223f,#292645);color:white}
.vibrant-hub .page-hero .text-teal,.vibrant-hub .hero__eyebrow{color:#c1b6ff}
.vibrant-hub .hero__blob{display:none}
.vibrant-hub .hero__wave path{fill:#f5f5fa}
.vibrant-hub .aqa-topic-card,.vibrant-hub .edexcel-section-card{--card-accent:#4d5bb6;--card-wash:#edf0ff;background:#fff;border:1px solid var(--hub-border);border-radius:20px;box-shadow:0 5px 18px #20234408;padding:26px;overflow:hidden;position:relative}
.vibrant-hub .aqa-topic-card:nth-child(3n+2),.vibrant-hub .edexcel-section-card:nth-child(3n+2){--card-accent:#8250ac;--card-wash:#f2ebfb}
.vibrant-hub .aqa-topic-card:nth-child(3n),.vibrant-hub .edexcel-section-card:nth-child(3n){--card-accent:#a26a24;--card-wash:#fff4df}
.vibrant-hub .aqa-topic-card:hover,.vibrant-hub .edexcel-section-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #25244712;border-color:var(--card-accent)}
.hub-card-art{height:110px;background:var(--card-wash);color:var(--card-accent);margin:-26px -26px 25px;padding:0 26px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}
.hub-card-art:after{content:"";position:absolute;width:150px;height:150px;border:1px solid currentColor;opacity:.08;border-radius:50%;right:15px;top:-22px}
.hub-card-art>span{font-size:.76rem;letter-spacing:.14em;font-weight:750}
.hub-card-art svg{width:160px;height:110px;flex-shrink:0}
.vibrant-hub .aqa-topic-card__number,.vibrant-hub .edexcel-section-card__number{display:none}
.vibrant-hub .aqa-topic-card__title,.vibrant-hub .edexcel-section-card__title{font-size:1.25rem;line-height:1.35;letter-spacing:-.025em;color:#202842}
.vibrant-hub .aqa-topic-card__subtitle,.vibrant-hub .edexcel-section-card__subtitle{font-size:.94rem;line-height:1.6;margin:10px 0 18px;color:#5e667d}
.vibrant-hub .aqa-topic-card__sections li{font-size:.93rem;padding:7px 0;border-color:#edf0f5}
.vibrant-hub .aqa-topic-card__sections a:hover{color:var(--card-accent)}
.vibrant-hub .edexcel-section-card__top{flex-wrap:wrap;gap:10px}
.vibrant-hub .section-badge-pill{background:none;padding:0;color:#737c91;font-size:.72rem}
.vibrant-hub .chapter-tile{background:#fafafd;border-color:#eeeef5;padding:13px;border-radius:10px}
.vibrant-hub .chapter-tile:hover{border-color:var(--card-accent);box-shadow:none;background:var(--card-wash)}
.vibrant-hub .chapter-tile__icon{background:var(--card-wash);color:var(--card-accent)}
.vibrant-hub .chapter-tile__name{font-size:.95rem;line-height:1.4}
.vibrant-hub .chapter-tile__chips{display:none}
.vibrant-hub .chapter-tile:hover .chapter-tile__name,.vibrant-hub .chapter-tile__arrow{color:var(--card-accent)}
.vibrant-hub .aqa-topic-card .btn-primary,.vibrant-hub .edexcel-section-card .btn-primary{background:var(--card-accent);border-color:var(--card-accent);box-shadow:none;color:white}
.vibrant-hub .aqa-topic-card .btn--outline,.vibrant-hub .edexcel-section-card .btn--sub-pill{border:1px solid var(--hub-border);background:#fff;color:#414b65;border-radius:8px;box-shadow:none}
.vibrant-hub .aqa-topic-card .btn--outline:hover,.vibrant-hub .edexcel-section-card .btn--sub-pill:hover{border-color:var(--card-accent);color:var(--card-accent);background:var(--card-wash)}
.vibrant-hub .chem-only-tag{background:#f0edf7;color:#75608a;font-size:.7rem;white-space:normal}
.vibrant-hub .cp-showcase-card{background:#fff;border:1px solid var(--hub-border);box-shadow:0 5px 18px #20234408}
.vibrant-hub .cp-showcase-badge{background:#eeebfa;color:#7551a3}
.vibrant-hub .cp-cluster-col{background:#faf9fd;border-color:var(--hub-border)}
.vibrant-hub .cp-showcase-actions .btn-primary{background:#6550aa;box-shadow:none}
.vibrant-hub .cp-item-code,.vibrant-hub .cp-item-row:hover{color:#6550aa}
.vibrant-hub .hub-stat-item__icon{background:#efecfa;color:#6953a6}
.vibrant-hub .tool-card{background:#fff;border-color:var(--hub-border)}
.vibrant-hub .tool-card__icon{background:#eeebfa;color:#6953a6}
.vibrant-hub .tool-card__link{color:#6953a6}
.vibrant-hub .aqa-topics__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.vibrant-hub a:focus-visible{outline:3px solid #8b6cce;outline-offset:4px}
[data-theme="dark"] .vibrant-hub{background:#121829;--hub-border:#364057}
[data-theme="dark"] .vibrant-hub .cp-item-code,[data-theme="dark"] .vibrant-hub .cp-item-row:hover{color:#c4b5fd}
[data-theme="dark"] .vibrant-hub .hero__wave path{fill:#121829}
[data-theme="dark"] .vibrant-hub .aqa-topic-card,[data-theme="dark"] .vibrant-hub .edexcel-section-card,[data-theme="dark"] .vibrant-hub .cp-showcase-card,[data-theme="dark"] .vibrant-hub .tool-card{background:#1d263a;--card-wash:#2c324f;--card-accent:#b7b5ff}
[data-theme="dark"] .vibrant-hub .aqa-topic-card__title,[data-theme="dark"] .vibrant-hub .edexcel-section-card__title{color:#f1f3ff}
[data-theme="dark"] .vibrant-hub .aqa-topic-card__subtitle,[data-theme="dark"] .vibrant-hub .edexcel-section-card__subtitle{color:#bcc5d9}
[data-theme="dark"] .vibrant-hub .chapter-tile,[data-theme="dark"] .vibrant-hub .cp-cluster-col{background:#222c43}
[data-theme="dark"] .vibrant-hub .aqa-topic-card .btn--outline,[data-theme="dark"] .vibrant-hub .edexcel-section-card .btn--sub-pill{background:#28324b;color:#e3e7f4}
[data-theme="dark"] .vibrant-hub .aqa-topic-card .btn-primary,[data-theme="dark"] .vibrant-hub .edexcel-section-card .btn-primary{color:#1c2340}
@media(max-width:1050px){.vibrant-hub .aqa-topics__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.vibrant-hub .aqa-topics__grid{grid-template-columns:1fr}.vibrant-hub .aqa-topic-card,.vibrant-hub .edexcel-section-card{padding:22px}.hub-card-art{margin:-22px -22px 22px;padding:0 22px}.vibrant-hub .edexcel-section-card__actions-sub{gap:8px}.vibrant-hub .btn--sub-pill{white-space:normal}.vibrant-hub .page-hero h1{font-size:2.1rem}}
@media(prefers-reduced-motion:reduce){.vibrant-hub .aqa-topic-card,.vibrant-hub .edexcel-section-card{transition:none;transform:none}}
.vibrant-hub .edexcel-section-card__triple-note,.vibrant-hub .aqa-topic-card__triple-note{display:block;line-height:1.6;font-size:.82rem}
.vibrant-hub .edexcel-section-card__triple-note svg,.vibrant-hub .aqa-topic-card__triple-note svg{display:inline-block;vertical-align:middle;margin-right:5px}
/* Sixth-form hubs retain the same card geometry with a small palette shift. */
.vibrant-hub--alevel{background:#f3f5fa}
.vibrant-hub--alevel .page-hero{background:radial-gradient(ellipse at 85% 15%,#4d608f,transparent 50%),linear-gradient(120deg,#19273f,#2c3455)}
.vibrant-hub--alevel .hero__wave path{fill:#f3f5fa}
.vibrant-hub--alevel .page-hero .text-teal,.vibrant-hub--alevel .hero__eyebrow{color:#bac9fa}
.vibrant-hub--alevel .alevel-hub-card{--card-accent:#5069a6;--card-wash:#ecf0fb}
.vibrant-hub--alevel .alevel-hub-card:nth-child(3n+2){--card-accent:#6a61a1;--card-wash:#eeecf8}
.vibrant-hub--alevel .alevel-hub-card:nth-child(3n){--card-accent:#927245;--card-wash:#f8f2e7}
.vibrant-hub--ib{background:#f7f4f9}
.vibrant-hub--ib .page-hero{background:radial-gradient(ellipse at 85% 15%,#68548c,transparent 50%),linear-gradient(120deg,#24233e,#39304f)}
.vibrant-hub--ib .hero__wave path{fill:#f7f4f9}
.vibrant-hub--ib .page-hero .text-teal,.vibrant-hub--ib .hero__eyebrow{color:#d2bfef}
.vibrant-hub--ib .ib-topic-card{--card-accent:#7060aa;--card-wash:#f0ecf8}
.vibrant-hub--ib .ib-topic-card:nth-child(3n+2){--card-accent:#91668e;--card-wash:#f6edf4}
.vibrant-hub--ib .ib-topic-card:nth-child(3n){--card-accent:#967449;--card-wash:#faf2e6}
.vibrant-hub .alevel-topics__grid,.vibrant-hub .ib-topics__grid{gap:24px}
.vibrant-hub .alevel-hub-card__actions,.vibrant-hub .ib-topic-card__actions{gap:8px;flex-wrap:wrap}
.vibrant-hub .alevel-assessment-card,.vibrant-hub .ib-assessment-card{background:#fff;border:1px solid var(--hub-border);box-shadow:0 5px 18px #20234408;border-radius:20px}
.vibrant-hub .alevel-assessment-card__badge,.vibrant-hub .ib-assessment-card__badge{background:#eeedf8;color:#655b91}
.vibrant-hub .a2-tag{background:#edf0f8;color:#5b658c}
[data-theme="dark"] .vibrant-hub--alevel,[data-theme="dark"] .vibrant-hub--ib{background:#121829}
[data-theme="dark"] .vibrant-hub .alevel-assessment-card,[data-theme="dark"] .vibrant-hub .ib-assessment-card{background:#1d263a}
@media(max-width:650px){.vibrant-hub .alevel-topics__grid,.vibrant-hub .ib-topics__grid{grid-template-columns:minmax(0,1fr)}}
.vibrant-hub .alevel-topics__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:650px){.vibrant-hub .alevel-topics__grid{grid-template-columns:minmax(0,1fr)}}
/* International A Level: a slightly softer periwinkle variation. */
.vibrant-hub--international{background:#f5f5fa}
.international-hub-hero{background:radial-gradient(ellipse at 85% 15%,#58608e,transparent 50%),linear-gradient(120deg,#202840,#34334f)}
.international-hub-hero .text-teal,.international-hub-hero .hero__eyebrow{color:#c6c4f3}
.international-hub-hero .btn-primary{background:#7268b1;box-shadow:none}
.vibrant-hub--international .oxford-card{--card-accent:#5d68a6;--card-wash:#edf0fa}
.vibrant-hub--international .oxford-card:nth-child(3n+2){--card-accent:#7f65a1;--card-wash:#f1edf8}
.vibrant-hub--international .oxford-card:nth-child(3n){--card-accent:#967749;--card-wash:#faf3e6}
.vibrant-hub .oxford-nav-grid{gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.vibrant-hub .oxford-unit-pill{display:none}
.vibrant-hub .oxford-weighting-tag{background:#f3f3f9!important;color:#69718c!important;border:0;padding:0;font-size:.78rem}
.vibrant-hub .oxford-card__specs{background:#f8f8fc;border-color:var(--hub-border);gap:10px;flex-wrap:wrap}
.vibrant-hub .oxford-card__spec-item{color:#616a82!important;font-size:.8rem}
.vibrant-hub .oxford-card__topics li{padding-left:0;display:block}
.vibrant-hub .oxford-card__topics li:before{display:none}
.vibrant-hub .oxford-framework-card{border:1px solid var(--hub-border);box-shadow:0 5px 18px #20234408;border-radius:20px}
[data-theme="dark"] .vibrant-hub .oxford-card__specs{background:#28324b}
[data-theme="dark"] .vibrant-hub .oxford-card__spec-item,[data-theme="dark"] .vibrant-hub .oxford-weighting-tag{color:#c4c9e0!important;background:transparent!important}
@media(max-width:1050px){.vibrant-hub .oxford-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.vibrant-hub .oxford-nav-grid{grid-template-columns:minmax(0,1fr)}}
/* Course hub header: heading on the left, drawings on the right, matching the homepage and notes pages. */
.hub-hero,.vibrant-hub .hub-hero,.vibrant-hub--alevel .hub-hero,.vibrant-hub--ib .hub-hero,.international-hub-hero.hub-hero{background:linear-gradient(120deg,#122d39,#183e47);color:#fff;text-align:left;padding:56px 0 60px;overflow:hidden;position:relative}
.hub-hero:before{content:"";position:absolute;right:-120px;top:-160px;width:520px;height:520px;border:1px solid #9ce7d91a;border-radius:50%;pointer-events:none}
.hub-hero__layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);column-gap:56px;align-items:center;position:relative;z-index:1}
.hub-hero__copy{grid-column:1;grid-row:1;min-width:0}
.hub-hero .hero__eyebrow,.vibrant-hub .hub-hero .hero__eyebrow,.international-hub-hero.hub-hero .hero__eyebrow{color:#94dece;font-size:.78rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px}
.hub-hero h1{color:#fff;font-size:clamp(2.1rem,4.4vw,3.3rem);line-height:1.08;letter-spacing:-.04em;margin:0 0 18px;max-width:18ch}
.hub-hero h1 .text-teal,.hub-hero h1 .text-indigo,.vibrant-hub .hub-hero h1 .text-teal,.international-hub-hero.hub-hero .text-teal{display:block;color:#a4e8d8;background:none;-webkit-text-fill-color:currentColor}
.hub-hero .page-hero__subtitle{color:#d4e4e7;font-size:1.05rem;line-height:1.65;max-width:46ch;margin:0}
.hub-hero__facts{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:20px 0 0;padding:0;font-size:.8rem;color:#d4e8e8}
.hub-hero__facts li{padding:5px 11px;border:1px solid #ffffff2b;border-radius:999px;background:#ffffff0d}
.hub-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px}
.hub-hero__start{display:inline-flex;align-items:center;gap:22px;padding:13px 20px;border-radius:12px;background:#b5f0df;color:#123a38;font-weight:700;text-decoration:none;box-shadow:0 6px 20px #071f2525}
.hub-hero__start:hover{background:#d0faef;color:#123a38}
.hub-hero__link{padding:10px 14px;border:1px solid #ffffff40;border-radius:10px;color:#e6f2f2;font-size:.88rem;font-weight:600;text-decoration:none}
.hub-hero__link:hover{background:#ffffff14;color:#fff}
.hub-hero .ib-progress-summary{grid-column:1;max-width:420px}
.hub-hero__art{grid-column:2;grid-row:1 / span 2;position:relative;justify-self:center;width:100%;max-width:330px;padding:0 0 54px}
.hub-hero__card{display:block;width:76%;padding:12px 12px 10px;border:1px solid #ffffff50;border-radius:20px;background:#edf6f4;color:#4f6fb5;transform:rotate(-6deg);box-shadow:0 18px 40px #071a3035;box-sizing:border-box}
.hub-hero__card>span{display:block;margin-bottom:4px;font-size:.62rem;font-weight:700;letter-spacing:.12em;color:#4a6e78}
.hub-hero__card svg{display:block;width:100%;height:auto}
.hub-hero__card--back{position:absolute;right:-10px;bottom:0;width:52%;padding:8px 10px 6px;background:#d0ebdf;color:#317c70;transform:rotate(7deg);box-shadow:0 12px 24px #071a3030}
.hub-hero__spark{position:absolute;color:#b9eadb;font-weight:300;line-height:1}
.hub-hero__spark--one{right:6px;top:-10px;font-size:1.8rem}.hub-hero__spark--two{left:-10px;bottom:24px;font-size:1.3rem}
.hub-hero a:focus-visible{outline:3px solid #14b8a6;outline-offset:3px}
.vibrant-hub .hub-hero+.section,.vibrant-hub .hub-hero~.hub-stats-bar{position:relative}
@media(max-width:860px){.hub-hero__layout{grid-template-columns:minmax(0,1fr) 170px;column-gap:24px}.hub-hero__art{padding-bottom:40px}}
@media(max-width:600px){.hub-hero,.vibrant-hub .hub-hero,.vibrant-hub--alevel .hub-hero,.vibrant-hub--ib .hub-hero,.international-hub-hero.hub-hero{padding:30px 0 34px}.hub-hero__layout{grid-template-columns:minmax(0,1fr) 96px;column-gap:14px}.hub-hero__copy{grid-column:1 / -1}.hub-hero .hero__eyebrow,.hub-hero h1{max-width:calc(100% - 104px)}.hub-hero h1{font-size:2rem}.hub-hero__art{grid-row:1;align-self:start;padding:0;max-width:96px}.hub-hero__card{width:100%;padding:6px;border-radius:12px}.hub-hero__card>span,.hub-hero__card--back,.hub-hero__spark{display:none}.hub-hero__start{flex:1 1 100%;justify-content:space-between}}
@media print{.hub-hero{background:none;color:#000;padding:0}.hub-hero h1,.hub-hero .page-hero__subtitle{color:#000}.hub-hero__art,.hub-hero__actions{display:none}}
/* Dark mode: every card keeps a dark tinted header and a readable button, whatever its position in the grid. */
[data-theme="dark"] .vibrant-hub .aqa-topic-card,[data-theme="dark"] .vibrant-hub .edexcel-section-card,[data-theme="dark"] .vibrant-hub .alevel-hub-card,[data-theme="dark"] .vibrant-hub .ib-topic-card,[data-theme="dark"] .vibrant-hub .oxford-card{--card-wash:#26304d;--card-accent:#b7b5ff}
[data-theme="dark"] .vibrant-hub .aqa-topic-card:nth-child(3n+2),[data-theme="dark"] .vibrant-hub .edexcel-section-card:nth-child(3n+2),[data-theme="dark"] .vibrant-hub .alevel-hub-card:nth-child(3n+2),[data-theme="dark"] .vibrant-hub .ib-topic-card:nth-child(3n+2),[data-theme="dark"] .vibrant-hub .oxford-card:nth-child(3n+2){--card-wash:#30294a;--card-accent:#d7bdf6}
[data-theme="dark"] .vibrant-hub .aqa-topic-card:nth-child(3n),[data-theme="dark"] .vibrant-hub .edexcel-section-card:nth-child(3n),[data-theme="dark"] .vibrant-hub .alevel-hub-card:nth-child(3n),[data-theme="dark"] .vibrant-hub .ib-topic-card:nth-child(3n),[data-theme="dark"] .vibrant-hub .oxford-card:nth-child(3n){--card-wash:#382f24;--card-accent:#f1c98d}
[data-theme="dark"] .vibrant-hub .aqa-topic-card .btn-primary,[data-theme="dark"] .vibrant-hub .edexcel-section-card .btn-primary,[data-theme="dark"] .vibrant-hub .alevel-hub-card .btn-primary,[data-theme="dark"] .vibrant-hub .ib-topic-card .btn-primary,[data-theme="dark"] .vibrant-hub .oxford-card .btn-primary{background:var(--card-accent);border-color:var(--card-accent);color:#151b2e}
.page-hero.hub-hero .hub-hero__copy,.page-hero.hub-hero .hub-hero__copy h1,.page-hero.hub-hero .hub-hero__copy p{text-align:left;margin-left:0;margin-right:0}
