*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0}img,picture,svg,video{display:block;max-width:100%}button,input,textarea,select{font:inherit}:root{color-scheme:light;--color-bg: #fbfcf7;--color-surface: #ffffff;--color-surface-2: #f1f6ef;--color-text: #1f241f;--color-muted: #626a61;--color-faint: #8b9388;--color-border: #dfe7db;--color-border-strong: #c7d4c2;--color-accent: #1f5f4b;--color-accent-strong: #164a3a;--color-accent-soft: #dfeee6;--color-coral: #c96545;--color-coral-soft: #f8e6df;--shadow-soft: 0 24px 70px -46px rgba(31, 36, 31, .36);--font-display: Georgia, "Times New Roman", serif;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--radius-sm: 6px;--radius-md: 8px;--container: 73.75rem}html{scroll-behavior:smooth;overflow-x:hidden}body{background:linear-gradient(180deg,#dfeee6a3,#fbfcf700 26rem),var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--color-accent);color:#fff}a{color:inherit}h1,h2,h3{color:var(--color-text);font-family:var(--font-display);font-weight:500;line-height:1.08;margin:0}h1{font-size:clamp(2.55rem,6vw,4.45rem);max-width:13ch}h2{font-size:clamp(1.75rem,4vw,3rem)}h3{font-size:1.28rem}p{margin:0}code,pre{font-family:var(--font-mono)}strong{font-weight:700}.container{margin-inline:auto;max-width:var(--container);padding-inline:var(--space-5);width:100%}.section{padding-block:var(--space-8)}.section-tight{padding-block:var(--space-6)}.section-alt{background:#f1f6efb8;border-block:1px solid var(--color-border)}.stack{display:grid;gap:var(--space-4)}.stack-lg{gap:var(--space-6)}.muted{color:var(--color-muted)}.skip-link{background:var(--color-text);color:#fff;left:var(--space-4);padding:var(--space-2) var(--space-3);position:absolute;top:var(--space-4);transform:translateY(-150%);z-index:100}.skip-link:focus{transform:translateY(0)}.site-header{background:#fbfcf7e0;border-bottom:1px solid var(--color-border);backdrop-filter:blur(14px);position:sticky;top:0;z-index:60}.site-header__inner{align-items:center;display:flex;gap:var(--space-5);min-height:4.5rem;min-width:0}.site-logo{align-items:center;display:inline-flex;font-family:var(--font-display);font-size:1.05rem;font-weight:600;gap:.65rem;margin-right:auto;text-decoration:none;white-space:nowrap}.site-logo__mark{align-items:center;background:var(--color-coral);border-radius:var(--radius-sm);color:#fff;display:inline-flex;font-family:var(--font-sans);font-size:.78rem;font-weight:800;height:1.55rem;justify-content:center;width:1.55rem}.site-nav{display:flex;flex-wrap:wrap;gap:var(--space-3)}.site-nav a,.site-footer a,.site-header__search{color:var(--color-muted);font-size:.92rem;font-weight:650;text-decoration:none}.site-nav a:hover,.site-footer a:hover,.site-header__search:hover{color:var(--color-text)}.site-header__search{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.45rem .7rem}.site-footer{border-top:1px solid var(--color-border);padding-block:var(--space-6)}.site-footer__inner{align-items:flex-start;display:flex;gap:var(--space-5);justify-content:space-between}.site-logo--footer{margin:0 0 var(--space-2)}.site-footer p{color:var(--color-muted);font-size:.92rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end}.button{align-items:center;background:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-sm);color:#fff;display:inline-flex;font-weight:750;justify-content:center;min-height:2.85rem;padding:.7rem 1.1rem;text-decoration:none}.button:hover{background:var(--color-accent-strong)}.button-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.button-secondary:hover{background:var(--color-surface-2)}.button-small{min-height:2.35rem;padding:.55rem .85rem}.text-link{color:var(--color-accent);font-weight:750;text-decoration:none}.eyebrow{color:var(--color-accent);font-family:var(--font-mono);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero{padding-block:var(--space-9) var(--space-8)}.hero__grid{align-items:center;display:grid;gap:var(--space-8);grid-template-columns:minmax(0,1.08fr) minmax(19rem,.72fr);min-width:0}.hero__copy{display:grid;gap:var(--space-5);min-width:0}.hero__copy p,.page-hero p,.hero-narrow p,.section-heading p{color:var(--color-muted);font-size:1.08rem;line-height:1.7;max-width:58ch;overflow-wrap:break-word}.hero__actions,.hero__meta{display:flex;flex-wrap:wrap;gap:var(--space-3)}.hero__meta span{color:var(--color-muted);font-family:var(--font-mono);font-size:.78rem}.hero-search{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);display:flex;gap:var(--space-2);max-width:43rem;min-width:0;padding:.45rem;width:100%}.hero-search input,.directory-search input{background:transparent;border:0;color:var(--color-text);flex:1;font:inherit;min-height:2.55rem;min-width:0;outline:0;padding:0 .75rem;width:100%}.hero-search button{background:var(--color-text);border:0;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font:inherit;font-weight:750;min-height:2.55rem;padding-inline:1rem}.hero-search--wide{margin-top:var(--space-5)}.course-cover{background:linear-gradient(145deg,rgba(31,95,75,.12),transparent 42%),repeating-linear-gradient(135deg,rgba(199,212,194,.48) 0 1px,transparent 1px 15px),var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);display:grid;gap:var(--space-6);min-height:31rem;min-width:0;padding:var(--space-5)}.course-cover__top{align-self:start;display:grid;gap:var(--space-2)}.course-cover__top span{color:var(--color-coral);font-family:var(--font-mono);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.course-cover__top strong{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.5rem);font-weight:500;line-height:1.1;max-width:13ch}.path-steps{align-self:end;display:grid;gap:var(--space-3);list-style:none;margin:0;padding:0}.path-steps li{align-items:center;background:#ffffffc7;border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;gap:var(--space-3);padding:.8rem}.path-steps span{color:var(--color-accent);font-family:var(--font-mono);font-size:.78rem;font-weight:800}.learning-strip{align-items:start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-5);grid-template-columns:.45fr 1fr;min-width:0;padding:var(--space-5)}.learning-strip h2{font-size:1.7rem}.learning-strip p{color:var(--color-muted);margin-top:var(--space-2)}.learning-strip__links,.module-row__lessons,.side-link-list,.inline-resource-list{display:grid;gap:var(--space-2)}.learning-strip__links{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-strip__links a,.module-row__lessons a,.side-link-list a,.inline-resource-list a,.term-cloud a{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none}.learning-strip__links a{align-items:center;display:flex;gap:var(--space-2);padding:.7rem .8rem}.learning-strip__links span{color:var(--color-accent);font-family:var(--font-mono);font-size:.72rem;font-weight:800}.section-heading{display:grid;gap:var(--space-3)}.section-heading--split{align-items:end;display:flex;gap:var(--space-5);justify-content:space-between}.module-list,.lesson-list{display:grid;gap:var(--space-3)}.module-row{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-5);grid-template-columns:4.5rem minmax(0,1fr) 7rem;min-width:0;padding:var(--space-5)}.module-row__number{color:var(--color-coral);font-family:var(--font-display);font-size:2.1rem;text-decoration:none}.module-row__body{display:grid;gap:var(--space-2)}.module-row__body h3 a,.lesson-card h3 a,.resource-card h3 a{text-decoration:none}.module-row__body p,.lesson-card p,.resource-card p,.side-panel p,.outcome-panel p,.glossary-list p,.search-result p,.prose-section p,.example-block p,.cta-panel p{color:var(--color-muted)}.module-row__lessons{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--space-2)}.module-row__lessons a{color:var(--color-muted);font-size:.84rem;padding:.32rem .55rem}.module-row__aside{color:var(--color-muted);display:grid;font-family:var(--font-mono);font-size:.75rem;gap:var(--space-1);justify-items:end}.lesson-grid,.resource-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-grid--small,.resource-grid--small{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-card,.resource-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-3);min-width:0;padding:var(--space-5)}.lesson-card--compact{padding:var(--space-4)}.lesson-card__meta,.resource-card__footer,.lesson-meta{color:var(--color-faint);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:.74rem;gap:var(--space-2)}.resource-card__type{align-self:start;border:1px solid color-mix(in srgb,var(--color-accent) 30%,var(--color-border));border-radius:999px;color:var(--color-accent);font-family:var(--font-mono);font-size:.68rem;font-weight:800;letter-spacing:.08em;padding:.25rem .55rem;text-transform:uppercase;width:max-content}.resource-card__footer{border-top:1px solid var(--color-border);justify-content:space-between;margin-top:auto;padding-top:var(--space-3)}.resource-card__footer a{color:var(--color-accent);font-family:var(--font-sans);font-weight:750;text-decoration:none}.two-column{display:grid;gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr)}.two-column--wide-left{grid-template-columns:minmax(0,1fr) 20rem}.glossary-panel,.cta-panel,.side-panel,.outcome-panel,.example-block,.answer-block,.takeaways,.sources,.howto{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5)}.glossary-panel{display:grid;gap:var(--space-4)}.term-cloud{align-content:start;display:flex;flex-wrap:wrap;gap:var(--space-2)}.term-cloud a{background:var(--color-surface);padding:.55rem .75rem}.cta-panel{align-items:center;display:grid;gap:var(--space-5)}.cta-panel--wide{grid-template-columns:minmax(0,1fr) auto}.page-hero{padding-block:var(--space-7) var(--space-5)}.hero-narrow{display:grid;gap:var(--space-4);max-width:58rem;min-width:0}.breadcrumbs ol{align-items:center;color:var(--color-muted);display:flex;flex-wrap:wrap;font-size:.86rem;gap:.35rem;list-style:none;margin:0;padding:0}.breadcrumbs li:not(:last-child):after{content:"/";margin-left:.35rem}.breadcrumbs a{text-decoration:none}.module-hero{align-items:stretch;display:grid;gap:var(--space-6);grid-template-columns:minmax(0,1fr) 21rem}.outcome-panel{display:grid;gap:var(--space-3)}.outcome-panel span,.outcome-panel small{color:var(--color-faint);font-family:var(--font-mono);font-size:.76rem}.side-panel{align-self:start;display:grid;gap:var(--space-4);position:sticky;top:6rem}.side-panel h2{font-family:var(--font-sans);font-size:.9rem;font-weight:800}.side-link-list a{display:grid;font-size:.92rem;padding:.65rem .75rem}.side-link-list span{color:var(--color-faint);font-size:.75rem}.nav-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.nav-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-2);padding:var(--space-5);text-decoration:none}.nav-card--right{text-align:right}.nav-card span{color:var(--color-faint);font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase}.lesson-progress{background:var(--color-border);height:3px;position:sticky;top:4.5rem;z-index:50}.lesson-progress span{background:var(--color-coral);display:block;height:100%}.lesson-layout{align-items:start;display:grid;gap:var(--space-6);grid-template-columns:15rem minmax(0,43rem) 13rem}.lesson-sidebar,.lesson-rail{position:sticky;top:6rem}.lesson-sidebar{display:grid;gap:var(--space-4)}.lesson-sidebar__module{color:var(--color-text);font-family:var(--font-display);font-size:1.3rem;line-height:1.15;text-decoration:none}.lesson-sidebar nav,.lesson-rail div{display:grid;gap:var(--space-2)}.lesson-sidebar nav a{border-radius:var(--radius-sm);color:var(--color-muted);display:flex;gap:var(--space-2);padding:.55rem .65rem;text-decoration:none}.lesson-sidebar nav a.is-active{background:var(--color-accent-soft);color:var(--color-text)}.lesson-sidebar nav span{color:var(--color-accent);font-family:var(--font-mono);font-size:.72rem;font-weight:800}.lesson-article{display:grid;gap:var(--space-5);min-width:0}.lesson-article h1{font-size:clamp(2.35rem,5vw,3.5rem)}.lesson-meta{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-5)}.lesson-answer{border-left:3px solid var(--color-accent)}.answer-block__label{color:var(--color-accent);display:block;font-family:var(--font-mono);font-size:.72rem;font-weight:800;letter-spacing:.12em;margin-bottom:var(--space-2);text-transform:uppercase}.compact-list{display:grid;gap:var(--space-2);margin:var(--space-3) 0 0;padding-left:1.15rem}.compact-list li{color:var(--color-muted)}.prose-section{display:grid;gap:var(--space-3)}.prose-section h2,.example-block h2{font-size:1.65rem}.prose-section p,.example-block p,.prose li{font-size:1.04rem;line-height:1.75}.process-list,.check-list,.mistake-list{display:grid;gap:var(--space-3);margin:0;padding:0}.process-list{list-style:none}.process-list li{align-items:start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-3);grid-template-columns:2.2rem minmax(0,1fr);padding:var(--space-4)}.process-list span{color:var(--color-coral);font-family:var(--font-mono);font-size:.78rem;font-weight:800}.check-list,.mistake-list{list-style:none}.check-list li,.mistake-list li{border-bottom:1px solid var(--color-border);color:var(--color-muted);padding:0 0 var(--space-2) 1.65rem;position:relative}.check-list li:before{color:var(--color-accent);content:"✓";font-weight:900;left:0;position:absolute}.mistake-list li:before{color:var(--color-coral);content:"!";font-weight:900;left:0;position:absolute}.inline-resource-list a{display:grid;gap:var(--space-2);padding:var(--space-4)}.inline-resource-list span{color:var(--color-accent);font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase}.lesson-rail{display:grid;gap:var(--space-5)}.lesson-rail h2{font-family:var(--font-sans);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.lesson-rail a{border-left:2px solid var(--color-border);color:var(--color-muted);font-size:.88rem;padding-left:var(--space-2);text-decoration:none}.resource-detail{align-items:start;display:grid;gap:var(--space-6);grid-template-columns:minmax(0,43rem) 19rem;min-width:0}.resource-main{display:grid;gap:var(--space-6)}.template-box{background:#1f241f;border-radius:var(--radius-md);color:#f7fbf4;font-size:.9rem;line-height:1.7;overflow:auto;padding:var(--space-5);white-space:pre-wrap}.downloadable-resource{display:grid;gap:var(--space-3)}.resource-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.example-table{border-collapse:collapse;min-width:42rem;width:100%}.example-table th,.example-table td{border-bottom:1px solid var(--color-border);padding:var(--space-3);text-align:left;vertical-align:top}.example-table th{background:var(--color-surface-2);color:var(--color-text);font-size:.88rem}.example-table tbody tr:last-child th,.example-table tbody tr:last-child td{border-bottom:0}.path-timeline{display:grid;gap:var(--space-3)}.path-timeline a{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-2);grid-template-columns:3rem minmax(0,1fr) 14rem;padding:var(--space-4);text-decoration:none}.path-timeline span{color:var(--color-coral);font-family:var(--font-mono);font-size:.82rem;font-weight:800}.path-timeline small{color:var(--color-muted);justify-self:end}.glossary-list{display:grid;gap:var(--space-3)}.glossary-list article{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-2);padding:var(--space-5)}.glossary-list h2{font-size:1.45rem}.glossary-list a{color:var(--color-accent);font-weight:750;text-decoration:none}.directory-search{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-2);padding:var(--space-3)}.directory-search span{color:var(--color-faint);font-family:var(--font-mono);font-size:.72rem;font-weight:800;text-transform:uppercase}.search-page-input{margin-top:var(--space-4)}.result-count{color:var(--color-muted);font-family:var(--font-mono);font-size:.8rem}.search-results{display:grid;gap:var(--space-3)}.search-result{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-2);padding:var(--space-5)}.search-result span{color:var(--color-accent);font-family:var(--font-mono);font-size:.72rem;font-weight:800;text-transform:uppercase}.search-result h2{font-size:1.5rem}.search-result h2 a{text-decoration:none}.empty-state{color:var(--color-muted)}.starter-steps{display:grid;gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr))}.starter-steps article{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-2);padding:var(--space-5)}.starter-steps span{color:var(--color-coral);font-family:var(--font-mono);font-size:.78rem;font-weight:800}.starter-steps h2{font-size:1.45rem}.starter-steps p{color:var(--color-muted)}.prose{max-width:48rem}.prose>*+*{margin-top:var(--space-4)}.prose h2{font-size:1.65rem;margin-top:var(--space-6)}.prose a{color:var(--color-accent);font-weight:750}@media(max-width:1060px){.lesson-layout{grid-template-columns:minmax(0,1fr)}.lesson-sidebar,.lesson-rail,.side-panel{position:static}.lesson-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-rail{display:none}}@media(max-width:900px){.site-header__inner,.site-footer__inner,.section-heading--split,.cta-panel--wide{align-items:flex-start;flex-direction:column}.hero__grid,.learning-strip,.module-hero,.two-column,.two-column--wide-left,.resource-detail{grid-template-columns:1fr}.lesson-grid,.resource-grid,.lesson-grid--small,.resource-grid--small,.starter-steps{grid-template-columns:1fr 1fr}.module-row{grid-template-columns:3.8rem minmax(0,1fr)}.module-row__aside{grid-column:2;justify-items:start}.path-timeline a{grid-template-columns:2.5rem minmax(0,1fr)}.path-timeline small{grid-column:2;justify-self:start}}@media(max-width:640px){.container{padding-inline:var(--space-4)}.site-header__inner{align-items:stretch;gap:var(--space-3)}.site-logo{margin-right:0;max-width:100%}.section{padding-block:var(--space-6)}.hero{padding-block:var(--space-7) var(--space-6)}.site-nav{display:grid;gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.site-nav a,.site-header__search{font-size:.84rem}.site-nav a{overflow-wrap:break-word;white-space:normal}.site-header__search{align-self:start;width:max-content}.hero-search{align-items:stretch;flex-direction:column;max-width:100%}.hero-search input,.directory-search input{max-width:100%}.hero__copy,.hero-narrow,.page-hero,.learning-strip,.lesson-card,.resource-card{max-width:100%;width:100%}.hero__actions{display:grid;grid-template-columns:1fr}.hero__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.learning-strip__links,.lesson-grid,.resource-grid,.starter-steps,.lesson-sidebar nav,.nav-grid{grid-template-columns:1fr}.course-cover{min-height:25rem}.module-row{grid-template-columns:1fr}.module-row__aside{grid-column:auto}.process-list li{grid-template-columns:1fr}}
