.lesson-template { --lesson-ink:#283b32; --lesson-muted:#615d53; }
.lesson-template .service-page { padding-top:22px; }
.lesson-breadcrumbs { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:0 0 22px; color:var(--lesson-muted); font:12px/1.5 var(--font-body); }
.lesson-breadcrumbs a { color:var(--lesson-ink); }
.lesson-template .service-nav [aria-current="page"],.lesson-template .service-menu [aria-current="page"] { text-decoration:underline; text-decoration-color:#a88852; text-underline-offset:7px; }
.lesson-template .lesson-hero { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); background:#eeebe3; }
.lesson-template .lesson-hero .service-hero-copy { padding:clamp(30px,4.5vw,66px); }
.lesson-template .lesson-hero h1 { max-width:14ch; font-size:clamp(39px,4.3vw,62px); }
.lesson-template .lesson-hero p { max-width:40ch; }
.lesson-template .lesson-hero img { height:clamp(390px,43vw,550px); max-height:550px; object-position:center 49%; }
.lesson-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--color-divider); }
.lesson-facts>div { display:flex; flex-direction:column; gap:3px; min-width:0; padding:22px 30px; border-right:1px solid var(--color-divider); }
.lesson-facts>div:first-child { padding-left:0; }
.lesson-facts>div:last-child { border-right:0; }
.lesson-facts span { font:600 11px/1.4 var(--font-body); letter-spacing:.12em; text-transform:uppercase; color:#725126; }
.lesson-facts strong { font:400 clamp(20px,2.2vw,27px)/1.2 var(--font-heading); }
.lesson-facts small { font:13px/1.4 var(--font-body); color:var(--lesson-muted); }
.lesson-template h2 { font:400 clamp(34px,3.7vw,50px)/1.13 var(--font-heading); letter-spacing:-.03em; }
.lesson-template h3 { font:400 25px/1.25 var(--font-heading); }
.lesson-template p { line-height:1.75; }
.lesson-intro { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,7vw,90px); padding:90px 0; border-bottom:1px solid var(--color-divider); }
.lesson-intro h2 { max-width:13ch; }
.lesson-intro>div:last-child { max-width:64ch; font-size:18px; }
.lesson-intro p+p { margin-top:22px; }
.lesson-section { padding:85px 0; border-bottom:1px solid var(--color-divider); }
.lesson-section h2 { max-width:19ch; }
.lesson-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px 52px; margin-top:48px; }
.lesson-grid article { border-top:1px solid #a88852; padding-top:19px; }
.lesson-grid article>span { display:block; margin-bottom:14px; font:11px/1.4 var(--font-body); color:#725126; letter-spacing:.12em; }
.lesson-grid h3 { margin:0 0 12px; }
.lesson-grid p { margin:0; max-width:52ch; color:var(--lesson-muted); }
.lesson-duo { margin:0 -28px; padding:80px 28px; background:#eeebe3; }
.lesson-duo h2 { margin-bottom:35px; }
.lesson-duo-cards { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.lesson-duo-cards article { background:#f8f6f0; padding:30px; border-top:2px solid #a88852; }
.lesson-duo-cards h3 { margin:0 0 15px; }
.lesson-duo-cards p { margin:0; color:var(--lesson-muted); }
.lesson-instrument-note { margin-top:30px; padding:27px 30px; border-left:3px solid #a88852; background:#f8f6f0; }
.lesson-instrument-note .eyebrow { margin-bottom:12px; }
.lesson-instrument-note h3 { max-width:32ch; margin:0 0 12px; }
.lesson-instrument-note p { max-width:70ch; margin:0; color:var(--lesson-muted); }
.lesson-detail-link { display:inline-block; margin-top:18px; font-size:14px; font-weight:600; }
.lesson-reading>p { max-width:72ch; margin-top:24px; font-size:18px; color:var(--lesson-muted); }
.lesson-reading .btn { margin-top:28px; }
.lesson-related { display:flex; flex-wrap:wrap; gap:20px 30px; padding-top:35px; font-size:14px; }
.lesson-duo>p { max-width:72ch; font-size:17px; margin:32px 0 0; }
.lesson-local { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,7vw,90px); }
.lesson-local h2 { max-width:15ch; }
.lesson-local>div:last-child { max-width:65ch; font-size:17px; }
.lesson-local p+p { margin-top:22px; }
.lesson-contact { scroll-margin-top:100px; display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(35px,6vw,75px); margin:88px -28px 0; padding:66px 28px; background:var(--lesson-ink); color:#f8f6f0; }
.lesson-contact-copy h2 { margin-bottom:20px; }
.lesson-contact-copy>p { max-width:36ch; margin:0 0 20px; color:#e0e5dc; }
.lesson-contact-copy>p strong { color:#fff; }
.lesson-contact-copy>a { display:block; width:fit-content; margin:9px 0; color:#fff; font-size:17px; }
.lesson-contact .eyebrow { color:#dbc092; }
#lesson-form { padding:30px; border-radius:3px; background:#f8f6f0; color:var(--lesson-ink); }
.lesson-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
#lesson-form label { display:block; margin:0 0 7px; font:600 13px/1.4 var(--font-body); }
#lesson-form label span { font-weight:400; color:var(--lesson-muted); }
#lesson-form .lesson-form-row>div,#lesson-form>label { margin-bottom:18px; }
#lesson-form input,#lesson-form select,#lesson-form textarea { display:block; width:100%; min-height:49px; padding:11px 13px; border:1px solid #b5b9ac; border-radius:2px; background:#fffdf8; color:var(--lesson-ink); font:16px/1.5 var(--font-body); }
#lesson-form textarea { resize:vertical; min-height:135px; }
#lesson-form .btn { width:100%; display:flex; justify-content:center; min-height:52px; cursor:pointer; }
#lesson-form .btn:disabled { opacity:.65; cursor:wait; }
.lesson-privacy { font-size:12px; color:var(--lesson-muted); margin:4px 0 18px; }
.lesson-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#lesson-status:empty { display:none; }
#lesson-status { margin:16px 0 0; padding:11px 13px; font-size:14px; }
#lesson-status.success { border:1px solid #78916f; background:#e4eddf; }
#lesson-status.error { border:1px solid #b46d62; color:#7b2623; background:#fff0ec; }
.lesson-faq { max-width:820px; margin:85px 0 0; }
.lesson-faq h2 { margin-bottom:28px; }
.lesson-faq details { border-top:1px solid var(--color-divider); padding:19px 0; }
.lesson-faq details:last-child { border-bottom:1px solid var(--color-divider); }
.lesson-faq summary { cursor:pointer; font:600 17px/1.5 var(--font-body); }
.lesson-faq details p { color:var(--lesson-muted); margin:14px 0 0; }
@media(max-width:850px) { .lesson-template .lesson-hero { grid-template-columns:1fr 1fr; } .lesson-contact { grid-template-columns:1fr; } .lesson-contact-copy>p { max-width:60ch; } }
@media(max-width:720px) { .lesson-template .service-page { padding-top:18px; } .lesson-template .lesson-hero { grid-template-columns:1fr; } .lesson-template .lesson-hero img { height:min(74vw,390px); min-height:250px; object-position:center 50%; } .lesson-template .lesson-hero h1 { font-size:clamp(36px,8.7vw,50px); } .lesson-facts { grid-template-columns:1fr; } .lesson-facts>div,.lesson-facts>div:first-child { padding:15px 4px; border-right:0; border-bottom:1px solid var(--color-divider); } .lesson-facts>div:last-child { border-bottom:0; } .lesson-intro,.lesson-local { display:block; padding:60px 0; } .lesson-intro h2,.lesson-local h2 { margin-bottom:24px; } .lesson-intro>div:last-child { font-size:17px; } .lesson-section { padding:60px 0; } .lesson-grid { grid-template-columns:1fr; gap:28px; margin-top:35px; } .lesson-duo { margin:0 -20px; padding:60px 20px; } .lesson-duo-cards { grid-template-columns:1fr; gap:16px; } .lesson-duo-cards article { padding:24px; } .lesson-instrument-note { padding:24px; } .lesson-contact { margin:60px -20px 0; padding:42px 20px; } .lesson-faq { margin-top:60px; } }
@media(max-width:540px) { .lesson-form-row { grid-template-columns:1fr; gap:0; } #lesson-form { padding:23px; } .lesson-template h2 { font-size:clamp(32px,8vw,43px); } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
