/* Shared offer navigation; all content and links also work without JavaScript. */
.offer-detail-link {display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:14px;color:var(--blue);font-weight:700;text-underline-offset:5px;}
.offer-links {display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:24px auto 40px;padding:0 20px;}
.offer-links a {display:inline-flex;align-items:center;min-height:44px;padding:10px 20px;border:1px solid #abcbd6;border-radius:30px;text-decoration:none;color:var(--blue);font-weight:600;}
.offer-links a:hover {background:var(--aqua);}
.lesson-wrap {max-width:1180px;margin:auto;padding:24px 30px 60px;}
.lesson-page section {padding:0;margin:0;max-width:none;}
.breadcrumbs {display:flex;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--ink-soft);margin:12px 0 36px;}
.lesson-page .lesson-hero {display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:50px;align-items:center;padding-bottom:44px;}
.lesson-hero h1 {font:600 clamp(36px,4.4vw,60px)/1.1 var(--serif);letter-spacing:-1.5px;margin:14px 0 24px;}
.lesson-lead {font-size:19px;line-height:1.7;color:var(--ink-soft);max-width:660px;}
.lesson-time {background:var(--aqua);border-radius:24px;padding:28px;text-align:center;}
.lesson-time img {display:block;margin:0 auto 24px;}
.lesson-time strong {display:block;font:700 104px/.9 var(--sans);letter-spacing:-5px;}
.lesson-time > span {display:block;font-size:23px;font-weight:600;margin-top:12px;}
.lesson-time p {font-size:15px;line-height:1.7;margin:22px 0 0;}
.lesson-layout {display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:65px;align-items:start;}
.lesson-page .lesson-section {padding:32px 0;border-top:1px solid var(--line);}
.lesson-section h2,.lesson-practical h2 {font:600 30px/1.25 var(--serif);letter-spacing:-.5px;margin:0 0 20px;}
.lesson-section p {font-size:17px;line-height:1.85;color:var(--ink-soft);}
.lesson-section a,.lesson-practical a,.lesson-cta p a {color:var(--blue);text-underline-offset:3px;}
.lesson-practical {background:#eef7fa;border:1px solid var(--line);padding:28px;border-radius:18px;}
.lesson-practical h2 {font-size:25px;margin:28px 0 12px;}
.lesson-practical p {line-height:1.75;}
.lesson-faq details {border-bottom:1px solid var(--line);padding:18px 0;}
.lesson-faq summary {font-weight:600;cursor:pointer;padding:6px 0;}
.lesson-pool {margin:28px 0;}
.lesson-pool img {display:block;width:100%;height:auto;max-height:460px;object-fit:cover;border-radius:20px;}
.lesson-pool figcaption {font-size:14px;color:var(--ink-soft);margin-top:10px;}
.lesson-page .lesson-cta {background:var(--aqua);padding:42px;border-radius:22px;margin-top:40px;}
.lesson-cta h2 {font:600 clamp(30px,4vw,44px)/1.15 var(--serif);letter-spacing:-1px;}
.lesson-cta p {max-width:720px;line-height:1.7;}
.lesson-page :focus-visible,.offer-detail-link:focus-visible,.offer-links a:focus-visible {outline:3px solid var(--blue);outline-offset:5px;}
@media(max-width:900px){.lesson-layout{grid-template-columns:minmax(0,1fr);gap:10px}.lesson-page .lesson-hero{grid-template-columns:minmax(0,1fr) 230px;gap:25px}}
@media(max-width:600px){.lesson-wrap{padding:20px 20px 45px}.lesson-page .lesson-hero{grid-template-columns:1fr;gap:26px}.lesson-hero h1{font-size:38px;letter-spacing:-1px}.lesson-time{padding:24px}.lesson-time img{width:48px;height:48px;margin-bottom:16px}.lesson-time strong{font-size:88px}.lesson-page .lesson-cta{padding:26px}.lesson-practical{padding:24px}.lesson-lead{font-size:17px}.lesson-section h2{font-size:28px}.lesson-page .offer-links{padding:0;gap:8px}.offer-links a{padding:10px 14px}}
