:root{--ink:#09131d;--paper:#f6f3ec;--blue:#143d67;--electric:#3b82f6;--gold:#c99643;--line:rgba(9,19,29,.18);--serif:"Libre Caslon Display","Noto Serif SC",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}.skip{position:fixed;left:1rem;top:-5rem;background:white;color:var(--ink);padding:.7rem 1rem;z-index:20}.skip:focus{top:1rem}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4.5rem);position:absolute;top:0;width:100%;z-index:10;color:#fff;border-bottom:1px solid rgba(255,255,255,.2)}.brand{display:flex;align-items:center;gap:.75rem;color:inherit;text-decoration:none;font-weight:600;letter-spacing:.02em}.brand small{font-family:"Noto Serif SC",serif;font-weight:500;opacity:.72;margin-left:.25rem}.monogram{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.6);font-family:var(--serif);font-size:.92rem}nav{display:flex;align-items:center;gap:1.6rem}nav a{color:inherit;text-decoration:none;font-size:.9rem}nav a:hover{color:#bad7ff}.language,.menu-button{border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;padding:.5rem .8rem;font:500 .85rem var(--sans);cursor:pointer}.menu-button{display:none}.hero{min-height:760px;height:100svh;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,13,22,.94) 0%,rgba(4,13,22,.73) 38%,rgba(4,13,22,.06) 76%),linear-gradient(0deg,rgba(4,13,22,.55),transparent 45%)}.hero-copy{position:relative;z-index:1;width:min(720px,84vw);margin-left:clamp(1.4rem,8vw,9rem);padding-top:5rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;font-weight:600;margin:0 0 1.3rem;color:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-size:clamp(3.4rem,7.5vw,7.7rem);font-weight:400;line-height:.91;letter-spacing:-.035em;margin-bottom:1.8rem}.intro{font-size:clamp(1rem,1.4vw,1.25rem);max-width:570px;color:rgba(255,255,255,.76);margin-bottom:2.1rem}.button{display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--electric);padding:.85rem 1.2rem;text-decoration:none;font-weight:600;font-size:.9rem;border:1px solid var(--electric);transition:.2s}.button:hover{background:#1d6ee7;transform:translateY(-2px)}.hero-note{position:absolute;right:clamp(1.4rem,4vw,4.5rem);bottom:2.4rem;display:flex;align-items:center;gap:.8rem;z-index:1;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}.hero-note i{width:58px;height:1px;background:rgba(255,255,255,.55)}.section{padding:clamp(5rem,10vw,9rem) clamp(1.4rem,8vw,9rem);position:relative}.section-index{position:absolute;top:clamp(5rem,10vw,9rem);right:clamp(1.4rem,4vw,4.5rem);font:400 4.5rem/1 var(--serif);color:rgba(9,19,29,.1)}.section-heading{max-width:850px}.section-heading h2,.contact h2{font:400 clamp(2.8rem,5.5vw,5.6rem)/1.02 var(--serif);letter-spacing:-.025em;margin-bottom:3.5rem}.about{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);gap:8vw}.about .section-heading h2{font-size:clamp(2.8rem,5vw,5.2rem)}.about-copy{padding-top:4rem;max-width:720px}.about-copy>p{font-size:1.08rem;color:#33404b}.facts{border-top:1px solid var(--line);margin-top:3rem;padding-top:2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.facts div{display:flex;flex-direction:column}.facts strong{font:400 2.8rem/1 var(--serif);color:var(--blue)}.facts span{font-size:.78rem;margin-top:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#58636c}.teaching{background:var(--ink);color:#fff}.section-index{pointer-events:none}.teaching .section-index{color:rgba(255,255,255,.09)}.section-heading.light{max-width:1000px}.teaching-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18);margin-top:1rem}.teaching-grid article{padding:2.4rem 2.5rem 2rem 0;border-right:1px solid rgba(255,255,255,.18);margin-right:2.5rem}.teaching-grid article:last-child{border:0;margin-right:0}.teaching-grid article>span{color:var(--gold);font-family:var(--serif)}h3{font:400 1.65rem/1.2 var(--serif);margin:1.5rem 0 .8rem}.teaching-grid p{color:rgba(255,255,255,.66)}.audiences{display:flex;justify-content:space-between;gap:2rem;align-items:end;border-top:1px solid rgba(255,255,255,.18);margin-top:3rem;padding-top:2rem}.audiences p{font:400 clamp(1.35rem,2vw,2rem)/1.35 var(--serif);max-width:680px;margin:0}.audiences span{color:rgba(255,255,255,.55);font-size:.75rem;max-width:280px;text-align:right}.timeline{border-top:1px solid var(--line)}.timeline article{display:grid;grid-template-columns:140px minmax(220px,.7fr) 1fr;gap:3rem;padding:2.2rem 0;border-bottom:1px solid var(--line)}.timeline time{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--blue)}.timeline h3{margin:0;font-size:1.5rem}.timeline p{margin:0;color:#4b5862}.memberships{margin-top:2.2rem;color:var(--blue);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.contact{background:var(--blue);color:#fff}.contact h2{max-width:1000px}.contact>p:not(.eyebrow){max-width:700px;color:rgba(255,255,255,.72);font-size:1.05rem;margin-bottom:2rem}.button.outline{background:transparent;border-color:rgba(255,255,255,.6)}footer{background:#050c13;color:rgba(255,255,255,.58);padding:1.6rem clamp(1.4rem,4vw,4.5rem);display:flex;justify-content:space-between;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:850px){.menu-button{display:block}.site-header nav{display:none;position:absolute;top:78px;left:0;right:0;background:rgba(5,12,19,.98);padding:1.5rem;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.site-header nav a{padding:.45rem 0}.language{align-self:flex-start}.hero{min-height:700px}.hero-shade{background:linear-gradient(90deg,rgba(4,13,22,.94),rgba(4,13,22,.55)),linear-gradient(0deg,rgba(4,13,22,.5),transparent)}.hero-copy{margin-left:1.4rem;width:calc(100% - 2.8rem)}.about{grid-template-columns:1fr;gap:0}.about-copy{padding-top:0}.teaching-grid{grid-template-columns:1fr}.teaching-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);margin:0;padding-right:0}.audiences{align-items:start;flex-direction:column}.audiences span{text-align:left}.timeline article{grid-template-columns:1fr;gap:.5rem}.section-index{font-size:3rem}}
@media(max-width:540px){h1{font-size:3.2rem}.hero-note{display:none}.section-heading h2,.contact h2{font-size:2.65rem}.facts{grid-template-columns:1fr}.facts div{padding-bottom:1rem;border-bottom:1px solid var(--line)}footer{flex-direction:column;gap:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Immersive night-sky direction */
:root{--ink:#040a17;--paper:#071224;--blue:#102e5f;--electric:#9dc4ff;--gold:#dfc58a;--line:rgba(162,196,239,.2)}
body{background:#040a17;color:#eaf2ff}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 32%,rgba(43,99,176,.18),transparent 34%),radial-gradient(circle at 9% 67%,rgba(82,119,187,.11),transparent 26%);z-index:-1}
.site-header{backdrop-filter:blur(10px);border-color:rgba(206,226,255,.17)}
.monogram{border-radius:50%;box-shadow:0 0 22px rgba(144,188,255,.16)}
.hero>img{animation:slowDrift 18s ease-in-out infinite alternate;transform-origin:center}
.hero-shade{background:linear-gradient(90deg,rgba(2,7,18,.93) 0%,rgba(2,7,18,.62) 40%,rgba(2,7,18,.05) 72%),linear-gradient(0deg,#040a17 0%,transparent 30%)}
.hero-copy{max-width:790px}
h1{font-size:clamp(3.6rem,7.8vw,8rem);text-shadow:0 2px 32px rgba(0,0,0,.32)}
.button{color:#071326;background:rgba(222,235,255,.96);border-color:#f3f8ff;box-shadow:0 0 34px rgba(113,165,244,.24);border-radius:99px;padding:.82rem 1.35rem}.button:hover{background:#fff;box-shadow:0 0 48px rgba(139,186,255,.42)}
.orbit{position:absolute;z-index:1;width:min(42vw,620px);aspect-ratio:1;border:1px solid rgba(181,211,255,.18);border-radius:50%;right:-16vw;top:14%;box-shadow:inset 0 0 80px rgba(104,154,228,.05)}
.orbit:before,.orbit:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(181,211,255,.12);inset:14%}.orbit:after{inset:31%}.orbit span{position:absolute;width:7px;height:7px;border-radius:50%;background:#e7f2ff;left:13%;top:26%;box-shadow:0 0 18px 5px rgba(155,200,255,.65)}
.section{isolation:isolate}.about{background:linear-gradient(180deg,#040a17 0%,#07152c 100%);color:#eaf2ff}.about:after{content:"";position:absolute;width:48vw;height:48vw;border-radius:50%;right:-28vw;bottom:-18vw;border:1px solid rgba(169,204,255,.11);z-index:-1}.section-index{color:rgba(170,205,255,.09)}.about-copy>p,.timeline p{color:#aabbd0}.facts{border-color:var(--line)}.facts strong{color:#b9d6ff;text-shadow:0 0 28px rgba(86,151,244,.2)}.facts span{color:#8397b0}.teaching{background:linear-gradient(135deg,#0a1a36,#050c1c 60%,#112951);overflow:hidden}.teaching:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(110,161,235,.18),transparent 22%);z-index:-1}.teaching-grid{gap:1.25rem;border:0}.teaching-grid article{padding:2.3rem;margin:0;border:1px solid rgba(191,217,255,.16)!important;border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));backdrop-filter:blur(9px);box-shadow:0 22px 80px rgba(0,0,0,.16)}.teaching-grid article:nth-child(2){transform:translateY(2.2rem)}.audiences{margin-top:5.5rem}.work{background:#061024;color:#eaf2ff}.timeline,.timeline article{border-color:var(--line)}.timeline article{grid-template-columns:110px minmax(240px,.8fr) 1fr;align-items:start}.timeline time,.memberships{color:#9ec4ff}.contact{background:radial-gradient(circle at 85% 15%,rgba(105,160,240,.28),transparent 26%),linear-gradient(135deg,#102f61,#071328 72%);min-height:72vh;display:flex;flex-direction:column;justify-content:center}.button.outline{color:#fff;background:rgba(255,255,255,.06)}footer{background:#02060e}
@keyframes slowDrift{from{transform:scale(1.01)}to{transform:scale(1.055)}}
@media(max-width:850px){.hero-shade{background:linear-gradient(90deg,rgba(2,7,18,.93),rgba(2,7,18,.36)),linear-gradient(0deg,#040a17,transparent 38%)}.teaching-grid article:nth-child(2){transform:none}.orbit{width:80vw;right:-48vw}.timeline article{grid-template-columns:1fr}.about{background:linear-gradient(180deg,#040a17,#07152c)}}
@media(prefers-reduced-motion:reduce){.hero>img{animation:none}}

.soundscape{position:fixed;left:clamp(1rem,3vw,2.5rem);bottom:clamp(1rem,3vw,2rem);z-index:15;display:flex;align-items:center;gap:.8rem;padding:.45rem;border:1px solid rgba(198,222,255,.23);border-radius:999px;background:rgba(3,10,23,.62);backdrop-filter:blur(16px);box-shadow:0 14px 44px rgba(0,0,0,.28)}
.sound-toggle{display:flex;align-items:center;gap:.65rem;border:0;border-radius:999px;padding:.65rem 1rem .65rem .72rem;background:transparent;color:#eef6ff;font:500 .78rem var(--sans);letter-spacing:.045em;cursor:pointer;white-space:nowrap}
.sound-toggle:before{content:"";width:25px;height:25px;border-radius:50%;background:radial-gradient(circle,#f0f7ff 0 9%,#8bbcff 12% 18%,rgba(111,169,255,.18) 22% 50%,transparent 53%);box-shadow:0 0 16px rgba(132,186,255,.45);transition:.3s}
.sound-toggle:hover:before,.sound-toggle[aria-pressed="true"]:before{box-shadow:0 0 23px 5px rgba(132,186,255,.55);transform:scale(1.08)}
.sound-toggle[aria-pressed="true"]:before{animation:soundPulse 2.6s ease-in-out infinite}
.sound-volume{align-items:center;gap:.55rem;padding-right:.8rem;color:#b9cbe2;font-size:.7rem}.sound-volume:not([hidden]){display:flex}.sound-volume input{width:72px;accent-color:#a9caff;cursor:pointer}.soundscape:has(.sound-toggle[aria-pressed="true"]){border-color:rgba(186,217,255,.42);background:rgba(7,20,43,.78)}
.sound-status{position:absolute;left:.9rem;bottom:calc(100% + .5rem);color:#eaf3ff;background:rgba(4,12,27,.9);border-radius:8px;font-size:.7rem;padding:.28rem .5rem;white-space:nowrap;opacity:0;transform:translateY(4px);transition:.2s;pointer-events:none}.sound-status.visible{opacity:1;transform:none}
@keyframes soundPulse{50%{transform:scale(1.15);filter:brightness(1.3)}}
@media(max-width:540px){.soundscape{right:1rem;justify-content:space-between}.sound-toggle{font-size:.72rem}.sound-volume label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){.sound-toggle[aria-pressed="true"]:before{animation:none}}

/* Lea AI Piano Lab */
.lab{background:radial-gradient(circle at 12% 18%,rgba(64,123,214,.2),transparent 28%),radial-gradient(circle at 84% 72%,rgba(195,165,102,.12),transparent 24%),#030916;color:#eaf2ff;overflow:hidden}.lab:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(225,238,255,.72) 0 1px,transparent 1.4px);background-size:67px 67px;opacity:.16;mask-image:linear-gradient(115deg,#000,transparent 62%);z-index:-1}.lab-intro{max-width:990px;position:relative}.lab-intro h2{font:400 clamp(3rem,6vw,6.5rem)/.98 var(--serif);letter-spacing:-.032em;margin:0 0 2rem}.lab-lede{max-width:760px;color:#aebed1;font-size:1.08rem}.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:4.5rem;background:rgba(174,204,244,.18);border:1px solid rgba(174,204,244,.18)}.lab-grid article{background:rgba(3,9,22,.88);padding:2.6rem;min-height:300px;transition:background .25s,transform .25s}.lab-grid article:hover{background:rgba(14,35,70,.92);transform:translateY(-4px)}.lab-number{display:block;color:#7399ca;font-size:.72rem;letter-spacing:.17em}.lab-grid h3{font-size:2.15rem;margin:4.7rem 0 .8rem}.lab-grid p{color:#9dafc4;margin:0}.lab-study{position:relative;margin-top:2.5rem;padding:2.6rem 2.8rem;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;border:1px solid rgba(190,216,250,.2);background:linear-gradient(125deg,rgba(25,61,111,.62),rgba(9,23,49,.5));overflow:hidden}.study-copy{position:relative;z-index:1;max-width:760px}.study-label{color:var(--gold);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em}.study-copy h3{font-size:clamp(2rem,4vw,3.8rem);margin:.5rem 0 1rem}.study-copy h3 small{display:inline-block;font-family:"Noto Serif SC",serif;font-size:.38em;color:#9fb4cf;font-weight:500;margin-left:.4rem}.study-copy>p:last-child{color:#b2c2d5;margin:0}.lab-play{position:relative;z-index:1;white-space:nowrap;cursor:pointer;font-family:var(--sans)}.study-orbit{position:absolute;width:290px;height:290px;border:1px solid rgba(192,219,255,.15);border-radius:50%;right:-80px;top:-145px}.study-orbit:before,.study-orbit:after{content:"";position:absolute;border:1px solid rgba(192,219,255,.1);border-radius:50%;inset:18%}.study-orbit:after{inset:37%}.study-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:#e9f4ff;left:12%;top:38%;box-shadow:0 0 22px 6px rgba(131,183,255,.62)}.lab-sky span{position:absolute;width:3px;height:3px;border-radius:50%;background:#dcecff;box-shadow:0 0 15px 3px rgba(137,187,255,.55)}.lab-sky span:nth-child(1){left:8%;top:12%}.lab-sky span:nth-child(2){left:72%;top:17%}.lab-sky span:nth-child(3){left:91%;top:38%}.lab-sky span:nth-child(4){left:47%;top:51%}.lab-sky span:nth-child(5){left:17%;top:78%}
@media(max-width:850px){.lab-grid{grid-template-columns:1fr}.lab-grid article{min-height:0}.lab-grid h3{margin-top:2.4rem}.lab-study{grid-template-columns:1fr;align-items:start}.lab-play{justify-self:start}}
@media(max-width:540px){.lab-study{padding:2rem 1.4rem}.study-copy h3 small{display:block;margin:.5rem 0 0}}
@media(prefers-reduced-motion:reduce){.lab-grid article{transition:none}}

.lab-game{position:relative;z-index:1;margin:48px 0;border:1px solid rgba(170,195,230,.25);border-radius:18px;overflow:hidden;background:#0b1b2d}.lab-game-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px}.lab-game-heading h3{font-size:32px;margin:10px 0}.lab-game-heading p{max-width:640px}.lab-game-heading .button{flex-shrink:0}.lab-game iframe{display:block;width:100%;border:0;background:#081628}@media(max-width:700px){.lab-game-heading{flex-direction:column;align-items:flex-start;padding:22px}.lab-game-heading h3{font-size:28px}.lab-game{margin:30px 0}}
