@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{--navy:#202158;--crimson:#b61b3e;--paper:#f8f8f6;--ink:#21223a;--muted:#656574;--line:#dedee5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:1rem;line-height:1.6;background:white}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d89a28;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h2{font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.13;letter-spacing:-.045em;font-weight:800}h3{line-height:1.3}p{margin-bottom:1.3rem}.skip{position:absolute;top:-100px;left:1rem;z-index:10;background:white;padding:1rem}.skip:focus{top:1rem}.header{max-width:1440px;margin:auto;min-height:112px;padding:25px 5.5%;display:flex;justify-content:space-between;align-items:center;gap:2rem}.brand{display:block;width:290px;max-width:43%}.brand img{display:block;width:100%;height:auto}.header nav{display:flex;align-items:center;gap:2.2rem}.header nav>a{text-decoration:none;font-size:.9375rem;font-weight:600}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--crimson);color:white;border:1px solid var(--crimson);padding:15px 25px;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;border-radius:4px;transition:background .2s,transform .2s}.button:hover{background:#941631;transform:translateY(-2px)}.button-small{padding:11px 22px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.04fr 1fr;background:var(--paper)}.hero-copy{padding:65px 8% 36px 10.6%;align-self:center}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em;color:var(--crimson);margin-bottom:1.5rem}.hero .eyebrow{font-size:.75rem;display:flex;align-items:center;gap:10px}.hero .eyebrow span{width:22px;height:2px;background:var(--crimson)}h1{font-size:clamp(3.1rem,5.6vw,5.3rem);letter-spacing:-.065em;line-height:1.06;color:var(--navy);margin-bottom:1.7rem;font-weight:800}h1 em{font-style:normal;color:var(--crimson)}.hero-intro{font-size:1.0625rem;color:var(--muted);max-width:395px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;margin-top:2rem}.text-link{text-underline-offset:6px;text-decoration-thickness:1px;font-weight:700;font-size:.9375rem}.hero-foot{margin:3.5rem 0 0;font-size:.75rem;font-weight:600;letter-spacing:.16em;color:var(--muted)}.hero-art{position:relative;min-height:620px;background:#343343;overflow:hidden}.hero-art>img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,16,42,.8),transparent 55%)}.photo-caption{position:absolute;bottom:37px;left:8%;right:8%;z-index:1;color:white;display:flex;align-items:end;justify-content:space-between;gap:1rem}.photo-caption>span:first-child{font-family:Manrope,sans-serif;font-size:2rem;line-height:1.05;letter-spacing:-.04em;font-weight:800}.caption-small{font-size:.75rem;letter-spacing:.12em;line-height:1.7}.instrument-strip{max-width:1440px;margin:auto;background:var(--navy);color:white;display:flex;justify-content:space-around;padding:24px 5%;gap:1rem;font-weight:500;font-size:1rem}.instrument-strip span+span:before{content:'·';margin-right:clamp(15px,4vw,60px);color:#a8a7c6}.section{max-width:1440px;margin:auto;padding:90px 5.5%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);margin-bottom:3px}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.lesson{background:var(--paper);padding:30px;display:flex;flex-direction:column;border:1px solid #eeeef0;transition:border .2s}.lesson:hover{border-color:var(--crimson)}.lesson-number{font-size:.75rem;letter-spacing:.13em;color:var(--crimson);font-weight:700}.lesson h3{font-size:1.8rem;margin:25px 0 12px;letter-spacing:-.035em;color:var(--navy)}.lesson p{color:var(--muted);font-size:1rem}.lesson a{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:17px;border-top:1px solid var(--line);text-decoration:none;font-size:.875rem;font-weight:700}.lesson a span{font-size:1.5rem;color:var(--crimson);line-height:1}.getting-started{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:45px;padding-bottom:95px}.intro-heading>p:not(.eyebrow){color:var(--muted)}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:22px 0}.steps li:first-child{padding-top:0}.steps li>span{color:var(--crimson);font-family:Manrope,sans-serif;font-size:1.3rem;font-weight:700}.steps h3{font-size:1.2rem;margin-bottom:7px}.steps p{font-size:1rem;color:var(--muted);margin-bottom:0}.contact-section{background:var(--navy);color:white;display:grid;grid-template-columns:.95fr 1.05fr;gap:8%}.contact-section .eyebrow{color:#f7a9bd}.contact-copy h2{font-size:clamp(2.8rem,4.6vw,4.3rem)}.contact-copy>p:not(.eyebrow){max-width:360px;color:#d1d1e0}.direct-email{margin-top:3rem}.direct-email span{display:block;font-size:.75rem;letter-spacing:.1em;color:#bcbcd1;margin-bottom:10px}.direct-email a{font-size:.9375rem;overflow-wrap:anywhere;text-underline-offset:5px}.contact-form{background:white;padding:30px;color:var(--ink);border-radius:6px}.contact-form label{display:flex;flex-direction:column;gap:7px;font-size:.875rem;font-weight:600;margin-bottom:19px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-width:0;border:1px solid #cfcfd8;background:#fcfcfd;border-radius:3px;padding:12px;color:var(--ink);font-size:1rem}.contact-form textarea{resize:vertical;min-height:120px}.contact-form .button{width:100%}.form-note{font-size:.75rem;color:#6a6a77;line-height:1.6;margin-bottom:15px}.form-note:last-child{text-align:center;margin:10px 0 0}.honeypot{display:none!important}.faq{display:grid;grid-template-columns:1fr 1.25fr;gap:8%}.questions details{border-bottom:1px solid var(--line)}.questions summary{cursor:pointer;list-style:none;position:relative;padding:19px 32px 19px 0;font-weight:600}.questions summary::-webkit-details-marker{display:none}.questions summary:after{content:'+';position:absolute;right:5px;color:var(--crimson);font-size:1.3rem;top:15px}.questions details[open] summary:after{content:'−'}.questions p{color:var(--muted);font-size:1rem;padding-right:20px}footer{max-width:1440px;margin:auto;border-top:1px solid var(--line);padding:35px 5.5%;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:20px}footer img{width:230px;height:auto;max-width:100%}footer p{font-size:.9375rem;color:var(--muted);margin:0;text-align:center}footer>a{font-size:.9375rem;font-weight:600}footer small{grid-column:1/-1;font-size:.75rem;color:var(--muted);padding-top:20px}
@media(min-width:1441px){body{background:#efeff2}.header,.lessons,.getting-started,.faq,footer{background:white}}
@media(max-width:1000px){.header nav{gap:1.2rem}.hero-copy{padding-top:45px;padding-bottom:35px}.hero-art{min-height:590px}.photo-caption{left:6%;right:6%}.caption-small{display:none}.hero-actions{gap:1rem}.lesson{padding:23px}.section{padding-top:65px;padding-bottom:65px}.contact-section{gap:4%}.contact-form{padding:24px}.form-row{grid-template-columns:1fr;gap:0}.getting-started{gap:5%}.instrument-strip span+span:before{display:none}}
@media(max-width:700px){.header{min-height:90px;padding:21px 6%;gap:1rem}.brand{width:220px;max-width:60%}.header nav>a:not(.button){display:none}.button-small{padding:9px 15px;font-size:.875rem!important}.hero{grid-template-columns:1fr}.hero-copy{padding:43px 6% 35px}h1{font-size:clamp(3.4rem,12vw,4.8rem)}.hero-intro{max-width:440px}.hero-foot{margin-top:30px}.hero-art{min-height:330px}.hero-art>img{object-position:center 55%}.photo-caption{bottom:25px}.caption-small{display:block}.instrument-strip{flex-wrap:wrap;justify-content:center;gap:8px 25px;padding:20px 6%;font-size:.875rem}.section{padding:55px 6%}.section-heading{display:block}.section-heading>p{margin-top:18px}.lesson-grid{grid-template-columns:1fr 1fr;gap:12px}.lesson{padding:20px}.lesson h3{font-size:1.55rem;margin-top:18px}.lesson p{font-size:.9375rem}.lesson a{font-size:.875rem}.lesson-number{font-size:.75rem;letter-spacing:.07em}.getting-started,.contact-section,.faq{grid-template-columns:1fr;gap:35px}.contact-copy h2{font-size:3.1rem}.direct-email{margin-top:24px}.form-row{grid-template-columns:1fr 1fr;gap:12px}.faq h2{margin-bottom:0}footer{padding:30px 6%;grid-template-columns:1fr auto}footer img{width:210px}footer p{grid-column:1/-1;grid-row:2;text-align:left}footer small{padding-top:0}.eyebrow{font-size:.75rem;letter-spacing:.1em}}
@media(max-width:400px){.lesson-grid,.form-row{grid-template-columns:1fr}.lesson{padding:24px}.hero-actions{align-items:flex-start;flex-direction:column}.hero .eyebrow{font-size:.75rem;letter-spacing:.05em}.contact-form{padding:20px}.caption-small{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.header nav{gap:1.4rem}.header .brand{width:265px;flex-shrink:0}.pricing{background:var(--paper)}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.price-card{padding:32px;border-top:4px solid var(--crimson);background:white;display:grid;grid-template-columns:1fr auto;gap:10px 20px}.price-card h3{font-size:1.4rem;margin-bottom:8px}.price-card>div>p{color:var(--muted);font-size:.9375rem}.price{font-family:Manrope,sans-serif;font-size:3rem;font-weight:800;color:var(--navy);line-height:1.1;letter-spacing:-.04em}.price span{display:block;font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:400;letter-spacing:0;margin-top:10px;color:var(--muted)}.price-card .button{grid-column:1/-1;justify-self:start}.pricing-note{margin:25px 0 0;color:var(--muted)}.getting-started{padding-top:90px}.about{display:grid;grid-template-columns:1fr 1fr;gap:7%;background:var(--paper)}.about-copy>p:not(.eyebrow){color:var(--muted)}.about-copy .lead{font-size:1.125rem;color:var(--ink)!important}.performer-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.performer-photos figure{margin:0}.performer-photos figure:last-child{margin-top:110px}.performer-photos img{width:100%;height:350px;object-fit:cover;display:block}.performer-photos figure:last-child img{object-position:50% 40%}.performer-photos figcaption,.space-photos figcaption{margin-top:12px;font-size:.875rem;color:var(--muted)}.space-photos{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.space-photos figure{margin:0}.space-photos img{width:100%;height:470px;object-fit:cover;object-position:50% 67%;display:block}.space-photos figure:last-child img{object-position:50% 83%}.visit{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding-top:25px}.visit-photo{width:100%;height:430px;object-fit:cover}.visit address{font-style:normal;font-size:1.0625rem}.visit-details{margin:22px 0 28px}.visit-details>div{display:flex;gap:20px;padding:8px 0;border-bottom:1px solid var(--line)}.visit dt{font-weight:600;min-width:120px}.visit dd{margin:0;color:var(--muted)}.portal-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:var(--paper)}.portal-section h2{margin-bottom:16px}.portal-section p:last-child{margin-bottom:0}.portal-action p{color:var(--muted)}.portal-action .button{margin-top:8px}.footer-links{display:flex;flex-direction:column;gap:7px;font-size:.875rem}.privacy-page{max-width:900px;background:white;min-height:80vh;padding:60px 6%;margin:auto}.privacy-page h1{font-size:clamp(2.5rem,5vw,4rem)}.privacy-page h2{font-size:1.5rem;letter-spacing:-.025em;margin-top:35px}.privacy-page p,.privacy-page li{overflow-wrap:anywhere}.privacy-page a{text-underline-offset:3px}.privacy-page .review-note{padding:18px;background:var(--paper);border-left:4px solid var(--crimson);font-size:.9375rem}.privacy-page .updated{color:var(--muted);font-size:.875rem}
@media(max-width:1100px){.header{flex-wrap:wrap;justify-content:center;gap:20px}.header nav{gap:1.5rem;flex-wrap:wrap;justify-content:center}.header .brand{width:250px}.price-card{grid-template-columns:1fr}.performer-photos{gap:12px}.performer-photos img{height:290px}.visit-photo{height:380px}}
@media(max-width:700px){.header{justify-content:space-between}.header .brand{width:215px}.header nav{width:100%;justify-content:flex-start;gap:12px 20px}.header nav>a:not(.button){display:inline;font-size:.875rem}.header nav .button{margin-left:auto}.price-grid,.about,.visit,.portal-section{grid-template-columns:1fr;gap:30px}.price-card{grid-template-columns:1fr auto;padding:26px}.price-card>div>p{max-width:200px}.getting-started{padding-top:55px}.performer-photos img{height:330px}.performer-photos figure:last-child{margin-top:45px}.space-photos{gap:15px;grid-template-columns:1fr 1fr}.space-photos img{height:330px}.visit{padding-top:10px}.visit-photo{height:290px}.portal-section h2{font-size:2.1rem}.privacy-page{padding-top:35px}}
@media(max-width:420px){.header nav{gap:10px 15px}.header nav .button{margin-left:0}.price-card{grid-template-columns:1fr}.performer-photos img{height:260px}.space-photos{grid-template-columns:1fr}.space-photos img{height:390px}.visit-details>div{display:block}.visit dt{margin-bottom:4px}}

.portal-help{font-size:.875rem;margin-top:16px}

/* A slim, single-row lesson bar with touch-sized links. */
.instrument-strip{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:0;padding:2px 5%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
.instrument-strip::-webkit-scrollbar{display:none}
.instrument-strip a{display:flex;flex:1 0 auto;align-items:center;justify-content:center;min-height:44px;padding:4px 12px;white-space:nowrap;text-align:center;text-decoration:none;border-radius:3px}
.instrument-strip a:hover,.instrument-strip a:focus-visible{background:rgba(255,255,255,.1);text-decoration:none}
.instrument-strip a:focus-visible{outline-offset:-3px}
@media(max-width:700px){.instrument-strip{padding:0 8px;font-size:.875rem;gap:0}.instrument-strip a{padding:4px 6px}}

.contact-phone a{display:inline-block;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;line-height:1.4}.contact-phone+.direct-email{margin-top:1.5rem}

/* Manually curated Google reviews. Preview placeholders require real content before publishing. */
.google-reviews{background:var(--paper);border-top:1px solid var(--line)}
.reviews-heading{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:32px}
.reviews-heading h2{color:var(--navy);margin-bottom:0}
.google-rating{flex-shrink:0;border-left:3px solid var(--crimson);padding-left:28px}
.google-rating-main{display:flex;align-items:center;gap:18px}
.google-rating-main strong{font-family:Manrope,sans-serif;font-size:4rem;line-height:1;font-weight:800;letter-spacing:-.06em;color:var(--navy)}
.review-stars{display:block;color:#ad7110;letter-spacing:.13em;font-size:1.15rem;white-space:nowrap}
.google-rating-main p{margin:5px 0 0;font-weight:700;font-size:.9375rem}
.rating-note{font-size:.75rem;color:var(--muted);margin:12px 0 0;line-height:1.6}
.reviews-preview-note{padding:14px 18px;border:1px dashed #b5b5c5;color:var(--muted);font-size:.875rem;border-radius:4px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.review-card{background:white;border:1px solid var(--line);border-top:3px solid var(--crimson);border-radius:4px;padding:28px;display:flex;flex-direction:column;min-width:0}
.review-placeholder-label{display:block;font-size:.6875rem;font-weight:700;letter-spacing:.09em;color:var(--muted);margin-bottom:14px}
.review-text{font-size:1.0625rem;line-height:1.85;margin:22px 0 28px;color:var(--ink)}
.review-author{border-top:1px solid var(--line);padding-top:18px;margin-top:auto}
.review-author span{display:block;font-size:.8125rem;color:var(--muted)}
.review-author .review-author-name{font-size:.9375rem;font-weight:700;color:var(--navy);margin-bottom:4px}
.reviews-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:30px}
.reviews-bottom>p{font-size:.8125rem;color:var(--muted);margin:0}
.reviews-link .button{gap:12px}.reviews-link .button:disabled{cursor:not-allowed;opacity:.7;transform:none}
.reviews-link small{display:block;font-size:.75rem;color:var(--muted);margin-top:8px;text-align:center}
@media(max-width:900px){.reviews-heading{align-items:flex-start;gap:24px}.review-card{padding:22px}.google-rating{padding-left:20px}.google-rating-main{gap:12px}.google-rating-main strong{font-size:3.2rem}}
@media(max-width:700px){.reviews-heading{flex-direction:column;gap:28px}.google-rating{width:100%;padding-left:20px}.reviews-grid{grid-template-columns:1fr;gap:16px}.review-card{padding:24px}.review-text{margin:18px 0 24px}.reviews-bottom{align-items:stretch;flex-direction:column}.reviews-link .button{width:100%}.google-rating-main strong{font-size:3.5rem}}

.review-text{margin-left:0;margin-right:0}.review-text p{margin:0}.review-count{display:block;color:var(--muted);font-size:.875rem;margin-top:3px}.reviews-bottom{justify-content:center}.reviews-heading h2{max-width:650px}
