.hub-page{margin:0;background:var(--bg);color:var(--ink);font:400 var(--fs-15)/1.65 var(--sans);-webkit-font-smoothing:antialiased}
.hub-page *{box-sizing:border-box}
.hub-page a{color:inherit;text-decoration:none}
.hub-page button,.hub-page input,.hub-page select{font:inherit;color:inherit}
.hub-page button{cursor:pointer}
.hub-page h1,.hub-page h2,.hub-page h3,.hub-page p{margin:0;text-wrap:pretty}
.hub-page h1{font-size:var(--fs-hero);line-height:1.03;letter-spacing:-.045em;font-weight:300}
.hub-page h1 b{font-weight:500}
.hub-page h2{font-size:var(--fs-h2);font-weight:300;line-height:1.12;letter-spacing:-.03em}
.hub-page h3{font-size:var(--fs-21);font-weight:500;line-height:1.25;letter-spacing:-.015em}
/* zero specificity: a default for Hub icons that never overrides a component (pill-label G, buttons) */
:where(.hub-page main) svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.hub-page :focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.hwrap{max-width:1264px;margin-inline:auto;padding-inline:32px}
.eyebrow{font:400 var(--fs-label)/1.4 var(--mono);text-transform:uppercase;letter-spacing:var(--tr-label);color:var(--tone);display:block}
.hub-page main{padding-top:var(--s-10)}
.hub-page .pill-label + h1,.hub-page .pill-label + h2{margin-top:var(--s-6)}
.tag{font:400 var(--fs-10)/1.4 var(--mono);padding:5px 9px;border:1px solid var(--line);border-radius:5px;color:var(--muted);white-space:nowrap}
.hbtn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:13px 20px;background:var(--lime);color:var(--on-lime)!important;border-radius:10px;border:0;font-weight:500;line-height:1.4;transition:transform .2s,box-shadow .2s}
.hbtn:hover{transform:translateY(-2px);box-shadow:0 8px 18px -12px color-mix(in srgb,var(--ink-fixed) 40%,transparent)}
.text-link{display:inline-flex;align-items:center;gap:15px;font-weight:500}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.skip{position:fixed;top:8px;left:8px;padding:8px 14px;background:var(--raised);z-index:100;transform:translateY(-150%)}
.skip:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hub-hero{padding-block:84px 76px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.hub-hero h1{margin-top:22px}
.hub-hero>div>p{margin-top:23px;font-size:var(--fs-17);max-width:420px;color:var(--muted)}
.hero-actions{display:flex;gap:25px;align-items:center;margin-top:29px}
.hero-note{font:400 var(--fs-10) var(--mono);color:var(--muted);margin-top:23px}
.feature-drawing{display:block;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--raised);box-shadow:var(--lift);position:relative;overflow:hidden}
.drawing-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font:400 var(--fs-10) var(--mono);color:var(--muted)}
.brain-core{margin:30px auto 35px;border:1px solid var(--line);border-radius:9px;width:85%;padding:18px;display:grid;grid-template-columns:30px 1fr;align-items:center;gap:3px 12px;background:var(--bg);position:relative}
.brain-core:after{content:'';position:absolute;width:1px;height:36px;background:var(--line);top:100%;left:50%}
.brain-core img{grid-row:span 2;background:var(--lime);padding:4px;width:30px;height:30px;border-radius:4px}
.brain-core b{font-size:var(--fs-19);font-weight:500}
.brain-core span{font:400 var(--fs-10) var(--mono);color:var(--muted)}
.brain-branches{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;position:relative}
.brain-branches:before{content:'';position:absolute;top:-18px;left:12%;right:12%;border-top:1px solid var(--line)}
.brain-branches span{border:1px solid var(--line);border-radius:6px;background:var(--bg);text-align:center;font-size:var(--fs-11);padding:15px 4px;position:relative}
.brain-branches span:before,.brain-branches span:after{content:'';position:absolute;left:50%;width:1px;height:18px;background:var(--line);bottom:100%}
.brain-branches span:after{bottom:auto;top:100%;height:22px}
.drawing-output{margin-top:39px;padding:15px 18px;background:var(--lime);color:var(--on-lime);border-radius:6px;position:relative;display:flex;justify-content:space-between;align-items:center}
.drawing-output:before{content:'';position:absolute;left:12%;right:12%;top:-18px;border-top:1px solid var(--line)}
.drawing-output:after{content:'';position:absolute;left:50%;height:18px;width:1px;background:var(--line);bottom:100%}
.drawing-output span{font:400 var(--fs-10) var(--mono)}
.drawing-output b{font-weight:500;font-size:var(--fs-16)}
.drawing-caption{border-top:1px solid var(--line);margin-top:25px;padding-top:16px;display:grid;grid-template-columns:1fr 20px;gap:8px 12px}
.drawing-caption>span{grid-column:span 2;font:400 var(--fs-10) var(--mono);color:var(--muted)}
.drawing-caption b{font-weight:500;font-size:var(--fs-17);line-height:1.3}
.section-heading{margin-bottom:28px}
.section-heading h2{margin-top:12px}
.section-heading.split{display:flex;align-items:end;justify-content:space-between;gap:30px}
.hub-problems{padding-block:32px 72px}
.problem-list{border-top:1px solid var(--line)}
.problem-list>a{display:grid;grid-template-columns:35px 1fr 210px 20px;gap:20px;align-items:center;min-height:90px;border-bottom:1px solid var(--line);transition:padding .2s,background .2s}
.problem-list>a:hover{padding-inline:12px;background:var(--raised)}
.problem-list>a>span{font:400 var(--fs-10) var(--mono);color:var(--muted)}
.problem-list h3{font-size:var(--fs-21);font-weight:400}
.problem-list small{color:var(--muted);font-size:var(--fs-12)}
.hub-library{padding-block:20px 72px}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.resource-card{padding:25px;border-radius:13px;background:var(--raised);border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;min-width:0}
a.resource-card:hover{transform:translateY(-3px);box-shadow:var(--lift)}
.card-meta{display:flex;justify-content:space-between;gap:10px;font:400 var(--fs-10) var(--mono);color:var(--muted);margin-bottom:25px}
.resource-card h3{max-width:450px;margin-bottom:12px}
.resource-card p{color:var(--muted);font-size:var(--fs-14);line-height:1.6;max-width:470px}
.card-end{margin-top:auto;padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:20px;font:400 var(--fs-10) var(--mono);color:var(--muted)}
.card-end svg{color:var(--ink)}
.hub-destinations{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-block:10px 75px}
.destination{border-radius:17px;background:var(--raised);border:1px solid var(--line);padding:32px}
.destination h2{margin-top:16px;margin-bottom:17px;font-size:var(--fs-34)}
.destination p{font-size:var(--fs-14);color:var(--muted)}
.destination>b,.destination>a>b{display:flex;align-items:center;gap:18px;font-size:var(--fs-14);font-weight:500;margin-top:22px}
.stack-preview{margin-top:25px;display:grid;gap:8px}
.stack-preview span{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:12px;border-radius:7px;font:400 var(--fs-11) var(--mono)}
.stack-preview img{object-fit:contain;background:var(--raised);border-radius:4px}
.destination.brief{background:var(--graphite);color:var(--d-text);--raised:var(--graphite-3);--muted:var(--ink-300);--line:var(--d-line-2);--ink:var(--chip)}
.destination.brief .hsubscribe{margin-top:26px}
.hub-standards{padding-block:10px 75px;display:grid;grid-template-columns:1fr 1fr;gap:80px}
.hub-standards h2{margin-top:17px}
.hub-standards p{color:var(--muted);margin-bottom:20px;font-size:var(--fs-14)}
.hub-standards p b{display:block;color:var(--ink);margin-bottom:4px;font-size:var(--fs-16);font-weight:500}
.hub-standards a{display:inline-flex;gap:15px;font-size:var(--fs-13);font-weight:500;line-height:1.4;align-items:center}
.hub-standards small{display:block;margin-top:24px;font-size:var(--fs-11);line-height:1.6;color:var(--muted)}
.resource-hero{padding-block:48px 38px}
.breadcrumbs{display:flex;gap:12px;color:var(--muted);font-size:var(--fs-12);margin-bottom:40px}
.resource-kicker{display:flex;align-items:center;gap:18px;margin-bottom:20px;flex-wrap:wrap}
.resource-hero h1{max-width:900px;font-size:var(--fs-hero-compact);font-weight:400}
.resource-answer{font-size:var(--fs-18);line-height:1.5;max-width:780px;color:var(--muted);margin-top:22px!important}
.byline{display:flex;gap:10px;align-items:center;font-size:var(--fs-13);margin-top:26px}
.byline img{border-radius:50%;object-fit:cover}
.byline small{display:block;font-size:var(--fs-11);color:var(--muted)}
.copy-link{margin-left:auto;display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--line);padding:8px 12px;border-radius:7px;font-size:var(--fs-11)!important}
.resource-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:65px;padding-block:15px 72px;align-items:start}
.resource-toc{position:sticky;top:25px;padding-top:12px;font-size:var(--fs-12)}
.resource-toc .eyebrow{margin-bottom:19px}
.resource-toc a{display:block;border-left:1px solid var(--line);padding:7px 15px;color:var(--muted)}
.resource-toc a:hover{border-color:var(--ink);color:var(--ink)}
.resource-main{min-width:0}
.brain-strip{border:1px solid var(--line);padding:22px 25px;border-radius:10px;background:var(--raised);margin-bottom:33px}
.brain-strip>div{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}
.brain-strip>div>span{font-size:var(--fs-12);padding:4px 9px;background:var(--chip);border-radius:4px}
.brain-strip>a{display:inline-flex;align-items:center;gap:12px;font-size:var(--fs-12)}
.prose{max-width:800px;font-size:var(--fs-16);line-height:1.75}
.prose>p,.prose>ul,.prose>ol,.prose>blockquote,.prose>.table-scroll,.prose>pre{margin-bottom:22px}
.prose h2{scroll-margin-top:25px;margin:43px 0 19px;font-size:var(--fs-30)}
.prose h3{margin:28px 0 12px;font-size:var(--fs-21)}
.prose strong{font-weight:600}
.prose a{border-bottom:1px solid var(--line)}
.prose a:hover{border-color:var(--ink)}
.prose li{margin-bottom:9px;padding-left:4px}
.prose ul,.prose ol{padding-left:22px}
.prose code{font:400 var(--fs-12) var(--mono);background:var(--chip);padding:3px 6px;border-radius:4px}
.prose pre{overflow:auto;background:var(--graphite);color:var(--d-text);border-radius:10px;padding:22px;font:400 var(--fs-12)/1.8 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}
.prose pre code{background:none;padding:0;font:inherit;color:inherit}
.prose blockquote{border-left:3px solid var(--lime);margin-left:0;margin-right:0;padding:12px 24px;font-size:var(--fs-20);line-height:1.45;background:var(--raised)}
.table-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:9px}
.table-scroll table{border-collapse:collapse;width:100%;min-width:560px;font-size:var(--fs-13);line-height:1.55}
.table-scroll td,.table-scroll th{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.table-scroll th{background:var(--chip);font-weight:500}
.table-scroll tr:last-child td{border-bottom:0}
.flow{margin:0 0 25px;background:var(--raised);border:1px solid var(--line);border-radius:14px;padding:25px}
.flow figcaption{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:26px}
.flow ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px 30px}
.flow li{display:flex;gap:13px;padding:16px;background:var(--bg);border:1px solid var(--line);border-radius:7px;position:relative}
.flow li:after{content:'↓';position:absolute;top:100%;height:24px;left:50%;font-size:var(--fs-16);color:var(--muted)}
.flow li:nth-last-child(-n+2):after{display:none}
.flow-num{font:400 var(--fs-10) var(--mono);color:var(--muted);padding-top:4px}
.flow b{font-weight:500;font-size:var(--fs-14);line-height:1.35;display:block}
.flow p{font-size:var(--fs-12);line-height:1.5;color:var(--muted);margin-top:5px}
.flow-branch{margin-top:22px;border:1px dashed var(--line);padding:15px 17px;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;border-radius:7px}
.flow-branch b{grid-column:span 2;font-size:var(--fs-12);font-weight:500}
.flow-branch span{font-size:var(--fs-11);color:var(--muted);border-left:2px solid var(--line);padding-left:10px}
.handoff{margin-top:50px;padding:30px;border-radius:13px;background:var(--chip);display:grid;grid-template-columns:1fr 1fr;gap:30px}
.handoff h2{font-size:var(--fs-30);margin-top:14px}
.handoff p{font-size:var(--fs-13);line-height:1.6;color:var(--muted);margin:15px 0 20px}
.handoff p a{border-bottom:1px solid var(--muted)}
.handoff ol{list-style:none;margin:0;padding:0}
.handoff li{border-left:1px solid var(--line);padding-left:18px;margin-bottom:14px}
.handoff li>span{display:block;font:400 var(--fs-10) var(--mono);color:var(--muted)}
.handoff li>b{font-size:var(--fs-14);font-weight:500}
.handoff li>p{margin:3px 0 0;font-size:var(--fs-12)}
.handoff>small{grid-column:span 2;font-size:var(--fs-11);color:var(--muted);border-top:1px solid var(--line);padding-top:17px}
.related{margin-top:42px}
.related>.eyebrow{margin-bottom:15px}
.related .resource-card{padding:20px}
.related h3{font-size:var(--fs-18)}
.library-hero{padding-block:75px 30px}
.library-hero h1{margin-top:22px}
.library-hero>p{font-size:var(--fs-16);color:var(--muted);max-width:560px;margin-top:22px}
.library-controls{margin-top:35px;display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:13px;align-items:end}
.library-controls label{display:grid;gap:6px;font-size:var(--fs-11);color:var(--muted)}
.library-controls input,.library-controls select{border:1px solid var(--line);border-radius:7px;background:var(--raised);padding:12px;min-width:0;width:100%;font-size:var(--fs-13);color:var(--ink)}
.filter-reset{border:1px solid var(--line);border-radius:7px;padding:12px;font-size:var(--fs-12);background:var(--chip)}
.library-hero .filter-count{font:400 var(--fs-11) var(--mono);margin-top:20px;min-height:18px}
.library-results{padding-bottom:70px}
.library-results .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.library-results .resource-card{padding:23px}
.library-results h3{font-size:var(--fs-20)}
.library-results .card-meta{font-size:var(--fs-9);flex-wrap:wrap}
.inventory-note{margin-top:30px!important;color:var(--muted);font-size:var(--fs-12)}
.resource-card[hidden],.empty-results[hidden]{display:none}
.summary-card{display:block;align-self:start}
.summary-card summary{cursor:pointer;list-style:none}
.summary-card summary::-webkit-details-marker{display:none}
.summary-body{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}
.summary-body p{font-size:var(--fs-12);margin-top:8px}
.summary-body ol{padding-left:18px;font-size:var(--fs-12)}
.summary-body li{margin-bottom:13px}
.summary-body small{color:var(--muted);font-size:var(--fs-11);display:block;margin-top:15px}
.empty-results{padding:55px 0;text-align:center}
.empty-results p{margin:15px 0 25px}
.brief-hero{padding-block:75px 40px;max-width:850px}
.brief-hero h1{margin-top:22px}
.brief-hero>p{margin-top:24px;color:var(--muted);font-size:var(--fs-17);max-width:550px}
.brief-hero .hsubscribe{margin-top:30px;max-width:550px}
.brief-archive{max-width:850px;padding-bottom:75px}
.issue-date{font:400 var(--fs-10) var(--mono);color:var(--muted);margin-bottom:15px}
.hsubscribe{display:grid;grid-template-columns:1fr auto;gap:7px;text-align:left}
.hsubscribe input{min-width:0;width:100%;background:var(--raised);border:1px solid var(--line);border-radius:7px;padding:12px;font-size:var(--fs-13)}
.hsubscribe button{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--lime);color:var(--on-lime);border:0;border-radius:7px;padding:10px 13px;font-size:var(--fs-13);font-weight:500}
.hsubscribe small{grid-column:span 2;font-size:var(--fs-10);color:var(--muted);line-height:1.6;margin-top:4px}
.hsubscribe small a{text-decoration:underline;text-underline-offset:2px}
.htrap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.hsubscribe .form-status{grid-column:span 2;font-size:var(--fs-12);line-height:1.5;min-height:0;color:var(--ink)}
.form-status:empty{display:none}
.book-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-block:75px}
.book-layout h1{font-size:var(--fs-hero-compact);margin-top:20px}
.book-layout>div>p{margin-top:20px;color:var(--muted)}
.book-form{background:var(--raised);border:1px solid var(--line);border-radius:13px;padding:30px;display:grid;gap:16px}
.book-form label{display:grid;gap:7px;font-size:var(--fs-12)}
.book-form input,.book-form select,.book-form textarea{border:1px solid var(--line);padding:11px;background:var(--bg);border-radius:6px;min-width:0;font:inherit;color:inherit;width:100%}
.book-form textarea{min-height:100px;resize:vertical}
.book-form small{font-size:var(--fs-10);color:var(--muted)}
.book-note{border-top:1px solid var(--line);padding-top:22px;margin-top:32px;font-size:var(--fs-13)}
.utility{padding-block:70px;max-width:900px}
.utility h1{font-size:var(--fs-48);margin-bottom:25px}
.output-sample{background:var(--raised);padding:25px;border:1px solid var(--line);border-radius:10px;margin-bottom:25px}
.output-sample .sample-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:17px;font:400 var(--fs-10) var(--mono);color:var(--muted)}
.output-sample dl{display:grid;grid-template-columns:1fr 2fr;gap:10px;font-size:var(--fs-13);margin:0}
.output-sample dt{color:var(--muted)}
.output-sample dd{margin:0}
.h-home-brain{padding:16px 18px!important;display:block!important}
.h-home-brain .brain-core{margin:0 auto 24px;width:100%;padding:10px;font-family:var(--sans)}
.h-home-brain .brain-core:after{height:12px}
.h-home-brain .brain-core b{font-size:var(--fs-16)}
.h-home-brain .brain-core span{font-size:var(--fs-8)}
.h-home-brain .brain-branches:before{top:-12px}
.h-home-brain .brain-branches span{padding:10px 2px;font-size:var(--fs-9)}
.h-home-brain .brain-branches span:before,.h-home-brain .brain-branches span:after{height:12px}
.h-home-brain .drawing-output{margin-top:24px;padding:8px 10px}
.h-home-brain .drawing-output:before{top:-12px}
.h-home-brain .drawing-output:after{height:12px}
.h-home-brain .drawing-output b{font-size:var(--fs-13)}
.h-home-brain .drawing-output span{font-size:var(--fs-9)}
.h-home-stack{padding:30px 22px!important;display:block!important}
.h-home-stack .stack-preview{margin-top:0;gap:12px}
.h-home-stack .stack-preview span{padding:15px 12px;font-size:var(--fs-11);background:var(--raised)}
.h-home-stack small{font:400 var(--fs-9) var(--mono);margin-left:auto;color:var(--muted)}
.h-home-browse{display:flex;justify-content:flex-end;margin-top:22px;font-size:var(--fs-13)}
.h-home-browse a{display:flex;gap:16px;align-items:center}
.h-home-browse svg{width:15px;height:15px}
.metric-proof{display:grid;grid-template-columns:repeat(3,1fr);padding:25px;background:var(--raised);border:1px solid var(--line);border-radius:10px;margin-bottom:25px}
.metric-proof b{display:block;font-size:var(--fs-36);font-weight:400;letter-spacing:-.03em}
.metric-proof small{display:block;font-size:var(--fs-11);color:var(--muted)}
@media(min-width:901px){.flow li:nth-child(odd){grid-column:1}
.flow li:nth-child(even){grid-column:2}
.flow ol{grid-auto-flow:row}}
@media(max-width:1280px){}
@media(max-width:1000px){.hub-hero{gap:40px}
.resource-layout{gap:35px;grid-template-columns:160px minmax(0,1fr)}
.library-results .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.problem-list>a{grid-template-columns:25px 1fr 20px}
.problem-list small{display:none}
.hub-standards{gap:40px}}
@media(max-width:760px){.hwrap{padding-inline:22px}
.hub-hero{padding-top:55px;gap:40px;grid-template-columns:1fr}
.hub-hero h1{font-size:var(--fs-58)}
.feature-drawing{max-width:550px}
.hub-problems{padding-top:0}
.problem-list>a{min-height:95px;gap:13px}
.problem-list h3{font-size:var(--fs-19)}
.hub-destinations,.hub-standards{grid-template-columns:1fr;gap:24px}
.hub-standards h2 br{display:none}
.resource-hero{padding-top:35px}
.breadcrumbs{margin-bottom:25px}
.resource-hero h1{font-size:var(--fs-42)}
.resource-answer{font-size:var(--fs-16)}
.byline{flex-wrap:wrap}
.byline .copy-link{margin-left:auto}
.resource-layout{grid-template-columns:1fr;gap:20px;padding-top:0}
.resource-toc{display:none}
.prose{font-size:var(--fs-15)}
.prose h2{font-size:var(--fs-28)}
.handoff{padding:24px;grid-template-columns:1fr}
.handoff>small{grid-column:auto}
.library-hero,.brief-hero{padding-top:55px}
.library-controls{grid-template-columns:1fr 1fr}
.library-controls label:first-child{grid-column:span 2}
.library-controls .filter-reset{grid-column:span 2}
.book-layout{grid-template-columns:1fr;padding-top:50px;gap:30px}}
@media(max-width:480px){.hub-hero h1{font-size:var(--fs-48)}
.hero-actions{gap:16px}
.hero-actions .text-link{font-size:var(--fs-13)}
.hero-actions .hbtn{font-size:var(--fs-13);padding:12px 15px}
.card-grid,.library-results .card-grid{grid-template-columns:1fr}
.card-meta{flex-wrap:wrap;gap:4px 10px}
.destination{padding:24px}
.destination h2{font-size:var(--fs-30)}
.drawing-top{font-size:var(--fs-9)}
.brain-core{width:100%;padding:14px;gap:4px 8px}
.brain-core span{font-size:var(--fs-9)}
.brain-branches{gap:5px}
.brain-branches span{font-size:var(--fs-10)}
.drawing-output{padding:13px 10px;gap:12px}
.drawing-output b{font-size:var(--fs-14)}
.drawing-output span{font-size:var(--fs-9)}
.resource-hero h1{font-size:var(--fs-36)}
.byline small{font-size:var(--fs-10)}
.byline .copy-link{margin:7px 0 0}
.flow{padding:19px}
.flow ol{grid-template-columns:1fr}
.flow li:after{display:block!important}
.flow li:last-child:after{display:none!important}
.flow-branch{grid-template-columns:1fr}
.flow-branch b{grid-column:auto}
.related .card-grid{grid-template-columns:1fr}
.section-heading.split{align-items:start;flex-direction:column;gap:15px}
.hsubscribe{grid-template-columns:1fr auto}
.hsubscribe button{gap:4px;padding-inline:10px}
.metric-proof{padding:19px;gap:15px}
.metric-proof b{font-size:var(--fs-28)}
.metric-proof small{font-size:var(--fs-10)}
.output-sample{padding:20px}
.output-sample dl{grid-template-columns:1fr;gap:4px}
.output-sample dd{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.flow ol{display:flex;flex-direction:column;gap:24px;counter-reset:none}
.flow ol>li{width:calc(50% - 15px)}
.flow li:after,.flow li:nth-last-child(-n+2):after{display:block;left:50%;content:'↓'}
.flow li:last-child:after{display:none}
.flow ol>.flow-gate{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:15px 30px;background:none;border:0;padding:0}
.flow-gate .flow-decision{border:1px solid var(--line);background:var(--chip);border-radius:7px;padding:16px;position:relative}
.flow-decision .eyebrow{margin-bottom:9px}
.flow-hold{border:1px dashed var(--line);border-radius:7px;padding:16px;position:relative;align-self:start}
.flow-hold:before{content:'';position:absolute;right:100%;top:30px;width:30px;border-top:1px dashed var(--line)}
.flow-pass{grid-column:1;padding:4px 10px 0}
.flow-gate:after{left:calc(25% - 8px)!important}
.flow-pass .eyebrow{font-size:var(--fs-9)}
.card-flow{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;padding:17px;background:var(--bg);border:1px solid var(--line);border-radius:7px}
.card-flow>span{position:relative;font:400 var(--fs-10)/1.5 var(--mono);border:1px solid var(--line);border-radius:4px;padding:9px 10px;background:var(--raised)}
.card-flow>span:after{content:'↓';position:absolute;top:100%;left:50%;font-size:var(--fs-10);line-height:13px;color:var(--muted)}
.card-flow>span:nth-child(n+3):after{display:none}
.card-flow>small{grid-column:span 2;font:400 var(--fs-8)/1.5 var(--mono);color:var(--muted);border-top:1px dashed var(--line);padding-top:8px}
.card-flow>span:nth-child(1):after{content:'→';top:50%;left:auto;right:-14px;margin-top:-6px}
.card-flow>span:nth-child(3){grid-row:2;grid-column:2}
.card-flow>span:nth-child(4){grid-row:2;grid-column:1}
.card-flow>span:nth-child(3):after{display:block;content:'←';top:50%;left:-15px;margin-top:-6px}
.library-controls{grid-template-columns:1.6fr 1fr 1fr 1fr auto}
@media(max-width:1000px){.library-controls{grid-template-columns:1fr 1fr 1fr}
.library-controls label:first-child{grid-column:span 3}
.library-controls .filter-reset{grid-column:span 3}}
@media(max-width:600px){.library-controls{grid-template-columns:1fr 1fr}
.library-controls label:first-child{grid-column:span 2}
.library-controls .filter-reset{grid-column:auto}}
@media(max-width:650px){.flow ol>li{width:100%}
.flow ol>.flow-gate{grid-template-columns:1fr;gap:12px}
.flow-gate .flow-hold{margin-left:22px}
.flow-hold:before{width:22px}
.flow-gate:after{left:50%!important}
.flow-pass{grid-column:1}}
@media(max-width:760px){}
@media(max-width:360px){}
.workflow-lab{margin:32px 0 48px;padding:26px;border:1px solid var(--line);border-radius:14px;background:var(--raised)}
.lab-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}
.workflow-lab h2,.tool-picks h2,.ask-intro h2,.ask-source-results h2{font-size:var(--fs-30);font-weight:300;line-height:1.2;margin:20px 0 12px}
.workflow-lab>p,.tool-picks>p{font-size:var(--fs-13);color:var(--muted);margin-bottom:24px}
.workflow-lab form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.workflow-lab label{font-size:var(--fs-12);display:grid;gap:7px}
.workflow-lab select{min-width:0;width:100%;font:400 var(--fs-13) var(--sans);padding:11px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink)}
.workflow-lab form>.hbtn{justify-self:start;grid-column:span 2;margin-top:4px}
.lab-result{border-left:3px solid var(--lime);padding:18px 20px;margin:24px 0;background:var(--bg)}
.lab-result h3{font-weight:500;font-size:var(--fs-19);margin:10px 0}
.lab-result p{font-size:var(--fs-14);line-height:1.7}
.lab-result small{display:block;font:400 var(--fs-10)/1.6 var(--mono);color:var(--muted);margin-top:12px}
.workflow-lab button.text-link{border:0;background:none;padding:0;color:var(--ink);font-family:inherit;cursor:pointer}
.inline-brief{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:26px 0;margin:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.inline-brief h3{font-size:var(--fs-22);font-weight:300;line-height:1.25;margin:10px 0}
.inline-brief p{font-size:var(--fs-13);color:var(--muted)}
.tool-picks{margin:0 0 36px}
.tool-picks .resource-card{padding:20px}
.tool-picks .resource-card h3{font-size:var(--fs-19)}
.library-ask{margin-top:16px}
.library-more{margin:28px auto 0;display:flex}
.library-more[hidden]{display:none}
.ask-hero{padding-top:80px;padding-bottom:44px}
.ask-hero h1{font-size:var(--fs-hero);font-weight:300;line-height:1.07;letter-spacing:-2.5px;margin:22px 0}
.ask-hero h1 b{font-weight:500}
.ask-hero>p{font-size:var(--fs-17);line-height:1.65;max-width:570px;color:var(--muted)}
.ask-form{display:flex;max-width:790px;gap:10px;margin:30px 0 12px}
.ask-form input{min-width:0;flex:1;padding:17px 18px;font:400 var(--fs-15) var(--sans);border:1px solid var(--line);border-radius:7px;background:var(--raised);color:var(--ink)}
.ask-hero>small{font-size:var(--fs-11);color:var(--muted)}
.ask-suggestions{display:flex;flex-wrap:wrap;gap:9px;max-width:820px;margin-top:25px}
.ask-suggestions button{font:400 var(--fs-12) var(--sans);text-align:left;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:5px;padding:9px 12px;cursor:pointer}
.ask-suggestions button:hover{background:var(--raised)}
.ask-results{max-width:900px;margin-left:auto;margin-right:auto;padding-bottom:80px}
.ask-status{font:400 var(--fs-10)/1.6 var(--mono);color:var(--muted);padding-bottom:18px}
.ask-answer{padding:30px;border:1px solid var(--line);border-radius:10px;margin-bottom:20px;background:var(--raised)}
.ask-answer h2{font-size:var(--fs-26);font-weight:300;line-height:1.25;margin:14px 0}
.ask-answer p,.ask-intro p{font-size:var(--fs-15);line-height:1.75}
.answer-sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.answer-sources a{font-size:var(--fs-12);border-bottom:1px solid var(--line);padding:7px 0;margin-right:12px}
.ask-source{padding:22px 0;border-bottom:1px solid var(--line)}
.ask-source>small{display:block;font:400 var(--fs-10)/1.6 var(--mono);color:var(--muted);margin-bottom:9px}
.ask-source>a{font-size:var(--fs-20);font-weight:500}
.ask-source>p{font-size:var(--fs-13);line-height:1.75;color:var(--muted);margin:9px 0;max-width:760px}
.ask-intro{padding:26px 0;border-top:1px solid var(--line)}
@media(max-width:650px){.workflow-lab{padding:20px}
.workflow-lab form,.inline-brief{grid-template-columns:1fr}
.workflow-lab form>.hbtn{grid-column:1}
.inline-brief{gap:14px}
.ask-hero{padding-top:45px}
.ask-form{flex-direction:column}
.ask-form button{align-self:flex-start}
.ask-answer{padding:23px}
.ask-source>a{font-size:var(--fs-18)}}
.workbench{margin:32px 0 45px}
.workbench-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line)}
.workbench-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:14px 0;font-size:var(--fs-13);color:var(--muted)}
.workbench-tabs button[aria-selected=true]{border-bottom-color:var(--ink);color:var(--ink)}
.workbench [role=tabpanel][hidden]{display:none}
.workbench .workflow-lab{margin:20px 0 0}
.walkthrough-player{padding:28px 0}
.walkthrough-player h2{font-size:var(--fs-30);margin:15px 0 25px}
.walkthrough-player video{width:100%;aspect-ratio:16/9;border:1px solid var(--line);border-radius:9px;background:var(--raised)}
.walkthrough-player>p{font-size:var(--fs-11);color:var(--muted);margin:13px 0 24px}
.walkthrough-player details{padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:var(--fs-13)}
.walkthrough-player summary{cursor:pointer}
.video-transcript{font-size:var(--fs-13);line-height:1.8;color:var(--muted);padding-top:20px}
.walkthrough-player>.text-link{font-size:var(--fs-12);margin-top:22px}
/* Source chronology and accurate, quiet publication records. */
.resource-dates{border-top:1px solid var(--line,var(--line));margin-top:36px;padding-top:16px;font-size:var(--fs-13);color:var(--muted,var(--muted))}
.resource-dates summary{cursor:pointer;font-weight:500}
.resource-dates p{font-size:var(--fs-13)}
.timeline-note{font-size:var(--fs-13)!important;color:var(--muted,var(--muted));max-width:650px!important}
.research-timeline{padding-bottom:80px}
.timeline-entry{display:grid;grid-template-columns:100px minmax(0,800px);gap:24px;border-top:1px solid var(--line,var(--line));padding:28px 0}
.timeline-year{font-size:var(--fs-28);font-weight:300;letter-spacing:-.04em;padding-top:14px}
.timeline-entry .resource-card{width:100%}
.library-ask+.library-ask{margin-left:24px}
@media(max-width:640px){.timeline-entry{grid-template-columns:1fr;gap:12px}
.timeline-year{font-size:var(--fs-22);padding-top:0}
.library-ask+.library-ask{margin-left:0}
.library-ask{display:block!important}}
.watch-hero{padding:48px 0 18px;max-width:1040px}
.watch-hero h1{font-size:var(--fs-hero-compact);line-height:1.08;letter-spacing:-.04em;font-weight:300;margin:16px 0}
.watch-hero>p{max-width:780px;color:var(--muted,var(--tone))}
.watch-hero video{display:block;width:100%;aspect-ratio:16/9;border-radius:16px;background:var(--graphite);margin:24px 0 12px}
.watch-caption{display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:var(--fs-13)}
.watch-evidence{font-size:var(--fs-12)}
.watch-notes{max-width:1040px;padding-bottom:60px}
.watch-notes>.text-link{margin:18px 0 34px}
.watch-notes summary{cursor:pointer;font-size:var(--fs-16)}
.watch-index{padding:70px 0}
.watch-index>p{max-width:680px}
.watch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:44px 0}
.watch-card{border:1px solid var(--line,var(--line));border-radius:20px;overflow:hidden;padding:0 24px 24px;background:var(--card,var(--raised))}
.watch-card img{width:calc(100% + 48px);max-width:none;height:auto;margin:0 -24px 24px;aspect-ratio:16/9}
.watch-card h2{font-weight:400;font-size:var(--fs-24);line-height:1.2;margin:16px 0}
.watch-card p{color:var(--muted,var(--tone))}
@media(max-width:640px){.watch-grid{grid-template-columns:1fr}
.watch-caption{align-items:flex-start;flex-direction:column}
.watch-hero{padding-top:32px}}
/* ---- Design-system alignment (2026-10-08): the Hub shares the site's type scale, nav, buttons and footer.
   One layer at the end, so the Hub's own rules stay untouched. Hub-only rules are scoped to .hub-page;
   the footer (.hf) is on every page. ---- */
