/* AutomateNI: one semantic palette per surface; dark by default. */
:root { --paper:#151718; --paper-deep:#202426; --paper-light:#262b2e; --ink:#f5f3ee; --ink-soft:#d4d8d3; --orange:#ff7548; --orange-dark:#ff9b78; --blue:#a9c9f4; --blue-dark:#a9c9f4; --graphite:#c4cbc7; --line:rgba(245,243,238,.32); --line-strong:#9aaba3; --field-bg:#1d2022; --error:#ffac92; --grid:url('/assets/images/textures/paper-grid-dark.svg'); color-scheme:dark; --sans:"Space Grotesk","Aptos Display","Trebuchet MS",sans-serif; --mono:"IBM Plex Mono",Consolas,monospace; --gutter:clamp(20px,4.8vw,78px); --max:1360px; --reading:74ch; }
html[data-theme="light"], .paper-panel, .workbook-preview { --paper:#f5f3ee; --paper-deep:#e9e2d6; --paper-light:#fbf9f4; --ink:#151718; --ink-soft:#343938; --orange:#ac3717; --orange-dark:#943215; --blue:#275da8; --blue-dark:#1d4b89; --graphite:#505b60; --line:rgba(21,23,24,.25); --line-strong:#707773; --field-bg:#fffdf9; --error:#a12d15; --grid:url('/assets/images/textures/paper-grid.svg'); color-scheme:light; }
.section-dark, .join-section { --paper:#151718; --paper-deep:#202426; --paper-light:#262b2e; --ink:#f5f3ee; --ink-soft:#d4d8d3; --orange:#ff7548; --orange-dark:#ff9b78; --blue:#a9c9f4; --blue-dark:#a9c9f4; --graphite:#c4cbc7; --line:rgba(245,243,238,.32); --line-strong:#9aaba3; --field-bg:#1d2022; --error:#ffac92; --grid:url('/assets/images/textures/paper-grid-dark.svg'); color-scheme:dark; }
.section-blueprint { --paper:#174b90; --paper-deep:#123e78; --paper-light:#262b2e; --ink:#f5f3ee; --ink-soft:#e0ecff; --orange:#ffc0a9; --orange-dark:#ffd2c3; --blue:#a9c9f4; --blue-dark:#a9c9f4; --graphite:#c4cbc7; --line:#aac2e1; --line-strong:#aac2e1; --field-bg:#1d2022; --error:#ffac92; --grid:url('/assets/images/textures/blueprint-grid.svg'); color-scheme:dark; }
html { scroll-behavior: auto; background: var(--paper); }
main, section, article, aside, nav, figure, .container, .hero-copy, .editorial-copy, .page-hero-inner > *, .event-row > *, .build-row > * { min-width: 0; }
p, h1, h2, h3, a, code, span { overflow-wrap: anywhere; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
input, textarea { caret-color: var(--orange); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--orange); }
button:disabled { opacity: .65; cursor: not-allowed; }
code, time { font-variant-numeric: tabular-nums; }
::selection { background: #ffd0bd; color: #151718; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
* { box-sizing: border-box; scrollbar-color: var(--blue) var(--paper-deep); scrollbar-width: thin; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 1000; transform: translateY(-160%); padding: 10px 14px; background: var(--ink); color: var(--paper); }
.skip-link:focus { transform: translateY(0); }
.container { width: min(var(--max), calc(100% - 2 * var(--gutter))); margin-inline: auto; }
.reading { width: min(var(--reading), 100%); }
.header-inner { min-height: 74px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; font-size: 25px; font-weight: 700; letter-spacing: -.04em; line-height: 1; }
.brand span { color: var(--orange); }
.site-nav { display: flex; justify-content: flex-end; align-items: center; gap: clamp(18px, 2.8vw, 38px); font-size: 14px; font-weight: 650; }
.site-nav a { min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; border-bottom: 1px solid transparent; }
.site-nav a:hover, .site-nav a[aria-current="page"] { border-bottom-color: var(--orange); }
.site-nav .nav-cta { padding: 0 15px; border: 1px solid var(--ink); }
.site-nav .nav-cta:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.header-actions { display: flex; align-items: center; gap: 8px; justify-self: end; }
.theme-toggle { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--line-strong); background: transparent; color: var(--ink); cursor: pointer; }
.theme-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: square; }
.theme-toggle:hover { background: var(--paper-deep); }
.nav-toggle { display:none; width:44px; height:44px; padding:0; border:1px solid var(--line-strong); background:transparent; color:var(--ink); place-items:center; cursor:pointer; flex:none; }
.menu-icon { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; }
.menu-icon path { transform-origin:12px 12px; transition:transform .18s ease, opacity .12s ease; }
.nav-toggle[aria-expanded="true"] path:first-child { transform:translateY(6px) rotate(45deg); transform-origin:12px 6px; }
.nav-toggle[aria-expanded="true"] path:nth-child(2) { opacity:0; }
.nav-toggle[aria-expanded="true"] path:last-child { transform:translateY(-6px) rotate(-45deg); transform-origin:12px 18px; }
.button, .button-light { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 18px; border: 1px solid var(--ink); text-decoration: none; font-weight: 650; cursor: pointer; transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s cubic-bezier(.2,.8,.2,1); }
.button { background: var(--ink); color: var(--paper); }
.button-light, .button-outline { background: transparent; color: var(--ink); }
.button:hover, .button-light:hover { background: #e65224; border-color: #e65224; color: #151718; transform: translateY(-1px); }
.text-link { display: inline-flex; align-items: center; min-height: 40px; font-weight: 650; text-decoration-color: var(--orange); }
.text-link:hover { color: var(--orange-dark); }
.hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--ink); }
.wordmark { margin: 0; font-size: clamp(48px,6vw,86px); line-height: .9; font-weight: 700; letter-spacing: -.04em; }
.wordmark span { color: var(--orange); }
/* Slow signal paths stay on the workshop margins, behind solid reading surfaces. */
.workshop-circuit { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; color:var(--orange); }
.workshop-tracks { fill:var(--paper); stroke:currentColor; stroke-width:1; opacity:.4; }
.workshop-packets { fill:currentColor; }
.workshop-packet { animation-duration:24s; animation-timing-function:linear; animation-iteration-count:infinite; animation-play-state:paused; }
.workshop-packet-a { animation-name:workshop-top; transform:translate(0px,40px); }
.workshop-packet-b { animation-name:workshop-bottom; animation-duration:31s; transform:translate(0px,795px); }
html[data-workshop-motion="running"] .workshop-packet { animation-play-state:running; }
@keyframes workshop-top { 0% {transform:translate(0px,40px);opacity:0;} 5% {opacity:1;} 65% {transform:translate(1030px,40px);} 72% {transform:translate(1030px,110px);} 95% {opacity:1;} 100% {transform:translate(1440px,110px);opacity:0;} }
@keyframes workshop-bottom { 0% {transform:translate(0px,795px);opacity:0;} 5% {opacity:1;} 16% {transform:translate(250px,795px);} 20% {transform:translate(250px,830px);} 80% {transform:translate(1260px,830px);} 90% {transform:translate(1260px,720px);} 95% {opacity:1;} 100% {transform:translate(1440px,720px);opacity:0;} }
.community-scope { max-width:52ch; margin:24px 0 8px; color:var(--ink-soft); background:var(--paper); font-size:16px; }
.motion-toggle { border:0; border-bottom:1px solid var(--line-strong); background:var(--paper); padding:10px 0; min-height:44px; font-size:14px; cursor:pointer; }
.motion-toggle:disabled { cursor:default; }
@media (prefers-reduced-motion:reduce) { .workshop-packet { animation:none; } }
.hero h1 { max-width: 760px; margin: 36px 0 0; font-size: clamp(42px,5.4vw,76px); line-height: .96; letter-spacing: -.04em; font-weight: 600; text-wrap: balance; }
.hero-fact { width: min(100%,620px); margin-top: 38px; display: grid; grid-template-columns: 74px 1fr; gap: 20px; padding: 17px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.hero-fact code { font-family: var(--mono); font-size: 12px; color: var(--blue-dark); }
.hero-fact strong { display: block; font-size: 21px; line-height: 1.1; }
.hero-fact span { display: block; margin-top: 5px; color: var(--ink-soft); font-size: 14px; }
.hero-actions { margin-top: 29px; display: flex; flex-wrap: wrap; gap: 14px; }
.hero-photo { position: relative; z-index: 1; margin: 0; border: 1px solid var(--ink); background: var(--paper-deep); transform: rotate(.25deg); box-shadow: 0 24px 60px rgba(21,23,24,.12); }
.hero-photo::before { content: ""; position: absolute; z-index: 3; top: -13px; left: 16%; width: 126px; height: 29px; background: rgba(233,226,214,.93); border: 1px solid rgba(21,23,24,.08); transform: rotate(-2deg); }
.hero-photo img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.hero-photo figcaption, .photo-caption { padding: 11px 13px; border-top: 1px solid var(--ink); background: var(--paper); font-family: var(--sans); font-size: 14px; line-height: 1.45; color: var(--ink-soft); }
.build-tape { border-bottom: 1px solid var(--ink); background: var(--paper-deep); }
.build-tape-inner { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; }
.build-tape a:first-child { border-left: 1px solid var(--ink); }
.build-tape code { font-family: var(--mono); color: var(--blue-dark); font-size: 10px; }
.build-tape strong { font-size: 18px; line-height: 1.18; }
.build-tape a:hover strong { color: var(--orange); }
.section { padding: clamp(82px,8vw,128px) 0; }
.section-dark .section-title p { color: var(--ink-soft); }
.event-ledger { border-top: 1px solid var(--ink); }
.event-row { display: grid; grid-template-columns: 58px 120px minmax(0,1.1fr) minmax(0,.7fr) 100px; gap: clamp(16px,3vw,48px); align-items: start; padding: 30px 0; border-bottom: 1px solid var(--ink); text-decoration: none; }
.event-row:first-child { background: var(--paper-deep); }
.event-row code { font-family: var(--mono); font-size: 11px; color: var(--blue-dark); padding-top: 4px; }
.event-row time { font-family: var(--mono); font-size: 13px; line-height: 1.35; }
.event-row h3 { margin: 0; font-size: clamp(27px,2.7vw,40px); line-height: 1.02; letter-spacing: -.04em; }
.event-row p { margin: 8px 0 0; color: var(--ink-soft); }
.event-meta { font-size: 14px; color: var(--ink-soft); }
.event-row .go { justify-self: end; font-weight: 650; }
.event-row:hover h3, .event-row:hover .go { color: var(--orange); }
.editorial-photo { margin: 0; border: 1px solid var(--ink); background: var(--paper-light); }
.editorial-photo img { width: 100%; height: auto; object-fit: cover; }
.editorial-copy h2 { margin: 0; font-size: clamp(44px,5vw,72px); line-height: .98; letter-spacing: -.04em; font-weight: 600; }
.editorial-copy > p { max-width: 62ch; color: var(--ink-soft); }
.work-list { margin-top: 45px; border-top: 1px solid var(--line-strong); }
.work-list code { font-family: var(--mono); font-size: 10px; color: var(--blue-dark); }
.work-list span { font-size: 14px; color: var(--ink-soft); }
.work-list a:hover strong { color: var(--orange); }
.section-dark .work-list { border-color: var(--line); }
.section-dark .work-list a { border-color: var(--line); }
.section-dark .work-list code { color: var(--blue); }
.section-dark .work-list span { color: var(--ink-soft); }
.idea-board::after { content: ""; position: absolute; width: 100px; height: 25px; top: -12px; right: 14%; background: rgba(233,226,214,.88); border: 1px solid rgba(21,23,24,.08); transform: rotate(1.7deg); }
.idea-board h3 { margin: 0; font-size: clamp(30px,3vw,44px); letter-spacing: -.04em; }
.idea-controls { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.idea-controls button { min-height: 44px; padding: 8px 12px; border: 1px solid var(--ink); background: transparent; cursor: pointer; }
.idea-controls button[aria-pressed="true"], .idea-controls button:hover { background: #174b90; border-color: var(--blue); color: #ffffff; }
.idea-result p { max-width: 42ch; margin: 0; font-size: clamp(25px,2.5vw,38px); line-height: 1.16; letter-spacing: -.03em; }
.idea-result small { margin-top: 16px; color: var(--ink-soft); }
.topic-lines h3 { margin: 0; font-size: clamp(25px,2.5vw,36px); letter-spacing: -.035em; }
.topic-lines .arrow { align-self: center; justify-self: end; font-size: 25px; }
.topic-lines a:hover h3, .topic-lines a:hover .arrow { color: var(--orange); }
.resource-download h3 { margin: 0; font-size: 31px; line-height: 1.05; letter-spacing: -.04em; }
.resource-download p { color: var(--ink-soft); }
.resource-download .button { margin-top: 13px; width: 100%; }
.resource-stream { border-top: 1px solid var(--ink); }
.resource-row code { font-family: var(--mono); color: var(--blue-dark); font-size: 10px; padding-top: 4px; }
.resource-row h3 { margin: 0; font-size: 26px; line-height: 1.1; letter-spacing: -.03em; }
.resource-row p { margin: 8px 0 0; color: var(--ink-soft); }
.resource-row:hover h3 { color: var(--orange); }
.news-strip h2 { margin: 0; font-size: clamp(42px,4.8vw,68px); line-height: 1; letter-spacing: -.04em; }
.news-list { border-top: 1px solid var(--line-strong); }
.news-list a { display: grid; grid-template-columns: 120px 1fr; gap: 20px; padding: 19px 0; border-bottom: 1px solid var(--line-strong); text-decoration: none; }
.news-list time { font-family: var(--mono); font-size: 10px; color: var(--blue-dark); }
.news-list strong { font-size: 19px; }
.news-list a:hover strong { color: var(--orange); }
.join-section { background: var(--paper); color: var(--ink); }
.join-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(50px,7vw,110px); align-items: start; }
.join-copy h2 { margin: 0; font-size: clamp(44px,5.4vw,78px); line-height: .96; letter-spacing: -.04em; }
.join-copy p { max-width: 56ch; color: var(--ink-soft); }
.join-options { border-top: 1px solid var(--line); }
.join-options a { min-height: 104px; display: grid; grid-template-columns: 1fr 40px; align-items: center; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.join-options strong { font-size: clamp(26px,3vw,42px); letter-spacing: -.04em; line-height: 1; }
.join-options span { justify-self: end; font-size: 25px; }
.join-options a:hover { color: var(--orange); }
.newsletter { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); }
.newsletter h3 { margin: 0; font-size: 28px; }
.newsletter p { max-width: 60ch; color: var(--ink-soft); }
.newsletter-form .button { border-color: var(--ink); background: var(--ink); color: var(--paper); width: 100%; justify-self: start; }
.newsletter-form .button:hover { background: #e65224; color: #151718; border-color: #e65224; }
.form-status { min-height: 1.45em; margin-top: 10px; font-size: 14px; color: var(--blue); }
.form-status[data-state="error"] { color: var(--error); }
.form-status[data-state="success"] { color: var(--blue); }
.form-consent { margin-top: 10px; display: flex; gap: 9px; align-items: flex-start; font-size: 15px; color: var(--ink-soft); }
.form-consent input { margin-top: 4px; }
.page-hero-inner { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.4fr); gap: clamp(44px,7vw,110px); align-items: end; }
.page-hero h1 { max-width: 1000px; margin: 0; font-size: clamp(50px,7vw,96px); line-height: .94; letter-spacing: -.04em; font-weight: 600; text-wrap: balance; }
.page-hero p { max-width: 65ch; margin: 28px 0 0; font-size: 20px; color: var(--ink-soft); }
.page-meta { justify-self: end; width: 100%; border-top: 1px solid var(--ink); }
.page-meta div { display: grid; grid-template-columns: 100px 1fr; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--ink); font-size: 14px; }
.page-meta code { font-family: var(--mono); color: var(--blue-dark); font-size: 10px; }
.archive { padding: clamp(60px,7vw,110px) 0; }
.archive-intro { display: grid; grid-template-columns: .65fr 1.35fr; gap: 60px; margin-bottom: 55px; }
.archive-intro h2 { margin: 0; font-size: 34px; letter-spacing: -.035em; }
.archive-intro p { margin: 0; max-width: 68ch; color: var(--ink-soft); }
.build-row:last-child { border-bottom: 1px solid var(--ink); }
.build-row img { width: 220px; aspect-ratio: 4/3; object-fit: cover; border: 1px solid var(--ink); }
.build-row h2 { margin: 0; font-size: clamp(28px,3vw,42px); letter-spacing: -.04em; line-height: 1.03; }
.build-row p { margin: 9px 0 0; color: var(--ink-soft); }
.build-row code { font-family: var(--mono); font-size: 10px; color: var(--blue-dark); }
.build-row:hover h2 { color: var(--orange); }
.article-body > p:first-child { font-size: 24px; line-height: 1.35; letter-spacing: -.018em; color: var(--ink); }
.article-contents { margin:32px 0; padding:20px 0; border-block:1px solid var(--line-strong); }
.article-contents ol { padding-left:1.4em; }
.article-contents a { display:inline-block; padding-block:5px; }
.article-body .article-source { font-size:15px; line-height:1.6; }
.article-body pre { max-width:100%; overflow:auto; padding:20px; background:var(--paper-deep); font-size:14px; line-height:1.6; }
.article-body pre code { overflow-wrap:normal; }
.article-supporting { margin-block:36px; }
.article-supporting img { max-height:460px; object-fit:contain; background:var(--paper-deep); }
.article-body p { color: var(--ink-soft); }
.article-body ul { padding-left: 1.2em; }
.article-body li { margin: 8px 0; color: var(--ink-soft); }
.article-aside a { display: block; padding: 14px 0; border-bottom: 1px solid var(--ink); text-decoration: none; font-size: 14px; }
.article-aside a:hover { color: var(--orange); }
.article-aside strong { display: block; margin-top: 30px; font-size: 17px; }
.article-cta { margin-top: 64px; padding: 28px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.article-cta p { color: var(--ink); font-size: 20px; }
.build-hero { display: grid; grid-template-columns: minmax(420px,1.1fr) minmax(360px,.9fr); gap: clamp(50px,7vw,100px); padding: clamp(60px,7vw,105px) 0; }
.build-hero figure { margin: 0; border: 1px solid var(--ink); }
.build-hero figure img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.build-hero-copy h1 { margin: 0; font-size: clamp(46px,6vw,84px); line-height: .95; letter-spacing: -.04em; font-weight: 600; }
.build-hero-copy > p { font-size: 21px; color: var(--ink-soft); }
.build-spec { margin-top: 34px; border-top: 1px solid var(--ink); }
.build-spec div { display: grid; grid-template-columns: 108px 1fr; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--ink); font-size: 14px; }
.build-spec code { font-family: var(--mono); color: var(--blue-dark); font-size: 10px; }
.build-story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px,7vw,100px); padding-bottom: clamp(70px,8vw,120px); }
.build-story h2 { margin: 0 0 18px; font-size: 36px; letter-spacing: -.04em; }
.build-story p, .build-story li { color: var(--ink-soft); }
.stack-list { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; }
.stack-list li { padding: 7px 10px; border: 1px solid var(--line-strong); font-family: var(--mono); font-size: 11px; color: var(--ink); }
.tool-copy h1 { margin: 0; font-size: clamp(46px,6vw,82px); line-height: .96; letter-spacing: -.04em; font-weight: 600; }
.tool-copy p { color: var(--ink-soft); }
.tool-panel h2 { margin: 0 0 26px; font-size: 30px; letter-spacing: -.035em; }
.field { display: grid; gap: 7px; margin-top: 18px; }
.field label, .field > span { font-size: 14px; font-weight: 650; }
.field input, .field select, .field textarea { min-height: 50px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 0; background: var(--field-bg); color: var(--ink); min-width: 0; width: 100%; color-scheme: inherit; }
.field textarea { min-height: 126px; resize: vertical; }
.field small { color: var(--graphite); }
.range-row { display: grid; grid-template-columns: 1fr 85px; gap: 12px; align-items: center; }
.range-row output { font-family: var(--mono); text-align: right; font-size: 12px; color: var(--blue-dark); }
.tool-result h3 { margin: 0; font-size: 27px; }
.result-number { display: block; margin-top: 12px; font-size: clamp(44px,6vw,76px); font-weight: 600; letter-spacing: -.04em; line-height: .95; color: var(--orange); }
.result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; margin-top: 22px; border-top: 1px solid var(--ink); }
.result-grid div { padding: 14px 0; border-bottom: 1px solid var(--ink); }
.result-grid code { display: block; font-family: var(--mono); font-size: 10px; color: var(--blue-dark); }
.result-grid strong { display: block; margin-top: 4px; font-size: 18px; }
.downloads { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 70px; border-top: 1px solid var(--ink); }
.download-item { padding: 26px 0; border-bottom: 1px solid var(--ink); }
.download-item h3 { margin: 0; font-size: 28px; letter-spacing: -.035em; }
.download-item p { color: var(--ink-soft); }
.download-item a { font-weight: 650; text-decoration-color: var(--orange); }
.form-page h1 { margin: 0; font-size: clamp(48px,6vw,86px); line-height: .95; letter-spacing: -.04em; font-weight: 600; }
.form-page-copy p { color: var(--ink-soft); }
.form-box .field { padding: 18px 0; margin: 0; border-bottom: 1px solid var(--ink); }
.form-box .button { margin-top: 24px; }
.checkbox-row { display: flex; gap: 10px; align-items: flex-start; margin-top: 18px; font-size: 14px; }
.checkbox-row input { margin-top: 5px; }
.breadcrumbs { padding-top: 20px; padding-bottom: 4px; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 7px 10px; margin: 0; padding: 0; list-style: none; font-size: 13px; color: var(--ink-soft); }
.breadcrumbs li { display: inline-flex; align-items: center; gap: 10px; }
.breadcrumbs li:not(:last-child)::after { content: "/"; color: var(--blue-dark); }
.breadcrumbs a { text-decoration-color: var(--line-strong); }
.breadcrumbs a:hover { color: var(--orange-dark); }
.compact-field { display: grid; gap: 8px; min-width: 0; }
.compact-field label { font-size: 15px; font-weight: 650; color: var(--ink); }
.compact-field label span { font-weight: 400; }
.field-error { min-height: 1.2em; font-size: 14px; color: var(--error); }
[aria-invalid="true"] { border-color: var(--error) !important; outline-color: var(--error) !important; }
.site-footer { background: var(--paper-deep); border-top: 1px solid var(--ink); padding: 52px 0 28px; }
.footer-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 50px; }
.footer-brand p { max-width: 58ch; margin: 12px 0 0; color: var(--ink-soft); }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: 8px 24px; }
.footer-links a { min-height: 42px; display: inline-flex; align-items: center; text-decoration: none; border-bottom: 1px solid transparent; }
.footer-links a:hover { border-color: var(--orange); }
.footer-note { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 30px; padding-top: 17px; border-top: 1px solid var(--line); font-size: 14px; color: var(--ink-soft); }
.signal-path { stroke-dasharray: 9 7; animation: signalDash 4.6s linear infinite; }
.status-pulse { animation: statusPulse 2.8s ease-in-out infinite; }
.arrow-icon { width: 1.15em; height: 1.15em; display: inline-block; vertical-align: -0.14em; }
.go { display: inline-flex; align-items: center; gap: 7px; }
.arrow { display: inline-flex; align-items: center; justify-content: flex-end; }
.join-options a > span { display: inline-flex; align-items: center; justify-content: flex-end; }
.lead-magnet { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--ink); }
.lead-magnet-form { display: grid; gap: 12px; }
.lead-magnet-form .field { margin: 0; }
.lead-magnet-form label:not(.form-consent), .tool-capture label:not(.form-consent) { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 650; }
.lead-magnet-form input[type="email"], .tool-capture input[type="email"] { width: 100%; min-height: 46px; padding: 10px 11px; border: 1px solid var(--ink); background: transparent; color: var(--ink); }
.lead-magnet .button { width: 100%; }
.download-reveal { display: inline-flex; margin-top: 12px; width: 100%; justify-content: center; }
.download-reveal[hidden] { display: none; }
.lead-note { margin: 12px 0 0; font-size: 12px; line-height: 1.45; color: var(--ink-soft); }
.tool-capture .form-consent { color: var(--ink-soft); }
.talk-list { border-top: 1px solid rgba(245,243,238,.38); }
.talk-row { display: grid; grid-template-columns: 120px 1fr; gap: 28px; padding: 22px 0; border-bottom: 1px solid rgba(245,243,238,.24); }
.talk-row code { font-family: var(--mono); color: #9cc0ef; font-size: 11px; padding-top: 5px; }
.talk-row h3 { margin: 0; font-size: clamp(24px,2.3vw,34px); letter-spacing: -.035em; }
.talk-row p { margin: 7px 0 0; color: #cbd0ca; }
.photo-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 38px; }
.photo-grid figure { margin: 0; }
.photo-grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border: 1px solid var(--ink); }
.photo-grid figcaption { margin-top: 7px; font-size: 14px; color: var(--ink-soft); }
img { display: block; max-width: 100%; height: auto; }
.site-header { position: sticky; top: 0; z-index: 120; background: var(--paper); border-bottom: 1px solid var(--line); overflow: visible; }
.scroll-signal { position: absolute; z-index: 4; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--orange); transform: scaleX(0); transform-origin: left center; pointer-events: none; }
.hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 1; background-image: var(--grid); background-size: 144px 144px; }
.page-hero { padding: clamp(70px,8vw,120px) 0 clamp(55px,6vw,90px); border-bottom: 1px solid var(--ink); background-image: var(--grid); position: relative; background-size: 144px 144px; }
.page-hero::after { content: ""; position: absolute; right: max(var(--gutter),calc((100vw - var(--max))/2)); bottom: 22px; width: 78px; height: 78px; border-right: 1px solid var(--blue); border-bottom: 1px solid var(--blue); opacity: .55; pointer-events: none; }
.section-working { background: var(--paper-deep); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background-color: var(--paper-deep); background-image: var(--grid); background-size: 144px 144px; }
.section-dark { background: var(--paper); color: var(--ink); background-color: var(--paper); background-image: var(--grid); background-size: 144px 144px; }
.section-blueprint { color: var(--ink); background: var(--paper) url('/assets/images/textures/blueprint-grid.svg') repeat; border-top: 1px solid #0e315f; border-bottom: 1px solid #0e315f; }
.section-blueprint .download-item { border-color: rgba(247,244,237,.48); }
.section-blueprint .download-item p { color: #dce9fb; }
.section-blueprint a:not(.button):not(.button-light) { color: #fff; text-decoration-color: #ff815c; }
.section-blueprint a:not(.button):not(.button-light):hover { color: #ffd2c3; }
.event-visual-band { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(280px,.55fr); gap: clamp(28px,5vw,70px); margin: 0 0 clamp(50px,6vw,84px); align-items: end; }
.event-visual-band figure { margin: 0; border: 1px solid var(--ink); background: var(--paper-light); }
.event-visual-band img { width: 100%; aspect-ratio: 16/8.7; object-fit: cover; }
.event-visual-band figcaption { padding: 9px 12px; border-top: 1px solid var(--ink); font-size: 14px; color: var(--ink-soft); }
.event-visual-note { padding: 28px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.event-visual-note strong { display: block; font-size: clamp(28px,3vw,44px); line-height: 1; letter-spacing: -.04em; }
.event-visual-note p { color: var(--ink-soft); }
.builds-intro { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); gap: clamp(38px,6vw,90px); align-items: end; margin-bottom: clamp(56px,7vw,100px); }
.builds-intro h2 { margin: 0; max-width: 12ch; font-size: clamp(38px,4.8vw,68px); line-height: .96; letter-spacing: -.04em; }
.builds-intro p { max-width: 56ch; color: var(--ink-soft); }
.builds-intro figure { margin: 0; border: 1px solid var(--ink); }
.builds-intro figure img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.builds-intro figcaption { padding: 9px 12px; border-top: 1px solid var(--ink); font-size: 14px; color: var(--ink-soft); }
.build-archive { border-top: 1px solid var(--ink); }
.build-row { display: grid; grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr); gap: 0; padding: 0; border-top: 0; text-decoration: none; align-items: stretch; min-height: 330px; border-bottom: 1px solid var(--ink); }
.build-row-media { margin: 0; min-height: 100%; overflow: hidden; background: var(--paper-deep); border-right: 1px solid var(--ink); }
.build-row-media img { width: 100%; height: 100%; min-height: 330px; aspect-ratio: auto; object-fit: cover; border: 0; transition: transform .55s cubic-bezier(.2,.8,.2,1); }
.build-row-copy { display: grid; align-content: center; padding: clamp(34px,5vw,70px); }
.build-row-copy code { margin-bottom: 16px; }
.build-row-copy h2 { max-width: 18ch; }
.build-open { display: inline-flex; align-items: center; gap: 8px; margin-top: 28px; font-weight: 650; }
.build-row:nth-child(even) .build-row-media { order: 2; border-right: 0; border-left: 1px solid var(--ink); }
.build-row:nth-child(even) .build-row-copy { order: 1; }
.build-row:hover .build-row-media img { transform: scale(1.018); }
.build-row:hover .build-open { color: var(--orange); }
.resource-kit { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(400px,1.28fr); gap: clamp(45px,7vw,110px); align-items: center; }
.workbook-preview { margin: 0; padding: clamp(18px,2vw,28px); background: #d9d1c3; border: 1px solid var(--ink); transform: rotate(-.4deg); box-shadow: 0 20px 46px rgba(21,23,24,.10); }
.workbook-preview img { width: 100%; background: #fff; border: 1px solid rgba(21,23,24,.22); }
.workbook-preview figcaption { margin-top: 12px; font-size: 14px; color: #202426; }
.resource-kit .resource-download { position: static; padding: 0; border: 0; background: transparent; }
.resource-kit .resource-download h2 { margin: 0; max-width: 12ch; font-size: clamp(42px,5vw,72px); line-height: .96; letter-spacing: -.04em; }
.resource-kit .lead-magnet { max-width: 620px; }
.resource-catalogue { border-top: 1px solid var(--ink); }
.resource-catalogue-row { min-height: 210px; display: grid; grid-template-columns: 190px minmax(0,1fr) 38px; gap: clamp(24px,4vw,56px); align-items: center; padding: 24px 0; border-bottom: 1px solid var(--ink); text-decoration: none; }
.resource-catalogue-row img { width: 190px; height: 150px; object-fit: cover; border: 1px solid var(--ink); }
.resource-catalogue-row code { font-family: var(--mono); font-size: 10px; color: var(--blue-dark); }
.resource-catalogue-row h3 { margin: 8px 0 0; font-size: clamp(26px,2.7vw,40px); line-height: 1.04; letter-spacing: -.035em; }
.resource-catalogue-row p { max-width: 70ch; margin: 8px 0 0; color: var(--ink-soft); }
.resource-catalogue-row > span { justify-self: end; }
.resource-catalogue-row:hover h3, .resource-catalogue-row:hover > span { color: var(--orange); }
.tool-promo { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(45px,7vw,100px); align-items: start; }
.tool-promo > div:first-child h2 { margin: 0; max-width: 10ch; font-size: clamp(44px,5vw,72px); line-height: .96; letter-spacing: -.04em; }
.tool-promo > div:first-child p { max-width: 48ch; color: #dce9fb; }
.article-feature { width: min(100%,900px); margin: 0 0 clamp(38px,5vw,64px); border: 1px solid var(--ink); background: var(--paper-deep); }
.article-feature img { width: 100%; max-height: 540px; object-fit: contain; }
.article-feature figcaption { padding: 10px 12px; border-top: 1px solid var(--ink); font-size: 14px; color: var(--ink-soft); }
.brand-map img { display: block; max-height: none; }
.brand-map figcaption a { display: inline-block; margin-left: .35em; }
.diagram-transcript { padding: 14px 18px; border-top: 1px solid var(--line-strong); background: var(--paper); color: var(--ink); font-size: 16px; line-height: 1.6; }
.diagram-transcript summary { cursor: pointer; font-weight: 600; }
.diagram-transcript ol { padding-left: 1.4em; margin: 16px 0 0; }
.diagram-transcript li { padding-left: .3em; margin: 0 0 10px; }
.article-body > p:first-of-type { font-size: clamp(19px,2vw,24px); line-height: 1.35; letter-spacing: -.018em; color: var(--ink); }
.article-body h2::before { content: ""; position: absolute; left: -28px; top: .48em; width: 9px; height: 9px; background: var(--orange); }
.topic-intro { display: grid; grid-template-columns: minmax(330px,.8fr) minmax(0,1.2fr); gap: clamp(45px,7vw,100px); align-items: start; }
.topic-intro figure { margin: 0; border: 1px solid var(--ink); position: sticky; top: 108px; }
.topic-intro figure img { width:100%; height:auto; }
.topic-intro figure figcaption { padding: 10px 12px; border-top: 1px solid var(--ink); font-size: 14px; color: var(--ink-soft); }
.topic-intro h2 { margin: 0 0 24px; font-size: clamp(38px,4vw,58px); line-height: .98; letter-spacing: -.04em; }
.tool-shell { display: grid; grid-template-columns: minmax(330px,.72fr) minmax(500px,1.28fr); gap: clamp(50px,7vw,110px); padding: clamp(65px,7vw,110px) 0; align-items: start; }
.tool-copy { position: sticky; top: 110px; }
.tool-photo figcaption { padding: 9px 12px; border-top: 1px solid var(--ink); font-size: 14px; color: var(--ink-soft); }
.tools-feature { display: grid; grid-template-columns: minmax(340px,.9fr) minmax(0,1.1fr); gap: clamp(42px,7vw,100px); align-items: start; }
.tools-feature figure { margin: 0; border: 1px solid var(--ink); position: sticky; top: 110px; }
.tools-feature figure img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.tools-feature figcaption { padding: 9px 12px; border-top: 1px solid var(--ink); font-size: 14px; color: var(--ink-soft); }
.tools-index-list { border-top: 1px solid var(--ink); }
.tools-index-list a { min-height: 150px; display: grid; grid-template-columns: 1fr 38px; align-content: center; padding: 24px 0; border-bottom: 1px solid var(--ink); text-decoration: none; }
.tools-index-list strong { font-size: clamp(26px,2.8vw,40px); line-height: 1.02; letter-spacing: -.035em; }
.tools-index-list span:not(.arrow-icon) { display: block; max-width: 60ch; margin-top: 8px; color: var(--ink-soft); }
.tools-index-list svg { grid-column: 2; grid-row: 1/3; align-self: center; justify-self: end; }
.tools-index-list a:hover strong, .tools-index-list a:hover svg { color: var(--orange); }
.photo-ribbon { padding: clamp(22px,3vw,42px) 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background: var(--paper-deep); background-image: var(--grid); background-size: 144px 144px; }
.photo-ribbon .container { display: grid; grid-template-columns: 1.45fr .72fr .72fr; gap: 14px; }
.photo-ribbon figure { margin: 0; overflow: hidden; border: 1px solid var(--ink); }
.photo-ribbon img { width: 100%; height: 330px; object-fit: cover; }
.format-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.format-grid > div, .format-grid > a { min-height: 270px; padding: clamp(30px,3.4vw,50px); border-right: 1px solid var(--ink); text-decoration: none; color: inherit; transition: background-color .16s ease, color .16s ease; }
.format-grid > div:last-child, .format-grid > a:last-child { border-right: 0; }
.format-grid h3 { margin: 0; font-size: clamp(28px,3vw,40px); letter-spacing: -.035em; }
.format-grid p { color: var(--ink-soft); }
.stewardship-note { display: grid; grid-template-columns: .55fr 1.45fr; gap: 50px; margin-top: 54px; padding-top: 24px; border-top: 1px solid var(--ink); }
.stewardship-note h3 { margin: 0; font-size: 24px; }
.stewardship-note p { margin: 0; color: var(--ink-soft); }
.form-page { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(52px,8vw,120px); padding: clamp(65px,7vw,110px) 0; align-items: start; }
.form-page-copy { position: sticky; top: 112px; padding-bottom: 30px; }
.form-box { border-top: 1px solid var(--ink); padding: clamp(26px,4vw,48px); border: 1px solid var(--ink); background: var(--paper-light); }
.form-box .field:first-of-type { border-top: 1px solid var(--ink); }
.newsletter-form { display: grid; grid-template-columns: minmax(0,1fr); gap: 18px; margin-top: 20px; align-items: start; max-width: 600px; }
.newsletter-form .compact-field { min-width: 0; }
.newsletter-form input { min-height: 50px; padding: 10px 12px; border: 1px solid var(--line-strong); background: var(--field-bg); color: var(--ink); width: 100%; }
.site-nav a, .text-link, .footer-links a, .download-item a { text-underline-offset: .28em; }
.button:active, .button-light:active { transform: translateY(0); }
.resource-download .workbook-mini { width: 100%; max-height: 380px; object-fit: contain; object-position: top; margin: 0 0 24px; max-width: 100%; border-bottom: 0; }
.event-page-intro { display: grid; grid-template-columns: minmax(360px,.92fr) minmax(0,1.08fr); gap: clamp(45px,7vw,100px); align-items: start; }
.event-page-intro > figure { margin: 0; position: sticky; top: 108px; border: 1px solid var(--ink); }
.event-page-intro > figure img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.event-page-intro > figure figcaption { padding: 10px 12px; border-top: 1px solid var(--ink); font-size: 14px; color: var(--ink-soft); }
.event-status { margin-top: 42px; }
.topic-index-layout { display: grid; grid-template-columns: minmax(340px,.78fr) minmax(0,1.22fr); gap: clamp(45px,7vw,100px); align-items: start; }
.topic-index-layout > figure { margin: 0; position: sticky; top: 108px; border: 1px solid var(--ink); }
.topic-index-layout > figure img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.topic-index-layout > figure figcaption { padding: 10px 12px; border-top: 1px solid var(--ink); font-size: 14px; color: var(--ink-soft); }
.topic-index-layout .topic-lines { grid-template-columns: 1fr; gap: 0; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 18px; line-height: 1.58; text-rendering: optimizeLegibility; background-color: var(--paper); background-image: var(--grid); background-size: 144px 144px; background-attachment: scroll; }
.section-title { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.8fr); gap: clamp(36px,6vw,90px); align-items: end; margin-bottom: clamp(44px,5vw,72px); justify-content: space-between; }
.section-title h2 { margin: 0; font-size: clamp(42px,5vw,74px); line-height: .97; letter-spacing: -.04em; font-weight: 600; text-wrap: balance; max-width: 13ch; }
.section-title p { max-width: 54ch; margin: 0; color: var(--ink-soft); font-size: 18px; line-height: 1.62; }
.editorial-split { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(64px,8vw,120px); align-items: start; }
.editorial-copy { max-width: 62ch; }
.editorial-copy p { max-width: 58ch; }
.editorial-copy .large-copy { font-size: clamp(22px,2vw,30px); line-height: 1.35; letter-spacing: -.025em; color: var(--ink); max-width: 43ch; }
.work-list a { display: grid; grid-template-columns: 88px minmax(0,1fr); gap: 18px 24px; padding: 18px 0; border-bottom: 1px solid var(--line-strong); text-decoration: none; align-items: start; }
.work-list a > span { grid-column: 2; margin-top: -12px; }
.work-list strong { font-size: 19px; line-height: 1.25; }
.hero-inner { position: relative; min-height: 760px; display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: clamp(44px,6vw,100px); padding-top: clamp(70px,7vw,112px); padding-bottom: clamp(62px,6vw,94px); align-items: center; }
.hero-copy { position: relative; z-index: 2; padding-block: 18px; }
.hero-lede { max-width: 56ch; margin: 30px 0 0; font-size: clamp(19px,1.55vw,23px); color: var(--ink-soft); line-height: 1.6; background: var(--paper); }
.build-tape a { min-height: 144px; display: grid; align-content: center; gap: 7px; padding: 24px 30px; border-right: 1px solid var(--ink); text-decoration: none; }
.idea-board { position: relative; background: var(--paper-light); border: 1px solid var(--ink); padding: clamp(26px,4vw,48px); max-width: 620px; }
.idea-result { min-height: 154px; display: grid; align-content: center; margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--ink); padding: 28px; }
.topic-lines { display: grid; grid-template-columns: 1fr 1fr; gap: 0 86px; border-top: 1px solid var(--ink); }
.topic-lines a { min-height: 164px; display: grid; grid-template-columns: minmax(220px,1fr) 34px; gap: 20px; align-content: center; padding: 24px 0; border-bottom: 1px solid var(--ink); text-decoration: none; }
.topic-lines p { margin: 7px 0 0; color: var(--ink-soft); font-size: 16px; max-width: 50ch; line-height: 1.55; }
.resource-feature { display: grid; grid-template-columns: minmax(360px,.8fr) minmax(0,1.2fr); gap: clamp(64px,8vw,120px); align-items: start; }
.resource-download { position: sticky; top: 110px; padding: 40px; border: 1px solid var(--ink); background: var(--paper-light); }
.resource-row { display: grid; grid-template-columns: 92px 1fr; gap: 26px; padding: 29px 0; border-bottom: 1px solid var(--ink); text-decoration: none; }
.news-strip { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(54px,7vw,100px); align-items: start; }
.news-intro { min-width: 0; }
.news-intro .editorial-photo { margin-top: 32px; }
.catalogue-controls { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1.2fr) minmax(0,1fr) auto; gap: 20px; align-items: end; padding: 24px; margin: 0 0 24px; border-block: 1px solid var(--ink); background: var(--paper-light); }
.catalogue-controls .field { min-width: 0; margin: 0; }
.catalogue-controls input, .catalogue-controls select { width: 100%; min-height: 48px; }
.catalogue-controls button { min-height: 48px; }
.catalogue-count { grid-column: 1 / -1; margin: 0; color: var(--ink-soft); }
.catalogue-row { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.7fr); gap: clamp(24px,4vw,64px); align-items: start; padding: 36px 0; border-bottom: 1px solid var(--ink); }
.catalogue-photo { margin: 0; min-width: 0; background: var(--paper-light); }
.catalogue-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.catalogue-copy { min-width: 0; padding: 12px 0; background: var(--paper); }
.catalogue-copy h3 { margin: 0; font-size: clamp(26px,3.2vw,42px); letter-spacing: -.03em; line-height: 1.12; }
.catalogue-copy h3 a { text-decoration-thickness: 1px; text-underline-offset: .15em; }
.catalogue-copy p { max-width: 62ch; margin: 18px 0; }
.catalogue-tags { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 0; margin: 0; list-style: none; font-size: 14px; color: var(--ink-soft); }
.catalogue-meta { color: var(--ink-soft); font-size: 14px; }
.catalogue-empty { padding: 36px 24px; background: var(--paper-light); }
.build-map { max-width: 680px; }
@media (max-width: 900px) {
  .catalogue-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalogue-controls .field:first-child { grid-column: 1 / -1; }
  .catalogue-controls button { justify-self: start; }
}
@media (max-width: 560px) {
  .catalogue-controls, .catalogue-row { grid-template-columns: minmax(0,1fr); }
  .catalogue-controls { padding: 20px 16px; }
  .catalogue-row { gap: 16px; padding: 28px 0; }
  .catalogue-copy { padding: 0; }
}
.section-downloads { background: color-mix(in srgb, var(--paper-light) 88%, var(--blue) 12%); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.download-shelf { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: clamp(24px,3vw,44px); align-items: end; }
.download-shelf-two { grid-template-columns: repeat(2,minmax(0,360px)); justify-content: start; }
.download-shelf a { text-decoration: none; min-width: 0; }
.download-shelf img { width: 100%; aspect-ratio: auto; object-fit: contain; object-position: top; border: 1px solid var(--ink); background: var(--paper-light); box-shadow: 0 18px 35px rgba(21,23,24,.10); transition: transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease; }
.download-shelf a:nth-child(2) img { aspect-ratio: 4/3; }
.download-shelf strong { display: block; margin-top: 16px; font-size: 22px; line-height: 1.08; letter-spacing: -.025em; }
.download-shelf span { display: block; margin-top: 5px; color: var(--ink-soft); font-size: 14px; }
.download-shelf a:hover img { transform: translateY(-5px) rotate(-.25deg); box-shadow: 0 26px 45px rgba(21,23,24,.15); }
.download-shelf a:hover strong { color: var(--orange); }
.tools-showcase { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(430px,.9fr); gap: clamp(64px,8vw,120px); align-items: start; }
.tools-showcase-photo { margin: 0; border: 1px solid var(--ink); position: sticky; top: 108px; background: var(--paper-light); }
.tools-showcase-photo img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.tools-showcase-photo figcaption { padding: 11px 13px; border-top: 1px solid var(--ink); color: var(--ink-soft); font-size: 12px; }
.tools-showcase-copy h2 { margin: 0; max-width: 10ch; font-size: clamp(48px,5.5vw,78px); line-height: .95; letter-spacing: -.04em; }
.tools-showcase-copy > p { max-width: 55ch; }
.tool-route-list { margin-top: 40px; border-top: 1px solid var(--ink); }
.tool-route-list a { min-height: 136px; display: grid; grid-template-columns: 48px 1fr 42px; grid-template-rows: auto auto; gap: 6px 22px; align-content: center; border-bottom: 1px solid var(--ink); text-decoration: none; }
.tool-route-list a > span { font-family: var(--mono); color: var(--blue-dark); font-size: 11px; grid-row: 1/3; align-self: center; }
.tool-route-list a:hover strong, .tool-route-list a:hover svg { color: var(--orange); }
.tool-page { padding-top: clamp(62px,7vw,100px); }
.tool-stage { display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: clamp(64px,8vw,120px); align-items: start; }
.tool-intro { position: sticky; top: 110px; }
.tool-intro h1 { margin: 0; max-width: 10ch; font-size: clamp(52px,6vw,88px); line-height: .92; letter-spacing: -.04em; font-weight: 600; text-wrap: balance; }
.tool-lede { max-width: 42ch; margin: 26px 0 14px; font-size: clamp(21px,2vw,28px); line-height: 1.35; color: var(--ink); }
.tool-intro > p:not(.tool-lede) { max-width: 54ch; color: var(--ink-soft); }
.tool-photo { margin: 38px 0 0; border: 1px solid var(--ink); transform: rotate(-.35deg); box-shadow: 0 22px 40px rgba(21,23,24,.10); }
.tool-photo img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.tool-workspace { display: grid; gap: 0; min-width: 0; border-top: 1px solid var(--ink); }
.tool-panel { border: 1px solid var(--ink); background: var(--paper-light); padding: clamp(34px,4vw,58px); border-top: 0; }
.tool-panel-heading { display: flex; justify-content: space-between; gap: 24px; align-items: baseline; padding-bottom: 24px; border-bottom: 1px solid var(--ink); }
.tool-panel-heading span { font-family: var(--mono); font-size: 11px; color: var(--blue-dark); }
.tool-panel-heading h2 { margin: 0; font-size: clamp(34px,4vw,54px); line-height: 1; letter-spacing: -.04em; }
.tool-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 28px; }
.tool-field-wide { grid-column: 1/-1; }
.tool-fields .field { padding: 20px 0; margin: 0; border-bottom: 1px solid var(--line); }
.tool-fields .field:nth-child(odd) { padding-right: 14px; }
.tool-fields .field:nth-child(even) { padding-left: 14px; }
.tool-fields .field label { font-size: 13px; line-height: 1.25; }
.tool-fields .field input, .tool-fields .field select { min-height: 54px; border-color: var(--ink); background: transparent; }
.tool-result { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--ink); padding: 34px 0 0; }
.opportunity-result { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 36px; align-items: center; }
.result-score { display: flex; align-items: baseline; gap: 3px; color: var(--orange); }
.result-score span { font-size: 72px; line-height: .9; letter-spacing: -.04em; font-weight: 700; }
.result-score small { font-size: 20px; color: var(--ink-soft); }
.opportunity-result h3 { margin: 0; font-size: clamp(29px,3vw,42px); line-height: 1.03; letter-spacing: -.035em; }
.opportunity-result p { max-width: 48ch; color: var(--ink-soft); }
.score-track { height: 8px; margin-top: 20px; border: 1px solid var(--ink); background: var(--paper-deep); overflow: hidden; }
.score-track span { display: block; height: 100%; width: var(--score,60%); background: var(--orange); transition: width .28s cubic-bezier(.2,.8,.2,1); }
.time-result { display: grid; grid-template-columns: minmax(0,1fr); gap: 36px; align-items: stretch; }
.primary-result { padding: 24px; background: #151718; color: #f5f3ee; }
.primary-result code { font-family: var(--mono); font-size: 10px; color: #a9c9f4; }
.primary-result strong { display: block; margin-top: 8px; font-size: clamp(64px,7vw,96px); line-height: .86; letter-spacing: -.04em; color: #ff7548; }
.primary-result span { display: block; margin-top: 14px; color: #d6dad6; }
.time-result .result-grid { margin: 0; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 0; }
.time-result .result-grid div { display: grid; align-content: center; min-height: 50%; padding: 18px 0; }
.time-result .result-grid strong { font-size: 28px; }
.tool-capture { margin: 0; padding: 0; border-top: 0; display: block; gap: 12px; border: 1px solid var(--ink); background: var(--paper-deep); }
.tool-capture > summary { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 26px; cursor: pointer; list-style: none; font-weight: 650; }
.tool-capture > summary::-webkit-details-marker { display: none; }
.tool-capture-plus { font-family: var(--mono); font-size: 24px; transition: transform .2s ease; }
.tool-capture[open] .tool-capture-plus { transform: rotate(45deg); }
.tool-capture form { padding: 0 26px 28px; border-top: 1px solid var(--line); }
.tool-capture .field { margin-top: 0; max-width: 520px; }
.tool-capture .button-light { justify-self: start; margin-top: 12px; }
.tool-next { display: grid; grid-template-columns: minmax(330px,.8fr) 1fr 1fr; gap: 0 56px; align-items: stretch; }
.tool-next > div { padding-right: 30px; }
.tool-next h2 { margin: 0; font-size: clamp(42px,4.5vw,64px); line-height: .96; letter-spacing: -.04em; }
.tool-next > a { min-height: 180px; display: grid; grid-template-columns: 1fr 34px; align-content: center; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); text-decoration: none; }
.tool-next > a strong { font-size: 27px; line-height: 1.08; }
.tool-next > a span { color: var(--ink-soft); }
.tool-next > a svg { grid-column: 2; grid-row: 1/3; align-self: center; }
.tool-next > a:hover strong, .tool-next > a:hover svg { color: var(--orange); }
.tool-explainer { display: grid; grid-template-columns: minmax(340px,.8fr) 1.2fr; gap: clamp(60px,8vw,120px); }
.tool-explainer > div:first-child h2 { margin: 0; max-width: 11ch; font-size: clamp(44px,5vw,70px); line-height: .96; letter-spacing: -.04em; }
.tool-explainer > div:first-child p { max-width: 48ch; }
.tool-principles { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; border-top: 1px solid var(--ink); }
.tool-principles > div { padding: 26px 0; border-bottom: 1px solid var(--ink); }
.tool-principles strong { font-size: 23px; }
.topic-reading { padding-block:0 60px; }
.article-layout { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: clamp(50px,8vw,120px); padding: clamp(65px,7vw,110px) 0; align-items: start; padding-bottom: clamp(80px,8vw,130px); }
.article-body { max-width: 78ch; font-size: 18px; line-height: 1.7; background: var(--paper); padding: clamp(18px,2vw,30px); }
.article-body h2 { margin: 58px 0 18px; font-size: clamp(31px,3.4vw,46px); line-height: 1.05; letter-spacing: -.04em; position: relative; margin-top: 64px; margin-bottom: 18px; }
.article-aside { position: sticky; top: 112px; border-top: 1px solid var(--ink); }
.tool-route-list strong { font-size: clamp(27px,2.7vw,38px); line-height: 1.02; letter-spacing: -.035em; grid-column: 2; }
.tool-route-list em { font-style: normal; color: var(--ink-soft); grid-column: 2; grid-row: 2; }
.tool-route-list svg { grid-column: 3; grid-row: 1/3; align-self: center; justify-self: end; }
.newsletter h2 { font-size: 26px; margin: 0; }

[id] { scroll-margin-top:100px; }
input::placeholder, textarea::placeholder { color:var(--graphite); opacity:1; }
figure { margin-inline:0; }
figcaption { background:var(--paper); color:var(--ink-soft); font-size:14px; line-height:1.55; padding:12px; }
.signup-page { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,6vw,80px); padding-block:48px 80px; align-items:start; }
.signup-page h1 { margin:0; font-size:clamp(42px,5vw,70px); line-height:1.05; letter-spacing:-.04em; }
.signup-page .newsletter { margin:0; padding:24px; background:var(--paper-light); }
.form-consent input, .checkbox-row input { flex:0 0 20px; width:20px; height:20px; min-height:20px; }
.form-status { overflow-wrap:anywhere; }
.form-status:empty, .field-error:empty { display:none; }

/* Interactive workspaces: solid writing surfaces keep grid lines away from small text. */
.tool-actions { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0; }
.tool-actions .button { white-space:normal; min-width:0; }
.estimate-ledger { margin:0; }
.estimate-ledger > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; padding:18px 0; border-bottom:1px solid var(--line-strong); }
.estimate-ledger dd { margin:0; font-size:24px; line-height:1.2; font-weight:600; overflow-wrap:anywhere; }
.review-gate { border-top:2px solid var(--orange); padding-top:20px; }
.lab-display { background:var(--paper-deep); border:1px solid var(--line-strong); padding:24px; margin-top:24px; }
.lab-state { font-size:clamp(28px,4vw,44px); line-height:1.1; font-weight:600; }
.lab-log { padding-left:24px; }
.lab-log li { padding:12px 0; border-bottom:1px solid var(--line); }
.planner-intro { max-width:1000px; margin-bottom:48px; }
.planner-intro h1 { font-size:clamp(48px,7vw,88px); letter-spacing:-.04em; line-height:1; margin:0; }
.planner-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.planner-workspace .tool-panel { border-top:1px solid var(--ink); }
.planner-output { padding:32px; background:var(--paper-deep); border-top:4px solid var(--orange); min-width:0; }
.planner-output dt { font-weight:600; margin-top:24px; }
.planner-output dd { margin:6px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; color:var(--ink-soft); }
.field-hint { font-size:15px; margin:0 0 8px; color:var(--ink-soft); }

/* Text diagrams reflow instead of shrinking an SVG's lettering. */
.process-map { min-width:0; background:var(--paper); color:var(--ink); }
.process-map-title { padding:22px 20px 16px; font-size:clamp(21px,2vw,27px); font-weight:650; line-height:1.2; color:var(--orange-dark); }
.process-map ol { margin:0; padding:0 20px 22px; list-style:none; counter-reset:map; display:grid; gap:24px; }
.process-map ol li { position:relative; margin:0; padding:14px 16px 14px 48px; border:1px solid var(--line-strong); background:var(--paper-deep); line-height:1.45; counter-increment:map; }
.process-map li::before { content:counter(map,decimal-leading-zero); position:absolute; left:14px; top:16px; font:12px var(--mono); color:var(--ink-soft); }
.process-map li:not(:last-child)::after { content:"↓"; position:absolute; bottom:-25px; left:50%; color:var(--orange-dark); line-height:24px; }
.process-map strong { display:block; font-size:18px; color:var(--ink); }
.process-map li span { display:block; margin-top:4px; font-size:16px; color:var(--ink-soft); overflow-wrap:anywhere; }
.process-map figcaption { padding:14px 20px; border-top:1px solid var(--line-strong); font-size:14px; line-height:1.5; }
.process-map li { transition:border-color .2s ease; }
.process-map:hover li, .process-map:focus-within li { border-color:var(--orange-dark); }
.process-map li:nth-child(2) { transition-delay:.06s; }
.process-map li:nth-child(3) { transition-delay:.12s; }
.process-map li:nth-child(4) { transition-delay:.18s; }
.participation-list { display:grid; border-top:1px solid var(--line-strong); }
.participation-list a { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:24px 0; border-bottom:1px solid var(--line-strong); text-decoration:none; }
.participation-list strong { display:block; font-size:clamp(22px,2.5vw,30px); line-height:1.25; }
.participation-list p { max-width:64ch; margin:8px 0 0; color:var(--ink-soft); }
.participation-list svg { align-self:center; transition:transform .18s ease; }
.participation-list a:is(:hover,:focus-visible) svg { transform:translateX(4px); }
.participation-list a:is(:hover,:focus-visible) strong { text-decoration:underline; text-decoration-color:var(--orange-dark); text-underline-offset:5px; }
@media (prefers-reduced-motion:reduce) { .menu-icon path,.process-map li,.participation-list svg { transition:none; } .participation-list a:is(:hover,:focus-visible) svg { transform:none; } }
@media (max-width:760px) { .planner-workspace { grid-template-columns:1fr; gap:28px; } .planner-output { padding:24px 20px; } .estimate-ledger > div { grid-template-columns:1fr; gap:8px; } }
@media (max-width: 1100px) {
.nav-toggle { display: grid; }
.header-inner { min-height: 68px; grid-template-columns: auto 1fr auto; }
.site-nav { position: fixed; top: 68px; left: 0; right: 0; height: calc(100dvh - 68px); overflow-y: auto; display: none; justify-content: stretch; align-content: start; padding: 12px var(--gutter) 22px; background: var(--paper); border-bottom: 1px solid var(--ink); }
.site-nav.open { display: grid; }
body.nav-open { overflow: hidden; }
.site-nav a { width: 100%; min-height: 52px; justify-content: flex-start; border-bottom: 1px solid var(--line); }
.site-nav .nav-cta { padding: 0; border: 0; border-bottom: 1px solid var(--line); }

.header-inner {grid-template-columns:1fr auto;}
}
@media (max-width: 1150px) {
.hero-inner { grid-template-columns: 1fr; min-height: 0; }
.hero-copy { max-width: 900px; }
.hero-photo { width: min(100%,1000px); justify-self: end; }
.build-tape-inner { grid-template-columns: 1fr 1fr; }
.build-tape a:nth-child(2) { border-right: 0; }
.build-tape a:nth-child(3), .build-tape a:nth-child(4) { border-top: 1px solid var(--ink); }
.event-row { grid-template-columns: 62px 120px minmax(280px,1fr) minmax(210px,.65fr); }
.event-row .go { grid-column: 3/5; justify-self: start; }
.page-hero-inner, .resource-feature, .tool-shell, .form-page { grid-template-columns: 1fr; }
.page-meta { justify-self: start; max-width: 600px; }
.resource-download { position: static; }
}
@media (max-width: 900px) {
.section-title, .editorial-split, .news-strip, .join-grid, .archive-intro, .article-layout, .build-hero, .build-story { grid-template-columns: 1fr; }
.section-title { align-items: start; }
.article-aside { position: static; }
.event-row { grid-template-columns: 54px 1fr; gap: 12px 18px; }
.event-row time, .event-row h3, .event-row p, .event-meta, .event-row .go { grid-column: 2; }
.topic-lines { grid-template-columns: 1fr; gap: 0; }
.downloads { grid-template-columns: 1fr; }
.build-row { grid-template-columns: 160px 1fr; }
.build-row img { width: 160px; }
.build-row code { grid-column: 2; }
}
@media (max-width: 620px) {
:root { --gutter: 20px; }
.container { width: min(var(--max), calc(100% - 40px)); }
.page-meta, .idea-board, .tool-panel, .form-box { width: 100%; max-width: 100%; }
body { font-size: 17px; }
.hero-inner { padding-top: 56px; padding-bottom: 58px; gap: 34px; }
.wordmark { font-size: 47px; }
.hero h1 { font-size: clamp(42px,13vw,60px); }
.hero-fact { grid-template-columns: 58px 1fr; }
.hero-actions .button, .hero-actions .button-light { width: 100%; }
.build-tape-inner { grid-template-columns: 1fr; }
.build-tape a, .build-tape a:first-child { border-left: 0; border-right: 0; border-top: 1px solid var(--ink); }
.build-tape a:first-child { border-top: 0; }
.event-row { padding: 24px 0; }
.section { padding: 68px 0; }
.work-list a, .resource-row, .news-list a { grid-template-columns: 1fr; gap: 6px; }
.topic-lines a { grid-template-columns: 1fr 28px; }
.join-options a { min-height: 88px; }
.footer-grid { grid-template-columns: 1fr; }
.build-row { grid-template-columns: 1fr; }
.build-row img { width: 100%; max-width: none; }
.build-row code { grid-column: 1; }
.result-grid { grid-template-columns: 1fr; }
.page-hero h1, .form-page h1, .build-hero-copy h1 { font-size: clamp(42px,13vw,62px); }
}
@media (hover: none) and (pointer: coarse) {
.site-nav a, .button, .button-light, .idea-controls button { min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (max-width: 640px) {
.tool-capture .button-light { width: 100%; justify-content: center; }
}
@media (max-width: 700px) {
.talk-row { grid-template-columns: 1fr; gap: 8px; }
.photo-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1050px) {
.event-visual-band, .builds-intro, .resource-kit, .tool-promo, .topic-intro, .tools-feature, .tool-shell { grid-template-columns: 1fr; }
.topic-intro figure, .tools-feature figure, .tool-copy, .form-page-copy { position: static; }
.build-row { grid-template-columns: 260px 1fr; min-height: 280px; }
.build-row-media img { min-height: 280px; }
.photo-ribbon .container { grid-template-columns: 1.3fr .7fr; }
.photo-ribbon figure:last-child { grid-column: 1/-1; }
}
@media (max-width: 760px) {
body { background-attachment: scroll; background-size: 144px 144px; }
.page-hero, .section-working { background-size: 144px 144px; }
.page-hero::after { width: 46px; height: 46px; right: 20px; bottom: 14px; }
.event-visual-band { gap: 22px; }
.build-row, .build-row:nth-child(even) { grid-template-columns: 1fr; }
.build-row-media, .build-row:nth-child(even) .build-row-media { order: 1; border: 0; border-bottom: 1px solid var(--ink); }
.build-row-copy, .build-row:nth-child(even) .build-row-copy { order: 2; padding: 30px 0 44px; }
.build-row-media img { min-height: 0; height: auto; aspect-ratio: 16/10; }
.resource-catalogue-row { grid-template-columns: 110px 1fr 28px; gap: 18px; }
.resource-catalogue-row img { width: 110px; height: 92px; }
.format-grid { grid-template-columns: 1fr; }
.format-grid > div, .format-grid > a { min-height: 0; border-right: 0; border-bottom: 1px solid var(--ink); }
.format-grid > div:last-child, .format-grid > a:last-child { border-bottom: 0; }
.stewardship-note { grid-template-columns: 1fr; gap: 12px; }
.photo-ribbon .container { grid-template-columns: 1fr; }
.photo-ribbon figure:last-child { grid-column: auto; }
.photo-ribbon img { height: auto; aspect-ratio: 16/10; }
}
@media (max-width: 560px) {
.tool-panel { padding: 24px 20px; }
.resource-catalogue-row { grid-template-columns: 1fr 28px; }
.resource-catalogue-row img { width: 100%; height: auto; aspect-ratio: 16/9; grid-column: 1/-1; }
.resource-catalogue-row > div { grid-column: 1; }
.resource-catalogue-row > span { grid-column: 2; grid-row: 2; }
.tool-capture { padding: 20px; }
.form-box { padding: 22px 0; border-left: 0; border-right: 0; background: transparent; }
}
@media (prefers-reduced-motion: reduce) {
.scroll-signal { display: none; }
.build-row-media img { transition: none; }
}
@media (max-width: 620px) {

}
@media (max-width: 900px) {
.event-page-intro, .topic-index-layout { grid-template-columns: 1fr; }
.event-page-intro > figure, .topic-index-layout > figure { position: static; }
}
@media (max-width: 1120px) {
.tools-showcase, .tool-stage, .tool-explainer { grid-template-columns: 1fr; }
.tools-showcase-photo, .tool-intro { position: static; }
.tool-intro h1 { max-width: 13ch; }
.tool-next { grid-template-columns: 1fr 1fr; }
.tool-next > div { grid-column: 1/-1; padding-bottom: 28px; }
.download-shelf { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
.section-title, .editorial-split, .resource-feature { grid-template-columns: 1fr; }
.editorial-copy { max-width: none; }
.tool-fields, .time-result, .opportunity-result, .tool-principles { grid-template-columns: 1fr; }
.tool-fields .field { padding-inline: 0 !important; }
.result-score span { font-size: 64px; }
.tool-next { grid-template-columns: 1fr; gap: 18px; }
.download-shelf, .download-shelf-two { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
:root { --gutter: 20px; }
body { font-size: 17px; }
.hero-inner { min-height: 0; }
.wordmark { font-size: 44px; }
.tool-page { padding-top: 42px; }
.tool-intro h1 { font-size: 48px; }
.tool-panel { padding: 26px 20px; }
.tool-panel-heading { display: block; }
.tool-panel-heading span { display: block; margin-bottom: 8px; }
.opportunity-result { gap: 20px; }
.primary-result strong { font-size: 68px; }
.tool-capture > summary { padding-inline: 20px; }
.tool-capture form { padding-inline: 20px; }
.download-shelf, .download-shelf-two { grid-template-columns: 1fr; }
.download-shelf img { max-height: 520px; object-fit: contain; }
}
@media (prefers-reduced-motion: reduce) {
.score-track span, .download-shelf img, .tool-capture-plus { transition: none; }
}
@media (max-width:1150px) { .hero-inner {grid-template-columns:1fr;min-height:0;} .event-row {grid-template-columns:54px 110px minmax(0,1fr) minmax(0,.7fr);} }
@media (max-width:1050px) { .editorial-split, .section-title, .join-grid, .resource-feature {grid-template-columns:1fr;} }
@media (max-width:900px) { .signup-page {grid-template-columns:1fr;gap:28px;padding-top:30px;} .header-inner {grid-template-columns:1fr auto;} .site-nav {justify-content:stretch;align-items:stretch;} .event-row {grid-template-columns:44px minmax(0,1fr);} .event-row > div, .event-row .go {grid-column:2;} .event-row .go {grid-column:2;} }
@media (max-width:620px) { .signup-page .newsletter {padding:20px;} .hero-photo {transform:none;} .work-list a {grid-template-columns:1fr;} .work-list a > span {grid-column:1;margin:0;} .time-result .result-grid {grid-template-columns:1fr;} .tool-route-list a {grid-template-columns:32px minmax(0,1fr) 24px;gap:8px;} }
@media (prefers-reduced-motion:reduce) { .button:hover,.button-light:hover,.download-shelf a:hover img {transform:none;} }

/* Progressive archive controls and filtered rows must stay hidden. */
[data-catalogue] [hidden] { display: none !important; }

.event-format-links > a:hover, .event-format-links > a:focus-visible { background: var(--orange); color: var(--ink); outline: none; }
.event-format-links > a:hover p, .event-format-links > a:focus-visible p { color: var(--ink); }
.event-format-links > a span { display:block; margin-top:24px; font-family:var(--mono); font-size:11px; text-transform:uppercase; }
.faq-list { border-top:1px solid var(--ink); }
.faq-list details { border-bottom:1px solid var(--ink); padding:18px 0; }
.faq-list summary { cursor:pointer; font-weight:700; font-size:clamp(18px,2vw,24px); }
.faq-list p { max-width:70ch; }
