:root{--ink:#1c1a18;--paper:#faf8f3;--accent:#c6a15b;--muted:#bcbfb3;--line:#d1d3c6;--wine:#4c202e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-decoration:none}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 #ad511d;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}.skip{position:fixed;top:-100px;padding:12px;background:var(--accent);z-index:100}.skip:focus{top:0}.wrap{width:min(1320px,90%);margin:auto}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase;line-height:1.5}.header{height:88px;background:var(--ink);color:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff20}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:30px}.logo{font-size:23px;font-weight:900;letter-spacing:-1.3px;line-height:1}.logo span{display:block;font-size:9px;font-weight:400;letter-spacing:2.7px;margin-top:9px}.nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600}.nav a:not(.button){padding:10px 0}.nav a[aria-current=page]:not(.button),.nav a:hover{color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid transparent;background:var(--accent);color:var(--ink);padding:15px 23px;font-size:13px;font-weight:700;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#dbbc7c;color:var(--ink);transform:translateY(-2px)}.button.dark{background:var(--ink);color:var(--paper)}.button.outline{border-color:currentColor;background:transparent;color:inherit}.menu-toggle{display:none;background:none;border:1px solid #777;color:var(--paper);padding:9px 13px}.display{font-family:Impact,'Arial Narrow',sans-serif;font-weight:400;letter-spacing:-1.5px;text-transform:uppercase;line-height:.93}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(40px,5.2vw,70px);margin-bottom:25px}h3{line-height:1.15;font-size:27px;letter-spacing:-.7px}p{max-width:650px}.hero{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;min-height:650px}.hero-image{position:absolute;right:0;top:0;width:64%;height:100%;object-position:60% 40%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1c1a18 7%,#1c1a18e8 28%,#1c1a1800 72%),linear-gradient(0deg,#1c1a18b0,transparent 50%);pointer-events:none}.hero-content{position:relative;z-index:1;padding-top:67px;padding-bottom:46px}.hero h1{font-size:clamp(100px,12.5vw,178px);margin:30px 0 25px;max-width:740px}.hero h1 span{color:var(--accent)}.hero p{max-width:410px;color:#e3e5dc;font-size:19px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:50px;gap:20px}.photo-note{font-size:10px;letter-spacing:.8px;color:#d4d4c9;text-transform:uppercase;max-width:260px;text-align:right}.genre-strip{background:var(--accent);padding:18px 0}.genre-inner{display:flex;justify-content:space-between;gap:15px;font-weight:700;font-size:14px}.genre-inner span:nth-child(even){font-weight:400}.section{padding:90px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.section-head h2{margin:12px 0 0}.section-head p{max-width:370px;margin-bottom:0}.music-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:32px}.music-photo{height:410px;position:relative;overflow:hidden;background:#242824}.music-photo img{filter:brightness(.75);object-position:center}.music-photo .photo-note{position:absolute;bottom:15px;left:20px;text-align:left}.music-photo a{position:absolute;top:25px;left:25px;background:var(--accent);padding:14px 22px;font-size:14px;font-weight:700}.track-list{border-top:2px solid var(--ink)}.track{display:flex;align-items:center;gap:22px;padding:28px 0;border-bottom:1px solid var(--line)}.track .track-icon{font-size:22px;width:35px}.track div{flex:1}.track h3{font-size:23px;margin:0 0 5px}.track p{font-size:14px;margin:0;color:#50554d}.track:hover h3{text-decoration:underline}.small{font-size:13px;line-height:1.6}.music-foot{margin-top:25px;color:#52584d}.services{background:var(--ink);color:var(--paper)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #ffffff45}.service{padding:35px 30px 5px 0;display:flex;flex-direction:column}.service+.service{border-left:1px solid #ffffff30;padding-left:30px}.service .eyebrow{color:var(--accent);margin-bottom:25px}.service h3{font-size:36px}.service p{color:#d3d6cc;min-height:110px}.service ul{padding:0;list-style:none;font-size:14px;color:#c2c7bb;margin:0 0 35px}.service li{border-bottom:1px solid #ffffff18;padding:8px 0}.service .button{align-self:start;margin-top:auto}.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.story-title .eyebrow{margin-bottom:20px}.story-title h2{max-width:420px}.story-body p{font-size:19px}.credits{display:flex;gap:25px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;font-size:13px;font-weight:700}.location-stamp{display:inline-block;padding:8px 12px;border:1px solid #738061;margin-top:25px;transform:rotate(-3deg);font-size:12px;letter-spacing:1px}.cta{padding:55px 0;background:var(--accent)}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:clamp(34px,4vw,53px);margin:0}.footer{background:var(--ink);color:var(--paper);padding:50px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:25px}.footer-links{display:flex;gap:25px;font-size:14px}.footer-bottom{margin-top:40px;border-top:1px solid #ffffff30;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#bdc2b5}.page-intro{background:var(--ink);color:var(--paper);padding:70px 0}.page-intro h1{font-size:clamp(60px,7.5vw,105px);margin:25px 0}.page-intro h1 span{color:var(--accent)}.page-intro p{font-size:20px;max-width:600px}.lesson-intro{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;align-items:center}.lesson-aside{border-left:1px solid #ffffff40;padding-left:32px}.lesson-aside p{font-size:15px;color:#d1d4c9}.lesson-aside strong{display:block;color:var(--accent);font-size:24px}.formats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.format-card{padding:28px 24px;border:1px solid #bfc4b2;background:#faf9f3;position:relative;display:flex;flex-direction:column}.format-card.selected{background:var(--accent);border-color:var(--ink)}.format-card .symbol{font-size:28px;line-height:1;margin-bottom:28px}.format-card h3{font-size:25px;min-height:60px;margin-bottom:15px}.format-card p{font-size:15px;margin-bottom:25px}.format-card button{margin-top:auto;text-align:left;background:none;border:0;border-top:1px solid #9aa485;padding:16px 0 0;font-size:13px;font-weight:700;display:flex;justify-content:space-between}.note{font-size:13px;margin:24px 0 0;color:#4d5746}.approach{background:#eee8de}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.lesson-list{margin:0;padding:0;list-style:none}.lesson-list li{border-bottom:1px solid #bac0b0;padding:17px 0;display:flex;gap:22px}.lesson-list strong{display:block;font-size:20px}.lesson-list p{font-size:15px;margin:4px 0 0}.lesson-list span{color:#647446}.lengths{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.lengths span{padding:12px 18px;border:1px solid #9aa485}.loooper{background:var(--ink);color:var(--paper);padding:34px;margin-top:30px}.loooper h3{color:var(--accent)}.loooper p{font-size:16px}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}details{border-bottom:1px solid #bfc4b4;padding:20px 0}summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary:after{content:'+'}details[open] summary:after{content:'−'}details p{font-size:15px;margin:15px 30px 0 0}.booking-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:75px}.booking-info ol{padding-left:20px}.booking-info li{padding-bottom:20px}.booking-info h3{font-size:22px}.booking-info p{font-size:15px}.form{background:#faf9f4;padding:35px;border:1px solid #c8cebd}.form h2{font-family:Arial,Helvetica,sans-serif;font-size:25px;letter-spacing:-.7px;text-transform:none;line-height:1.3}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700}.field.full{grid-column:1/-1}.field small{font-size:12px;font-weight:400}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #a5ae98;background:#fff;color:var(--ink);border-radius:0;font-size:16px;font-weight:400;min-height:49px}.field textarea{min-height:125px;resize:vertical}.form .button{margin-top:25px}.form-note{font-size:12px;margin:15px 0 0;color:#57614e}.confirmation{background:var(--accent);padding:25px;margin-top:25px}.confirmation[hidden]{display:none}.confirmation h3{font-size:22px}.confirmation pre{white-space:pre-wrap;font:inherit;font-size:15px}.production-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.production-image{height:450px;position:relative}.production-image .photo-note{position:absolute;bottom:12px;right:15px}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.process .eyebrow{color:#536238;margin-bottom:20px}.process p{font-size:16px}.mobile-book{display:none}.nav a.active{color:var(--accent)}
@media(min-width:1600px){.hero{min-height:750px}.hero-content{padding-top:100px}}@media(max-width:900px){.nav{gap:18px}.hero-image{width:80%}.hero h1{font-size:125px}.formats{grid-template-columns:1fr 1fr}.story-grid,.approach-grid,.booking-layout{gap:40px}.lesson-intro{gap:30px}.service h3{font-size:29px}.service p{min-height:160px}.footer-links{gap:14px}}@media(max-width:700px){body{font-size:16px}.header{height:74px}.logo{font-size:21px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--ink);padding:25px 5%;flex-direction:column;align-items:stretch;gap:8px;box-shadow:0 10px 20px #0003}.nav.open{display:flex}.hero{min-height:690px}.hero-image{width:100%;height:100%;opacity:.7;object-position:65%}.hero:after{background:linear-gradient(90deg,#1c1a18b5,#1c1a1840),linear-gradient(0deg,#1c1a18,transparent 80%)}.hero-content{padding-top:65px}.hero h1{font-size:clamp(88px,23vw,130px);margin:45px 0 25px}.hero p{max-width:300px;font-size:18px}.hero-bottom{margin-top:55px}.hero-bottom .eyebrow{max-width:170px}.photo-note{max-width:140px;font-size:8px}.genre-inner{flex-wrap:wrap;justify-content:center;gap:10px 15px;font-size:11px}.section{padding:60px 0}.section-head{display:block;margin-bottom:30px}.section-head p{margin-top:20px}.music-layout,.story-grid,.approach-grid,.faq-grid,.booking-layout,.production-grid,.lesson-intro{grid-template-columns:1fr;gap:30px}.music-photo{height:300px}.service-grid{grid-template-columns:1fr}.service,.service+.service{padding:30px 0;border-left:0;border-bottom:1px solid #ffffff40}.service p{min-height:0}.service h3{font-size:32px}.service ul{margin-bottom:20px}.story-body p{font-size:17px}.cta .wrap{display:block}.cta .button{margin-top:25px}.footer-top,.footer-bottom{flex-direction:column}.footer-links{flex-wrap:wrap;margin-top:15px}.page-intro{padding:45px 0}.page-intro h1{font-size:64px}.page-intro p{font-size:18px}.lesson-aside{border-left:0;border-top:1px solid #ffffff40;padding:22px 0 0;display:flex;gap:30px;flex-wrap:wrap}.lesson-aside p{margin:0}.formats{gap:10px}.format-card{padding:20px 15px}.format-card h3{font-size:22px;min-height:54px}.format-card p{font-size:14px}.format-card .symbol{margin-bottom:20px}.form{padding:22px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.process{grid-template-columns:1fr;gap:20px}.production-image{height:320px}.lesson-list li{padding:15px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

[hidden]{display:none!important}

/* Jeff's own photography */
.hero-image{object-position:50% 35%}.music-photo img{object-position:50% 24%;filter:brightness(.85)}.story-photo{height:300px;margin-top:35px;object-position:50% 45%}.lesson-portrait{height:240px;margin-bottom:25px;object-position:50% 25%}.production-image img{object-position:50% 25%}
@media(max-width:700px){.hero-image{width:100%;object-position:61% 35%;opacity:.6}.story-photo{height:280px}.lesson-portrait{width:100%;height:260px;object-position:50% 25%}.lesson-aside{display:block}.lesson-aside p{margin:20px 0}.music-photo img{object-position:50% 20%}}

/* Fade the performance image into black at its right edge. */
.hero{background:#000}.hero:after{background:linear-gradient(270deg,#000 0%,#000000c9 9%,transparent 35%),linear-gradient(90deg,#1c1a18 7%,#1c1a18e8 28%,#1c1a1800 72%),linear-gradient(0deg,#1c1a18b0,transparent 50%)}
.loooper-preview{margin:25px 0}.loooper-preview img{width:100%;max-width:310px;height:auto;object-fit:contain;border:1px solid #ffffff25;margin:auto}.loooper-preview figcaption{font-size:12px;color:#d3d6cc;text-align:center;margin-top:12px}
@media(max-width:700px){.hero:after{background:linear-gradient(270deg,#000,transparent 40%),linear-gradient(90deg,#1c1a18b5,#1c1a1840),linear-gradient(0deg,#1c1a18,transparent 80%)}}

/* A restrained event-site direction: warm gold, charcoal, and clear typography. */
:root{--line:#d9d0c3;--muted:#c8bfb3}.display{font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:-1.8px;line-height:1.04}h2.display{font-size:clamp(32px,3.5vw,49px)}.hero h1{font-size:clamp(85px,10vw,140px);letter-spacing:-5px}.hero h1 span{color:var(--paper)}.hero .eyebrow{color:var(--accent)}.genre-strip{background:#eee8de;border-bottom:1px solid var(--line);padding:14px 0}.genre-inner{font-size:12px;letter-spacing:1px}.cta{background:#eee8de;border-top:1px solid var(--line)}.cta h2{font-size:clamp(30px,3vw,42px)}.page-intro h1{font-size:clamp(46px,5.4vw,76px)}.service h3{font-size:29px}.location-stamp{transform:none;border:0;border-top:1px solid var(--line);padding:18px 0 0;color:#76582c;letter-spacing:1px}.story-title h2{max-width:100%;text-transform:none;letter-spacing:-1.8px}.approach{background:#eee8de}.format-card{border-color:#d3c8b8;background:#fffdf9}.format-card.selected{background:#eee0c4;border-color:#9c773d}.format-card button{border-color:#cbbda5}.lengths span{border-color:#cbbda5}.lesson-list li,details{border-color:#d0c4b4}.lesson-list span,.process .eyebrow{color:#85632b}.note,.form-note{color:#655b4e}.form{background:#fffdf9;border-color:#d3c8b8}.field input,.field select,.field textarea{border-color:#baad99}.service .button.outline{border-color:#c6a15b;color:#e4c68e}.nav a[aria-current=page]:not(.button){color:#e4c68e}.lesson-aside strong,.loooper h3{color:#e4c68e}
@media(max-width:700px){.hero h1{font-size:clamp(76px,20vw,110px);letter-spacing:-3px}.page-intro h1{font-size:43px;letter-spacing:-1.5px}.genre-inner{font-size:10px}.story-title h2{font-size:37px}.service h3{font-size:27px}}

/* An expressive artist name within the quieter, professional layout. */
.hero h1 span{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;text-transform:none;color:#e0c38d;letter-spacing:-6px}.story-title h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;letter-spacing:-1.5px}.hero-bottom .eyebrow{font-weight:400;letter-spacing:1.5px}
@media(max-width:700px){.hero h1 span{letter-spacing:-3px}.story-title h2{letter-spacing:-1px}}

.lesson-intro{grid-template-columns:1fr 1fr;gap:65px}.quick-inquiry{border:0;padding:0}.quick-inquiry .form{color:var(--ink);padding:28px}.quick-inquiry .form h2{font-size:28px;margin:10px 0}.quick-inquiry .quick-intro{font-size:15px;color:#655b4e;margin-bottom:20px}.quick-inquiry .form-grid{gap:15px}.quick-inquiry textarea{min-height:80px}.quick-inquiry .button{margin-top:18px}.quick-details{display:block;font-size:13px;text-decoration:underline;margin-top:15px}.quick-inquiry .form-note{font-size:12px;color:#655b4e;margin:12px 0 0}.quick-inquiry .confirmation p{font-size:13px;color:var(--ink)}
@media(max-width:900px){.lesson-intro{gap:30px}.quick-inquiry .form-grid{grid-template-columns:1fr}}
@media(max-width:700px){.lesson-intro{grid-template-columns:1fr}.quick-inquiry .form{padding:22px}.quick-inquiry{margin-top:0}.page-intro:has(.quick-inquiry){padding-top:32px}.page-intro:has(.quick-inquiry) h1{font-size:38px;margin:18px 0}.page-intro:has(.quick-inquiry) .lesson-intro>div>p{font-size:16px}.page-intro:has(.quick-inquiry) .lesson-intro>div>.button{padding:10px 16px}}

/* A portrait and a brief handoff; submission stays in the full form. */
.quick-inquiry .lesson-portrait{height:260px;width:100%;object-position:50% 25%;margin-bottom:16px}.quick-inquiry .form{padding:20px}.quick-inquiry .form h2{font-size:21px;margin:0 0 15px}.quick-inquiry .form-grid{grid-template-columns:1fr 1fr;gap:12px}.quick-inquiry .field{font-size:12px}.quick-inquiry .field input{min-height:43px;padding:9px}.quick-inquiry .button{margin-top:15px;padding:12px 18px}.lesson-intro{grid-template-columns:1.25fr .75fr}
@media(max-width:700px){.lesson-intro{grid-template-columns:1fr}.quick-inquiry .lesson-portrait{height:260px}.quick-inquiry .form{padding:18px}}

/* Show the complete portrait, including the saxophone, without cropping. */
.quick-inquiry .lesson-portrait{height:350px;object-fit:contain;object-position:center;background:#24211e}
@media(max-width:700px){.quick-inquiry .lesson-portrait{height:350px}}

/* Give between-lessons content its own full-width row. */
.approach-grid>.loooper{grid-column:1/-1;margin-top:0;display:grid;grid-template-columns:1fr 310px;align-items:center;gap:60px;padding:48px 60px}
.loooper-copy h3{font-size:36px;margin-bottom:22px}
.loooper-copy p{max-width:540px;font-size:18px}
.loooper-copy>a{display:inline-block;margin-top:12px;text-decoration:underline;text-underline-offset:5px}
.loooper-preview{margin:0;width:100%;max-width:310px}
.loooper-preview>a{display:block;border-radius:32px;overflow:hidden;box-shadow:0 16px 36px #0004}
.loooper-preview img{border-radius:32px;height:auto;width:100%}
@media(max-width:700px){.approach-grid>.loooper{grid-template-columns:1fr;padding:28px 24px;gap:28px}.loooper-copy h3{font-size:29px}.loooper-copy p{font-size:16px}.loooper-preview{justify-self:center}}

/* Supplied phone mockup includes its own device frame and transparent edges. */
.approach-grid>.loooper{grid-template-columns:1fr 1fr;gap:40px}
.loooper-preview{max-width:500px;justify-self:center}
.loooper-preview>a{border-radius:0;overflow:visible;box-shadow:none}
.loooper-preview img{max-width:none;border:0;border-radius:0}
@media(max-width:700px){.approach-grid>.loooper{grid-template-columns:1fr;gap:28px}}

/* Compact between-lessons presentation. */
.approach-grid>.loooper{grid-template-columns:1fr 340px;padding:28px 40px;gap:36px}
.loooper-preview{max-width:340px}
.loooper-copy h3{font-size:30px;margin-bottom:16px}
.loooper-copy p{font-size:16px;margin-bottom:12px}
.loooper-preview figcaption{margin-top:4px}
@media(max-width:700px){.approach-grid>.loooper{grid-template-columns:1fr;padding:24px;gap:16px}.loooper-preview{max-width:260px}.loooper-copy h3{font-size:27px}}

.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.lesson-dates[hidden]{display:none}.nav{gap:22px}@media(max-width:700px){.payment-grid{grid-template-columns:1fr}}

.weekly-preferences{border:0;padding:0;margin:0;min-width:0}.weekly-preferences legend{padding:0;font-weight:700}.weekly-preferences>p{font-weight:400;margin:6px 0 14px}.weekday-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.weekday{text-align:center;border:1px solid var(--line);padding:12px 2px}.weekday>strong{display:block;margin-bottom:14px;font-size:13px}.day-period{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:14px;font-size:10px;font-weight:400;cursor:pointer}.day-period:last-child{margin-bottom:0}.sun-icon{width:32px;height:28px;fill:#d4ad60;stroke:#9c773d;stroke-width:1.5}.sun-icon .sun-rays,.sun-icon .horizon{fill:none}.sun-icon.noon .horizon{display:none}.sun-icon.noon circle{cy:16px}.sun-icon.set{fill:#c78257;stroke:#a3623f}.day-period input[type=checkbox]{width:17px;height:17px;min-height:0;margin:4px 0 0;padding:0;accent-color:#9c773d}.sun-icon.rise circle,.sun-icon.set circle{clip-path:inset(0 0 9px 0)}
@media(max-width:700px){.weekday-grid{gap:3px}.weekday{padding:10px 0}.day-period{font-size:9px}.sun-icon{width:27px}.weekday>strong{font-size:12px}}

.payment-email{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}

.lesson-terms{max-width:850px;margin:auto}.lesson-terms h2{font-size:36px}.lesson-terms details p{max-width:none;margin-right:0}

.pricing-calculator{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:start}.pricing-result{background:var(--ink);color:var(--paper);padding:32px}.calc-total{font:400 clamp(32px,4vw,52px)/1.2 Georgia,serif;color:#e0c38d;margin:14px 0}.pricing-result>p{font-size:15px}.pricing-result .small{font-size:12px;margin-top:20px;color:#d1c8bb}.calc-breakdown{width:100%;border-collapse:collapse;font-size:13px}.calc-breakdown th,.calc-breakdown td{text-align:right;padding:12px 5px;border-bottom:1px solid #ffffff30}.calc-breakdown th:first-child,.calc-breakdown td:first-child{text-align:left}.pricing-calculator [hidden]{display:none}.pricing-calculator .form-note{margin-top:24px}
@media(max-width:900px){.pricing-calculator{grid-template-columns:1fr}.pricing-calculator .form-grid{grid-template-columns:1fr 1fr}}@media(max-width:500px){.pricing-calculator .form-grid{grid-template-columns:1fr}.pricing-result{padding:24px}.calc-breakdown{font-size:12px}}
#calculator .section-head h2{font-size:clamp(30px,3.3vw,42px);line-height:1.15;margin:12px 0 0}#calculator .section-head{align-items:start}

.choice-source{position:absolute;width:1px!important;height:1px!important;min-height:0!important;opacity:0;clip-path:inset(50%);pointer-events:none}.choice-buttons{display:flex;flex-wrap:wrap;gap:8px}.choice-buttons button{border:1px solid #cfc1ad;border-radius:8px;background:#fffdf9;padding:10px 13px;font-size:13px;color:var(--ink);min-height:42px}.choice-buttons button[aria-pressed=true]{background:#eee0c4;border-color:#8f6a31;box-shadow:inset 0 0 0 1px #8f6a31;font-weight:700}.choice-buttons button:disabled{opacity:.4;cursor:not-allowed}.pricing-calculator .form{border-radius:16px;padding:28px}.pricing-result{border-radius:16px;position:sticky;top:110px}.included-app{margin-top:24px;padding:15px;background:#eee8de;border-radius:8px}.pricing-calculator .included-app input{font-size:13px;min-height:42px;background:transparent;border:0;padding:0}.pricing-calculator{grid-template-columns:1.2fr 1fr}.admin-login{max-width:460px;margin:auto}.admin-login .field{margin-top:18px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-rate-group{border:1px solid var(--line);padding:20px;margin:24px 0}.admin-rate-group legend{font-size:22px;font-weight:700;padding:0 10px}#admin-editor[hidden],#admin-login[hidden]{display:none}@media(max-width:900px){.pricing-calculator{grid-template-columns:1fr}.pricing-result{position:static}}
#teacher-management{margin-bottom:48px}#teacher-management[hidden]{display:none}.teacher-panel{margin:20px 0;border:1px solid var(--line);border-radius:12px;padding:20px}.teacher-panel>summary{font-size:24px}.teacher-panel .form{margin-top:24px;border-radius:10px}.teacher-panel .form>.button{margin:18px 12px 0 0}.teacher-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.teacher-record{padding:22px;background:#eee8de;border-radius:10px;overflow-wrap:anywhere}.teacher-record h3{margin-top:0}.teacher-record p{white-space:pre-wrap}.teacher-record .button{min-height:38px;padding:8px 18px}@media(max-width:700px){.teacher-records{grid-template-columns:1fr}.teacher-panel{padding:14px}}
.hours-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;margin:24px 0}.hours-layout h3{font-size:24px;margin:0 0 8px}.hours-layout p{font-size:14px}.hours-day{display:flex;align-items:flex-start;gap:14px;margin:26px 0}.hours-day-badge{background:var(--ink);color:var(--paper);border-radius:50%;width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;font-size:12px;font-weight:700}.hours-ranges{display:flex;align-items:center;flex-wrap:wrap;gap:12px;flex:1}.hours-range{display:flex;align-items:center;gap:10px}.hours-range input,.hours-exception>input{background:#f7f3ed;border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--ink);font:inherit;max-width:150px;min-height:44px}.hours-icon{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:50%;min-width:36px;min-height:36px;padding:5px;font-size:20px;cursor:pointer}.hours-icon:hover{background:#eee0c4}.hours-unavailable{color:#776d61;line-height:44px}.hours-copy{border:0;margin:0;padding:0;position:relative}.hours-copy>summary{font-size:24px;padding:4px;min-height:40px;cursor:pointer}.hours-copy-targets{position:absolute;z-index:3;right:0;min-width:170px;padding:16px;background:#fffdf9;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0002}.hours-copy-targets label{display:flex;gap:10px;margin:8px 0}.hours-copy-targets .hours-icon{border-radius:8px;font-size:14px;padding:8px 16px}.hours-specific-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.hours-specific-header .hours-icon{border-radius:24px;font-size:16px;padding:8px 16px;white-space:nowrap}.hours-exception{padding:18px 0;border-bottom:1px solid var(--line)}.hours-exception>.hours-icon{margin-left:12px}.hours-exception .hours-ranges{margin-top:14px}.hours-timezone{margin-top:32px;color:#8f6a31;font-weight:600}@media(max-width:1000px){.hours-layout{grid-template-columns:1fr;gap:32px}}@media(max-width:500px){.hours-day{gap:8px}.hours-day-badge{width:36px;height:36px;font-size:11px}.hours-range{gap:5px}.hours-range input{width:105px;padding:9px 4px;font-size:13px}.hours-layout{gap:24px}.hours-specific-header h3{font-size:20px}}
.hours-icon{width:36px;height:36px;min-width:36px;min-height:36px;flex:0 0 36px;box-sizing:border-box;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}.hours-copy-targets .hours-icon,.hours-specific-header .hours-icon{width:auto;height:auto;flex:0 0 auto}
.calculator-contact{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.calculator-contact h3{margin-top:0}.calculator-contact>.small{margin-top:22px}.calculator-contact .weekly-preferences{padding:0;margin:18px 0}.calculator-contact .confirmation{margin-top:22px}
/* A compact, progressive lesson request. */
.signup-progress{color:var(--accent,#c5a270);font-weight:600;margin-bottom:24px}
.signup-extra{margin:20px 0;border-top:1px solid rgba(128,128,128,.3);padding-top:16px}
.signup-extra summary{cursor:pointer;font-size:1rem;line-height:1.5}
.signup-extra .form-grid{margin-top:20px}
.signup-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 12px}
.signup-actions #calc-submit{flex:1}
.lesson-starting-rate{font-size:1.15rem;font-weight:600}
.first-lesson{padding-top:40px;padding-bottom:40px}
.first-lesson p{max-width:720px}
#signup-basics h3,#signup-plan h3{margin-bottom:24px}
[hidden]{display:none!important}
.request-estimate{font-weight:600;margin-top:24px;line-height:1.6}
@media(max-width:760px){.pricing-result{grid-row:1}.pricing-calculator>.form{grid-row:2}}
