@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#183b39;--deep:#123e3d;--muted:#617776;--paper:#f8f7f2;--cream:#fffdf7;--line:#dbe3df;--gold:#f0b568;--mint:#c9e5d9;--coral:#de7b5d;--container:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.7 'DM Sans',sans-serif;background:var(--paper)}a{color:inherit;text-decoration:none}button,input{font:inherit}img,svg{max-width:100%}.wrap{width:min(var(--container),calc(100% - 44px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:9px;z-index:999}.site-header{background:#fffdf8;position:sticky;top:0;z-index:50;border-bottom:1px solid #e6e9e1}.nav{display:flex;align-items:center;min-height:86px;gap:32px}.logo{display:flex;align-items:center;gap:11px;white-space:nowrap}.mark{width:40px;height:40px}.logoword{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.9px;font-size:22px}.logoword em{font-style:normal;color:#d67c50}.nav-links{margin-left:auto;display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}.nav-links a:hover,.footer a:hover{color:#bf6f44}.nav .btn{font-size:14px;padding:12px 19px}.btn{background:var(--deep);color:white;padding:15px 24px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;gap:10px;line-height:1.2;border:1px solid var(--deep);transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);background:#255655}.btn-outline{color:var(--deep);background:transparent;border-color:#9bb5aa}.btn-outline:hover{background:#eaf3eb}.btn-light{background:#fffbef;color:var(--deep);border-color:#fffbef}.mobile-toggle{display:none;background:transparent;border:0;margin-left:auto;font-size:25px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#b9754d;font-weight:800;font-size:12px}.hero{background:#f0f2e9;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;min-height:630px;padding:62px 0 65px}.hero h1,h1{font:800 clamp(44px,5.3vw,76px)/1.09 Manrope,sans-serif;letter-spacing:-.058em;margin:16px 0 22px}.hero h1 span,.highlight{color:#c77b4d}.hero p{max-width:550px;font-size:19px;color:#516b65;line-height:1.75}.hero-art{position:relative}.hero-art img{display:block;width:min(100%,625px);margin:auto;filter:drop-shadow(0 32px 38px #3b5b4b20)}.scribble{position:absolute;right:12px;top:36px;transform:rotate(9deg);color:#557b6b;font:700 20px Manrope,sans-serif}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}.micro{display:flex;align-items:center;gap:12px;color:#5b736e;font-size:13px}.micro .dots{letter-spacing:3px;color:#dc9966}.trust-strip{background:#143e3c;color:#dbe9df;padding:17px 0}.trust-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-weight:700;font-size:13px;letter-spacing:.03em}.section{padding:100px 0}.section.alt{background:#f0f3ec}.section-head{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:37px}.section h2,.page-hero h1{font:800 clamp(34px,4vw,52px)/1.15 Manrope,sans-serif;letter-spacing:-.045em;margin:12px 0}.section-head p{max-width:480px;color:var(--muted)}.text-link{font-weight:800;border-bottom:2px solid var(--coral);padding-bottom:3px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:#fffefa;border:1px solid #e2e7df;padding:28px;border-radius:15px;box-shadow:0 12px 28px #163c3810}.card h3{font:800 22px/1.25 Manrope,sans-serif;letter-spacing:-.02em;margin:12px 0}.card p{color:#617671;margin:0 0 22px}.card .icon{width:47px;height:47px;display:grid;place-items:center;background:#e0efdf;border-radius:10px;font-size:23px}.card .label{font-weight:800;font-size:12px;color:#b67449;letter-spacing:.12em;text-transform:uppercase}.learn-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;counter-reset:lesson}.step-card{border-top:2px solid #baccc0;padding-top:28px}.step-num{font:800 45px Manrope,sans-serif;color:#c77950}.step-card h3{font:800 23px Manrope,sans-serif;margin:7px 0}.step-card p{color:var(--muted)}.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}.feature-visual{background:#e3e9dc;border-radius:20px;min-height:395px;display:grid;place-items:center;position:relative;overflow:hidden}.feature-visual img{max-width:87%;max-height:390px}.tiny-card{position:absolute;right:24px;bottom:29px;background:#fffdf6;border-radius:10px;padding:14px 20px;box-shadow:0 12px 30px #123a3a1c;font-weight:800}.list-clean{list-style:none;padding:0}.list-clean li{padding:9px 0}.list-clean li:before{content:'✓';font-weight:900;color:#2e8f77;margin-right:12px}.cta{background:#183f3f;color:#fff9ed;border-radius:22px;padding:66px 76px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{margin:8px 0;font:800 clamp(32px,4vw,50px)/1.15 Manrope,sans-serif;letter-spacing:-.04em}.cta p{color:#c3d5cb;max-width:570px}.footer{background:#102e2e;color:#d7e5de;padding:69px 0 28px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}.footer .logo{color:white}.footer p{max-width:350px;color:#aec5be;font-size:14px}.footer h4{color:#f9f6e7;margin:0 0 15px}.footer a{display:block;margin:9px 0;font-size:14px;color:#bcd1c9}.footer-bottom{border-top:1px solid #365554;margin-top:46px;padding-top:23px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:13px;color:#afc6bc}.page-hero{background:#edf2e8;padding:74px 0}.page-hero h1{max-width:900px}.page-hero p{font-size:19px;color:#55716b;max-width:780px;margin:0}.article-layout{display:grid;grid-template-columns:minmax(0,770px) 250px;gap:75px;align-items:start}.article{font-size:17px}.article h2{font:800 30px/1.3 Manrope,sans-serif;letter-spacing:-.035em;margin:45px 0 15px}.article h3{font:800 22px Manrope,sans-serif;margin:29px 0 10px}.article p,.article li{color:#4b6864}.article li{margin:9px 0}.article a{color:#b76342;text-decoration:underline}.article code{font-size:.9em;background:#e6eee7;padding:3px 6px;border-radius:5px}.sidebox{position:sticky;top:115px;border:1px solid #d9e2dc;background:white;border-radius:13px;padding:25px}.sidebox h3{font:800 18px Manrope,sans-serif}.sidebox a{display:block;font-size:14px;border-bottom:1px solid #e9eee8;padding:10px 0}.callout{background:#e8f0e8;border-left:4px solid #4b9b80;padding:19px 22px;border-radius:6px;margin:25px 0}.algo{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.algo span{background:#143f3b;color:#fff;font:800 23px Manrope,sans-serif;border-radius:8px;min-width:48px;text-align:center;padding:9px 13px}.breadcrumb{color:#6e817a;font-size:13px;margin-bottom:12px}.breadcrumb a{text-decoration:underline}.faq-item{padding:22px 0;border-bottom:1px solid var(--line)}.faq-item h3{font:800 20px Manrope,sans-serif;margin:0 0 7px}.faq-item p{margin:0;color:var(--muted)}.mini-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.empty-space{height:25px}.play-band{background:#123d3c;color:#fffbf0;padding:26px 0}.play-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.play-band p{margin:0;color:#d0ded5}.muted-note{font-size:13px;color:#6e817a}.footer-brand{font-size:12px;color:#a4bbb2}.alert{border-radius:10px;background:#f5e9d7;padding:17px 20px}.pill{display:inline-block;background:#dfece3;border-radius:30px;padding:7px 13px;font-size:12px;font-weight:800;color:#3a7366}.scroll-top{display:inline-block;margin-top:15px}.meta-line{font-size:12px;color:#73877d}.internal-link{font-weight:800;color:#af5d3a}.article .illustration{background:#ecf1e8;border-radius:12px;text-align:center;margin:35px 0;padding:20px}.article .illustration img{width:min(390px,100%)}
@media(max-width:900px){.nav-links{display:none;position:absolute;top:85px;left:0;right:0;background:#fffdf8;padding:25px;box-shadow:0 15px 25px #0002;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.mobile-toggle{display:block}.nav>.btn{margin-left:0}.hero-grid,.feature-split,.article-layout{grid-template-columns:1fr}.hero-grid{padding:64px 0}.hero-art{max-width:540px;margin:auto}.feature-split{gap:35px}.sidebox{position:static}.footer-grid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.wrap{width:calc(100% - 32px)}.nav{min-height:72px}.nav-links{top:72px}.nav>.btn{display:none}.logo .logoword{font-size:19px}.hero h1{font-size:45px}.hero-grid{padding:48px 0}.hero p{font-size:17px}.hero-art img{max-width:420px}.scribble{right:5px;top:6px;font-size:14px}.section{padding:66px 0}.section-head{display:block}.cards,.mini-panel,.learn-steps,.footer-grid{grid-template-columns:1fr}.cta{padding:37px 27px;display:block}.cta .btn{margin-top:18px}.feature-visual{min-height:320px}.footer{padding-top:52px}.page-hero{padding:55px 0}.page-hero p{font-size:17px}.article h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Editorial lesson modules */
.lesson-chapter{padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:26px}.lesson-chapter:last-child{border-bottom:0}.lesson-intro{padding:23px 25px;border-radius:12px;background:#fff;border:1px solid var(--line);margin-bottom:30px}.lesson-check{margin:23px 0;background:#f0f2e9;border-radius:12px;padding:22px 28px;border:1px solid #d9e2d8}.lesson-check strong{font-family:Manrope,sans-serif}.lesson-check ul{margin-bottom:0}.move-demo{margin:25px 0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 22px}.move-demo .algo{margin:0 0 9px}.move-demo .move-note{font-size:14px;margin:0}.notation-table{border-collapse:collapse;width:100%;font-size:15px}.notation-table th,.notation-table td{text-align:left;border-bottom:1px solid var(--line);padding:14px 10px;vertical-align:top}.notation-table th{background:#e7efe7}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.course-tile{display:block;border:1px solid var(--line);border-radius:14px;padding:25px;background:#fff;color:var(--ink)!important;text-decoration:none!important;transition:transform .2s,border-color .2s}.course-tile:hover{transform:translateY(-3px);border-color:#80a698}.course-tile h3{margin:15px 0 5px}.course-tile p{font-size:15px}.course-tile strong{font-size:14px;color:#b76342}@media(max-width:650px){.course-grid{grid-template-columns:1fr}.notation-table{font-size:13px}.notation-table th,.notation-table td{padding:9px 6px}.move-demo .algo span{font-size:18px;min-width:38px}}
