:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#f4edf2;background:#211a24;line-height:1.6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:#e8adc2}a:hover{text-decoration:none}a:focus-visible{outline:3px solid #f1c4d4;outline-offset:4px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:5;background:#fff;color:#211a24;padding:.5rem}.wrap{max-width:1180px;margin:auto;padding:0 24px}.site-header{border-bottom:1px solid #5b4552;background:#211a24}.nav{min-height:76px;display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;font-family:Georgia,serif;font-size:1.35rem;color:#f4edf2}.brand span{color:#e8adc2}.nav nav a{text-decoration:none;font-size:.9rem}.hero{padding:88px 0 92px;background:radial-gradient(circle at 80% 10%,#503341,transparent 42%),#2b202d;border-bottom:1px solid #5b4552}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-weight:700;font-size:.76rem;color:#dba1b7}.hero h1,.course-head h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:1.05;font-size:clamp(2.7rem,6vw,5.4rem);max-width:850px;margin:.15em 0}.hero p:last-child{max-width:620px;color:#d7c6d0;font-size:1.2rem}.catalog{padding-top:62px;padding-bottom:100px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.section-head h2{font-family:Georgia,serif;font-size:2rem;font-weight:400}.section-head span,.card-bottom span{color:#c6b1bd;font-size:.9rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:20px}.card{background:#332733;border:1px solid #6c4d5e;padding:30px;display:flex;flex-direction:column;min-height:310px}.card h2{font-family:Georgia,serif;font-size:2rem;font-weight:400;line-height:1.2;margin:12px 0}.card h2 a{color:#f4edf2;text-decoration:none}.card h2 a:hover{text-decoration:underline}.card p{color:#d4c4cd}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;flex-wrap:wrap}.button{display:inline-block;background:#c38ba1;color:#211a24;text-decoration:none;padding:10px 15px;font-weight:700}.button:hover{background:#f1c4d4}footer{border-top:1px solid #5b4552;padding:28px 0;color:#bdadba;font-size:.85rem}.breadcrumb{padding:30px 0;color:#cbb6c3;font-size:.9rem}.breadcrumb a{text-decoration:none}.course-head{padding:30px 0 52px;border-bottom:1px solid #5b4552}.course-head>p:not(.eyebrow){font-size:1.35rem;color:#ddcbd4}.meta{display:flex;gap:12px;flex-wrap:wrap}.meta span{border:1px solid #745665;padding:6px 11px;color:#e4c8d4;font-size:.85rem}.course-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:65px;padding:50px 0 100px}.toc{align-self:start;position:sticky;top:22px;max-height:calc(100vh - 44px);overflow:auto}.toc h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:#d8a5b9}.toc ol{list-style:none;padding:0}.toc li{margin:10px 0}.toc a{font-size:.85rem;color:#cab9c2;text-decoration:none}.toc a:hover{color:#fff;text-decoration:underline}.lesson{min-width:0;max-width:790px}.lesson h1{display:none}.lesson h2{font-family:Georgia,serif;font-size:2rem;font-weight:400;line-height:1.2;margin:2.2em 0 .7em;scroll-margin-top:20px}.lesson h2:first-of-type{margin-top:0}.lesson h3{font-size:1.2rem}.lesson p,.lesson li{color:#e1d5dd}.lesson li{margin:.45em 0}.lesson strong{color:#fff}.lesson a{overflow-wrap:anywhere}.lesson blockquote{border-left:3px solid #c38ba1;padding-left:20px;margin-left:0}.lesson table{border-collapse:collapse;display:block;max-width:100%;overflow:auto;font-size:.86rem}.lesson th,.lesson td{border:1px solid #735766;padding:11px;vertical-align:top;min-width:135px}.lesson th{background:#463340;text-align:left}.lesson code{background:#493542;padding:.1em .25em;overflow-wrap:anywhere}@media(max-width:750px){.wrap{padding:0 18px}.hero{padding:58px 0}.course-layout{display:block;padding-top:26px}.toc{position:static;max-height:none;border:1px solid #6c4d5e;padding:12px 20px;margin-bottom:30px}.toc ol{columns:2}.lesson h2{font-size:1.65rem}}@media(max-width:480px){.toc ol{columns:1}.section-head{display:block}.card{padding:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
