@font-face { font-family: "Anton"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/anton-latin.woff") format("woff"); }
:root { --espresso:#2a2019; --deep:#211912; --cream:#ecdeca; --milk:#f4e8d7; --taupe:#d7b98f; --latte:#b59b79; --ink:#2b211a; --muted:#66543f; --line:#c2ac90; --display:"Anton","Arial Narrow",var(--sans); }
html { scroll-padding-top:92px; }
body { background:var(--cream); }
::selection { background:#d4ad76; color:#241c16; }
.btn { border-radius:5px; min-height:48px; font-size:14px; font-weight:700; letter-spacing:0; }
.btn .arrow { display:none; }
.btn.cream { background:#ead3af; color:#281e16; }
.btn.dark { background:#2b2119; color:#fff0dc; }
.text-link { font-size:14px; padding-block:11px; line-height:1.35; }
.text-link .arrow { width:17px; height:17px; }
.title em, h1 em, h2 em, h3 em { font:inherit; letter-spacing:inherit; }
.notice { background:#38291f; color:#e8d1ad; height:25px; font-size:8px; }
.header { width:100%; height:82px; top:0; margin:0; border:0; border-bottom:1px solid #ecd2ae33; border-radius:0; background:#2a2019; color:#f3e1c8; box-shadow:none; backdrop-filter:none; }
.header-inner { width:calc(100% - 72px); max-width:1540px; }
.header .brand img { background:#f4e3ca; border-radius:50%; width:46px; height:46px; object-fit:contain; }
.header .brand-type { color:#f3e1c8; font-size:10px; }
.header .nav-main-link, .header .nav-group > summary { color:#f0ddc0; font-weight:500; }
.header .nav-main-link:hover, .header .nav-group > summary:hover, .header .nav-group[open] > summary, .header .nav-group.active > summary { color:white; }
.header .nav-group.active > summary { box-shadow:inset 0 -1px #e5c69d; }
.header .nav a.active::after { background:#d7b98f; }
.header .nav-submenu { background:#f2e4cf; border-color:#cdb598; border-radius:4px; }
.header .nav-submenu a { color:#2c221a; }
.header .book { border:1px solid #e4c399; background:#dfbe8d; color:#251c14; border-radius:4px; font-weight:700; }
.header .book:hover { background:#f2d4a8; }
.header .menu-button i { background:#ead7ba; }
.header .languages button { color:#f3dfc0; }
.nav .nav-submenu a:hover, .nav .nav-submenu a:focus-visible { background:#e3ceb0; }
.mobile-menu { border-radius:0; background:#2a2019; }
.muc-wrap { width:min(1390px,calc(100% - 112px)); margin-inline:auto; }
.muc-section { padding-block:clamp(54px,7.4vw,116px); }
.muc-kicker { margin:0; font-size:10px; line-height:1.5; letter-spacing:.17em; font-weight:700; }
.muc-home h2 { font-family:var(--sans); font-weight:600; font-size:clamp(46px,5.2vw,78px); line-height:1.08; text-transform:none; letter-spacing:-.055em; text-wrap:balance; }
.muc-section-head { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:36px; }
.muc-section-head h2 { margin-top:16px; }
.muc-section-head > p { max-width:29ch; font-size:17px; line-height:1.65; }
.muc-actions { display:flex; gap:12px 25px; flex-wrap:wrap; align-items:center; }
.muc-hero { position:relative; isolation:isolate; background:#2a2019; color:#f7e9d2; min-height:max(660px,calc(100svh - 107px)); padding:95px 5.5% 106px; display:flex; align-items:center; overflow:hidden; }
.muc-hero-art, .muc-hero-art img, .muc-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.muc-hero-art img { object-fit:cover; object-position:center 48%; }
.muc-hero-shade { background:linear-gradient(90deg,#281d16b8 0%,#281d165c 33%,#281d1600 65%),linear-gradient(0deg,#291d16b3,transparent 25%); }
.muc-hero-top { position:absolute; inset:26px 5.5% auto; display:flex; gap:16px; justify-content:space-between; font-size:9px; letter-spacing:.17em; padding-bottom:14px; }
.muc-hero-copy { position:relative; width:51%; max-width:740px; }
.muc-hero h1 { margin:34px 0 26px; font:400 clamp(88px,10.5vw,168px)/1.08 var(--display); letter-spacing:-.015em; text-transform:uppercase; }
.muc-hero h1 > * { display:block; font-weight:400; }
.muc-hero h1 strong { color:#ecd1a5; font-size:1.28em; line-height:1.02; }
.muc-hero-intro { font-size:clamp(14px,1.2vw,18px); line-height:1.6; max-width:37ch; margin-bottom:24px; color:#f0dfc8; }
.muc-hero .text-link { color:#f6e7d1; }
.muc-hero .btn { padding:15px 23px; }
.muc-hero-foot { position:absolute; inset:auto 5.5% 23px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:16px; border-top:1px solid #e3c9a449; font-size:10px; letter-spacing:.03em; color:#efdab9; }
.muc-hero-foot a { display:flex; gap:21px; align-items:center; }
.muc-hero-foot a span { font-size:21px; line-height:1; }
.muc-hero-foot button { min-height:35px; padding:4px 7px; border:1px solid #e3c9a449; border-radius:3px; font-size:10px; }
.muc-hero-foot button:hover { background:#eccea020; }
.muc-classes { background:#2a2019; color:#f0e0c8; }
.muc-classes .muc-kicker, .muc-events .muc-kicker { color:#d5b38a; }
.muc-disciplines { border-top:1px solid #e0c29e55; }
.muc-discipline { border-bottom:1px solid #e0c29e55; }
.muc-discipline > summary { display:grid; grid-template-columns:39px auto minmax(0,1fr) 30px; gap:20px; align-items:center; list-style:none; cursor:pointer; padding:22px 0; }
.muc-discipline > summary::-webkit-details-marker { display:none; }
.muc-discipline-number { align-self:start; padding-top:10px; font-size:10px; color:#d5b38a; }
.muc-discipline summary strong { font:400 clamp(41px,5.3vw,79px)/1.1 var(--display); text-transform:uppercase; letter-spacing:0; }
.muc-discipline-styles { text-align:right; font-size:12px; line-height:1.6; color:#dfccb2; }
.muc-plus { width:25px; height:25px; position:relative; }
.muc-plus::before, .muc-plus::after { content:""; position:absolute; width:21px; height:1px; background:#e9c99b; top:12px; left:2px; }
.muc-plus::after { transform:rotate(90deg); transition:transform .2s; }
.muc-discipline[open] .muc-plus::after { transform:rotate(0deg); }
.muc-discipline-panel { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.65fr); gap:42px; padding:0 0 30px 59px; align-items:end; animation:muc-panel-in .5s both; }
.muc-discipline-panel > div { padding-bottom:13px; }
.muc-discipline-panel p { font-size:16px; line-height:1.7; color:#dcccb6; margin-bottom:21px; max-width:31ch; }
.muc-discipline-panel .text-link { color:#f6dec0; }
.muc-discipline-panel > a { display:block; height:clamp(250px,27vw,405px); overflow:hidden; }
.muc-discipline-panel img { display:block; width:100%; height:100%; object-fit:cover; }
.muc-discipline:not([open]) .muc-discipline-panel { display:none; }
.muc-class-extra { display:flex; gap:16px 36px; flex-wrap:wrap; margin-top:24px; }
.muc-class-extra a { color:#e8cfae; }
@keyframes muc-panel-in { from { opacity:.35; clip-path:inset(0 0 9%); } to { opacity:1; clip-path:inset(0); } }
.muc-westend { overflow:hidden; background:#e5d2b5; color:#2e2219; }
.muc-district-word { font:400 clamp(88px,16vw,246px)/.94 var(--display); letter-spacing:-.025em; color:#a78a68; margin-bottom:-.17em; transform:translateX(-.02em); }
.muc-westend-grid { position:relative; display:grid; grid-template-columns:minmax(0,1.22fr) minmax(0,.88fr); gap:clamp(32px,6vw,94px); align-items:center; }
.muc-westend-photo { position:relative; }
.muc-westend-photo img { display:block; width:100%; aspect-ratio:1.12; object-fit:cover; }
.muc-westend-photo > span { position:absolute; inset:auto auto 0 0; padding:12px 18px; background:#2c2119; color:#ead6b7; font-size:10px; letter-spacing:.05em; }
.muc-westend-copy h2 { margin:16px 0 25px; font-size:clamp(44px,5.1vw,76px); }
.muc-westend-copy > p:not(.muc-kicker) { font-size:17px; max-width:37ch; line-height:1.7; }
.muc-westend-copy .muc-actions { margin-top:22px; gap:0 21px; }
.muc-events { background:#37291f; color:#f0e0ca; }
.muc-events .text-link { color:#e8c79d; }
.muc-event-list { display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(25px,4vw,60px); align-items:start; }
.muc-event:nth-child(2) { margin-top:115px; }
.muc-event-image { position:relative; overflow:hidden; }
.muc-event-image img { width:100%; aspect-ratio:1.35; object-fit:cover; display:block; transition:transform .5s; }
.muc-event:hover img { transform:scale(1.025); }
.muc-event-image > span { position:absolute; top:14px; left:14px; background:#f4dfbe; color:#2b2119; padding:6px 11px; border-radius:2px; font-size:11px; font-weight:700; }
.muc-event-caption { display:flex; justify-content:space-between; gap:20px; padding-top:21px; }
.muc-event h3 { font:600 clamp(30px,3.2vw,48px)/1.13 var(--sans); letter-spacing:-.045em; margin:10px 0 10px; }
.muc-event-caption p:not(.muc-kicker) { font-size:15px; color:#d9c7ae; max-width:41ch; line-height:1.6; }
.muc-round { width:43px; height:43px; flex:none; border:1px solid #dbc09a80; display:grid; place-items:center; border-radius:50%; }
.muc-round .arrow { width:19px; height:19px; }
.muc-people { background:#efe2cd; }
.muc-people-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:clamp(35px,6vw,90px); align-items:center; }
.muc-people-copy h2 { margin:17px 0 25px; font-size:clamp(43px,4.5vw,68px); }
.muc-people-copy > p:not(.muc-kicker) { font-size:17px; max-width:42ch; line-height:1.7; }
.muc-people-copy > a { margin-top:21px; }
.muc-founders { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.muc-founders > a:nth-child(2) { padding-top:55px; }
.muc-founder-photo { background:#d2bda1; aspect-ratio:.77; overflow:hidden; display:grid; place-items:center; }
.muc-founder-photo img { width:100%; height:100%; object-fit:cover; object-position:var(--portrait-focus,50% 34%); display:block; }
.muc-founders strong { display:block; font-size:18px; line-height:1.2; margin-top:14px; }
.muc-founders small { display:block; color:#66523d; font-size:13px; line-height:1.5; margin-top:4px; }
.muc-trial { background:#d5b58a; }
.muc-trial-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); align-items:center; gap:35px; }
.muc-trial h2 { margin:17px 0 23px; font-size:clamp(43px,4.9vw,74px); }
.muc-trial-grid > div > p:not(.muc-kicker) { font-size:17px; max-width:39ch; line-height:1.65; margin-bottom:21px; }
.muc-trial-price { text-align:center; border-left:1px solid #6f4f2f66; }
.muc-trial-price > span { display:block; font-size:10px; letter-spacing:.17em; font-weight:700; }
.muc-trial-price strong { display:block; font:400 clamp(120px,16vw,240px)/1.2 var(--display); letter-spacing:-.05em; }
.muc-trial-price strong small { font-size:.4em; vertical-align:super; margin-left:8px; }
.muc-trial-price p { font-size:13px; margin:5px auto 0; }
.muc-journal { background:#2a2019; color:#efe0c9; }
.muc-journal .muc-section-head > a { font-size:12px; color:#d9b98f; max-width:30ch; overflow-wrap:anywhere; }
.muc-journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.muc-journal-grid > a > div { overflow:hidden; }
.muc-journal-grid img { display:block; width:100%; aspect-ratio:1.3; object-fit:cover; transition:transform .4s; }
.muc-journal-grid a:hover img { transform:scale(1.035); }
.muc-journal-grid .muc-kicker { margin:17px 0 7px; color:#c8a77c; }
.muc-journal-grid h3 { font:700 22px/1.25 var(--sans); letter-spacing:-.04em; }
.muc-arrival { display:none; position:fixed; inset:0; z-index:1000; place-items:center; pointer-events:none; color:#e1bd87; overflow:hidden; }
.muc-arriving .muc-arrival { display:grid; animation:muc-intro-finish 1.55s step-end both; }
.muc-arrival::before, .muc-arrival::after { content:""; position:absolute; inset:0 50% 0 0; background:#2a2019; transform-origin:left; animation:muc-intro-open 1.55s cubic-bezier(.77,0,.24,1) both; }
.muc-arrival::after { inset:0 0 0 50%; transform-origin:right; }
.muc-arrival-art { z-index:1; width:min(69vw,530px); text-align:center; animation:muc-intro-art 1.2s ease both; }
.muc-mark { width:100%; height:auto; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.muc-arrival .muc-mark path { stroke-dasharray:2100; stroke-dashoffset:2100; animation:muc-draw .9s ease-out both; }
.muc-arrival-art strong { display:block; font:400 clamp(43px,6.8vw,85px)/1.2 var(--display); letter-spacing:.03em; }
.muc-arrival-art small { display:block; font:700 9px/1.5 var(--sans); letter-spacing:.19em; margin-top:9px; }
@keyframes muc-draw { to { stroke-dashoffset:0; } }
@keyframes muc-intro-art { 0%,60% { opacity:1; } to { opacity:0; } }
@keyframes muc-intro-open { 0%,52% { transform:scaleX(1); } to { transform:scaleX(0); } }
@keyframes muc-intro-finish { to { visibility:hidden; } }
.muc-arriving .muc-hero h1 strong { animation:muc-title-enter 1.8s cubic-bezier(.2,.7,.2,1) both; }
@keyframes muc-title-enter { 0%,49% { clip-path:inset(0 0 100%); } to { clip-path:inset(0); } }
@supports (animation-timeline:view()) {
  .muc-district-word {
    animation:muc-district-drift linear both;
    animation-timeline:view();
    animation-range:entry 0% exit 100%;
  }
  .muc-westend-photo {
    animation:muc-studio-open linear both;
    animation-timeline:view();
    animation-range:entry 0% entry 75%;
  }
}
@keyframes muc-district-drift { from { transform:translateX(-3%); } to { transform:translateX(3%); } }
@keyframes muc-studio-open { from { clip-path:inset(8% 0 8%); } to { clip-path:inset(0); } }

/* The same art direction continues through the full course and studio content. */
.page-hero { margin:0; border-radius:0; padding:48px 0 58px; background:#34261c; color:#efdfc7; }
.page-hero::after { display:none; }
.page-hero .breadcrumb, .page-hero .eyebrow { color:#d0b28d; font-size:10px; }
.page-hero .breadcrumb { margin-bottom:25px; }
.page-hero .title, .page-hero .title em { font:600 clamp(48px,6.1vw,88px)/1.08 var(--sans); text-transform:none; color:#f0dfc4; letter-spacing:-.055em; }
.page-hero .title em { color:#d7b17f; }
.page-hero p, .page-hero-readable p { color:#dfcdb4; font-size:17px; line-height:1.65; max-width:55ch; margin-top:20px; }
.page-hero .text-link { color:#efd4ae; font-size:14px; }
.page-hero .btn.dark { background:#e4c293; color:#2b2118; }
.section { padding-block:clamp(42px,5.5vw,80px); }
.course-index { border-color:#b49a78; }
.course-overview, .team-page, .schedule-page { padding-top:30px; }
.course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px; }
.course-card { border:0; border-radius:0; background:#f3e7d5; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
.course-card .course-image, .course-card:nth-child(n) .course-image { aspect-ratio:auto; min-height:100%; border-radius:0; }
.course-card .course-image img { height:100%; width:100%; object-fit:cover; }
.course-card-copy { padding:24px; }
.course-card h2 { font:600 clamp(25px,2.3vw,33px)/1.15 var(--sans); letter-spacing:-.045em; text-wrap:balance; }
.course-card p { font-size:15px; }
.filter-tabs button { border-radius:4px; }
.course-detail-top { width:100%; margin:0; border-radius:0; background:#34261c; }
.course-detail-top .course-detail-copy { padding:clamp(30px,5vw,75px); }
.course-detail-top .course-detail-copy h1 { font:600 clamp(40px,5vw,76px)/1.09 var(--sans); letter-spacing:-.05em; }
.course-detail-top .photo img { border-radius:0; }
.detail-aside, .detail-body .detail-aside { background:#dfc9a8; border-radius:0; }
.teacher-grid .teacher-card, .teacher-grid .teacher-card:nth-child(n) { border-radius:0; border:0; background:transparent; border-bottom:1px solid #bea27e; }
.teacher-grid .teacher-card .teacher-photo, .teacher-grid .teacher-card:nth-child(n) .teacher-photo { aspect-ratio:.9; }
.teacher-card-label { padding-inline:0; }
.teacher-profile-heading h1 { font:600 clamp(40px,5.2vw,76px)/1.08 var(--sans); letter-spacing:-.05em; }
.teacher-detail .photo { border-radius:0; }
.programme-grid > a { border-radius:0; }
.programme-grid h2, .programme-grid h3, .event-tile h2 { font-family:var(--sans); font-weight:600; letter-spacing:-.045em; line-height:1.18; }
.event-tile .photo, .event-tile img, .event-detail-image, .studio-gallery img { border-radius:0; }
.event-tile[hidden] { display:none; }
.schedule-shell { border-radius:0; background:#f2e6d4; border-color:#c6ac8b; }
.schedule-intro span { font-family:var(--display); }
.welcome-cta { background:#d6b68b; color:#2b2118; border-radius:0; padding:70px 0; }
.welcome-inner h2, .welcome-inner h2 em { font:600 clamp(40px,5.1vw,74px)/1.1 var(--sans); letter-spacing:-.05em; color:#2b2118; }
.welcome-inner > p { color:#5a432d; font-size:15px; }
.welcome-portraits { display:none; }
.welcome-inner .eyebrow { color:#6d4e30; }
.welcome-cta .btn.cream { background:#2b2118; color:#f5e1c3; }
.price-welcome, .price-card, .programme-detail, .contact-form { border-radius:0; }
.price-welcome h2, .price-welcome h2 em { font-family:var(--sans); font-style:normal; font-weight:600; letter-spacing:-.045em; line-height:1.12; }
.price-card .btn { border-radius:4px; }
.footer { background:#211912; color:#e8d7bf; padding-top:60px; }
.footer .brand img { background:#f1e0c6; border-radius:50%; }
.footer .brand-type { color:#efdfc7; }
.footer-signature { margin:45px 0 20px; padding:32px 0; border-block:1px solid #dfbe932f; font:400 clamp(70px,15.6vw,245px)/1.12 var(--display); letter-spacing:-.025em; color:#d0ae7e; text-transform:uppercase; overflow:hidden; }
.footer-signature span { display:block; margin-left:24%; font-family:inherit; font-style:normal; color:#e8d0ab; }
.footer .footer-motto, .footer .footer-top p { color:#cbb69a; }
.footer a { transition:color .2s; }
.footer a:hover { color:#fff1d9; }
.floating-book { border-radius:4px; background:#2b2118; color:#f3dfc1; border-color:#c6a170; }
.modal, .modal-copy, .finder-modal, .cookie-dialog { border-radius:4px; }
.modal-copy h2, .modal-copy h2 em, .finder-modal h2 { font-family:var(--sans); font-style:normal; font-weight:600; letter-spacing:-.05em; line-height:1.12; text-wrap:balance; }
.reveal { opacity:1; transform:none; }
.reveal-ready { transition:opacity .65s ease,transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal-ready:not(.shown) { opacity:0; transform:translateY(24px); }
.reveal-ready.shown { opacity:1; transform:none; }
.page-progress { height:2px; background:#d2ac76; transform-origin:left; }
.motion-paused .muc-arrival { display:none; }
.motion-paused .reveal-ready { opacity:1; transform:none; }
.motion-paused .muc-westend-photo, .motion-paused .muc-district-word, .motion-paused .muc-discipline-panel { animation:none; clip-path:none; transform:none; opacity:1; }

@media (max-width:1200px) {
  .header-inner { width:calc(100% - 40px); }
  .header .nav { gap:11px; }
  .muc-wrap { width:calc(100% - 72px); }
}
@media (max-width:1100px) {
  .header { height:74px; }
  .header .menu-button { color:#efdfc6; }
  .mobile-menu { top:74px; padding-top:22px; }
  .muc-hero { min-height:max(650px,calc(100svh - 99px)); }
  .header .brand-type { display:block; }
}
@media (max-width:900px) {
  .muc-discipline-panel { gap:25px; grid-template-columns:minmax(0,1fr) minmax(0,1.7fr); }
  .muc-discipline-styles { max-width:24ch; justify-self:end; }
  .muc-people-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:30px; }
  .muc-founder-photo { aspect-ratio:.7; }
  .muc-founders { gap:12px; }
  .muc-founders strong { font-size:16px; }
  .muc-founders small { font-size:12px; }
  .course-grid { grid-template-columns:minmax(0,1fr); }
  .course-card .course-image { max-height:320px; }
  .muc-event:nth-child(2) { margin-top:70px; }
}
@media (max-width:700px) {
  html { scroll-padding-top:75px; }
  .notice { height:22px; font-size:7px; }
  .header { height:68px; }
  .header-inner { width:calc(100% - 32px); }
  .header .brand-type { font-size:9px; }
  .header .brand img { width:39px; height:39px; }
  .mobile-menu { top:68px; }
  .header .header-right { gap:13px; }
  .muc-wrap { width:calc(100% - 40px); }
  .muc-section { padding-block:49px; }
  .muc-home h2 { font-size:clamp(37px,9.8vw,57px); }
  .muc-hero { min-height:max(710px,calc(100svh - 90px)); padding:260px 22px 88px; align-items:end; }
  .muc-hero-art { height:61%; }
  .muc-hero-art img { object-position:88% top; }
  .muc-hero-shade { background:linear-gradient(0deg,#241a13 28%,#251a13dd 40%,#251b1350 65%,#251b1300 90%); }
  .muc-hero-copy { width:100%; max-width:500px; }
  .muc-hero-top { inset:21px 22px auto; font-size:7px; letter-spacing:.11em; padding-bottom:11px; border-bottom:1px solid #e3c9a449; }
  .muc-hero h1 { font-size:clamp(65px,17.3vw,106px); margin:22px 0 16px; }
  .muc-hero h1 strong { font-size:1.21em; }
  .muc-hero-intro { max-width:38ch; font-size:14px; line-height:1.55; margin-bottom:18px; }
  .muc-hero .muc-actions { gap:12px 19px; }
  .muc-hero .btn { min-height:44px; padding:12px 17px; font-size:12px; }
  .muc-hero .text-link { font-size:12px; }
  .muc-hero .text-link .arrow { display:none; }
  .muc-hero .muc-kicker { font-size:9px; }
  .muc-hero-foot { inset:auto 22px 17px; font-size:9px; gap:10px; padding-top:12px; }
  .muc-hero-foot > span { display:none; }
  .muc-hero-foot button { min-height:32px; font-size:9px; }
  .muc-section-head { align-items:start; flex-direction:column; gap:19px; margin-bottom:26px; }
  .muc-section-head > p { max-width:39ch; font-size:16px; }
  .muc-section-head h2 { margin-top:13px; }
  .muc-discipline > summary { grid-template-columns:23px minmax(0,1fr) 25px; gap:8px 11px; padding:18px 0; }
  .muc-discipline summary strong { font-size:clamp(35px,9vw,52px); }
  .muc-discipline-number { padding-top:6px; font-size:8px; }
  .muc-discipline-styles { grid-column:2; grid-row:2; text-align:left; justify-self:start; max-width:35ch; font-size:11px; line-height:1.6; }
  .muc-plus { grid-column:3; grid-row:1; }
  .muc-discipline-panel { grid-template-columns:1fr; padding:0 0 21px; gap:18px; }
  .muc-discipline-panel > a { grid-row:1; height:auto; }
  .muc-discipline-panel img { height:auto; aspect-ratio:1.4; }
  .muc-discipline-panel > div { padding:0; }
  .muc-discipline-panel p { max-width:42ch; margin-bottom:9px; font-size:15px; }
  .muc-discipline-panel .text-link { font-size:13px; }
  .muc-class-extra { gap:0 22px; margin-top:17px; }
  .muc-class-extra a { font-size:12px; }
  .muc-westend-grid, .muc-people-grid, .muc-trial-grid { grid-template-columns:minmax(0,1fr); gap:27px; }
  .muc-district-word { font-size:18.5vw; margin-bottom:-.12em; }
  .muc-westend-photo img { aspect-ratio:1.3; }
  .muc-westend-copy h2 { margin:13px 0 19px; }
  .muc-westend-copy > p:not(.muc-kicker), .muc-people-copy > p:not(.muc-kicker) { font-size:16px; }
  .muc-westend-copy .muc-actions { margin-top:13px; }
  .muc-event-list { grid-template-columns:1fr; gap:34px; }
  .muc-event:nth-child(2) { margin-top:0; }
  .muc-event-image img { aspect-ratio:1.45; }
  .muc-event h3 { font-size:32px; }
  .muc-event-caption p:not(.muc-kicker) { font-size:14px; }
  .muc-people-copy h2 { margin:13px 0 20px; }
  .muc-founders { gap:15px; }
  .muc-founder-photo { aspect-ratio:.83; }
  .muc-founders > a:nth-child(2) { padding-top:32px; }
  .muc-trial h2 { margin:13px 0 19px; }
  .muc-trial-grid > div > p:not(.muc-kicker) { font-size:16px; }
  .muc-trial-price { border-left:0; border-top:1px solid #6f4f2f66; padding-top:25px; }
  .muc-trial-price strong { font-size:150px; line-height:1.1; }
  .muc-trial-price p { font-size:13px; }
  .muc-journal-grid { grid-template-columns:1fr; gap:28px; }
  .muc-journal-grid > a { display:grid; grid-template-columns:120px minmax(0,1fr); gap:5px 17px; align-items:start; }
  .muc-journal-grid > a > div { grid-row:1/3; }
  .muc-journal-grid img { aspect-ratio:1; }
  .muc-journal-grid .muc-kicker { margin:3px 0 0; font-size:8px; }
  .muc-journal-grid h3 { font-size:19px; align-self:start; }
  .muc-journal .muc-section-head > a { max-width:100%; font-size:11px; }
  .page-hero { padding:31px 0 37px; }
  .page-hero .title, .page-hero .title em { font-size:clamp(37px,10vw,60px); line-height:1.1; }
  .page-hero p, .page-hero-readable p { font-size:16px; line-height:1.55; margin-top:19px; }
  .page-hero .eyebrow, .page-hero .breadcrumb { font-size:9px; }
  .course-card { grid-template-columns:1fr; }
  .course-card .course-image, .course-card:nth-child(n) .course-image { min-height:0; aspect-ratio:1.5; }
  .course-card-copy { padding:20px; }
  .course-card h2 { font-size:28px; }
  .teacher-grid .teacher-card .teacher-photo, .teacher-grid .teacher-card:nth-child(n) .teacher-photo { aspect-ratio:1; }
  .teacher-grid .teacher-card .teacher-card-label h3 { font-size:19px; font-weight:700; }
  .teacher-card-label { padding:13px 0 18px; }
  .welcome-cta { padding-block:48px; }
  .footer { padding-top:45px; }
  .footer-signature { font-size:18.3vw; margin:30px 0 20px; }
  .footer-signature span { margin-left:12%; }
  .muc-arrival-art { width:78vw; }
}
@media (prefers-reduced-motion:reduce) {
  .muc-arriving .muc-arrival { display:none; }
  .reveal-ready { opacity:1; transform:none; }
  .muc-discipline-panel { animation:none; }
  .muc-event:hover img, .muc-journal-grid a:hover img { transform:none; }
}

/* Comfortable reading and touch targets throughout the mobile journey. */
.muc-site img { max-width:100%; }
.muc-site main, .muc-site main section, .muc-site .detail-body > *,
.muc-site .programme-detail > *, .muc-site .event-complete > * { min-width:0; }
.modal { overscroll-behavior:contain; }
.modal-close { width:44px; height:44px; }
.muc-site .languages button { min-width:28px; min-height:44px; }
@media (max-width:1100px) {
  .mobile-menu { padding-bottom:max(30px,env(safe-area-inset-bottom)); scrollbar-gutter:stable; }
  .mobile-menu .nav-submenu a { min-height:44px; }
  .mobile-menu .mobile-social a { min-height:44px; display:flex; align-items:center; }
}
@media (max-width:700px) {
  .muc-site { -webkit-text-size-adjust:100%; }
  .muc-site .btn { min-height:48px; white-space:normal; text-align:center; line-height:1.35; }
  .muc-site .text-link { min-height:44px; }
  .muc-site .filter-tabs { flex-wrap:wrap; gap:8px; }
  .muc-site .filter-tabs button { min-height:44px; padding:10px 14px; font-size:13px; line-height:1.3; }
  .muc-site .event-date, .muc-site .event-tile .eyebrow,
  .muc-site .programme-card > .eyebrow { font-size:11px; line-height:1.5; }
  .muc-hero-top { font-size:8px; }
  .muc-hero-foot a, .muc-hero-foot button { min-height:44px; }
  .muc-hero-foot { bottom:10px; }
  .muc-site .page-hero .breadcrumb { flex-wrap:wrap; row-gap:6px; line-height:1.5; }
  .muc-site .course-detail-top .course-detail-copy { padding:30px 22px; }
  .muc-site .detail-body .levels { grid-template-columns:1fr; }
  .muc-site .detail-body .levels div { display:grid; grid-template-columns:70px minmax(0,1fr); gap:12px; align-items:center; padding:13px 0; }
  .muc-site .detail-body .levels div + div { border-top:1px solid var(--line); }
  .muc-site .detail-body .levels p { margin:0; }
  .muc-site .programme-card p, .muc-site .programme-section p,
  .muc-site .programme-section li, .muc-site .prose p,
  .muc-site .legal-prose p, .muc-site .legal-prose li,
  .muc-site .faq-list p { font-size:16px; line-height:1.65; }
  .muc-site .faq-list summary { font-size:16px; line-height:1.45; min-height:44px; align-items:center; }
  .muc-site .programme-section h2, .muc-site .article-head .title { overflow-wrap:break-word; }
  .muc-site .event-tile h2 { font-size:clamp(30px,8.3vw,43px); line-height:1.13; overflow-wrap:break-word; }
  .muc-site .event-tile p, .muc-site .journal-card p,
  .muc-site .price-welcome p, .muc-site .price-more p,
  .muc-site .price-card p, .muc-site .price-note { font-size:15px; line-height:1.6; opacity:1; }
  .muc-site .price-card .btn, .muc-site .price-welcome .btn,
  .muc-site .schedule-consent .btn { font-size:14px; }
  .muc-site .price-card .price small { font-size:13px; }
  .muc-site .price-table { font-size:14px; }
  .muc-site .schedule-consent { padding:25px 10px; }
  .muc-site .schedule-consent p { font-size:15px; line-height:1.6; }
  .muc-site .schedule-consent small { font-size:13px; line-height:1.5; }
  .muc-site .contact-mail { font-size:clamp(20px,6.1vw,30px); overflow-wrap:anywhere; }
  .muc-site .footer { padding-bottom:calc(104px + env(safe-area-inset-bottom)); }
  .muc-site .footer-top { gap:28px 20px; }
  .muc-site .footer-top > div:first-child { grid-template-columns:1fr; gap:18px; }
  .muc-site .footer-top > div:first-child .footer-motto { font-size:23px; }
  .muc-site .footer-top h4 { font-size:11px; }
  .muc-site .footer p, .muc-site .footer li, .muc-site .footer a:not(.brand) { font-size:14px; line-height:1.65; }
  .muc-site .footer li a { display:inline-flex; min-height:36px; align-items:center; }
  .muc-site .footer-bottom { font-size:12px; line-height:1.6; }
  .muc-site .footer-bottom a, .muc-site .footer-bottom button { font-size:12px!important; min-height:36px; }
  .muc-site .floating-book { left:16px; right:16px; bottom:calc(12px + env(safe-area-inset-bottom)); min-height:52px; padding:10px 15px; gap:10px; font-size:12px; line-height:1.3; }
  .muc-site .floating-book small { font-size:10px; flex-shrink:0; margin:0 0 0 auto; }
  .muc-site .floating-book .arrow { display:none; }
  .modal-backdrop { padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom)); }
  .modal { max-height:calc(100svh - 32px); }
  .modal-photo { height:145px; }
  .modal-copy { padding:25px 22px; }
  .modal-copy h2, .finder-modal h2, .cookie-dialog h2 { font-size:clamp(30px,8.5vw,39px); }
  .modal-copy p, .finder-modal p, .cookie-dialog p { font-size:15px; line-height:1.6; }
  .modal-copy .fine { font-size:13px; line-height:1.55; }
  .modal-copy .price small { font-size:13px; }
  .modal-copy .btn { font-size:14px; }
  .modal-copy .text-link { font-size:13px!important; }
  .finder-options button { min-height:48px; }
  .cookie-dialog { padding:60px 22px 28px; }
  .cookie-option { font-size:15px; }
  .cookie-option small { font-size:13px; line-height:1.5; }
  .cookie-option input { flex-shrink:0; width:25px; height:25px; }
}
@media (max-width:360px) {
  .muc-hero-art { height:52%; }
  .muc-hero-art img { object-position:86% top; }
  .header .brand-type { font-size:8px; }
  .header .header-right { gap:8px; }
  .header .languages { gap:2px; }
  .muc-hero { padding-inline:20px; }
  .muc-journal-grid > a { grid-template-columns:92px minmax(0,1fr); gap:5px 13px; }
  .muc-journal-grid h3 { font-size:18px; }
  .team-page .teacher-grid { grid-template-columns:1fr; gap:25px; }
  .teacher-grid .teacher-card .teacher-photo { aspect-ratio:1.15; }
  .teacher-grid .teacher-card .teacher-card-label h3 { font-size:23px; }
  .teacher-role { font-size:15px; }
}
@media (max-height:500px) and (max-width:1100px) {
  .mobile-menu { padding-top:12px; }
  .mobile-menu .nav-group > summary, .mobile-menu > .nav-main-link { min-height:46px; }
  .modal-photo { display:none; }
  .modal-layout { min-height:0; grid-template-columns:1fr; }
  .modal-copy { padding-top:45px; }
}
