/* Marketing surface: an exercise sheet and a direct route into practice. */
html{scroll-behavior:auto}
.landing-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(40px,5vw,80px);align-items:center;padding-block:56px 64px}
.landing-kicker{font-size:14px;line-height:1.5;margin-bottom:24px;max-width:38ch;color:var(--muted)}
.landing-intro h1{font-size:var(--display);line-height:1.05;letter-spacing:-.05em;margin-bottom:26px}
.landing-intro h1 span{color:var(--accent)}
.landing-lead{font-size:18px;line-height:1.65;max-width:47ch;color:var(--muted);margin-bottom:28px}
.landing-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px 24px}
.landing-action-note{font-size:14px;line-height:1.5;color:var(--muted);margin:12px 0 0}
.landing-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:16px;font-weight:500;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:6px;text-decoration-thickness:1px}
.landing-link:hover{color:var(--accent);text-decoration-color:currentColor}
.landing-link:active{color:var(--accent-hover)}
.landing-actions>.landing-link{min-height:52px}
.practice-sheet{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:28px 32px 24px}
.practice-sheet figcaption{font-size:14px;line-height:1.5;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:22px}
.practice-label{font-size:14px;color:var(--muted);margin-bottom:8px}
.practice-brief{margin-bottom:20px}
.practice-brief h2{font-size:22px;line-height:1.3;letter-spacing:-.025em;margin:0}
.practice-request{padding-bottom:22px}
.practice-request blockquote{margin:0;font-size:16px;line-height:1.6;max-width:48ch}
.practice-result{border-top:1px solid var(--line);padding-top:22px}
.practice-result h3{font-size:clamp(24px,2.1vw,30px);line-height:1.15;letter-spacing:-.03em;margin-bottom:12px;color:var(--accent)}
.practice-result>p:last-child{font-size:16px;line-height:1.5;margin:0;color:var(--muted)}
.practice-next{font-size:14px;line-height:1.5;max-width:48ch;margin:20px 0 4px;color:var(--muted)}
.landing-modules{padding-block:56px 64px;border-top:1px solid var(--line);scroll-margin-top:24px}
.landing-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;margin-bottom:32px}
.landing-section-heading h2{max-width:15ch;margin:0}
.landing-section-heading p{font-size:18px;color:var(--muted);max-width:49ch;margin:0}
.landing-module{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:28px;align-items:center;padding-block:28px;border-top:1px solid var(--line)}
.landing-module>.module-code{align-self:start;padding-top:7px;color:var(--muted);font-size:14px}
.landing-module h3{font-size:26px;line-height:1.25;letter-spacing:-.03em;margin-bottom:10px}
.landing-module-copy>p{font-size:18px;line-height:1.55;max-width:58ch;color:var(--muted);margin-bottom:14px}
.landing-module-meta{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:14px;color:var(--muted)}
.landing-module-meta span+span{border-left:1px solid var(--line);padding-left:20px}
.landing-module .button{min-width:198px;padding-inline:18px}
.landing-catalog-link{margin-left:76px;margin-top:4px}
.landing-method{background:var(--accent-soft);padding-block:64px}
.landing-method-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,88px)}
.landing-method h2{max-width:17ch;margin-bottom:24px}
.landing-method-intro{font-size:18px;line-height:1.6;max-width:40ch;color:var(--muted);margin-bottom:20px}
.landing-method-list{list-style:none;padding:0;margin:0;counter-reset:steps}
.landing-method-list li{display:grid;grid-template-columns:30px 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--line)}
.landing-method-list li:first-child{padding-top:0;border-top:0}
.landing-method-list li:last-child{padding-bottom:0}
.landing-method-list li>span{font-size:14px;color:var(--muted);padding-top:3px}
.landing-method-list h3{font-size:22px;margin-bottom:12px}
.landing-method-list p{font-size:18px;line-height:1.6;max-width:48ch;color:var(--muted);margin:0}
.landing-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,88px);padding-block:64px}
.landing-faq h2{max-width:15ch;margin-bottom:20px}
.landing-faq>div>p{font-size:18px;line-height:1.6;color:var(--muted);margin-bottom:12px}
.landing-faq summary{padding-block:20px;gap:24px;line-height:1.5}
.landing-faq summary>span{flex:none}
.landing-faq details p{max-width:60ch;font-size:17px;line-height:1.65}
.landing-closing{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding-block:40px 56px;border-top:1px solid var(--line)}
.landing-closing h2{font-size:clamp(28px,2.7vw,36px);max-width:25ch;line-height:1.2;margin-bottom:14px}
.landing-closing p{font-size:18px;color:var(--muted);max-width:56ch;margin:0}
@media(max-width:1050px){
 .landing-hero{gap:36px;padding-block:44px 48px}
 .landing-intro h1{font-size:clamp(40px,5.4vw,58px)}
 .landing-actions{flex-direction:column;gap:6px}
 .practice-sheet{padding:24px}
 .landing-section-heading{gap:40px}
 .landing-module{grid-template-columns:40px minmax(0,1fr);gap:12px 20px}
 .landing-module .button{grid-column:2;justify-self:start}
 .landing-catalog-link{margin-left:60px}
}
@media(max-width:760px){
 .landing-hero{grid-template-columns:1fr;gap:32px;padding-block:32px 40px}
 .landing-kicker{margin-bottom:20px;max-width:none}
 .landing-intro h1{font-size:clamp(39px,9vw,58px);margin-bottom:22px}
 .landing-lead{max-width:52ch;margin-bottom:24px}
 .landing-actions{align-items:stretch;gap:8px}
 .landing-actions .button{width:100%;padding-inline:14px}
 .landing-actions>.landing-link{align-self:flex-start;min-height:44px}
 .practice-sheet{padding:24px}
 .practice-sheet figcaption{padding-bottom:16px;margin-bottom:18px}
 .practice-result h3{font-size:28px}
 .landing-modules,.landing-method,.landing-faq{padding-block:40px}
 .landing-section-heading,.landing-method-layout,.landing-faq{grid-template-columns:1fr;gap:24px}
 .landing-section-heading h2,.landing-faq h2{max-width:20ch}
 .landing-section-heading h2,.landing-method h2,.landing-faq h2{font-size:32px;line-height:1.15}
 .landing-section-heading p{font-size:17px}
 .landing-module{grid-template-columns:1fr;padding-block:24px;gap:12px}
 .landing-module>.module-code{padding:0}
 .landing-module h3{font-size:24px}
 .landing-module .button{grid-column:auto;justify-self:stretch}
 .landing-module-copy>p{font-size:17px}
 .landing-catalog-link{margin:8px 0 0}
 .landing-method-layout{gap:32px}
 .landing-method-list{margin:0}
 .landing-method-list p{font-size:17px}
 .landing-method-list h3{font-size:21px}
 .landing-method-intro{font-size:17px}
 .landing-faq summary{font-size:17px}
 .landing-closing{grid-template-columns:1fr;gap:24px;padding-block:32px 40px}
 .landing-closing .button{justify-self:stretch}
 .landing-closing p{font-size:17px}
}
@media(max-width:359px){
 .practice-sheet{padding:20px}
 .practice-result h3{font-size:25px}
 .landing-module-meta{gap:6px 12px}
 .landing-module-meta span+span{padding-left:12px}
 .landing-section-heading h2,.landing-method h2,.landing-faq h2{font-size:29px}
}
