:root{--navy:#06235e;--gold:#c7a653;--cream:#fffdf5;--pale:#fff8e4;--ink:#102c58;--line:#e9d69e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 Arial,sans-serif}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.12;font-weight:600}h1{font-size:clamp(38px,4.7vw,66px);margin:16px 0 24px}h2{font-size:clamp(29px,3vw,42px);margin:10px 0 22px}h3{font-size:22px}p{margin:0 0 20px}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a352b5;outline-offset:4px}header{min-height:91px;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:12px max(5%,calc((100vw - 1160px)/2));background:#fffdf5f5;backdrop-filter:blur(12px);border-bottom:1px solid #eee5d3}header img{width:190px;display:block}nav{display:flex;align-items:center;gap:23px}nav a{text-decoration:none;font-size:14px}nav a.active{font-weight:bold}nav a:hover{color:#967322}.button{display:inline-flex;align-items:center;justify-content:center;padding:11px 24px;border:1px solid var(--navy);border-radius:30px;background:var(--navy);color:white;text-decoration:none;font-size:14px;font-weight:600;line-height:1.4;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 6px 18px #08245e20}.gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}.outline{background:transparent;color:var(--navy)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.menu{display:none}.cart-toggle{background:none;border:0;color:var(--navy);font-size:24px;white-space:nowrap}.cart-toggle span{font-size:12px}.wrap{max-width:1120px;margin:auto;padding:76px 28px}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.eyebrow{color:#987626;font-size:12px;letter-spacing:2px;font-weight:bold;text-transform:uppercase}.hero{min-height:570px}.hero .portrait{max-width:365px;justify-self:center;aspect-ratio:4/5;object-fit:cover;border:9px solid #e9dfc6;box-shadow:0 18px 32px #0a25551b}.photo{width:100%;display:block;border-radius:14px;box-shadow:0 16px 26px #12214a19}.student{aspect-ratio:4/3;object-fit:cover;object-position:center 66%}.piano-photo{aspect-ratio:5/4;object-fit:cover}.pale{background:var(--pale)}.center{text-align:center}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:40px;text-align:left}.feature{padding:20px;border-left:1px solid var(--line)}.feature:before{content:'';display:block;width:35px;height:2px;background:var(--gold);margin-bottom:23px}.feature p{font-size:15px}.band{background:var(--navy);color:white;text-align:center}.band h1,.band h2{color:var(--gold)}.band .outline{color:white;border-color:var(--gold)}.band .actions{justify-content:center}.band .wrap{max-width:800px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:35px}.tile{border:1px solid var(--line);border-radius:12px;padding:30px;text-decoration:none;transition:transform .25s}.tile:hover{transform:translateY(-5px)}.tile p{font-size:15px}.keyboard-strip{border-block:1px solid var(--line);text-align:center;padding:20px}.keyboard{display:flex;justify-content:center;height:75px;max-width:440px;margin:auto;position:relative}.key{flex:1;background:white;border:1px solid var(--navy);border-radius:0 0 5px 5px;color:var(--navy);position:relative;font-size:10px;padding-top:48px}.key.black{background:var(--navy);color:white;flex:0 0 19px;height:47px;margin:0 -9.5px;z-index:1;padding:0}.key:active,.key.playing{background:var(--gold)}.keyboard-strip small{display:block;margin-top:9px;color:#74694f;font-size:11px}.page-title{background:var(--navy);color:white;text-align:center;padding:65px 28px}.page-title h1{color:var(--gold);font-size:48px}.page-title p{max-width:700px;margin:auto}.expect{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:38px}.expect .feature{border:1px solid var(--line);border-radius:14px}.expect h3{font-size:20px}.filters{display:inline-flex;border:1px solid var(--navy);border-radius:25px;overflow:hidden;margin:15px 0 32px}.filters button{border:0;border-right:1px solid var(--navy);background:none;color:var(--navy);padding:9px 24px}.filters button:last-child{border:0}.filters .selected{background:var(--navy);color:white}.offers{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:left}.offer{border:1px solid var(--line);padding:24px 20px;border-radius:16px;display:flex;flex-direction:column;position:relative}.offer h3{margin:18px 0 8px;font-size:24px}.badge{font-size:11px;background:#e4eaf4;border-radius:20px;padding:3px 10px;align-self:flex-start}.save{background:var(--gold);position:absolute;right:15px;top:19px;font-size:10px}.price{font-size:31px;color:#9a7626;margin-bottom:18px}.offer ul{list-style:none;padding:0;font-size:14px;margin:0 0 24px}.offer li{margin-bottom:9px}.offer li:before{content:'✓';color:#a88431;margin-right:8px}.offer .button{width:100%;margin-top:auto}.offer .details-button{margin-top:9px}.note{font-size:13px;color:#756b57;margin-top:25px}.about-hero{background:var(--navy);color:white}.about-hero h1{color:var(--gold)}.about-hero img{max-width:350px;justify-self:center}.bio{max-width:740px}.bio p{margin-bottom:28px}.bio h3{margin-top:30px}.wide-photo{width:100%;max-height:510px;object-fit:cover;border-radius:12px}.empty{border:1px dashed var(--gold);padding:35px;border-radius:12px;text-align:center;margin-top:30px}.music-row{padding:25px 0;border-bottom:1px solid var(--line)}audio{width:100%}.video{width:100%;aspect-ratio:16/9;border:0;border-radius:12px}.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #c7bd9d;border-radius:7px;background:white;color:var(--ink);margin-top:7px}.full{grid-column:1/-1}textarea{min-height:130px}footer{background:var(--navy);color:white;padding:45px max(5%,calc((100vw - 1120px)/2)) 20px}footer>img{width:160px;display:block;margin:0 auto 35px;border-radius:5px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:70px}.footer-grid h3{color:var(--gold);font-size:19px}.footer-grid p,.footer-grid a{font-size:13px}.footer-grid>div>a:not(.button){display:block;margin:5px 0}.copyright{border-top:1px solid #ffffff30;margin-top:35px;padding-top:20px;font-size:11px}dialog{border:1px solid var(--line);border-radius:16px;padding:36px;max-width:560px;width:calc(100% - 30px);color:var(--ink);background:var(--cream)}dialog::backdrop{background:#00113399}.close{float:right;border:0;background:none;font-size:28px}.cart-row{padding:16px 0;border-bottom:1px solid var(--line)}.cart-row button{border:0;background:none;text-decoration:underline;color:var(--navy);font-size:13px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:14px 25px;border-radius:30px;z-index:30;box-shadow:0 4px 25px #0003}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;z-index:100;background:white;padding:12px}.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.js-motion .reveal.visible{opacity:1;transform:none}.hero img{animation:arrive 1s ease-out}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}[hidden]{display:none!important}@media(max-width:1000px){nav{gap:12px}header img{width:150px}.split{gap:40px}.offers{grid-template-columns:repeat(2,1fr)}.expect{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){header{min-height:75px;padding:10px 20px;gap:15px}.menu{display:block;margin-left:auto;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--navy);padding:6px 10px}nav{display:none;position:absolute;top:75px;left:0;right:0;padding:25px;background:var(--cream);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}nav.open{display:flex}.wrap{padding:48px 24px}.split,.contact-grid{grid-template-columns:1fr;gap:35px}.hero{min-height:0}.hero .portrait{width:80%;max-width:320px}.features,.tiles,.footer-grid{grid-template-columns:1fr;gap:18px}.offers,.expect{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.page-title h1{font-size:38px}.footer-grid{gap:20px}.feature{padding:15px}.offer{padding:27px}.about-hero img{max-width:280px}.keyboard{max-width:330px}.page-title{padding:45px 24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
