.home-container{max-width:1240px;margin:0 auto;padding-left:48px;padding-right:48px}.home-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:590px;padding-top:64px;padding-bottom:64px;gap:10px}.home-eyebrow{font-size:12px;color:var(--muted);font-weight:450;letter-spacing:.01em;display:flex;align-items:center;gap:9px}.home-eyebrow .ph{font-size:17px}.home-hero h1{font-size:clamp(54px,6.3vw,86px);font-weight:450;line-height:1.02;letter-spacing:-.065em;margin:28px 0}.hero-description{font-size:16px;line-height:1.8;max-width:390px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:32px}.hero-actions .button{min-height:49px;padding:13px 22px}.home-secondary{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-size:13px;font-weight:500}.home-secondary .ph{font-size:16px;transition:transform .2s}.home-secondary:hover .ph{transform:translate(2px,-2px)}.hero-art{min-width:0}.hero-art img{width:115%;max-width:none;height:auto;margin-left:-6%;display:block}.hero-art p{text-align:center;font-size:11px;color:#777c83;margin:6px 0 0}.practice-section{padding-top:72px;padding-bottom:90px;border-top:1px solid var(--line)}.section-heading{margin-bottom:36px}.section-heading .home-eyebrow{margin-bottom:20px}.section-heading h2,.progress-heading h2,.faq-section>h2,.home-closing h2{font-size:clamp(30px,3.3vw,44px);font-weight:450;line-height:1.15;letter-spacing:-.045em}.section-heading>p:last-child{color:var(--muted);font-size:14px;margin-bottom:0}.practice-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.practice-card{border:1px solid var(--line);border-radius:18px;padding:32px;text-decoration:none;color:var(--ink);transition:transform .25s,border-color .25s,box-shadow .25s}.practice-card:hover{transform:translateY(-5px);border-color:#ced1d6;box-shadow:0 12px 30px rgb(20 22 25 / .035)}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px}.card-top>.ph{color:#9498a0}.mode-icon{display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;width:48px;height:48px}.mode-icon .ph{font-size:23px}.practice-card h3{font-size:25px;font-weight:500;letter-spacing:-.035em;margin-bottom:12px}.practice-card>p{color:var(--muted);font-size:14px;line-height:1.85;max-width:390px;margin-bottom:32px}.card-link{font-size:12px;font-weight:500;display:flex;align-items:center;gap:9px}.card-link .ph{font-size:15px}.coding-practice{background:#fcfcfd}.progress-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:36px;padding-bottom:100px}.progress-heading>.mode-icon{margin-bottom:24px}.progress-heading h2{margin-bottom:22px}.progress-heading p{font-size:14px;line-height:1.85;color:var(--muted);max-width:350px;margin-bottom:22px}.progress-details{padding-top:25px}.progress-details>div{position:relative;padding:0 0 28px 45px;margin-bottom:26px;border-bottom:1px solid var(--line)}.progress-details>div:last-child{border-bottom:0;margin-bottom:0}.progress-details>div>.ph{position:absolute;left:0;top:3px;font-size:23px;color:#747983}.progress-details h3{font-size:16px;font-weight:500;margin-bottom:9px;letter-spacing:-.02em}.progress-details p{font-size:13px;color:var(--muted);line-height:1.8;margin:0;max-width:300px}.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;padding-top:70px;padding-bottom:80px;border-top:1px solid var(--line)}.faq-section>h2{font-size:33px}.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}.faq-list details:first-child{padding-top:5px}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-size:14px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary .ph{color:#777c84;transition:transform .2s}.faq-list details[open] summary .ph{transform:rotate(45deg)}.faq-list p{font-size:13px;line-height:1.9;color:var(--muted);margin:16px 28px 0 0}.home-closing{padding-top:70px;padding-bottom:85px;text-align:center;border-top:1px solid var(--line)}.home-closing>img{display:block;margin:0 auto 22px}.home-closing h2{margin-bottom:28px}.home-closing .button{min-height:48px}.home-footer{display:flex;justify-content:space-between;align-items:center;padding-top:25px;padding-bottom:30px;border-top:1px solid var(--line);gap:20px}.home-footer .wordmark{font-size:15px}.home-footer>span{font-size:11px;color:var(--muted)}.home-footer>a:last-child{font-size:12px;display:flex;gap:7px;align-items:center;text-decoration:none}.home-footer .ph{font-size:15px}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:hero-enter .7s both}.hero-art{animation:hero-enter .9s .12s both}.reveal.motion-ready{opacity:0;transform:translateY(20px);transition:opacity .65s,transform .65s}.reveal.motion-ready.visible{opacity:1;transform:none}@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}}
@media(max-width:900px){.home-container{padding-left:30px;padding-right:30px}.home-hero{min-height:500px;padding-top:48px;padding-bottom:48px}.home-hero h1{font-size:64px}.hero-actions{flex-wrap:wrap;gap:18px}.hero-description{font-size:14px}.hero-art img{width:110%}.progress-section{gap:50px}.faq-section{gap:35px}}
@media(max-width:640px){.home-container{padding-left:22px;padding-right:22px}.home-hero{grid-template-columns:1fr;padding-top:44px;padding-bottom:38px;gap:20px;min-height:0}.home-hero h1{font-size:61px;margin:23px 0}.hero-description{font-size:14px;max-width:330px}.hero-actions{gap:20px;margin-top:25px}.hero-actions .button{font-size:12px;padding:12px 16px}.home-secondary{font-size:12px}.home-eyebrow{font-size:10px}.hero-art img{width:100%;margin:0}.hero-art{max-width:420px;margin:0 auto}.hero-art p{font-size:10px}.practice-section{padding-top:40px;padding-bottom:48px}.section-heading h2,.progress-heading h2{font-size:32px}.practice-grid{grid-template-columns:1fr;gap:15px}.practice-card{padding:25px}.card-top{margin-bottom:28px}.practice-card>p{font-size:13px;margin-bottom:25px}.progress-section{grid-template-columns:1fr;gap:25px;padding-top:0;padding-bottom:35px}.progress-details{padding-top:5px}.progress-details>div{margin-bottom:20px;padding-bottom:22px}.faq-section{grid-template-columns:1fr;gap:18px;padding-top:40px;padding-bottom:45px}.faq-section>h2{font-size:31px}.home-closing{padding-top:42px;padding-bottom:45px}.home-closing h2{font-size:31px}.home-footer{flex-wrap:wrap;gap:12px}.home-footer>span{order:3;width:100%}}
