@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f6f3ed;--ink:#19232e;--muted:#686762;--line:#d8d2c8;--gold:#d7c6a6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #947b55;outline-offset:6px}[hidden]{display:none!important}header,.hero,.bio-shop,.shop-cta,footer{width:min(1180px,88%);margin-inline:auto}header{display:flex;align-items:center;justify-content:space-between;gap:48px;padding:32px 0;border-bottom:1px solid var(--line)}.homepage-identity{max-width:800px}.brand{font:700 25px/1.3 Manrope,Arial,sans-serif;letter-spacing:-.8px}.homepage-name .coach-title{font-weight:400;font-size:18px;letter-spacing:-.4px}.homepage-credentials{font-size:10px;color:var(--muted);margin:8px 0 0;line-height:1.8}nav{display:flex;gap:22px;flex-shrink:0;font-size:12px}nav a{white-space:nowrap}.institution-link{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#a69d8c}.institution-link:hover{opacity:.7}h1,h2,h3{font-family:Manrope,Arial,sans-serif;margin:0;font-weight:500;line-height:1.12;letter-spacing:-2px}i{font-family:Georgia,serif;font-weight:400}h1{font-size:clamp(46px,5.8vw,78px);letter-spacing:-3px}h1 i{color:#75634e}h2{font-size:45px}h3{font-size:23px;letter-spacing:-.5px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600;margin:0 0 25px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:70px;align-items:center;padding:72px 0 68px}.hero-copy{min-width:0}.intro{max-width:520px;font-size:18px;line-height:1.65;margin:25px 0}.button{display:inline-flex;gap:35px;align-items:center;justify-content:space-between;padding:15px 22px;background:var(--ink);color:var(--paper);border-radius:2px;font-size:12px}.button:hover{background:#344353}.hero-note{font-size:11px;color:var(--muted);margin:18px 0 0}.hero-portrait{width:350px;height:425px;overflow:hidden;border-radius:2px;background:#e6e0d6;justify-self:end}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}.bio-shop{border-top:1px solid var(--line);padding:44px 0 56px}.bio-shop h2{font-size:34px;letter-spacing:-1px;margin-bottom:24px}.short-bio{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;color:var(--muted);font-size:15px}.short-bio p{margin:0}.bio-panels{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.full-bio{border-top:1px solid var(--line);padding:17px 0 0}.full-bio summary{font-size:13px;cursor:pointer;list-style:none}.full-bio summary::-webkit-details-marker{display:none}.bio-copy{font-size:14px;color:var(--muted);padding-top:12px}.bio-copy strong{color:var(--ink);font-weight:500}.coaching{background:var(--ink);color:var(--paper);padding:64px max(6%,calc((100vw - 1180px)/2)) 68px}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:42px}.section-head>p{font-size:14px;color:#c6c9ce;margin:0;max-width:500px}.section-head .eyebrow{color:var(--gold);margin-bottom:18px}.shop-services{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}.shop-services article{padding-top:23px;border-top:1px solid #d7c6a650}.shop-services p{font-size:14px;color:#c6c9ce;margin:15px 0 0}.acting-feature h3{color:var(--gold);font-size:28px}.acting-feature .eyebrow{font-size:8px;letter-spacing:1.2px;color:var(--gold);margin:0 0 13px}.shop-cta{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;padding:70px 0}.lesson-heading>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:340px;margin-top:25px}.booking-soon{display:inline-block;font-size:12px;color:var(--ink);border:1px solid var(--line);padding:10px 15px;margin-top:14px}.price-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;gap:30px}.price-grid>div+div{border-left:1px solid var(--line);padding-left:30px}.price-grid span,.price-grid small{display:block;font-size:12px;color:var(--muted)}.price-grid strong{font:500 43px/1.4 Manrope,Arial,sans-serif;letter-spacing:-1.5px}.practical-copy h3{font-size:17px;margin:28px 0 8px}.practical-copy p{font-size:14px;color:var(--muted);margin:8px 0 14px}footer{border-top:1px solid var(--line);padding:30px 0 24px}.footer-top .brand{font-size:21px}.footer-top .brand span{display:block;font:500 8px/1.6 'DM Sans',Arial,sans-serif;letter-spacing:1.5px;margin-top:7px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:24px;font-size:10px;color:var(--muted)}.footer-bottom button{border:0;background:none;font-size:11px;color:var(--muted);padding:0}.fine{font-size:10px;max-width:760px;color:var(--muted);margin-top:22px}dialog{border:0;border-radius:3px;background:var(--paper);color:var(--ink);width:min(650px,90%);max-height:85vh;padding:42px}dialog::backdrop{background:#111b28cc}dialog h2{font-size:34px;margin-bottom:24px}dialog p:not(.eyebrow){font-size:14px;color:var(--muted)}.close{position:absolute;right:16px;top:8px;font-size:28px;border:0;background:none}
@media(max-width:1050px){header{align-items:start;gap:25px}.homepage-name .coach-title{display:block;font-size:15px;margin-top:3px}.hero{grid-template-columns:minmax(0,1fr) 290px;gap:35px}.hero-portrait{width:290px;height:360px}.hero h1{font-size:54px}.shop-cta{gap:45px}.short-bio,.section-head{gap:40px}}
@media(max-width:760px){header{flex-direction:column;gap:20px;padding:23px 0}.homepage-name .coach-title{display:block;font-size:15px}.homepage-credentials{font-size:9px;max-width:550px}nav{gap:26px;font-size:11px}.hero{grid-template-columns:1fr;gap:30px;padding:40px 0}.hero h1{font-size:clamp(43px,9vw,62px);letter-spacing:-2px}.intro{font-size:16px}.hero-portrait{width:240px;height:300px;justify-self:start}.hero-note{font-size:10px}.bio-shop{padding:32px 0 40px}.short-bio{grid-template-columns:1fr;gap:15px;font-size:14px}.bio-panels{grid-template-columns:1fr;gap:20px;margin-top:25px}.coaching{padding:42px 6%}h2{font-size:35px;letter-spacing:-1.5px}.section-head{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.shop-services{grid-template-columns:1fr;gap:28px}.shop-services article{padding-top:20px}.shop-services h3{font-size:23px}.acting-feature h3{font-size:27px}.shop-cta{grid-template-columns:1fr;gap:30px;padding:42px 0}.lesson-heading>p:not(.eyebrow){max-width:100%;margin-top:20px}.price-grid{gap:18px}.price-grid>div+div{padding-left:18px}.price-grid strong{font-size:37px}.price-grid span,.price-grid small{font-size:11px}.footer-bottom{align-items:start}.fine{font-size:9px}dialog{padding:32px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* A persistent header and restrained movement. */
header{position:sticky;top:0;z-index:20;background:var(--paper);box-shadow:0 0 0 6vw var(--paper);transition:padding .25s ease,box-shadow .25s ease}body.scrolled header{padding-block:16px;box-shadow:0 0 0 6vw var(--paper),0 10px 20px -18px #19232e55}html{scroll-padding-top:160px}.button{transition:background .2s ease,transform .2s ease}.button:hover{transform:translateY(-2px)}.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal-ready.is-visible{opacity:1;transform:none}
@media(max-width:760px){header{gap:12px;padding-block:18px}body.scrolled header{padding-block:12px}.homepage-credentials{display:none}html{scroll-padding-top:145px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}header,.button,.reveal-ready{transition:none}.reveal-ready{opacity:1;transform:none}.button:hover{transform:none}}

/* Understated identity, with credentials in the biography. */
header{padding-block:23px;gap:35px}.homepage-name{font-size:29px;letter-spacing:-1px}.homepage-name .coach-title{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:11px;font-weight:400;letter-spacing:.35px;margin-top:5px;color:var(--muted)}body.scrolled header{padding-block:14px}.hero{padding-block:42px;gap:45px}.hero .eyebrow{margin-bottom:18px}.hero .intro{margin-block:20px;max-width:500px}.hero-portrait{height:390px}.hero-note{margin-top:13px}html{scroll-padding-top:120px}
@media(max-width:760px){header{flex-direction:row;align-items:center;gap:16px}.homepage-name{font-size:25px}.homepage-name .coach-title{font-size:10px;max-width:170px}nav{gap:14px;font-size:10px}nav a:first-child{display:none}.hero{padding-block:30px;gap:25px}.hero-portrait{height:290px;width:230px}html{scroll-padding-top:115px}}

/* Piano details as quiet graphic elements. */
.coaching{overflow:hidden}.piano-detail{margin:44px 0 -68px;max-height:112px;overflow:hidden;opacity:.85;transform:translateX(12%);width:100%}.piano-detail img{display:block;width:100%;height:auto;min-width:700px}.lesson-heading{position:relative;isolation:isolate}.lesson-heading::after{content:'';position:absolute;z-index:-1;left:-45px;right:-25px;top:190px;height:240px;background:url('assets/piano-strings.svg') center/cover no-repeat;opacity:.65;pointer-events:none}.lesson-heading>p,.lesson-heading .booking-soon{position:relative;z-index:1}.lesson-heading .booking-soon{background:var(--paper)}
@media(max-width:760px){.piano-detail{margin:32px 0 -42px;max-height:82px;transform:translateX(8%)}.lesson-heading::after{top:-15px;left:35%;right:-20px;height:180px;opacity:.35}.lesson-heading>p:not(.eyebrow){background:var(--paper)}}

/* Calm, readable biography panels. */
.bio-panels{grid-template-columns:1fr;gap:0}.full-bio{padding:0;border-top:1px solid var(--line)}.full-bio:last-child{border-bottom:1px solid var(--line)}.full-bio summary{display:flex;align-items:center;justify-content:space-between;padding:20px 0;font-size:15px;transition:color .2s ease}.full-bio summary::after{content:'+';font-size:22px;font-weight:400;color:#75634e}.full-bio[open] summary::after{content:'−'}.full-bio summary:hover{color:#75634e}.bio-copy{max-width:850px;padding:0 0 22px;line-height:1.8}.full-bio[open] .bio-copy{animation:panel-enter .35s ease both}@keyframes panel-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.hero-portrait{position:relative;border-radius:6px;--portrait-softness:10px}.hero-portrait::after{content:'';position:absolute;inset:-1px;pointer-events:none;box-shadow:inset 0 0 var(--portrait-softness) calc(var(--portrait-softness) * .25) var(--paper);border-radius:6px}.hero-portrait{mask-image:linear-gradient(to bottom,#000 88%,transparent 100%)}
@media(prefers-reduced-motion:reduce){.full-bio[open] .bio-copy{animation:none}}

.lesson-heading::after{display:none}

.workshops{width:min(1180px,88%);margin-inline:auto;border-top:1px solid var(--line);padding:54px 0 60px;display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.workshops h2{font-size:40px}.workshops>div>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:370px;margin-top:23px}.workshop-offers article+article{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.workshop-offers h3{font-size:20px}.workshop-offers p{font-size:14px;color:var(--muted);margin:12px 0 0}.workshop-offers .workshop-note{font-size:12px;margin-top:26px}@media(max-width:1050px){.workshops{gap:45px}nav{gap:16px}}@media(max-width:760px){.workshops{grid-template-columns:1fr;gap:28px;padding:38px 0 42px}.workshops h2{font-size:34px}header nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;max-width:170px}.workshops>div>p:not(.eyebrow){max-width:none}}

.hero-portrait{mask-image:none;border-radius:2px}.hero-portrait::after{display:none}
