
:root{--ink:#202b2e;--muted:#5d6669;--rust:#a14e36;--line:#d9dfe0;--light:#f2f4f4;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.5 var(--sans)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--rust);outline-offset:4px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.16}p{color:var(--muted)}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:20px;top:-80px;z-index:20;background:var(--ink);color:white;padding:12px}.skip:focus{top:10px}.masthead{display:flex;align-items:center;padding:28px 0 25px;gap:32px}.brand{font:600 34px/.95 var(--serif);letter-spacing:-1.6px;display:flex;flex-direction:column}.brand-bottom{font-size:38px;line-height:1.15}.brand-dot{color:var(--rust)}.masthead-note{font:12px/1.5 var(--sans);color:var(--muted);border-left:1px solid var(--line);padding:5px 0 5px 24px}.nav-border{border-top:1px solid var(--line);border-bottom:2px solid var(--ink)}.navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:59px}.navigation nav{display:flex;gap:24px;align-items:center;font-size:13px;font-weight:700}.header-search{display:flex;align-items:center;border-bottom:1px solid #99a1a3;width:232px;flex-shrink:0}.header-search input{width:100%;min-width:0;border:0;padding:7px 0;background:transparent;font-size:12px}.header-search button{border:0;background:none;padding:8px 0 8px 10px;font-size:12px;font-weight:bold;color:var(--rust)}.menu-toggle{display:none}.eyebrow{text-transform:uppercase;font:700 10px/1.5 var(--sans);letter-spacing:1.65px;color:var(--rust);display:block}.section-intro{display:flex;justify-content:space-between;align-items:center;padding:21px 0 16px;font-size:12px;color:var(--muted)}.cover{display:grid;grid-template-columns:1.95fr 1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid var(--line)}.cover-image{display:block;overflow:hidden}.cover-image img{width:100%;aspect-ratio:1.93;object-fit:cover}.cover-copy{padding:19px 0 0;max-width:700px}.cover-copy h1{font-size:36px;margin:9px 0 11px;letter-spacing:-.5px;max-width:670px}.cover-copy p{font-size:15px;max-width:590px}.side-feature img{width:100%;aspect-ratio:2.1;object-fit:cover}.side-feature .eyebrow{margin-top:13px}.side-feature h2{font-size:24px;margin-top:7px}.side-feature p{font-size:13px;margin-top:10px}.side-note{display:grid;grid-template-columns:1fr 100px;gap:18px;margin-top:23px;padding-top:19px;border-top:1px solid var(--line);align-items:start}.side-note h2{font-size:19px;margin-top:6px}.side-note img{width:100%;height:100px;object-fit:cover}.project-stages{padding:37px 0 44px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:24px}.section-heading h2{font-size:31px;margin-top:5px;letter-spacing:-.4px}.section-heading>p{font-size:12px}.text-link{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:4px;white-space:nowrap}.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.stage-label{border-top:3px solid var(--ink);padding:13px 0 16px;min-height:93px}.stage-label h3{font-size:23px}.stage-label p{font-size:12px;margin-top:7px}.stage-image{display:block}.stage-image img{aspect-ratio:1.85;width:100%;object-fit:cover}.stage h4{font-size:22px;margin:15px 0}.stage ul{list-style:none;margin:0;padding:0}.stage li{font-size:14px;line-height:1.4;border-top:1px solid var(--line);padding:12px 0}.tool-section{background:var(--light);padding:30px 32px 22px;margin-bottom:42px;border-top:3px solid var(--rust);scroll-margin-top:20px}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px}.tool-card{display:grid;grid-template-columns:80px 1fr;gap:14px;border-top:1px solid #cfd6d6;padding-top:18px;align-items:start}.tool-image{background:white;display:flex;align-items:center;justify-content:center;min-height:94px}.tool-image img{height:85px;max-width:72px;object-fit:contain}.tool-card h3{font-size:19px;margin-top:5px}.tool-card p{font-size:12px;line-height:1.5;margin-top:9px}.tool-card .eyebrow{font-size:9px;letter-spacing:1px}.affiliate-note{font-size:11px;border-top:1px solid #cfd6d6;margin-top:23px;padding-top:14px}.affiliate-note a{text-decoration:underline}.notebook{display:grid;grid-template-columns:1fr 2.2fr;gap:60px;border-top:1px solid var(--line);padding:30px 0 40px}.notebook h2{font-size:30px;margin:9px 0 14px}.notebook>div>p{font-size:13px}.notebook-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.mini-note h3{font-size:20px;margin-top:7px}.mini-note p{font-size:12px;margin-top:10px}.library-callout{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:26px 0 34px;border-top:2px solid var(--ink);margin-top:5px}.library-callout h2{font-size:27px}.library-callout form{display:flex;width:50%}.library-callout input,.library-search-row input{min-width:0;flex:1;border:1px solid #aeb9bc;padding:12px 14px;border-right:0;background:#fff}.library-callout button,.library-search-row button,.empty-state button{border:1px solid var(--ink);background:var(--ink);color:white;padding:12px 17px;font-size:13px;font-weight:bold}.site-footer{background:#edf0f0;padding:28px 0 30px}.footer-inner{display:flex;justify-content:space-between;gap:40px}.footer-brand{font:600 20px var(--serif)}.footer-inner p{font-size:12px;margin-top:7px}.footer-inner nav{display:flex;flex-wrap:wrap;justify-content:end;align-content:start;gap:12px 23px;font-size:12px;max-width:500px}.breadcrumbs{display:flex;gap:10px;font-size:12px;color:var(--muted);padding:22px 0}.article-heading{max-width:930px;margin:17px 0 28px}.article-heading h1{font-size:45px;line-height:1.1;letter-spacing:-.8px;margin:11px 0 16px}.article-deck{font-size:18px;max-width:770px}.article-meta{font-size:11px;margin-top:17px;text-transform:uppercase;letter-spacing:.8px}.article-disclosure{font-size:11px;margin-top:11px}.article-disclosure a{text-decoration:underline}.article-hero{margin-bottom:35px}.article-hero>img{width:100%;aspect-ratio:3.2;object-fit:cover}.article-hero figcaption{font-size:10px;margin-top:8px;max-width:850px;color:var(--muted)}figcaption a{text-decoration:underline}.article-layout{display:grid;grid-template-columns:240px minmax(0,760px);gap:60px;align-items:start}.article-sidebar{position:sticky;top:24px}.article-toc{border-top:3px solid var(--ink);border-bottom:1px solid var(--line);padding:13px 0}.article-toc summary{font-size:13px;font-weight:bold;cursor:pointer;padding:3px 0;list-style:none;display:flex;justify-content:space-between}.article-toc summary:after{content:'+';color:var(--rust);font-size:19px;line-height:1}.article-toc[open] summary:after{content:'−'}.article-toc ol{margin:15px 0 5px;padding-left:20px}.article-toc li{font-size:12px;line-height:1.45;padding:0 0 11px 5px;color:var(--muted)}.article-toc li a{display:block;color:var(--ink)}.back-library{font-size:12px;text-decoration:underline;display:inline-block;margin-top:18px}.article-main{min-width:0}.quick-summary{padding:18px 21px;background:var(--light);border-left:3px solid var(--rust);margin-bottom:29px}.summary-links{margin:10px 0 0;padding-left:19px;font-size:14px;line-height:1.5}.summary-links li{padding:3px 0}.summary-links a{text-decoration:underline;text-underline-offset:3px}.summary-products{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:13px}.summary-products a{display:grid;grid-template-columns:55px 1fr;align-items:center;gap:12px;font-size:13px;font-weight:bold}.summary-products img{width:55px;height:64px;object-fit:contain;background:#fff}.article-body{font-family:var(--serif);font-size:18px;line-height:1.75;overflow-wrap:anywhere}.article-body p{margin:0 0 20px;color:#313b3e}.article-body h2{font-size:29px;margin:39px 0 18px;line-height:1.22;scroll-margin-top:25px;letter-spacing:-.3px}.article-body h3{font-size:24px;margin:28px 0 14px}.article-body a{color:#91432e;text-decoration:underline;text-underline-offset:3px}.article-body ul,.article-body ol{padding-left:25px}.article-body figure{margin:28px 0}.article-body img.scene{width:100%;height:auto;max-height:520px;object-fit:cover}.article-body figcaption{font:11px/1.6 var(--sans);color:var(--muted);margin-top:9px}.table-scroll,.diagram-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.diagram-scroll{background:#f5f6f6}.diagram-scroll img{max-width:100%;width:100%;height:auto}.article-body table{font:13px/1.5 var(--sans);width:100%;border-collapse:collapse;min-width:580px;margin:0}.article-body th{background:var(--ink);color:#fff;text-align:left}.article-body td,.article-body th{padding:13px 15px;border:1px solid var(--line);vertical-align:top}.article-body tr:nth-child(even) td{background:var(--light)}.article-body .table-scroll{margin:24px 0;border:1px solid var(--line)}.article-body .product{text-align:center;margin:25px 0 30px;padding:25px 20px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;align-items:center}.product>a:first-child{display:flex;justify-content:center;width:100%}.article-body .product-img{width:auto;height:260px;max-width:min(100%,360px);object-fit:contain;object-position:center;margin:0 auto 23px}.article-body .product .button{display:block;width:max-content;max-width:100%;background:var(--rust);color:#fff;text-decoration:none;padding:13px 25px;font:700 14px var(--sans);text-align:center}.article-body .product .button:hover{background:#783923}.article-body .product small{font:11px/1.5 var(--sans);color:var(--muted);display:block;margin-top:13px}.article-body .disclosure{font:12px/1.6 var(--sans);padding:12px 15px;background:var(--light)}.article-body .sources{font:13px/1.6 var(--sans);margin-top:40px;padding:22px;border-top:3px solid var(--ink);background:var(--light)}.sources p{font-size:12px;margin-top:10px}.sources li{margin-bottom:10px}.related-reading{padding:39px 0 45px;border-top:1px solid var(--line);margin-top:55px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.mini-photo{display:block;margin-bottom:17px}.mini-photo img{aspect-ratio:1.9;width:100%;object-fit:cover}.library-heading{padding:40px 0 28px;max-width:800px}.library-heading h1{font-size:44px;margin:10px 0}.library-heading p{font-size:16px}.library-browser{padding:0 0 45px}.library-browser form{max-width:680px}.library-browser label{display:block;font-size:12px;font-weight:bold;margin-bottom:9px}.library-search-row{display:flex}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:23px 0 18px}.filter-button{border:1px solid #aeb7b9;background:white;padding:9px 14px;font-size:12px;color:var(--ink)}.filter-button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}#result-count{font-size:12px;margin-bottom:20px}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.library-card img{width:100%;aspect-ratio:1.85;object-fit:cover}.library-card .eyebrow{margin-top:15px}.library-card h2{font-size:24px;margin:7px 0 10px}.library-card p{font-size:13px}.empty-state{padding:40px 0}.empty-state h2{font-size:27px}.empty-state p{margin:15px 0}.library-card[hidden],[hidden]{display:none!important}
@media(min-width:1450px){.wrap{width:1240px}.cover-copy h1{font-size:39px}}
@media(max-width:1100px){.navigation nav{gap:17px;font-size:12px}.header-search{width:195px}.article-layout{gap:35px;grid-template-columns:210px minmax(0,1fr)}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notebook{gap:30px;grid-template-columns:1fr 2.3fr}.notebook-notes{gap:17px}}
@media(max-width:999px){.wrap{width:calc(100% - 48px)}.navigation{flex-wrap:wrap;padding:12px 0}.navigation nav{flex-wrap:wrap}.header-search{width:100%}.cover{gap:24px}.cover-copy h1{font-size:31px}.side-feature h2{font-size:21px}.side-feature p{display:none}.side-note{grid-template-columns:1fr 70px}.side-note img{height:80px}.side-note h2{font-size:17px}.article-layout{display:flex;flex-direction:column;gap:22px;max-width:760px;margin:auto;width:100%}.article-main{width:100%;max-width:100%;min-width:0}.article-body,.quick-summary{max-width:100%;min-width:0}.article-sidebar{position:static;width:100%}.back-library{display:none}.article-toc{padding:13px 0}.article-toc ol{columns:2;column-gap:35px}.article-toc li{break-inside:avoid}.article-heading h1{font-size:39px}.article-hero>img{aspect-ratio:2.7}.notebook{display:block}.notebook>div:first-child{margin-bottom:25px}.notebook-notes{gap:24px}.library-callout form{width:56%}.stage-label{min-height:110px}.stage h4{font-size:20px}.stage li{font-size:13px}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.masthead{padding:21px 0 20px;gap:12px;justify-content:space-between}.brand{font-size:26px;letter-spacing:-1px}.brand-bottom{font-size:29px}.masthead-note{display:none}.menu-toggle{display:flex;align-items:center;gap:8px;background:white;color:var(--ink);border:1px solid var(--line);padding:9px 10px;font-size:12px}.navigation{display:none;padding:16px 0 19px}.navigation.is-open{display:block}.navigation nav{display:flex;flex-direction:column;align-items:stretch;gap:0}.navigation nav a{padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}.header-search{margin-top:16px}.header-search input{font-size:14px;padding:10px 0}.section-intro{padding:18px 0 14px}.section-intro>span:last-child{display:none}.cover{display:block;padding-bottom:26px}.cover-image img{aspect-ratio:1.5}.cover-copy{padding-top:17px}.cover-copy h1{font-size:30px;margin:9px 0 12px;line-height:1.15}.cover-copy p{font-size:14px}.cover-side{display:block;border-top:1px solid var(--line);margin-top:24px;padding-top:21px}.side-feature{display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:17px}.side-feature>a{grid-row:1/4}.side-feature img{aspect-ratio:1;height:112px}.side-feature .eyebrow{margin-top:0;font-size:9px;letter-spacing:1px}.side-feature h2{font-size:21px;margin-top:6px}.side-note{grid-template-columns:1fr 80px;gap:22px;margin-top:21px;padding-top:18px}.side-note h2{font-size:21px}.side-note img{height:80px}.project-stages{padding:29px 0}.section-heading{gap:15px;align-items:start;flex-direction:column;margin-bottom:20px}.section-heading h2{font-size:28px}.text-link{font-size:12px}.stage-grid{display:block}.stage+.stage{margin-top:28px}.stage-label{min-height:0;padding:12px 0 15px}.stage-label h3{font-size:23px}.stage-image img{aspect-ratio:2.1}.stage h4{font-size:23px;margin:14px 0}.stage li{font-size:14px}.tool-section{padding:23px 18px;margin-bottom:30px}.tool-section .section-heading>p{display:none}.tool-section .section-heading h2{font-size:27px}.tool-grid{grid-template-columns:1fr;gap:16px}.tool-card{grid-template-columns:70px minmax(0,1fr);gap:13px;padding-top:15px}.tool-image{min-height:85px}.tool-image img{height:76px;max-width:63px}.tool-card h3{font-size:20px}.tool-card p{font-size:12px;margin-top:7px}.affiliate-note{font-size:10px}.notebook{padding:26px 0}.notebook h2{font-size:29px;max-width:300px}.notebook-notes{display:block}.notebook-notes .mini-note{border-top:1px solid var(--line);padding:17px 0}.mini-note h3{font-size:22px}.mini-note p{font-size:13px}.library-callout{display:block;padding:24px 0 29px}.library-callout h2{font-size:27px;margin-bottom:16px}.library-callout form{width:100%}.library-callout input{width:50%;padding:11px;font-size:12px}.library-callout button{font-size:11px;padding:11px}.footer-inner{display:block}.footer-inner nav{justify-content:start;margin-top:22px;gap:12px 22px;font-size:12px}.site-footer{padding:25px 0}.footer-brand{font-size:20px}.breadcrumbs{padding:20px 0 5px;font-size:10px}.article-heading{margin:23px 0}.article-heading h1{font-size:34px;line-height:1.1;letter-spacing:-.6px;margin:12px 0 16px}.article-deck{font-size:16px;line-height:1.5}.article-meta{font-size:10px;line-height:1.6;letter-spacing:.45px;margin-top:16px}.article-disclosure{font-size:10px;line-height:1.6}.article-hero{margin-bottom:24px}.article-hero>img{aspect-ratio:1.55}.article-hero figcaption{font-size:9px;line-height:1.5}.article-toc ol{columns:auto}.article-toc li{font-size:13px;padding-bottom:12px}.article-sidebar{width:100%}.article-layout{gap:20px}.quick-summary{padding:16px;margin-bottom:25px}.summary-links{font-size:13px;margin-top:9px}.summary-products{display:block}.summary-products a{font-size:12px;grid-template-columns:50px 1fr;gap:13px}.summary-products a+a{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.summary-products img{height:54px;width:50px}.article-body{font-size:18px;line-height:1.72}.article-body h2{font-size:27px;margin:31px 0 16px}.article-body p{margin-bottom:19px}.article-body .product{padding:22px 14px}.article-body .product-img{height:220px;max-width:100%}.article-body .product .button{width:100%;font-size:14px;padding:15px 12px}.article-body .product small{font-size:10px}.article-body table{min-width:560px;font-size:12px}.article-body td,.article-body th{padding:11px}.diagram-scroll img{max-width:none;min-width:620px}.article-body figure{margin:25px 0}.article-body figcaption{font-size:10px}.article-body .sources{padding:17px;font-size:12px}.related-reading{margin-top:36px;padding:28px 0}.related-grid{display:block}.related-grid .mini-note+.mini-note{margin-top:24px;padding-top:21px;border-top:1px solid var(--line)}.mini-photo img{aspect-ratio:2.2}.library-heading{padding:30px 0 25px}.library-heading h1{font-size:35px}.library-heading p{font-size:14px}.library-search-row input{width:60%;padding:12px;font-size:14px}.library-search-row button{padding:12px;font-size:12px}.filter-row{gap:7px;margin-top:20px}.filter-button{padding:9px 11px;font-size:11px}.library-grid{grid-template-columns:1fr;gap:29px}.library-card img{aspect-ratio:1.9}.library-card h2{font-size:25px}.library-card p{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
