[data-theme="lessons"] {--ink:#153f3b;--paper:#fffaf2;--muted:#536661;--line:#a4b6ad;--accent:#b74732;--accent-2:#b74732;--accent-ink:#fffaf2;--surface:#fffdf8;--peach:#f6ddcb;--coral:#e87358;--font-display:'Fraunces',Georgia,serif;--font-body:'DM Sans',Arial,sans-serif;color-scheme:light}
body{font-size:20px;line-height:1.6}h1,h2,h3{font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(3rem,5.4vw,5.2rem);max-width:13ch;line-height:1.07}h2{font-size:clamp(2.25rem,3.8vw,3.6rem)}h3{font-size:1.65rem}p{max-width:54ch}a,button{ -webkit-tap-highlight-color:transparent}button{font-size:1rem}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--accent)!important}.eyebrow{font:600 .76rem/1.4 var(--font-body);text-transform:uppercase;letter-spacing:.16em;margin-bottom:22px}.small{font-size:.9rem;color:var(--muted)}.section-number{font:500 .85rem var(--font-body);margin-bottom:22px;display:block}.section-top{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:40px}.section-top p{max-width:32ch}.site-header{border-bottom:1px solid #153f3b24}.kit-header{padding:24px 0;gap:24px;flex-wrap:wrap}.brand{display:flex;gap:12px;text-decoration:none;line-height:1.2;flex-shrink:0}.brand-mark{width:43px;height:43px;border:1.5px solid var(--ink);border-radius:50% 50% 50% 8px;display:grid;place-items:center;font:500 22px var(--font-display)}.brand strong{font:500 24px var(--font-display);display:block}.brand small{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.header-right{display:flex;align-items:center;gap:34px}.home-nav{display:flex;gap:26px;font-size:.9rem}.home-nav a{text-decoration:none}.language-links{display:flex;align-items:center;gap:4px;font-size:.9rem}.language-links a{padding:4px 12px;text-decoration:none;border-radius:30px}.language-links [aria-current]{background:var(--ink);color:var(--paper)}.access-row{display:flex;justify-content:flex-end;padding:5px 0}.access-row a{font-size:.8rem}.hero{padding:62px 0 80px;display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}.hero .intro{margin:26px 0 30px;max-width:32ch}.hero h1 em{font-style:normal;color:var(--accent)}.kit-cta{background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:10px;min-height:60px;padding:17px 22px;font-size:1rem;transition:box-shadow .18s ease,transform .18s ease;overflow:visible}.kit-cta:before,.kit-cta:after{display:none}.kit-cta:focus-visible,.card-link:focus-visible{box-shadow:6px 6px 0 #111;transform:translate(-3px,-3px)}.cta-note{font-size:.85rem;margin-top:13px;color:var(--muted)}.conversation{position:relative;min-height:510px;background:var(--peach);border-radius:48% 48% 22px 22px;padding:38px 28px 24px;display:flex;flex-direction:column;justify-content:space-between}.conversation-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.conversation-top span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.bubble-field{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center;padding:28px 0}.bubble{display:flex;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:28px 28px 28px 5px;height:75px;background:var(--paper);font-size:clamp(1.55rem,2.5vw,2.2rem);font-family:var(--font-display);text-align:center;box-shadow:3px 4px 0 #153f3b12}.bubble:nth-child(2n){border-radius:28px 28px 5px 28px;background:var(--ink);color:var(--paper);margin-top:26px}.bubble:last-child{grid-column:1/3;justify-self:center;min-width:53%;background:var(--coral);color:var(--ink)}.conversation-bottom{border-top:1px solid #153f3b45;padding-top:18px;display:flex;align-items:center;gap:12px;font-size:.86rem}.conversation-bottom svg{width:32px;flex-shrink:0}.proof-band{background:#e9eee5;padding:48px 0}.teacher-row{display:grid;grid-template-columns:145px 1fr auto;gap:30px;align-items:center}.portrait-placeholder{border:1px dashed var(--ink);border-radius:50% 50% 12px 12px;padding:18px 14px;text-align:center;aspect-ratio:1}.portrait-placeholder svg{width:58px;margin:auto}.portrait-placeholder figcaption{font-size:.65rem;line-height:1.4;margin-top:8px}.teacher-row h2{font-size:2.2rem;margin-bottom:12px}.teacher-row p{margin-bottom:0;font-size:1.05rem}.credentials{border-left:1px solid var(--line);padding-left:30px;max-width:20ch;font-size:.85rem}.credentials strong{display:block;font-weight:500;color:var(--accent)}.lesson-grid{grid-template-columns:repeat(6,1fr);gap:22px}.lesson-card{grid-column:span 2;min-height:285px;position:relative;padding:28px;background:var(--surface);border-radius:12px;border:1px solid var(--ink);display:flex!important;flex-direction:column;text-decoration:none;transition:box-shadow .18s ease,transform .18s ease}.lesson-card:nth-child(4),.lesson-card:nth-child(5){grid-column:span 3;min-height:235px}.lesson-card:nth-child(2){background:var(--peach)}.lesson-card:nth-child(4){background:#e9eee5}.lesson-card .icon{width:44px;height:44px;margin-bottom:24px}.lesson-card h3{max-width:17ch;margin:0 0 10px}.lesson-card p{font-size:1rem;margin-bottom:22px}.card-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.arrow{font-size:1.5rem}.planned-note{margin-top:25px;font-size:.85rem;max-width:75ch}.planned-note summary{font-weight:600}.planned-note p{max-width:75ch}.call-section{background:var(--peach)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:35px 0}.step{border-top:1px solid #153f3b66;padding-top:24px}.step-illustration{width:100%;height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;background:#fffaf260;border-radius:12px}.step-illustration svg{width:100px;height:100px}.step summary{list-style:none;display:flex;align-items:start;gap:12px;min-height:60px;line-height:1.3}.step summary::-webkit-details-marker{display:none}.step summary::after{content:'+';margin-left:auto}.step[open] summary::after{content:'−'}.step summary h3{margin:0;font-size:1.5rem;letter-spacing:-.03em}.step summary .num{font:500 .8rem var(--font-body);padding-top:6px}.step p{font-size:1rem;margin-top:18px}.lesson-story{margin-top:48px;padding-top:36px;border-top:1px solid #153f3b44}.lesson-story h3{font-size:2rem}.lesson-placeholder{min-height:220px;border:1px dashed var(--ink);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px;text-align:center}.lesson-placeholder svg{width:95px;height:85px}.lesson-placeholder figcaption{font-size:.85rem;margin-top:10px}.price-row{display:grid;grid-template-columns:1fr 1fr;gap:55px}.price-slip{background:var(--surface);border:1px solid var(--ink);border-radius:4px;padding:32px;box-shadow:7px 7px 0 var(--peach)}.price-slip .price{font:500 2.5rem var(--font-display);margin:14px 0}.price-slip dl{font-size:.95rem;display:grid;grid-template-columns:1fr 1fr;gap:15px}.price-slip dd{margin:0;text-align:right}.price-slip dt,.price-slip dd{padding-top:15px;border-top:1px solid var(--line)}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.kit-faq summary{font-size:1.1rem}.kit-faq .kit-answer p{font-size:1rem}.final-cta{background:var(--ink);color:var(--paper);text-align:center;padding:75px 20px}.final-cta h2{max-width:18ch;margin:0 auto 25px}.final-cta p{margin:0 auto 26px}.final-cta .kit-cta{background:var(--peach);color:var(--ink);border-color:var(--peach)}.site-footer{padding:40px 0 32px;font-size:.85rem}.footer-row{display:flex;justify-content:space-between;align-items:start;gap:30px}.footer-links{display:flex;gap:24px;flex-wrap:wrap}.policy{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.policy p{max-width:90ch;font-size:.85rem}.language-form{margin:24px 0 0;border:1px solid var(--line);padding:20px;border-radius:12px;max-width:600px;font-size:1rem}.language-form summary{font-weight:600}.language-form form{margin-top:20px}.language-form button{background:var(--ink);color:var(--paper);margin-top:15px}.language-form [role=status]{margin:15px 0 0;font-size:.9rem}.sticky-action{display:none}.booking-hero{max-width:850px;text-align:center;margin:0 auto;padding:52px 0 38px}.booking-hero h1{max-width:17ch;margin:0 auto 24px}.booking-hero p{margin:0 auto 25px;max-width:43ch}.booking-proof{display:flex;gap:22px;align-items:center;justify-content:center;padding:20px;border-block:1px solid var(--line);font-size:.9rem}.booking-proof p{margin:0}.booking-proof .mini-mark{font:500 32px var(--font-display);border:1px solid var(--ink);border-radius:50%;padding:12px}.booking-call{padding-block:65px}.booking-call .section-top{align-items:center}.calendar-section{padding:65px 0;background:#e9eee5}.calendar-box{min-height:380px;background:var(--paper);border:1px dashed var(--ink);border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px 22px;scroll-margin-top:25px}.calendar-box svg{width:65px;margin-bottom:25px}.calendar-box h3{font-size:1.9rem;max-width:25ch}.calendar-box p{font-size:1rem;max-width:45ch}.preview-label{border:1px solid var(--ink);border-radius:30px;padding:4px 12px;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px}.booking-wrap{max-width:900px;margin:auto}.booking-faq{max-width:800px;margin:auto}.booking .access-row{justify-content:space-between}.booking .policy-link{font-size:.8rem}
@media(hover:hover) and (pointer:fine){.kit-cta:hover,.card-link:hover{box-shadow:6px 6px 0 #111;transform:translate(-3px,-3px);background:var(--ink);color:var(--paper)}.lesson-card:hover{background:var(--peach);color:var(--ink)}.kit-icons a:hover>.icon{transform:none}}
@media(max-width:991px){.hero{gap:30px}.teacher-row{grid-template-columns:115px 1fr}.credentials{grid-column:2;padding-left:0;border:0}.header-right{gap:20px}.home-nav{gap:15px}.conversation{padding:30px 20px}.faq-layout{gap:35px}.lesson-card{grid-column:span 3}.lesson-card:last-child{grid-column:span 6}}
@media(max-width:767px){.kit-header{padding:20px 0;gap:16px}.header-right{width:100%;justify-content:space-between;flex-direction:row-reverse}.brand strong{font-size:23px}.language-links a{padding-inline:10px}.access-row{justify-content:flex-start}.hero{grid-template-columns:1fr;padding:34px 0 55px;gap:42px}.hero h1{max-width:14ch}.hero .intro{max-width:34ch}.conversation{min-height:435px;max-width:500px;width:100%;margin:auto;border-radius:42% 42% 16px 16px;padding:30px 24px 24px}.bubble-field{gap:12px;padding:22px 0}.bubble{font-size:1.8rem;height:67px}.section-top{display:block}.section-top p{max-width:45ch}.teacher-row{gap:22px;grid-template-columns:95px 1fr}.portrait-placeholder{padding:15px 9px}.teacher-row h2{font-size:1.8rem}.teacher-row p{font-size:1rem}.credentials{font-size:.82rem}.lesson-grid{grid-template-columns:1fr}.lesson-card,.lesson-card:nth-child(n){grid-column:auto;min-height:230px}.steps{grid-template-columns:1fr;gap:30px}.step{display:grid;grid-template-columns:90px 1fr;column-gap:20px;align-items:center}.step-illustration{grid-column:1;grid-row:1;height:105px;margin:0}.step-illustration svg{width:74px;height:74px}.step summary{grid-column:2;grid-row:1;align-items:center}.step p{grid-column:1/3}.lesson-story{display:grid;gap:20px}.price-row,.faq-layout{grid-template-columns:1fr;gap:28px}.price-slip{padding:26px}.footer-row{flex-direction:column;gap:22px}.site-footer{padding-bottom:100px}.sticky-action{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);justify-content:center}.sticky-action .kit-cta{width:100%;min-height:44px;font-size:.9rem;padding:11px 18px}.booking .kit-header{flex-wrap:nowrap}.booking .header-right{width:auto}.booking .brand small{display:none}.booking .brand strong{font-size:19px}.booking .brand-mark{display:none}.booking .language-links{font-size:.8rem}.booking .language-links a{padding-inline:8px}.booking-hero{padding-top:35px}.booking-hero h1{font-size:3rem}.booking-proof{justify-content:start}.booking .access-row{gap:12px;flex-wrap:wrap}.booking-call,.calendar-section{padding-block:50px}.calendar-box{min-height:350px}.calendar-box h3{font-size:1.7rem}.home-nav{font-size:.8rem}.section-top{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.card-link:hover,.card-link:focus-visible,.kit-cta:hover,.kit-cta:focus-visible{transform:none!important}}
@media(max-width:767px){.step-wrap{display:grid;grid-template-columns:80px 1fr;gap:18px;align-items:start}.step-wrap>.step-illustration{height:100px;grid-column:1;grid-row:1;margin-top:20px}.step-wrap>.step{display:block;grid-column:2}.step summary{gap:8px;min-height:80px}.step summary h3{font-size:1.35rem}.step p{font-size:1rem}.step .num{display:none}}
.header-right{flex-wrap:wrap}
.final-cta :focus-visible{outline-color:var(--peach)!important}
@media(max-width:380px){.booking .kit-header{flex-wrap:wrap;gap:8px}.booking .header-right{width:100%;justify-content:flex-end}.header-right{gap:12px}}

/* 2026-11-08 Claude: the kit icon-grid span rule was blowing up the small card label */
.lesson-card .card-meta,.lesson-card .card-meta span{font-size:.75rem;line-height:1.35}

/* 2026-11-08 Max: the booking button needs its own hover colour (it went dark-on-dark in the closing band). */
@media(hover:hover) and (pointer:fine){.kit-cta:hover,.final-cta .kit-cta:hover{background:var(--coral);border-color:#111;color:#111}}
.kit-cta:focus-visible,.final-cta .kit-cta:focus-visible{background:var(--coral);border-color:#111;color:#111}
