:root{--color-bg:#fbfaf7;--color-bg-raised:#fff;--color-bg-sunk:#f4f1ea;--color-text:#1b211d;--color-text-muted:#5a6560;--color-border:#e3ded2;--color-border-strong:#cfc7b3;--color-accent:#1f4d3f;--color-accent-hover:#163a2f;--color-accent-soft:#eaf1ee;--color-accent-line:#cfe0da;--color-tag:#8a6d3b;--color-tag-bg:#f6efe1;--color-commercial:#9a6b16;--color-commercial-hover:#7c5610;--color-commercial-bg:#fdf8ec;--color-commercial-border:#ecd9a4;--color-commercial-ink:#4a3a12;--color-problem:#9b3b2e;--color-problem-bg:#fbf0ed;--color-problem-border:#eecabf;--font-serif:Georgia, "Iowan Old Style", "Palatino Linotype", serif;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-sm:5px;--radius:8px;--radius-lg:14px;--max-width:700px;--max-width-wide:1160px;--shadow-card:0 1px 2px #1b211d0a, 0 6px 20px -12px #1b211d1f;--shadow-sticky:0 -4px 16px #1b211d14}*{box-sizing:border-box}html{background:var(--color-bg);color-scheme:light;scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.65}img,svg{max-width:100%;height:auto}a{color:var(--color-accent);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{color:var(--color-accent-hover)}.wrap{max-width:var(--max-width-wide);margin:0 auto;padding:0 1.5rem}.prose{max-width:var(--max-width)}.prose h2{font-family:var(--font-serif);margin-top:2.6em;margin-bottom:.6em;scroll-margin-top:1.5rem;font-size:1.55rem;line-height:1.3}.prose h3{margin-top:1.8em;margin-bottom:.5em;scroll-margin-top:1.5rem;font-size:1.15rem}.prose p,.prose ul,.prose ol{margin:0 0 1.2em}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin-bottom:.4em}.prose table{border-collapse:collapse;width:100%;margin:1.5em 0;font-size:.95rem}.prose th,.prose td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.6em .75em}.prose th{background:var(--color-accent-soft);font-family:var(--font-serif);font-weight:700}.prose tr:nth-child(2n) td{background:#1f4d3f05}.prose blockquote{border-left:3px solid var(--color-accent);color:var(--color-text-muted);margin:1.5em 0;padding:.2em 0 .2em 1.2em;font-style:italic}.prose code{background:var(--color-accent-soft);border-radius:4px;padding:.1em .35em;font-size:.9em}.prose>p:first-of-type{color:var(--color-text);font-size:1.12rem}.tableWrap{overflow-x:auto}.badge{letter-spacing:.06em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;align-items:center;gap:.35em;padding:.3em .65em;font-size:.68rem;font-weight:700;display:inline-flex}.badge-editorial{color:var(--color-tag);background:var(--color-tag-bg);border-color:#ecdfc2}.badge-commercial{color:var(--color-commercial-ink);background:var(--color-commercial-bg);border-color:var(--color-commercial-border)}.badge-problem{color:var(--color-problem);background:var(--color-problem-bg);border-color:var(--color-problem-border)}.site-header{border-bottom:1px solid var(--color-border);backdrop-filter:saturate(1.1)blur(6px);z-index:40;background:#fbfaf7eb;position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:1.5rem;padding-top:.9rem;padding-bottom:.9rem;display:flex}.brand{font-family:var(--font-serif);color:var(--color-text);white-space:nowrap;align-items:baseline;gap:.5em;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex}.brand:hover{color:var(--color-accent)}.brand small{font-family:var(--font-sans);color:var(--color-text-muted);letter-spacing:.03em;text-transform:uppercase;font-size:.68rem;font-weight:400;display:block}.header-right{align-items:center;gap:1.4rem;display:flex}.main-nav{flex-wrap:wrap;align-items:center;gap:.9rem 1.15rem;display:flex}.main-nav a{color:var(--color-text);white-space:nowrap;font-size:.86rem;font-weight:500;text-decoration:none}.main-nav a:hover{color:var(--color-accent)}.nav-cta{background:var(--color-commercial);white-space:nowrap;border-radius:999px;align-items:center;gap:.4em;padding:.55em 1em;font-size:.84rem;font-weight:700;transition:background .15s;display:inline-flex;color:#fff!important}.nav-cta:hover{background:var(--color-commercial-hover)}.nav-toggle{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text);background:0 0;padding:.4em .6em;display:none}#mobile-nav-panel{display:none}@media (width<=860px){.main-nav.desktop-only,.header-right .nav-cta.desktop-only{display:none}.nav-toggle{align-items:center;display:inline-flex}#mobile-nav-panel.open{border-top:1px solid var(--color-border);background:var(--color-bg-raised);display:block}#mobile-nav-panel .wrap{padding-top:1rem;padding-bottom:1.25rem}#mobile-nav-panel nav{flex-direction:column;gap:.15rem;display:flex}#mobile-nav-panel a{color:var(--color-text);border-bottom:1px solid var(--color-border);padding:.6em .2em;font-size:.95rem;font-weight:500;text-decoration:none}#mobile-nav-panel .nav-cta{border-bottom:none;justify-content:center;margin-top:.9rem;padding:.75em 1em}}.hero{border-bottom:1px solid var(--color-border);background:radial-gradient(ellipse 900px 400px at 15% -10%, var(--color-accent-soft), transparent 60%), var(--color-bg);padding:3.2rem 0 2.6rem}.hero-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin-bottom:1rem;font-size:.76rem;font-weight:700;display:inline-block}.hero h1{font-family:var(--font-serif);max-width:16ch;margin:0 0 .6rem;font-size:clamp(2.1rem,4.4vw,3rem);line-height:1.12}.hero .hero-sub{color:var(--color-text-muted);max-width:56ch;margin:0 0 1.6rem;font-size:1.15rem}.hero-ctas{flex-wrap:wrap;gap:.8rem;display:flex}.btn{border:1px solid #0000;border-radius:999px;align-items:center;gap:.45em;padding:.75em 1.3em;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .1s,background .15s,border-color .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--color-accent);color:#fff!important}.btn-primary:hover{background:var(--color-accent-hover)}.btn-commercial{background:var(--color-commercial);color:#fff!important}.btn-commercial:hover{background:var(--color-commercial-hover)}.btn-outline{border-color:var(--color-border-strong);background:0 0;color:var(--color-text)!important}.btn-outline:hover{border-color:var(--color-accent);color:var(--color-accent)!important}.btn-block{justify-content:center;width:100%;display:flex}.section{padding:3rem 0}.section-tight{padding:2rem 0}.section-alt{background:var(--color-bg-sunk)}.section-commercial{background:linear-gradient(180deg, var(--color-commercial-bg), var(--color-bg) 85%);border-top:1px solid var(--color-commercial-border);border-bottom:1px solid var(--color-commercial-border)}.section-heading{max-width:640px;margin:0 0 2rem}.section-heading h2{font-family:var(--font-serif);margin:0 0 .5rem;font-size:clamp(1.5rem,3vw,1.9rem);line-height:1.25}.section-heading p{color:var(--color-text-muted);margin:0;font-size:1.02rem}.hub-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem;margin:0;display:grid}.hub-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-raised);color:var(--color-text);box-shadow:var(--shadow-card);padding:1.4rem 1.4rem 1.3rem;text-decoration:none;transition:border-color .15s,transform .15s;display:block;position:relative}.hub-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.hub-card .hub-index{font-family:var(--font-serif);color:var(--color-accent);opacity:.35;font-size:1.5rem;font-weight:700;line-height:1;display:inline-block}.hub-card h3{font-family:var(--font-serif);margin:.5em 0 .4em;font-size:1.15rem}.hub-card p{color:var(--color-text-muted);margin:0;font-size:.9rem}.hub-card .card-arrow{color:var(--color-border-strong);font-size:1rem;position:absolute;top:1.3rem;right:1.3rem}.problem-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.problem-card{background:var(--color-bg-raised);border:1px solid var(--color-border);border-left:3px solid var(--color-problem);border-radius:var(--radius-sm);padding:1.1rem 1.3rem}.problem-card h3{font-size:1rem;font-family:var(--font-sans);margin:0 0 .4em;font-weight:700}.problem-card p{color:var(--color-text-muted);margin:0;font-size:.92rem}.problem-card a{margin-top:.6em;font-size:.85rem;font-weight:600;display:inline-block}.guide-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;display:grid}.guide-card{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);padding:1.15rem 1.25rem;text-decoration:none;transition:border-color .15s;display:block}.guide-card:hover{border-color:var(--color-accent)}.guide-card .badge{margin-bottom:.6em}.guide-card h3{font-family:var(--font-serif);margin:0 0 .4em;font-size:1.02rem}.guide-card p{color:var(--color-text-muted);margin:0;font-size:.86rem}.commercial-components{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin:2rem 0 2.2rem;display:grid}.commercial-component{background:var(--color-bg-raised);border:1px solid var(--color-commercial-border);border-radius:var(--radius);padding:1.3rem 1.3rem 1.2rem}.commercial-component .comp-index{font-family:var(--font-serif);color:var(--color-commercial);opacity:.55;font-size:1.6rem;line-height:1}.commercial-component h3{font-size:.98rem;font-family:var(--font-sans);margin:.5em 0 0;font-weight:700}.commercial-panel{background:var(--color-bg-raised);border:1px solid var(--color-commercial-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1rem}.disclosure-inline{color:var(--color-text-muted);margin-top:1rem;font-size:.82rem}.breadcrumbs{color:var(--color-text-muted);margin-bottom:1.4rem;font-size:.82rem}.breadcrumbs a{color:var(--color-text-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--color-accent);text-decoration:underline}.breadcrumbs .sep{margin:0 .4em}.role-tag{margin-bottom:1rem}article header h1{font-family:var(--font-serif);margin:0 0 .5rem;font-size:clamp(1.9rem,3.6vw,2.5rem);line-height:1.2}.meta-line{color:var(--color-text-muted);margin-bottom:2rem;font-size:.85rem}.article-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:0;display:grid}.article-grid.has-sidebar{grid-template-columns:minmax(0, var(--max-width)) minmax(260px, 300px);justify-content:center;gap:2.5rem}.article-sidebar{flex-direction:column;gap:1.25rem;display:flex;position:sticky;top:5.5rem}.toc-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-raised);padding:1.1rem 1.2rem}.toc-card .toc-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 .7em;font-size:.68rem;font-weight:700}.toc-card ol{counter-reset:toc;margin:0;padding:0;list-style:none}.toc-card li{counter-increment:toc;margin-bottom:.5em;font-size:.87rem}.toc-card li a{color:var(--color-text);gap:.5em;text-decoration:none;display:flex}.toc-card li a:before{content:counter(toc);color:var(--color-accent);flex-shrink:0;font-size:.8em;font-weight:700}.toc-card li a:hover{color:var(--color-accent)}.toc-card li.sub{margin-left:1.1em;font-size:.83rem}.toc-card li.sub a:before{content:"–"}.sidebar-guide-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-raised);padding:1.1rem 1.2rem}.sidebar-guide-card .toc-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 .6em;font-size:.68rem;font-weight:700}.sidebar-guide-card a.guide-link{font-family:var(--font-serif);color:var(--color-text);font-size:1rem;line-height:1.35;text-decoration:none;display:block}.sidebar-guide-card a.guide-link:hover{color:var(--color-accent)}@media (width<=980px){.article-grid.has-sidebar{grid-template-columns:minmax(0,1fr)}.article-sidebar{flex-flow:wrap;position:static}.article-sidebar .toc-card,.article-sidebar .sidebar-guide-card,.article-sidebar .product-card{flex:260px}}.callout{border:1px solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-bg-raised);margin:1.8rem 0;padding:1.1rem 1.3rem}.callout .callout-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.5em;font-size:.68rem;font-weight:700;display:block}.callout p:last-child{margin-bottom:0}.callout p:first-of-type{margin-top:0}.callout-takeaway{border-left-color:var(--color-accent);background:var(--color-accent-soft)}.callout-takeaway .callout-label{color:var(--color-accent)}.callout-problem{border-left-color:var(--color-problem);background:var(--color-problem-bg)}.callout-problem .callout-label{color:var(--color-problem)}.callout-framework{border-left-color:var(--color-tag);background:var(--color-tag-bg)}.callout-framework .callout-label{color:var(--color-tag)}.process-flow{border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;margin:1.8rem 0;display:grid;overflow:hidden}.process-step{background:var(--color-bg-raised);border-right:1px solid var(--color-border);padding:1.1rem 1.2rem;position:relative}.process-step:last-child{border-right:none}.process-step .step-num{font-family:var(--font-serif);color:var(--color-accent);opacity:.45;margin-bottom:.3em;font-size:1.3rem;font-weight:700;display:block}.process-step h4{font-size:.95rem;font-family:var(--font-sans);margin:0 0 .3em;font-weight:700}.process-step p{color:var(--color-text-muted);margin:0;font-size:.85rem}@media (width<=700px){.process-flow{grid-template-columns:1fr}.process-step{border-right:none;border-bottom:1px solid var(--color-border)}.process-step:last-child{border-bottom:none}}.stage-indicator{flex-wrap:wrap;align-items:center;gap:.35rem;margin:0 0 1.6rem;font-size:.78rem;display:flex}.stage-indicator .stage-dot{background:var(--color-bg-sunk);width:1.6rem;height:1.6rem;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:999px;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:inline-flex}.stage-indicator .stage-dot.is-current{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.stage-indicator .stage-sep{color:var(--color-border-strong)}.stage-indicator .stage-label{color:var(--color-text-muted)}.diagnosis{border:1px solid var(--color-problem-border);background:var(--color-problem-bg);border-radius:var(--radius);margin:1.8rem 0;padding:1.2rem 1.4rem}.diagnosis .diagnosis-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-problem);margin-bottom:.6em;font-size:.68rem;font-weight:700;display:block}.diagnosis-row{align-items:baseline;gap:.7em;margin-bottom:.6em;display:flex}.diagnosis-row:last-child{margin-bottom:0}.diagnosis-row .diagnosis-k{white-space:nowrap;font-size:.85rem;font-weight:700}.diagnosis-row .diagnosis-v{color:var(--color-text);font-size:.92rem}.inline-cta{border:1px solid var(--color-commercial-border);background:var(--color-commercial-bg);border-radius:var(--radius);margin:2rem 0;padding:1.3rem 1.4rem}.inline-cta .cta-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-commercial);margin:0 0 .5em;font-size:.68rem;font-weight:700}.inline-cta h4{font-family:var(--font-serif);color:var(--color-commercial-ink);margin:0 0 .5em;font-size:1.15rem}.inline-cta p{color:var(--color-text);margin:0 0 .9em;font-size:.95rem}.inline-cta p:last-of-type{margin-bottom:0}.product-card{border:1px solid var(--color-commercial-border);background:var(--color-commercial-bg);border-radius:var(--radius);padding:1.2rem 1.25rem}.product-card .cta-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--color-commercial);margin:0 0 .5em;font-size:.66rem;font-weight:700}.product-card h4{font-family:var(--font-serif);color:var(--color-commercial-ink);margin:0 0 .5em;font-size:1.02rem;line-height:1.3}.product-card p{color:var(--color-text);margin:0 0 .8em;font-size:.85rem}.product-card ul{color:var(--color-text);margin:0 0 .9em;padding-left:1.1em;font-size:.83rem}.product-card li{margin-bottom:.3em}.product-card .price-line{color:var(--color-commercial-ink);margin-bottom:.7em;font-size:.92rem;font-weight:700}.product-card .btn{justify-content:center;width:100%;padding:.7em 1em;font-size:.88rem}.product-card .fine-print{color:var(--color-text-muted);margin:.7em 0 0;font-size:.75rem}.implementation-cta{border:1px solid var(--color-commercial-border);background:linear-gradient(180deg, var(--color-commercial-bg), var(--color-bg-raised));border-radius:var(--radius-lg);margin:2.8rem 0 2rem;padding:1.8rem 1.9rem}.implementation-cta h3{font-family:var(--font-serif);color:var(--color-commercial-ink);margin:0 0 .6em;font-size:1.35rem}.implementation-cta p{max-width:60ch;margin:0 0 1rem}.implementation-cta .include-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem 1.2rem;margin:0 0 1.3rem;padding:0;list-style:none;display:grid}.implementation-cta .include-list li{padding-left:1.3em;font-size:.9rem;position:relative}.implementation-cta .include-list li:before{content:"✓";color:var(--color-commercial);font-weight:700;position:absolute;left:0}.implementation-cta .cta-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.implementation-cta .fine-print{color:var(--color-text-muted);margin:.9rem 0 0;font-size:.78rem}.cta-box{border:1px solid var(--color-border);background:var(--color-accent-soft);border-radius:var(--radius);margin:2.2rem 0;padding:1.25rem 1.4rem}.cta-box.commercial{background:var(--color-commercial-bg);border-color:var(--color-commercial-border)}.cta-box p{margin:0 0 .7em}.cta-box p:last-child{margin-bottom:0}.cta-box .cta-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.5em;font-size:.7rem;font-weight:700;display:block}.related-links{border-top:1px solid var(--color-border);margin-top:2.5rem;padding-top:1.6rem}.related-links h2{font-family:var(--font-serif);margin:0 0 .9rem;font-size:1.2rem}.related-links ul{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.related-links li{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-raised);padding:.7em .9em}.related-links .link-kind{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-right:.6em;font-size:.7rem;font-weight:700}.related-links a{font-weight:600;text-decoration:none}.related-links a:hover{text-decoration:underline}.site-footer{border-top:1px solid var(--color-border);background:var(--color-bg-sunk);color:var(--color-text-muted);margin-top:4rem;padding:3rem 0 2.5rem;font-size:.85rem}.footer-grid{grid-template-columns:1.4fr repeat(3,1fr);gap:2rem;margin-bottom:2.2rem;display:grid}.footer-brand{font-family:var(--font-serif);color:var(--color-text);margin-bottom:.6em;font-size:1.1rem}.footer-col h5{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 .8em;font-size:.72rem;font-weight:700}.footer-col ul{margin:0;padding:0;list-style:none}.footer-col li{margin-bottom:.5em}.site-footer a{color:var(--color-text-muted);text-decoration:none}.site-footer a:hover{color:var(--color-accent);text-decoration:underline}.footer-legal{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.4rem;display:flex}.footer-links{flex-wrap:wrap;gap:.5rem 1.2rem;display:flex}.disclosure-note{max-width:640px;margin:0 0 1rem;line-height:1.55}@media (width<=760px){.footer-grid{grid-template-columns:repeat(2,1fr)}}.mobile-sticky-cta{z-index:50;background:var(--color-commercial);color:#fff;box-shadow:var(--shadow-sticky);border-radius:999px;justify-content:space-between;align-items:center;gap:.6rem;padding:.65rem .5rem .65rem 1.1rem;display:none;position:fixed;bottom:.75rem;left:.75rem;right:.75rem}.mobile-sticky-cta a{color:#fff;flex:1;font-size:.86rem;font-weight:700;text-decoration:none}.mobile-sticky-cta button{color:#fff;cursor:pointer;background:#ffffff2e;border:none;border-radius:999px;flex-shrink:0;width:1.9rem;height:1.9rem;font-size:.95rem;line-height:1}@media (width<=760px){body.show-mobile-cta .mobile-sticky-cta{display:flex}body.show-mobile-cta .article-grid{padding-bottom:3.5rem}}.skip-link{background:var(--color-accent);color:#fff;z-index:100;padding:.6em 1em;position:absolute;top:auto;left:-999px}.skip-link:focus{top:1rem;left:1rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.6em;font-size:.72rem;font-weight:700;display:block}@media (width<=640px){body{font-size:16px}}