.hub-page{font-size:var(--fs-15-5)}
/* type: light headlines on the site scale (hero 56, page 48, section 40, card 18) */
.hub-page h1{font-size:var(--fs-hero);font-weight:300;letter-spacing:-.035em;line-height:1.06}
.hub-page h1 b{font-weight:500}
.resource-hero h1,.book-layout h1,.watch-hero h1,.utility h1{font-size:var(--fs-hero-compact);font-weight:300}
.hub-page h2{font-size:var(--fs-h2);font-weight:300}
.destination h2,.prose h2,.handoff h2,.workflow-lab h2,.tool-picks h2,.walkthrough-player h2,.ask-intro h2,.ask-source-results h2,.ask-answer h2{font-size:var(--fs-24);font-weight:300;letter-spacing:-.02em}
.hub-page h3,.resource-card h3,.problem-list h3,.watch-card h2{font-size:var(--fs-18);font-weight:500;letter-spacing:-.01em;line-height:1.3}
.hub-hero>div>p,.resource-answer{font-size:var(--fs-16-5)}
.prose p,.prose li{font-size:var(--fs-15-5)}
/* buttons: the site's lime button, 48px tall, radius 12, 15px label */
.hub-page .hbtn{min-height:48px;padding:0 22px;border-radius:12px;font-size:var(--fs-15);gap:12px}
.hub-page .hbtn svg,.hub-page .text-link svg{width:14px;height:14px}
.hub-page .text-link{gap:10px;font-size:var(--fs-15)}
.hero-actions{align-items:center}
@media(max-width:760px){.hub-page h1{font-size:var(--fs-34)}}
.card-flow{min-width:0;overflow:hidden}
/* the site's headline voice: lead words in tone, key words in ink, never bold in section titles (rule 37).
   The build wraps the key words of plain Hub titles in <b> (tools/build_site.py, apply_chrome). */
.hub-page h1:has(b),.hub-page h2:has(b){color:var(--tone)}
.hub-page h1 b{color:var(--ink)}
.hub-page h2 b{font-weight:var(--fw-light);color:var(--ink)}
/* .hbtn is the site's .btn-lime: same label weight, gap and quiet hover */
.hub-page .hbtn{gap:10px;font-weight:var(--fw-key);transition:filter var(--t-ui)}
.hub-page .hbtn:hover{transform:none;box-shadow:none;filter:brightness(1.05)}
/* the footer owns the space above it (chrome.css: margin-top var(--section)), as on every site page */
.hub-page main > section:last-of-type{padding-bottom:0}
.hub-page main > section:has(+ .cta-close){padding-bottom:0}
