.academy-page .desktop-nav a[aria-current=page] { color:var(--accent); }
.academy-page .desktop-nav { gap:25px; }
.academy-page .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.academy-page .eyebrow { font-size:10px; line-height:1.7; }
.academy-hero { position:relative; isolation:isolate; display:grid; grid-template-columns:1.05fr .95fr; gap:7%; padding:70px 7% 58px; overflow:clip; background:radial-gradient(ellipse at 10% 85%,#a95b7225,transparent 60%),var(--hero-bg); }
.academy-hero:before { content:''; position:absolute; z-index:-1; width:560px; height:560px; left:-200px; bottom:-280px; border:1px solid var(--line); border-radius:50%; }
.academy-hero-copy { align-self:center; padding-bottom:20px; }
.academy-hero h1 { font-size:clamp(68px,7vw,108px); line-height:1.07; letter-spacing:-.065em; margin:27px 0 28px; }
.academy-hero h1 em { white-space:nowrap; }
.academy-lead { font-family:var(--serif); font-size:29px; line-height:1.4; letter-spacing:-.6px; }
.academy-description { max-width:390px; margin-top:19px; color:var(--muted); font-size:14px; line-height:1.95; }
.academy-hero-actions { display:flex; gap:23px; align-items:center; flex-wrap:wrap; margin-top:31px; }
.academy-hero-actions .button { font-size:12px; gap:24px; min-height:54px; }
.academy-hero-actions .text-link { min-height:44px; font-size:11px; gap:12px; }
.academy-hero-facts { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:10px; color:var(--gold); margin-top:35px; letter-spacing:.5px; }
.academy-hero-facts i { font-style:normal; font-size:13px; margin:0 3px; }
.academy-studio-return { display:inline-flex; gap:15px; align-items:center; min-height:44px; font-size:10px; color:var(--muted); margin-top:13px; }
.academy-hero-media { position:relative; min-width:0; margin:0; padding:0 4px 0 0; align-self:center; }
.academy-photo-wrap { position:relative; height:610px; overflow:hidden; transform:rotate(1.2deg); background:var(--surface); box-shadow:0 20px 55px var(--shadow); }
.academy-photo-wrap:after { content:''; position:absolute; inset:15px; border:1px solid #fff5; pointer-events:none; }
.academy-photo-wrap>img { width:100%; height:100%; object-fit:cover; object-position:53% 38%; transition:transform 1.4s ease; }
.academy-photo-caption { position:absolute; left:34px; right:25px; bottom:32px; color:#fff2e7; text-shadow:0 2px 20px #270c22; }
.academy-photo-caption>span { font-size:8px; letter-spacing:1.4px; }
.academy-photo-caption>p { font-family:var(--serif); font-size:47px; line-height:1.12; letter-spacing:-1.8px; margin-top:13px; }
.academy-photo-caption em { color:#ffe2d3; }
.academy-photo-corner { position:absolute; writing-mode:vertical-rl; top:32px; right:26px; color:#fff1e6; font-size:8px; letter-spacing:1.8px; }
.academy-hero-media figcaption { color:var(--muted); font-size:9px; padding:19px 0 0; }
.academy-floating-brush { position:absolute; width:265px; left:-90px; bottom:185px; z-index:3; pointer-events:none; filter:drop-shadow(0 8px 15px #16071135); animation:academyBrushFloat 8s ease-in-out infinite; }
@keyframes academyBrushFloat { 0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-15px) rotate(-2deg)} }
.academy-ribbon { overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:20px 0; background:var(--surface); }
.academy-ribbon>div { display:flex; width:max-content; animation:academyRibbon 45s linear infinite; }
.academy-ribbon span { font-family:var(--serif); font-size:27px; letter-spacing:-.5px; white-space:nowrap; color:var(--muted); padding-right:30px; }
.academy-ribbon i { font-style:normal; font-size:21px; color:var(--gold); margin:0 30px; }
@keyframes academyRibbon { to{transform:translateX(-50%)} }
.academy-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:35px; }
.academy-section-heading h2 { margin-top:22px; }
.academy-section-heading>p { max-width:300px; color:var(--muted); font-size:13px; line-height:1.9; padding-bottom:7px; }
.path-filter-row { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; margin:42px 0 28px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.path-filters { display:flex; flex-wrap:wrap; gap:8px; }
.path-filters button { min-height:44px; border:1px solid var(--line); border-radius:30px; background:transparent; color:var(--muted); padding:10px 18px; font-size:11px; }
.path-filters button[aria-pressed=true] { background:var(--button); color:var(--button-ink); border-color:var(--button); }
#path-count { color:var(--muted); font-size:11px; }
.course-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.course-card { position:relative; display:flex; flex-direction:column; padding:0; overflow:hidden; border:1px solid var(--line); background:var(--surface); min-width:0; transition:border-color .3s,background .3s; }
.course-card:nth-child(2),.course-card:nth-child(3) { background:linear-gradient(140deg,var(--surface),var(--bg)); }
.course-card.is-selected { border-color:var(--accent); }
.course-content { display:flex; flex-direction:column; flex:1; min-width:0; padding:33px; }
.course-image { position:relative; margin:0; width:100%; aspect-ratio:16/10; overflow:hidden; background:var(--surface-2); }
.course-image>img { width:100%; height:100%; object-fit:cover; object-position:50% 45%; transition:transform .8s ease; }
.course-image:after { content:''; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,#230b1b8f); pointer-events:none; }
.course-image figcaption { position:absolute; z-index:1; left:22px; right:22px; bottom:18px; display:flex; justify-content:space-between; align-items:center; gap:12px; color:#fff2e6; font-size:9px; letter-spacing:1px; }
.course-image figcaption>i { font-style:normal; font-size:7px; letter-spacing:.7px; opacity:.8; text-align:right; }
.academy-course-dialog>img { width:100%; aspect-ratio:16/9; object-fit:cover; object-position:50% 42%; margin:0 0 25px; max-height:280px; }
.course-card-top { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; min-height:56px; }
.course-card-top .eyebrow { color:var(--gold); font-size:9px; max-width:220px; letter-spacing:1px; }
.course-number { font-family:var(--serif); font-size:68px; font-style:italic; color:var(--accent); opacity:.28; line-height:.8; letter-spacing:-4px; }
.course-format { font-size:9px; letter-spacing:1.2px; color:var(--muted); }
.course-card h3 { font-size:42px; letter-spacing:-1.6px; margin:19px 0 22px; max-width:370px; }
.course-content>p { font-size:13px; color:var(--muted); line-height:1.95; }
.course-highlights { list-style:none; padding:0; margin:25px 0 29px; }
.course-highlights li { position:relative; padding-left:18px; font-size:12px; line-height:1.8; color:var(--muted); margin:8px 0; }
.course-highlights li:before { content:'✦'; position:absolute; left:0; top:1px; color:var(--gold); font-size:9px; }
.course-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:13px; margin-top:auto; padding-top:5px; }
.course-actions .button { font-size:11px; min-height:49px; padding:13px 18px; gap:25px; }
.course-actions .text-link { min-height:44px; font-size:11px; background:none; border:0; padding:0; gap:12px; }
.academy-pack-note { color:var(--muted); margin:24px 0 0; font-size:11px; text-align:center; }
.academy-atelier { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:8%; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--surface); }
.academy-atelier-copy h2 { margin:23px 0 28px; font-size:clamp(43px,4.4vw,64px); }
.academy-atelier-copy>p:not(.eyebrow) { color:var(--muted); font-size:13px; line-height:1.95; }
.academy-atelier-copy>p+p { margin-top:18px; }
.mentor-signoff { display:flex; align-items:center; gap:16px; margin-top:32px; }
.mentor-signoff>img { width:48px; height:48px; object-fit:contain; filter:brightness(0) invert(.85); }
html[data-theme=light] .mentor-signoff>img { filter:none; }
.mentor-signoff>span { font-size:11px; line-height:1.8; color:var(--muted); }
.mentor-signoff strong { font-weight:400; color:var(--accent); }
.lesson-card { min-width:0; border:1px solid var(--line); background:var(--bg); padding:22px; box-shadow:0 16px 50px var(--shadow); }
.lesson-top { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:18px; font-size:8px; letter-spacing:1.3px; color:var(--gold); }
.lesson-stage { position:relative; overflow:hidden; width:100%; aspect-ratio:7/4; background:radial-gradient(ellipse at 70% 10%,#fffbf6,#eee0d3); border:1px solid #d2b7a77a; }
.pigment-study { width:100%; height:100%; }
.study-layer { opacity:0; transition:opacity .5s ease; }
.lesson-stage[data-step=place] .study-place,.lesson-stage[data-step=blend] .study-blend,.lesson-stage[data-step=refine] .study-refine { opacity:1; }
.lesson-brush { position:absolute; width:42%; left:20%; top:48%; transform:translate(-85%,20%) rotate(-26deg); transform-origin:83% 50%; pointer-events:none; filter:drop-shadow(0 6px 6px #6b383026); }
.lesson-paper-note { position:absolute; top:24px; right:23px; text-align:right; font-family:var(--serif); font-size:20px; line-height:1.25; color:#8e5966; font-style:italic; transform:rotate(-5deg); }
.lesson-stage.is-playing .lesson-brush { animation:studyBrush 2.4s ease-in-out infinite; }
.lesson-stage.is-playing .pigment-line { stroke-dasharray:1; animation:studyPaint 2.4s ease-out infinite; }
@keyframes studyPaint { 0%{stroke-dashoffset:1;opacity:.25}75%,100%{stroke-dashoffset:0;opacity:1} }
@keyframes studyBrush { 0%,8%{transform:translate(-85%,20%) rotate(-26deg)}55%{transform:translate(-20%,12%) rotate(-17deg)}90%,100%{transform:translate(45%,-80%) rotate(-35deg)} }
.lesson-control-row { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; }
.lesson-play { display:flex; align-items:center; gap:10px; border:0; padding:6px 0; background:none; color:var(--accent); font-size:11px; min-height:44px; text-align:left; }
.play-symbol { display:grid; place-items:center; border:1px solid var(--line); width:31px; height:31px; border-radius:50%; font-size:11px; flex-shrink:0; }
.lesson-play[aria-pressed=true] .play-symbol { background:var(--button); color:var(--button-ink); }
.lesson-animation-label { font-size:7px; color:var(--muted); letter-spacing:1px; text-align:right; }
.lesson-motion-note { color:var(--muted); font-size:10px; line-height:1.8; }
.lesson-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--line); margin-top:23px; }
.lesson-step { min-height:47px; background:none; border:0; border-bottom:2px solid transparent; font-size:12px; padding:11px 8px; color:var(--muted); }
.lesson-step>span { font-size:8px; margin-right:7px; opacity:.6; }
.lesson-step[aria-pressed=true] { color:var(--accent); border-bottom-color:var(--accent); }
.lesson-text { padding:24px 0 3px; min-height:154px; }
.lesson-text h3 { font-size:30px; letter-spacing:-1px; margin-bottom:13px; }
.lesson-text p { color:var(--muted); font-size:12px; line-height:1.9; }
.academy-location-grid { display:grid; grid-template-columns:1fr 1fr; gap:9%; margin-top:45px; align-items:center; }
.academy-cities { min-width:0; }
.city-choice { width:100%; display:flex; align-items:center; gap:18px; text-align:left; border:0; border-bottom:1px solid var(--line); background:none; padding:21px 7px; font-family:var(--serif); font-size:32px; letter-spacing:-1px; color:var(--muted); min-height:72px; }
.city-choice:first-child { border-top:1px solid var(--line); }
.city-choice>span { font-family:var(--sans); font-size:9px; letter-spacing:0; color:var(--gold); min-width:22px; }
.city-choice>i { margin-left:auto; font-family:var(--sans); font-size:21px; font-style:normal; color:var(--gold); }
.city-choice.active { color:var(--accent); background:var(--surface); padding-left:16px; }
.city-note { position:relative; padding:44px 35px 31px; min-width:0; background:#ead7c9; color:#502539; box-shadow:0 15px 40px var(--shadow); transform:rotate(-.8deg); }
.city-note>img { width:58px; height:58px; object-fit:contain; margin-bottom:25px; }
.city-note .eyebrow { font-size:9px; letter-spacing:1px; color:#885b5d; }
.city-note h3 { font-size:42px; margin:21px 0 24px; letter-spacing:-1.5px; }
.city-note>p:not(.eyebrow) { font-size:12px; line-height:1.95; color:#76525b; }
.city-note .text-link { display:flex; width:max-content; max-width:100%; min-height:44px; font-size:11px; margin:20px 0 15px; gap:15px; color:#652c43; }
.city-note>.fine-print { font-size:10px!important; border-top:1px solid #6d233f26; padding-top:18px; }
.academy-enquire { display:grid; grid-template-columns:.85fr 1.15fr; gap:8%; align-items:center; background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.academy-enquire-copy h2 { margin:24px 0 28px; font-size:clamp(45px,4.7vw,68px); }
.academy-enquire-copy>p:not(.eyebrow) { color:var(--muted); font-size:13px; line-height:1.95; max-width:355px; }
.academy-direct-phone { display:flex; align-items:center; justify-content:space-between; max-width:330px; font-family:var(--serif); font-size:35px; letter-spacing:-1px; margin-top:35px; }
.academy-direct-phone>span { font-size:23px; color:var(--accent); }
.academy-direct-email { overflow-wrap:anywhere; margin-top:10px; font-size:11px!important; }
.academy-enquiry-note { display:flex; align-items:center; gap:20px; margin-top:35px; color:var(--accent); }
.academy-enquiry-note>span { font-size:44px; }
.academy-enquiry-note p { font-family:var(--serif); font-size:23px; font-style:italic; line-height:1.4; }
.academy-planner { min-width:0; padding:33px; background:var(--bg); border:1px solid var(--line); box-shadow:0 15px 45px var(--shadow); }
.academy-planner>.eyebrow { font-size:9px; letter-spacing:1.4px; }
.academy-planner h3 { font-size:36px; letter-spacing:-1.2px; margin:17px 0 29px; }
.academy-planner label { display:block; font-size:11px; color:var(--ink); margin:22px 0 4px; }
.academy-planner label>span { margin-left:7px; font-size:10px; color:var(--muted); }
.academy-planner input,.academy-planner select,.academy-planner textarea { font-size:14px; min-height:46px; max-width:100%; }
.academy-planner-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.academy-planner-row>div { min-width:0; }
.planner-format-note { color:var(--gold); font-size:10px; line-height:1.8; margin-top:11px; }
.academy-contact-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:25px; }
.academy-contact-links .button { flex:1 1 185px; justify-content:center; gap:10px; padding:13px 17px; min-height:51px; font-size:11px; white-space:nowrap; }
.academy-contact-links svg { width:19px; height:19px; flex-shrink:0; }
.academy-whatsapp { border:1px solid #558b6a; background:#246443; color:#fff5e9; }
.academy-whatsapp:hover { background:#2b7950; border-color:#6fac86; }
.planner-status { font-size:11px; color:var(--accent); line-height:1.8; margin-top:12px; }
.planner-status:empty { margin:0; }
.academy-message-preview { margin-top:19px; border-top:1px solid var(--line); }
.academy-message-preview summary { display:flex; justify-content:space-between; gap:20px; align-items:center; list-style:none; min-height:48px; font-size:11px; cursor:pointer; color:var(--muted); }
.academy-message-preview summary::-webkit-details-marker { display:none; }
.academy-message-preview summary>span { color:var(--accent); font-size:20px; }
.academy-message-preview[open] summary>span { transform:rotate(45deg); }
#academy-message { max-height:280px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; padding:18px; background:var(--surface); color:var(--muted); font-family:var(--sans); font-size:11px; line-height:1.9; border:1px solid var(--line); }
#copy-academy-message { border:0; background:none; padding:4px 0; min-height:44px; font-size:11px; gap:12px; color:var(--accent); }
#copy-academy-status { font-size:11px; color:var(--muted); }
.academy-privacy-note { font-size:10px; color:var(--muted); margin-top:12px; line-height:1.9; }
.academy-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:10%; }
.academy-faq h2 { margin-top:20px; font-size:clamp(43px,4.5vw,64px); }
.academy-image-note { text-align:center; font-size:10px; line-height:1.9; color:var(--muted); padding:0 8% 38px; }
.academy-course-dialog { max-width:720px; }
.academy-course-dialog h2 { font-size:48px; margin-bottom:23px; }
.academy-course-dialog h3 { font-size:25px; margin:29px 0 18px; letter-spacing:-.7px; }
.academy-course-dialog ul { list-style:none; padding:0; margin:0 0 23px; }
.academy-course-dialog li { padding:10px 0 10px 19px; border-bottom:1px solid var(--line); position:relative; color:var(--muted); font-size:12px; }
.academy-course-dialog li:before { content:'✦'; position:absolute; left:0; color:var(--gold); font-size:10px; }
.academy-course-dialog .course-dialog-formats { color:var(--gold); font-size:11px; margin-top:18px; }
.academy-course-dialog .academy-contact-links { margin:26px 0 16px; }
#dialog-personalise { background:none; border:0; padding:5px 0; min-height:44px; font-size:12px; gap:12px; color:var(--accent); }
.academy-course-dialog .fine-print { margin-top:13px; }
.academy-footer-link { display:inline-flex; align-items:center; min-height:44px; color:var(--accent); font-size:11px; }
.academy-noscript { padding:20px; text-align:center; background:var(--surface); }
.academy-noscript a { text-decoration:underline; }
@media (hover:hover) and (pointer:fine) {
  .course-card:hover .course-image>img { transform:scale(1.035); }
  .academy-photo-wrap:hover>img { transform:scale(1.035); }
  .course-card:hover { border-color:var(--accent); }
}
@media (min-width:1600px) {
  .academy-hero { padding-left:max(7%,calc((100% - 1460px)/2)); padding-right:max(7%,calc((100% - 1460px)/2)); }
}
@media (max-width:1100px) {
  .academy-hero { gap:5%; padding-left:6%; padding-right:6%; }
  .academy-photo-wrap { height:560px; }
  .academy-hero h1 { font-size:clamp(60px,7.2vw,83px); }
  .academy-hero-actions { gap:15px; }
  .academy-floating-brush { width:220px; left:-70px; }
  .course-content { padding:27px; }
  .course-card h3 { font-size:37px; }
  .academy-atelier { gap:6%; }
  .academy-location-grid { gap:6%; }
  .city-note { padding:34px 27px 27px; }
  .academy-enquire { gap:6%; }
  .academy-planner { padding:26px; }
  .academy-planner-row { gap:16px; }
}
@media (max-width:900px) {
  .academy-hero { grid-template-columns:1fr 1fr; gap:4%; padding-top:53px; }
  .academy-hero h1 { font-size:59px; }
  .academy-lead { font-size:25px; }
  .academy-description { font-size:12px; }
  .academy-photo-wrap { height:540px; }
  .academy-hero-actions .button { font-size:11px; padding:13px 16px; gap:16px; }
  .academy-photo-caption { left:25px; bottom:27px; }
  .academy-photo-caption>p { font-size:36px; }
  .academy-floating-brush { width:190px; left:-45px; }
  .academy-hero-facts { gap:7px; font-size:9px; }
  .academy-section-heading>p { max-width:240px; font-size:12px; }
  .course-content { padding:24px; }
  .course-card h3 { font-size:33px; }
  .course-content>p { font-size:12px; }
  .course-highlights li { font-size:11px; }
  .course-actions { gap:6px; }
  .course-actions .button { width:100%; justify-content:space-between; }
  .academy-atelier { grid-template-columns:1fr; gap:36px; }
  .academy-atelier-copy { max-width:560px; }
  .lesson-card { max-width:650px; width:100%; margin:auto; }
  .city-choice { font-size:28px; padding:20px 6px; }
  .city-note h3 { font-size:33px; }
  .city-note { padding:30px 25px; }
  .academy-enquire { grid-template-columns:1fr; gap:35px; }
  .academy-enquire-copy { max-width:550px; }
  .academy-enquire-copy>p:not(.eyebrow) { max-width:100%; }
  .academy-enquiry-note { display:none; }
  .academy-planner { width:100%; max-width:650px; margin:auto; }
  .academy-faq { grid-template-columns:1fr; gap:32px; }
}
@media (max-width:700px) {
  .academy-page .eyebrow { font-size:9px; letter-spacing:1.1px; }
  .academy-hero { grid-template-columns:1fr; gap:27px; padding:40px 6% 32px; }
  .academy-hero-copy { padding-bottom:0; }
  .academy-hero h1 { font-size:clamp(52px,15.6vw,76px); line-height:1.06; margin:23px 0 24px; letter-spacing:-.06em; }
  .academy-lead { font-size:26px; }
  .academy-description { font-size:13px; margin-top:18px; max-width:430px; }
  .academy-hero-actions { gap:9px 20px; margin-top:23px; }
  .academy-hero-actions .button { font-size:12px; min-height:52px; padding:14px 20px; }
  .academy-hero-actions .text-link { font-size:11px; }
  .academy-hero-facts { font-size:10px; margin-top:23px; }
  .academy-studio-return { margin-top:9px; font-size:11px; }
  .academy-hero-media { max-width:510px; width:100%; margin:5px auto 0; }
  .academy-photo-wrap { height:clamp(380px,115vw,530px); transform:rotate(.8deg); }
  .academy-photo-caption { left:27px; bottom:29px; }
  .academy-photo-caption>span { font-size:8px; }
  .academy-photo-caption>p { font-size:41px; }
  .academy-floating-brush { width:210px; left:auto; right:-21px; bottom:180px; }
  .academy-hero-media figcaption { font-size:9px; line-height:1.7; padding-top:18px; }
  .academy-ribbon { padding:16px 0; }
  .academy-ribbon span { font-size:24px; }
  .academy-ribbon i { margin:0 22px; font-size:17px; }
  .academy-section-heading { flex-direction:column; align-items:flex-start; gap:21px; }
  .academy-section-heading h2 { margin-top:18px; font-size:43px; }
  .academy-section-heading>p { max-width:none; font-size:12px; padding:0; }
  .path-filter-row { margin:28px 0 22px; gap:15px; padding-bottom:18px; }
  .path-filters { display:grid; grid-template-columns:1fr 1fr; gap:8px; width:100%; }
  .path-filters button { min-height:46px; font-size:11px; padding:10px 11px; }
  #path-count { font-size:10px; }
  .course-grid { grid-template-columns:1fr; gap:18px; }
  .course-content { padding:27px 24px 23px; }
  .course-card-top { min-height:50px; }
  .course-card-top .eyebrow { max-width:190px; font-size:9px; }
  .course-number { font-size:64px; }
  .course-format { font-size:9px; }
  .course-card h3 { font-size:39px; max-width:320px; margin:20px 0; }
  .course-content>p { font-size:13px; }
  .course-highlights { margin:23px 0 25px; }
  .course-highlights li { font-size:12px; }
  .course-actions { gap:10px; }
  .course-actions .button { flex:1 1 160px; width:auto; font-size:11px; }
  .course-actions .text-link { font-size:11px; }
  .academy-pack-note { text-align:left; font-size:11px; line-height:1.9; margin-top:19px; }
  .academy-atelier { gap:30px; }
  .academy-atelier-copy h2 { font-size:43px; margin-top:19px; }
  .academy-atelier-copy>p:not(.eyebrow) { font-size:13px; }
  .mentor-signoff { margin-top:25px; }
  .lesson-card { padding:16px; }
  .lesson-top { font-size:7px; gap:8px; line-height:1.7; margin-bottom:14px; letter-spacing:.8px; }
  .lesson-paper-note { font-size:15px; right:13px; top:14px; }
  .lesson-animation-label { font-size:6px; max-width:70px; line-height:1.8; }
  .lesson-play { font-size:10px; gap:8px; }
  .play-symbol { width:29px; height:29px; }
  .lesson-motion-note { font-size:10px; }
  .lesson-step { font-size:12px; padding:11px 4px; min-height:48px; }
  .lesson-step>span { margin-right:5px; font-size:8px; }
  .lesson-text { padding-top:22px; min-height:174px; }
  .lesson-text h3 { font-size:29px; }
  .lesson-text p { font-size:12px; }
  .academy-location-grid { grid-template-columns:1fr; gap:29px; margin-top:27px; }
  .city-choice { font-size:30px; min-height:68px; padding:17px 5px; }
  .city-note { padding:31px 27px 26px; transform:rotate(-.5deg); }
  .city-note h3 { font-size:39px; }
  .city-note>.eyebrow { font-size:9px; }
  .city-note>p:not(.eyebrow) { font-size:12px; }
  .academy-enquire { gap:30px; }
  .academy-enquire-copy h2 { font-size:47px; margin:20px 0 24px; }
  .academy-direct-phone { font-size:32px; margin-top:27px; max-width:290px; }
  .academy-direct-email { font-size:11px!important; }
  .academy-planner { padding:26px 22px; }
  .academy-planner h3 { font-size:35px; margin:18px 0 25px; }
  .academy-planner label { font-size:12px; margin-top:21px; }
  .academy-planner select,.academy-planner textarea { font-size:16px; min-height:49px; }
  .academy-planner-row { grid-template-columns:1fr; gap:0; }
  .planner-format-note { font-size:10px; }
  .academy-contact-links { gap:10px; }
  .academy-contact-links .button { min-height:52px; width:100%; flex:1 1 100%; font-size:12px; }
  .academy-privacy-note { font-size:10px; }
  .academy-faq h2 { font-size:43px; }
  .academy-image-note { font-size:9px; padding:0 6% 28px; }
  .academy-course-dialog { padding-left:23px; padding-right:23px; }
  .academy-course-dialog>img { aspect-ratio:3/2; margin-bottom:23px; }
  .course-image figcaption { left:20px; right:20px; bottom:16px; font-size:8px; }
  body:has(.academy-planner :is(select,textarea):focus) .mobile-book,
  body:has(.academy-planner :is(select,textarea):focus) .whatsapp-float { visibility:hidden; pointer-events:none; }
  .academy-course-dialog h2 { font-size:37px; }
  .academy-course-dialog h3 { font-size:25px; }
  .academy-course-dialog li { font-size:12px; line-height:1.8; }
  .academy-course-dialog .academy-contact-links .button { font-size:11px; }
  #dialog-personalise { font-size:11px; }
}
@media (max-width:370px) {
  .academy-hero h1 { font-size:52px; }
  .academy-hero-actions .button { width:100%; justify-content:space-between; }
  .academy-photo-caption>p { font-size:37px; }
  .course-content { padding:26px 21px 22px; }
  .course-card h3 { font-size:36px; }
  .course-actions .button { width:100%; flex-basis:100%; }
  .lesson-card { padding:14px; }
  .lesson-animation-label { display:none; }
  .lesson-text { min-height:185px; }
  .academy-planner { padding:25px 19px; }
  .academy-planner h3 { font-size:32px; }
  .academy-contact-links .button { font-size:11px; padding:13px; }
  .academy-enquire-copy h2 { font-size:44px; }
  .city-note { padding:29px 22px; }
  .city-note h3 { font-size:35px; }
}
@media (any-pointer:coarse) {
  .academy-planner select,.academy-planner textarea { font-size:16px; min-height:48px; }
}
html[data-motion=off] .academy-floating-brush,html[data-motion=off] .academy-ribbon>div,html[data-motion=off] .lesson-stage * { animation:none!important; }
html[data-motion=off] .academy-photo-wrap>img { transform:none!important; }
@media (prefers-reduced-motion:reduce) {
  .academy-floating-brush,.academy-ribbon>div,.lesson-stage * { animation:none!important; }
  .academy-page .reveal { opacity:1; transform:none; transition:none; }
  .academy-photo-wrap>img { transform:none!important; }
}
