:root{--cream:#faf9f4;--ink:#383a33;--green:#8ba875;--gold:#dda647;--line:#dfdfd3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a74d2c;outline-offset:6px}.wrap,header{max-width:1240px;margin:auto;padding-left:60px;padding-right:60px}header{height:115px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;font-size:23px;font-weight:700;letter-spacing:-1px}.brandmark{font-size:44px;color:var(--green);line-height:1}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:1px}nav{display:flex;align-items:center;gap:35px;font-size:14px}nav a:hover{color:#6a8656}.nav-cta{border-bottom:1px solid var(--green);padding:10px 0}.nav-cta span{margin-left:18px}.menu{display:none}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:670px;padding-top:50px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;line-height:1.6}.hero .eyebrow{display:flex;align-items:center;gap:9px}.eyebrow span{width:6px;height:6px;background:var(--green);border-radius:50%}h1,h2,h3,p{margin-top:0}h1{font-family:Manrope,sans-serif;font-size:76px;font-weight:800;line-height:1.08;letter-spacing:-3px;margin:24px 0}h1>span:first-child{color:var(--gold);font-size:61px;letter-spacing:-2.7px}.period{color:var(--green)}.intro{color:#73756c;line-height:1.65;font-size:17px;margin-bottom:28px}.button{background:var(--green);border:0;border-radius:40px;color:white;display:inline-flex;gap:32px;align-items:center;padding:17px 26px;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:#718e5c;transform:translateY(-2px)}.button span{font-size:20px}.hero-note{font-size:11px;color:#808276;margin-top:17px}.hero-art{position:relative;min-height:485px;display:flex;align-items:center;justify-content:center}.art-back{position:absolute;inset:-15px -10px 50px 0;background:#f0ecdf;border-radius:50% 43% 48% 43%;transform:rotate(24deg)}.hero-art img{position:relative;width:110%;height:540px;object-fit:contain;z-index:1}.art-label{position:absolute;right:-12px;bottom:75px;font-family:Georgia,serif;font-size:18px;font-style:italic;transform:rotate(-9deg);line-height:1.3;z-index:2}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:20px;padding:24px 0;font-size:10px;letter-spacing:2px}.scroll{letter-spacing:0;font-size:12px;color:#797c70}.scroll span{margin-left:24px}.ribbon{background:#ecefdf;display:flex;gap:45px;justify-content:center;align-items:center;padding:24px;font-size:14px}.ribbon i{font-size:22px;color:#879b72;font-style:normal}.about{display:grid;grid-template-columns:1fr 2fr;padding-top:100px;padding-bottom:100px}.about>div{display:grid;grid-template-columns:1.2fr 1fr;gap:0 35px}.about h2{grid-row:span 2}h2{font-family:Manrope,sans-serif;font-size:39px;letter-spacing:-1.6px;line-height:1.25;font-weight:600}.about h2 span{color:#849973}.about p:not(.eyebrow){color:#7c7d73;line-height:1.8;font-size:14px}.classes{padding-bottom:105px}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.section-note{font-size:13px;line-height:1.7;color:#797c70}.class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.class-card{background:transparent;border:1px solid var(--line);border-radius:110px 110px 12px 12px;text-align:left;padding:30px 24px 22px;transition:transform .2s,background .2s}.class-card:hover{transform:translateY(-7px);background:#f0f1e5}.number{display:block;text-align:center;font-size:10px;letter-spacing:1.5px}.class-symbol{display:flex;align-items:center;justify-content:center;height:140px;font-family:Georgia,serif;font-size:95px;color:#c9913f}.class-card:nth-child(2) .class-symbol{color:#af6043}.class-card:nth-child(3) .class-symbol{color:#8ca576}.class-card:nth-child(4) .class-symbol{color:#b88164}h3{font-size:22px;font-weight:500;margin-bottom:12px}.class-card p{font-size:13px;color:#7a7d70;line-height:1.8;min-height:95px}.card-link{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;font-size:12px}.card-link b{font-size:18px;font-weight:400}.play-section{background:#ebeedd;padding:75px 0}.play-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:center}.play-layout p{font-size:14px;line-height:1.8;color:#6e7764}.play-layout h2 em{font-family:Georgia,serif;font-weight:400;color:#81956d}.text-button{border:0;background:none;padding:8px 0;border-bottom:1px solid #85966f;font-size:13px}.piano{display:flex;background:#48513e;padding:19px 15px 15px;border-radius:12px;box-shadow:0 18px 30px #555e3420}.piano button{position:relative;background:#faf9f4;border:1px solid #d7d9cc;border-radius:0 0 5px 5px;width:12.5%;height:160px;padding-top:100px;font-size:14px;box-shadow:0 5px 0 #c7cbb9;transition:background .1s}.piano button:not(:nth-child(3)):not(:nth-child(7)):not(:last-child):after{content:'';position:absolute;right:-10px;top:0;height:82px;width:20px;background:#343b2f;border-radius:0 0 3px 3px;z-index:2;pointer-events:none}.piano small{display:block;font-size:9px;color:#8b917f;padding-top:5px}.piano button.active{background:#ddae59;transform:translateY(3px);box-shadow:0 2px 0 #b3955e}.piano-box>p{text-align:center;font-size:10px;margin-top:23px}.questions{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;padding-top:95px;padding-bottom:95px}details{border-bottom:1px solid var(--line);padding:23px 0}summary{cursor:pointer;font-size:15px}details p{font-size:14px;line-height:1.8;color:#73766b;margin:18px 0 0}.closing{text-align:center;padding-top:50px;padding-bottom:80px;border-top:1px solid var(--line)}.closing h2{font-size:52px}.closing h2 span{color:#cba04c;font-family:Georgia,serif;font-style:italic}footer{border-top:1px solid var(--line);padding-top:28px;padding-bottom:28px;display:flex;justify-content:space-between;align-items:center}footer p,footer>span{font-size:11px;color:#86887b;margin:0}dialog{width:min(540px,90vw);border:1px solid var(--line);border-radius:20px;background:var(--cream);color:var(--ink);padding:45px}dialog::backdrop{background:#252d226b;backdrop-filter:blur(4px)}dialog h2{font-size:42px}dialog p,dialog li{font-size:15px;line-height:1.8}dialog li{margin-bottom:8px}dialog h3{font-size:17px;margin-top:24px}.close{position:absolute;right:20px;top:12px;border:0;background:none;font-size:30px}.dialog-note{background:#ecefdf;padding:15px;border-radius:8px;font-size:13px} @media(min-width:1450px){.hero{min-height:710px;padding-top:65px}}@media(max-width:900px){.wrap,header{padding-left:30px;padding-right:30px}nav{gap:20px}.hero{min-height:610px}h1{font-size:64px}h1>span:first-child{font-size:49px}.hero-art img{height:450px}.art-label{right:0}.class-grid{gap:12px}.class-card{padding:25px 16px 18px}.about{grid-template-columns:1fr}.about>div{margin-top:20px}.play-layout{gap:30px}.ribbon{gap:20px}.ribbon span:last-child{display:none}}@media(max-width:650px){header{height:90px}.brand{font-size:21px}.menu{display:block;background:none;border:0;font-size:23px}nav{display:none;position:absolute;top:80px;left:20px;right:20px;background:var(--cream);z-index:5;padding:25px;border:1px solid var(--line);box-shadow:0 10px 20px #0001;border-radius:12px}nav.open{display:flex;flex-direction:column;align-items:flex-start}.hero{grid-template-columns:1fr;padding-top:30px}.hero h1{font-size:65px}.hero h1>span:first-child{font-size:50px}.hero-art{min-height:360px;margin-top:35px}.hero-art img{height:390px;width:100%}.art-back{inset:0 20px 25px}.art-label{bottom:20px;right:0;font-size:16px}.hero-bottom{margin-top:30px}.scroll{font-size:10px}.ribbon{gap:16px;padding:20px 10px;font-size:11px}.ribbon span:nth-of-type(3),.ribbon i:last-of-type{display:none}.about{padding-top:65px;padding-bottom:55px}.about>div{display:block}.about h2{font-size:34px}.section-top{display:block}.section-note{display:none}.section-top h2{font-size:32px}.class-grid{grid-template-columns:1fr 1fr;gap:20px 12px}.class-card p{min-height:120px;font-size:12px}.class-symbol{height:110px;font-size:75px}.classes{padding-bottom:65px}.play-layout{grid-template-columns:1fr}.play-section{padding:55px 0}.piano button{height:145px;padding-top:90px}.questions{grid-template-columns:1fr;gap:5px;padding-top:60px;padding-bottom:60px}.closing{padding-top:50px;padding-bottom:60px}.closing h2{font-size:36px}footer{flex-wrap:wrap;gap:25px}footer p{display:none}.eyebrow{font-size:10px}.hero-bottom>span:first-child{font-size:9px;letter-spacing:1px}dialog{padding:35px 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* SARA Music School branding and verified local information */
.logo-window{display:block;position:relative;width:226px;height:62px;overflow:hidden;flex-shrink:0}.logo-window img{position:absolute;width:309px;max-width:none;height:auto;left:-42px;top:-86px;mix-blend-mode:multiply}.brand{flex-shrink:0}header{gap:24px}nav{gap:25px}.reviews{padding-top:30px;padding-bottom:85px}.rating{display:flex;flex-direction:column;gap:8px}.rating strong{font-size:32px;font-weight:500}.rating strong span{font-size:20px;color:#ba8d3a}.rating>span{font-size:14px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.review-grid article{border:1px solid var(--line);border-radius:14px;padding:28px;display:flex;flex-direction:column}.stars{color:#aa8133;letter-spacing:3px}.review-grid blockquote,.review-summary{font-family:Georgia,serif;font-size:21px;line-height:1.65;margin:22px 0;flex:1}.review-grid article>p:last-child{font-size:15px;margin:0}.review-grid small{display:block;font-size:12px;color:#7a7d70;margin-top:7px}.source-note{font-size:12px;line-height:1.7;color:#767b6b;margin-top:20px}.source-note a{text-decoration:underline;text-underline-offset:3px}.contact-section{background:#ecefdf;padding:70px 0}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:45px;margin-top:40px}.contact-grid h3{font-size:20px}.contact-grid p,.contact-grid address{font-style:normal;font-size:15px;line-height:1.9}.phone{display:block;font-size:22px;margin-bottom:15px}.contact-grid .text-button{display:inline-block;margin-top:14px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;font-weight:400;padding:7px 0;border-bottom:1px solid #d6dbc9}td{text-align:right;white-space:nowrap}.contact-grid .source-note{font-size:12px}.closing{border:0;padding-top:75px}.close-bottom{margin-left:15px}.hero h1>span:first-child{color:#e60012}.hero-art .art-label{right:0}footer{gap:25px}footer>span{white-space:nowrap}@media(max-width:900px){.logo-window{width:190px;height:55px}.logo-window img{width:265px;left:-37px;top:-73px}nav{gap:15px;font-size:12px}.contact-grid{grid-template-columns:1fr 1fr;gap:35px}.review-grid{gap:12px}.review-grid article{padding:20px}.review-grid blockquote,.review-summary{font-size:18px}}@media(max-width:650px){nav{font-size:16px}.contact-grid,.review-grid{grid-template-columns:1fr}.reviews{padding-bottom:55px}.rating{margin-top:20px}.contact-section{padding:55px 0}.contact-grid{gap:38px}.logo-window{width:200px}.review-grid{gap:16px}.contact-grid p,.contact-grid address{font-size:16px}.review-grid{margin-top:30px}.close-bottom{margin:15px 0 0}footer>span{white-space:normal}}

.trial-section{padding-top:75px;padding-bottom:85px;scroll-margin-top:25px}.trial-heading{display:flex;justify-content:space-between;gap:45px;margin-bottom:35px}.trial-heading h2 span{color:#849973}.trial-heading p{font-size:16px;line-height:1.8;color:#72776a}.trial-help{align-self:center}.trial-help a{font-size:14px;text-decoration:underline;text-underline-offset:4px}.trial-form{border:1px solid var(--line);border-radius:20px;padding:30px;background:#fff;overflow:hidden}.trial-form iframe{display:block;border:0;width:100%;min-height:700px}.trial-section>.source-note{font-size:13px}.nav-cta{white-space:nowrap}@media(max-width:650px){.trial-section{padding-top:50px;padding-bottom:55px}.trial-heading{display:block}.trial-help{margin-top:25px}.trial-form{padding:16px 8px;border-radius:12px}.trial-heading h2{font-size:34px}}

.class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.class-card{border-radius:65px 65px 12px 12px;padding:28px;display:flex;flex-direction:column}.class-card .class-symbol{height:100px;font-size:72px}.class-card h3{font-size:24px;min-height:60px;line-height:1.25}.class-card p{font-size:15px;min-height:105px}.class-card .card-link{margin-top:auto;font-size:14px}.class-card:nth-child(3n+2) .class-symbol{color:#ae6147}.class-card:nth-child(3n) .class-symbol{color:#8ba875}.student-life{padding-bottom:85px}.student-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.student-gallery figure{margin:0}.student-gallery img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:18px}.student-gallery figcaption{font-size:15px;line-height:1.6;padding:18px 0;display:flex;justify-content:space-between;gap:12px}.student-gallery a:hover img{filter:brightness(1.04)}.social-section{padding-top:75px;padding-bottom:40px}.social-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.social-grid a{border:1px solid var(--line);border-radius:12px;padding:24px 18px;transition:background .2s}.social-grid a:hover{background:#ecefdf}.social-grid strong{font-size:19px;display:flex;justify-content:space-between;font-weight:500}.social-grid small{font-size:13px;line-height:1.7;display:block;margin-top:12px;color:#72776a}@media(max-width:900px){.class-card{padding:24px}.class-card h3{font-size:21px}.class-card p{min-height:140px}.social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.class-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.class-card{padding:22px 16px;border-radius:40px 40px 12px 12px}.class-card h3{font-size:20px;min-height:75px}.class-card p{font-size:14px;min-height:150px}.class-card .class-symbol{height:85px}.student-gallery{grid-template-columns:1fr;gap:22px}.student-gallery img{max-height:460px;object-position:center}.student-life{padding-bottom:55px}.student-life .section-top h2{font-size:31px}.social-grid{gap:12px}.social-grid a{padding:20px 16px}.social-section{padding-top:55px}.social-section h2{font-size:32px}}@media(max-width:380px){.class-grid{grid-template-columns:1fr}.class-card h3,.class-card p{min-height:0}}
/* Mobile and tablet layout */
html{-webkit-text-size-adjust:100%}main>*{min-width:0}button,a,summary{touch-action:manipulation}dialog{max-height:calc(100dvh - 32px);overflow-y:auto}dialog .button{white-space:normal}nav a{min-height:44px;display:inline-flex;align-items:center}.menu{min-width:48px;min-height:48px}img{max-width:100%}
@media(max-width:1000px){header{position:relative;height:90px;gap:16px}.menu{display:block;border:1px solid var(--line);border-radius:12px;background:transparent;font-size:24px;flex-shrink:0}nav{display:none;position:absolute;left:24px;right:24px;top:80px;padding:20px;background:var(--cream);z-index:10;border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 30px #30382418}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}nav a{font-size:16px;padding:12px 16px}nav .nav-cta{background:var(--green);border:0;border-radius:28px;color:white;justify-content:center;margin-top:8px}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero h1{font-size:clamp(45px,7vw,70px)}.hero-art img{max-width:100%;width:100%}.art-back{inset:15px 0 55px}.art-label{right:0}.about>div{grid-template-columns:1fr 1fr}.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-card h3,.class-card p{min-height:0}.class-card p{flex:1}.review-grid{grid-template-columns:1fr}.review-grid article{padding:28px}.trial-heading{flex-wrap:wrap}.trial-help{align-self:start}}

/* Compact phone layout: detail stays in the class dialog. */
@media(max-width:650px){
 .wrap,header{padding-left:20px;padding-right:20px}
 header{height:72px;gap:12px}.logo-window{width:164px;height:44px}.logo-window img{width:228px;left:-31px;top:-63px}.menu{min-width:44px;min-height:44px;font-size:21px;border-radius:10px}
 nav{top:64px;left:16px;right:16px;padding:12px;border-radius:14px}nav a{padding:10px 12px;font-size:15px;min-height:44px}nav .nav-cta{border-radius:10px}
 .hero{display:grid;grid-template-columns:minmax(0,1fr) 112px;column-gap:10px;min-height:0;padding-top:24px;padding-bottom:0;align-items:center}
 .hero-copy{min-width:0}.hero .eyebrow{font-size:10px;letter-spacing:1px;line-height:1.6;display:block;max-width:220px}.hero .eyebrow span{display:none}
 .hero h1{font-size:clamp(34px,9.3vw,51px);line-height:1.06;letter-spacing:-1.5px;margin:16px 0}.hero h1>span:first-child{font-size:inherit;letter-spacing:inherit}
 .intro{font-size:16px;line-height:1.5;margin-bottom:20px}.intro br{display:none}
 .button{min-height:44px;padding:11px 17px;gap:12px;font-size:14px;border-radius:12px}.button span{font-size:18px}.hero .button{width:auto;justify-content:center;white-space:nowrap}
 .hero-note{font-size:12px;line-height:1.6;margin:12px 0 0}.hero-art{margin:0;min-height:0;height:210px;align-self:center}.hero-art img{height:210px;max-height:none;width:100%;object-fit:contain}.art-back{inset:10px -3px 10px 0;border-radius:48%;transform:rotate(12deg)}.art-label{display:none}
 .hero-bottom{grid-column:1/-1;margin-top:24px;padding:16px 0;gap:8px;flex-wrap:wrap;line-height:1.5}.hero-bottom>span:first-child{font-size:10px;letter-spacing:1px}.hero-bottom .scroll{font-size:11px}.scroll span{margin-left:8px}
 .ribbon{padding:13px 16px;gap:12px;font-size:11px;flex-wrap:wrap}.ribbon i{font-size:17px}
 .eyebrow{font-size:10px;letter-spacing:1.4px;margin-bottom:10px}h2,.section-top h2,.about h2,.student-life .section-top h2,.social-section h2,.trial-heading h2,.closing h2{font-size:28px;line-height:1.2;letter-spacing:-.8px;margin-bottom:18px}h3{font-size:19px}
 .about{padding-top:36px;padding-bottom:30px;gap:0}.about>div{display:block;margin-top:8px}.about h2 br{display:none}.about h2 span{display:block}.about p:not(.eyebrow){font-size:16px;line-height:1.65;margin-bottom:14px}
 .classes{padding-top:8px;padding-bottom:36px}.section-top{margin-bottom:18px}.class-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 .class-card{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 24px;align-items:center;column-gap:12px;border-radius:12px;padding:14px 16px;min-height:70px;background:transparent}
 .class-card .number,.class-card p{display:none}.class-card .class-symbol{grid-row:auto;height:36px;line-height:1;font-size:30px;align-self:center}.class-card h3{font-size:16px;line-height:1.4;min-height:0;margin:0;overflow-wrap:normal;font-weight:500}.class-card .card-link{grid-column:auto;font-size:0;border:0;padding:0;min-height:0;margin:0;justify-content:flex-end}.class-card .card-link b{font-size:19px}.class-card:hover{transform:none}
 .student-life{padding-bottom:36px}.student-life .text-button{font-size:14px;min-height:44px;display:inline-flex;align-items:center}.student-gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:10px}.student-gallery figure{flex:0 0 78%;flex-basis:78%;min-width:0;scroll-snap-align:start}.student-gallery img{height:230px;width:100%;aspect-ratio:auto;object-fit:cover;object-position:center;border-radius:12px}.student-gallery figcaption{font-size:14px;padding:12px 0;line-height:1.5}.source-note{font-size:12px;line-height:1.7;margin-top:12px}
 .play-section{padding:36px 0}.play-layout{grid-template-columns:minmax(0,1fr);gap:22px}.play-layout p{font-size:16px;line-height:1.6}.piano{padding:12px 8px 10px;border-radius:10px}.piano button{height:112px;padding-top:65px;min-width:0;font-size:13px}.piano button:not(:nth-child(3)):not(:nth-child(7)):not(:last-child):after{height:58px;width:16px;right:-8px}.piano-box>p{font-size:12px;line-height:1.6;margin-top:16px}.piano small{font-size:10px}.text-button{min-height:44px}
 .questions{padding-top:36px;padding-bottom:32px;grid-template-columns:minmax(0,1fr);gap:4px}.questions h2 br{display:none}.questions details{padding:14px 0}.questions summary{font-size:15px;line-height:1.5;min-height:44px;display:list-item;align-content:center}.questions details p{font-size:16px;line-height:1.65}
 .trial-section{padding-top:20px;padding-bottom:36px}.trial-heading{display:block;margin-bottom:16px}.trial-heading h2 br{display:none}.trial-heading h2 span{display:block}.trial-heading p{font-size:16px;line-height:1.6}.trial-help{margin-top:12px}.trial-help a{font-size:14px;line-height:1.6;min-height:44px;display:inline-flex;align-items:center}.trial-help p{margin-bottom:6px}.trial-form{padding:20px;border-radius:14px}.trial-form h3{font-size:18px}.trial-form p{font-size:16px;line-height:1.6}.trial-form .button{width:auto;gap:12px}
 .reviews{padding-top:12px;padding-bottom:36px}.rating{margin-top:14px;gap:4px}.rating strong{font-size:25px}.rating strong span{font-size:16px}.rating>span{font-size:13px}.review-grid{gap:10px;margin-top:18px}.review-grid article{padding:20px;border-radius:12px}.review-grid blockquote,.review-summary{font-size:18px;line-height:1.55;margin:14px 0}.review-grid article>p:last-child{font-size:14px}.review-grid small{font-size:12px}.stars{font-size:13px}
 .contact-section{padding:36px 0}.contact-grid{grid-template-columns:minmax(0,1fr);gap:26px;margin-top:24px}.contact-grid h3{font-size:18px;margin-bottom:10px}.phone{font-size:21px}.contact-grid p,.contact-grid address{font-size:16px;line-height:1.65}.contact-grid table{font-size:14px}.contact-grid th,.contact-grid td{padding:9px 0}.contact-grid .source-note{font-size:12px}.contact-grid .button{min-height:44px}.contact-grid .text-button{min-height:44px}
 .social-section{padding-top:36px;padding-bottom:12px}.social-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.social-grid a{padding:16px 12px;border-radius:12px}.social-grid strong{font-size:15px;gap:4px}.social-grid small{font-size:12px;line-height:1.5;margin-top:8px}
 .closing{padding-top:32px;padding-bottom:36px}.closing h2{font-size:30px}.closing .button{width:auto;min-height:44px;justify-content:center}
 footer{padding-top:20px;padding-bottom:24px;gap:14px;flex-wrap:wrap;flex-direction:row;align-items:center}footer>span{font-size:12px;white-space:normal}footer .logo-window{width:148px;height:40px}footer .logo-window img{width:208px;left:-29px;top:-57px}
 dialog{width:calc(100% - 28px);max-height:calc(100dvh - 32px);padding:36px 22px 22px;border-radius:16px;margin:auto}dialog h2{font-size:26px;overflow-wrap:anywhere}dialog p,dialog li{font-size:16px;line-height:1.6}.close{min-height:44px;min-width:44px;top:4px;right:6px}.close-bottom{display:block;margin:12px 0 0;min-height:44px}
}
@media(max-width:360px){.wrap,header{padding-left:16px;padding-right:16px}.hero{grid-template-columns:minmax(0,1fr) 84px;gap:8px}.hero-art,.hero-art img{height:175px}.hero h1{font-size:34px}.hero .button{font-size:13px;padding:11px 13px}.hero-bottom>span{width:auto}.student-gallery figure{flex-basis:86%}}
.pricing-section{padding-top:65px;padding-bottom:70px}.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.pricing-grid article{border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;min-height:250px}.pricing-grid .best-plan{border:2px solid #d33b2c;position:relative}.plan-badge{position:absolute;top:14px;right:14px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#d33b2c}.plan-label{font-size:13px;letter-spacing:.5px;color:#72776a}.pricing-grid strong{font-size:30px;margin:14px 0 10px}.pricing-grid strong small{font-size:13px;font-weight:400}.pricing-grid p{font-size:13px;line-height:1.65;color:#72776a;flex:1}.pricing-grid a{font-size:13px;text-decoration:underline;text-underline-offset:4px}.pricing-note{font-size:13px;line-height:1.7;color:#72776a;margin-top:22px}.coupon-reward{margin-top:20px;background:#fff4df;border:1px solid #d9b762;border-radius:12px;padding:17px;display:flex;flex-direction:column;gap:8px}.coupon-reward[hidden]{display:none}.coupon-reward strong{font-size:18px}.coupon-reward span{font-size:15px}.coupon-reward code{background:#fff;border:1px dashed #c79b35;padding:4px 7px;font-weight:700;letter-spacing:1px}.copy-coupon{align-self:flex-start;border:1px solid var(--green);background:transparent;border-radius:8px;padding:9px 12px;font-size:13px}.coupon-reward small{font-size:11px;color:#72776a}.challenge-status{font-size:13px!important;color:#72776a!important;margin-top:12px}@media(max-width:900px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.pricing-section{padding-top:36px;padding-bottom:40px}.pricing-grid{grid-template-columns:1fr;gap:10px}.pricing-grid article{min-height:0;padding:18px}.pricing-grid strong{font-size:26px;margin:8px 0}.pricing-grid p{font-size:14px;margin-bottom:14px}.pricing-note{font-size:12px}.coupon-reward{padding:14px}.coupon-reward strong{font-size:17px}}
.pricing-grid article{position:relative;padding-top:42px;min-width:0}.pricing-grid .plan-label{font-size:16px;color:var(--green);margin:0}.pricing-grid .plan-badge{font-size:12px;letter-spacing:0;top:12px;left:24px;right:auto;text-transform:none}.pricing-grid ul{padding-left:18px;margin:12px 0 24px;flex:1;font-size:14px;line-height:1.65}.pricing-grid .plan-total{flex:0;margin:0;font-size:14px}.pricing-grid a,.coupon-reward a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}.pricing-grid .discount-total{flex:0;font-size:14px;color:var(--green);background:#edf4e5;border-radius:8px;padding:12px}.discount-total[hidden]{display:none}.pricing-note{font-size:14px}.melody-guide{font-size:14px!important;letter-spacing:1px;line-height:1.8!important}.coupon-reward small{font-size:13px;line-height:1.5}.copy-coupon{min-height:44px;font-size:14px}.copy-status:empty{display:none}.copy-status{margin:0!important;font-size:14px!important}.challenge-status{font-size:14px!important;min-height:44px}.pricing-grid strong{font-size:clamp(24px,2.5vw,30px)}
.choose-plan{background:#546f42;color:#fff;border:0;border-radius:10px;padding:12px 16px;min-height:44px;font-size:14px}.checkout-dialog{width:min(480px,calc(100% - 28px));padding:32px;max-height:calc(100dvh - 32px);overflow:auto}.checkout-dialog h2{font-size:28px;line-height:1.2}.checkout-line{display:flex;justify-content:space-between;gap:16px;margin:18px 0;font-size:16px}.checkout-line[hidden]{display:none}.checkout-total{border-top:1px solid var(--line);padding-top:18px;font-size:20px}.coupon-field{display:flex;gap:8px;margin-top:8px}.coupon-field input{width:0;flex:1;min-width:0;border:1px solid #a5a89b;border-radius:8px;padding:12px;font:inherit;font-size:16px}.coupon-field button{border:0;border-radius:8px;background:#546f42;color:white;padding:12px;font-size:14px}.checkout-dialog label{font-size:14px}.checkout-dialog #coupon-feedback,.checkout-dialog .payment-notice{font-size:14px;line-height:1.55;margin-top:12px}.payment-pending{width:100%;min-height:44px;padding:12px;border:0;border-radius:10px;background:#e7e8df;color:#55584c;cursor:not-allowed;font-size:14px}.checkout-dialog .text-button{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.pricing-grid .plan-label,.pricing-grid .discount-total{color:#3f5431}.pricing-grid .plan-badge{max-width:calc(100% - 32px);left:18px}.pricing-grid article{padding-top:44px}
@media(min-width:901px){.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
