:root {
  --page: #f7f6f0;
  --ink: #24202c;
  --muted: #625c67;
  --purple: #713ab0;
  --purple-dark: #563084;
  --lime: #dcfb6d;
  --line: #dedbd9;
  --white: #fff;
  --reading-bg: #fff;
  --reading-ink: #24202c;
  --reading-muted: #625c67;
  --reading-line: rgba(36, 32, 44, .11);
  --focus: #6e36b6;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin:0; background:var(--page); color:var(--ink); font-family: 'Segoe UI', Inter, Arial, sans-serif; -webkit-font-smoothing:antialiased; }
button, input, select { font: inherit; }
button, a, input, select { -webkit-tap-highlight-color:transparent; }
a { color:inherit; }
button { cursor:pointer; }
:focus-visible { outline:3px solid var(--focus); outline-offset:4px; }
::selection { background:#d9fc65; color:#211a2b; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
[hidden] { display:none!important; }
.page-width { max-width:1232px; margin-inline:auto; padding-inline:36px; }
.skip-link { position:absolute; z-index:2000; top:-80px; left:20px; border-radius:5px; padding:12px 16px; background:var(--lime); color:var(--ink); font-weight:700; }
.skip-link:focus { top:12px; }
.topline { height:5px; background:var(--lime); }
.site-header { background:rgba(247,246,240,.97); position:sticky; top:0; z-index:100; border-bottom:1px solid rgba(36,32,44,.08); backdrop-filter:blur(16px); }
.header-inner { height:84px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { font-family:'Arial Black','Segoe UI',Arial,sans-serif; text-decoration:none; letter-spacing:-.085em; line-height:1; font-size:36px; font-weight:1000; white-space:nowrap; }
.brand span { color:var(--purple); }
.desktop-nav { display:flex; gap:32px; margin-left:auto; }
.desktop-nav a, .site-footer nav a { text-decoration:none; font-size:13px; font-weight:750; transition:color .18s ease; }
.desktop-nav a:hover, .site-footer nav a:hover { color:var(--purple); }
.header-actions { display:flex; align-items:center; gap:16px; }
.colours-anchor { position:relative; }
.colours-trigger { border:1px solid #dad4dc; border-radius:999px; background:transparent; color:var(--ink); font-size:13px; font-weight:750; display:flex; align-items:center; gap:7px; padding:10px 13px; }
.colours-trigger:hover,.colours-trigger[aria-expanded=true] { background:#ede8f3; }
.colours-symbol { font-size:20px; line-height:.85; color:var(--purple); }
.header-cta { background:var(--ink); color:#fff; font-size:13px; font-weight:800; white-space:nowrap; padding:13px 19px; border-radius:999px; text-decoration:none; display:inline-flex; gap:15px; align-items:center; }
.header-cta:hover { background:var(--purple-dark); }
.header-cta span { font-size:17px; }
.colours-panel { position:absolute; top:calc(100% + 15px); right:0; z-index:140; width:min(355px,calc(100vw - 32px)); padding:22px; border:1px solid #d8d3db; background:#fff; box-shadow:0 23px 70px rgba(30,20,46,.17); border-radius:19px; color:#231e2c; }
.colours-panel-top { display:flex; gap:14px; justify-content:space-between; align-items:start; }
.colours-panel h2 { font-size:21px; margin:0 0 3px; letter-spacing:-.04em; }
.colours-panel p { margin:0; color:#65606d; font-size:12px; line-height:1.5; }
.icon-button { background:#f4f2f5; border:0; width:30px; height:30px; font-size:23px; display:grid; place-items:center; border-radius:50%; line-height:1; }
.palette-fieldset { padding:0; margin:20px 0; border:0; }
.colour-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px 9px; }
.colour-option { cursor:pointer; display:flex; align-items:center; flex-direction:column; gap:5px; font-size:10px; line-height:1.2; text-align:center; color:#403848; font-weight:650; }
.colour-option input { position:absolute; opacity:0; width:1px; height:1px; }
.colour-option .swatch { background:var(--swatch); border:1px solid #c8c2cb; box-shadow:inset 0 0 0 1px rgba(255,255,255,.24); width:36px; height:36px; border-radius:50%; display:block; }
.colour-option input:checked + .swatch { outline:2px solid var(--purple); outline-offset:3px; }
.colour-option input:focus-visible + .swatch { outline:3px solid #222; outline-offset:4px; }
.custom-colour-row { border-top:1px solid #e6e1e8; padding-top:14px; display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; font-weight:750; }
.custom-colour-row input { width:52px; height:36px; padding:3px; border-radius:8px; border:1px solid #cfc5d3; background:#fff; cursor:pointer; }
.reset-colours { background:#f2eff4; border:1px solid #e1dce5; width:100%; padding:9px 12px; border-radius:9px; margin:13px 0; display:flex; justify-content:space-between; font-size:12px; font-weight:750; }
.reset-colours:hover { background:#eae1f2; }
.colours-panel .palette-note { font-size:10px; }
/* Hero */
.hero { min-height:602px; overflow:hidden; background: radial-gradient(ellipse 34% 48% at 96% 20%,rgba(225,218,243,.28),transparent),var(--page); }
.hero-grid { display:grid; grid-template-columns:1.09fr .91fr; gap:20px; padding-top:82px; padding-bottom:76px; align-items:center; }
.hero-copy { position:relative; z-index:2; }
.eyebrow { font-size:11px; font-weight:900; letter-spacing:.105em; display:flex; align-items:center; gap:10px; color:#4b4054; }
.eyebrow-dot { width:9px; height:9px; background:var(--purple); border-radius:50%; }
h1,h2,h3,p { overflow-wrap:break-word; }
h1,h2,h3 { margin-top:0; }
.hero h1 { font-family:'Arial Black','Segoe UI',Arial,sans-serif; font-weight:1000; font-size:clamp(56px,5.68vw,83px); line-height:1.065; letter-spacing:-.076em; max-width:770px; margin:25px 0 24px; }
.hero h1 em, .section-heading-row h2 em, .approach-header h2 em, .teacher-text h2 em, .closing-section h2 em { color:var(--purple); font-family:Georgia,serif; letter-spacing:-.085em; font-weight:700; font-style:italic; }
.hero h1 .period { color:var(--purple); }
.hero-intro { color:#5a535e; font-size:17px; line-height:1.65; max-width:530px; margin:0; }
.hero-buttons { display:flex; flex-wrap:wrap; gap:13px; align-items:center; margin-top:32px; }
.button { text-decoration:none; border:0; border-radius:999px; padding:16px 21px; display:inline-flex; justify-content:center; align-items:center; gap:20px; font-size:14px; font-weight:900; line-height:1.2; transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease; white-space:nowrap; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--lime); color:#20202a; box-shadow:0 4px 0 #c7dd63; }
.button-primary:hover { background:#e6ff8e; }
.button-arrow { font-size:19px; }
.button-ghost { background:transparent; color:#37303b; padding-inline:14px; }
.button-ghost:hover { color:var(--purple); }
.hero-footnote { margin-top:37px; color:#746e78; font-size:11px; font-weight:650; display:flex; gap:9px; flex-wrap:wrap; align-items:center; }
.hero-star { font-size:16px; color:var(--purple); }
.hero-art { min-height:465px; position:relative; align-self:stretch; isolation:isolate; }
.art-halo { position:absolute; border-radius:50%; }
.art-halo-one { width:396px; height:396px; background:#eee4f7; left:15%; top:4%; z-index:-2; }
.art-halo-two { width:255px; height:255px; background:#e4f19e; right:-4%; bottom:-10%; opacity:.8; z-index:-3; }
.art-dots { position:absolute; right:-18px; top:11px; width:156px; height:129px; background-image:radial-gradient(#a89cba 1.5px, transparent 1.5px); background-size:15px 15px; opacity:.42; z-index:-1; }
.art-card { position:absolute; background:white; box-shadow:0 31px 59px rgba(53,42,64,.14); border-radius:5px; border:2px solid #29242f; }
.art-card-main { top:50px; left:22%; width:307px; height:375px; padding:20px 19px 16px; transform:rotate(-6deg); z-index:2; }
.art-card-top { display:flex; align-items:center; justify-content:space-between; font-size:9px; font-weight:950; letter-spacing:.09em; border-bottom:1.5px solid #24202c; padding-bottom:12px; }
.art-asterisk { font-size:25px; color:var(--purple); line-height:.7; }
.art-card-heading { font-family:'Arial Black','Segoe UI',sans-serif; letter-spacing:-.06em; line-height:1.02; font-size:31px; font-weight:900; margin-top:25px; }
.art-card-heading i { font-family:Georgia,serif; font-weight:700; color:var(--purple); }
.art-steps { margin-top:27px; border-top:1px solid #cac4ce; }
.art-steps > div { border-bottom:1px solid #cac4ce; display:flex; align-items:center; gap:14px; height:42px; font-weight:900; font-size:12px; letter-spacing:.08em; }
.art-step-num { display:grid; place-items:center; background:var(--lime); color:#24202c; border-radius:50%; width:24px; height:24px; font-size:10px; letter-spacing:0; }
.art-step-arrow { margin-left:auto; font-size:17px; }
.art-card-bottom { display:flex; justify-content:space-between; align-items:center; margin-top:15px; font-size:10px; font-weight:950; letter-spacing:.1em; color:var(--purple); }
.art-card-bottom span:last-child { font-size:20px; }
.art-sticker { position:absolute; font-weight:950; box-shadow:0 15px 29px rgba(53,42,64,.14); border:2px solid #27212a; z-index:3; }
.art-sticker-business { right:0; top:112px; width:206px; height:108px; background:var(--lime); transform:rotate(12deg); display:flex; align-items:center; gap:9px; padding:14px; font-size:11px; line-height:1.3; }
.sticker-mark { font-family:'Arial Black',sans-serif; font-size:52px; letter-spacing:-.12em; }
.sticker-mark span { color:var(--purple); }
.art-sticker-business strong { font-size:9px; }
.art-sticker-media { top:20px; left:2%; background:#a784e6; color:#fff; padding:15px 17px; transform:rotate(-11deg); font-size:11px; display:flex; align-items:center; gap:13px; }
.art-sticker-media span { font-size:22px; }
.art-sticker-science { bottom:32px; right:-13px; background:#ffdae4; padding:16px 15px; transform:rotate(9deg); font-size:10px; display:flex; align-items:center; gap:9px; }
.art-sticker-science span { font-size:23px; color:var(--purple); }
.art-trail { position:absolute; bottom:6px; left:0; width:145px; transform:rotate(-10deg); }
.jump-bar { background:var(--ink); color:#fff; }
.jump-inner { min-height:63px; display:flex; align-items:center; justify-content:center; gap:30px; font-weight:850; letter-spacing:.09em; font-size:10px; }
.jump-asterisk { color:var(--lime); font-size:19px; vertical-align:middle; margin-right:8px; }
.jump-divider { height:20px; width:1px; background:#756e7c; }
/* Course directory */
.explore-section { padding-top:105px; padding-bottom:102px; }
.section-kicker { display:flex; align-items:center; gap:11px; color:#544a5d; font-size:11px; letter-spacing:.105em; font-weight:950; }
.kicker-line { width:23px; height:3px; background:var(--purple); display:inline-block; }
.kicker-number { color:#9b929d; margin-left:2px; }
.section-heading-row { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:14px 0 35px; }
.section-heading-row h2, .approach-header h2 { font-family:'Arial Black','Segoe UI',Arial,sans-serif; font-size:clamp(49px,5.1vw,72px); letter-spacing:-.075em; font-weight:1000; line-height:1.07; margin:0 0 14px; }
.section-description { margin:0; color:#66606b; font-size:16px; line-height:1.6; max-width:640px; }
.small-illustration { display:flex; gap:8px; align-items:center; font-size:9px; letter-spacing:.12em; font-weight:950; transform:rotate(-6deg); margin-right:12px; color:var(--purple); }
.small-illustration span:first-child { display:grid; place-items:center; background:#efe2fa; border:2px solid #7659a1; border-radius:50%; width:51px; height:51px; font-size:28px; }
.search-panel { background:var(--reading-bg); border:1px solid var(--reading-line); color:var(--reading-ink); border-radius:19px; padding:22px 24px 18px; box-shadow:0 7px 23px rgba(44,34,50,.035); }
.search-label { display:block; font-size:10px; letter-spacing:.11em; font-weight:950; margin-bottom:10px; }
.search-controls { display:grid; grid-template-columns:minmax(0,1fr) 194px; gap:11px; }
.search-input-wrap { border:1px solid #c9c4cd; color:var(--ink); display:flex; align-items:center; padding:0 14px; gap:11px; border-radius:9px; background:#fff; min-width:0; }
.search-input-wrap:focus-within { outline:2px solid var(--purple); outline-offset:1px; }
.search-input-wrap svg { flex:none; }
.search-input-wrap input { min-height:48px; border:0; outline:0; background:transparent; width:100%; min-width:0; font-size:14px; color:#2b2530; }
.search-input-wrap input::placeholder { color:#817985; }
.search-shortcut { background:#f1eef2; border:1px solid #ded9e1; border-radius:5px; padding:3px 6px; color:#665e6c; font-size:11px; }
.availability-wrap select { min-height:50px; padding:0 36px 0 13px; border:1px solid #c9c4cd; border-radius:9px; width:100%; background:#fff; color:var(--ink); font-size:13px; font-weight:750; cursor:pointer; }
.filters-row { margin-top:16px; }
.subject-filters { display:flex; flex-wrap:wrap; gap:8px; }
.filter-pill { background:transparent; color:var(--reading-ink); border:1px solid var(--reading-line); padding:9px 14px; border-radius:50px; font-size:12px; font-weight:700; transition:background-color .15s ease,border-color .15s ease; }
.filter-pill:hover { border-color:var(--purple); }
.filter-pill.active { background:var(--ink); border-color:var(--ink); color:#fff; }
.result-header { display:flex; justify-content:space-between; align-items:center; margin:26px 0 13px; min-height:30px; }
#results-summary { font-size:12px; font-weight:850; color:#625c66; margin:0; }
.clear-filters { background:transparent; border:0; text-decoration:underline; text-underline-offset:3px; font-size:12px; color:#614093; font-weight:800; }
.course-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; align-items:stretch; }
.course-card { background:var(--reading-bg); color:var(--reading-ink); border:1px solid var(--reading-line); border-radius:16px; padding:20px; display:flex; flex-direction:column; min-height:320px; position:relative; isolation:isolate; transition:transform .2s ease,box-shadow .2s ease; overflow:hidden; }
.course-card:hover { transform:translateY(-3px); box-shadow:0 18px 30px rgba(40,28,49,.08); }
.course-card-header { display:flex; gap:10px; align-items:center; justify-content:space-between; }
.course-subject { display:flex; gap:7px; align-items:center; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.subject-dot { background:var(--card-accent); width:9px; height:9px; border-radius:50%; display:inline-block; flex:none; }
.course-status { border-radius:999px; padding:6px 10px; background:#eff9da; color:#365c27; text-transform:uppercase; letter-spacing:.035em; font-size:9px; font-weight:900; white-space:nowrap; }
.course-status.upcoming { background:#f2eef5; color:#6d527b; }
.course-main { display:grid; grid-template-columns:minmax(0,1fr) 80px; gap:10px; align-items:start; margin-top:23px; }
.course-unit { color:var(--reading-muted); font-size:10px; font-weight:950; letter-spacing:.13em; text-transform:uppercase; }
.course-card h3 { font-family:'Arial Black','Segoe UI',Arial,sans-serif; font-size:26px; line-height:1.17; letter-spacing:-.055em; font-weight:900; margin:8px 0 9px; }
.course-graphic { background:var(--card-tint); border-radius:13px; width:80px; height:88px; display:grid; place-items:center; color:var(--card-accent); align-self:start; }
.course-graphic svg { width:69px; height:69px; }
.course-qualification { color:var(--reading-muted); margin:0; font-size:11px; font-weight:750; line-height:1.5; }
.course-description { color:var(--reading-muted); font-size:12px; line-height:1.65; margin:17px 0 16px; flex:1; max-width:325px; }
.course-card-footer { border-top:1px solid var(--reading-line); padding-top:14px; display:flex; gap:8px; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.course-open { color:var(--reading-ink); text-decoration:none; font-size:13px; font-weight:950; display:flex; align-items:center; gap:10px; padding:8px 0; }
.course-open:hover { color:var(--card-accent); }
.course-open span { font-size:19px; line-height:1; }
.course-disabled { color:var(--reading-muted); font-size:12px; display:flex; align-items:center; gap:5px; font-weight:800; }
.course-disabled span { color:var(--card-accent); font-size:17px; }
.classroom-share { text-decoration:none; font-size:10px; color:var(--reading-ink); border-radius:999px; border:1px solid var(--reading-line); display:flex; align-items:center; gap:6px; padding:8px 10px; white-space:nowrap; font-weight:750; }
.classroom-share:hover { border-color:var(--card-accent); }
.classroom-share svg { flex:none; }
.empty-state { padding:48px 20px; text-align:center; border:1px solid var(--reading-line); border-radius:17px; background:var(--reading-bg); color:var(--reading-ink); }
.empty-state > span { display:block; font-size:60px; color:var(--purple); }
.empty-state h3 { font-size:24px; margin:5px 0; }
.empty-state p { margin:0 0 22px; color:var(--reading-muted); }
.business-hub { display:flex; align-items:center; gap:24px; padding:23px 28px; margin-top:30px; border:1px solid var(--reading-line); border-radius:16px; background:var(--reading-bg); color:var(--reading-ink); }
.business-hub-icon { width:72px; height:72px; flex:none; border-radius:14px; display:grid; place-items:center; background:#e2fa96; color:#28232a; font-family:'Arial Black',Arial,sans-serif; font-size:39px; letter-spacing:-.1em; }
.business-hub-icon span { color:var(--purple); }
.business-hub-copy { flex:1; }
.mini-label { color:var(--reading-muted); font-size:9px; font-weight:950; letter-spacing:.12em; }
.business-hub h3 { font-size:22px; font-weight:950; letter-spacing:-.04em; margin:4px 0 4px; }
.business-hub p { color:var(--reading-muted); font-size:12px; margin:0; line-height:1.55; }
.hub-link { border:1px solid var(--reading-line); padding:13px 17px; border-radius:100px; text-decoration:none; font-size:12px; font-weight:900; white-space:nowrap; display:flex; align-items:center; gap:15px; }
.hub-link:hover { background:var(--lime); color:var(--ink); }
/* Thinking approach */
.approach-section { background:#eeeaf3; padding:98px 0 85px; }
.approach-header { display:flex; align-items:end; justify-content:space-between; gap:50px; margin:20px 0 40px; }
.approach-header h2 { margin:0; max-width:710px; }
.approach-header p { max-width:310px; margin:0 0 5px; color:#5d5367; font-size:15px; line-height:1.65; }
.method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.method-card { background:var(--reading-bg); color:var(--reading-ink); padding:23px; border:1px solid var(--reading-line); border-radius:16px; min-height:300px; display:flex; flex-direction:column; }
.method-num { display:flex; justify-content:space-between; align-items:center; font-size:12px; font-weight:950; color:var(--reading-muted); }
.method-num span { font-size:21px; }
.method-icon { width:99px; height:99px; display:grid; place-items:center; border-radius:23px; background:#e5d9f3; color:var(--purple-dark); margin:18px 0 23px; }
.method-card:nth-child(2) .method-icon { background:#e9f5b4; }
.method-card:nth-child(3) .method-icon { background:#fde4ea; }
.method-icon svg { width:72px; height:72px; }
.method-card h3 { font-size:23px; font-weight:950; letter-spacing:-.045em; margin:0 0 8px; }
.method-card p { font-size:13px; color:var(--reading-muted); line-height:1.65; margin:0; }
.evidence-note { margin-top:27px; font-size:12px; color:#5d5367; display:flex; align-items:center; gap:10px; }
.evidence-note span { color:var(--purple); font-size:21px; }
/* Teacher panel */
.teacher-section { padding-top:100px; padding-bottom:60px; }
.teacher-panel { background:#272031; border-radius:21px; color:#fff; padding:57px 60px; display:grid; grid-template-columns:1.1fr .9fr; gap:40px; min-height:382px; overflow:hidden; }
.section-kicker.on-dark { color:#d6cbdf; }
.on-dark .kicker-line { background:var(--lime); }
.teacher-text { position:relative; z-index:2; }
.teacher-text h2 { font-size:clamp(38px,4.1vw,60px); font-family:'Arial Black','Segoe UI',Arial,sans-serif; font-weight:950; letter-spacing:-.068em; line-height:1.12; margin:19px 0; }
.teacher-text h2 em { color:var(--lime); }
.teacher-text p { max-width:545px; font-size:14px; line-height:1.7; color:#d3c9d8; margin:0 0 24px; }
.button-lime { background:var(--lime); color:#211b2b; }
.button-lime:hover { background:#e9ff9e; }
.teacher-graphic { position:relative; min-height:282px; }
.share-sheet { width:265px; height:283px; background:#faf8f4; color:#25202d; border:2px solid #fff; border-radius:7px; padding:17px; position:absolute; left:10%; top:-2%; transform:rotate(9deg); box-shadow:0 18px 38px rgba(0,0,0,.22); }
.share-top { display:flex; align-items:center; gap:5px; border-bottom:1px solid #c8becd; padding-bottom:12px; }
.share-dot { width:6px; height:6px; border-radius:50%; background:var(--purple); }
.share-label { margin-left:auto; font-size:8px; font-weight:900; letter-spacing:.1em; }
.share-icon { font-size:42px; color:var(--purple); margin:15px 0 2px; }
.share-title { font-family:'Arial Black',Arial,sans-serif; font-weight:900; letter-spacing:-.065em; font-size:30px; line-height:1.08; }
.share-bottom { display:flex; align-items:center; justify-content:space-between; border-radius:4px; padding:12px; background:var(--lime); margin-top:27px; font-size:10px; letter-spacing:.07em; font-weight:950; }
.share-bottom span:last-child { font-size:19px; }
.teacher-spark { color:var(--lime); position:absolute; right:3%; bottom:1%; font-size:116px; transform:rotate(-14deg); }
/* Closing / footer */
.closing-section { display:flex; align-items:center; flex-direction:column; text-align:center; padding-block:62px 115px; }
.closing-mini { font-size:10px; letter-spacing:.13em; font-weight:950; color:#776680; }
.closing-section h2 { font-family:'Arial Black','Segoe UI',Arial,sans-serif; font-size:clamp(50px,6.6vw,86px); font-weight:1000; letter-spacing:-.075em; line-height:1.09; margin:19px 0 26px; }
.site-footer { background:#eae7e9; padding-top:45px; }
.footer-top { display:flex; justify-content:space-between; align-items:start; padding-bottom:40px; gap:30px; }
.footer-brand { font-size:32px; }
.footer-top p { font-size:13px; color:#6c6570; margin:10px 0 0; }
.site-footer nav { display:flex; gap:24px; flex-wrap:wrap; padding-top:14px; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; align-items:center; border-top:1px solid #d5cfd8; padding-top:20px; padding-bottom:24px; font-size:10px; color:#736c76; line-height:1.5; }
.toast { position:fixed; z-index:220; bottom:22px; right:22px; background:#272031; color:#fff; padding:13px 19px; border-radius:10px; box-shadow:0 10px 28px rgba(0,0,0,.24); font-size:13px; }
/* Layout */
@media (min-width:1500px) { .hero-grid { padding-top:95px; padding-bottom:80px; } }
@media (max-width:1100px) {
  .desktop-nav { gap:17px; }
  .hero h1 { font-size:clamp(52px,6.4vw,70px); }
  .art-card-main { left:10%; }
  .art-sticker-business { right:-16px; }
  .course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .page-width { padding-inline:24px; }
  .desktop-nav { display:none; }
  .header-inner { height:75px; }
  .hero-grid { padding-top:54px; padding-bottom:50px; grid-template-columns:1fr; gap:5px; }
  .hero-copy { max-width:680px; }
  .hero h1 { max-width:680px; }
  .hero-art { height:400px; min-height:400px; max-width:535px; width:100%; margin-inline:auto; }
  .art-halo-one { left:18%; }
  .art-card-main { left:28%; top:34px; }
  .art-sticker-business { right:0; top:85px; }
  .art-sticker-media { left:8%; }
  .art-sticker-science { bottom:6px; right:10px; }
  .jump-inner { gap:18px; }
  .jump-inner > span:last-child { display:none; }
  .jump-inner .jump-divider:last-of-type { display:none; }
  .approach-header { align-items:start; flex-direction:column; gap:15px; }
  .approach-header p { max-width:630px; }
  .method-grid { grid-template-columns:1fr 1fr; }
  .teacher-panel { padding:42px 40px; gap:15px; grid-template-columns:1fr .75fr; }
  .share-sheet { left:0; width:220px; }
}
@media (max-width:610px) {
  .page-width { padding-inline:19px; }
  .brand { font-size:30px; }
  .header-inner { height:68px; gap:7px; }
  .header-actions { gap:8px; }
  .header-cta { padding:11px 12px; font-size:11px; gap:6px; }
  .header-cta span { font-size:13px; }
  .colours-trigger { padding:10px 10px; font-size:12px; }
  .colours-trigger .colours-symbol { font-size:18px; }
  .colours-panel { right:-115px; }
  .hero-grid { padding-top:41px; padding-bottom:35px; }
  .hero h1 { margin:19px 0; font-size:clamp(48px,10.3vw,65px); line-height:1.08; }
  .hero-intro { font-size:15px; }
  .hero-buttons { margin-top:24px; gap:10px; }
  .button { font-size:13px; padding:14px 18px; }
  .button-ghost { padding-left:4px; }
  .hero-footnote { line-height:1.6; margin-top:27px; }
  .hero-art { height:335px; min-height:335px; transform:scale(.82); transform-origin:top center; margin-bottom:-58px; width:110%; margin-left:-5%; }
  .art-card-main { top:20px; left:27%; }
  .art-halo-one { top:0; }
  .art-sticker-business { right:-7px; top:75px; }
  .art-sticker-science { bottom:-32px; }
  .jump-inner { flex-wrap:wrap; justify-content:space-between; font-size:9px; min-height:60px; }
  .jump-inner .jump-divider { display:none; }
  .explore-section { padding-top:65px; padding-bottom:69px; }
  .section-heading-row { align-items:start; margin:12px 0 24px; }
  .section-heading-row h2,.approach-header h2 { font-size:clamp(45px,9.1vw,59px); }
  .section-description { font-size:14px; }
  .small-illustration { display:none; }
  .search-panel { padding:17px; }
  .search-controls { grid-template-columns:1fr; gap:9px; }
  .search-shortcut { display:none; }
  .search-input-wrap input { font-size:13px; }
  .subject-filters { flex-wrap:nowrap; overflow:auto; padding-bottom:4px; scrollbar-width:thin; }
  .filter-pill { white-space:nowrap; flex:none; }
  .course-grid { grid-template-columns:1fr; gap:13px; }
  .course-card { min-height:293px; }
  .business-hub { padding:19px; flex-wrap:wrap; gap:16px; }
  .business-hub-icon { width:56px; height:56px; font-size:31px; }
  .business-hub-copy { flex-basis:calc(100% - 75px); }
  .hub-link { justify-content:space-between; width:100%; }
  .approach-section { padding:67px 0; }
  .method-grid { grid-template-columns:1fr; gap:13px; }
  .method-card { min-height:255px; }
  .method-icon { margin:10px 0 18px; }
  .teacher-section { padding-top:60px; }
  .teacher-panel { padding:30px 25px; grid-template-columns:1fr; }
  .teacher-text h2 { font-size:40px; }
  .teacher-graphic { display:none; }
  .closing-section { padding-block:50px 80px; }
  .closing-section h2 { font-size:56px; }
  .footer-top, .footer-bottom { flex-direction:column; }
  .footer-top { gap:15px; }
  .footer-bottom { gap:9px; }
}
@media (max-width:375px) {
  .page-width { padding-inline:15px; }
  .brand { font-size:27px; }
  .header-cta { font-size:10px; padding:10px; }
  .colours-trigger { font-size:11px; padding:9px; }
  .colours-panel { right:-102px; }
  .hero h1 { font-size:47px; }
  .hero-art { transform:scale(.74); margin-bottom:-90px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
}
