:root {
  --vw-mx: 50vw;
  --vw-my: 50vh;
  --vw-rx: 0deg;
  --vw-ry: 0deg;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body[data-world] { margin: 0; min-width: 320px; overflow-x: hidden; }
body[data-world] img { max-width: 100%; display: block; }
body[data-world] button,
body[data-world] input { font: inherit; }
body[data-world] button,
body[data-world] a { -webkit-tap-highlight-color: transparent; }
body[data-world] a { color: inherit; }
body[data-world] :focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
body[data-world] ::selection { background: var(--vw-accent, #afdf6d); color: var(--vw-ink, #101010); }

.world-nav {
  position: fixed;
  z-index: 1000;
  top: 14px;
  left: 50%;
  width: min(760px, calc(100% - 28px));
  min-height: 54px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 7px 8px 7px 20px;
  border: 1px solid var(--nav-border, rgba(255,255,255,.18));
  border-radius: 999px;
  color: var(--nav-ink, #fff);
  background: var(--nav-bg, #111);
  box-shadow: 0 16px 45px rgba(0,0,0,.16);
}
.world-nav__brand { text-decoration: none; font-weight: 800; letter-spacing: -.03em; white-space: nowrap; }
.world-nav__links { display: flex; align-items: center; gap: clamp(11px, 2vw, 24px); }
.world-nav__links a { position: relative; font-size: 12px; font-weight: 700; text-decoration: none; letter-spacing: .05em; text-transform: uppercase; }
.world-nav__links a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -5px; height: 2px; background: currentColor; transition: right .28s ease; }
.world-nav__links a:hover::after { right: 0; }
.world-nav__cta { padding: 11px 17px; border-radius: 999px; color: var(--nav-cta-ink, #111); background: var(--nav-cta, #fff); }

.vw-main { position: relative; isolation: isolate; }
.vw-eyebrow { margin: 0 0 16px; font-size: 11px; line-height: 1; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.vw-kicker { font-size: clamp(15px, 1.6vw, 19px); line-height: 1.65; }
.vw-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 13px 21px; border: 1px solid currentColor; border-radius: 999px;
  color: inherit; background: transparent; cursor: pointer; text-decoration: none; font-weight: 800;
  transition: transform .25s ease, color .25s ease, background .25s ease, box-shadow .25s ease;
}
.vw-button:hover { transform: translateY(-3px); }
.vw-button--solid { color: var(--vw-button-ink, #111); background: var(--vw-accent, #fff); border-color: var(--vw-accent, #fff); }
.vw-section-heading { margin: 0; font-size: clamp(40px, 7vw, 100px); line-height: .92; letter-spacing: -.065em; }
.vw-reveal { opacity: 1; transform: none; }
.vw-reveal.is-visible { animation: vw-rise .7s cubic-bezier(.2,.8,.2,1) both; }
@keyframes vw-rise { from { transform: translateY(18px); } to { transform: none; } }
.vw-cursor { position: fixed; z-index: 2200; top: 0; left: 0; width: 44px; height: 44px; border: 1px solid currentColor; border-radius: 50%; pointer-events: none; transform: translate(-50%,-50%); transition: width .16s,height .16s,background .16s; mix-blend-mode: difference; color: #fff; }
.vw-cursor::after { content: ""; position: absolute; inset: 17px; border-radius: 50%; background: currentColor; }
.vw-cursor.is-hot { width: 72px; height: 72px; background: rgba(255,255,255,.14); }
.vw-footer { position: relative; padding: 54px clamp(20px,5vw,72px) 34px; border-top: 1px solid currentColor; }
.vw-footer__grid { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 30px; }
.vw-footer__word { margin: 0; font-size: clamp(45px, 11vw, 160px); line-height: .74; letter-spacing: -.08em; }
.vw-footer__small { max-width: 520px; font-size: 13px; line-height: 1.7; opacity: .68; }
[data-course-portal] { min-height: 1px; }

/* -------------------------------------------------------------------------- */
/* CHOIR / an inhabitable, spatial score                                      */
/* -------------------------------------------------------------------------- */
body[data-world="choir"] {
  --vw-ink: #fff8e8; --vw-accent: #ee6a6f; --vw-button-ink: #240817;
  --nav-bg: #fff1d0; --nav-ink: #351021; --nav-border: #351021; --nav-cta: #351021; --nav-cta-ink: #fff1d0;
  color: #fff8e8; background: #250914; font-family: "Instrument Sans", Arial, sans-serif;
}
.choir-hero { min-height: 100svh; padding: 130px clamp(22px,5vw,76px) 70px; display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(25px,4vw,70px); align-items: center; background: radial-gradient(circle at 74% 35%,#7d2125 0 8%,#3b0c20 35%,#1e0711 76%); }
.choir-hero__copy { position: relative; z-index: 3; }
.choir-hero h1 { margin: 0; font-family: 'Instrument Serif', Georgia, serif; font-size: clamp(72px,10vw,156px); font-weight: 500; line-height: .7; letter-spacing: -.07em; }
.choir-hero h1 span { display: block; margin-left: .55em; color: #ee6a6f; font-style: italic; }
.choir-hero__copy .vw-kicker { max-width: 530px; margin: 35px 0 30px 14%; color: #e8d0d1; }
.choir-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-left: 14%; }
.choir-hall { position: relative; min-height: 650px; perspective: 1100px; transform-style: preserve-3d; }
.choir-hall::before { content:""; position:absolute; inset: 8% -6% -3%; border:1px solid rgba(238, 106, 111,.28); border-radius: 50% 50% 8px 8px; transform: rotateX(62deg) translateZ(-100px); background: repeating-radial-gradient(ellipse at 50% 62%,transparent 0 46px,rgba(238, 106, 111,.15) 47px 48px); }
.choir-hall__photo { position: absolute; inset: 2% 18% 35%; overflow: hidden; border-radius: 48% 48% 8px 8px; transform: translateZ(-75px) rotateX(-3deg); box-shadow: 0 45px 80px #14030c; }
.choir-hall__photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(32,5,16,.06),#2c091a 92%); }
.choir-hall__photo img { width:100%; height:100%; object-fit:cover; filter: sepia(.2) contrast(1.08); }
.choir-seats { position: absolute; inset: 28% 2% 6%; transform: rotateX(57deg) rotateZ(var(--hall-turn,0deg)); transform-style: preserve-3d; transition: transform .3s ease; }
.choir-singer { --seat: #ee6a6f; position: absolute; left: calc(50% + var(--x)); top: var(--y); width: clamp(52px,6vw,82px); aspect-ratio:1; border: 2px solid var(--seat); border-radius: 50%; color:#2d0918; background:var(--seat); box-shadow:0 8px 0 #210611,0 18px 32px rgba(0,0,0,.35); cursor:pointer; font-weight:900; transform:translate(-50%,-50%) rotateX(-57deg) translateZ(var(--z,10px)); transition: transform .25s,box-shadow .25s,opacity .25s; }
.choir-singer:hover,.choir-singer[aria-pressed="true"] { transform:translate(-50%,-50%) rotateX(-57deg) translateZ(48px) scale(1.1); box-shadow:0 8px 0 #210611,0 0 34px var(--seat); }
.choir-singer[data-part="alto"]{--seat:#f07a7f}.choir-singer[data-part="tenor"]{--seat:#a7d862}.choir-singer[data-part="bass"]{--seat:#cfa1ea}
.choir-conductor { position:absolute; left:50%; bottom:2%; width:120px; height:150px; transform:translateX(-50%) translateZ(100px); transform-style:preserve-3d; pointer-events:none; }
.choir-conductor__head { position:absolute; left:44px; top:0; width:34px; height:40px; border-radius:50%; background:#fff1d0; }
.choir-conductor__body { position:absolute; left:30px; top:36px; width:62px; height:100px; clip-path:polygon(28% 0,72% 0,100% 100%,0 100%); background:#11040a; }
.choir-baton { position:absolute; z-index:4; left:50%; bottom:90px; width:4px; height:155px; border-radius:5px; background:#fff1d0; transform-origin:50% 100%; transform:rotate(var(--baton,-22deg)); box-shadow:0 0 16px #fff1d0; transition:transform .12s linear; }
.choir-console { padding: 70px clamp(22px,6vw,90px); color:#351021; background:#fff1d0; }
.choir-console__head { display:grid; grid-template-columns:1fr minmax(250px,420px); gap:35px; align-items:end; margin-bottom:48px; }
.choir-console h2 { font-family:'Instrument Serif',serif; font-weight:500; }
.choir-mixer { display:grid; grid-template-columns:repeat(4,1fr); border:2px solid #351021; border-radius:22px; overflow:hidden; box-shadow:14px 14px 0 #ee6a6f; }
.choir-channel { min-height:360px; padding:25px 17px; display:flex; flex-direction:column; align-items:center; gap:18px; border-right:1px solid #351021; background:#fff8e8; }
.choir-channel:last-child{border:0}.choir-channel:nth-child(2){background:#eedddd}.choir-channel:nth-child(3){background:#e7eedd}.choir-channel:nth-child(4){background:#e8ddee}
.choir-channel__letter { font-family:'Instrument Serif',serif; font-size:64px; line-height:.8; }
.choir-fader { appearance:none; writing-mode:vertical-lr; direction:rtl; width:12px; flex:1; border:1px solid #351021; border-radius:99px; background:#351021; accent-color:#ee6b70; cursor:ns-resize; }
.choir-channel output { min-width:48px; padding:4px; border:1px solid #351021; border-radius:99px; text-align:center; font-size:11px; font-weight:800; }
.choir-story { display:grid; grid-template-columns:1.05fr .95fr; min-height:760px; color:#fff8e8; background:#351021; }
.choir-story__image { min-height:580px; position:relative; overflow:hidden; clip-path:polygon(0 0,100% 8%,88% 100%,0 94%); }
.choir-story__image img{width:100%;height:100%;object-fit:cover}.choir-story__image::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 50%,#351021)}
.choir-story__copy { padding:120px clamp(28px,6vw,92px); align-self:center; }
.choir-story h2{font-family:'Instrument Serif',serif;font-weight:500}.choir-story p{max-width:520px;color:#e5cacb;font-size:18px;line-height:1.75}
.choir-schedule { margin-top:42px; display:grid; gap:12px; }
.choir-ticket { display:grid; grid-template-columns:82px 1fr auto; align-items:center; gap:20px; padding:17px; border:1px solid #ee6a6f; border-radius:12px; transition:transform .25s,background .25s; }
.choir-ticket:hover { transform:translateX(-10px) rotate(-1deg); background:#541517; }
.choir-ticket strong{font-size:28px}.choir-ticket small{color:#ee6a6f}.choir-ticket b{font-family:'Instrument Serif',serif;font-size:24px}
.choir-portal { padding:80px 20px; text-align:center; color:#351021; background:#ee6a6f; }
.choir-portal h2{margin:0 auto 24px;max-width:850px;font-family:'Instrument Serif',serif;font-size:clamp(45px,8vw,110px);font-weight:500;line-height:.82;letter-spacing:-.06em}

/* Choir contrast and human-voice workstation */
body[data-world="choir"] .world-nav{--nav-ink:#2a0714;color:#2a0714;background:#fff3cf;border:2px solid #2a0714;box-shadow:0 14px 0 rgba(20,2,9,.28)}
body[data-world="choir"] .world-nav a{color:#2a0714;opacity:1}
body[data-world="choir"] .world-nav>.world-nav__brand:first-child::before{color:#9f2125}
body[data-world="choir"] .world-nav .world-nav__cta{color:#fff3cf;background:#2a0714;border:1px solid #2a0714}
.choir-workstation{border:3px solid #351021;border-radius:24px;overflow:hidden;background:#351021;box-shadow:16px 16px 0 #ee6a6f}
.choir-transport{display:grid;grid-template-columns:1.15fr minmax(180px,.8fr) minmax(170px,.7fr) auto;gap:16px;align-items:end;padding:24px;color:#fff8e8;background:#351021}
.choir-transport__identity{display:flex;align-items:center;gap:12px;align-self:center}.choir-transport__identity b{display:block;font-size:12px;letter-spacing:.13em}.choir-transport__identity small{display:block;margin-top:3px;color:#d8adae;font-size:10px}.choir-live-dot{width:13px;aspect-ratio:1;border-radius:50%;background:#b0df6f;box-shadow:0 0 0 7px rgba(176, 223, 111,.12),0 0 22px rgba(176, 223, 111,.65);animation:choir-live 1.8s ease-in-out infinite}@keyframes choir-live{50%{transform:scale(.72);opacity:.72}}
.choir-select{display:grid;gap:7px}.choir-select span{font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#ee6a6f}.choir-select select{min-width:0;height:45px;padding:0 35px 0 12px;border:1px solid #9a484b;border-radius:7px;color:#fff8e8;background:#501517;cursor:pointer;outline-offset:3px}
.choir-transport__buttons{display:flex;gap:7px}.choir-transport__buttons button{min-height:45px;padding:0 16px;border:1px solid #ee6a6f;border-radius:7px;color:#351021;background:#ee6a6f;cursor:pointer;font-weight:900}.choir-transport__buttons button:last-child{width:45px;padding:0;color:#fff8e8;background:transparent}.choir-transport__buttons button:hover{transform:translateY(-2px)}
.choir-audio-status{grid-column:1/-1;margin:0;padding-top:10px;border-top:1px solid #6e3234;color:#e4c8c9;font-size:11px;line-height:1.5}.choir-audio-status.is-error{color:#f39397}.choir-audio-status.is-playing{color:#c5e895}
.choir-timeline{height:32px;position:relative;overflow:hidden;color:#fff8e8;background:#210611;border-block:1px solid #7f3b3e}.choir-timeline::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(12.5% - 1px),rgba(255,255,255,.12) calc(12.5% - 1px) 12.5%)}.choir-timeline>span{position:absolute;z-index:2;left:0;top:0;bottom:0;width:var(--choir-progress,0%);background:linear-gradient(90deg,#f07a7f,#ee6a6f);transition:width .08s linear}.choir-timeline>b{position:absolute;z-index:3;right:10px;top:7px;font:800 9px/1 monospace;letter-spacing:.08em;text-shadow:0 1px 3px #210611}
.choir-workstation .choir-mixer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:0;border-radius:0;box-shadow:none;overflow:visible;background:#351021}
.choir-workstation .choir-channel{min-width:0;min-height:430px;padding:22px 17px;display:block;border:0;border-right:2px solid #351021;background:#fff8e8}.choir-workstation .choir-channel:last-child{border-right:0}.choir-workstation .choir-channel:nth-child(2){background:#eedddd}.choir-workstation .choir-channel:nth-child(3){background:#e7eedd}.choir-workstation .choir-channel:nth-child(4){background:#e8ddee}.choir-workstation .choir-channel.is-off{filter:saturate(.2);opacity:.58}.choir-workstation .choir-channel.is-muted{box-shadow:inset 0 0 0 5px #9a282c}.choir-workstation .choir-channel.is-solo{box-shadow:inset 0 0 0 5px #5a851d}
.choir-channel__top{display:flex;align-items:center;gap:12px;padding-bottom:13px;border-bottom:1px solid rgba(53,16,33,.35)}.choir-workstation .choir-channel__letter{width:54px;flex:0 0 54px;font-size:58px}.choir-channel__top b{display:block;font-size:16px}.choir-channel__top small{display:block;margin-top:2px;font-size:9px;color:#795267}
.choir-channel__lyric{min-height:43px;margin:16px 0 9px;font-family:'Instrument Serif',serif;font-size:19px;font-style:italic;line-height:1.1;color:#5a2022}
.choir-contour{height:62px;position:relative;margin-bottom:16px;border-block:1px solid rgba(53,16,33,.28);background:repeating-linear-gradient(0deg,transparent 0 19px,rgba(53,16,33,.12) 20px)}.choir-contour i{position:absolute;left:calc(5% + var(--i,0)*18%);bottom:var(--y);width:13%;height:5px;border-radius:9px;background:#351021;transform:rotate(-8deg);transition:bottom .35s}.choir-contour i:nth-child(1){--i:0}.choir-contour i:nth-child(2){--i:1}.choir-contour i:nth-child(3){--i:2}.choir-contour i:nth-child(4){--i:3}.choir-contour i:nth-child(5){--i:4}.choir-contour i:nth-child(6){--i:5}
.choir-switches{display:grid;grid-template-columns:1fr 44px 44px;gap:6px;margin-bottom:18px}.choir-switches button{height:38px;border:1px solid #351021;border-radius:5px;color:#351021;background:transparent;cursor:pointer;font-size:11px;font-weight:900}.choir-switches button[aria-pressed="true"]{color:#fff8e8;background:#351021}.choir-switches [data-choir-mute][aria-pressed="true"]{background:#9a282c}.choir-switches [data-choir-solo][aria-pressed="true"]{background:#5a851d}
.choir-level{display:grid;gap:9px}.choir-level>span{display:flex;justify-content:space-between;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.choir-workstation .choir-fader{appearance:auto;writing-mode:horizontal-tb;direction:ltr;width:100%;height:auto;flex:none;border:0;border-radius:0;background:transparent;accent-color:#351021;cursor:ew-resize}.choir-preview{width:100%;min-height:40px;margin-top:20px;border:1px solid #351021;border-radius:99px;color:#351021;background:transparent;cursor:pointer;font-size:10px;font-weight:900}.choir-preview:hover{color:#fff8e8;background:#351021}

@media(max-width:1050px){.choir-transport{grid-template-columns:1fr 1fr}.choir-transport__identity,.choir-transport__buttons{align-self:end}.choir-workstation .choir-mixer{grid-template-columns:repeat(2,minmax(0,1fr))}.choir-workstation .choir-channel:nth-child(2){border-right:0}.choir-workstation .choir-channel:nth-child(-n+2){border-bottom:2px solid #351021}}

/* -------------------------------------------------------------------------- */
/* VOCALS / one doorway, two entirely different stages                        */
/* -------------------------------------------------------------------------- */
body[data-world="vocals"] { --vw-accent:#bce485; --vw-button-ink:#17111a; --nav-bg:#17111a; --nav-ink:#fff; --nav-border:#fff; --nav-cta:#bce485; --nav-cta-ink:#17111a; color:#fff; background:#17111a; font-family:"Space Grotesk",sans-serif; }
.vocals-hero { min-height:100svh; display:grid; place-items:center; padding:120px 22px 50px; position:relative; overflow:hidden; background:#17111a; }
.vocals-hero__title { position:absolute; z-index:5; top:17%; width:100%; margin:0; text-align:center; font-family:'Archivo Black',sans-serif; font-size:clamp(54px,10.6vw,162px); font-weight:800; line-height:.73; letter-spacing:-.08em; pointer-events:none; mix-blend-mode:difference; }
.vocals-hero__title span { display:block; font-size:.17em; line-height:2.8; letter-spacing:.5em; text-transform:uppercase; }
.vocal-theatre { width:min(1280px,100%); height:min(690px,72svh); display:grid; grid-template-columns:1fr 1fr; perspective:1500px; transform-style:preserve-3d; }
.vocal-door { position:relative; border:0; overflow:hidden; cursor:pointer; color:#fff; transform-style:preserve-3d; transition:flex .7s, transform .7s cubic-bezier(.2,.8,.2,1),filter .5s; }
.vocal-door::after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(0,0,0,.8));transition:opacity .4s; }
.vocal-door img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.vocal-door:hover img,.vocal-door:focus-visible img{transform:scale(1.08)}
.vocal-door--western { transform-origin:right center; transform:rotateY(-8deg); clip-path:polygon(0 7%,100% 0,100% 100%,0 92%); }
.vocal-door--carnatic { transform-origin:left center; transform:rotateY(8deg); clip-path:polygon(0 0,100% 7%,100% 92%,0 100%); }
.vocal-door--western::before,.vocal-door--carnatic::before{content:"";position:absolute;z-index:2;inset:0;opacity:.48}.vocal-door--western::before{background:#74309c;mix-blend-mode:multiply}.vocal-door--carnatic::before{background:#a72227;mix-blend-mode:multiply}
.vocal-door__label { position:absolute; z-index:4; left:clamp(20px,4vw,62px); right:25px; bottom:34px; text-align:left; }
.vocal-door__label b{display:block;font-family:'Archivo Black',sans-serif;font-size:clamp(36px,5vw,78px);line-height:.86;letter-spacing:-.06em}.vocal-door__label span{display:block;margin-top:13px;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.vocal-mic { position:absolute; z-index:7; left:50%; bottom:5%; width:84px; height:260px; transform:translateX(-50%) translateZ(140px); pointer-events:none; }
.vocal-mic::before{content:"";position:absolute;left:13px;top:0;width:58px;height:95px;border:8px solid #bce485;border-radius:40px;background:repeating-linear-gradient(0deg,#222 0 4px,#888 5px 6px)}
.vocal-mic::after{content:"";position:absolute;left:39px;top:90px;width:6px;height:170px;background:#bce485;box-shadow:-38px 166px 0 12px #bce485,38px 166px 0 12px #bce485}
.vocals-chooser-note{position:absolute;z-index:8;bottom:22px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#bce485}
.vocals-breath { padding:100px clamp(22px,6vw,92px); display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; color:#17111a; background:#bce485; }
.vocals-breath h2{font-family:'Archivo Black',sans-serif}.breath-orb-wrap{min-height:480px;display:grid;place-items:center;position:relative}.breath-orb-wrap::before,.breath-orb-wrap::after{content:"";position:absolute;width:80%;height:1px;background:#17111a}.breath-orb-wrap::after{transform:rotate(90deg)}
.breath-orb { width:190px;height:190px;border:3px solid #17111a;border-radius:50%;background:#fff;cursor:pointer;box-shadow:16px 16px 0 #f07b80;transition:width 2.6s ease,height 2.6s ease,box-shadow .3s;position:relative;z-index:2;font-weight:900;text-transform:uppercase;letter-spacing:.12em }
.breath-orb.is-held{width:360px;height:360px;box-shadow:0 0 0 30px rgba(240, 123, 128,.35)}
.vocals-map { display:grid; grid-template-columns:1fr 1fr; min-height:750px; }
.vocals-path { position:relative; padding:100px clamp(25px,6vw,90px); overflow:hidden; }
.vocals-path--west{color:#bce485;background:#74309c}.vocals-path--car{color:#f39498;background:#650d10}
.vocals-path__num{position:absolute;right:-.03em;top:-.15em;font-family:'Archivo Black',sans-serif;font-size:330px;font-weight:800;line-height:1;opacity:.11}.vocals-path h3{position:relative;margin:0 0 25px;font-family:'Archivo Black',sans-serif;font-size:clamp(47px,6vw,90px);line-height:.82;letter-spacing:-.07em}.vocals-path p{position:relative;max-width:480px;font-size:17px;line-height:1.75}.vocals-path ul{position:relative;padding:0;list-style:none;margin:50px 0 0}.vocals-path li{padding:15px 0;border-top:1px solid currentColor;font-weight:800;display:flex;justify-content:space-between}.vocals-path a{position:relative;margin-top:45px}
.vocals-portal{padding:100px 22px;text-align:center;color:#17111a;background:#f07b80}.vocals-portal h2{margin:0 auto 30px;max-width:1000px;font-family:'Archivo Black',sans-serif;font-size:clamp(48px,9vw,126px);line-height:.8;letter-spacing:-.08em}

/* -------------------------------------------------------------------------- */
/* WESTERN VOCALS / modular recording booth                                   */
/* -------------------------------------------------------------------------- */
body[data-world="western-vocals"] { --vw-accent:#a8dc60;--vw-button-ink:#0a0c08;--nav-bg:#a8dc60;--nav-ink:#0a0c08;--nav-border:#0a0c08;--nav-cta:#0a0c08;--nav-cta-ink:#a8dc60;color:#edf0e9;background:#0a0c08;font-family:'Space Grotesk',sans-serif; }
body[data-world="western-vocals"] .world-nav{--nav-ink:#0a0c08;color:#0a0c08;background:#a8dc60;border:2px solid #0a0c08}body[data-world="western-vocals"] .world-nav a{color:#0a0c08;opacity:1}body[data-world="western-vocals"] .world-nav .world-nav__cta{color:#a8dc60;background:#0a0c08}
.western-hero { min-height:100svh;padding:125px clamp(20px,5vw,70px) 55px;display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;background:linear-gradient(90deg,#0a0c08 0 49.8%,#151810 50%); }
.western-hero__copy{align-self:center;position:relative;z-index:3}.western-hero h1{margin:0;font-size:clamp(70px,11vw,170px);font-weight:700;line-height:.68;letter-spacing:-.09em}.western-hero h1 span{color:#a8dc60;-webkit-text-stroke:1px #a8dc60;-webkit-text-fill-color:transparent}.western-hero .vw-kicker{max-width:530px;margin:35px 0;color:#9babad}.western-tags{display:flex;gap:8px;flex-wrap:wrap}.western-tags span{padding:8px 11px;border:1px solid #637073;border-radius:2px;font-family:'DM Mono',monospace;font-size:11px;text-transform:uppercase}
.booth { min-height:680px;position:relative;perspective:1200px;transform-style:preserve-3d;display:grid;place-items:center; }
.booth__room{position:absolute;inset:5%;border:1px solid #445054;background:repeating-linear-gradient(90deg,#12150e 0 49px,#20251a 50px 52px);transform:rotateY(-8deg) rotateX(3deg);box-shadow:inset 0 0 0 25px #060705,inset 0 0 80px #000;}
.booth__photo{position:absolute;inset:11% 16% 22%;overflow:hidden;transform:translateZ(30px);clip-path:polygon(7% 0,100% 6%,94% 100%,0 94%)}.booth__photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.25)}.booth__photo::after{content:"";position:absolute;inset:0;background:rgba(168, 220, 96,.18);mix-blend-mode:screen}
.booth-wave { position:absolute;z-index:3;left:3%;right:3%;bottom:14%;height:150px;display:flex;align-items:center;gap:4px;transform:translateZ(90px); }
.booth-wave i{flex:1;height:calc(10% + var(--h, .5)*80%);background:#a8dc60;box-shadow:0 0 8px #a8dc60;transform:scaleY(var(--energy,.2));transition:transform .1s}
.booth__mic{position:absolute;z-index:4;width:90px;height:260px;border:8px solid #a8dc60;border-radius:50px 50px 12px 12px;transform:translateZ(150px) rotateY(var(--vw-rx));background:repeating-linear-gradient(90deg,#161912 0 6px,#a8dc60 7px 8px);box-shadow:0 0 45px rgba(168, 220, 96,.3)}
.western-lab { padding:80px clamp(20px,5vw,72px); background:#edf0e9;color:#0a0c08; }
.western-lab__head{display:grid;grid-template-columns:1fr .8fr;gap:35px;align-items:end;margin-bottom:40px}.western-lab h2{font-weight:700}.western-lab__head p{font-family:'DM Mono',monospace;font-size:13px;line-height:1.7}
.phrase-console{display:grid;grid-template-columns:1.2fr .8fr;border:3px solid #0a0c08;box-shadow:16px 16px 0 #a8dc60;background:#fff}.phrase-screen{padding:30px;border-right:3px solid #0a0c08;background:#11140d;color:#a8dc60}.phrase-screen label{display:block;font-family:'DM Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.15em}.phrase-screen input[type="text"]{width:100%;margin:14px 0 22px;padding:12px 0;border:0;border-bottom:2px solid #a8dc60;outline:0;color:#fff;background:transparent;font-size:clamp(24px,4vw,54px);font-weight:700}.phrase-wave{width:100%;height:190px;border:1px solid #48503c;background:repeating-linear-gradient(0deg,transparent 0 37px,#303627 38px),repeating-linear-gradient(90deg,transparent 0 59px,#303627 60px)}.phrase-wave polyline{fill:none;stroke:#a8dc60;stroke-width:3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 6px #a8dc60)}
.phrase-controls{padding:30px;display:grid;gap:26px;align-content:center}.lab-control label{display:flex;justify-content:space-between;margin-bottom:10px;font-family:'DM Mono',monospace;font-size:11px;font-weight:700;text-transform:uppercase}.lab-control input[type="range"]{width:100%;accent-color:#0a0c08}.vowel-bank{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.vowel-bank button,.western-note{min-height:46px;border:2px solid #0a0c08;background:#fff;cursor:pointer;font-weight:800}.vowel-bank button[aria-pressed="true"],.western-note[aria-pressed="true"]{background:#a8dc60;box-shadow:4px 4px 0 #0a0c08;transform:translate(-2px,-2px)}
.range-rack{padding:85px clamp(20px,5vw,72px);background:#161911}.range-rack__grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:50px;align-items:center}.range-rack h2{font-size:clamp(44px,7vw,100px);line-height:.84;letter-spacing:-.07em}.range-rack p{color:#9babad;line-height:1.7}.note-keyboard{display:grid;grid-template-columns:repeat(8,1fr);height:260px;perspective:900px}.western-note{position:relative;height:100%;border-color:#4b585c;color:#111;background:#f1f4ed;transform-origin:top;transition:transform .18s,background .18s}.western-note:nth-child(even){height:62%;z-index:2;color:#a8dc60;background:#111;border-color:#a8dc60}.western-note:hover{transform:rotateX(-12deg) translateZ(12px)}.western-note span{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);font-family:'DM Mono',monospace}
.western-portal{padding:100px clamp(20px,5vw,72px);display:grid;grid-template-columns:1.15fr .85fr;gap:45px;align-items:end;color:#0a0c08;background:#a8dc60}.western-portal h2{margin:0;font-size:clamp(55px,9vw,135px);line-height:.76;letter-spacing:-.09em}.western-portal p{max-width:520px;font-size:18px;line-height:1.7}

/* -------------------------------------------------------------------------- */
/* CARNATIC / an interactive temple of pitch and time                         */
/* -------------------------------------------------------------------------- */
body[data-world="carnatic-vocals"] { --vw-accent:#c3282e;--vw-button-ink:#4e0b0e;--nav-bg:#fff5df;--nav-ink:#5c1013;--nav-border:#5c1013;--nav-cta:#5c1013;--nav-cta-ink:#fff5df;color:#4e0b0e;background:#fff5df;font-family:'Space Grotesk',sans-serif; }
body[data-world="carnatic-vocals"] .world-nav{--nav-ink:#5c1013;color:#5c1013;background:#fff5df;border:2px solid #5c1013;box-shadow:0 10px 0 rgba(92, 16, 19,.18)}body[data-world="carnatic-vocals"] .world-nav a{color:#5c1013;opacity:1}body[data-world="carnatic-vocals"] .world-nav>.world-nav__brand:first-child::before{color:#c3282e}body[data-world="carnatic-vocals"] .world-nav .world-nav__cta{color:#fff5df;background:#5c1013}
.carnatic-hero{min-height:100svh;padding:125px 20px 60px;position:relative;display:grid;grid-template-columns:1fr minmax(500px,.9fr) 1fr;align-items:center;overflow:hidden;background:linear-gradient(90deg,#fff5df 0 21%,#e4c8c9 21% 21.2%,#fff5df 21.2% 78.8%,#e4c8c9 79% 79.2%,#fff5df 79.2%)}
.temple-pillar{height:68%;border:3px solid #741c1f;background:repeating-linear-gradient(0deg,#eb6f74 0 18px,#fff5df 19px 35px);box-shadow:inset 12px 0 #c3282e,inset -12px 0 #c3282e}.temple-pillar::before,.temple-pillar::after{content:"";display:block;width:calc(100% + 34px);height:34px;margin-left:-17px;border:3px solid #741c1f;background:#c3282e}.temple-pillar::after{position:absolute;bottom:16%;width:20%;}
.carnatic-hero__core{text-align:center;position:relative;z-index:3}.carnatic-hero h1{margin:0;font-family:'Instrument Serif',serif;font-size:clamp(65px,9vw,137px);font-weight:400;line-height:.73;color:#741c1f}.carnatic-hero h1 span{display:block;color:#4b6e19;font-size:.5em}.carnatic-hero__core .vw-kicker{max-width:570px;margin:28px auto;color:#753739}.carnatic-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.temple-arch{width:min(470px,86vw);aspect-ratio:1/1.18;margin:35px auto 0;position:relative;display:grid;place-items:center;border:4px solid #741c1f;border-bottom:0;border-radius:50% 50% 0 0;background:#681619;box-shadow:0 25px 0 #c3282e,0 30px 0 #741c1f;perspective:900px;transform-style:preserve-3d}.temple-arch::before{content:"";position:absolute;inset:13px;border:1px solid #c3282e;border-bottom:0;border-radius:50% 50% 0 0}
.raga-photo{position:absolute;inset:8% 8% 4%;overflow:hidden;border-radius:50% 50% 0 0;opacity:.74}.raga-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(92, 16, 19,.05),rgba(92, 16, 19,.62))}.raga-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 16%;filter:saturate(1.08) contrast(1.04)}
.mini-mandala{position:relative;width:245px;aspect-ratio:1;border:2px solid #f1878b;border-radius:50%;transform:rotateX(var(--vw-ry)) rotateY(var(--vw-rx)) translateZ(50px);transition:transform .2s}.mini-mandala::before,.mini-mandala::after{content:"";position:absolute;inset:18%;border:1px solid #f1878b;transform:rotate(45deg)}.mini-mandala::after{transform:rotate(22.5deg)}.mini-mandala b{position:absolute;inset:37%;display:grid;place-items:center;border-radius:50%;color:#741c1f;background:#c3282e;font-family:'Instrument Serif';font-size:32px}.mini-swara{position:absolute;left:calc(50% + var(--sx));top:calc(50% + var(--sy));transform:translate(-50%,-50%);color:#fff5df;font-family:'Instrument Serif';font-size:20px}
.raga-lab{padding:90px clamp(20px,5vw,74px);color:#fff5df;background:#5c1013}.raga-lab__head{display:grid;grid-template-columns:1fr .9fr;gap:45px;align-items:end;margin-bottom:55px}.raga-lab h2{font-family:'Instrument Serif';font-weight:400}.raga-lab__head p{max-width:560px;color:#ecd8d9;line-height:1.75}
.mandala-console{display:grid;grid-template-columns:minmax(400px,1fr) .72fr;gap:55px;align-items:center}.tala-mandala{position:relative;width:min(630px,80vw);aspect-ratio:1;margin:auto;border:2px solid #c3282e;border-radius:50%;background:radial-gradient(circle,#7a181c 0 19%,transparent 19.5%),repeating-conic-gradient(from -22.5deg,rgba(230, 41, 48,.15) 0 1deg,transparent 1deg 45deg);box-shadow:0 0 0 22px #5c1013,0 0 0 24px #c3282e;transition:transform .4s}.tala-mandala.is-playing{animation:tala-turn 18s linear infinite}@keyframes tala-turn{to{transform:rotate(360deg)}}
.tala-beat{position:absolute;left:calc(50% + var(--bx));top:calc(50% + var(--by));width:76px;aspect-ratio:1;transform:translate(-50%,-50%);border:2px solid #c3282e;border-radius:50%;color:#fff5df;background:#5c1013;cursor:pointer;font-weight:900;transition:transform .2s,background .2s,color .2s,box-shadow .2s}.tala-beat:hover,.tala-beat[aria-pressed="true"]{transform:translate(-50%,-50%) scale(1.14);color:#5c1013;background:#c3282e;box-shadow:0 0 24px #c3282e}.tala-beat.is-current{outline:6px double #fff5df;outline-offset:6px}.tala-center{position:absolute;inset:32%;display:grid;place-items:center;text-align:center;border:2px solid #c3282e;border-radius:50%;background:#74161a}.tala-center b{font-family:'Instrument Serif';font-size:44px}.tala-center span{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.raga-controls{display:grid;gap:26px}.raga-control{padding:22px;border:1px solid #c86b6f;background:#681619}.raga-control h3{margin:0 0 14px;font-family:'Instrument Serif';font-size:28px;font-weight:400}.swara-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.swara-button{min-height:48px;border:1px solid #c3282e;color:#fff5df;background:transparent;cursor:pointer}.swara-button[aria-pressed="true"]{color:#5c1013;background:#c3282e}.tempo-row{display:flex;align-items:center;gap:18px}.tempo-row input{width:100%;accent-color:#c3282e}.raga-play{width:100%;min-height:58px;border:2px solid #c3282e;color:#5c1013;background:#c3282e;cursor:pointer;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.raga-control--voice{background:#fff5df;color:#5c1013;border-color:#c3282e}.swara-voice-bank{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.swara-voice-bank button{min-width:0;aspect-ratio:1;border:2px solid #5c1013;border-radius:50%;color:#5c1013;background:transparent;cursor:pointer;font-family:'Instrument Serif';font-size:17px;transition:transform .2s,background .2s,color .2s,box-shadow .2s}.swara-voice-bank button:hover,.swara-voice-bank button.is-playing{transform:translateY(-4px);color:#fff5df;background:#5c1013;box-shadow:0 6px 0 #c3282e}.swara-audio-status{min-height:30px;margin:12px 0 0;font-size:10px;line-height:1.5;color:#875b61}.swara-audio-status.is-playing{color:#4b6e19;font-weight:800}.swara-audio-status.is-error{color:#a42126}.raga-transport{display:grid;grid-template-columns:1fr 1fr;gap:8px}.raga-stop{grid-column:1/-1;min-height:46px;border:1px solid #c3282e;color:#fff5df;background:transparent;cursor:pointer;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.raga-play[aria-pressed="true"]{color:#fff5df;background:#4b6e19;border-color:#bde388}
.carnatic-path{padding:95px clamp(20px,6vw,90px);position:relative;background:#fff5df}.carnatic-path h2{max-width:800px;font-family:'Instrument Serif';font-weight:400}.temple-steps{margin:55px auto 0;max-width:1050px;display:grid;place-items:center}.temple-step{width:calc(100% - var(--inset));padding:24px 30px;border:2px solid #741c1f;border-bottom:0;display:grid;grid-template-columns:80px 1fr auto;gap:25px;align-items:center;background:#fffaf0;box-shadow:0 -10px 0 rgba(230, 41, 48,.17)}.temple-step:last-child{border-bottom:2px solid #741c1f}.temple-step b{font-family:'Instrument Serif';font-size:30px;color:#4b6e19}.temple-step span{font-size:13px;color:#875b61}.temple-step em{font-style:normal;font-weight:900;color:#741c1f}
.carnatic-portal{padding:100px 20px;text-align:center;color:#fff5df;background:#4b6e19}.carnatic-portal h2{margin:0 auto 25px;max-width:1000px;font-family:'Instrument Serif';font-size:clamp(52px,9vw,125px);font-weight:400;line-height:.8}

/* -------------------------------------------------------------------------- */
/* DANCE / an eight-count motion poster                                       */
/* -------------------------------------------------------------------------- */
body[data-world="dance"] { --vw-accent:#c3282e;--vw-button-ink:#111;--nav-bg:#111;--nav-ink:#fff;--nav-border:#111;--nav-cta:#c3282e;--nav-cta-ink:#111;color:#111;background:#f3f0e7;font-family:"Archivo",sans-serif; }
.dance-hero{min-height:100svh;padding:110px clamp(15px,3vw,45px) 32px;display:grid;grid-template-columns:1.25fr .75fr;gap:20px;overflow:hidden;background:#f3f0e7}.dance-type{position:relative;align-self:center;z-index:2}.dance-type h1{margin:0;font-family:'Archivo Black',Impact,sans-serif;font-size:clamp(115px,20vw,300px);font-weight:400;line-height:.66;letter-spacing:-.045em;text-transform:uppercase;transform:skewY(var(--dance-skew,-2deg));transition:transform .18s}.dance-type h1 span{display:block;color:#c3282e;transform:translateX(clamp(35px,8vw,130px));-webkit-text-stroke:2px #111;-webkit-text-fill-color:transparent}.dance-type__sub{display:grid;grid-template-columns:180px minmax(240px,500px);gap:25px;align-items:start;margin:48px 0 0 5%}.dance-type__sub b{font-family:'Archivo Black';font-size:34px;line-height:.9}.dance-type__sub p{margin:0;line-height:1.65}.dance-photo{position:relative;min-height:670px;perspective:1000px}.dance-photo__frame{position:absolute;inset:3% 0 9% 4%;overflow:hidden;border:4px solid #111;transform:rotate(3deg) rotateY(var(--vw-rx));box-shadow:24px 24px 0 #c3282e;transition:transform .18s}.dance-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15)}.dance-photo__count{position:absolute;right:3%;bottom:0;padding:12px 18px;color:#f3f0e7;background:#111;font-family:'Archivo Black';font-size:56px;transform:rotate(-4deg)}
.ticker-tape{border-block:4px solid #111;overflow:hidden;background:#c3282e;transform:rotate(-1deg);position:relative;z-index:4}.ticker-tape__track{display:flex;width:max-content;animation:dance-ticker 19s linear infinite}.ticker-tape span{padding:10px 18px;font-family:'Archivo Black';font-size:clamp(40px,6vw,90px);white-space:nowrap}@keyframes dance-ticker{to{transform:translateX(-50%)}}
.pose-lab{padding:100px clamp(18px,5vw,72px);background:#111;color:#f3f0e7}.pose-lab__head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:48px}.pose-lab h2{font-family:'Archivo Black';font-weight:400;text-transform:uppercase}.pose-lab__head p{max-width:430px;margin:0;color:#bbb9b1}.pose-stage{min-height:650px;display:grid;grid-template-columns:1fr 260px;border:3px solid #f3f0e7;background:#191919;box-shadow:20px 20px 0 #c3282e}.pose-stage__view{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(125deg,#c3282e 0 25%,#f3f0e7 25% 51%,#a2d956 51% 74%,#74309c 74%)}.pose-stage__view::before{content:attr(data-pose-word);position:absolute;font-family:'Archivo Black';font-size:clamp(100px,20vw,270px);color:#111;opacity:.13;transform:rotate(-10deg)}
.pose-person{position:relative;width:220px;height:410px;transform:rotate(var(--body-r,0deg)) translate(var(--body-x,0),var(--body-y,0));transition:transform .45s cubic-bezier(.2,.9,.2,1);filter:drop-shadow(22px 25px 0 rgba(0,0,0,.18))}.pose-head{position:absolute;left:84px;top:0;width:58px;height:58px;border-radius:50%;background:#111}.pose-torso{position:absolute;left:78px;top:55px;width:70px;height:170px;border-radius:35px 35px 12px 12px;background:#111;transform:rotate(var(--torso-r,0deg));transform-origin:50% 15%}.pose-limb{position:absolute;width:34px;height:175px;border-radius:30px;background:#111;transform-origin:50% 12px;transition:transform .45s cubic-bezier(.2,.9,.2,1)}.pose-arm--l{left:65px;top:65px;transform:rotate(var(--al,35deg))}.pose-arm--r{left:126px;top:65px;transform:rotate(var(--ar,-35deg))}.pose-leg--l{left:82px;top:205px;transform:rotate(var(--ll,12deg))}.pose-leg--r{left:117px;top:205px;transform:rotate(var(--lr,-12deg))}.pose-stage__label{position:absolute;left:25px;bottom:22px;padding:10px 15px;color:#fff;background:#111;font-family:'Archivo Black';font-size:32px;letter-spacing:.03em;transform:rotate(-2deg)}
.pose-timeline{display:grid;grid-template-rows:repeat(8,1fr);border-left:3px solid #f3f0e7}.pose-step{display:grid;grid-template-columns:46px 1fr;align-items:center;border:0;border-bottom:1px solid #777;color:#f3f0e7;background:#111;cursor:pointer;text-align:left}.pose-step b{height:100%;display:grid;place-items:center;border-right:1px solid #777;font-family:'Archivo Black';font-size:25px}.pose-step span{padding:0 13px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.pose-step:hover,.pose-step[aria-pressed="true"]{color:#111;background:#a2d956}.pose-step:last-child{border-bottom:0}
.dance-worlds{padding:100px clamp(20px,5vw,72px);background:#f3f0e7}.dance-worlds__head{display:grid;grid-template-columns:1fr .6fr;gap:40px;align-items:end}.dance-worlds h2{font-family:'Archivo Black';font-weight:400;text-transform:uppercase}.dance-stack{margin-top:60px;display:grid;gap:22px;perspective:1200px}.dance-card{min-height:260px;display:grid;grid-template-columns:220px 1fr auto;gap:30px;align-items:center;padding:25px 35px;border:4px solid #111;background:var(--card);transform:rotateY(var(--tilt,0deg)) rotateZ(var(--z,0deg));box-shadow:14px 14px 0 #111;transition:transform .35s}.dance-card:hover{transform:rotateY(-5deg) rotateZ(0) translateZ(35px)}.dance-card__num{font-family:'Archivo Black';font-size:150px;line-height:.7;-webkit-text-stroke:2px #111;-webkit-text-fill-color:transparent}.dance-card h3{margin:0 0 12px;font-family:'Archivo Black';font-size:52px;font-weight:400;text-transform:uppercase}.dance-card p{max-width:570px;line-height:1.65}.dance-card strong{writing-mode:vertical-rl;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.dance-portal{padding:100px clamp(20px,5vw,72px);display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;color:#f3f0e7;background:#c3282e}.dance-portal h2{margin:0;font-family:'Archivo Black';font-size:clamp(75px,14vw,220px);font-weight:400;line-height:.67;text-transform:uppercase}.dance-portal p{max-width:400px;font-size:18px;line-height:1.7}

/* -------------------------------------------------------------------------- */
/* THEORY / a tactile paper and ink notation laboratory                       */
/* -------------------------------------------------------------------------- */
body[data-world="theory"] { --vw-accent:#c3282e;--vw-button-ink:#f6f0df;--nav-bg:#2d3c17;--nav-ink:#f6f0df;--nav-border:#2d3c17;--nav-cta:#c3282e;--nav-cta-ink:#f6f0df;color:#242e17;background:#f6f0df;font-family:'Space Grotesk',sans-serif; }
.theory-hero{min-height:100svh;padding:125px clamp(20px,5vw,72px) 60px;display:grid;grid-template-columns:1fr .85fr;gap:60px;align-items:center;position:relative;background:linear-gradient(90deg,transparent 49.8%,#cbd8b8 49.9% 50.1%,transparent 50.2%),repeating-linear-gradient(0deg,transparent 0 39px,rgba(45, 60, 23,.09) 40px)}
.theory-hero__copy{position:relative;z-index:3}.theory-hero h1{margin:0;font-family:'Instrument Serif',serif;font-size:clamp(72px,11vw,166px);font-weight:650;line-height:.73;letter-spacing:-.08em}.theory-hero h1 em{display:block;margin-left:.55em;color:#c3282e;font-weight:300}.theory-hero .vw-kicker{max-width:520px;margin:35px 0 30px 8%;color:#576149}.theory-actions{margin-left:8%;display:flex;gap:12px;flex-wrap:wrap}
.theory-book{min-height:640px;position:relative;perspective:1300px;transform-style:preserve-3d}.theory-book__cover{position:absolute;inset:8% 3% 6%;border:3px solid #2d3c17;background:#c3282e;transform:rotateY(-16deg) rotateX(4deg);box-shadow:30px 35px 0 #2d3c17;transform-origin:left center}.theory-book__page{position:absolute;inset:5% 7% 10% 0;padding:55px 45px;border:2px solid #2d3c17;background:#fffaf0;transform:translateZ(48px) rotateY(-8deg);box-shadow:inset -28px 0 35px rgba(77, 22, 24,.1)}.theory-book__page::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#bacca2;box-shadow:8px 0 18px rgba(0,0,0,.15)}.theory-book__title{position:absolute;left:8%;top:8%;font-family:'Instrument Serif';font-size:58px;line-height:.8}.theory-book__score{position:absolute;inset:30% 8% 12%;background:repeating-linear-gradient(0deg,transparent 0 29px,#2d3c17 30px 31px,transparent 32px 40px)}.ink-note{position:absolute;font-family:'Instrument Serif';font-size:75px;color:#2d3c17;transform:rotate(var(--r,0deg))}.ink-note--red{color:#c3282e}
.rhythm-lab{padding:90px clamp(20px,5vw,72px);color:#f6f0df;background:#2d3c17}.rhythm-lab__head{display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:end;margin-bottom:45px}.rhythm-lab h2{font-family:'Instrument Serif';font-weight:650}.rhythm-lab__head p{max-width:530px;color:#c4ccb9;line-height:1.75}
.rhythm-desk{display:grid;grid-template-columns:260px 1fr;min-height:570px;border:2px solid #f6f0df;background:#3a4b22;box-shadow:18px 18px 0 #c3282e}.note-tray{padding:24px;border-right:2px solid #f6f0df;background:#f6f0df;color:#2d3c17}.note-tray h3{margin:0 0 6px;font-family:'Instrument Serif';font-size:32px}.note-tray p{margin:0 0 20px;font-size:12px;line-height:1.5}.note-token{width:100%;min-height:84px;margin:7px 0;padding:9px 13px;display:grid;grid-template-columns:68px 1fr;align-items:center;border:2px solid #2d3c17;color:#2d3c17;background:#fffaf0;cursor:grab;box-shadow:5px 5px 0 #c3282e;text-align:left;transition:transform .2s}.note-token:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #c3282e}.note-token b{width:62px;height:62px;display:grid;place-items:center}.note-token span{font-size:11px;font-weight:800;text-transform:uppercase}.notation-glyph{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.notation-glyph .notation-fill{fill:currentColor;stroke:none}.notation-glyph .notation-stem{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round}.score-workspace{padding:35px;display:flex;flex-direction:column;justify-content:center;gap:28px}.measure-status{display:flex;justify-content:space-between;gap:20px;align-items:center;font-family:'DM Mono',monospace;font-size:12px}.beat-meter{display:flex;gap:5px}.beat-meter i{width:40px;height:9px;border:1px solid #f6f0df;background:transparent}.beat-meter i.is-full{background:#c3282e}.measure{min-height:320px;display:grid;grid-template-columns:72px 48px minmax(0,1fr);align-items:stretch;gap:10px;border-left:5px double #f6f0df;border-right:5px double #f6f0df;padding:18px 16px;background:rgba(45,60,23,.4);position:relative}.measure.is-over{background-color:rgba(228,46,53,.25)}.measure-clef{align-self:center;justify-self:center;font-family:'Bravura','Noto Music','Segoe UI Symbol',serif;font-size:92px;line-height:1;color:#f6f0df;transform:translateY(-4px)}.measure-time{align-self:center;justify-self:center;display:grid;gap:0;font-family:'DM Mono',monospace;font-size:34px;font-weight:700;line-height:.82;text-align:center}.measure-time b{font-weight:700}.measure-staff{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;min-width:0;min-height:100%;border-left:3px solid #f6f0df;border-right:3px solid #f6f0df;background-image:linear-gradient(#f6f0df,#f6f0df),linear-gradient(#f6f0df,#f6f0df),linear-gradient(#f6f0df,#f6f0df),linear-gradient(#f6f0df,#f6f0df),linear-gradient(#f6f0df,#f6f0df);background-position:0 calc(50% - 80px),0 calc(50% - 40px),0 50%,0 calc(50% + 40px),0 calc(50% + 80px);background-size:100% 3px;background-repeat:no-repeat}.measure-slot{min-width:0;min-height:100%;display:grid;place-items:center;border-right:1px dashed rgba(246,240,223,.4);position:relative}.measure-slot:last-child{border:0}.placed-note{z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;height:100%;border:0;color:#f6f0df;background:transparent;cursor:pointer;filter:drop-shadow(4px 4px 0 #c3282e);padding:0}.placed-note .notation-glyph{width:min(82px,72%);height:auto;max-height:130px}.placed-note small{display:block;font-family:'DM Mono';font-size:9px;line-height:1.2;text-align:center}.rhythm-actions{display:flex;gap:10px;flex-wrap:wrap}.rhythm-actions button{min-height:48px;padding:10px 18px;border:2px solid #f6f0df;color:#f6f0df;background:transparent;cursor:pointer;font-weight:800}.rhythm-actions button:first-child{color:#2d3c17;background:#f6f0df}.measure-playhead{position:absolute;z-index:3;top:0;bottom:0;left:0;width:3px;background:#c3282e;opacity:0;pointer-events:none}.measure.is-playing .measure-playhead{opacity:1;animation:playhead var(--duration,2s) linear forwards}@keyframes playhead{to{left:100%}}
.theory-chapters{padding:100px clamp(20px,6vw,90px);background:#f6f0df}.theory-chapters__head{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:end}.theory-chapters h2{font-family:'Instrument Serif';font-weight:650}.theory-chapters__head p{max-width:520px;line-height:1.7;color:#576149}.chapter-list{margin-top:60px;border-top:2px solid #2d3c17}.chapter{display:grid;grid-template-columns:100px 1fr 80px;gap:30px;align-items:center;padding:28px 10px;border-bottom:2px solid #2d3c17;transition:padding .25s,background .25s}.chapter:hover{padding-inline:25px;background:#ece3cd}.chapter b{font-family:'Instrument Serif';font-size:50px;color:#c3282e}.chapter h3{margin:0 0 6px;font-family:'Instrument Serif';font-size:clamp(28px,4vw,50px);font-weight:500}.chapter p{margin:0;color:#576149}.chapter em{font-style:normal;font-family:'DM Mono';font-size:11px;text-align:right}
.theory-portal{padding:100px clamp(20px,5vw,72px);color:#f6f0df;background:#c3282e}.theory-portal h2{margin:0;max-width:1000px;font-family:'Instrument Serif';font-size:clamp(54px,10vw,145px);line-height:.77;letter-spacing:-.08em}.theory-portal p{max-width:620px;margin:35px 0;font-size:19px;line-height:1.7}
.theory-book__cover{z-index:0;inset:10% 0 3% 12%;transform:translateZ(-55px) rotateY(-12deg) rotateX(3deg);box-shadow:24px 28px 0 #2d3c17}
.theory-book__page{z-index:2}

/* -------------------------------------------------------------------------- */
/* Responsive                                                                 */
/* -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .world-nav { top:8px; width:calc(100% - 16px); padding-left:14px; }
  .world-nav__links { gap:12px; }
  .world-nav__links a { font-size:10px; }
  .world-nav__cta { padding:9px 11px; }
  .choir-hero,.western-hero,.theory-hero { grid-template-columns:1fr; }
  .choir-hero__copy .vw-kicker,.choir-actions,.theory-hero .vw-kicker,.theory-actions{margin-left:0}
  .choir-hall{min-height:590px}.choir-console__head,.choir-story,.vocals-breath,.western-lab__head,.range-rack__grid,.western-portal,.raga-lab__head,.mandala-console,.dance-worlds__head,.rhythm-lab__head,.theory-chapters__head{grid-template-columns:1fr}
  .choir-story__image{clip-path:none}.vocals-map{grid-template-columns:1fr}.western-hero{background:#0a0c08}.booth{min-height:600px}.range-rack__grid{gap:35px}.carnatic-hero{grid-template-columns:60px 1fr 60px}.temple-pillar{height:58%}.mandala-console{gap:75px}.dance-hero{grid-template-columns:1fr}.dance-photo{min-height:570px}.dance-type__sub{grid-template-columns:140px 1fr}.pose-stage{grid-template-columns:1fr 200px}.dance-card{grid-template-columns:130px 1fr auto}.rhythm-desk{grid-template-columns:220px 1fr}.theory-book{min-height:600px}
}

@media (max-width: 620px) {
  .world-nav { min-height:48px; border-radius:14px; }
  .world-nav__brand { font-size:12px; }
  .world-nav>.world-nav__brand:first-child { font-size:11px; letter-spacing:-.05em; }
  .world-nav__links { flex:1; justify-content:flex-end; }
  .world-nav__links a { font-size:9px; }
  .world-nav__links { gap:6px; }
  .world-nav__links a { font-size:8px; letter-spacing:.02em; }
  .world-nav__cta { padding:7px 6px; }
  .vw-cursor{display:none}.vw-footer__grid{grid-template-columns:1fr}
  .choir-hero{padding-top:100px}.choir-hero h1{font-size:72px}.choir-hall{min-height:450px;margin-inline:-22px}.choir-hall__photo{inset:3% 19% 35%}.choir-seats{inset:27% 0 6%}.choir-singer{width:48px;font-size:10px}.choir-conductor{transform:translateX(-50%) scale(.7)}.choir-mixer{grid-template-columns:repeat(2,1fr);box-shadow:8px 8px 0 #ee6a6f}.choir-channel{min-height:270px;border-bottom:1px solid #351021}.choir-story__copy{padding:70px 22px}.choir-ticket{grid-template-columns:58px 1fr}.choir-ticket b{display:none}
  /* overflow-x only: a plain `overflow:hidden` on <body> propagates to the
     viewport and stops the page scrolling vertically on phones. */
  body[data-world="choir"],body[data-world="choir"] .vw-main,body[data-world="choir"] .choir-hero,body[data-world="choir"] .choir-console,body[data-world="choir"] .choir-story{width:100%;max-width:100%;min-width:0;overflow:hidden}
  body[data-world="choir"]{overflow:visible;overflow-x:clip}
   .vocals-hero{padding:90px 8px 25px}.vocals-hero__title{top:13%;font-size:55px}.vocal-theatre{height:74svh}.vocal-door__label{left:14px;bottom:55px}.vocal-door__label b{font-size:31px;writing-mode:vertical-rl}.vocal-door__label span{font-size:8px}.vocal-mic{transform:translateX(-50%) scale(.68);bottom:-3%}.vocals-chooser-note{display:none}.vocals-breath{padding:70px 20px}.breath-orb-wrap{min-height:390px}.breath-orb.is-held{width:300px;height:300px}.vocals-path{padding:75px 20px;min-height:600px;overflow:hidden}.vocals-path__num{font-size:clamp(180px,70vw,250px);max-width:100%;right:0}
  .western-hero{padding:100px 18px 40px}.western-hero h1{font-size:70px}.booth{min-height:480px}.booth__room{inset:3%}.booth__photo{inset:9% 10% 23%}.booth__mic{transform:scale(.65) translateZ(100px)}.phrase-console{grid-template-columns:1fr;box-shadow:8px 8px 0 #a8dc60}.phrase-screen{border-right:0;border-bottom:3px solid #0a0c08;padding:20px}.phrase-controls{padding:20px}.phrase-wave{height:130px}.note-keyboard{height:200px}.western-portal{padding:75px 20px}
   .carnatic-hero{padding:100px 8px 60px;grid-template-columns:20px minmax(0,1fr) 20px}.temple-pillar{border-width:1px}.temple-pillar::before{width:34px;margin-left:-8px}.carnatic-hero h1{font-size:62px}.temple-arch{width:310px}.mini-mandala{width:190px}.mandala-console{display:block;min-width:0}.tala-mandala{width:310px;margin-bottom:65px}.tala-beat{width:48px;font-size:10px}.tala-center b{font-size:30px}.swara-row{grid-template-columns:repeat(4,minmax(0,1fr))}.swara-button{min-width:0;padding-inline:2px;font-size:10px}.raga-control{padding:16px}.temple-step{width:100%!important;grid-template-columns:52px minmax(0,1fr);padding:18px 14px}.temple-step span{display:none}.carnatic-hero__core,.mandala-console{min-width:0;overflow:hidden}.temple-arch{width:min(310px,100%);max-width:100%}.tala-mandala{width:min(310px,100%);max-width:100%}
  .dance-hero{padding:90px 12px 25px}.dance-type h1{font-size:112px}.dance-type__sub{grid-template-columns:1fr;margin:30px 0 0}.dance-photo{min-height:480px}.dance-photo__frame{inset:3% 3% 11%;box-shadow:12px 12px 0 #c3282e}.pose-lab{padding:75px 14px}.pose-lab__head{display:block}.pose-stage{grid-template-columns:minmax(0,1fr);min-width:0;min-height:750px;box-shadow:9px 9px 0 #c3282e}.pose-stage__view{min-height:520px}.pose-timeline{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,70px);min-width:0;border-left:0;border-top:3px solid #f3f0e7}.pose-step{grid-template-columns:30px minmax(0,1fr);min-width:0;border-right:1px solid #777}.pose-step b{font-size:17px}.pose-step span{min-width:0;padding:4px;font-size:8px;overflow-wrap:anywhere}.dance-card{grid-template-columns:80px minmax(0,1fr);min-width:0;padding:20px 15px}.dance-card__num{font-size:83px}.dance-card h3{font-size:36px}.dance-card strong{display:none}.dance-portal{grid-template-columns:1fr}
  body[data-world="dance"],body[data-world="dance"] .vw-main,body[data-world="dance"] .dance-hero,body[data-world="dance"] .pose-lab,body[data-world="dance"] .dance-worlds,body[data-world="dance"] .dance-portal{width:100%;max-width:100%;min-width:0;overflow:hidden}
  body[data-world="dance"]{overflow:visible;overflow-x:clip}
  .theory-hero{padding:100px 18px 45px}.theory-hero h1{font-size:72px}.theory-book{min-height:460px}.theory-book__cover{box-shadow:14px 16px 0 #2d3c17}.theory-book__page{padding:25px 20px}.theory-book__title{font-size:39px}.ink-note{font-size:57px}.rhythm-lab{padding:75px 14px}.rhythm-desk{grid-template-columns:1fr;box-shadow:8px 8px 0 #c3282e}.note-tray{border-right:0;border-bottom:2px solid #2d3c17;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:14px}.note-tray h3,.note-tray p{grid-column:1/-1}.note-token{grid-template-columns:1fr;justify-items:center;padding:5px;box-shadow:3px 3px 0 #c3282e}.note-token b{font-size:30px}.note-token span{font-size:8px}.score-workspace{padding:18px}.measure{min-height:190px}.measure-slot{min-height:150px}.placed-note{font-size:54px}.beat-meter i{width:24px}.chapter{grid-template-columns:60px 1fr}.chapter em{display:none}
}

/* Readable notation controls and learner feedback. These overrides sit after
   the compact legacy rules above so the worksheet remains easy to tune. */
.clef-glyph{display:block;width:76px;height:124px;overflow:visible;fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.clef-glyph .clef-fill{fill:currentColor;stroke:none}.rhythm-coach{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;align-items:center;padding:14px 16px;border:1px solid rgba(246,240,223,.45);background:rgba(15,22,7,.2);color:#f6f0df}.rhythm-coach__mark{grid-column:1/-1;font:500 10px/1 'DM Mono',monospace;letter-spacing:.13em;color:#b8db5b}.rhythm-coach strong{font-size:14px;line-height:1.35}.rhythm-coach label{display:flex;align-items:center;gap:8px;font:500 10px/1.2 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.rhythm-coach select{min-height:34px;padding:6px 9px;border:1px solid #f6f0df;border-radius:3px;color:#2d3c17;background:#f6f0df;font:500 11px 'DM Mono',monospace}.clef-picker{grid-column:1/-1;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.clef-picker span{margin-right:3px;font:500 10px 'DM Mono',monospace;text-transform:uppercase;color:#c4ccb9}.clef-picker button{min-height:30px;padding:5px 10px;border:1px solid rgba(246,240,223,.7);border-radius:999px;color:#f6f0df;background:transparent;cursor:pointer;font:700 10px 'DM Mono',monospace;text-transform:uppercase}.clef-picker button[aria-pressed="true"]{color:#2d3c17;background:#b8db5b;border-color:#b8db5b}.placed-note:focus-visible,.note-token:focus-visible,.clef-picker button:focus-visible,.rhythm-coach select:focus-visible{outline:3px solid #b8db5b;outline-offset:3px}
@media (max-width:620px){.measure{min-height:270px;grid-template-columns:46px 34px minmax(0,1fr);padding:12px 8px;gap:4px}.clef-glyph{width:48px;height:92px}.measure-time{font-size:24px}.measure-staff{background-position:0 calc(50% - 56px),0 calc(50% - 28px),0 50%,0 calc(50% + 28px),0 calc(50% + 56px);background-size:100% 2px}.measure-slot{min-height:100%}.placed-note .notation-glyph{width:min(66px,92%);height:auto;max-height:110px}.placed-note small{max-width:88px;font-size:7px}.rhythm-coach{grid-template-columns:1fr;padding:12px}.rhythm-coach label{justify-content:space-between}.clef-picker{grid-column:auto}}

/* Music theory rhythm desk: a readable practice surface, not a decorative prototype. */
body[data-world="theory"] .rhythm-lab{background:#e8e1d0;color:#17210f;padding:clamp(72px,9vw,140px) clamp(18px,5vw,72px)}
body[data-world="theory"] .rhythm-lab__head{max-width:1180px;margin:0 auto 34px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:36px;align-items:end}
body[data-world="theory"] .rhythm-lab__head .vw-section-heading{margin:0;color:#17210f}
body[data-world="theory"] .rhythm-lab__head>p{margin:0;max-width:520px;color:#53604a;line-height:1.55}
body[data-world="theory"] .rhythm-desk{max-width:1180px;margin:0 auto;border:2px solid #17210f;background:#17210f;box-shadow:14px 14px 0 #c3282e;display:grid;grid-template-columns:270px minmax(0,1fr);gap:0;min-height:0}
body[data-world="theory"] .note-tray{background:#fffaf0;color:#17210f;border-right:2px solid #17210f;padding:26px;display:flex;flex-direction:column;gap:10px}
body[data-world="theory"] .note-tray h3{margin:0;font-family:'Instrument Serif',serif;font-size:36px;font-weight:500}
body[data-world="theory"] .note-tray p{margin:0 0 8px;color:#53604a;line-height:1.45}
body[data-world="theory"] .note-token{min-height:94px;margin:0;padding:10px 12px;grid-template-columns:70px 1fr;background:#f5efdf;color:#17210f;border:2px solid #17210f;box-shadow:5px 5px 0 #c3282e;text-align:left;cursor:pointer}
body[data-world="theory"] .note-token:hover,body[data-world="theory"] .note-token:focus-visible{background:#b8db5b;color:#17210f;transform:translate(-2px,-2px);box-shadow:7px 7px 0 #17210f}
body[data-world="theory"] .note-token b{width:64px;height:64px;color:#17210f}
body[data-world="theory"] .note-token span{font:700 11px/1.35 'DM Mono',monospace;text-transform:uppercase}
body[data-world="theory"] .score-workspace{padding:28px;gap:18px;background:#263a18;color:#fffaf0}
body[data-world="theory"] .measure-status{font:700 12px 'DM Mono',monospace;letter-spacing:.04em}
body[data-world="theory"] .measure-status strong{font-size:16px;color:#b8db5b}
body[data-world="theory"] .measure{min-height:300px;border:3px solid #17210f;background-color:#fffaf0;background-image:linear-gradient(#263a18,#263a18),linear-gradient(#263a18,#263a18),linear-gradient(#263a18,#263a18),linear-gradient(#263a18,#263a18),linear-gradient(#263a18,#263a18);background-position:0 calc(50% - 72px),0 calc(50% - 36px),0 50%,0 calc(50% + 36px),0 calc(50% + 72px);background-size:100% 3px;background-repeat:no-repeat;overflow:hidden}
body[data-world="theory"] .measure-clef{color:#263a18}
body[data-world="theory"] .measure-time{color:#263a18}
body[data-world="theory"] .measure-slot{border-right:1px dashed rgba(38,58,24,.32)}
body[data-world="theory"] .placed-note{color:#263a18;filter:drop-shadow(3px 3px 0 #c3282e)}
body[data-world="theory"] .placed-note small{color:#263a18;font:700 9px/1.2 'DM Mono',monospace;text-transform:uppercase}
body[data-world="theory"] .measure-beat-labels{position:absolute;left:145px;right:0;bottom:10px;display:grid;grid-template-columns:repeat(4,1fr);color:#68745e;font:700 10px 'DM Mono',monospace;text-align:center;pointer-events:none}
body[data-world="theory"] .rhythm-coach{background:#1b2c11;border-color:#9fbd78;color:#fffaf0}
body[data-world="theory"] .rhythm-coach strong{color:#fffaf0}
body[data-world="theory"] .rhythm-actions{align-items:center}
body[data-world="theory"] .rhythm-actions button,body[data-world="theory"] .rhythm-actions .vw-button{min-height:48px;padding:12px 16px;border:2px solid #fffaf0;background:transparent;color:#fffaf0;font-weight:800;cursor:pointer}
body[data-world="theory"] .rhythm-actions button:first-child{background:#b8db5b;color:#17210f;border-color:#b8db5b}
body[data-world="theory"] .rhythm-actions button:hover,body[data-world="theory"] .rhythm-actions button:focus-visible,body[data-world="theory"] .rhythm-actions .vw-button:hover{background:#fffaf0;color:#17210f}
body[data-world="theory"] .rhythm-reference{border-top:1px solid rgba(255,250,240,.35);padding-top:16px}
body[data-world="theory"] .rhythm-reference article{color:#fffaf0}
@media (max-width:760px){body[data-world="theory"] .rhythm-lab__head{grid-template-columns:1fr;gap:14px}body[data-world="theory"] .rhythm-desk{grid-template-columns:1fr;box-shadow:8px 8px 0 #c3282e}body[data-world="theory"] .note-tray{border-right:0;border-bottom:2px solid #17210f;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:10px}body[data-world="theory"] .note-tray h3,body[data-world="theory"] .note-tray p{grid-column:1/-1}body[data-world="theory"] .note-token{grid-template-columns:58px 1fr;min-height:82px;padding:7px}body[data-world="theory"] .note-token b{width:52px;height:52px}body[data-world="theory"] .score-workspace{padding:14px}body[data-world="theory"] .measure{min-height:250px;background-position:0 calc(50% - 54px),0 calc(50% - 27px),0 50%,0 calc(50% + 27px),0 calc(50% + 54px);background-size:100% 2px}body[data-world="theory"] .measure-beat-labels{left:76px;bottom:7px}body[data-world="theory"] .rhythm-actions>*{flex:1 1 46%}}

/* Keep the original wide desk composition: one continuous staff, four beat
   spaces, and the clef/time signature sitting naturally at its left edge. */
.measure-slot:nth-of-type(3){padding-left:76px}
.rhythm-reference{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rhythm-reference article{display:grid;gap:5px;padding:12px 14px;border-left:3px solid #b8db5b;background:rgba(15,22,7,.18)}.rhythm-reference b{font:700 10px 'DM Mono',monospace;letter-spacing:.12em;color:#b8db5b}.rhythm-reference span{font-size:12px;line-height:1.4;color:#c4ccb9}
.rhythm-actions button:disabled{opacity:.58;cursor:wait}
.measure{min-height:250px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:0;border-left:5px double #f6f0df;border-right:5px double #f6f0df;padding:0;background-image:linear-gradient(#f6f0df,#f6f0df),linear-gradient(#f6f0df,#f6f0df),linear-gradient(#f6f0df,#f6f0df),linear-gradient(#f6f0df,#f6f0df),linear-gradient(#f6f0df,#f6f0df);background-position:0 calc(50% - 48px),0 calc(50% - 24px),0 50%,0 calc(50% + 24px),0 calc(50% + 48px);background-size:100% 3px;background-repeat:no-repeat}.measure-clef{position:absolute;z-index:1;left:20px;top:50%;width:68px;height:112px;transform:translateY(-50%);font-size:0}.measure-time{position:absolute;z-index:1;left:91px;top:50%;transform:translateY(-50%);font-size:25px}.measure-slot{min-width:0;min-height:190px;display:grid;place-items:center;border-right:1px dashed rgba(246,240,223,.4);position:relative}.measure-slot:first-of-type{padding-left:76px}.measure-slot:last-child{border:0}.measure-playhead{z-index:3}.placed-note .notation-glyph{width:min(88px,70%);max-height:132px}
@media (max-width:620px){.measure{min-height:205px;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;background-position:0 calc(50% - 40px),0 calc(50% - 20px),0 50%,0 calc(50% + 20px),0 calc(50% + 40px);background-size:100% 2px}.measure-clef{left:7px;width:40px;height:72px}.measure-time{left:49px;font-size:18px}.measure-slot{min-height:155px}.measure-slot:nth-of-type(3){padding-left:48px}.placed-note .notation-glyph{width:min(62px,74%);max-height:100px}.rhythm-reference{grid-template-columns:1fr;gap:7px}.rhythm-reference article{grid-template-columns:68px 1fr;align-items:center;padding:9px 11px}}

@media print {
  body[data-world="theory"]{background:#fff!important;color:#111!important}
  body[data-world="theory"] .world-nav,body[data-world="theory"] .theory-hero,body[data-world="theory"] .theory-chapters,body[data-world="theory"] .theory-syllabus,body[data-world="theory"] .theory-lesson-notes,body[data-world="theory"] .theory-faq,body[data-world="theory"] .theory-portal,body[data-world="theory"] .vw-footer,body[data-world="theory"] .rhythm-lab__head,body[data-world="theory"] .note-tray,body[data-world="theory"] .measure-status,body[data-world="theory"] .rhythm-coach,body[data-world="theory"] .rhythm-actions{display:none!important}
  body[data-world="theory"] .rhythm-lab{padding:20px;background:#fff!important;color:#111!important}
  body[data-world="theory"] .rhythm-desk{display:block;min-height:0;border:2px solid #111;box-shadow:none;background:#fff!important}
  body[data-world="theory"] .score-workspace{padding:20px}
  body[data-world="theory"] .measure{min-height:360px;border-color:#111;background:transparent}
  body[data-world="theory"] .measure-staff{border-color:#111;background-image:linear-gradient(#111,#111),linear-gradient(#111,#111),linear-gradient(#111,#111),linear-gradient(#111,#111),linear-gradient(#111,#111)}
  body[data-world="theory"] .measure{border-color:#111;background-image:linear-gradient(#111,#111),linear-gradient(#111,#111),linear-gradient(#111,#111),linear-gradient(#111,#111),linear-gradient(#111,#111)}
  body[data-world="theory"] .measure-time,body[data-world="theory"] .measure-clef,body[data-world="theory"] .placed-note{color:#111}
}

/* Rhythm desk readability and interaction layout */
.rhythm-desk{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:0;border:1px solid rgba(246,240,223,.55);background:#243211;box-shadow:14px 14px 0 #c3282e;overflow:hidden}
.note-tray{padding:28px 22px;border-right:1px solid rgba(246,240,223,.35);background:#f6f0df;color:#243211;display:flex;flex-direction:column;gap:10px}
.note-tray h3{margin:0;font:600 27px/1.1 'Instrument Serif',serif;color:#243211}
.note-tray p{margin:0 0 8px;color:#576149;font-size:13px;line-height:1.5}
.note-token{display:grid;grid-template-columns:62px 1fr;align-items:center;min-height:78px;width:100%;padding:10px;border:1px solid #243211;background:#fffdf5;color:#243211;cursor:pointer;text-align:left;box-shadow:5px 5px 0 #c3282e;font:600 12px/1.25 'DM Mono',monospace}
.note-token:hover,.note-token:focus-visible{background:#b8db5b;transform:translate(-2px,-2px)}
.note-token b{display:grid;place-items:center;color:#243211;font:52px/1 'Times New Roman',serif}
.note-token span{color:#243211}
.score-workspace{min-width:0;padding:28px;background:#243211;color:#f6f0df}
.measure-status{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;font:600 12px 'DM Mono',monospace}
.measure{position:relative;min-width:0;overflow:hidden}
.placed-note{z-index:2;color:#f6f0df;cursor:pointer;text-align:center}
.placed-note small{display:block;margin-top:7px;color:#c4ccb9;font:500 9px/1.2 'DM Mono',monospace}
.rhythm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.rhythm-actions button,.rhythm-actions .vw-button{min-height:42px;padding:10px 15px;border:1px solid #f6f0df;background:transparent;color:#f6f0df;cursor:pointer;font:700 11px 'DM Mono',monospace}
.rhythm-actions button:first-child{background:#b8db5b;border-color:#b8db5b;color:#243211}
@media (max-width:900px){.rhythm-desk{grid-template-columns:1fr}.note-tray{border-right:0;border-bottom:1px solid rgba(36,50,17,.35);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.note-tray h3,.note-tray p{grid-column:1/-1}.note-token{min-height:70px}.score-workspace{padding:20px}}
@media (max-width:520px){.note-tray{grid-template-columns:1fr}.measure{min-height:210px}.measure-slot{min-height:160px}.rhythm-actions>*{flex:1 1 100%}.measure-status{font-size:10px}.measure-status>span:last-child{display:none}}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
  .vw-reveal { opacity:1; transform:none; }
  .vw-cursor { display:none; }
}

/* The hall arch intentionally projects past its card; the hero is its stage. */
.choir-hero{overflow:hidden}

@media(max-width:620px){
  body[data-world="choir"] .world-nav{background:#fff3cf;border-color:#2a0714;box-shadow:0 7px 0 rgba(20,2,9,.3)}
  body[data-world="choir"] .world-nav>.world-nav__brand:first-child{font-size:10px;color:#2a0714}
  body[data-world="choir"] .world-nav__links a{color:#2a0714;font-size:8px}
  body[data-world="choir"] .world-nav .world-nav__cta{padding:7px 6px;color:#fff3cf;background:#2a0714}
  .choir-console{padding-inline:14px}
  .choir-workstation{border-radius:14px;box-shadow:7px 7px 0 #ee6a6f}
  .choir-transport{grid-template-columns:minmax(0,1fr);padding:18px;gap:14px}
  .choir-transport__buttons button:first-child{flex:1}
  .choir-workstation .choir-mixer{grid-template-columns:minmax(0,1fr)}
  .choir-workstation .choir-channel{min-height:0;border-right:0!important;border-bottom:2px solid #351021!important;padding:20px}
  .choir-workstation .choir-channel:last-child{border-bottom:0!important}
  .choir-contour{height:56px}
  .swara-voice-bank{gap:4px}.swara-voice-bank button{font-size:13px}
  .raga-transport{grid-template-columns:minmax(0,1fr)}.raga-stop{grid-column:auto}
}

@media(max-width:600px){
  .vocals-portal h2{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
}

/* ========================================================================== */
/* DEEP COURSE EDITORIALS                                                      */
/* ========================================================================== */

/* Choir: a continuous score rather than a card grid */
.choir-journey{padding:105px clamp(22px,6vw,90px);display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(45px,7vw,110px);color:#fff8e8;background:#250914}.choir-journey__intro{position:sticky;top:110px;align-self:start}.choir-journey__intro h2{font-family:'Instrument Serif',serif;font-weight:500}.choir-journey__intro>p:last-child{max-width:520px;color:#dfb9bb;font-size:17px;line-height:1.75}.choir-score-path{margin:0;padding:0;list-style:none;perspective:1000px}.choir-score-path li{position:relative;display:grid;grid-template-columns:72px 1fr auto;gap:22px;align-items:center;min-height:175px;padding:28px 26px;border-top:1px solid #ee6a6f;transform-origin:left center;transition:transform .35s,background .35s}.choir-score-path li::before,.choir-score-path li::after{content:"";position:absolute;left:0;right:0;height:1px;background:rgba(238, 106, 111,.2)}.choir-score-path li::before{top:42%}.choir-score-path li::after{top:66%}.choir-score-path li:hover{z-index:2;transform:rotateY(-5deg) translateZ(28px);background:#3d0d21}.choir-score-path li>span{position:relative;z-index:2;font-family:'Instrument Serif';font-size:60px;color:#ee6a6f}.choir-score-path h3,.choir-score-path p{position:relative;z-index:2}.choir-score-path h3{margin:0 0 7px;font-family:'Instrument Serif';font-size:32px}.choir-score-path p{margin:0;color:#dfb9bb;line-height:1.65}.choir-score-path b{position:relative;z-index:2;writing-mode:vertical-rl;font-size:10px;letter-spacing:.18em;color:#ee6a6f}
.choir-rehearsal{padding:95px clamp(22px,6vw,90px);display:grid;grid-template-columns:1.3fr .7fr;gap:30px;color:#351021;background:#ee6a6f}.choir-rehearsal__sheet{padding:45px;border:2px solid #351021;background:#fff8e8;box-shadow:15px 15px 0 #351021;transform:rotate(-1deg)}.choir-rehearsal__sheet h2{max-width:850px;margin:0 0 35px;font-family:'Instrument Serif';font-size:clamp(43px,6vw,83px);font-weight:500;line-height:.9;letter-spacing:-.055em}.choir-rehearsal__bars{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid #351021}.choir-rehearsal__bars article{padding:24px;border-right:1px solid #351021;border-bottom:1px solid #351021}.choir-rehearsal__bars article:nth-child(even){border-right:0}.choir-rehearsal__bars b{font-size:10px;letter-spacing:.15em}.choir-rehearsal__bars p{margin:8px 0 0;line-height:1.65}.choir-care{align-self:end;padding:35px;border:2px solid #351021;background:#f07a7f;transform:rotate(1.5deg)}.choir-care h3{margin:0 0 10px;font-family:'Instrument Serif';font-size:31px}.choir-care h3:not(:first-child){margin-top:34px}.choir-care p{line-height:1.72}
.choir-faq{padding:100px clamp(22px,6vw,90px);display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;color:#fff8e8;background:#351021}.choir-faq h2{font-family:'Instrument Serif';font-weight:500}.choir-faq>div>p:last-child{max-width:430px;color:#dbb3b4;line-height:1.7}.choir-faq__list{border-top:1px solid #ee6a6f}.choir-faq details{border-bottom:1px solid #ee6a6f}.choir-faq summary{padding:22px 40px 22px 0;cursor:pointer;font-family:'Instrument Serif';font-size:25px;list-style:none;position:relative}.choir-faq summary::after{content:"+";position:absolute;right:8px;color:#ee6a6f}.choir-faq details[open] summary::after{content:"−"}.choir-faq details p{max-width:760px;margin:0;padding:0 45px 24px 0;color:#dbb3b4;line-height:1.7}

/* Vocal gateway: a navigational axis and stepped diagnostic route */
.vocals-compass{min-height:760px;display:grid;grid-template-columns:140px 1fr;color:#fff;background:#17111a;border-block:1px solid #bce485}.vocals-compass__axis{display:grid;grid-template-rows:repeat(4,1fr);border-right:1px solid #bce485}.vocals-compass__axis span{display:grid;place-items:center;border-bottom:1px solid #bce485;writing-mode:vertical-rl;font-family:'Archivo Black';font-size:18px;letter-spacing:.16em}.vocals-compass__axis span:last-child{border:0}.vocals-compass__copy{padding:95px clamp(25px,7vw,110px)}.vocals-compass__copy h2{max-width:1050px;font-family:'Archivo Black'}.vocals-compass__copy>p{max-width:780px;color:#c9c7d1;font-size:18px;line-height:1.75}.vocals-compass__copy ol{margin:55px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);perspective:1100px}.vocals-compass__copy li{min-height:250px;padding:24px;border:1px solid #bce485;background:#74309c;transform:rotateY(var(--turn));transition:transform .3s,background .3s}.vocals-compass__copy li:nth-child(1){--turn:5deg}.vocals-compass__copy li:nth-child(2){--turn:-3deg;background:#650d10}.vocals-compass__copy li:nth-child(3){--turn:3deg;background:#74309c}.vocals-compass__copy li:nth-child(4){--turn:-5deg;background:#650d10}.vocals-compass__copy li:hover{transform:translateZ(35px) rotateY(0)}.vocals-compass__copy b{display:block;font-family:'Archivo Black';color:#bce485}.vocals-compass__copy span{display:block;margin-top:90px;line-height:1.6}
.vocals-lesson-map{padding:100px clamp(22px,6vw,90px);display:grid;grid-template-columns:.75fr 1.25fr .7fr;gap:34px;color:#17111a;background:#fff}.vocals-lesson-map__lead h2{margin:0;font-family:'Archivo Black';font-size:clamp(42px,6vw,76px);line-height:.9;letter-spacing:-.06em}.vocals-lesson-map__lead p:last-child{line-height:1.7}.vocals-lesson-map__steps{border:2px solid #17111a}.vocals-lesson-map__steps article{display:grid;grid-template-columns:74px 1fr;gap:18px;padding:25px;border-bottom:1px solid #17111a;transition:padding-left .25s,background .25s}.vocals-lesson-map__steps article:last-child{border:0}.vocals-lesson-map__steps article:hover{padding-left:40px;background:#bce485}.vocals-lesson-map__steps span{font-size:10px;font-weight:900;letter-spacing:.14em}.vocals-lesson-map__steps h3{margin:0 0 7px;font-family:'Archivo Black'}.vocals-lesson-map__steps p{grid-column:2;margin:0;line-height:1.6}.vocals-lesson-map aside{padding:30px;color:#fff;background:#f07b80;align-self:start;box-shadow:12px 12px 0 #17111a}.vocals-lesson-map aside h3{font-family:'Archivo Black';font-size:25px}.vocals-lesson-map aside h3:not(:first-child){margin-top:35px}.vocals-lesson-map aside p{line-height:1.68}
.vocals-faq{padding:100px clamp(22px,6vw,90px);color:#fff;background:linear-gradient(90deg,#74309c 0 50%,#650d10 50%)}.vocals-faq__title{max-width:880px;margin-bottom:50px}.vocals-faq h2{font-family:'Archivo Black'}.vocals-faq__columns{columns:2;column-gap:30px}.vocals-faq details{break-inside:avoid;margin:0 0 18px;padding:22px;border:1px solid currentColor;background:rgba(18,17,26,.34)}.vocals-faq summary{cursor:pointer;font-family:'Archivo Black';font-size:19px;line-height:1.3}.vocals-faq details p{margin:16px 0 0;line-height:1.68;color:#e7e4ef}

/* Western vocals: rack units, session screen and expandable patch notes */
.western-signal-path{padding:100px clamp(20px,5vw,72px);color:#edf0e9;background:#0a0c08}.western-signal-path__head{display:grid;grid-template-columns:1fr .7fr;gap:35px;align-items:end}.western-signal-path__head h2{font-weight:700}.western-signal-path__head>p:last-child{color:#9babad;line-height:1.7}.western-rack-units{margin:55px 0 0;padding:0;list-style:none;perspective:1200px}.western-rack-units li{display:grid;grid-template-columns:85px 1fr 100px;gap:25px;align-items:center;min-height:155px;padding:25px 32px;border:2px solid #59676b;border-bottom:0;background:#151910;box-shadow:inset 0 0 0 8px #0a0c08;transition:transform .3s,border-color .3s}.western-rack-units li:last-child{border-bottom:2px solid #59676b}.western-rack-units li:hover{z-index:2;transform:translateZ(28px) rotateX(2deg);border-color:#a8dc60}.western-rack-units b{font:700 49px/1 'DM Mono';color:#a8dc60}.western-rack-units h3{margin:0 0 7px;font-size:25px}.western-rack-units p{margin:0;color:#9babad;line-height:1.6}.western-rack-units span{font:600 10px/1.4 'DM Mono';letter-spacing:.12em;color:#a8dc60;text-align:right}
.western-session{padding:100px clamp(20px,5vw,72px);display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;color:#0a0c08;background:#edf0e9}.western-session__screen{min-height:560px;padding:35px;position:relative;overflow:hidden;color:#a8dc60;background:#10130c;border:3px solid #0a0c08;box-shadow:15px 15px 0 #a8dc60}.western-session__screen>span{font:600 10px 'DM Mono';letter-spacing:.15em}.western-session__screen h2{margin:65px 0 22px;font-size:clamp(44px,6vw,80px);line-height:.85;letter-spacing:-.07em}.western-session__screen p{max-width:540px;color:#a8b5b7;line-height:1.7}.western-session__meters{position:absolute;left:35px;right:35px;bottom:35px;height:120px;display:flex;align-items:end;gap:9px}.western-session__meters i{flex:1;height:var(--mh);background:#a8dc60}.western-session__meters i:nth-child(1){--mh:26%}.western-session__meters i:nth-child(2){--mh:64%}.western-session__meters i:nth-child(3){--mh:42%}.western-session__meters i:nth-child(4){--mh:89%}.western-session__meters i:nth-child(5){--mh:55%}.western-session__meters i:nth-child(6){--mh:75%}.western-session__meters i:nth-child(7){--mh:34%}.western-session__meters i:nth-child(8){--mh:68%}.western-session__notes{display:grid;grid-template-columns:1fr 1fr;border:2px solid #0a0c08}.western-session__notes article{padding:26px;border-right:1px solid #0a0c08;border-bottom:1px solid #0a0c08}.western-session__notes article:nth-child(even){border-right:0}.western-session__notes article:nth-last-child(-n+2){border-bottom:0}.western-session__notes h3{margin:0 0 10px;font-size:22px}.western-session__notes p{line-height:1.67}.western-care-strip{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto 1fr;gap:20px;align-items:start;padding:25px;border:2px solid #0a0c08;background:#a8dc60}.western-care-strip b{font:700 11px 'DM Mono'}.western-care-strip p{margin:0;line-height:1.65}
.western-faq{padding:100px clamp(20px,5vw,72px);display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;color:#edf0e9;background:#161911}.western-faq h2{font-weight:700}.western-faq__stack{counter-reset:faq;border-top:1px solid #536064}.western-faq details{counter-increment:faq;border-bottom:1px solid #536064}.western-faq summary{padding:23px 40px 23px 55px;position:relative;cursor:pointer;font-size:20px;font-weight:700;list-style:none}.western-faq summary::before{content:"0" counter(faq);position:absolute;left:0;color:#a8dc60;font:600 12px 'DM Mono'}.western-faq details p{margin:0;padding:0 35px 24px 55px;color:#aab6b8;line-height:1.7}

/* Carnatic: manuscript, tala geometry and arched questions */
.carnatic-lesson{padding:100px clamp(20px,6vw,90px);display:grid;grid-template-columns:.8fr 1.2fr .65fr;gap:34px;color:#4e0b0e;background:#fff5df}.carnatic-lesson__manuscript{padding:35px;border:2px solid #741c1f;background:repeating-linear-gradient(0deg,#fffaf0 0 38px,#ec9c9f 39px 40px);box-shadow:13px 13px 0 #c3282e;transform:rotate(-1deg)}.carnatic-lesson__manuscript h2{font-family:'Instrument Serif';font-weight:400}.carnatic-lesson__manuscript>p:last-child{line-height:1.75}.carnatic-lesson__cycle{margin:0;padding:0;list-style:none;border-inline:2px solid #741c1f}.carnatic-lesson__cycle li{display:grid;grid-template-columns:90px 1fr;gap:20px;align-items:center;min-height:128px;padding:20px 28px;border-bottom:1px solid #c96266;background:#fffaf0}.carnatic-lesson__cycle li:first-child{border-radius:90px 90px 0 0}.carnatic-lesson__cycle li:last-child{border-bottom:0}.carnatic-lesson__cycle b{font-family:'Instrument Serif';font-size:22px;color:#4b6e19}.carnatic-lesson__cycle p{margin:0;line-height:1.65}.carnatic-lesson aside{align-self:center;padding:30px;color:#fff5df;background:#741c1f;border-radius:50% 50% 8px 8px;box-shadow:0 18px 0 #c3282e}.carnatic-lesson aside h3{font-family:'Instrument Serif';font-size:27px;font-weight:400}.carnatic-lesson aside p{line-height:1.72}
.carnatic-outcomes{padding:100px clamp(20px,6vw,90px);display:grid;grid-template-columns:.75fr 1.25fr;gap:65px;align-items:center;color:#fff5df;background:#4b6e19}.carnatic-outcomes__arch{min-height:560px;position:relative;display:grid;place-items:center;border:3px solid #c3282e;border-bottom-width:15px;border-radius:50% 50% 0 0;background:radial-gradient(circle at 50% 52%,#c3282e 0 16%,transparent 16.5%),repeating-conic-gradient(from 0deg,rgba(255,245,223,.22) 0 2deg,transparent 2deg 45deg);perspective:900px}.carnatic-outcomes__arch span{position:absolute;padding:12px 16px;border:1px solid #c3282e;background:#4b6e19;font-family:'Instrument Serif';font-size:18px;transform:translateZ(20px)}.carnatic-outcomes__arch span:nth-child(1){top:14%;left:37%}.carnatic-outcomes__arch span:nth-child(2){top:43%;right:5%}.carnatic-outcomes__arch span:nth-child(3){bottom:12%;left:40%}.carnatic-outcomes__arch span:nth-child(4){top:43%;left:1%}.carnatic-outcomes h2{font-family:'Instrument Serif';font-size:clamp(46px,7vw,93px);font-weight:400;line-height:.9}.carnatic-outcomes h3{margin-top:35px;font-family:'Instrument Serif';font-size:29px;font-weight:400;color:#c3282e}.carnatic-outcomes p{max-width:760px;line-height:1.75;color:#e7eedd}
.carnatic-faq{padding:100px clamp(20px,6vw,90px);color:#4e0b0e;background:#fff5df}.carnatic-faq>div:first-child{max-width:870px}.carnatic-faq h2{font-family:'Instrument Serif';font-weight:400}.carnatic-faq__arches{margin-top:50px;display:grid;grid-template-columns:repeat(5,1fr);align-items:start}.carnatic-faq details{min-height:350px;padding:75px 20px 25px;border:2px solid #741c1f;border-right:0;border-radius:50% 50% 0 0;background:#fffaf0;transition:transform .3s,background .3s}.carnatic-faq details:last-child{border-right:2px solid #741c1f}.carnatic-faq details:hover,.carnatic-faq details[open]{z-index:2;transform:translateY(-15px);background:#e4c8c9}.carnatic-faq summary{cursor:pointer;font-family:'Instrument Serif';font-size:21px;line-height:1.3}.carnatic-faq details p{line-height:1.65}

/* Dance: a diagonal track, typographic class poster and floor-grid FAQ */
.dance-training-map{padding:100px clamp(18px,5vw,72px);color:#111;background:#a2d956}.dance-training-map header{display:grid;grid-template-columns:1fr .65fr;gap:40px;align-items:end}.dance-training-map h2{font-family:'Archivo Black';font-weight:400;text-transform:uppercase}.dance-training-map header>p:last-child{line-height:1.7}.dance-training-map__track{margin:60px 0 0;padding:0;list-style:none;perspective:1100px}.dance-training-map__track li{display:grid;grid-template-columns:120px 180px 1fr;gap:25px;align-items:center;min-height:160px;padding:25px 35px;border:4px solid #111;border-bottom:0;background:#f3f0e7;transform:translateX(var(--dx));transition:transform .3s,background .3s}.dance-training-map__track li:last-child{border-bottom:4px solid #111}.dance-training-map__track li:nth-child(1){--dx:0}.dance-training-map__track li:nth-child(2){--dx:3%}.dance-training-map__track li:nth-child(3){--dx:6%}.dance-training-map__track li:nth-child(4){--dx:9%}.dance-training-map__track li:hover{z-index:2;transform:translateX(0) translateZ(35px);background:#c3282e}.dance-training-map__track b{font-family:'Archivo Black';font-size:90px;line-height:.7;-webkit-text-stroke:2px #111;-webkit-text-fill-color:transparent}.dance-training-map__track span{font-size:11px;font-weight:900;letter-spacing:.15em}.dance-training-map__track h3{margin:0 0 8px;font-family:'Archivo Black';font-size:35px;font-weight:400;text-transform:uppercase}.dance-training-map__track p{margin:0;line-height:1.6}
.dance-class-anatomy{padding:100px clamp(18px,5vw,72px);display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.1fr) minmax(0,.65fr);gap:28px;color:#f3f0e7;background:#111}.dance-class-anatomy__poster{min-height:680px;display:flex;flex-direction:column;justify-content:space-between;padding:25px;border:3px solid #f3f0e7;background:#c3282e;transform:rotate(-2deg);box-shadow:14px 14px 0 #a2d956}.dance-class-anatomy__poster span{font-family:'Archivo Black';font-size:clamp(52px,7vw,94px);line-height:.75;color:#111}.dance-class-anatomy__copy h2{margin:0 0 35px;font-family:'Archivo Black';font-size:clamp(48px,7vw,95px);font-weight:400;line-height:.82;text-transform:uppercase;overflow-wrap:anywhere}.dance-class-anatomy__copy article{padding:18px 0;border-top:1px solid #777}.dance-class-anatomy__copy article b{color:#a2d956}.dance-class-anatomy__copy article p{margin:8px 0 0;color:#c5c3bc;line-height:1.65}.dance-class-anatomy aside{padding:28px;color:#111;background:#f3f0e7;align-self:center}.dance-class-anatomy aside h3{font-family:'Archivo Black';font-size:30px;font-weight:400;text-transform:uppercase}.dance-class-anatomy aside h3:not(:first-child){margin-top:36px}.dance-class-anatomy aside p{line-height:1.67}
.dance-faq{padding:100px clamp(18px,5vw,72px);color:#111;background:#c3282e}.dance-faq>div:first-child{max-width:820px}.dance-faq h2{font-family:'Archivo Black';font-weight:400;text-transform:uppercase}.dance-faq__grid{margin-top:50px;display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.dance-faq details{grid-column:span 4;min-height:230px;padding:24px;border:4px solid #111;background:#f3f0e7;box-shadow:8px 8px 0 #111}.dance-faq details:nth-child(4){grid-column:3/span 4}.dance-faq details:nth-child(5){grid-column:7/span 4}.dance-faq summary{cursor:pointer;font-family:'Archivo Black';font-size:25px;line-height:1.15;text-transform:uppercase}.dance-faq details p{line-height:1.65}

/* Theory: folded syllabus, annotated lesson and ruled ledger */
.theory-syllabus{padding:100px clamp(20px,6vw,90px);display:grid;grid-template-columns:.72fr 1.28fr;gap:65px;color:#f6f0df;background:#2d3c17}.theory-syllabus__margin h2{font-family:'Instrument Serif';font-weight:650}.theory-syllabus__margin>p:last-child{color:#cad1c1;line-height:1.75}.theory-foldout{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);perspective:1400px}.theory-foldout li{min-height:520px;padding:28px 22px;display:flex;flex-direction:column;border:2px solid #2d3c17;color:#2d3c17;background:#fffaf0;transform-origin:left center;transform:rotateY(var(--fold));box-shadow:8px 10px 0 #c3282e;transition:transform .35s}.theory-foldout li:nth-child(odd){--fold:7deg}.theory-foldout li:nth-child(even){--fold:-7deg;background:#ece3cd}.theory-foldout li:hover{z-index:2;transform:rotateY(0) translateZ(35px)}.theory-foldout b{font-family:'Instrument Serif';font-size:65px;color:#c3282e}.theory-foldout h3{margin:85px 0 12px;font-family:'Instrument Serif';font-size:30px}.theory-foldout p{line-height:1.65}.theory-foldout em{margin-top:auto;font:600 10px 'DM Mono';letter-spacing:.12em}
.theory-lesson-notes{padding:100px clamp(20px,6vw,90px);display:grid;grid-template-columns:1.2fr .8fr;gap:40px;color:#2d3c17;background:#c3282e}.theory-lesson-notes__page{padding:50px;border:2px solid #2d3c17;background:repeating-linear-gradient(0deg,#fffaf0 0 43px,#c1c8b7 44px 45px);box-shadow:16px 16px 0 #2d3c17;transform:rotate(-1deg)}.theory-lesson-notes__page>span{font:600 10px 'DM Mono';letter-spacing:.14em}.theory-lesson-notes__page h2{max-width:850px;margin:35px 0 45px;font-family:'Instrument Serif';font-size:clamp(45px,7vw,88px);font-weight:500;line-height:.9}.theory-annotation{display:grid;grid-template-columns:140px 1fr;gap:25px;padding:18px 0;border-top:1px solid #2d3c17}.theory-annotation b{font:600 11px 'DM Mono'}.theory-annotation p{margin:0;line-height:1.65}.theory-lesson-notes aside{align-self:center;padding:35px;color:#f6f0df;background:#2d3c17}.theory-lesson-notes aside h3{font-family:'Instrument Serif';font-size:30px;font-weight:500}.theory-lesson-notes aside h3:not(:first-child){margin-top:35px}.theory-lesson-notes aside p{color:#ccd2c4;line-height:1.7}
.theory-faq{padding:100px clamp(20px,6vw,90px);display:grid;grid-template-columns:.75fr 1.25fr;gap:65px;color:#2d3c17;background:#f6f0df}.theory-faq h2{font-family:'Instrument Serif';font-weight:650}.theory-faq__ledger{border-top:3px double #2d3c17;background:repeating-linear-gradient(0deg,transparent 0 41px,rgba(45, 60, 23,.12) 42px)}.theory-faq details{border-bottom:1px solid #2d3c17}.theory-faq summary{padding:22px 45px 22px 12px;cursor:pointer;font-family:'Instrument Serif';font-size:23px;list-style:none}.theory-faq details[open]{background:#ece3cd}.theory-faq details p{margin:0;padding:0 40px 25px 45px;line-height:1.7;color:#576149}

/* Theory pages contain dense notation language. Keep every fold and note page readable at any width. */
.theory-syllabus>*,.theory-lesson-notes>*,.theory-faq>*{min-width:0}.theory-foldout{gap:clamp(10px,1.4vw,20px)}.theory-foldout li{min-width:0;padding:clamp(22px,2.2vw,30px);overflow-wrap:anywhere}.theory-foldout h3{margin:clamp(48px,6vw,82px) 0 18px;line-height:1}.theory-foldout p{margin:0;line-height:1.78}.theory-foldout em{line-height:1.45}.theory-lesson-notes__page{padding:clamp(28px,4vw,54px);background:repeating-linear-gradient(0deg,#fffaf0 0 47px,#c1c8b7 48px 49px)}.theory-lesson-notes__page h2{margin:30px 0 48px;line-height:.96;letter-spacing:-.045em}.theory-annotation{gap:clamp(16px,2vw,28px);padding:22px 0}.theory-annotation p{line-height:1.8;overflow-wrap:anywhere}

@media(max-width:1050px){
  .choir-journey,.choir-rehearsal,.choir-faq,.vocals-lesson-map,.western-faq,.carnatic-lesson,.dance-class-anatomy,.theory-syllabus,.theory-lesson-notes,.theory-faq{grid-template-columns:1fr}
  .choir-journey__intro{position:static}.choir-care{max-width:700px}.vocals-compass__copy ol{grid-template-columns:1fr 1fr}.vocals-compass__copy li span{margin-top:45px}.vocals-lesson-map aside{max-width:700px}.western-signal-path__head,.dance-training-map header{grid-template-columns:1fr}.western-session{grid-template-columns:1fr}.western-care-strip{grid-template-columns:auto 1fr}.carnatic-outcomes{grid-template-columns:1fr}.carnatic-outcomes__arch{width:min(620px,100%);min-height:500px}.carnatic-faq__arches{grid-template-columns:repeat(2,1fr);gap:12px}.carnatic-faq details,.carnatic-faq details:last-child{border:2px solid #741c1f}.dance-class-anatomy__poster{min-height:400px}.dance-class-anatomy__poster span{font-size:60px}.theory-foldout{grid-template-columns:1fr 1fr}.theory-foldout li{min-height:390px}.theory-foldout h3{margin-top:42px}
}

@media(max-width:620px){
  .choir-journey,.choir-rehearsal,.choir-faq,.vocals-compass__copy,.vocals-lesson-map,.vocals-faq,.western-signal-path,.western-session,.western-faq,.carnatic-lesson,.carnatic-outcomes,.carnatic-faq,.dance-training-map,.dance-class-anatomy,.dance-faq,.theory-syllabus,.theory-lesson-notes,.theory-faq{padding:75px 18px}
  .choir-score-path li{grid-template-columns:50px 1fr;padding:20px 5px}.choir-score-path li>span{font-size:45px}.choir-score-path li>b{display:none}.choir-rehearsal__sheet{padding:25px;box-shadow:8px 8px 0 #351021}.choir-rehearsal__bars{grid-template-columns:1fr}.choir-rehearsal__bars article{border-right:0}.choir-care{padding:25px;transform:none}.choir-faq{gap:35px}
  .vocals-compass{grid-template-columns:42px 1fr}.vocals-compass__axis span{font-size:11px}.vocals-compass__copy ol{grid-template-columns:1fr}.vocals-compass__copy li{min-height:180px;transform:none}.vocals-lesson-map__steps article{grid-template-columns:55px 1fr;padding:20px 12px}.vocals-faq__columns{columns:1}
  .western-rack-units li{grid-template-columns:55px 1fr;padding:20px 12px}.western-rack-units b{font-size:35px}.western-rack-units span{display:none}.western-session__screen{min-height:500px;padding:24px;box-shadow:8px 8px 0 #a8dc60}.western-session__notes{grid-template-columns:1fr}.western-session__notes article{border-right:0}.western-session__notes article:nth-last-child(2){border-bottom:1px solid #0a0c08}.western-care-strip{grid-template-columns:1fr}.western-faq{gap:35px}.western-faq summary{padding-left:42px}.western-faq details p{padding-left:42px}
  .carnatic-lesson__manuscript{padding:24px}.carnatic-lesson__cycle li{grid-template-columns:minmax(0,1fr);gap:7px;padding:18px 12px}.carnatic-lesson__cycle b{font-size:20px}.carnatic-lesson aside{border-radius:80px 80px 8px 8px}.carnatic-outcomes__arch{min-height:380px}.carnatic-outcomes__arch span{font-size:12px;padding:8px}.carnatic-faq__arches{grid-template-columns:1fr}.carnatic-faq details{min-height:0;padding:50px 20px 25px}
  .dance-training-map__track li{grid-template-columns:75px 1fr;transform:none;padding:20px 12px}.dance-training-map__track b{font-size:60px}.dance-training-map__track span{grid-column:2}.dance-training-map__track div{grid-column:1/-1}.dance-class-anatomy__poster{min-height:330px;transform:none;box-shadow:8px 8px 0 #a2d956}.dance-class-anatomy__poster span{font-size:48px}.dance-faq__grid{display:grid;grid-template-columns:1fr}.dance-faq details,.dance-faq details:nth-child(4),.dance-faq details:nth-child(5){grid-column:1;min-height:0}
  .theory-foldout{grid-template-columns:1fr}.theory-foldout li{min-height:0;transform:none}.theory-foldout h3{margin-top:36px}.theory-lesson-notes__page{padding:25px;box-shadow:8px 8px 0 #2d3c17}.theory-annotation{grid-template-columns:1fr;gap:10px}.theory-faq{gap:35px}.theory-faq summary{font-size:20px}.theory-faq details p{padding-left:20px}
}

.phrase-select{width:100%;margin:14px 0 22px;padding:12px 38px 12px 0;border:0;border-bottom:2px solid #a8dc60;outline:0;color:#fff;background:#11140d;font-size:clamp(20px,3vw,40px);font-weight:700}.western-audio-status{margin:0;color:#526165;font:600 10px/1.5 'DM Mono',monospace}.western-audio-status.is-playing{color:#0a0c08}.western-audio-status.is-error{color:#a52227}

/* Graded hip-hop pathway - the one thing the dominant Anna Nagar dance
   studios do not advertise, so it leads rather than sits in body copy. */
.dance-cert{padding:clamp(70px,9vw,120px) clamp(18px,5vw,72px);background:#a2d956;color:#111;border-block:3px solid #111}
.dance-cert h2{margin:14px 0 22px;font-family:'Archivo Black',sans-serif;font-weight:400;font-size:clamp(34px,6vw,76px);line-height:.92;letter-spacing:-.03em;max-width:18ch;overflow-wrap:anywhere}
.dance-cert>p{max-width:60ch;font-size:clamp(16px,1.6vw,19px);line-height:1.65;margin:0 0 26px}
.dance-cert__points{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.dance-cert__points li{background:#f3f0e7;border:2px solid #111;border-radius:14px;padding:18px 20px;font-size:15.5px;line-height:1.55;box-shadow:5px 5px 0 #111}
.dance-cert__points b{display:block;margin-bottom:5px;font-size:16px}
.dance-cert__note{max-width:60ch;font-size:14.5px;opacity:.72;margin:0 0 26px}
