:root { --ink:#111214; --paper:#faf9f6; --white:#fff; --coral:#ca4743; --coral-dark:#a93632; --charcoal:#292a2c; --soft:#eeeae3; --muted:#686763; --line:rgba(17,18,20,.15); --font-display:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; --font-body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-body); font-size:16px; line-height:1.55; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid var(--coral); outline-offset:3px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; } }
.noscript-note { margin:0; padding:13px 24px; color:var(--ink); background:#f4d272; text-align:center; font-size:14px; font-weight:700; }
[id] { scroll-margin-top:82px; }
.container { width:min(1120px, calc(100% - 48px)); margin-inline:auto; }
.sr-only,.skip-link { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link:focus { z-index:100; top:12px; left:12px; width:auto; height:auto; padding:10px 14px; margin:0; overflow:visible; clip:auto; background:var(--white); color:var(--ink); }
.utility-bar { background:var(--ink); color:var(--white); }
.utility-bar__inner { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:inline-flex; align-items:center; gap:9px; font:700 13px/1 var(--font-display); letter-spacing:.08em; text-transform:uppercase; }
.brand__dot { width:9px; height:9px; display:block; border-radius:50%; background:var(--coral); }
.brand__short { display:none; }
.official-site { margin-left:6px; padding-left:15px; border-left:1px solid rgba(255,255,255,.28); color:rgba(255,255,255,.68); font-size:11px; }
.site-search { display:flex; align-items:center; margin-left:auto; border-bottom:1px solid rgba(255,255,255,.5); }
.site-search input { width:145px; padding:5px 0; border:0;  background:transparent; color:var(--white); font-size:13px; }
.site-search input::placeholder { color:rgba(255,255,255,.68); }
.site-search button { padding:2px 0 2px 9px; border:0; background:transparent; color:var(--white); font-size:23px; line-height:1; }
.mobile-header-action { display:none; }
.menu-toggle { display:none; padding:6px; border:0; background:transparent; }
.menu-toggle span:not(.sr-only) { display:block; width:21px; height:2px; margin:4px; background:var(--white); }
.main-nav { position:sticky; top:0; z-index:20; background:var(--coral); color:var(--white); }
.main-nav__inner { min-height:55px; display:flex; align-items:center; justify-content:center; gap:clamp(16px,2.7vw,38px); }
.main-nav a { padding:17px 0 14px; font:600 12px/1 var(--font-display); letter-spacing:.065em; text-transform:uppercase; border-bottom:3px solid transparent; }
.main-nav a:hover,.main-nav a:focus-visible,.main-nav a[aria-current="page"] { border-bottom-color:var(--white); }
.main-nav__search { display:none; }.main-nav__contact { margin-left:auto; }
.hero { position:relative; overflow:hidden; min-height:470px; display:grid; align-items:center; isolation:isolate; color:var(--white); background:var(--ink); }
.hero::before { content:""; position:absolute; z-index:-3; inset:0; background-image:radial-gradient(circle at 11% 19%,rgba(255,255,255,.77) 0 1px,transparent 1.5px),radial-gradient(circle at 70% 26%,rgba(255,255,255,.55) 0 1.2px,transparent 1.7px),radial-gradient(circle at 42% 67%,rgba(255,255,255,.35) 0 1px,transparent 1.5px),radial-gradient(circle at 91% 75%,rgba(255,255,255,.5) 0 1px,transparent 1.5px); background-size:110px 110px,170px 170px,130px 130px,200px 200px; opacity:.85; }
.hero::after { content:""; position:absolute; z-index:-2; inset:0; background:linear-gradient(100deg,rgba(6,7,9,.2),rgba(6,7,9,.82)); }
.hero--space { background:linear-gradient(135deg,#111214 0%,#1d2025 100%); }.hero--space::before { display:none; }.hero--space::after { background:linear-gradient(105deg,rgba(17,18,20,.02),rgba(17,18,20,.62)); }
.hero--compact { min-height:310px; }
.hero__content { padding-block:62px; max-width:720px; }
.material-finder { display:grid; grid-template-columns:minmax(210px,.58fr) minmax(360px,1fr); align-items:end; gap:36px clamp(45px,8vw,120px); margin:55px 0 0; padding-top:48px; border-top:1px solid rgba(255,255,255,.2); }
.material-finder__intro h2 { margin-bottom:8px; font-size:clamp(28px,3.2vw,39px); }
.material-finder__intro p { max-width:31ch; margin:0; color:rgba(255,255,255,.72); font-size:15px; line-height:1.45; }
.material-finder__actions { width:100%; }
.materials-search { display:grid; grid-template-columns:1fr auto; width:100%; background:var(--white); }
.materials-search input { min-width:0; min-height:56px; padding:0 18px; border:0;  color:var(--ink); background:transparent; font:400 16px/1.3 var(--font-body); }
.materials-search input::placeholder { color:var(--muted); opacity:1; }
.materials-search button { min-width:118px; padding:0 17px; border:0; color:var(--white); background:var(--coral); font:700 12px/1 var(--font-display); letter-spacing:.07em; text-transform:uppercase; transition:background .18s ease; }
.materials-search button:hover,.materials-search button:focus-visible { background:var(--coral-dark); }
.material-finder__link { display:inline-block; margin-top:16px; padding-bottom:3px; border-bottom:1px solid currentColor; color:var(--white); font:700 12px/1.2 var(--font-display); letter-spacing:.07em; text-transform:uppercase; }
.material-finder__link:hover,.material-finder__link:focus-visible { color:#f4d272; }
.teacher-intro { padding-block:clamp(47px,7vw,86px); background:var(--paper); }
.teacher-intro__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,235px); align-items:center; gap:clamp(34px,7vw,95px); }
.teacher-intro__copy { max-width:650px; }
.teacher-intro__copy h1 { max-width:13ch; margin-bottom:18px; font-size:clamp(39px,5vw,62px); text-transform:none; }
.teacher-intro__copy p:not(.eyebrow) { max-width:55ch; margin-bottom:27px; font-size:18px; }
.teacher-intro__actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; }
.teacher-intro__portrait { position:relative; width:100%; margin:0; overflow:hidden; background:#d7d0bf; box-shadow:12px 12px 0 var(--coral); }
.teacher-intro__portrait img { display:block; width:100%; aspect-ratio:4 / 5; object-fit:cover; object-position:center; }
.eyebrow { margin:0 0 15px; font:600 12px/1.2 var(--font-display); letter-spacing:.18em; text-transform:uppercase; }
.eyebrow--coral { color:var(--coral); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--font-display); line-height:1.03; letter-spacing:-.04em; }
h1 { max-width:11.5ch; margin-bottom:20px; font-size:clamp(46px,7vw,78px); text-transform:uppercase; }
h2 { margin-bottom:15px; font-size:clamp(31px,3.6vw,47px); }
h3 { margin-bottom:10px; font-size:22px; }
.hero__lead { max-width:510px; margin-bottom:27px; font-size:clamp(18px,2vw,21px); line-height:1.45; }.hero__actions { display:flex; flex-wrap:wrap; gap:13px; }
.hero__orbit { position:absolute; z-index:-1; border-radius:50%; background:radial-gradient(circle at 36% 33%,#fcf7e7 0 8%,#a9b0c5 24%,#60677e 54%,#171b25 74%); box-shadow:inset -25px -25px 45px rgba(0,0,0,.67); }
.hero__orbit--one { width:350px; height:350px; right:10%; bottom:-240px; }
.hero__orbit--two { width:130px; height:130px; right:29%; top:-45px; opacity:.8; }
.hero--medical h1 { color:#f4d272; }
.hero--wave { background:linear-gradient(115deg,rgba(255,255,255,.78),rgba(255,255,255,.07)),linear-gradient(118deg,#255c78 5%,#a5e1e0 51%,#1c8c91 52%,#073044 100%); }
.hero--wave::before { background:radial-gradient(ellipse at 5% 86%,#c99869 0 12%,transparent 12.5%),radial-gradient(ellipse at 17% 85%,#f2dec7 0 10%,transparent 10.5%),linear-gradient(170deg,transparent 54%,rgba(0,43,59,.78) 54.4%,transparent 55.2%); opacity:.85; }
.hero--wave::after { background:linear-gradient(90deg,rgba(255,255,255,.34),rgba(0,20,30,.14)); }
.hero--wave .hero__content { color:var(--ink); }
.hero--speaking { background:linear-gradient(135deg,#171a22 0 50%,#33435b 50% 100%); }
.hero--speaking::before { background:radial-gradient(circle at 20% 35%,rgba(242,96,91,.93) 0 9%,transparent 9.2%),radial-gradient(circle at 70% 70%,rgba(248,246,241,.88) 0 15%,transparent 15.2%),radial-gradient(circle at 90% 15%,rgba(242,96,91,.55) 0 6%,transparent 6.2%); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:46px; padding:13px 19px; border:0; border-radius:3px; font:700 12px/1 var(--font-display); letter-spacing:.07em; text-transform:uppercase; transition:transform .18s ease,background .18s ease; }
.button:hover,.button:focus-visible { transform:translateY(-2px); }
.button--light { color:var(--ink); background:var(--white); }.button--ghost { border:1px solid rgba(255,255,255,.7); color:var(--white); background:transparent; }.button--ghost:hover,.button--ghost:focus-visible { color:var(--ink); background:var(--white); }
.button--dark { color:var(--white); background:var(--ink); }
.button--coral { color:var(--white); background:var(--coral); }
.section { padding-block:76px; }
.section--dark { color:var(--white); background:var(--ink); }
.section--paper { background:var(--paper); }
.section--coral { padding-block:43px; color:var(--white); background:var(--coral); }
.section-heading { max-width:680px; margin-bottom:32px; }
.section-heading--split { max-width:none; display:grid; grid-template-columns:1.35fr .65fr; align-items:end; gap:40px; }
.section-heading--split > p { margin-bottom:6px; color:inherit; opacity:.75; }
.resource-grid { display:grid; gap:18px; }
.resource-grid--featured { grid-template-columns:repeat(3,1fr); }
.resource-grid--three { grid-template-columns:repeat(3,1fr); }
.resource-grid--two { grid-template-columns:repeat(2,1fr); }
.resource-card { min-height:224px; display:flex; flex-direction:column; align-items:flex-start; padding:23px; color:var(--white); background:var(--charcoal); border:1px solid rgba(255,255,255,.12); transition:transform .2s ease, background .2s ease; }
.resource-card:hover { transform:translateY(-3px); background:#363739; }
.resource-card--accent { color:var(--white); background:var(--coral); border-color:rgba(255,255,255,.15); }
.resource-card--accent:hover { background:var(--coral-dark); }
.resource-card__type { margin-bottom:27px; font:600 11px/1 var(--font-display); letter-spacing:.12em; text-transform:uppercase; opacity:1; }
.resource-card h3 { max-width:19ch; margin-bottom:10px; font-size:22px; }
.resource-card p:not(.resource-card__type) { max-width:31ch; margin-bottom:22px; font-size:14px; line-height:1.5; opacity:1; }
.resource-card a { margin-top:auto; padding-bottom:3px; border-bottom:1px solid currentColor; font:700 13px/1.15 var(--font-display); letter-spacing:.06em; text-transform:uppercase; }
.resource-card a span { margin-left:4px; font-size:15px; }
.topic-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.topic-card { position:relative; min-height:225px; padding:22px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .2s ease,color .2s ease; }
.topic-card:hover { color:var(--white); background:var(--ink); }
.topic-card > span { display:block; margin-bottom:38px; color:var(--coral); font:600 13px var(--font-display); }
.topic-card h3 { margin-bottom:9px; font-size:23px; }
.topic-card p { max-width:20ch; margin-bottom:0; font-size:14px; line-height:1.5; }
.topic-card b { position:absolute; right:22px; bottom:19px; color:var(--coral); font-size:21px; }
.useful-links { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid rgba(255,255,255,.22); border-left:1px solid rgba(255,255,255,.22); }
.useful-link { position:relative; min-height:204px; padding:22px; border-right:1px solid rgba(255,255,255,.22); border-bottom:1px solid rgba(255,255,255,.22); transition:background .2s ease; }
.useful-link:hover { background:#202125; }.useful-link__mark { display:block; margin-bottom:34px; color:var(--coral); font-size:20px; }.useful-link h3 { margin-bottom:9px; font-size:20px; }.useful-link p { margin:0; color:rgba(255,255,255,.68); font-size:13px; line-height:1.48; }
.note-banner { display:grid; grid-template-columns:1.1fr 1fr auto; align-items:center; gap:42px; }
.note-banner h2 { margin:0; font-size:34px; }
.note-banner p:not(.eyebrow) { margin:0; max-width:36ch; }
.text-link { display:inline-block; padding-bottom:4px; border-bottom:1px solid var(--ink); color:var(--ink); font:700 13px/1 var(--font-display); letter-spacing:.07em; text-transform:uppercase; }
.text-link--light { border-color:var(--white); color:var(--white); }
.split-layout { display:grid; grid-template-columns:1.32fr .68fr; gap:72px; }
.lesson-panel { align-self:start; padding:31px; color:var(--white); background:var(--ink); }
.lesson-panel h2 { font-size:38px; }
.lesson-panel ol { padding:0; margin:32px 0; list-style:none; counter-reset:lesson; }
.lesson-panel li { position:relative; padding:0 0 21px 42px; counter-increment:lesson; }
.lesson-panel li::before { content:counter(lesson,decimal-leading-zero); position:absolute; left:0; top:2px; color:var(--coral); font:700 13px var(--font-display); }
.lesson-panel li + li { padding-top:20px; border-top:1px solid rgba(255,255,255,.2); }
.lesson-panel li strong,.lesson-panel li span { display:block; }
.lesson-panel li strong { margin-bottom:5px; font:600 17px var(--font-display); }
.lesson-panel li span { font-size:14px; line-height:1.45; color:rgba(255,255,255,.75); }
.page-intro { padding:92px 0 80px; color:var(--white); background:var(--ink); }
.page-intro h1 { max-width:none; margin-bottom:14px; font-size:clamp(48px,7vw,76px); }
.page-intro > .container > p:last-of-type { max-width:42ch; margin-bottom:0; font-size:18px; color:rgba(255,255,255,.75); }
.qr-page { min-height:calc(100svh - 113px); display:grid; align-items:center; padding:clamp(36px,7vh,84px) 0; color:var(--white); background:var(--ink); overflow:hidden; }.qr-page__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.85fr); align-items:center; gap:clamp(42px,8vw,132px); }.qr-page__intro h1 { max-width:10ch; margin:12px 0 20px; font-size:clamp(46px,6vw,78px); letter-spacing:-.06em; line-height:.94; }.qr-page__intro > p:not(.eyebrow) { max-width:38ch; margin:0; color:rgba(255,255,255,.72); font-size:clamp(17px,2vw,21px); line-height:1.5; }.qr-page__link { display:inline-block; margin-top:33px; padding-bottom:5px; border-bottom:1px solid var(--coral); color:var(--white); font:600 14px/1.45 var(--font-display); letter-spacing:.035em; }.qr-page__link:hover,.qr-page__link:focus-visible { color:var(--coral); }.qr-page__code { display:grid; justify-items:center; gap:17px; }.qr-page__code-frame { width:min(100%,580px); aspect-ratio:1; padding:clamp(18px,3vw,34px); background:var(--white); box-shadow:0 0 0 1px rgba(255,255,255,.15),20px 20px 0 var(--coral); }.qr-page__code img { display:block; width:100%; height:100%; image-rendering:pixelated; }.qr-page__code p { margin:0; color:rgba(255,255,255,.65); font-size:14px; }
.course-note { max-width:76ch; margin:-9px 0 28px; padding:17px 20px; border-left:4px solid var(--coral); background:var(--soft); color:var(--ink); font-size:15px; line-height:1.55; }.course-table-wrap { width:100%; overflow-x:auto; border:1px solid var(--line); outline-offset:4px; }.course-table { width:100%; min-width:0; table-layout:fixed; border-collapse:collapse; text-align:left; }.course-table__course { width:54%; }.course-table__when { width:25%; }.course-table__listing { width:21%; }.course-table th { padding:16px 20px; color:var(--white); background:var(--ink); font:700 11px/1 var(--font-display); letter-spacing:.1em; text-transform:uppercase; }.course-table td { padding:23px 20px; vertical-align:top; border-top:1px solid var(--line); font-size:15px; line-height:1.45; }.course-table tbody tr { transition:background .18s ease; }.course-table tbody tr:hover { background:var(--soft); }.course-table td strong,.course-table td span { display:block; }.course-table td strong { margin-bottom:5px; font:600 18px/1.2 var(--font-display); letter-spacing:-.02em; }.course-table td > span { color:var(--muted); font-size:14px; }.course-table td[data-label="When"] span:first-child { color:var(--ink); }.course-table__group th { padding:22px 20px; border-top:3px solid var(--ink); border-bottom:1px solid var(--line); color:var(--ink); background:#e5e5e5; font:600 18px/1.3 var(--font-display); letter-spacing:-.02em; text-transform:none; }.course-table__group th strong,.course-table__group th > span { display:block; }.course-table__group th > span { margin-top:5px; color:var(--muted); font:400 14px/1.45 var(--font-body); letter-spacing:0; }.course-table__group th a { color:var(--ink); text-decoration:underline; text-decoration-color:currentColor; text-underline-offset:3px; }.course-table__group th a:hover,.course-table__group th a:focus-visible { color:var(--muted); text-decoration-color:var(--muted); }.courses-followup { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:29px 0 0; font-size:16px; }.current-courses { border-top:1px solid rgba(255,255,255,.12); }.current-courses .section-heading--split > p { color:rgba(255,255,255,.72); }.course-note--dark { background:rgba(255,255,255,.08); color:var(--white); }.course-table-wrap--dark { border-color:rgba(255,255,255,.22); }.course-table--dark { min-width:0; }.course-table--dark td { border-color:rgba(255,255,255,.18); background:var(--ink); color:var(--white); }.course-table--dark tbody tr:hover { background:var(--charcoal); }.course-table--dark td > span { color:rgba(255,255,255,.66); }.course-table--dark td[data-label="When"] span:first-child { color:var(--white); }.course-table--dark td[data-label="Dates"],.course-table--dark td[data-label="Time"] { white-space:nowrap; }.course-table--dark .text-link { color:var(--white); border-color:var(--white); }.course-status { color:#b6443f !important; font:700 11px/1.25 var(--font-display); letter-spacing:.07em; text-transform:uppercase; }.course-status--waitlist { color:#b6443f !important; }.courses-followup--dark { color:rgba(255,255,255,.72); }.courses-followup--dark .text-link { color:var(--white); border-color:var(--white); }
.teaching-locations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.location-card { display:flex; min-height:230px; flex-direction:column; align-items:flex-start; padding:29px; border:1px solid var(--line); background:var(--white); }.location-card--current { color:var(--white); border-color:var(--coral); background:var(--coral); }.location-card .eyebrow { margin-bottom:30px; }.location-card--current .eyebrow { color:rgba(255,255,255,.75); }.location-card h3 { margin-bottom:10px; font-size:28px; }.location-card p:not(.eyebrow) { max-width:34ch; margin-bottom:25px; color:var(--muted); }.location-card--current p:not(.eyebrow) { color:rgba(255,255,255,.82); }.location-card .text-link { margin-top:auto; }.location-card--current .text-link { color:var(--white); border-color:var(--white); }.individual-tuition { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:38px; align-items:end; padding:clamp(28px,5vw,48px); color:var(--white); background:var(--ink); }.individual-tuition h2 { max-width:13ch; margin-bottom:14px; }.individual-tuition p:not(.eyebrow) { max-width:53ch; margin-bottom:0; color:rgba(255,255,255,.72); font-size:17px; }.individual-tuition .button { min-height:52px; white-space:nowrap; }.courses-archive { border-top:1px solid var(--line); }
.page-intro--unavailable { min-height:510px; display:grid; align-items:center; background:linear-gradient(130deg,#141518 0%,#141518 60%,#512c2a 100%); }.page-intro--unavailable h1 { max-width:11ch; }.unavailable-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:31px; }
.library-search { width:min(100%,640px); display:flex; align-items:center; margin-top:34px; padding:0 16px; background:var(--white); color:var(--ink); }
.library-search input { width:100%; padding:16px 0; border:0;  font-size:17px; }
.library-search span { font-size:25px; }
.library-section { padding-top:64px; }.catalogue-heading { margin-bottom:30px; }
.catalogue-controls { display:flex; flex-wrap:wrap; align-items:end; gap:14px; margin-bottom:23px; }
.catalogue-select { display:grid; gap:7px; min-width:min(100%,230px); color:var(--muted); font:700 12px/1 var(--font-display); letter-spacing:.07em; text-transform:uppercase; }.catalogue-select select { min-height:45px; padding:0 36px 0 13px; border:1px solid var(--line); border-radius:0;  background:var(--white); color:var(--ink); font:500 15px var(--font-body); letter-spacing:0; text-transform:none; }
.filter-bar { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:23px; }
.filter-button { padding:9px 14px; border:1px solid var(--line); background:transparent; color:var(--ink); font:600 12px/1 var(--font-display); letter-spacing:.04em; text-transform:uppercase; }
.filter-button:hover,.filter-button.is-active { border-color:var(--coral); color:var(--white); background:var(--coral); }
.results-note { margin:0 0 19px; color:var(--muted); font-size:14px; }
.library-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.catalogue-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }.catalogue-item { min-height:176px; display:flex; flex-direction:column; align-items:flex-start; padding:22px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--white); transition:background .18s ease,color .18s ease; }.catalogue-item:hover { color:var(--white); background:var(--ink); }.catalogue-item__meta { margin-bottom:17px; color:var(--coral); font:700 11px/1.15 var(--font-display); letter-spacing:.08em; text-transform:uppercase; }.catalogue-item:hover .catalogue-item__meta { color:var(--white); }.catalogue-item__title { max-width:32ch; font:600 20px/1.15 var(--font-display); letter-spacing:-.025em; }.catalogue-item__desc { max-width:43ch; margin-top:9px; color:var(--muted); font-size:14px; line-height:1.45; }.catalogue-item:hover .catalogue-item__desc { color:rgba(255,255,255,.76); }.catalogue-item__action { display:block; margin-top:auto; padding-top:19px; border-bottom:1px solid currentColor; font:700 12px/1 var(--font-display); letter-spacing:.06em; text-transform:uppercase; }.catalogue-item__action b { margin-left:4px; font-size:15px; }.catalogue-more { display:flex; justify-content:center; margin-top:27px; }
.section-directory { border-top:1px solid rgba(255,255,255,.12); }.section-directory__grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.2); border-left:1px solid rgba(255,255,255,.2); }.section-directory__item { position:relative; min-height:222px; padding:22px; border-right:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); transition:background .2s ease; }.section-directory__item:hover { background:var(--coral); }.section-directory__group { display:block; margin-bottom:28px; color:var(--coral); font:600 11px/1 var(--font-display); letter-spacing:.12em; text-transform:uppercase; }.section-directory__item:hover .section-directory__group { color:var(--white); }.section-directory__item h3 { max-width:22ch; margin-bottom:9px; font-size:21px; }.section-directory__item p { max-width:33ch; margin-bottom:0; color:rgba(255,255,255,.64); font-size:13px; line-height:1.45; }.section-directory__count { display:block; margin-top:18px; color:rgba(255,255,255,.82); font:700 11px/1 var(--font-display); letter-spacing:.06em; text-transform:uppercase; }.section-directory__item--empty .section-directory__count { color:#f4d272; }.section-directory__item b { position:absolute; right:21px; bottom:18px; color:var(--coral); font-size:19px; }.section-directory__item:hover b { color:var(--white); }
.archive-banner { display:flex; justify-content:space-between; align-items:center; gap:42px; margin-bottom:68px; padding:34px; background:var(--soft); }.archive-banner h2 { margin-bottom:9px; font-size:clamp(27px,3vw,40px); }.archive-banner p:not(.eyebrow) { max-width:55ch; margin:0; }.archive-empty { max-width:690px; padding:28px; border-left:4px solid var(--coral); background:var(--soft); }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 25px; color:var(--muted); font-size:13px; }.breadcrumbs a { padding-bottom:2px; border-bottom:1px solid currentColor; }.breadcrumbs--light { color:rgba(255,255,255,.72); }.breadcrumbs--light a:hover { color:var(--white); }
.local-materials { margin-top:64px; }.local-materials h2 { font-size:clamp(27px,3vw,40px); }.local-materials--dark { padding-top:4px; }.local-materials--dark h2 { color:var(--white); }.archive-description { max-width:59ch; margin:-4px 0 26px; color:var(--muted); }.local-materials--dark .archive-description { color:rgba(255,255,255,.7); }.archive-loading { color:var(--muted); }.local-materials--dark .archive-loading { color:rgba(255,255,255,.65); }.local-materials__toggle { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:14px; width:min(100%,560px); min-height:58px; padding:14px 18px; border:1px solid var(--line); background:var(--white); color:var(--ink); text-align:left; font:700 13px/1.25 var(--font-display); letter-spacing:.04em; }.local-materials__toggle:hover { border-color:var(--coral); color:var(--white); background:var(--coral); }.local-materials__toggle span { color:var(--muted); font:600 11px/1 var(--font-display); letter-spacing:.06em; text-transform:uppercase; }.local-materials__toggle:hover span { color:rgba(255,255,255,.82); }.local-materials__toggle b { font-size:18px; font-weight:400; }.local-materials--dark .local-materials__toggle { border-color:rgba(255,255,255,.35); background:transparent; color:var(--white); }.local-materials--dark .local-materials__toggle span { color:rgba(255,255,255,.68); }.local-materials--dark .local-materials__toggle:hover { border-color:var(--coral); background:var(--coral); }.local-materials--dark .local-materials__toggle:hover span { color:rgba(255,255,255,.82); }.local-materials__content { margin-top:18px; }.local-materials__content[hidden] { display:none; }.local-file-list { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.local-file { min-height:69px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:13px; padding:14px 16px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--white); transition:background .18s ease, color .18s ease; }.local-file:hover { color:var(--white); background:var(--ink); }.local-file__type { min-width:39px; padding:5px 4px; color:var(--coral); border:1px solid currentColor; text-align:center; font:700 10px/1 var(--font-display); letter-spacing:.04em; }.local-file__title { font:600 15px/1.3 var(--font-body); }.local-file__arrow { font-size:19px; }.local-materials--dark .local-file { color:var(--ink); }.local-materials--dark .local-file:hover { color:var(--white); background:var(--coral); }
.section-pager { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:50px; }.section-pager__link { min-height:92px; display:grid; align-content:center; padding:18px 22px; border:1px solid var(--line); background:var(--white); transition:background .18s ease,color .18s ease,transform .18s ease; }.section-pager__link:hover { color:var(--white); background:var(--ink); transform:translateY(-2px); }.section-pager__link--next { text-align:right; }.section-pager__link span,.material-pager span { display:block; margin-bottom:5px; color:var(--coral); font:700 10px/1 var(--font-display); letter-spacing:.12em; text-transform:uppercase; }.section-pager__link:hover span { color:var(--white); }.section-pager__link strong,.material-pager strong { font:600 18px/1.25 var(--font-display); }
.material-intro { padding-bottom:66px; }.material-intro h1 { max-width:16ch; font-size:clamp(40px,6vw,68px); text-transform:none; }.material-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:30px; align-items:start; }.material-preview { min-height:520px; overflow:hidden; border:1px solid var(--line); background:var(--white); box-shadow:0 16px 45px rgba(17,18,20,.08); }.material-preview__frame { display:block; width:100%; height:min(72vh,820px); min-height:640px; border:0; background:var(--white); }.material-preview__help { margin:0; padding:13px 18px; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }.material-preview__help a { color:var(--ink); border-bottom:1px solid currentColor; font-weight:700; }.material-preview__image { display:block; width:100%; max-height:820px; object-fit:contain; background:var(--soft); }.material-preview__fallback { min-height:440px; display:grid; place-content:center; padding:44px; text-align:center; background:var(--soft); }.material-preview__fallback span { display:inline-block; justify-self:center; margin-bottom:20px; padding:7px 9px; border:1px solid var(--coral); color:var(--coral); font:700 11px/1 var(--font-display); letter-spacing:.1em; }.material-preview__fallback h2 { max-width:12ch; margin-inline:auto; font-size:35px; }.material-preview__fallback p { max-width:31ch; margin:0 auto; }.material-sidebar { position:sticky; top:22px; padding:27px; border:1px solid var(--line); background:var(--soft); }.material-sidebar dl { margin:28px 0; }.material-sidebar dl div { display:grid; gap:5px; padding:14px 0; border-top:1px solid var(--line); }.material-sidebar dl div:last-child { border-bottom:1px solid var(--line); }.material-sidebar dt { color:var(--muted); font:700 11px/1 var(--font-display); letter-spacing:.1em; text-transform:uppercase; }.material-sidebar dd { margin:0; font-size:15px; }.material-sidebar dd a { border-bottom:1px solid currentColor; }.material-actions { display:grid; gap:17px; justify-items:start; }.material-back { display:block; margin-top:32px; padding-top:20px; border-top:1px solid var(--line); font:700 13px/1.2 var(--font-display); letter-spacing:.04em; text-transform:uppercase; }.material-pager { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:36px; }.material-pager a { min-height:92px; display:grid; align-content:center; padding:18px 22px; color:var(--white); background:var(--ink); transition:background .18s ease,transform .18s ease; }.material-pager a:hover { background:var(--coral); transform:translateY(-2px); }.material-pager span { color:rgba(255,255,255,.66); }.material-pager__next { text-align:right; }
.material-tags { display:flex; flex-wrap:wrap; gap:6px; }.material-tags span { display:inline-flex; align-items:center; min-height:25px; padding:4px 8px; color:var(--ink); border:1px solid var(--line); background:var(--white); font:700 10px/1.1 var(--font-display); letter-spacing:.04em; text-transform:uppercase; }
.empty-state { grid-column:1/-1; padding:35px; border:1px dashed var(--line); text-align:center; }
.contact-layout { display:grid; grid-template-columns:1fr .75fr; gap:96px; align-items:start; }
.contact-form { display:grid; gap:21px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-form label { display:grid; gap:7px; font:600 13px var(--font-display); letter-spacing:.06em; text-transform:uppercase; }
.contact-form input,.contact-form textarea { width:100%; padding:13px 0; border:0; border-bottom:1px solid var(--ink);  background:transparent; color:var(--ink); font:400 17px/1.5 var(--font-body); letter-spacing:0; text-transform:none; resize:vertical; }
.contact-form input:focus,.contact-form textarea:focus { border-bottom:2px solid var(--coral); }
.contact-form .button { justify-self:start; margin-top:7px; }
.form-status { min-height:24px; margin:0; font-size:14px; }
.form-status--error { color:#c32e2e; }.form-status--success { color:#1e7547; }
.contact-aside { margin-top:6px; padding:42px; color:var(--white); background:var(--coral); }
.contact-aside h2 { font-size:39px; }.contact-aside p:not(.eyebrow) { margin-bottom:27px; }.contact-aside .text-link { color:var(--white); border-color:var(--white); }.contact-email { margin:-7px 0 28px !important; font:600 17px/1.35 var(--font-display); }.contact-email a { padding-bottom:2px; border-bottom:1px solid currentColor; }.contact-actions { display:flex; flex-wrap:wrap; gap:20px; align-items:center; }.text-link--button { padding:0 0 4px; border:0; border-bottom:1px solid currentColor; background:transparent; }.copy-status { min-height:21px; margin:17px 0 0 !important; color:rgba(255,255,255,.82); font-size:14px; }
.footer-band { color:var(--white); background:var(--coral); }.footer-band__inner { min-height:54px; display:flex; justify-content:space-between; align-items:center; }.footer-band p,.footer-band a { margin:0; font:600 12px/1 var(--font-display); letter-spacing:.08em; text-transform:uppercase; }.footer-band a { border-bottom:1px solid rgba(255,255,255,.7); }
.footer-main { padding-top:61px; color:var(--white); background:var(--ink); }.footer-main__inner { display:grid; grid-template-columns:1fr auto; align-items:start; gap:40px; padding-bottom:59px; }.footer-brand { display:block; margin-bottom:17px; font:700 45px/1 var(--font-display); letter-spacing:-.08em; }.footer-brand span { color:var(--coral); }.footer-main p { margin:0; color:rgba(255,255,255,.66); font-size:14px; }.footer-contact { align-self:center; padding-bottom:4px; border-bottom:1px solid currentColor; color:rgba(255,255,255,.82); font:700 13px/1 var(--font-display); letter-spacing:.07em; text-transform:uppercase; }.footer-contact:hover,.footer-contact:focus-visible { color:var(--white); }.footer-contact span { margin-left:5px; font-size:15px; }.footer-legal { padding:19px 0; display:flex; justify-content:space-between; gap:20px; border-top:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.45); font-size:11px; }
@media (max-width: 800px) { .container { width:min(100% - 32px, 1120px); }.brand__full,.official-site { display:none; }.brand__short { display:inline; }.menu-toggle { display:block; }.site-search { display:none; }.main-nav { display:none; }.main-nav--open { display:block; }.main-nav__inner { display:flex; min-height:0; flex-direction:column; align-items:stretch; gap:0; padding:8px 0; }.main-nav a { padding:14px 0; border-bottom:0; }.main-nav a:hover,.main-nav a:focus-visible,.main-nav a[aria-current="page"] { color:var(--ink); }.main-nav__search { display:block; }.main-nav__contact { margin-left:0; }.section-menu { display:block; width:100%; }.section-menu__toggle { width:100%; justify-content:space-between; padding:14px 0; }.section-menu__toggle:hover,.section-menu__toggle:focus-visible,.section-menu--open .section-menu__toggle { color:var(--ink); border-bottom:0; }.section-menu__panel { position:static; width:auto; margin:0 -16px 8px; padding:18px 16px; transform:none; box-shadow:none; }.section-menu__intro { align-items:flex-start; flex-direction:column; gap:9px; }.section-menu__groups { grid-template-columns:repeat(2,1fr); gap:20px 16px; }.section-menu__group a { padding:0; color:var(--ink); }.hero { min-height:430px; }.hero--compact { min-height:290px; }.hero__content { padding-block:54px; }.hero__orbit--one { width:230px; height:230px; right:-40px; bottom:-150px; }.hero__orbit--two { width:90px; height:90px; right:22%; }.section { padding-block:60px; }.section-heading--split,.split-layout,.contact-layout,.material-layout,.qr-page__layout { grid-template-columns:1fr; gap:25px; }.qr-page { min-height:calc(100svh - 58px); padding:46px 0 54px; }.qr-page__intro h1 { max-width:12ch; font-size:clamp(43px,13vw,62px); }.qr-page__code { margin-top:10px; }.qr-page__code-frame { width:min(100%,500px); box-shadow:13px 13px 0 var(--coral); }.resource-grid--featured,.resource-grid--three,.library-grid,.section-directory__grid { grid-template-columns:repeat(2,1fr); }.catalogue-list { grid-template-columns:1fr; }.useful-links { grid-template-columns:repeat(3,1fr); }.topic-grid { grid-template-columns:repeat(2,1fr); }.note-banner { grid-template-columns:1fr; gap:18px; }.lesson-panel { max-width:600px; }.archive-banner { align-items:flex-start; flex-direction:column; gap:22px; }.material-sidebar { position:static; }.footer-main__inner { grid-template-columns:1fr 1fr; }.footer-main__inner > :first-child { grid-column:1/-1; }.footer-contact { text-align:left; } }
/* Mobile is a dedicated, touch-first layout. Desktop rules remain above unchanged. */
@media (max-width: 800px) {
  [id] { scroll-margin-top:172px; }
  .container { width:min(100% - 32px, 680px); }
  .utility-bar { position:sticky; top:0; z-index:50; background:rgba(17,18,20,.96); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); }
  .utility-bar__inner { min-height:54px; gap:14px; }
  .brand { min-height:44px; font-size:12px; }
  .brand__dot { width:8px; height:8px; }
  .mobile-header-action { display:inline-flex; align-items:center; gap:7px; min-height:44px; margin-left:auto; color:var(--white); font:700 11px/1 var(--font-display); letter-spacing:.08em; text-transform:uppercase; }
  .mobile-header-action > span:first-child { font-size:22px; line-height:1; }
  .menu-toggle,.site-search,.official-site { display:none; }
  .main-nav { position:sticky; top:54px; z-index:49; display:block; overflow:hidden; background:rgba(202,71,67,.98); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); }
  .main-nav__inner { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; min-height:96px; margin-inline:0; align-items:stretch; gap:0 8px; padding:0 16px; }
  .main-nav a { display:flex; min-width:0; align-items:center; justify-content:center; min-height:48px; padding:6px 1px; color:var(--white); font-size:12px; letter-spacing:.01em; line-height:1.15; text-align:center; text-wrap:balance; white-space:normal; border-bottom:2px solid transparent; }
  .main-nav a:hover,.main-nav a:focus-visible,.main-nav a[aria-current="page"] { color:var(--white); border-bottom-color:var(--white); }
  .main-nav__contact { margin-left:0; }
  .main-nav__search { display:none; }
  .hero { min-height:calc(100svh - 102px); }
  .hero--compact { min-height:360px; }
  .hero__content { padding-block:72px 64px; }
  .material-finder { grid-template-columns:1fr; gap:23px; margin:40px 0 0; padding-top:34px; }
  .material-finder__intro h2 { font-size:31px; }
  .material-finder .materials-search { width:100%; }
  .materials-search input { min-height:54px; padding-inline:16px; }
  .materials-search button { min-width:98px; }
  .hero__content h1 { max-width:9ch; font-size:clamp(52px,16vw,76px); line-height:.94; }
  .hero__lead { max-width:31ch; font-size:18px; }
  .hero__actions { display:grid; grid-template-columns:1fr; gap:10px; max-width:360px; }
  .hero__actions .button { width:100%; min-height:52px; justify-content:space-between; }
  .section { padding-block:54px; }
  .teacher-intro { padding-block:42px 48px; }
  .teacher-intro__grid { grid-template-columns:minmax(0,1fr) 116px; gap:22px; align-items:start; }
  .teacher-intro__copy h1 { max-width:8ch; margin-bottom:14px; font-size:clamp(35px,10vw,48px); line-height:.96; }
  .teacher-intro__copy p:not(.eyebrow) { margin-bottom:20px; font-size:16px; line-height:1.45; }
  .teacher-intro__actions { display:grid; gap:15px; align-items:start; }
  .teacher-intro__actions .button { width:100%; justify-content:space-between; }
  .teacher-intro__portrait { margin-top:4px; box-shadow:7px 7px 0 var(--coral); }
  .section-heading { margin-bottom:26px; }
  .section-heading--split { gap:16px; }
  .page-intro { padding:56px 0 52px; }
  .page-intro h1 { font-size:clamp(44px,14vw,62px); }
  .library-search { width:100%; min-height:58px; margin-top:26px; padding:0 17px; }
  .library-search input { min-height:56px; font-size:16px; }
  .catalogue-controls { gap:10px; }
  .catalogue-select { width:100%; }
  .archive-banner { margin-bottom:44px; padding:25px 22px; }
  .resource-card { min-height:0; padding:25px 22px; }
  .resource-card h3 { font-size:25px; }
  .topic-card { min-height:170px; padding:22px; }
  .teaching-locations,.individual-tuition { grid-template-columns:1fr; gap:18px; }
  .location-card { min-height:0; padding:25px 22px; }
  .location-card .eyebrow { margin-bottom:24px; }
  .individual-tuition { align-items:start; padding:29px 22px; }
  .individual-tuition .button { width:100%; justify-content:space-between; }
  .footer-main { padding-top:46px; }
  .footer-main__inner { gap:28px; padding-bottom:40px; }
  .footer-contact { display:inline-flex; align-items:center; min-height:44px; }
  .footer-legal { gap:9px; padding:17px 0 28px; }
}
@media (max-width: 620px) {
  .resource-grid--featured,.resource-grid--three,.resource-grid--two,.library-grid,.section-directory__grid,.topic-grid { grid-template-columns:1fr; }
}
@media (max-width: 420px) {
  .main-nav__inner { gap:0 4px; }
  .hero__content h1 { font-size:clamp(50px,16vw,67px); }
  .resource-card h3 { font-size:23px; }
}
@media (max-width: 700px) { .course-table-wrap { overflow-x:visible; }.course-table { min-width:0; table-layout:fixed; }.course-table th { padding:12px 8px; font-size:12px; letter-spacing:.015em; }.course-table td { padding:14px 8px; font-size:12px; line-height:1.38; }.course-table td strong { margin-bottom:4px; font-size:14px; }.course-table td > span { font-size:11px; }.course-table__group th { padding:15px 10px; font-size:15px; }.course-table__group th > span { margin-top:4px; font-size:13px; line-height:1.4; }.course-table .text-link { font-size:12px; letter-spacing:.01em; line-height:1.25; } }
@media (max-width: 520px) { .resource-grid--featured,.resource-grid--three,.resource-grid--two,.library-grid,.topic-grid,.form-row,.section-directory__grid,.useful-links,.local-file-list,.section-pager,.material-pager,.section-menu__groups { grid-template-columns:1fr; }.catalogue-controls { align-items:stretch; }.catalogue-select { width:100%; }.resource-card { min-height:212px; }.topic-card { min-height:205px; }.contact-aside { padding:30px; }.contact-actions { display:grid; gap:18px; }.material-preview { min-height:380px; }.material-preview__frame { min-height:500px; height:66vh; }.section-pager__link--next,.material-pager__next { text-align:left; }.footer-main__inner { grid-template-columns:1fr; }.footer-main__inner > :first-child { grid-column:auto; }.footer-legal { flex-direction:column; }.footer-band__inner { min-height:66px; }.hero__lead { font-size:18px; } }

/* Accessible controls, learning details and compact-screen refinements. */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid #111214; outline-offset:3px; box-shadow:0 0 0 6px #fff; }
[hidden] { display:none !important; }
button:disabled { cursor:default; opacity:.6; }
.search-feedback { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; margin-top:18px; }
.search-feedback p { flex-basis:100%; margin:0; max-width:60ch; color:var(--white); font-size:16px; }
.search-feedback a { display:inline-flex; align-items:center; min-height:44px; }
.filter-help { max-width:27ch; color:var(--muted); font:400 12px/1.4 var(--font-body); letter-spacing:0; text-transform:none; }
.filter-button { min-height:44px; }
.catalogue-item__details,.learning-details { color:var(--muted); font-size:14px; line-height:1.5; }
.section--dark .eyebrow--coral,.page-intro .eyebrow--coral,.hero .eyebrow--coral,.local-materials--dark .eyebrow--coral { color:#ff8e86; }
.contact-aside .eyebrow,.copy-status,.local-materials__toggle:hover span,.local-materials--dark .local-materials__toggle:hover span { color:var(--white); }
.local-file:hover .local-file__type { color:var(--white); }
.contact-form-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.contact-form-actions .button { margin-top:0; }
.contact-help { margin:0; color:var(--muted); font-size:15px; }
.contact-form [data-enquiry-text] { width:100%; padding:14px; border:1px solid var(--ink); background:var(--white); font-size:16px; }
.schedule-updated { max-width:70ch; margin:14px 0 0; color:var(--muted); font-size:15px; line-height:1.5; }
.course-table td .course-badge { display:inline-block; margin:3px 0 8px; padding:4px 8px; color:var(--ink); background:#e5e5e5; font:600 12px/1.4 var(--font-body); }
.course-table td .course-badge--current { color:#14512f; background:#e1f0e5; }
.material-preview { grid-column:1; grid-row:1; min-width:0; }
.material-sidebar { grid-column:2; grid-row:1; min-width:0; }
.material-actions { margin-bottom:24px; }
.fallback-materials { margin-top:28px; padding:22px; border:1px solid var(--line); background:var(--white); }
.fallback-materials summary { min-height:44px; padding:10px 0; cursor:pointer; font-weight:700; }
.fallback-materials ul { padding-left:22px; }
.fallback-materials li { padding:6px 0; }
.fallback-materials a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.fallback-materials p { color:var(--muted); }
.material-fallback { padding-block:35px; }
.course-table td,.course-table th,.contact-email a,.material-intro h1,.local-file__title { overflow-wrap:anywhere; }
@media (max-width:800px) {
  .material-sidebar { grid-column:auto; grid-row:auto; }
  .material-preview { grid-column:auto; grid-row:auto; }
  .material-sidebar dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; margin:18px 0; }
  .material-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
  .course-table__course { width:48%; }
  .course-table__when { width:27%; }
  .course-table__listing { width:25%; }
}
@media (max-width:520px) {
  .teacher-intro__grid { grid-template-columns:1fr; gap:26px; }
  .teacher-intro__copy h1 { max-width:13ch; font-size:clamp(36px,10vw,48px); }
  .teacher-intro__portrait { width:116px; }
  .teacher-intro__actions { max-width:340px; }
  .course-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .course-table { min-width:560px; table-layout:auto; }
  .course-table td { font-size:14px; }
  .course-table td > span { font-size:13px; }
  .material-sidebar dl { grid-template-columns:1fr; }
  .contact-form-actions { align-items:stretch; flex-direction:column; }
  .contact-form-actions > * { width:100%; }
}

[data-site-header] { position:sticky; top:0; z-index:60; }
.utility-bar,.main-nav { position:static; }
[id] { scroll-margin-top:120px; }
.table-scroll-hint { display:none; }
@media (max-width:800px) { [id] { scroll-margin-top:172px; } }
@media (max-width:520px) { .table-scroll-hint { display:block; margin:0 0 14px; color:var(--muted); font-size:14px; } }

.eyebrow--coral { color:var(--coral-dark); }
.section--dark .eyebrow--coral,.page-intro .eyebrow--coral,.hero .eyebrow--coral,.local-materials--dark .eyebrow--coral { color:#ff8e86; }
.contact-aside .eyebrow { color:var(--white); }
.qr-page__link:hover,.qr-page__link:focus-visible { color:#ff8e86; }
.topic-card:hover > span { color:var(--white); }

/* Learning notes remain readable alongside the download controls. */
.material-notes, .material-related { margin:20px 0; padding:16px; background:#f3f0e8; color:var(--ink); overflow-wrap:anywhere; }
.material-notes h2, .material-related h2 { font:700 16px/1.4 var(--font-body); margin:0 0 8px; }
.material-notes p, .material-related li { font:400 14px/1.6 var(--font-body); }
.material-related ul { margin:0; padding-left:18px; }
.material-notes a, .material-related a { color:#92332e; text-decoration:underline; }
.resource-card .resource-access-note { font-size:13px; line-height:1.5; }
.resource-card .resource-alternative { display:block; margin-top:12px; font-size:13px; }
