/* Presto Forte music-class storefront styles */
/* Shared palette + instrument pages (guitar, keyboard, drums, ukulele, brass, production, hub) */
/* Optimized: shared tokens + merged identical / instrument-twin rules */

/* Shared instrument patterns */
.mc-guitar, .mc-drums, .mc-brass { background: #fff; color: #555; }
.mc-guitar__teacher, .mc-keyboard__teacher, .mc-production__teacher { padding: 56px 0 64px; background: #fff; }
.mc-guitar__teacher-spread, .mc-keyboard__teacher-spread, .mc-production__teacher-spread { display: grid; grid-template-columns: minmax(280px, 400px) minmax(280px, 1fr); gap: 40px 56px; align-items: center; }
.mc-guitar__teacher-photo img, .mc-ukulele__teacher-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 18%; }
.mc-guitar__teacher-copy li::before, .mc-keyboard__teacher-copy li::before, .mc-drums__teacher-copy li::before, .mc-ukulele__teacher-copy li::before { content: ""; position: absolute; left: 0; top: .7em; width: 8px; height: 1px; background: var(--mc-accent); }
.mc-guitar__months, .mc-drums__months { padding: 28px 0 12px; }
.mc-guitar__months h2, .mc-drums__months h2, .mc-ukulele__months h2, .mc-brass__months h2, .mc-guitar__faqs h2, .mc-drums__faqs h2, .mc-ukulele__faqs h2, .mc-brass__faqs h2, .mc-production__faqs h2 { margin: 0 0 16px; color: var(--mc-deep); font-size: 28px; }
.mc-guitar__months ol, .mc-drums__months ol, .mc-ukulele__months ol, .mc-brass__months ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.mc-guitar__months li, .mc-drums__months li, .mc-brass__months li { background: #fff; padding: 20px; border-radius: 16px; border-top: 4px solid var(--mc-accent); }
.mc-guitar__months strong, .mc-drums__months strong, .mc-ukulele__months strong, .mc-brass__months strong { display: block; margin-bottom: 6px; color: var(--mc-deep); }
.mc-guitar__faqs, .mc-ukulele__faqs { padding: 12px 0 36px; }
.mc-guitar__faqs summary, .mc-drums__faqs summary, .mc-ukulele__faqs summary, .mc-brass__faqs summary, .mc-production__faqs summary { cursor: pointer; font-weight: 700; color: var(--mc-deep); }
.mc-guitar__faqs p, .mc-drums__faqs p, .mc-ukulele__faqs p, .mc-brass__faqs p, .mc-production__faqs p { margin: 10px 0 0; }
.mc-guitar__enrol-consent a, .mc-drums__enrol-consent a, .mc-brass__enrol-consent a, .mc-production__enrol-consent a { color: var(--mc-sky); }
.mc-guitar__others, .mc-drums__others, .mc-brass__others { padding: 36px 0 56px; }
.mc-guitar__links, .mc-keyboard__links, .mc-drums__links, .mc-brass__others nav, .mc-production__others nav { display: flex; flex-wrap: wrap; gap: 10px; }
.mc-guitar__links a, .mc-keyboard__links a, .mc-drums__links a, .mc-brass__others a, .mc-production__others a { color: var(--mc-accent); border: 1px solid var(--mc-accent); padding: 8px 14px; border-radius: 999px; text-decoration: none !important; }
.mc-keyboard__teacher-photo, .mc-drums__teacher-photo, .mc-ukulele__teacher-photo, .mc-production__teacher-photo { margin: 0; }
.mc-keyboard__teacher-copy, .mc-drums__teacher-copy, .mc-ukulele__teacher-copy { max-width: 36em; }
.mc-keyboard__teacher-copy h2, .mc-drums__teacher-copy h2, .mc-keyboard__why h2, .mc-drums__why h2, .mc-ukulele__why h2, .mc-brass__why h2, .mc-production__why h2, .mc-keyboard__details h2, .mc-drums__details h2, .mc-ukulele__details h2, .mc-brass__details h2, .mc-production__details h2, .mc-ukulele__families h2, .mc-brass__families h2, .mc-production__families h2, .mc-brass__teacher h2, .mc-production__teacher h2, .mc-brass__paths h2, .mc-production__paths h2 { margin: 0 0 10px; font-size: 28px; color: var(--mc-deep); }
.mc-keyboard__teacher-role, .mc-drums__teacher-role, .mc-production__teacher-role { margin: 0 0 14px; color: var(--mc-accent); font-weight: 700; }
.mc-keyboard__teacher-lead, .mc-drums__teacher-lead, .mc-ukulele__teacher-lead, .mc-production__teacher-lead { margin: 0 0 14px; color: var(--mc-deep); font-size: 18px; line-height: 1.55; }
.mc-keyboard__teacher-copy > p, .mc-drums__teacher-copy > p, .mc-ukulele__teacher-copy > p { margin: 0 0 14px; }
.mc-keyboard__teacher-copy ul, .mc-drums__teacher-copy ul, .mc-ukulele__teacher-copy ul { list-style: none; padding: 0; margin: 8px 0 0; }
.mc-keyboard__teacher-copy li, .mc-drums__teacher-copy li, .mc-ukulele__teacher-copy li { position: relative; padding-left: 16px; margin-bottom: 8px; }
.mc-keyboard__formats h2, .mc-drums__formats h2, .mc-ukulele__formats h2, .mc-brass__formats h2 { margin: 0 0 8px; color: var(--mc-deep); font-size: 28px; }
.mc-keyboard__format h3, .mc-drums__format h3, .mc-ukulele__format h3, .mc-brass__format h3 { margin: 0 0 8px; color: var(--mc-deep); }
.mc-keyboard__format-lead, .mc-drums__format-lead, .mc-ukulele__format-lead, .mc-brass__format-lead { margin: 0 0 10px; color: var(--mc-accent); font-weight: 600; }
.mc-keyboard__format ul, .mc-drums__format ul, .mc-ukulele__format ul, .mc-brass__format ul, .mc-production__format ul { list-style: none; padding: 0; margin: 12px 0 0; }
.mc-keyboard__format li, .mc-drums__format li, .mc-ukulele__format li, .mc-brass__format li { position: relative; padding-left: 14px; margin-bottom: 6px; }
.mc-keyboard__format li::before, .mc-drums__format li::before, .mc-ukulele__format li::before, .mc-brass__format li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 1px; background: var(--mc-accent); }
.mc-keyboard__details dl > div, .mc-drums__details dl > div, .mc-ukulele__details dl > div, .mc-brass__details dl > div, .mc-production__details dl > div { display: grid; grid-template-columns: 9em 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--mc-rule); }
.mc-keyboard__details dt, .mc-drums__details dt, .mc-ukulele__details dt, .mc-brass__details dt, .mc-production__details dt { margin: 0; color: var(--mc-accent); font-weight: 700; }
.mc-keyboard__details dd, .mc-drums__details dd, .mc-ukulele__details dd, .mc-brass__details dd, .mc-production__details dd { margin: 0; max-width: 42em; }
.mc-keyboard__enrol label, .mc-ukulele__enrol label { display: block; margin: 0 0 16px; font-weight: 600; color: var(--mc-deep); }
.mc-keyboard__enrol-field, .mc-ukulele__enrol-field { display: block; width: 100%; box-sizing: border-box; height: 46px; margin-top: 8px; padding: 10px 14px; border: 1px solid var(--mc-accent); border-radius: 12px; background: #fff; color: var(--mc-deep); appearance: none; font-size: 16px; }
.mc-keyboard__enrol textarea.mc-keyboard__enrol-field, .mc-drums__enrol textarea.mc-drums__enrol-field, .mc-ukulele__enrol textarea.mc-ukulele__enrol-field, .mc-brass__enrol textarea.mc-brass__enrol-field, .mc-production__enrol textarea.mc-production__enrol-field { height: auto; min-height: 120px; }
.mc-keyboard__enrol-field:focus, .mc-ukulele__enrol-field:focus { outline: none; border-color: var(--mc-link); box-shadow: 0 0 0 3px rgba(1,104,184,.18); }
.mc-keyboard__enrol-consent, .mc-ukulele__enrol-consent { display: flex; gap: 10px; font-weight: 400; }
.mc-keyboard__enrol-consent input, .mc-drums__enrol-consent input, .mc-ukulele__enrol-consent input, .mc-brass__enrol-consent input, .mc-production__enrol-consent input { margin-top: 3px; accent-color: var(--mc-accent); }
.mc-keyboard__others h2, .mc-drums__others h2, .mc-brass__others h2, .mc-production__others h2 { color: var(--mc-deep); }
.mc-drums__formats, .mc-brass__formats, .mc-drums__details, .mc-brass__details, .mc-production__details { padding: 48px 0 56px; background: #fff; }
.mc-drums__formats-split, .mc-brass__formats-split { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 22px; }
.mc-drums__why, .mc-brass__why, .mc-production__why { padding: 56px 0; background: var(--mc-soft); }
.mc-drums__faqs, .mc-production__faqs { padding: 48px 0 56px; background: var(--mc-soft); }
.mc-drums__faqs details, .mc-brass__faqs details, .mc-production__faqs details { background: #fff; padding: 14px 16px; margin-bottom: 8px; }
.mc-drums__enrol h2, .mc-brass__enrol h2, .mc-production__enrol h2 { margin: 0 0 10px; color: #fff; font-size: 30px; }
.mc-drums__enrol > .container > p, .mc-brass__enrol > .container > p, .mc-production__enrol > .container > p { color: var(--mc-mist); max-width: 38em; }
.mc-drums__enrol-split, .mc-brass__enrol-split, .mc-production__enrol-split { display: grid; grid-template-columns: 1.3fr .7fr; gap: 36px; margin-top: 28px; }
.mc-drums__enrol-ok, .mc-brass__enrol-ok, .mc-production__enrol-ok { margin: 0 0 18px; padding: 12px; background: var(--mc-sky); color: var(--mc-deep); }
.mc-drums__enrol-err, .mc-brass__enrol-err, .mc-production__enrol-err { margin: 0 0 18px; padding-left: 14px; border-left: 3px solid var(--mc-sky); }
.mc-drums__enrol-pair, .mc-ukulele__enrol-pair, .mc-brass__enrol-pair, .mc-production__enrol-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.mc-drums__enrol label, .mc-brass__enrol label, .mc-production__enrol label { display: block; margin: 0 0 16px; font-weight: 600; color: #fff; }
.mc-drums__enrol-field, .mc-brass__enrol-field, .mc-production__enrol-field { display: block; width: 100%; box-sizing: border-box; height: 46px; margin-top: 8px; padding: 10px 14px; border: 1px solid var(--mc-sky); border-radius: 12px; background: rgba(255,255,255,.12); color: #fff; appearance: none; font-size: 16px; }
.mc-drums__enrol-field:focus, .mc-brass__enrol-field:focus, .mc-production__enrol-field:focus { outline: none; border-color: var(--mc-accent); box-shadow: 0 0 0 3px rgba(1,104,184,.28); }
.mc-drums__enrol-consent, .mc-brass__enrol-consent, .mc-production__enrol-consent { display: flex; gap: 10px; font-weight: 400; color: var(--mc-mist); }
.mc-drums__enrol aside h3, .mc-ukulele__enrol aside h3, .mc-brass__enrol aside h3, .mc-production__enrol aside h3 { margin: 0 0 10px; color: #fff; }
.mc-ukulele__months, .mc-brass__months { padding: 36px 0 12px; }
.mc-brass__why h3, .mc-production__why h3 { margin: 0 0 6px; color: var(--mc-deep); font-size: 18px; }
/* ========== Shared music-school palette ========== */
body.music-school {
  --mc-paper: #F7F8FA;
  --mc-navy: #101A33;
  --mc-blue: #168FCC;
  --mc-gold: #C8A45D;
  --mc-ink: #172033;
  --mc-line: #DDE3EA;
  /* Instrument page tokens */
  --mc-deep: #1a2238;
  --mc-mid: #232955;
  --mc-accent: #0168b8;
  --mc-sky: #9fd4f5;
  --mc-mist: #e6f3fb;
  --mc-soft: #f6f8fb;
  --mc-rule: #d5e3ee;
  --mc-link: #0088cc;
  background: var(--mc-paper);
  color: var(--mc-ink);
}
body.music-school #content, body.music-school #content .music-class-offerings, body.music-school #content .music-class-gallery, body.music-school #content .music-class-about, body.music-school #content .music-class-syllabus, body.music-school #content .local-hero, body.music-school #content .local-faq, body.music-school #content .music-class-enrol, body.music-school #content .local-cta-strip, body.music-school #content .mc-outcomes, body.music-school #content .mc-fees, body.music-school #content .mc-testimonials, body.music-school #content .mc-media-gallery, body.music-school #content .mc-guitar, body.music-school #content .mc-guitar__teacher, body.music-school #content .mc-guitar__body, body.music-school #content .mc-guitar__gallery, body.music-school #content .mc-guitar__demo, body.music-school #content .mc-guitar__enrol, body.music-school #content .mc-drums, body.music-school #content .mc-drums__teacher, body.music-school #content .mc-drums__families, body.music-school #content .mc-drums__formats, body.music-school #content .mc-drums__faqs, body.music-school #content .mc-drums__enrol, body.music-school #content .mc-keyboard, body.music-school #content .mc-keyboard__hero, body.music-school #content .mc-keyboard__teacher, body.music-school #content .mc-keyboard__compare, body.music-school #content .mc-keyboard__families, body.music-school #content .mc-keyboard__formats, body.music-school #content .mc-keyboard__levels, body.music-school #content .mc-keyboard__faqs, body.music-school #content .mc-keyboard__enrol, body.music-school #content .mc-production, body.music-school #content .mc-production__hero, body.music-school #content .mc-production__teacher, body.music-school #content .mc-production__daws, body.music-school #content .mc-production__kit, body.music-school #content .mc-production__paths, body.music-school #content .mc-production__families, body.music-school #content .mc-production__projects, body.music-school #content .mc-production__duration, body.music-school #content .mc-production__faqs, body.music-school #content .mc-production__enrol, body.music-school #content .mc-brass, body.music-school #content .mc-brass__teacher, body.music-school #content .mc-brass__service, body.music-school #content .mc-brass__police, body.music-school #content .mc-brass__formats, body.music-school #content .mc-brass__faqs, body.music-school #content .mc-brass__enrol, body.music-school #content .mc-ukulele, body.music-school #content .mc-ukulele__teacher, body.music-school #content .mc-ukulele__note, body.music-school #content .mc-ukulele__enrol aside, body.music-school #content .light-gry-bg, body.music-school #content .newslatter { background: var(--mc-paper); color: var(--mc-ink); }
body.music-school #content h1, body.music-school #content h2, body.music-school #content h3, body.music-school #content h4, body.music-school #content p, body.music-school #content li, body.music-school #content label, body.music-school #content dt, body.music-school #content dd, body.music-school #content .mc-offer dd, body.music-school #content .mc-fees dd, body.music-school #content .mc-drums__facts dd, body.music-school #content .mc-drums__shell, body.music-school #content .mc-drums__shell h3, body.music-school #content .mc-drums__shell p, body.music-school #content .mc-drums__shell li, body.music-school #content .mc-drums__shell-lead, body.music-school #content .mc-guitar__format, body.music-school #content .mc-guitar__format h3, body.music-school #content .mc-guitar__format p, body.music-school #content .mc-guitar__format li, body.music-school #content .mc-guitar__enrol, body.music-school #content .mc-guitar__enrol h2, body.music-school #content .mc-guitar__enrol p, body.music-school #content .mc-guitar__enrol label, body.music-school #content .mc-drums__enrol, body.music-school #content .mc-drums__enrol h2, body.music-school #content .mc-drums__enrol p, body.music-school #content .mc-drums__enrol label, body.music-school #content .mc-brass__enrol, body.music-school #content .mc-brass__enrol h2, body.music-school #content .mc-brass__enrol p, body.music-school #content .mc-brass__enrol label, body.music-school #content .mc-brass__service, body.music-school #content .mc-brass__service h2, body.music-school #content .mc-brass__service h3, body.music-school #content .mc-brass__service p, body.music-school #content .mc-brass__service li, body.music-school #content .mc-production__enrol, body.music-school #content .mc-production__enrol h2, body.music-school #content .mc-production__enrol p, body.music-school #content .mc-production__enrol label, body.music-school #content .local-cta-strip, body.music-school #content .local-cta-strip h2, body.music-school #content .local-cta-strip p, body.music-school #content .music-class-enrol, body.music-school #content .music-class-enrol h2, body.music-school #content .music-class-enrol p, body.music-school #content .music-class-enrol label, body.music-school #content .mc-keyboard .mc-student-video--dark h2, body.music-school #content .mc-keyboard .mc-student-video--dark p, body.music-school #content .mc-production .mc-student-video--dark h2, body.music-school #content .mc-production .mc-student-video--dark p, body.music-school #content .mc-brass .mc-student-video--dark h2, body.music-school #content .mc-brass .mc-student-video--dark p { color: var(--mc-ink); }
body.music-school #content a, body.music-school #content .music-class-path__num, body.music-school #content .mc-outcomes h3, body.music-school #content .mc-outcomes a, body.music-school #content .mc-fees a { color: var(--mc-blue); }
body.music-school #content .btn-round, body.music-school header .btn-round { background: var(--mc-blue); border-color: var(--mc-blue); color: #fff; }
body.music-school #content .music-class-hero .btn-light, body.music-school #content .mc-guitar__hero .btn-light, body.music-school #content .mc-drums__stage .btn-light, body.music-school #content .mc-brass__banner .btn-light { background: transparent; color: var(--mc-paper); border: 1px solid var(--mc-gold); }
body.music-school #content .local-hero .btn-light, body.music-school #content .local-cta-strip .btn-light, body.music-school #content .mc-keyboard__hero .btn-light, body.music-school #content .mc-production__hero .btn-light, body.music-school #content .mc-ukulele .btn-light { background: #fff; color: var(--mc-ink); border: 1px solid var(--mc-line); }
body.music-school .navbar.ownmenu { background: var(--mc-navy) !important; border-bottom: 3px solid var(--mc-gold); }
body.music-school .navbar.ownmenu .nav > li > a, body.music-school .navbar.ownmenu .nav > li > a:hover, body.music-school .navbar.ownmenu .nav > li > a:focus { color: var(--mc-paper) !important; background: transparent !important; }
body.music-school .itm-cont { background: var(--mc-gold); color: var(--mc-navy); }
body.music-school .linking, body.music-school .linking .breadcrumb, body.music-school #content .music-class-hero { background: var(--mc-navy); }
body.music-school #content .linking, body.music-school #content .linking a, body.music-school #content .linking li, body.music-school #content .linking .breadcrumb > li + li:before, body.music-school #content .mc-guitar__hero h1, body.music-school #content .mc-guitar__hero h2, body.music-school #content .mc-guitar__hero p, body.music-school #content .mc-guitar__hero li, body.music-school #content .mc-guitar__formats h2, body.music-school #content .mc-guitar__formats h3, body.music-school #content .mc-guitar__formats p, body.music-school #content .mc-guitar__formats li, body.music-school #content .mc-drums__stage h1, body.music-school #content .mc-drums__stage p, body.music-school #content .mc-drums__stage .mc-drums__kicker, body.music-school #content .mc-brass__banner h1, body.music-school #content .mc-brass__banner p, body.music-school #content .mc-student-video--dark h2, body.music-school #content .mc-student-video--dark p, body.music-school #content .music-class-path h2, body.music-school #content .music-class-path p, body.music-school #content .music-class-path li, body.music-school #content .mc-keyboard__panel h2, body.music-school #content .mc-keyboard__panel h3, body.music-school #content .mc-keyboard__panel p, body.music-school #content .mc-keyboard__setup h2, body.music-school #content .mc-keyboard__setup h3, body.music-school #content .mc-keyboard__setup p, body.music-school #content .mc-keyboard__setup li, body.music-school #content .mc-production__pipeline h2, body.music-school #content .mc-production__pipeline p, body.music-school #content .mc-production__pipeline li, body.music-school #content .mc-production__formats h2, body.music-school #content .mc-production__formats h3, body.music-school #content .mc-production__formats p, body.music-school #content .mc-production__formats li, body.music-school #content .mc-brass__fanfare h2, body.music-school #content .mc-brass__fanfare p, body.music-school #content .mc-brass__fanfare li, body.music-school #content .mc-ukulele__setlist h2, body.music-school #content .mc-ukulele__setlist p, body.music-school #content .mc-ukulele__setlist li, body.music-school #content .music-class-hero h1, body.music-school #content .music-class-hero p, body.music-school #content .mc-guitar__hero a, body.music-school #content .mc-drums__stage a, body.music-school #content .mc-brass__banner a, body.music-school #content .music-class-hero a, body.music-school #content .mc-student-video--dark a, body.music-school #content .music-class-path a, body.music-school #content .mc-keyboard__grid article, body.music-school #content .mc-keyboard__grid h3, body.music-school #content .mc-keyboard__grid p, body.music-school footer p, body.music-school footer li, body.music-school footer a { color: var(--mc-paper); }
body.music-school .music-class-subheader { background: var(--mc-navy); border-bottom: 3px solid var(--mc-gold); }
body.music-school .music-class-subheader__brand, body.music-school #content .mc-testimonials__stars, body.music-school #content .mc-outcomes__stars, body.music-school footer h4, body.music-school footer h5 { color: var(--mc-gold); }
body.music-school .music-class-subheader__trial, body.music-school #content .mc-student-video__play { background: var(--mc-blue); }
body.music-school .music-class-subheader__trial:hover { background: var(--mc-navy); color: #fff !important; }
body.music-school #content .music-class-hero::after { background: linear-gradient(90deg, rgba(16,26,51,.88) 0%, rgba(16,26,51,.55) 52%, rgba(16,26,51,.28) 100%); }
body.music-school #content .mc-guitar__hero, body.music-school #content .mc-drums__stage, body.music-school #content .mc-brass__banner, body.music-school #content .mc-guitar__formats, body.music-school #content .mc-student-video--dark, body.music-school #content .music-class-path, body.music-school #content .mc-keyboard__panel, body.music-school #content .mc-keyboard__setup, body.music-school #content .mc-production__pipeline, body.music-school #content .mc-production__formats, body.music-school #content .mc-brass__fanfare, body.music-school #content .mc-ukulele__setlist { background: var(--mc-navy); color: var(--mc-paper); box-shadow: inset 0 3px 0 var(--mc-gold); }
body.music-school #content .mc-guitar__hero, body.music-school #content .mc-drums__stage, body.music-school #content .mc-brass__banner, body.music-school #content .music-class-hero { box-shadow: none; }
body.music-school #content .mc-guitar__formats-glow, body.music-school #content .mc-guitar__enrol::before, body.music-school #content .music-class-syllabus__bg, body.music-school #content .music-class-path__bg, body.music-school #content .music-class-enrol__bg { display: none; }
body.music-school #content .local-highlight-card, body.music-school #content .music-class-board, body.music-school #content .music-class-enrol__board, body.music-school #content .mc-outcomes figure, body.music-school #content .mc-outcomes__review, body.music-school #content .mc-fees dl > div, body.music-school #content .mc-offer div, body.music-school #content .mc-drums__shell, body.music-school #content .mc-drums__facts > div, body.music-school #content .mc-drums__format, body.music-school #content .mc-drums__groove li, body.music-school #content .mc-drums__enrol-main, body.music-school #content .mc-testimonials blockquote, body.music-school #content .mc-keyboard__grid article, body.music-school #content .mc-keyboard__format, body.music-school #content .mc-keyboard__level-grid article, body.music-school #content .mc-production__pipeline li, body.music-school #content .mc-production__format, body.music-school #content .mc-production__enrol-main, body.music-school #content .mc-brass__format, body.music-school #content .mc-brass__stand, body.music-school #content .mc-brass__police-card, body.music-school #content .mc-ukulele__card, body.music-school #content .mc-ukulele__stack article, body.music-school #content .mc-guitar__format, body.music-school #content .mc-guitar__enrol-glass, body.music-school #content .local-hero__panel { background: #fff; border: 1px solid var(--mc-line); color: var(--mc-ink); box-shadow: none; }
body.music-school #content .mc-offer dt, body.music-school #content .mc-fees dt, body.music-school #content .mc-drums__facts dt, body.music-school #content .local-badge { color: var(--mc-blue); background: transparent; }
body.music-school #content .mc-guitar__enrol .mc-guitar__enrol-field, body.music-school #content .mc-drums__enrol .mc-drums__enrol-field, body.music-school #content .mc-brass__enrol .mc-brass__enrol-field, body.music-school #content .mc-production__enrol .mc-production__enrol-field, body.music-school #content .mc-keyboard__enrol .mc-keyboard__enrol-field, body.music-school #content .mc-ukulele__enrol .mc-ukulele__enrol-field, body.music-school #content .music-class-enrol .form-control { color: var(--mc-ink) !important; background: #fff !important; border: 1px solid var(--mc-line) !important; }
body.music-school #content .mc-production__pipeline li, body.music-school #content .mc-keyboard__grid article, body.music-school #content .mc-production__format, body.music-school #content .mc-ukulele__setlist li { background: rgba(255,255,255,.06); border-color: rgba(200,164,93,.45); color: var(--mc-paper); }
body.music-school #content .mc-keyboard .mc-student-video--dark, body.music-school #content .mc-production .mc-student-video--dark, body.music-school #content .mc-brass .mc-student-video--dark { background: var(--mc-paper); color: var(--mc-ink); box-shadow: none; }
body.music-school #content .mc-student-video__stage, body.music-school #content .mc-student-video__frame, body.music-school #content .mc-student-video__poster { background: var(--mc-navy); border-color: rgba(200,164,93,.45); }
body.music-school footer { background: var(--mc-navy); color: var(--mc-paper); border-top: 3px solid var(--mc-gold); }
.mc-facts, .mc-fees { padding: 28px 0 36px; }
.mc-facts h2 { margin: 0 0 16px; color: var(--mc-deep); font-size: 28px; }
.mc-facts dl { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.mc-facts dl > div, .mc-fees dl > div, .mc-testimonials blockquote { margin: 0; padding: 14px 16px; background: #fff; border: 1px solid rgba(1,104,184,.18); border-radius: 14px; }
.mc-facts dt, .mc-fees dt { margin: 0 0 4px; color: var(--mc-accent); font-size: 13px; font-weight: 700; }
.mc-facts dd, .mc-fees dd { margin: 0; color: var(--mc-deep); font-size: 15px; line-height: 1.4; font-weight: 700; }
.mc-fees h2, .mc-shop h2 { margin: 0 0 10px; color: var(--mc-deep); font-size: 28px; }
.mc-fees > .container > p { margin: 0 0 18px; max-width: 40em; }
.mc-fees dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mc-fees__wide, .mc-offer > div:first-child, .mc-offer__wide, .mc-offer__slots { grid-column: 1 / -1; }
.mc-offer { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 18px 0 0; max-width: 640px; }
.mc-offer div { margin: 0; padding: 10px 12px; background: #fff; border: 1px solid rgba(1,104,184,.18); border-radius: 12px; }
.mc-offer dt { margin: 0 0 4px; color: var(--mc-accent); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.mc-offer dd { margin: 0; color: var(--mc-deep); font-size: 14px; line-height: 1.35; font-weight: 700; }
.mc-testimonials { padding: 36px 0 48px; background: #f4f8fc; color: var(--mc-deep); }
.mc-testimonials h2 { margin: 0 0 12px; font-size: 28px; }
.mc-testimonials p, .mc-outcomes p { margin: 0 0 12px; font-size: 16px; line-height: 1.7; color: #333; }
.mc-testimonials a, .mc-outcomes a { color: var(--mc-accent); font-weight: 700; }
.mc-testimonials__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 16px 0; }
.mc-testimonials__stars, .mc-outcomes__stars { color: var(--mc-accent); margin-bottom: 8px; }
.mc-student-video { padding: 56px 0 64px; }
.mc-student-video--dark { background: var(--mc-deep); color: var(--mc-mist); }
.mc-student-video__head { max-width: 40em; margin: 0 auto 28px; text-align: center; }
.mc-student-video__head h2 { margin: 0 0 10px; font-size: 28px; line-height: 1.2; font-weight: 700; color: #fff; }
.mc-student-video__head p { margin: 0; font-size: 16px; line-height: 1.7; color: var(--mc-mist); }
.mc-student-video__source { margin-top: 8px !important; font-size: 14px !important; font-weight: 600; }
.mc-student-video__stage { max-width: 880px; margin: 0 auto; padding: 14px; border-radius: 22px; background: #141b30; }
.mc-student-video__frame { position: relative; width: 100%; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 14px; background: var(--mc-mid); border: 1px solid rgba(159,212,245,.45); }
.mc-student-video__frame iframe, .mc-student-video__poster { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mc-student-video__poster { display: block; padding: 0; cursor: pointer; background: var(--mc-deep); }
.mc-student-video__poster img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.mc-student-video__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 999px; background: rgba(1,104,184,.92); color: #fff; font-size: 15px; font-weight: 700; }
.mc-scene { margin: 0 0 22px; }
.mc-scene img { display: block; width: 100%; height: 320px; object-fit: cover; object-position: center 32%; background: var(--mc-mist); }
.mc-scene--card { margin: 0 0 16px; }
.mc-scene--card img { height: 190px; }
.mc-scene figcaption { margin-top: 8px; font-size: 14px; line-height: 1.4; }
.mc-shop { padding: 12px 0 36px; }
.mc-shop ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.mc-shop a { display: inline-block; padding: 10px 16px; background: #fff; border: 1px solid var(--mc-accent); border-radius: 999px; color: var(--mc-accent); font-weight: 700; text-decoration: none !important; }
.mc-outcomes { padding: 56px 0 64px; background: #f4f8fc; color: var(--mc-deep); }
.mc-outcomes h2 { margin: 0 0 12px; font-size: 28px; line-height: 1.2; font-weight: 700; }
.mc-outcomes h3 { margin: 28px 0 10px; font-size: 18px; line-height: 1.3; font-weight: 700; color: var(--mc-accent); }
.mc-outcomes__photos, .mc-outcomes__videos, .mc-outcomes__reviews { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 12px; }
.mc-outcomes__photos figure, .mc-outcomes__videos figure, .mc-outcomes__review { margin: 0; background: #fff; border: 1px solid rgba(1,104,184,.18); border-radius: 14px; overflow: hidden; }
.mc-outcomes__photos img, .mc-outcomes__videos video { display: block; width: 100%; height: 220px; object-fit: cover; object-position: center 28%; background: var(--mc-deep); }
.mc-outcomes__photos figcaption, .mc-outcomes__videos figcaption { padding: 10px 12px 12px; font-size: 14px; font-weight: 700; }
.mc-outcomes__review { padding: 14px 16px; }
@media (max-width: 991px) {
  /* Shared instrument patterns */
  .mc-guitar__teacher, .mc-keyboard__teacher { padding: 40px 0 48px; }
  .mc-guitar__teacher-photo img, .mc-keyboard__teacher-photo img, .mc-ukulele__teacher-photo img, .mc-production__teacher-photo img { max-height: 420px; margin: 0 auto; }
  .mc-keyboard__details dl > div, .mc-drums__details dl > div, .mc-ukulele__details dl > div, .mc-brass__details dl > div, .mc-production__details dl > div { grid-template-columns: 1fr; gap: 4px; }
  .mc-facts dl { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .mc-facts dl, .mc-fees dl, .mc-offer, .mc-testimonials__list, .mc-outcomes__photos, .mc-outcomes__videos, .mc-outcomes__reviews { grid-template-columns: 1fr; }
  .mc-scene img { height: 220px; }
  .mc-scene--card img { height: 160px; }
}
/* ========== index ========== */
.local-hero { padding: 48px 0 56px; background: linear-gradient(135deg, var(--mc-soft) 0%, #ffffff 55%, #eef4f8 100%); }
.local-hero__grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 28px; align-items: stretch; }
.local-hero__copy h1, .local-hero__copy h2 { margin: 16px 0 14px; font-size: 32px; line-height: 1.15; font-weight: 800; color: #222; }
.local-hero__copy > p { font-size: 17px; line-height: 1.7; color: #555; max-width: 640px; }
.local-badge { display: inline-block; padding: 7px 14px; border-radius: 999px; background: var(--mc-mist); color: var(--mc-accent); font-size: 13px; font-weight: 700; }
.music-class-hero { position: relative; min-height: 520px; display: flex; align-items: stretch; overflow: hidden; background: var(--mc-deep); }
.music-class-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.music-class-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,22,40,.86) 0%, rgba(15,22,40,.52) 48%, rgba(15,22,40,.28) 100%); }
.music-class-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(220px, .7fr); gap: 28px; align-items: center; width: 100%; padding: 48px 0; }
.music-class-hero__copy { color: #fff; max-width: 640px; }
.music-class-hero__copy h1 { margin: 0 0 14px; font-size: 40px; line-height: 1.15; font-weight: 800; color: #fff; }
.music-class-hero__copy > p { margin: 0 0 22px; font-size: 17px; line-height: 1.7; color: rgba(255,255,255,.9); }
.music-class-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.music-class-hero__actions .btn-round.btn-light, .local-cta-strip .btn-round.btn-light { background: transparent; color: #fff; box-shadow: inset 0 0 0 2px rgba(255,255,255,.92); }
.music-class-hero__actions .btn-round.btn-light:hover, .local-cta-strip .btn-round.btn-light:hover { background: #fff !important; color: var(--mc-accent) !important; }
.music-class-hero__wa { margin: 14px 0 0; font-size: 14px; }
.music-class-hero__wa a, .local-cta-strip__wa { color: var(--mc-sky); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.music-class-hero__collage { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.music-class-hero__collage img { display: block; width: 100%; height: 110px; object-fit: cover; border-radius: 10px; box-shadow: 0 10px 24px rgba(0,0,0,.28); }
.local-hero__trust { list-style: none; padding: 0; margin: 24px 0 0; }
.local-hero__trust li { margin-bottom: 8px; color: #444; font-size: 14px; }
.local-hero__trust i, .music-class-about__points i { color: var(--mc-link); margin-right: 8px; }
.local-hero__panel { background: var(--mc-mid); color: #fff; border-radius: 18px; padding: 28px; box-shadow: 0 16px 40px rgba(35,41,85,.18); }
.local-hero__panel h2 { margin: 0 0 16px; font-size: 24px; color: #fff; }
.local-hero__panel p { margin-bottom: 12px; color: rgba(255,255,255,.88); line-height: 1.6; }
.local-hero__panel a { color: var(--mc-sky); }
.local-hero__address { white-space: pre-line; }
.local-hero__link { display: inline-block; margin-top: 10px; font-weight: 700; color: var(--mc-sky) !important; }
.local-section-head { margin-bottom: 24px; }
.local-section-head h2 { margin: 0 0 8px; font-size: 28px; font-weight: 700; color: #222; }
.local-section-head p { margin: 0; color: #666; }
.local-highlight-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.local-highlight-card { background: #fff; border: 1px solid #ececec; border-radius: 16px; padding: 26px; box-shadow: 0 8px 24px rgba(0,0,0,.04); }
.local-highlight-card__icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: var(--mc-mist); color: var(--mc-accent); font-size: 22px; margin-bottom: 16px; }
.local-highlight-card h3 { margin: 0 0 10px; font-size: 20px; color: #222; }
.local-highlight-card p { margin: 0; color: #666; line-height: 1.65; }
.music-class-offerings { position: relative; overflow: hidden; padding: 64px 0; background: linear-gradient(160deg, #141b30 0%, var(--mc-deep) 42%, var(--mc-mid) 100%); }
.music-class-offerings::before, .music-class-offerings::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; filter: blur(8px); }
.music-class-offerings::before { width: 420px; height: 420px; top: -140px; left: -80px; background: radial-gradient(circle, rgba(0,136,204,.42) 0%, rgba(0,136,204,0) 70%); }
.music-class-offerings::after { width: 380px; height: 380px; right: -90px; bottom: -140px; background: radial-gradient(circle, rgba(159,212,245,.28) 0%, rgba(35,41,85,0) 72%); }
.music-class-offerings .container, .music-class-enrol .container, .music-class-syllabus .container, .music-class-path .container { position: relative; z-index: 1; }
.music-class-offerings .local-section-head h2 { color: #fff; }
.music-class-offerings .local-section-head p { color: rgba(255,255,255,.78); }
.music-class-offerings .local-highlight-card { display: block; padding: 0 0 22px; overflow: hidden; text-decoration: none !important; background: linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.07) 100%); border: 1px solid rgba(255,255,255,.28); box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 14px 36px rgba(8,12,24,.28); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); transition: transform .35s ease, box-shadow .35s ease, background .35s ease; }
.music-class-offerings .local-highlight-card:hover { transform: translateY(-6px); background: linear-gradient(180deg, rgba(255,255,255,.24) 0%, rgba(255,255,255,.1) 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 20px 40px rgba(8,12,24,.36); }
.music-class-offerings .local-highlight-card__icon { background: rgba(159,212,245,.16); border: 1px solid rgba(255,255,255,.22); color: var(--mc-sky); }
.music-class-offerings .local-highlight-card h3 { color: #fff; margin-top: 16px; padding: 0 22px; }
.music-class-offerings .local-highlight-card p { color: rgba(255,255,255,.78); padding: 0 22px; }
.music-class-offerings__photo { display: block; width: 100%; height: 200px; object-fit: cover; object-position: center 28%; background: var(--mc-deep); }
.music-class-offerings .local-highlight-card p.local-highlight-card__offer { margin: 12px 0 0; color: var(--mc-sky); font-size: 14px; font-weight: 700; line-height: 1.4; }
.local-faq-list .panel { border-radius: 10px; overflow: hidden; margin-bottom: 12px; border: 1px solid #e8e8e8; box-shadow: none; }
.local-faq-list .panel-heading { background: #fafafa; }
.local-faq-list .panel-title a { display: block; padding: 4px 0; font-weight: 600; color: #222; text-decoration: none; }
.local-cta-strip { padding: 54px 0; background: linear-gradient(135deg, var(--mc-link), var(--mc-accent)); color: #fff; }
.local-cta-strip h2 { margin: 0 0 10px; color: #fff; font-size: 30px; }
.local-cta-strip p { margin: 0 0 22px; color: rgba(255,255,255,.92); }
.music-class-gallery { padding: 52px 0 36px; background: var(--mc-soft); }
.music-class-gallery__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.music-class-gallery__head h2 { margin: 0 0 6px; font-size: 28px; font-weight: 700; color: #222; }
.music-class-gallery__head p { margin: 0; color: #666; max-width: 42em; }
.music-class-gallery__stave { width: 148px; height: 21px; flex-shrink: 0; background: repeating-linear-gradient(to bottom, var(--mc-accent) 0 1px, transparent 1px 5px); opacity: .45; }
.music-class-gallery__slider { margin: 0; }
.music-class-gallery__card { margin: 0; background: #fff; overflow: hidden; border-bottom: 4px solid var(--mc-accent); }
.music-class-gallery__card img { display: block; width: 100%; height: 220px; object-fit: cover; object-position: center 28%; background: #d7e8f4; }
.music-class-gallery__card figcaption { padding: 8px 12px 10px; font-size: 14px; line-height: 1.3; text-align: center; color: var(--mc-deep); }
.music-class-gallery .owl-nav div { position: absolute; top: 50%; z-index: 2; width: 36px; height: 36px; margin-top: -18px; border: 0; background: var(--mc-mid); color: #fff; font-size: 18px; line-height: 36px; text-align: center; }
.music-class-gallery .owl-nav .owl-prev { left: 0; }
.music-class-gallery .owl-nav .owl-next { right: 0; }
.music-class-gallery .owl-nav div:hover, .music-class-gallery .owl-nav div:focus { background: var(--mc-accent); color: #fff; }
.music-class-gallery .owl-dots { margin-top: 14px; }
.music-class-gallery .owl-dot span { background: #cfe6f4; }
.music-class-gallery .owl-dot.active span, .music-class-gallery .owl-dot:hover span { background: var(--mc-accent); }
.music-class-enrol { position: relative; overflow: hidden; padding: 72px 0 88px; background: linear-gradient(160deg, #141b30 0%, var(--mc-deep) 42%, #16324f 100%); }
.music-class-enrol__bg, .music-class-syllabus__bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.music-class-enrol__orb { position: absolute; border-radius: 50%; filter: blur(8px); animation: musicSyllabusDrift 16s ease-in-out infinite; }
.music-class-enrol__orb--1 { width: 360px; height: 360px; top: -120px; left: -80px; background: radial-gradient(circle, rgba(0,136,204,.38) 0%, rgba(0,136,204,0) 70%); }
.music-class-enrol__orb--2 { width: 300px; height: 300px; right: -90px; bottom: -110px; background: radial-gradient(circle, rgba(37,211,102,.18) 0%, rgba(37,211,102,0) 72%); animation-duration: 20s; animation-delay: -5s; }
.music-class-enrol__orb--3 { width: 180px; height: 180px; top: 42%; left: 46%; background: radial-gradient(circle, rgba(159,212,245,.22) 0%, rgba(159,212,245,0) 70%); animation-duration: 12s; }
.music-class-enrol__board { padding: 32px 30px 28px; border-radius: 22px; background: linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.06) 100%); border: 1px solid rgba(255,255,255,.28); box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 18px 40px rgba(8,12,24,.28); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); height: 100%; }
.js-music-reveal.is-inview.music-class-enrol__board, .music-class-board.js-music-reveal.is-inview, .js-music-reveal.is-inview.music-class-path__panel { animation: musicFadeInUp .75s ease both; }
.js-music-reveal.is-inview.music-class-enrol__board--wa, .js-music-reveal.is-inview.music-class-path__panel--steps { animation-delay: .12s; }
.music-class-enrol .heading h2 { margin: 0 0 8px; font-size: 28px; color: #fff; }
.music-class-enrol .contact-form-heading { font-size: 28px !important; margin: 0 0 8px !important; font-weight: 700; color: #fff; }
.music-class-enrol .contact-response-note { margin: 0 0 24px; color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.5; }
.music-class-enrol #music_class_form { margin: 0; text-align: left; }
.music-class-enrol #music_class_form > .row { margin-left: -15px; margin-right: -15px; list-style: none; padding: 0; }
.music-class-enrol #music_class_form > .row > [class*="col-"] { list-style: none; margin-bottom: 18px; float: left; }
.music-class-enrol #music_class_form li.no-margin, .music-class-enrol #music_class_form .contact-form-actions { margin-bottom: 0; clear: both; width: 100%; }
.music-class-enrol #music_class_form label { display: block; width: 100%; margin: 0; padding: 0; color: #fff !important; font-size: 14px; font-weight: 500; line-height: 1.4; text-align: left; text-transform: none; background: none; position: static; }
.music-class-enrol #music_class_form label span, .music-class-enrol #music_class_form .contact-consent__text { color: rgba(255,255,255,.78) !important; font-weight: 400; position: static; }
.music-class-enrol #music_class_form label a { color: var(--mc-sky); text-decoration: underline; }
.music-class-enrol #music_class_form input.form-control, .music-class-enrol #music_class_form select.form-control, .music-class-enrol #music_class_form textarea.form-control { display: block; width: 100%; margin-top: 8px; padding: 10px 14px !important; height: 46px; line-height: 1.4; color: #fff !important; background: rgba(255,255,255,.12) !important; border: 1px solid var(--mc-sky) !important; border-radius: 12px; box-shadow: none; text-transform: none; float: none; }
.music-class-enrol #music_class_form .form-control::placeholder { color: rgba(255,255,255,.5); }
.music-class-enrol #music_class_form textarea.form-control { height: auto !important; min-height: 140px; resize: vertical; }
.music-class-enrol #music_class_form input.form-control:focus, .music-class-enrol #music_class_form select.form-control:focus, .music-class-enrol #music_class_form textarea.form-control:focus { border-color: var(--mc-accent) !important; outline: 0; box-shadow: 0 0 0 3px rgba(1,104,184,.28); }
.music-class-enrol #music_class_form .contact-consent { clear: both; width: 100%; margin: 4px 0 8px; list-style: none; }
.music-class-enrol #music_class_form .contact-consent__label { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-weight: 400; line-height: 1.45; }
.music-class-enrol #music_class_form .contact-consent__label input[type="checkbox"] { display: inline-block; width: 18px !important; min-width: 18px; max-width: 18px; height: 18px !important; margin: 2px 0 0; padding: 0 !important; line-height: 1; float: none; flex-shrink: 0; appearance: auto; -webkit-appearance: checkbox; background: #fff !important; border: 1px solid #bbb !important; box-shadow: none; accent-color: var(--mc-accent); }
.music-class-enrol .contact-info--links { padding: 0; border: 0; border-radius: 0; background: none; height: auto; color: #fff; }
.music-class-enrol .contact-info--links h5 { margin: 0 0 10px; font-size: 22px; font-weight: 700; color: #fff; }
.music-class-enrol .contact-info--links > p { color: rgba(255,255,255,.78); line-height: 1.6; }
.music-class-enrol .contact-alt-links { list-style: none; padding: 0; margin: 18px 0 0; }
.music-class-enrol .contact-alt-links li { margin-bottom: 12px; }
.music-class-enrol .contact-alt-links a { color: var(--mc-sky); text-decoration: none; font-weight: 600; }
.music-class-enrol .contact-alt-links i { margin-right: 8px; width: 16px; text-align: center; }
.music-class-enrol__wa-icon { width: 56px; height: 56px; border-radius: 16px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; background: rgba(37,211,102,.16); border: 1px solid rgba(37,211,102,.35); color: #25d366; font-size: 28px; }
.music-class-enrol__wa-btn { display: inline-block; margin: 8px 0 0; background: transparent !important; border-color: rgba(255,255,255,.55) !important; color: #fff !important; }
.music-class-enrol__wa-btn:hover { background: rgba(255,255,255,.12) !important; color: #fff !important; }
.music-class-about { padding: 64px 0 48px; background: #fff; overflow: visible; }
.music-class-about__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: center; }
.music-class-about__copy h2 { margin: 12px 0 16px; font-size: 32px; font-weight: 800; color: #222; line-height: 1.2; }
.music-class-about__copy p { margin: 0 0 14px; font-size: 16px; line-height: 1.75; color: #555; }
.music-class-about__points { list-style: none; padding: 8px 0 0; margin: 0; }
.music-class-about__points li { margin-bottom: 10px; color: #444; font-size: 15px; }
.music-class-about__media { position: relative; min-height: 420px; padding-bottom: 56px; }
.music-class-about__photo { border-radius: 18px; overflow: hidden; background: linear-gradient(135deg, var(--mc-deep) 0%, var(--mc-accent) 100%); box-shadow: 0 18px 40px rgba(26,34,56,.18); }
.music-class-about__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.music-class-about__photo--main { width: 78%; height: 340px; }
.music-class-about__photo--accent { position: absolute; right: 0; bottom: 8px; width: 48%; height: 210px; animation: musicAboutFloat 4.8s ease-in-out infinite; }
.music-class-about__photo--accent img { object-position: 70% 40%; }
.music-class-about__photo--chip { position: absolute; left: 8%; bottom: -18px; width: 34%; height: 110px; animation: musicAboutFloat 5.6s ease-in-out infinite reverse; }
.music-class-about__photo--chip img { object-position: 20% 80%; }
.js-music-reveal.is-inview.music-class-about__copy { animation: musicFadeInLeft .85s ease both; }
.js-music-reveal.is-inview.music-class-about__media { animation: musicFadeInRight .85s ease both; }
.js-music-reveal.is-inview.music-class-syllabus-head { animation: musicFadeInUp .7s ease both; }
.music-class-board.js-music-reveal.is-inview:nth-child(2) { animation-delay: .16s; }
.music-class-board--trinity .music-class-board__photo { object-position: center 28%; }
.music-class-syllabus { position: relative; overflow: hidden; padding: 56px 0 80px; background: linear-gradient(160deg, #e8f2f9 0%, #f8fbfd 48%, #eef4fb 100%); }
.music-class-syllabus__orb { position: absolute; border-radius: 50%; filter: blur(8px); opacity: .55; animation: musicSyllabusDrift 14s ease-in-out infinite; }
.music-class-syllabus__orb--1 { width: 280px; height: 280px; top: -80px; left: -60px; background: radial-gradient(circle, rgba(0,136,204,.28) 0%, rgba(0,136,204,0) 70%); }
.music-class-syllabus__orb--2 { width: 340px; height: 340px; right: -90px; bottom: -120px; background: radial-gradient(circle, rgba(1,104,184,.22) 0%, rgba(35,41,85,.08) 55%, rgba(1,104,184,0) 72%); animation-duration: 18s; animation-delay: -4s; }
.music-class-syllabus__orb--3 { width: 180px; height: 180px; top: 38%; left: 46%; background: radial-gradient(circle, rgba(159,212,245,.45) 0%, rgba(159,212,245,0) 70%); animation-duration: 11s; animation-delay: -2s; }
.music-class-syllabus__note { position: absolute; color: var(--mc-accent); opacity: .16; font-size: 28px; animation: musicSyllabusNote 9s ease-in-out infinite; }
.music-class-syllabus__note--1 { top: 18%; left: 8%; }
.music-class-syllabus__note--2 { top: 22%; right: 10%; font-size: 22px; animation-duration: 11s; animation-delay: -3s; }
.music-class-syllabus__note--3 { bottom: 16%; left: 18%; font-size: 20px; animation-duration: 13s; animation-delay: -6s; }
.music-class-syllabus .local-section-head { margin-bottom: 28px; }
.music-class-syllabus-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.music-class-board { background: linear-gradient(180deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,.12) 100%); border: 1px solid rgba(255,255,255,.7); border-radius: 18px; overflow: hidden; box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 14px 36px rgba(1,104,184,.12); backdrop-filter: blur(18px) saturate(1.15); -webkit-backdrop-filter: blur(18px) saturate(1.15); transition: transform .35s ease, box-shadow .35s ease, background .35s ease; }
.music-class-board:hover { transform: translateY(-6px); background: linear-gradient(180deg, rgba(255,255,255,.48) 0%, rgba(255,255,255,.18) 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 20px 40px rgba(1,104,184,.16); }
.music-class-board__image { position: relative; height: 188px; overflow: hidden; background: var(--mc-deep); }
.music-class-board__photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 28%; }
.music-class-board__logo { position: absolute; left: 14px; bottom: 14px; width: auto; max-width: 46%; height: 48px; object-fit: contain; background: #fff; padding: 6px 10px; border-radius: 8px; box-shadow: 0 8px 18px rgba(26,34,56,.22); }
.music-class-board--abrsm .music-class-board__image, .music-class-board--trinity .music-class-board__image { background: var(--mc-deep); }
.music-class-board__body { padding: 24px 24px 26px; }
.music-class-board__body h3 { margin: 0 0 6px; font-size: 22px; color: #222; }
.music-class-board__full { margin: 0 0 12px; color: var(--mc-accent); font-size: 13px; font-weight: 700; }
.music-class-board__body > p { margin: 0 0 14px; color: #555; line-height: 1.7; }
.music-class-board__body ul { list-style: none; padding: 0; margin: 0; }
.music-class-board__body li { position: relative; padding-left: 22px; margin-bottom: 8px; color: #444; font-size: 14px; line-height: 1.55; }
.music-class-board__body li::before { content: "\f058"; font-family: FontAwesome; position: absolute; left: 0; top: 1px; color: var(--mc-link); }
.music-class-path { position: relative; overflow: hidden; padding: 72px 0; background: linear-gradient(165deg, #f3f8fb 0%, #e7f1f7 48%, #f7fafc 100%); }
.music-class-path__bg { position: absolute; inset: 0; pointer-events: none; }
.music-class-path__bg span { position: absolute; border-radius: 50%; filter: blur(10px); animation: musicSyllabusDrift 16s ease-in-out infinite; }
.music-class-path__bg span:first-child { width: 320px; height: 320px; top: -90px; left: -70px; background: radial-gradient(circle, rgba(0,136,204,.2) 0%, rgba(0,136,204,0) 70%); }
.music-class-path__bg span:last-child { width: 280px; height: 280px; right: -80px; bottom: -100px; background: radial-gradient(circle, rgba(35,41,85,.14) 0%, rgba(35,41,85,0) 72%); animation-duration: 20s; }
.music-class-path__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: stretch; }
.music-class-path__panel { padding: 32px 30px 28px; border-radius: 22px; background: linear-gradient(180deg, rgba(255,255,255,.58) 0%, rgba(255,255,255,.22) 100%); border: 1px solid rgba(255,255,255,.72); box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 18px 40px rgba(26,34,56,.08); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.music-class-path__panel .local-section-head { margin-bottom: 22px; }
.music-class-path__audience { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.music-class-path__audience li { display: flex; align-items: flex-start; gap: 14px; padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.48); border: 1px solid rgba(1,104,184,.08); transition: transform .3s ease, box-shadow .3s ease, background .3s ease; }
.music-class-path__audience li:hover { transform: translateX(6px); background: rgba(255,255,255,.72); box-shadow: 0 10px 24px rgba(1,104,184,.1); }
.music-class-path__icon { width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; background: rgba(1,104,184,.1); color: var(--mc-accent); font-size: 18px; }
.music-class-path__audience p { margin: 0; color: #444; font-size: 15px; line-height: 1.55; }
.music-class-path__steps { list-style: none; padding: 4px 0 0; margin: 0; position: relative; }
.music-class-path__steps::before { content: ""; position: absolute; left: 19px; top: 8px; bottom: 18px; width: 2px; background: linear-gradient(180deg, var(--mc-link), var(--mc-mid)); opacity: .35; }
.music-class-path__steps li { position: relative; display: flex; align-items: flex-start; gap: 16px; padding: 0 0 22px; }
.music-class-path__steps li:last-child { padding-bottom: 0; }
.music-class-path__num { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; background: linear-gradient(135deg, var(--mc-deep), var(--mc-accent)); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .04em; box-shadow: 0 8px 18px rgba(1,104,184,.25); z-index: 1; }
.music-class-path__steps p { margin: 8px 0 0; color: #444; font-size: 15px; line-height: 1.55; }
@keyframes musicAboutFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes musicFadeInLeft {
  from { opacity: 0; transform: translateX(-36px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes musicFadeInRight {
  from { opacity: 0; transform: translateX(36px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes musicFadeInUp {
  from { opacity: 0; transform: translateY(28px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes musicSyllabusDrift {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(24px, -18px) scale(1.08); }
}
@keyframes musicSyllabusNote {
  0%, 100% { transform: translateY(0) rotate(-8deg); }
  50% { transform: translateY(-16px) rotate(8deg); }
}
@media (prefers-reduced-motion: reduce) {
  .music-class-about__photo--accent, .music-class-about__photo--chip, .js-music-reveal.is-inview, .music-class-board, .music-class-syllabus__orb, .music-class-syllabus__note, .music-class-offerings .local-highlight-card, .music-class-path__bg span, .music-class-path__audience li, .music-class-enrol__orb { animation: none !important; transform: none !important; }
}
@media (max-width: 991px) {
  .local-hero__grid, .local-highlight-grid, .music-class-about__grid, .music-class-syllabus-grid, .music-class-path__grid { grid-template-columns: 1fr; }
  .music-class-hero { min-height: 0; }
  .music-class-hero__inner { grid-template-columns: 1fr; padding: 36px 0; }
  .music-class-hero__copy h1 { font-size: 30px; }
  .music-class-hero__collage img { height: 88px; }
  .music-class-enrol .contact-side { margin-top: 28px; }
  .music-class-gallery { padding: 36px 0 20px; }
  .music-class-gallery__head { align-items: flex-start; }
  .music-class-gallery__stave { width: 96px; }
  .music-class-gallery__card img { height: 200px; }
  .music-class-gallery .owl-nav .owl-prev { left: 0; }
  .music-class-gallery .owl-nav .owl-next { right: 0; }
  .music-class-about { padding-top: 40px; }
  .music-class-about__copy h2 { font-size: 26px; }
  .music-class-about__media { min-height: 300px; margin-top: 8px; }
  .music-class-about__photo--main { width: 86%; height: 260px; }
  .music-class-about__photo--accent { width: 52%; height: 150px; }
  .music-class-about__photo--chip { display: none; }
}
.mc-outcomes { padding: 56px 0 64px; background: #f4f8fc; color: var(--mc-deep); }
.mc-outcomes h2 { margin: 0 0 12px; font-size: 28px; line-height: 1.2; font-weight: 700; }
.mc-outcomes h3 { margin: 28px 0 10px; font-size: 18px; line-height: 1.3; font-weight: 700; color: var(--mc-accent); }
.mc-outcomes p { margin: 0 0 12px; font-size: 16px; line-height: 1.7; color: #333; }
.mc-outcomes__lead { max-width: 46em; }
.mc-outcomes a { color: var(--mc-accent); font-weight: 700; }
.mc-outcomes__photos, .mc-outcomes__videos, .mc-outcomes__reviews { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 12px; }
.mc-outcomes__photos figure, .mc-outcomes__videos figure, .mc-outcomes__review { margin: 0; background: #fff; border: 1px solid rgba(1,104,184,.18); border-radius: 14px; overflow: hidden; }
.mc-outcomes__photos img, .mc-outcomes__videos video { display: block; width: 100%; height: 220px; object-fit: cover; object-position: center 28%; background: var(--mc-deep); }
.mc-outcomes__photos figcaption, .mc-outcomes__videos figcaption { padding: 10px 12px 12px; font-size: 14px; font-weight: 700; }
.mc-outcomes__videos figcaption span { display: block; margin-top: 4px; font-weight: 600; color: #555; }
.mc-outcomes__review { padding: 14px 16px; }
.mc-outcomes__stars { color: var(--mc-accent); margin-bottom: 8px; }
.mc-outcomes__review p { margin: 0 0 10px; }
.mc-outcomes__review footer { font-size: 14px; }
.mc-outcomes__review footer span { display: block; color: #555; font-weight: 600; }
@media (max-width: 640px) {
  .mc-outcomes { padding: 40px 0 48px; }
  .mc-outcomes__photos, .mc-outcomes__videos, .mc-outcomes__reviews { grid-template-columns: 1fr; }
  .mc-outcomes__photos img, .mc-outcomes__videos video { height: 200px; }
}
/* ========== guitar ========== */
.mc-guitar__hero { padding: 40px 0 48px; background: linear-gradient(135deg, var(--mc-deep) 0%, #16325c 55%, var(--mc-accent) 100%); overflow: hidden; }
.mc-guitar__hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); grid-template-areas: "kicker photo" "title photo" "lead photo" "actions photo"; column-gap: 36px; row-gap: 8px; align-items: start; }
.mc-guitar__kicker { grid-area: kicker; margin: 0; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; color: var(--mc-sky); font-weight: 700; }
.mc-guitar__hero h1 { grid-area: title; color: #fff; font-size: 42px; line-height: 1.15; margin: 8px 0 0; }
.mc-guitar__hero-lead { grid-area: lead; margin: 8px 0 0; color: #fff; max-width: 38em; font-size: 17px; line-height: 1.5; }
.mc-guitar__actions { grid-area: actions; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.mc-guitar__hero .mc-guitar__actions .btn-round:not(.btn-light), .mc-guitar__enrol .mc-guitar__enrol-submit { background: #fff; color: var(--mc-deep); }
.mc-guitar__hero .mc-guitar__actions .btn-round:not(.btn-light):hover, .mc-guitar__hero .mc-guitar__actions .btn-round:not(.btn-light):focus, .mc-guitar__enrol .mc-guitar__enrol-submit:hover, .mc-guitar__enrol .mc-guitar__enrol-submit:focus { background: var(--mc-deep) !important; color: #fff !important; }
.mc-guitar__hero-photo { grid-area: photo; margin: 0; align-self: stretch; }
.mc-guitar__hero-photo img { display: block; width: 100%; height: 100%; min-height: 460px; object-fit: cover; object-position: 62% 30%; border-radius: 16px; }
.mc-guitar__body { padding: 28px 0 32px; background: #fff; }
.mc-guitar__body-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.mc-guitar__body-head h2 { margin: 0; font-size: 22px; line-height: 1.2; }
.mc-guitar__body-head p { margin: 0; max-width: 36em; color: #555; font-size: 14px; line-height: 1.5; }
.mc-guitar__body h2, .mc-guitar__families-head h2, .mc-guitar__repertoire h2, .mc-guitar__others h2 { color: #222; }
.mc-guitar__formats { position: relative; padding: 48px 0 56px; background: linear-gradient(160deg, var(--mc-deep) 0%, var(--mc-mid) 58%, var(--mc-accent) 130%); overflow: hidden; }
.mc-guitar__formats-head { position: relative; z-index: 1; max-width: 40em; margin-bottom: 24px; }
.mc-guitar__formats-head h2, .mc-guitar__demo-head h2 { margin: 0 0 10px; font-size: 28px; line-height: 1.2; color: #fff; }
.mc-guitar__formats-head p, .mc-guitar__demo-head p { margin: 0; color: var(--mc-mist); line-height: 1.7; }
.mc-guitar__formats-split { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.mc-guitar__formats-glow { position: absolute; inset: 8% 4%; background: radial-gradient(circle at 18% 30%, rgba(159,212,245,.42), transparent 46%), radial-gradient(circle at 82% 70%, rgba(0,136,204,.4), transparent 42%); pointer-events: none; }
.mc-guitar__format { position: relative; z-index: 1; padding: 28px 30px 32px; border-radius: 18px; border: 1px solid rgba(159,212,245,.5); backdrop-filter: blur(18px) saturate(1.25); -webkit-backdrop-filter: blur(18px) saturate(1.25); }
.mc-guitar__format h3 { margin: 0 0 8px; font-size: 24px; line-height: 1.2; }
.mc-guitar__format-lead { margin: 0 0 12px; font-size: 17px; line-height: 1.45; font-weight: 600; }
.mc-guitar__format > p { margin: 0 0 14px; font-size: 15px; line-height: 1.7; }
.mc-guitar__format ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.mc-guitar__format li { position: relative; padding-left: 14px; font-size: 14px; line-height: 1.5; }
.mc-guitar__format li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 1px; }
.mc-guitar__format--offline { background: rgba(255,255,255,.1); color: #fff; box-shadow: 0 16px 40px rgba(26,34,56,.28); }
.mc-guitar__format--offline h3, .mc-guitar__format--offline > p, .mc-guitar__format--offline li { color: #fff; }
.mc-guitar__format--offline .mc-guitar__format-lead { color: var(--mc-sky); }
.mc-guitar__format--offline li::before { background: var(--mc-sky); }
.mc-guitar__format--online { background: rgba(230,243,251,.78); color: var(--mc-deep); box-shadow: 0 16px 40px rgba(1,104,184,.22); }
.mc-guitar__format--online h3, .mc-guitar__format--online > p, .mc-guitar__format--online li { color: var(--mc-deep); }
.mc-guitar__format--online .mc-guitar__format-lead { color: var(--mc-accent); }
.mc-guitar__format--online li::before { background: var(--mc-accent); }
.mc-guitar__demo { padding: 48px 0 56px; background: var(--mc-deep); }
.mc-guitar__demo-head { max-width: 40em; margin-bottom: 22px; }
.mc-guitar__demo-source { margin-top: 8px !important; font-size: 14px; font-weight: 600; }
.mc-guitar__demo-frame { position: relative; width: 100%; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 18px; background: var(--mc-mid); border: 1px solid rgba(159,212,245,.45); box-shadow: 0 16px 40px rgba(26,34,56,.28); }
.mc-guitar__demo-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mc-guitar__neck { position: relative; height: 46px; margin: 0 0 12px; background: linear-gradient(180deg, var(--mc-mid), var(--mc-deep)); overflow: hidden; }
.mc-guitar__neck-nut { position: absolute; left: 0; top: 0; bottom: 0; width: 8px; background: var(--mc-sky); z-index: 2; }
.mc-guitar__neck-strings { list-style: none; margin: 0; padding: 8px 12px 8px 16px; height: 100%; display: flex; flex-direction: column; justify-content: space-between; }
.mc-guitar__neck-strings li { height: 1px; background: var(--mc-sky); transform-origin: left center; transform: scaleX(0); animation: mc-guitar-neck-string .55s ease forwards; }
.mc-guitar__neck-strings li:nth-child(1) { animation-delay: .05s; }
.mc-guitar__neck-strings li:nth-child(2) { animation-delay: .1s; }
.mc-guitar__neck-strings li:nth-child(3) { animation-delay: .15s; }
.mc-guitar__neck-strings li:nth-child(4) { animation-delay: .2s; }
.mc-guitar__neck-strings li:nth-child(5) { animation-delay: .25s; }
.mc-guitar__neck-strings li:nth-child(6) { animation-delay: .3s; }
.mc-guitar__neck-frets { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0 0 0 8px; display: grid; grid-template-columns: repeat(3, 1fr); pointer-events: none; }
.mc-guitar__neck-frets li { border-right: 1px solid rgba(159,212,245,.35); }
.mc-guitar__neck-pick { position: absolute; top: 50%; left: 10%; z-index: 3; width: 14px; height: 18px; margin-top: -9px; background: var(--mc-accent); clip-path: polygon(50% 0, 100% 38%, 78% 100%, 22% 100%, 0 38%); animation: mc-guitar-pick-travel 2.8s cubic-bezier(.22,.8,.28,1) .35s both; }
.mc-guitar__fret { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.mc-guitar__fret li { position: relative; padding: 10px 10px 12px; background: var(--mc-soft); border-top: 2px solid var(--mc-accent); opacity: 0; animation: mc-guitar-fret-light .45s ease forwards; }
.mc-guitar__fret li:nth-child(1) { animation-delay: .55s; }
.mc-guitar__fret li:nth-child(2) { animation-delay: 1.05s; }
.mc-guitar__fret li:nth-child(3) { animation-delay: 1.55s; }
.mc-guitar__fret li:nth-child(4) { animation-delay: 2.05s; }
.mc-guitar__fret span { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 800; color: var(--mc-accent); }
.mc-guitar__fret strong { display: block; font-size: 14px; line-height: 1.3; color: #222; }
.mc-guitar__fret p { margin: 6px 0 0; font-size: 13px; line-height: 1.45; color: #555; }
.mc-guitar__teacher-photo { margin: 0; background: none; }
.mc-guitar__teacher-copy { max-width: 34em; }
.mc-guitar__teacher-copy h2 { margin: 0 0 16px; font-size: 28px; line-height: 1.2; color: var(--mc-deep); font-weight: 700; }
.mc-guitar__teacher-copy .mc-guitar__teacher-name { margin: 0 0 8px; font-size: 40px; line-height: 1.1; color: var(--mc-deep); font-weight: 700; letter-spacing: -.02em; }
.mc-guitar__teacher-copy .mc-guitar__teacher-role { margin: 0 0 24px; font-size: 16px; line-height: 1.4; color: var(--mc-accent); }
.mc-guitar__teacher-copy > p { margin: 0 0 16px; color: #444; font-size: 16px; line-height: 1.7; }
.mc-guitar__teacher-copy .mc-guitar__teacher-lead { margin: 0 0 16px; color: var(--mc-deep); font-size: 18px; line-height: 1.55; }
.mc-guitar__teacher-copy ul { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 10px; }
.mc-guitar__teacher-copy li { position: relative; padding-left: 16px; color: #444; font-size: 16px; line-height: 1.5; }
.mc-guitar__gallery { padding: 56px 0 64px; background: var(--mc-soft); }
.mc-guitar__gallery-head { max-width: 36em; margin: 0 auto 28px; text-align: center; }
.mc-guitar__gallery-head h2, .mc-guitar__why-head h2 { margin: 0 0 10px; font-size: 28px; line-height: 1.2; color: var(--mc-deep); }
.mc-guitar__gallery-head p, .mc-guitar__why-head p { margin: 0; color: #555; font-size: 16px; line-height: 1.7; }
.mc-guitar__gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.mc-guitar__gallery-card, .mc-guitar__bay { margin: 0; background: #fff; border-radius: 12px; overflow: hidden; }
.mc-guitar__gallery-card img { display: block; width: 100%; height: 240px; object-fit: contain; background: #fff; }
.mc-guitar__gallery-card--photo img { object-fit: cover; object-position: 50% 28%; }
.mc-guitar__gallery-card figcaption { padding: 8px 12px 12px; font-size: 14px; line-height: 1.3; color: var(--mc-deep); text-align: center; border-top: 3px solid var(--mc-accent); }
.mc-guitar__why { padding: 56px 0 64px; background: #fff; }
.mc-guitar__why-head { max-width: 36em; margin-bottom: 28px; }
.mc-guitar__why-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; }
.mc-guitar__why-list article { display: grid; grid-template-columns: 28px 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--mc-rule); }
.mc-guitar__why-string { font-size: 15px; line-height: 1.2; font-weight: 700; color: var(--mc-accent); padding-top: 3px; }
.mc-guitar__why-list h3 { margin: 0 0 8px; font-size: 18px; line-height: 1.3; color: var(--mc-deep); }
.mc-guitar__why-list p { margin: 0; font-size: 16px; line-height: 1.65; color: #444; }
.mc-guitar__families { padding: 48px 0 64px; background: var(--mc-soft); }
.mc-guitar__families-head { max-width: 40em; margin-bottom: 8px; }
.mc-guitar__families-head h2 { margin: 0 0 10px; font-size: 28px; line-height: 1.2; }
.mc-guitar__families-head p { margin: 0; color: #555; line-height: 1.7; }
.mc-guitar__bays { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.mc-guitar__bay-photo { margin: 0; background: #fff; }
.mc-guitar__bay-photo img { display: block; width: 100%; height: 220px; object-fit: contain; background: #fff; }
.mc-guitar__bay h3 { margin: 0; padding: 12px 14px 0; font-size: 18px; color: var(--mc-deep); }
.mc-guitar__bay p { margin: 0; padding: 6px 14px 16px; color: #444; font-size: 14px; line-height: 1.5; }
@keyframes mc-guitar-neck-string {
  0% { transform: scaleX(0); opacity: 0; }
  100% { transform: scaleX(1); opacity: 1; }
}
@keyframes mc-guitar-pick-travel {
  0% { left: 8%; transform: rotate(-18deg) scale(.7); opacity: 0; }
  12% { opacity: 1; transform: rotate(-8deg) scale(1); }
  28% { left: 20%; }
  46% { left: 42%; }
  64% { left: 64%; }
  82%, 100% { left: 86%; transform: rotate(10deg) scale(1); opacity: 1; }
}
@keyframes mc-guitar-fret-light {
  0% { opacity: 0; transform: translateY(8px); }
  100% { opacity: 1; transform: none; }
}
.mc-guitar__faqs details { background: #fff; padding: 14px 16px; margin-bottom: 8px; border-radius: 14px; border: 1px solid rgba(1,104,184,.18); }
.mc-guitar__enrol { position: relative; overflow: hidden; padding: 72px 0 96px; background: linear-gradient(160deg, var(--mc-deep) 0%, var(--mc-mid) 58%, var(--mc-accent) 130%); color: #fff; }
.mc-guitar__enrol::before { content: ""; position: absolute; inset: 8% 6%; background: radial-gradient(circle at 22% 30%, rgba(159,212,245,.38), transparent 48%), radial-gradient(circle at 78% 70%, rgba(0,136,204,.32), transparent 44%); pointer-events: none; }
.mc-guitar__enrol, .mc-guitar__enrol h2, .mc-guitar__enrol h3, .mc-guitar__enrol p, .mc-guitar__enrol label, .mc-guitar__enrol li { letter-spacing: 0.01em; word-spacing: 0.08em; }
.mc-guitar__enrol-head { max-width: 38em; margin: 0 0 40px; }
.mc-guitar__enrol-head h2 { margin: 0 0 14px; font-size: 32px; line-height: 1.2; color: #fff; font-weight: 700; }
.mc-guitar__enrol-head p { margin: 0; color: var(--mc-mist); font-size: 17px; line-height: 1.7; }
.mc-guitar__enrol-head, .mc-guitar__enrol-split { position: relative; z-index: 1; }
.mc-guitar__enrol-split { display: grid; grid-template-columns: minmax(280px, 1.4fr) minmax(220px, .7fr); gap: 48px 64px; align-items: start; }
.mc-guitar__enrol-main { min-width: 0; }
.mc-guitar__enrol-glass { padding: 32px 36px 36px; border-radius: 24px; border: 1px solid rgba(159,212,245,.5); background: rgba(255,255,255,.1); backdrop-filter: blur(18px) saturate(1.25); -webkit-backdrop-filter: blur(18px) saturate(1.25); box-shadow: 0 16px 40px rgba(26,34,56,.28); }
.mc-guitar__enrol-ok { margin: 0 0 28px; padding: 14px 16px; color: var(--mc-deep); background: var(--mc-sky); }
.mc-guitar__enrol-err { margin: 0 0 32px; padding: 0 0 0 16px; color: var(--mc-mist); background: transparent; border-left: 3px solid var(--mc-sky); }
.mc-guitar__enrol-err p { margin: 0 0 10px; font-weight: 700; color: #fff; }
.mc-guitar__enrol-err ul { margin: 0; padding-left: 18px; }
.mc-guitar__enrol-err li { margin: 0 0 6px; line-height: 1.5; }
.mc-guitar__enrol-err li:last-child { margin-bottom: 0; }
.mc-guitar__enrol form, .mc-guitar__enrol-submit { margin: 0; }
.mc-guitar__enrol-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 28px; }
.mc-guitar__enrol label { display: block; margin: 0 0 18px; color: #fff; font-size: 15px; line-height: 1.4; font-weight: 600; }
.mc-guitar__enrol .mc-guitar__enrol-field { display: block; width: 100%; max-width: 100%; box-sizing: border-box; height: 46px; margin-top: 8px; padding: 10px 14px !important; color: #fff !important; background: rgba(255,255,255,.12) !important; border: 1px solid var(--mc-sky) !important; border-radius: 12px !important; box-shadow: none !important; appearance: none; -webkit-appearance: none; font-size: 16px; line-height: 1.4; }
.mc-guitar__enrol textarea.mc-guitar__enrol-field { height: auto !important; min-height: 132px; resize: vertical; }
.mc-guitar__enrol .mc-guitar__enrol-field::placeholder { color: rgba(230,243,251,.62); }
.mc-guitar__enrol .mc-guitar__enrol-field:focus { outline: none; border-color: var(--mc-accent) !important; box-shadow: 0 0 0 3px rgba(1,104,184,.28) !important; }
.mc-guitar__enrol-consent { display: flex; align-items: flex-start; gap: 12px; margin: 8px 0 28px; color: var(--mc-mist); font-size: 14px; line-height: 1.55; font-weight: 400; }
.mc-guitar__enrol-consent input[type="checkbox"] { display: inline-block; width: 18px; min-width: 18px; height: 18px; margin: 3px 0 0; padding: 0; flex-shrink: 0; appearance: auto; -webkit-appearance: checkbox; accent-color: var(--mc-accent); background: #fff; }
.mc-guitar__enrol-aside { padding: 4px 0 0 28px; border-left: 2px solid var(--mc-sky); color: #fff; }
.mc-guitar__enrol-aside h3 { margin: 0 0 12px; font-size: 22px; line-height: 1.25; color: #fff; font-weight: 700; }
.mc-guitar__enrol-aside p { margin: 0 0 22px; font-size: 16px; line-height: 1.7; color: #fff; }
.mc-guitar__details { padding: 56px 0 80px; background: var(--mc-mist); color: var(--mc-deep); }
.mc-guitar__details-head { max-width: 36em; margin: 0 0 28px; }
.mc-guitar__details-head h2 { margin: 0 0 10px; font-size: 28px; line-height: 1.2; color: var(--mc-deep); font-weight: 700; }
.mc-guitar__details-head p { margin: 0; color: var(--mc-mid); font-size: 16px; line-height: 1.7; }
.mc-guitar__details-sheet { margin: 0 0 28px; padding: 0 0 0 14px; border-left: 4px solid var(--mc-accent); }
.mc-guitar__details-row { display: grid; grid-template-columns: 9.5em minmax(0, 1fr); gap: 16px 28px; margin: 0; padding: 18px 0; border-bottom: 1px solid var(--mc-sky); }
.mc-guitar__details-row:last-child { border-bottom: 0; }
.mc-guitar__details-sheet dt { margin: 0; font-size: 17px; line-height: 1.35; font-weight: 700; color: var(--mc-accent); }
.mc-guitar__details-sheet dd { margin: 0; max-width: 42em; font-size: 16px; line-height: 1.65; color: var(--mc-deep); }
.mc-guitar__details-sheet a { color: var(--mc-accent); font-weight: 600; }
.mc-guitar__details .btn-round { background: var(--mc-accent); }
@media (prefers-reduced-motion: reduce) {
  .mc-guitar__neck-strings li, .mc-guitar__neck-pick, .mc-guitar__fret li { animation: none !important; opacity: 1 !important; transform: none !important; filter: none !important; }
  .mc-guitar__neck-pick { left: 86%; }
}
@media (max-width: 991px) {
  .mc-guitar__fret, .mc-guitar__gallery-grid, .mc-guitar__bays { grid-template-columns: 1fr 1fr; }
  .mc-guitar__body-head { display: block; }
  .mc-guitar__body-head p { margin-top: 6px; }
  .mc-guitar__teacher-spread { grid-template-columns: 1fr; gap: 28px; }
  .mc-guitar__teacher-copy h2 { font-size: 24px; }
  .mc-guitar__teacher-copy .mc-guitar__teacher-name { font-size: 32px; }
  .mc-guitar__gallery, .mc-guitar__why, .mc-guitar__details { padding: 40px 0 48px; }
  .mc-guitar__formats-split, .mc-guitar__why-list, .mc-guitar__enrol-split, .mc-guitar__enrol-pair { grid-template-columns: 1fr; }
  .mc-guitar__details-row { grid-template-columns: 1fr; gap: 6px; padding: 16px 0; }
  .mc-guitar__enrol { padding: 48px 0 56px; }
  .mc-guitar__enrol-head { margin-bottom: 32px; }
  .mc-guitar__enrol-head h2 { font-size: 26px; }
  .mc-guitar__enrol-split { gap: 36px; }
  .mc-guitar__enrol-glass { padding: 24px 22px 28px; }
  .mc-guitar__enrol-aside { padding: 24px 0 0; border-left: 0; border-top: 2px solid var(--mc-sky); }
}
@media (max-width: 767px) {
  .mc-guitar__hero-grid { grid-template-columns: 1fr; grid-template-areas: "kicker" "title" "lead" "facts" "photo"; }
  .mc-guitar__hero h1 { font-size: 32px; }
  .mc-guitar__hero-photo img { min-height: 0; height: 240px; }
  .mc-guitar__gallery-grid, .mc-guitar__bays { grid-template-columns: 1fr; }
}
/* ========== keyboard ========== */
.mc-keyboard { background: var(--mc-soft); color: #555; }
.mc-keyboard__hero { padding: 48px 0 0; background: #fff; }
.mc-keyboard__kicker { display: block; color: var(--mc-accent); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; }
.mc-keyboard__hero h1 { font-size: 42px; margin: 12px 0 14px; color: var(--mc-deep); max-width: 16em; }
.mc-keyboard__hero p { max-width: 40em; color: #555; }
.mc-keyboard__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0 28px; }
.mc-keyboard__keys { display: flex; height: 96px; border-top: 2px solid var(--mc-mid); overflow: hidden; }
.mc-keyboard__keys i { flex: 1; background: #fff; border-right: 1px solid var(--mc-rule); }
.mc-keyboard__keys b { width: 22px; margin: 0 -11px; background: var(--mc-mid); position: relative; z-index: 1; height: 58%; }
.mc-keyboard__keys i:nth-child(odd) { animation: mc-keyboard-key .9s ease infinite; }
.mc-keyboard__keys i:nth-child(4n) { animation-delay: .2s; }
.mc-keyboard__keys i:nth-child(8n) { animation-delay: .4s; }
@keyframes mc-keyboard-key {
  0%, 70%, 100% { background: #fff; }
  35% { background: var(--mc-mist); }
}
.mc-keyboard__hero-photo { margin: 28px 0 36px; }
.mc-keyboard__hero-photo img { height: 380px; }
.mc-keyboard__hero-photo figcaption { color: #555; }
.mc-keyboard__panel { background: linear-gradient(160deg, #141b30 0%, var(--mc-deep) 42%, var(--mc-mid) 100%); color: #fff; padding: 48px 0 56px; }
.mc-keyboard__panel h2 { color: #fff; margin: 0 0 10px; font-size: 28px; }
.mc-keyboard__panel-lead { margin: 0 0 22px; color: var(--mc-mist); max-width: 40em; }
.mc-keyboard__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.mc-keyboard__grid article { background: rgba(255,255,255,.06); padding: 22px 20px; border-top: 3px solid var(--mc-sky); }
.mc-keyboard__grid h3 { color: #fff; font-size: 18px; margin: 0 0 8px; }
.mc-keyboard__grid p { color: rgba(255,255,255,.88); margin: 0; }
.mc-keyboard__families, .mc-keyboard__why { padding: 56px 0; background: #fff; }
.mc-keyboard__families-head, .mc-keyboard__compare-head { max-width: 40em; margin-bottom: 24px; }
.mc-keyboard__families-head h2, .mc-keyboard__compare-head h2 { margin: 0 0 10px; color: var(--mc-deep); font-size: 28px; }
.mc-keyboard__benches, .mc-keyboard__compare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--mc-rule); }
.mc-keyboard__bench { padding: 28px 32px; background: #fff; }
.mc-keyboard__bench:first-child { border-right: 1px solid var(--mc-rule); background: var(--mc-soft); }
.mc-keyboard__bench h3, .mc-keyboard__compare-grid h3, .mc-keyboard__level-grid h3 { margin: 0 0 8px; color: var(--mc-deep); font-size: 22px; }
.mc-keyboard__bench-lead { margin: 0 0 10px; color: var(--mc-accent); font-weight: 600; }
.mc-keyboard__bench ul { list-style: none; padding: 0; margin: 14px 0 0; }
.mc-keyboard__bench li, .mc-keyboard__compare-grid li, .mc-keyboard__level-grid li { position: relative; padding-left: 14px; margin-bottom: 6px; }
.mc-keyboard__bench li::before, .mc-keyboard__compare-grid li::before, .mc-keyboard__level-grid li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 1px; background: var(--mc-accent); }
.mc-keyboard__teacher-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 62% 18%; }
.mc-keyboard__compare { padding: 8px 0 56px; background: #fff; }
.mc-keyboard__compare-grid article { padding: 28px 32px; }
.mc-keyboard__compare-grid article:first-child { background: var(--mc-mist); border-right: 1px solid var(--mc-rule); }
.mc-keyboard__compare-grid p, .mc-keyboard__level-grid p { margin: 0 0 12px; }
.mc-keyboard__compare-grid ul, .mc-keyboard__level-grid ul { list-style: none; padding: 0; margin: 0; }
.mc-keyboard__compare-note { max-width: 46em; margin: 18px 0 0; }
.mc-keyboard__levels, .mc-keyboard__details { padding: 48px 0 56px; background: var(--mc-soft); }
.mc-keyboard__levels h2 { margin: 0 0 8px; color: var(--mc-deep); font-size: 28px; }
.mc-keyboard__levels > .container > p { margin: 0 0 22px; max-width: 40em; }
.mc-keyboard__level-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mc-keyboard__level-grid article { padding: 26px 24px; background: #fff; border-top: 8px solid var(--mc-accent); }
.mc-keyboard__level-grid article:nth-child(2), .mc-keyboard__format--online { border-top-color: var(--mc-mid); }
.mc-keyboard__level-grid article:nth-child(3) { border-top-color: var(--mc-link); }
.mc-keyboard__setup { padding: 48px 0 56px; background: var(--mc-deep); color: #fff; }
.mc-keyboard__setup h2 { margin: 0 0 8px; color: #fff; font-size: 28px; }
.mc-keyboard__setup > .container > p { margin: 0 0 22px; color: var(--mc-mist); }
.mc-keyboard__setup-grid, .mc-keyboard__formats-split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mc-keyboard__setup-grid article { padding: 26px 28px; background: rgba(255,255,255,.06); border-top: 3px solid var(--mc-sky); }
.mc-keyboard__setup-grid h3 { margin: 0 0 8px; color: #fff; }
.mc-keyboard__setup-grid p, .mc-keyboard__setup-grid li { color: rgba(255,255,255,.88); }
.mc-keyboard__setup-grid ul { list-style: none; padding: 0; margin: 12px 0 0; }
.mc-keyboard__setup-grid li { position: relative; padding-left: 14px; margin-bottom: 8px; }
.mc-keyboard__setup-grid li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 1px; background: var(--mc-sky); }
.mc-keyboard__who { padding: 8px 0 48px; }
.mc-keyboard__who h2 { color: var(--mc-deep); }
.mc-keyboard__who ul { max-width: 36em; color: #444; }
.mc-keyboard__formats { padding: 48px 0 56px; background: var(--mc-mist); }
.mc-keyboard__formats > .container > p { margin: 0 0 22px; color: var(--mc-mid); }
.mc-keyboard__format { padding: 26px 28px; background: #fff; border-top: 8px solid var(--mc-accent); }
.mc-keyboard__why-list { list-style: none; padding: 0; margin: 24px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
.mc-keyboard__why-list li { display: grid; grid-template-columns: 36px 1fr; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--mc-rule); }
.mc-keyboard__why-list span { width: 36px; height: 36px; background: var(--mc-accent); color: #fff; font-weight: 800; font-size: 14px; display: flex; align-items: center; justify-content: center; }
.mc-keyboard__why-list h3 { margin: 0 0 6px; color: var(--mc-deep); font-size: 18px; }
.mc-keyboard__details dl { margin: 24px 0 0; }
.mc-keyboard__faqs { padding: 48px 0 56px; background: #fff; }
.mc-keyboard__faqs h2 { margin: 0 0 20px; color: var(--mc-deep); font-size: 28px; }
.mc-keyboard__faq-list { max-width: 46em; }
.mc-keyboard__faq-list details { border-bottom: 1px solid var(--mc-rule); padding: 14px 0; }
.mc-keyboard__faq-list summary { cursor: pointer; font-weight: 700; color: var(--mc-deep); }
.mc-keyboard__faq-list p { margin: 10px 0 0; }
.mc-keyboard__enrol { padding: 56px 0 72px; background: #fff; color: var(--mc-deep); }
.mc-keyboard__enrol h2 { margin: 0 0 10px; font-size: 30px; color: var(--mc-deep); }
.mc-keyboard__enrol-split { display: grid; grid-template-columns: 1.3fr .7fr; gap: 40px; margin-top: 28px; }
.mc-keyboard__enrol-main { padding: 28px 32px; background: var(--mc-soft); border: 1px solid var(--mc-rule); }
.mc-keyboard__enrol-ok { margin: 0 0 20px; padding: 12px 14px; background: var(--mc-mist); color: var(--mc-deep); }
.mc-keyboard__enrol-err { margin: 0 0 20px; padding: 0 0 0 14px; border-left: 3px solid var(--mc-accent); }
.mc-keyboard__enrol-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.mc-keyboard__enrol aside { padding-top: 8px; }
.mc-keyboard__enrol aside h3 { margin: 0 0 10px; color: var(--mc-deep); }
.mc-keyboard__others { padding: 12px 0 56px; }
@media (prefers-reduced-motion: reduce) {
  .mc-keyboard__keys i { animation: none; }
}
@media (max-width: 991px) {
  .mc-keyboard__grid, .mc-keyboard__benches, .mc-keyboard__formats-split, .mc-keyboard__why-list, .mc-keyboard__enrol-split, .mc-keyboard__enrol-pair, .mc-keyboard__teacher-spread, .mc-keyboard__compare-grid, .mc-keyboard__level-grid, .mc-keyboard__setup-grid { grid-template-columns: 1fr; }
  .mc-keyboard__bench:first-child, .mc-keyboard__compare-grid article:first-child { border-right: 0; border-bottom: 1px solid var(--mc-rule); }
  .mc-keyboard__hero-photo img { height: 240px; }
}
@media (max-width: 575px) {
  .mc-keyboard__hero h1 { font-size: 30px; }
  .mc-keyboard__grid { grid-template-columns: 1fr; }
}
/* ========== drums ========== */
.mc-drums__stage { position: relative; overflow: hidden; padding: 72px 0 80px; text-align: center; background: radial-gradient(circle at 50% 18%, var(--mc-accent), var(--mc-deep) 64%); }
.mc-drums__rings { position: absolute; inset: 0; pointer-events: none; }
.mc-drums__rings span { position: absolute; left: 50%; top: 42%; width: 220px; height: 220px; margin: -110px 0 0 -110px; border: 2px solid rgba(159,212,245,.35); border-radius: 50%; animation: mc-drums-pulse 4s ease-out infinite; }
.mc-drums__rings span:nth-child(2) { width: 340px; height: 340px; margin: -170px 0 0 -170px; animation-delay: .6s; }
.mc-drums__rings span:nth-child(3) { width: 460px; height: 460px; margin: -230px 0 0 -230px; animation-delay: 1.2s; }
@keyframes mc-drums-pulse {
  0% { transform: scale(.7); opacity: .7; }
  100% { transform: scale(1.15); opacity: 0; }
}
.mc-drums__kit { position: absolute; left: 50%; bottom: 18px; width: 180px; height: 90px; margin-left: -90px; opacity: .55; pointer-events: none; }
.mc-drums__kit-kick { position: absolute; left: 50%; bottom: 0; width: 70px; height: 70px; margin-left: -35px; border: 3px solid var(--mc-sky); border-radius: 50%; }
.mc-drums__kit-snare { position: absolute; left: 18px; bottom: 18px; width: 42px; height: 28px; border: 3px solid var(--mc-mist); border-radius: 50%; }
.mc-drums__kit-tom { position: absolute; left: 58px; top: 0; width: 36px; height: 24px; border: 3px solid var(--mc-sky); border-radius: 50%; }
.mc-drums__kit-hat { position: absolute; right: 22px; bottom: 28px; width: 36px; height: 10px; background: var(--mc-sky); border-radius: 8px; }
.mc-drums__kit-crash { position: absolute; right: 8px; top: 4px; width: 48px; height: 8px; background: var(--mc-mist); border-radius: 8px; transform: rotate(-18deg); }
.mc-drums__kicker { color: var(--mc-sky); letter-spacing: .16em; text-transform: uppercase; font-size: 12px; font-weight: 700; }
.mc-drums__stage h1 { color: #fff; font-size: 44px; max-width: 720px; margin: 12px auto; }
.mc-drums__stage p { max-width: 640px; margin: 0 auto; color: rgba(255,255,255,.88); }
.mc-drums__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.mc-drums__groove { padding: 56px 0 48px; }
.mc-drums__groove h2 { color: var(--mc-deep); text-align: center; margin: 0 0 10px; font-size: 28px; }
.mc-drums__groove > p { text-align: center; max-width: 36em; margin: 0 auto 24px; }
.mc-drums__groove ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; counter-reset: groove; }
.mc-drums__groove li { background: var(--mc-soft); padding: 24px 18px; text-align: center; border-radius: 50% 50% 16px 16px / 28% 28% 16px 16px; }
.mc-drums__groove li::before { counter-increment: groove; content: counter(groove); display: block; width: 42px; height: 42px; margin: 0 auto 12px; border-radius: 50%; background: var(--mc-accent); color: #fff; font-weight: 800; line-height: 42px; }
.mc-drums__groove strong { color: var(--mc-deep); display: block; margin-bottom: 8px; }
.mc-drums__families { padding: 48px 0 56px; background: var(--mc-deep); color: #fff; }
.mc-drums__families h2 { margin: 0 0 10px; color: #fff; font-size: 28px; }
.mc-drums__families > .container > p { color: var(--mc-mist); max-width: 40em; }
.mc-drums__shells { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 24px; }
.mc-drums__shell { padding: 26px 28px; border: 1px solid rgba(159,212,245,.4); border-radius: 24px; }
.mc-drums__shell h3, .mc-drums__bar h2 { margin: 0 0 8px; color: #fff; }
.mc-drums__shell-lead { margin: 0 0 10px; color: var(--mc-sky); font-weight: 600; }
.mc-drums .mc-drums__shell-text { color: var(--mc-mist) !important; }
.mc-drums__shell ul { list-style: none; padding: 0; margin: 12px 0 0; }
.mc-drums__shell li { position: relative; padding-left: 14px; margin-bottom: 6px; color: var(--mc-mist); }
.mc-drums__shell li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 1px; background: var(--mc-sky); }
.mc-drums__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 22px; }
.mc-drums__facts > div { margin: 0; padding: 14px 16px; border: 1px solid rgba(159,212,245,.4); border-radius: 16px; }
.mc-drums__facts > div:nth-child(n+3) { grid-column: 1 / -1; }
.mc-drums__facts dt { margin: 0 0 6px; color: var(--mc-sky); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.mc-drums__facts dd { margin: 0; color: #fff; font-size: 15px; line-height: 1.5; }
.mc-drums__teacher { padding: 56px 0 48px; background: #fff; }
.mc-drums__teacher-spread { display: grid; grid-template-columns: minmax(280px, 460px) minmax(280px, 1fr); gap: 36px 48px; align-items: center; }
.mc-drums__teacher-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: 50% 88%; border-radius: 18px; }
.mc-drums__bar { background: linear-gradient(135deg, var(--mc-link), var(--mc-accent)); color: #fff; padding: 36px 0 42px; }
.mc-drums__bar p { color: rgba(255,255,255,.9); max-width: 40em; margin: 0; }
.mc-drums__format { padding: 26px 28px; background: var(--mc-soft); border-left: 6px solid var(--mc-accent); }
.mc-drums__format--online { border-left-color: var(--mc-mid); }
.mc-drums__why ol { list-style: none; padding: 0; margin: 24px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.mc-drums__why li { background: #fff; padding: 22px 18px; text-align: center; }
.mc-drums__why span { display: inline-flex; width: 36px; height: 36px; margin-bottom: 10px; border-radius: 50%; background: var(--mc-accent); color: #fff; font-weight: 800; align-items: center; justify-content: center; }
.mc-drums__why h3 { margin: 0 0 8px; color: var(--mc-deep); font-size: 17px; }
.mc-drums__enrol { padding: 56px 0 72px; background: radial-gradient(circle at 50% 0%, var(--mc-accent), var(--mc-deep) 70%); color: #fff; }
.mc-drums__enrol-main { padding: 28px; border: 1px solid rgba(159,212,245,.45); border-radius: 24px; background: rgba(255,255,255,.08); }
.mc-drums__enrol aside p { color: #fff; }
@media (prefers-reduced-motion: reduce) {
  .mc-drums__rings span { animation: none; opacity: .35; }
}
@media (max-width: 991px) {
  .mc-drums__groove ol, .mc-drums__shells, .mc-drums__facts, .mc-drums__teacher-spread, .mc-drums__formats-split, .mc-drums__why ol, .mc-drums__enrol-split, .mc-drums__enrol-pair, .mc-drums__months ol { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .mc-drums__stage h1 { font-size: 32px; }
}
/* ========== ukulele ========== */
.mc-ukulele { background: linear-gradient(180deg, var(--mc-soft) 0%, #eef4f8 100%); padding: 28px 0 56px; color: #555; }
.mc-ukulele__hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: 28px; align-items: center; margin-bottom: 36px; }
.mc-ukulele__card { background: #fff; border-radius: 28px; padding: 36px; box-shadow: 0 16px 40px rgba(35,41,85,.08); transform: rotate(-1deg); }
.mc-ukulele__card p:first-child { color: var(--mc-accent); font-weight: 700; }
.mc-ukulele__card h1 { color: var(--mc-deep); font-size: 38px; margin: 8px 0 12px; }
.mc-ukulele__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.mc-ukulele__strings { list-style: none; margin: 0; padding: 24px 0; display: grid; gap: 14px; }
.mc-ukulele__strings li { display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: center; }
.mc-ukulele__strings li span { order: -1; }
.mc-ukulele__strings span { font-weight: 800; color: var(--mc-accent); }
.mc-ukulele__strings b { display: block; height: 3px; background: var(--mc-accent); transform-origin: left center; transform: scaleX(0); animation: mc-ukulele-string .6s ease forwards; animation-delay: calc(var(--i) * .12s); box-shadow: 0 0 8px rgba(1,104,184,.35); }
@keyframes mc-ukulele-string {
  0% { transform: scaleX(0); }
  100% { transform: scaleX(1); }
}
.mc-ukulele__songs h2 { margin: 0 0 16px; color: var(--mc-deep); font-size: 28px; }
.mc-ukulele__stack { display: grid; gap: 16px; }
.mc-ukulele__stack article { background: #fff; padding: 22px 24px; border-radius: 18px; border-left: 8px solid var(--mc-link); }
.mc-ukulele__stack article:nth-child(2) { margin-left: 28px; border-left-color: var(--mc-accent); }
.mc-ukulele__stack article:nth-child(3) { margin-left: 56px; border-left-color: var(--mc-mid); }
.mc-ukulele__stack h3 { color: var(--mc-deep); margin: 0 0 6px; }
.mc-ukulele__teacher { padding: 40px 0 48px; background: #fff; }
.mc-ukulele__teacher-spread { display: grid; grid-template-columns: minmax(240px, 320px) minmax(280px, 1fr); gap: 36px 48px; align-items: center; }
.mc-ukulele__teacher-copy h2, .mc-ukulele__classes h2, .mc-ukulele__next h2 { margin: 0 0 8px; color: var(--mc-deep); font-size: 28px; }
.mc-ukulele__teacher-name { margin: 0 0 4px; color: var(--mc-deep); font-size: 32px; line-height: 1.15; font-weight: 700; }
.mc-ukulele__teacher-role { margin: 0 0 16px; color: var(--mc-accent); font-weight: 700; }
.mc-ukulele__classes, .mc-ukulele__next, .mc-ukulele__formats, .mc-ukulele__why, .mc-ukulele__details { padding: 12px 0 36px; }
.mc-ukulele__class-pair, .mc-ukulele__sizes, .mc-ukulele__formats-split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 18px; }
.mc-ukulele__class-pair figure { margin: 0; background: #fff; border-radius: 20px; overflow: hidden; }
.mc-ukulele__class-pair img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.mc-ukulele__class-pair figcaption { padding: 12px 16px 16px; color: var(--mc-deep); font-weight: 700; }
.mc-ukulele__families { padding: 12px 0 28px; }
.mc-ukulele__size-graphic { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: end; margin: 24px 0 8px; padding: 28px 20px 20px; background: #fff; border-radius: 24px; }
.mc-ukulele__uke { text-align: center; }
.mc-ukulele__uke svg { display: block; margin: 0 auto 12px; width: auto; }
.mc-ukulele__uke--soprano svg { height: 168px; }
.mc-ukulele__uke--concert svg { height: 196px; }
.mc-ukulele__uke p { margin: 0; color: #555; font-size: 14px; line-height: 1.45; }
.mc-ukulele__uke strong { display: block; color: var(--mc-deep); font-size: 18px; margin-bottom: 4px; }
.mc-ukulele__ruler { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 8px; padding-bottom: 52px; color: var(--mc-accent); font-size: 12px; font-weight: 700; }
.mc-ukulele__ruler b { display: block; width: 1px; height: 120px; background: linear-gradient(var(--mc-accent), var(--mc-sky)); }
.mc-ukulele__sizes article, .mc-ukulele__next article { background: #fff; padding: 24px; border-radius: 20px; }
.mc-ukulele__sizes h3, .mc-ukulele__next h3 { margin: 0 0 8px; color: var(--mc-deep); }
.mc-ukulele__size-lead { margin: 0 0 10px; color: var(--mc-accent); font-weight: 600; }
.mc-ukulele__sizes ul { list-style: none; padding: 0; margin: 12px 0 0; }
.mc-ukulele__sizes li { position: relative; padding-left: 14px; margin-bottom: 6px; }
.mc-ukulele__sizes li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 1px; background: var(--mc-accent); }
.mc-ukulele__months li { background: #fff; padding: 20px; border-radius: 16px; border-top: 4px solid var(--mc-accent); color: #555; }
.mc-ukulele__setlist { margin: 12px 0 28px; background: var(--mc-deep); color: #fff; padding: 36px 0; }
.mc-ukulele__setlist h2 { margin: 0 0 8px; color: #fff; font-size: 28px; }
.mc-ukulele__setlist > .container > p { margin: 0 0 20px; color: var(--mc-sky); max-width: 40em; }
.mc-ukulele__setlist ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.mc-ukulele__setlist li { display: grid; grid-template-columns: 5.5em 1fr auto; gap: 16px; align-items: baseline; padding: 14px 16px; background: rgba(255,255,255,.06); border-left: 4px solid var(--mc-link); }
.mc-ukulele__setlist li:nth-child(2) { border-left-color: var(--mc-accent); }
.mc-ukulele__setlist li:nth-child(3) { border-left-color: var(--mc-sky); }
.mc-ukulele__setlist li:nth-child(4) { border-left-color: #fff; }
.mc-ukulele__setlist span { color: var(--mc-sky); font-weight: 700; }
.mc-ukulele__setlist strong { color: #fff; font-size: 18px; }
.mc-ukulele__setlist em { color: var(--mc-sky); font-style: normal; font-weight: 700; }
.mc-ukulele__next-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; margin-top: 18px; }
.mc-ukulele__next a { display: inline-block; margin-top: 10px; color: var(--mc-accent); font-weight: 700; }
.mc-ukulele__note { margin: 28px 0; padding: 24px; background: linear-gradient(135deg, var(--mc-link), var(--mc-accent)); color: #fff; border-radius: 18px; }
.mc-ukulele__note h2 { color: #fff; margin: 0 0 8px; }
.mc-ukulele__note p { color: rgba(255,255,255,.92); margin: 0; }
.mc-ukulele__format { background: #fff; padding: 24px; border-radius: 18px; }
.mc-ukulele__format--online { transform: rotate(.6deg); }
.mc-ukulele__format--offline { transform: rotate(-.6deg); }
.mc-ukulele__why ol { list-style: none; padding: 0; margin: 20px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mc-ukulele__why li { display: grid; grid-template-columns: 36px 1fr; gap: 12px; background: #fff; padding: 18px; border-radius: 16px; }
.mc-ukulele__why span { width: 36px; height: 36px; border-radius: 50%; background: var(--mc-accent); color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.mc-ukulele__why h3 { margin: 0 0 6px; color: var(--mc-deep); font-size: 17px; }
.mc-ukulele__details dl { background: #fff; border-radius: 20px; padding: 8px 24px; }
.mc-ukulele__details dl > div:last-child { border-bottom: 0; }
.mc-ukulele__faqs details { background: #fff; padding: 14px 16px; margin-bottom: 8px; border-radius: 14px; }
.mc-ukulele__enrol { margin: 12px 0 28px; }
.mc-ukulele__enrol h2 { margin: 0 0 10px; color: var(--mc-deep); font-size: 28px; }
.mc-ukulele__enrol-split { display: grid; grid-template-columns: 1.3fr .7fr; gap: 24px; margin-top: 20px; }
.mc-ukulele__enrol-main { background: #fff; padding: 28px; border-radius: 24px; box-shadow: 0 16px 40px rgba(35,41,85,.08); }
.mc-ukulele__enrol-ok { margin: 0 0 18px; padding: 12px; background: var(--mc-mist); color: var(--mc-deep); }
.mc-ukulele__enrol-err { margin: 0 0 18px; padding-left: 14px; border-left: 3px solid var(--mc-accent); }
.mc-ukulele__enrol aside { background: linear-gradient(135deg, var(--mc-link), var(--mc-accent)); color: #fff; padding: 24px; border-radius: 20px; }
.mc-ukulele__enrol aside p { color: rgba(255,255,255,.92); }
.mc-ukulele__links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.mc-ukulele__links a { color: var(--mc-accent); background: #fff; border: 1px solid #ececec; padding: 8px 14px; border-radius: 999px; text-decoration: none !important; }
@media (prefers-reduced-motion: reduce) {
  .mc-ukulele__strings b { animation: none; transform: none; }
}
@media (max-width: 991px) {
  .mc-ukulele__hero, .mc-ukulele__sizes, .mc-ukulele__formats-split, .mc-ukulele__why ol, .mc-ukulele__enrol-split, .mc-ukulele__enrol-pair, .mc-ukulele__teacher-spread, .mc-ukulele__class-pair, .mc-ukulele__next-grid, .mc-ukulele__months ol { grid-template-columns: 1fr; }
  .mc-ukulele__teacher { padding: 32px 0 40px; }
  .mc-ukulele__size-graphic { grid-template-columns: 1fr 1fr; }
  .mc-ukulele__ruler { display: none; }
}
@media (max-width: 575px) {
  .mc-ukulele__stack article, .mc-ukulele__stack article:nth-child(2), .mc-ukulele__stack article:nth-child(3) { margin-left: 0; }
  .mc-ukulele__card { transform: none; }
  .mc-ukulele__size-graphic { grid-template-columns: 1fr; }
  .mc-ukulele__setlist li { grid-template-columns: 1fr; gap: 4px; }
}
/* ========== brass-instruments ========== */
.mc-brass__banner { background: linear-gradient(115deg, var(--mc-deep) 0%, var(--mc-accent) 78%, var(--mc-link) 100%); padding: 56px 0 64px; color: #fff; overflow: hidden; }
.mc-brass__banner-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 24px; align-items: center; }
.mc-brass__kicker { margin: 0; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; color: var(--mc-sky); }
.mc-brass__banner h1 { color: #fff; font-size: 40px; margin: 10px 0 12px; max-width: 16em; }
.mc-brass__lead { max-width: 640px; color: rgba(255,255,255,.88); }
.mc-brass__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.mc-brass__horn { position: relative; height: 160px; }
.mc-brass__horn-bell { position: absolute; right: 8%; top: 18px; width: 92px; height: 92px; border: 8px solid var(--mc-sky); border-radius: 50%; box-shadow: inset 0 0 0 18px rgba(230,243,251,.25); opacity: 0; animation: mc-brass-assemble .5s ease .1s forwards; }
.mc-brass__horn-tube { position: absolute; right: 28%; top: 56px; width: 120px; height: 16px; background: var(--mc-mist); border-radius: 8px; opacity: 0; animation: mc-brass-assemble .45s ease .28s forwards; }
.mc-brass__horn-valves { position: absolute; right: 42%; top: 36px; display: flex; gap: 8px; }
.mc-brass__horn-valves i { width: 14px; height: 36px; background: var(--mc-sky); border-radius: 4px; opacity: 0; animation: mc-brass-assemble .35s ease forwards; }
.mc-brass__horn-valves i:nth-child(1) { animation-delay: .45s; }
.mc-brass__horn-valves i:nth-child(2) { animation-delay: .55s; }
.mc-brass__horn-valves i:nth-child(3) { animation-delay: .65s; }
.mc-brass__horn-lead { position: absolute; right: 68%; top: 58px; width: 70px; height: 10px; background: #fff; border-radius: 6px; opacity: 0; animation: mc-brass-assemble .4s ease .75s forwards; }
@keyframes mc-brass-assemble {
  0% { opacity: 0; transform: translateY(10px); }
  100% { opacity: 1; transform: none; }
}
.mc-brass__teacher { padding: 40px 0 8px; background: var(--mc-soft); }
.mc-brass__teacher p { margin: 0; max-width: 46em; }
.mc-brass__paths > .container { padding-top: 48px; }
.mc-brass__paths-lead { max-width: 42em; margin: 0 0 18px; }
.mc-brass__path-switch { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.mc-brass__path-card { display: block; margin: 0; padding: 18px 16px 20px; background: #fff; border: 1px solid rgba(1,104,184,.28); border-radius: 14px; cursor: pointer; }
.mc-brass__path-card strong { display: block; margin: 0 0 6px; color: var(--mc-deep); font-size: 16px; line-height: 1.3; }
.mc-brass__path-card span { display: block; color: #555; font-size: 14px; line-height: 1.45; font-weight: 600; }
.mc-brass__path-card input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
.mc-brass__path-card:has(input:checked) { border-color: var(--mc-accent); box-shadow: inset 0 -4px 0 var(--mc-accent); }
.mc-brass__path-card:has(input:focus-visible) { outline: 2px solid var(--mc-accent); outline-offset: 3px; }
.mc-brass__panel { display: none; }
.mc-brass__paths:has(#brass-path-horns:checked) .mc-brass__panel--horns, .mc-brass__paths:has(#brass-path-band:checked) .mc-brass__panel--band, .mc-brass__paths:has(#brass-path-percussion:checked) .mc-brass__panel--percussion { display: block; }
.mc-brass__police-grid--pair { grid-template-columns: 1fr 1fr; }
.mc-brass__police-grid--single { grid-template-columns: minmax(0, 520px); }
.mc-brass__police a { color: var(--mc-accent); font-weight: 700; }
.mc-brass__split-wrap { padding: 56px 0; }
.mc-brass__split { display: grid; grid-template-columns: 1.3fr .7fr; gap: 28px; }
.mc-brass__split h2 { color: var(--mc-deep); margin: 0 0 12px; font-size: 28px; }
.mc-brass__split ul { list-style: none; padding: 0; margin: 16px 0 0; }
.mc-brass__split li { position: relative; padding-left: 16px; margin-bottom: 8px; }
.mc-brass__split li::before, .mc-brass__stands li::before, .mc-brass__police-card li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 1px; background: var(--mc-accent); }
.mc-brass__split aside { background: var(--mc-mid); color: #fff; padding: 28px; }
.mc-brass__split aside h2 { color: #fff; font-size: 22px; }
.mc-brass__split aside p { color: rgba(255,255,255,.88); }
.mc-brass__families { padding: 48px 0 56px; background: var(--mc-soft); }
.mc-brass__stands { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 22px; }
.mc-brass__stands article { background: #fff; padding: 26px 28px; border-bottom: 6px solid var(--mc-accent); }
.mc-brass__stands article:last-child { border-bottom-color: var(--mc-mid); }
.mc-brass__stands h3 { margin: 0 0 8px; color: var(--mc-deep); }
.mc-brass__stand-lead, .mc-brass__police-card-lead { margin: 0 0 10px; color: var(--mc-accent); font-weight: 600; }
.mc-brass__stands ul, .mc-brass__service-card ul, .mc-brass__police-card ul { list-style: none; padding: 0; margin: 12px 0 0; }
.mc-brass__stands li, .mc-brass__police-card li { position: relative; padding-left: 14px; margin-bottom: 6px; }
.mc-brass__fanfare { background: linear-gradient(160deg, #141b30 0%, var(--mc-deep) 42%, var(--mc-mid) 100%); color: #fff; padding: 44px 0 52px; }
.mc-brass__fanfare h2 { color: #fff; margin: 0 0 18px; }
.mc-brass__row, .mc-brass__police-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mc-brass__row div { border: 1px solid rgba(159,212,245,.4); padding: 18px 16px; }
.mc-brass__row strong { display: block; color: var(--mc-sky); margin-bottom: 6px; }
.mc-brass__service { padding: 56px 0 64px; background: var(--mc-deep); color: var(--mc-mist); }
.mc-brass__service h2 { margin: 0 0 10px; color: #fff; font-size: 28px; }
.mc-brass__service-lead { margin: 0 0 28px; max-width: 46em; color: var(--mc-mist); }
.mc-brass__service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.mc-brass__service-card { padding: 26px 28px; border: 1px solid rgba(159,212,245,.4); }
.mc-brass__service-card h3 { margin: 0 0 8px; color: #fff; font-size: 22px; }
.mc-brass__service-card-lead { margin: 0 0 10px; color: var(--mc-sky); font-weight: 600; }
.mc-brass__service-card-text, .mc-brass__service-card p { color: var(--mc-mist) !important; }
.mc-brass__service-card li { position: relative; padding-left: 14px; margin-bottom: 6px; color: var(--mc-mist); }
.mc-brass__service-card li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 1px; background: var(--mc-sky); }
.mc-brass__police { padding: 56px 0 64px; background: var(--mc-mist); color: var(--mc-deep); }
.mc-brass__police h2 { margin: 0 0 10px; color: var(--mc-deep); font-size: 28px; }
.mc-brass__police > .container > p { margin: 0 0 24px; max-width: 46em; color: var(--mc-mid); }
.mc-brass__police-card { padding: 24px 22px 26px; background: #fff; border-top: 6px solid var(--mc-accent); }
.mc-brass__police-card:nth-child(2) { border-top-color: var(--mc-mid); }
.mc-brass__police-card:nth-child(3) { border-top-color: var(--mc-link); }
.mc-brass__police-card h3 { margin: 0 0 8px; color: var(--mc-deep); font-size: 22px; }
.mc-brass__format { padding: 26px 28px; background: var(--mc-mist); }
.mc-brass__format--online { background: var(--mc-deep); color: #fff; }
.mc-brass__format--online h3 { color: #fff; }
.mc-brass__format--online .mc-brass__format-lead { color: var(--mc-sky); }
.mc-brass__format--online li::before { background: var(--mc-sky); }
.mc-brass__why ol { list-style: none; padding: 0; margin: 24px 0 0; }
.mc-brass__why li { display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--mc-rule); }
.mc-brass__why span { font-weight: 800; color: var(--mc-accent); font-size: 18px; }
.mc-brass__faqs { padding: 48px 0 56px; background: var(--mc-mist); }
.mc-brass__enrol { padding: 56px 0 72px; background: linear-gradient(115deg, var(--mc-deep) 0%, var(--mc-accent) 100%); color: #fff; }
.mc-brass__enrol-main { padding: 28px; background: rgba(255,255,255,.08); border: 1px solid rgba(159,212,245,.4); }
@media (prefers-reduced-motion: reduce) {
  .mc-brass__horn-bell, .mc-brass__horn-tube, .mc-brass__horn-valves i, .mc-brass__horn-lead { animation: none; opacity: 1; }
}
@media (max-width: 991px) {
  .mc-brass__banner-grid, .mc-brass__split, .mc-brass__stands, .mc-brass__row, .mc-brass__service-grid, .mc-brass__police-grid, .mc-brass__police-grid--pair, .mc-brass__path-switch, .mc-brass__formats-split, .mc-brass__enrol-split, .mc-brass__enrol-pair, .mc-brass__months ol { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .mc-brass__banner h1 { font-size: 30px; }
}
/* ========== music-production ========== */
.mc-production { background: #fff; color: #555; padding-bottom: 48px; }
.mc-production__hero { background: var(--mc-soft); }
.mc-production__top { display: grid; grid-template-columns: 1.2fr .8fr; gap: 32px; align-items: end; padding: 48px 0 28px; }
.mc-production__top p:first-child { color: var(--mc-accent); letter-spacing: .14em; text-transform: uppercase; font-size: 12px; font-weight: 700; }
.mc-production__top h1 { color: var(--mc-deep); font-size: 40px; margin: 10px 0 14px; }
.mc-production__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0 0; }
.mc-production__hero-photo { margin: 0; }
.mc-production__hero-photo img { display: block; width: 100%; height: 320px; object-fit: cover; object-position: center 28%; }
.mc-production__hero-photo figcaption { margin-top: 8px; font-size: 14px; color: #555; }
.mc-production__pipeline { background: linear-gradient(160deg, #141b30 0%, var(--mc-deep) 42%, var(--mc-mid) 100%); padding: 44px 0; }
.mc-production__pipeline h2 { color: #fff; margin: 0 0 18px; font-size: 28px; }
.mc-production__pipeline ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.mc-production__pipeline li { background: rgba(255,255,255,.06); padding: 18px; border-top: 3px solid var(--mc-sky); }
.mc-production__pipeline strong { display: block; color: var(--mc-sky); margin-bottom: 8px; }
.mc-production__pipeline span { color: rgba(255,255,255,.88); }
.mc-production__teacher-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 60% 20%; }
.mc-production__teacher h3 { margin: 20px 0 8px; color: var(--mc-deep); font-size: 20px; }
.mc-production__daws { padding: 8px 0 48px; background: #fff; }
.mc-production__daws h2, .mc-production__kit h2, .mc-production__projects h2 { margin: 0 0 10px; color: var(--mc-deep); font-size: 28px; }
.mc-production__daw-list { list-style: none; padding: 0; margin: 20px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.mc-production__daw-list li { padding: 16px 18px; background: var(--mc-soft); border-top: 3px solid var(--mc-accent); color: var(--mc-deep); font-weight: 700; }
.mc-production__kit { padding: 48px 0 56px; background: var(--mc-soft); }
.mc-production__kit ul { list-style: none; padding: 0; margin: 16px 0 0; max-width: 46em; }
.mc-production__kit li { position: relative; padding-left: 16px; margin-bottom: 10px; }
.mc-production__kit li::before, .mc-production__paths-grid li::before, .mc-production__channel li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 1px; background: var(--mc-accent); }
.mc-production__duration { padding: 48px 0 56px; background: var(--mc-deep); color: #fff; }
.mc-production__duration h2 { margin: 0 0 10px; color: #fff; font-size: 28px; }
.mc-production__duration > .container > p { color: var(--mc-mist); max-width: 46em; }
.mc-production__duration-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 22px; }
.mc-production__duration-grid article { padding: 22px 20px; background: rgba(255,255,255,.06); border-top: 3px solid var(--mc-sky); }
.mc-production__duration-grid h3, .mc-production__format h3 { margin: 0 0 8px; color: #fff; }
.mc-production__duration-grid p { margin: 0; color: rgba(255,255,255,.88); }
.mc-production__paths, .mc-production__families { padding: 48px 0 56px; background: #fff; }
.mc-production__paths-grid, .mc-production__channels { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 22px; border: 1px solid var(--mc-rule); }
.mc-production__paths-grid article, .mc-production__channel { padding: 26px 28px; }
.mc-production__paths-grid article:first-child { background: var(--mc-mist); border-right: 1px solid var(--mc-rule); }
.mc-production__paths-grid h3, .mc-production__channel h3 { margin: 0 0 8px; color: var(--mc-deep); }
.mc-production__paths-grid ul, .mc-production__channel ul { list-style: none; padding: 0; margin: 12px 0 0; }
.mc-production__paths-grid li, .mc-production__channel li { position: relative; padding-left: 14px; margin-bottom: 6px; }
.mc-production__projects { padding: 48px 0 8px; background: var(--mc-soft); }
.mc-production__projects p { max-width: 46em; }
.mc-production__channel:first-child { border-right: 1px solid var(--mc-rule); background: var(--mc-soft); }
.mc-production__channel-lead { margin: 0 0 10px; color: var(--mc-accent); font-weight: 600; }
.mc-production__formats { padding: 48px 0 56px; background: #141b30; color: #fff; }
.mc-production__formats h2 { margin: 0 0 8px; color: #fff; font-size: 28px; }
.mc-production__formats > .container > p { color: var(--mc-mist); }
.mc-production__formats-split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 22px; }
.mc-production__format { padding: 24px 26px; background: rgba(255,255,255,.06); border-left: 4px solid var(--mc-sky); }
.mc-production__format-lead { margin: 0 0 10px; color: var(--mc-sky); font-weight: 600; }
.mc-production__format li { position: relative; padding-left: 14px; margin-bottom: 6px; color: var(--mc-mist); }
.mc-production__format li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 1px; background: var(--mc-sky); }
.mc-production__why ol { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 12px; }
.mc-production__why li { display: grid; grid-template-columns: 52px 1fr; gap: 16px; background: #fff; padding: 16px 18px; }
.mc-production__why span { font-size: 12px; font-weight: 800; letter-spacing: .08em; color: var(--mc-accent); padding-top: 4px; }
.mc-production__enrol { padding: 56px 0 64px; background: var(--mc-deep); color: #fff; }
.mc-production__enrol-main { padding: 26px 28px; background: #141b30; border: 1px solid rgba(159,212,245,.35); }
.mc-production__enrol aside { padding: 8px 0 0; border-left: 2px solid var(--mc-sky); padding-left: 22px; }
.mc-production__others { padding: 36px 0 8px; }
@media (max-width: 991px) {
  .mc-production__top, .mc-production__pipeline ol, .mc-production__channels, .mc-production__formats-split, .mc-production__enrol-split, .mc-production__enrol-pair, .mc-production__teacher-spread, .mc-production__daw-list, .mc-production__duration-grid, .mc-production__paths-grid { grid-template-columns: 1fr; }
  .mc-production__paths-grid article:first-child, .mc-production__channel:first-child { border-right: 0; border-bottom: 1px solid var(--mc-rule); }
  .mc-production__hero-photo img { height: 220px; }
  .mc-production__enrol aside { border-left: 0; padding-left: 0; border-top: 2px solid var(--mc-sky); padding-top: 20px; }
}
@media (max-width: 767px) {
  .mc-production__top h1 { font-size: 30px; }
}
