/* Afterhours: one ribbed enclosure, one editorial rule system.
   Original vector artwork; references and decisions in studies/afterhours-2026-10-23. */
:root{--paper:#0b0d0c;--ink:#e9eeeb;--muted:#aeb6b1;--line:#3b413d;--acid:#bdd2c6;--gutter:clamp(22px,5vw,96px);--ah-pale:#d5dad7;--ah-rule:#464e49}
body.afterhours{background:var(--paper);color:var(--ink)}
.afterhours ::selection{background:#cfdfd6;color:#121513}
.afterhours :is(a,button,summary):focus-visible{outline:2px solid #e0eae4;outline-offset:5px}
.afterhours .cursor-light{display:none}
.afterhours .topbar{height:84px;border-bottom:1px solid #939b9633;background:#0b0d0c55}
.afterhours .mh-mark{width:47px;height:32px;filter:none}
.afterhours .topbar-actions{gap:26px}
.afterhours .topbar .contact-link,.afterhours .motion-toggle{font-size:11px;min-height:44px}
.afterhours .hero-scroll,.motion-paused .afterhours .hero-scroll{height:max(860px,100svh);min-height:0}
.afterhours .art-hero{padding-top:112px;background:#0b0d0c;isolation:isolate}
.ah-chamber{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 16% 61%,#51203150,transparent 49%)}
.ah-chamber img{width:100%;height:100%;object-fit:cover;object-position:60% 45%;opacity:.82}
.ah-chamber:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0b0d0c 0%,transparent 21%,transparent 65%,#0b0d0c 89%)}
.afterhours .terminal-cursor{display:none}
.afterhours .hero-type{left:2.5%;top:18%;width:91%;z-index:2;mix-blend-mode:screen}
.afterhours .title-art{transform:rotate(-3deg)}
.afterhours .title-art .name-first{aspect-ratio:1798/555}
.afterhours .title-art img{filter:brightness(1.4) saturate(.65);width:100%}
.afterhours .serpent-study{right:4%;top:31%;width:48%;height:41%;z-index:3}
.afterhours #sculpture.serpent-canvas{filter:drop-shadow(0 0 8px #9cbca944)}
.afterhours .hero-orbit{display:none}
.afterhours .hero-info{left:var(--gutter);right:var(--gutter);bottom:140px;display:flex;align-items:end;gap:24px}
.afterhours .hero-info>p:first-child{font:18px/1.5 CourierPrime,monospace;letter-spacing:-.04em;color:#e8ecea}
.afterhours .hero-company{font:13px/1.6 CourierPrime,monospace;color:#dee7e2}
.afterhours .hero-company span{display:block;font:inherit;color:#aeb9b3}.afterhours .hero-company br{display:none}.afterhours .hero-info .hero-company{flex:none;min-width:0;text-align:right;max-width:35%}
.ah-directory{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);display:grid;grid-template-columns:1fr 1fr 1.35fr;border-top:1px solid #7e8b83}
.ah-directory a{position:relative;display:grid;grid-template-columns:1fr 24px;gap:9px 12px;padding:23px 26px 25px 0;min-width:0;transition:color .2s,background .3s}
.ah-directory a+a{padding-left:26px;border-left:1px solid #49544e}
.ah-directory a:before{content:"";position:absolute;height:2px;background:#d0dfd6;left:0;right:0;top:-2px;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.ah-directory a:is(:hover,:focus-visible):before{transform:scaleX(1)}
.ah-directory a:is(:hover,:focus-visible){background:#9dbcaa12;color:#fff}
.ah-directory strong{font:400 clamp(24px,2.7vw,40px)/1.12 CourierPrime,monospace;letter-spacing:-.065em;color:#dce4df}
.ah-arrow{align-self:center;font:24px/1 CourierPrime,monospace;transition:translate .25s}
.ah-directory a:is(:hover,:focus-visible) .ah-arrow{translate:3px -3px}
/* Full-page composition. Each chapter changes scale and exposure, not visual language. */
.afterhours .section-wrap{max-width:1680px;padding-top:100px;padding-bottom:100px}
.afterhours .section-heading{position:relative;isolation:isolate;min-height:320px;align-items:center;padding:52px 0;margin:0 0 52px;border:0}
.afterhours .section-heading:before{content:"";position:absolute;inset:-60px calc(-1 * var(--gutter)) -20px;z-index:-1;pointer-events:none;background:url('assets/afterhours-chamber.svg') 40% 58%/cover no-repeat;opacity:.22;mask-image:linear-gradient(transparent,#000 22%,#000 65%,transparent)}
.afterhours .section-heading:after{display:none}
.afterhours .section-heading h2,.afterhours .inventory h2{font:400 clamp(64px,10vw,154px)/.89 CourierPrime,monospace;letter-spacing:-.085em;color:#e3e7e5;max-width:10ch;text-wrap:balance}
.afterhours .section-heading h2 span{color:#9fb6a9;text-shadow:0 0 40px #86ad9633}
.afterhours .section-heading .eyebrow{font-size:11px;color:#aebab3}
.afterhours .section-glyph{display:none}
.afterhours .garden-wrap{width:clamp(190px,29vw,400px);height:clamp(190px,29vw,400px);margin:0 -18px 0 0;border:1px solid #69766e;border-radius:50%;background:radial-gradient(ellipse,#303d3570,transparent 70%);box-shadow:0 0 0 9px #0b0d0c,0 0 0 10px #5c6c6355,0 0 0 20px #0b0d0c,0 0 0 21px #5c6c6322}
.afterhours #side-projects{padding-top:60px}
.afterhours .sc-head{display:flex;align-items:baseline;justify-content:space-between;gap:30px;padding:20px 0 28px;border-top:1px solid #738078;margin-bottom:0}
.afterhours .sc-head h3{font:400 clamp(25px,3vw,40px)/1.1 CourierPrime,monospace;letter-spacing:-.055em}
.afterhours .sc-head>p{font:15px/1.6 Arial,sans-serif;color:#b2bcb6;max-width:43ch;margin:0}
/* The games become wide screen-and-type spreads, with an actual image selector. */
.afterhours .sc-cabinets{display:block}
.afterhours .sc-cab{display:grid;grid-template-columns:60px minmax(0,1.55fr) minmax(0,1fr);align-items:center;gap:24px;isolation:isolate;padding:60px 0 70px;border:0;border-top:1px solid #3e4742;background:none}
.afterhours .sc-cab:before{content:"";position:absolute;inset:14% 30% 8% -8%;background:radial-gradient(ellipse,#3e4b4355,transparent 67%);z-index:-1;pointer-events:none}
.afterhours .sc-cab-squishy:before{inset:5% -5% 5% 30%;background:radial-gradient(ellipse,#364b3f66,transparent 65%)}
.afterhours .sc-spill,.afterhours .sc-icon{display:none}
.afterhours .sc-screen{grid-column:2;grid-row:1;transform:none;min-width:0}
.afterhours .sc-screen-inner{border-radius:26px 5px 26px 5px;border:1px solid #aab5af;box-shadow:0 0 0 5px #121513,0 0 0 6px #67746c,0 0 0 12px #121513,0 0 0 13px #53625966;transform:none;overflow:hidden}
.afterhours .sc-screen-inner img{aspect-ratio:4/3;object-fit:cover}
.afterhours .sc-corner{display:none}
.afterhours .sc-glare{opacity:.1}
.afterhours .sc-live{left:14px;top:14px;font-size:9px;background:#0f1311e8;color:#dbe6e0}
.afterhours .sc-shots{grid-column:1;grid-row:1;grid-template-columns:1fr;margin:0;padding:0;gap:12px;align-self:center}
.afterhours .sc-shots button{border-radius:50%;aspect-ratio:1;min-width:44px;min-height:44px;border-color:#7a8b81;box-shadow:none;opacity:.55}
.afterhours .sc-shots button[aria-pressed=true]{border-color:#e4ece7;box-shadow:0 0 0 3px #576b5f66;opacity:1}
.afterhours .sc-cab-copy{grid-column:3;grid-row:1;display:block;padding:0 0 0 20px;margin:0;min-width:0}
.afterhours .sc-cab-copy h4{font:400 clamp(33px,4.1vw,62px)/.99 CourierPrime,monospace;letter-spacing:-.07em;text-wrap:balance}
.afterhours .sc-tag{font:15px/1.55 CourierPrime,monospace;color:#cbdbd2;margin:20px 0 0}
.afterhours .sc-body{font-size:15px;line-height:1.7;margin-top:19px}
.afterhours .sc-specs{gap:8px;margin:24px 0}
.afterhours .sc-specs li{border:0;border-left:1px solid #5f7066;padding:0 9px;font-size:10px;background:none}
.afterhours .sc-play{width:100%;justify-content:space-between;min-height:50px;padding:14px 18px;border-radius:0;background:transparent;border:0;border-top:1px solid #7d8f84;border-bottom:1px solid #7d8f84;color:#d8e5dd;box-shadow:none;translate:none;font-size:13px}
.afterhours .sc-play:is(:hover,:focus-visible){background:#d1ddd6;color:#151c18;box-shadow:none}
.afterhours .sc-cab-squishy{grid-template-columns:minmax(0,1fr) minmax(0,1.55fr) 60px}
.afterhours .sc-cab-squishy .sc-cab-copy{grid-column:1;padding:0 20px 0 0}
.afterhours .sc-cab-squishy .sc-shots{grid-column:3}
.afterhours .sc-new-game{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;margin:35px 0 70px;padding:35px;border:1px solid #5c6b62;background:#1a221d}
.afterhours .sc-new-game figure{max-width:none}
.afterhours .sc-new-game img{border-radius:0;border:0}
.afterhours .sc-new-game h4{font-size:clamp(34px,4vw,58px);line-height:1;letter-spacing:-.065em}
.afterhours .sc-new-game figcaption{font-size:10px}
.afterhours .sc-new-game .eyebrow{margin-top:0}
.afterhours .sc-mini{position:relative;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);border:0;border-radius:0;margin:70px 0 50px;padding:30px 0;background:none;gap:50px;isolation:isolate}
.afterhours .sc-mini:before{content:"";inset:-70px -50px;z-index:-1;background:url('assets/afterhours-chamber.svg') center/cover no-repeat;opacity:.22;mask-image:radial-gradient(ellipse,#000,transparent 70%)}
.afterhours .sc-mini-copy h4{font-size:clamp(32px,4vw,54px);line-height:1;letter-spacing:-.065em}
.afterhours .sc-mini-stage{padding:12px;border:1px solid #72867a;border-radius:50% 50% 5px 5px;background:#080b09;box-shadow:0 0 0 6px #101713,0 0 0 7px #4b5650;overflow:hidden}
.afterhours .sc-mini-stage canvas{border-radius:50% 50% 0 0}
.afterhours .sc-mini-copy .sc-fineprint{color:#a5b2aa!important}
/* A recessed research console. Technical detail is available through actual tabs. */
.afterhours .market-module.tm{--tm-amber:#c6d9ce;--tm-dim:#adb7b1;--tm-text:#e9efec;--tm-line:#45514a;margin:140px calc(-1 * var(--gutter)) -100px;padding:80px var(--gutter) 100px;border:0;background:radial-gradient(ellipse at 100% 30%,#333f3855,transparent 54%),#151b18;position:relative;isolation:isolate}
.afterhours .market-module:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/afterhours-chamber.svg') center top/150% auto no-repeat;opacity:.2;mask-image:linear-gradient(#000,transparent 50%)}
.afterhours .tm-intro{grid-template-columns:1.5fr 1fr;gap:40px;align-items:end;padding-bottom:35px;margin-bottom:35px}
.afterhours .market-intro h3{font:400 clamp(90px,15vw,220px)/.8 CourierPrime,monospace;letter-spacing:-.09em;color:#d4dfd9}
.afterhours .tm-lede{max-width:38ch;padding-bottom:6px}
.afterhours .tm-term{padding:14px;border:1px solid #a7b6ad;border-radius:36px 4px 36px 4px;box-shadow:0 0 0 6px #141916,0 0 0 7px #65796d,0 0 0 14px #141916,0 0 0 15px #56665d4d;background:#0c0f0d;overflow:hidden}
.afterhours .tm-term:before{display:none}
.afterhours .tm-bar{min-height:44px;font-size:11px}
.afterhours .tm-path{line-height:44px}
.afterhours .tm-clock{display:none}
.afterhours .tm-trades-h{display:none}
.afterhours .tm-trades{background:#18201b;border-bottom:1px solid #5f6e65}
.afterhours .tm-trades li{padding:20px}
.afterhours .tm-trades strong{font-size:15px;letter-spacing:0}
.afterhours .tm-trades q{font-size:12px;color:#adbeb4;margin-top:9px}
.afterhours .tm-trades .tm-no{display:none}
.afterhours .tm-trades em{font-size:9px}
.ah-research{border-bottom:1px solid #45514a}
.ah-research>summary{cursor:pointer;padding:18px 20px;font:12px/1.5 CourierPrime,monospace;color:#becdc4;min-height:48px;list-style:none}
.ah-research>summary:after{content:"+";float:right;font-size:18px}
.ah-research[open]>summary:after{content:"−"}
.ah-research>summary::-webkit-details-marker{display:none}
.afterhours .tm-activity .tm-stats dd{font-size:clamp(20px,3.5vw,45px);padding:10px 0}
.afterhours .tm-tabbed .tm-keys{display:flex;padding:12px 0;border-top:0;border-bottom:1px solid #627269;gap:6px}
.afterhours .tm-keys button{color:#b0c1b7;min-height:46px;border:1px solid transparent;font-size:13px;letter-spacing:0}
.afterhours .tm-keys button[aria-selected=true]{background:#cfdcd4;color:#141b17;box-shadow:none}
.afterhours .tm-grid{display:block}
.afterhours .tm-tabbed .tm-panel{display:none}
.afterhours .tm-tabbed .tm-panel.tm-active{display:block}
.afterhours .tm-panel{border-right:0;padding:20px 0 10px}
.afterhours .tm-tabbed .tm-ph b{display:none}
.afterhours .tm-ph{padding-top:8px;padding-bottom:8px}
.afterhours .tm-quote{display:grid;grid-template-columns:1fr auto;align-items:end;padding:32px 15px 25px;gap:15px}
.afterhours .market-module.tm .market-net{font-size:clamp(68px,10vw,130px);letter-spacing:-.075em}
.afterhours .tm-verdict{max-width:30ch;font-size:11px;line-height:1.6}
.afterhours .tm-setl>.tm-stats{grid-template-columns:repeat(6,minmax(0,1fr))}
.afterhours .tm-stats div{padding:13px 14px}
.afterhours .tm-stats dd{font-size:15px}
.afterhours .market-module.tm .market-sparkline{height:200px;background:linear-gradient(#60736822 1px,transparent 1px) 0 0/100% 25%}
.afterhours .tm-table{font-size:13px}
.afterhours .tm-fleet .tm-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.afterhours .tm-fleet .tm-stages li{padding:23px 18px;border:1px solid #3f4d45;min-width:0;grid-template-columns:22px 1fr auto 10px;gap:14px 8px}
.afterhours .tm-fleet .tm-stages p{grid-column:2/4;grid-row:2;color:#b9c5be;max-width:30ch;font-size:14px;line-height:1.55}
.afterhours .tm-scores{max-width:850px}
.afterhours .tm-meth>p{max-width:72ch;font:16px/1.75 Arial,sans-serif;margin:20px}
/* Work becomes a sequence of wide editorial spreads. */
.afterhours .work-section{background:#0f1210;max-width:none;border-top:1px solid #697a70;padding-top:100px}
.afterhours .work-section>.section-heading{min-height:280px;margin-bottom:10px}
.afterhours .work-section>.section-heading h2{max-width:none;font-size:clamp(65px,9.7vw,148px)}
.afterhours .work-section>.section-heading:before{background-position:0 15%;opacity:.12}
.afterhours .wk-index{background:var(--ah-pale);color:#1d2420;padding:28px 32px;margin:0 0 120px;position:relative;box-shadow:10px 10px 0 #333e38}
.afterhours .wk-index ol{border:0}
.afterhours .wk-index a{border-color:#909793;padding:16px 6px 16px 0}
.afterhours .wk-index strong{color:#1e2420;font-size:clamp(18px,1.7vw,25px)}
.afterhours .wk-index :is(.wk-no,em,.wk-fact){color:#4d5550}
.afterhours .wk-index svg{stroke:#4d5550}
.afterhours .wk-index a:before{background:linear-gradient(90deg,#87998f2f,transparent)}
.afterhours .wk-index a:is(:hover,:focus-visible){padding-left:12px}
.afterhours .wk-index a:focus-visible{outline-color:#25332b}
.afterhours .work-chapter{margin-top:0}
.afterhours .work-chapter+.work-chapter{margin-top:75px}
.afterhours .chapter-heading{position:relative;padding:30px 0 35px;min-height:170px;grid-template-columns:48px 1fr;border-top:1px solid #737f78;background:none;align-items:center;overflow:visible}
.afterhours .chapter-number{font-size:20px;color:#afc1b7;align-self:start;padding-top:10px}
.afterhours .chapter-heading h3{font:400 clamp(35px,4.5vw,68px)/1 CourierPrime,monospace;letter-spacing:-.07em;max-width:14ch;margin-bottom:16px}
.afterhours .chapter-heading p{max-width:50ch;font-size:14px;color:#b5beb9}
.afterhours .moth-heading>.moth-object{width:330px;top:-40px;right:2%}
.afterhours .work-chapter .work-entry,.afterhours .work-chapter .work-entry+.work-entry{grid-template-columns:minmax(0,.88fr) minmax(0,1.25fr);column-gap:clamp(35px,7vw,110px);row-gap:28px;padding:65px 0 90px;border-bottom:1px solid #4a544e;position:relative;isolation:isolate}
.afterhours .work-entry:before{content:"";position:absolute;left:35%;right:-8%;top:15%;bottom:7%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#3a4b4140,transparent 65%)}
.afterhours .work-chapter .work-entry .work-label{grid-column:1/-1;grid-row:1;justify-content:flex-start;gap:18px}
.ah-project-title{grid-column:1/-1;grid-row:2;font:400 clamp(48px,6.7vw,100px)/.94 CourierPrime,monospace;letter-spacing:-.075em;color:#e3e8e5;margin:0 0 22px;max-width:18ch;text-wrap:balance}
.afterhours .work-chapter .work-entry .work-body{grid-column:1;grid-row:3;align-self:center}
.afterhours .work-chapter .work-entry .system-figure,.afterhours .work-chapter .work-entry .project-art{grid-column:2;grid-row:3;align-self:center;min-width:0;max-width:none}
.afterhours .work-body p.work-lede{font:400 21px/1.45 CourierPrime,monospace;color:#d3dfd8;margin-top:0}
.afterhours .work-body>p{font-size:15px;line-height:1.75;max-width:53ch}
.afterhours .impact-facts{border:0;padding:0;margin:30px 0;gap:25px}
.afterhours .impact-facts>div{min-width:130px;max-width:none}
.afterhours .impact-facts dt{font-size:clamp(48px,6.5vw,90px);line-height:.95;color:#cfdbd4;letter-spacing:-.075em}
.afterhours .impact-facts dd{font-size:11px;color:#adbcb3}
.afterhours .system-figure{padding:32px 26px;border:1px solid #6f8076;border-radius:80px 4px 80px 4px;background:linear-gradient(150deg,#1e2722,#0b0f0d 40%);box-shadow:0 0 0 6px #0f1210,0 0 0 7px #4f5d5588,0 0 0 14px #0f1210,0 0 0 15px #4f5d5533;position:relative}
.afterhours .system-figure:before{display:none}
.afterhours .system-figure figcaption{font-size:11px;line-height:1.65;color:#adb8b2;padding-right:30px}
.afterhours .output-demo,.afterhours .editor-demo,.afterhours .pipeline-terminal{box-shadow:none;border-color:#536159;background:#0d110f}
.afterhours .source-link{background:#d1d9d4;color:#1f2722;border:1px solid #dee6e1;box-shadow:none;font-size:26px}
.afterhours .work-chapter .entry-reverse .work-body{grid-column:2}
.afterhours .work-chapter .entry-reverse .system-figure,.afterhours .work-chapter .entry-reverse .project-art{grid-column:1}
.afterhours .work-chapter .entry-reverse{grid-template-columns:minmax(0,1.25fr) minmax(0,.88fr)}
.afterhours .work-chapter .entry-reverse .ah-project-title{justify-self:end;text-align:right}
.afterhours .work-chapter .entry-reverse:before{left:-8%;right:35%}
.afterhours .work-entry-short .ah-project-title{font-size:clamp(44px,6vw,85px)}
.afterhours .project-art img{width:100%;max-width:none;aspect-ratio:1.2;object-fit:contain}
/* Earlier projects are image-led posters, not a repeated card grid. */
.afterhours .earlier-section{background:#141a16;max-width:none;border-top:1px solid #637068;padding-top:65px}
.afterhours .earlier-section .section-heading{margin-bottom:0;min-height:280px}
.afterhours .side-grid{display:block;margin:0!important}
.afterhours .side-card,.afterhours .side-card-wide{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px 50px;align-items:center;padding:35px 0;border-bottom:1px solid #52645a;min-height:510px;isolation:isolate}
.afterhours .side-card:before{content:"";position:absolute;inset:3% 30% 3% -10%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#68776e40,transparent 65%)}
.afterhours .side-card .side-visual.side-image,.afterhours .side-card .side-visual.logo-assemblage{grid-column:1;grid-row:1;width:100%;height:450px;margin:0;box-shadow:none;background:transparent!important;border:0}
.afterhours .side-card .side-copy{grid-column:2;grid-row:1;padding:0}
.afterhours .side-copy h3{font:400 clamp(40px,5.5vw,80px)/1 CourierPrime,monospace;letter-spacing:-.075em;margin:0 0 28px}
.afterhours .side-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:38ch}
.afterhours .side-copy .text-link{font-size:12px;margin-top:25px}
.afterhours .side-fact{display:block;color:#c9dbd1;font-size:12px;margin-top:20px}
.afterhours .side-card:nth-child(2){grid-template-columns:1fr 1.15fr}
.afterhours .side-card:nth-child(2) .side-visual{grid-column:2}
.afterhours .side-card:nth-child(2) .side-copy{grid-column:1}
.afterhours .side-card:nth-child(2):before{inset:3% -10% 3% 30%}
/* Craft closes as a compact collection of objects and precise links. */
.afterhours .inventory{padding-top:90px;padding-bottom:100px;max-width:none;position:relative;isolation:isolate;color:#242c27;background:radial-gradient(ellipse at 90% 0%,#faf1d9 0,transparent 44%),linear-gradient(125deg,#cfd7d2,#e9ebea 48%,#bfcac4);border-top:1px solid #f1f5f3}
.afterhours .inventory>.section-heading{min-height:350px;margin-bottom:15px}
.afterhours .inventory>.section-heading:before{opacity:.14;mix-blend-mode:multiply;background-position:75% 70%}
.afterhours .inventory h2{color:#222a25}.afterhours .inventory h2 span{color:#687a6f;text-shadow:none}
.afterhours .inventory :is(a,button):focus-visible{outline-color:#395043}
.afterhours .inventory .tool-card{background:transparent;border-color:#95a09a}
.afterhours .inventory .tool-card h3{color:#28312c}
.afterhours .inventory .tool-card>p{color:#49534d}
.afterhours .inventory .text-link{color:#3d5246;border-color:#7c8d83}
.afterhours .inventory .tool-card .tool-emblem{box-shadow:0 0 0 5px #dfe5e2,0 0 0 6px #9eaba3,0 0 0 12px #c8d3cd,0 0 0 13px #f3f6f4;background:linear-gradient(140deg,#677b6f,#bbc8c0)}
.afterhours .inventory .stack-line{border-color:#95a09a}.afterhours .inventory .stack-line p{color:#5b655f}
.afterhours .inventory .metal-wrap{width:230px;height:330px;margin-right:8%;}
.afterhours .tool-grid{display:block;margin-top:0}
.afterhours .tool-card{display:grid;grid-template-columns:170px minmax(0,1fr) minmax(0,1.15fr);column-gap:45px;row-gap:12px;align-items:center;min-height:250px;padding:28px 0;border:0;border-top:1px solid #57655d}
.afterhours .tool-card:first-child,.afterhours .tool-card:last-child{padding:28px 0;border-top:1px solid #57655d}
.afterhours .tool-card .tool-emblem{grid-column:1;grid-row:1/3;width:160px;height:160px;border-radius:50%;box-shadow:0 0 0 6px #0b0d0c,0 0 0 7px #54655b66;background:#1f2923;margin:0;overflow:hidden}
.afterhours .tool-card h3{grid-column:2;grid-row:1/3;font:400 clamp(29px,3.5vw,51px)/1.05 CourierPrime,monospace;letter-spacing:-.065em;margin:0}
.afterhours .tool-card>p{grid-column:3;grid-row:1;min-height:0;font:15px/1.65 Arial,sans-serif;max-width:40ch;margin:0;align-self:end}
.afterhours .tool-card>.text-link,.afterhours .tool-card .tool-links{grid-column:3;grid-row:2;font-size:12px;align-self:start;margin-top:0}
.afterhours .workflow-emblem .tmux-logo{width:125px;top:24px;left:14px;padding:6px}.afterhours .workflow-emblem .herdr-logo{width:65px;height:65px;right:18px;bottom:18px}
.afterhours .stack-line{display:block;border-top:1px solid #637068;padding-top:25px;margin-top:10px}
.afterhours .stack-line>span{display:none}
.afterhours .stack-line p{font-size:12px;color:#97a29c}
/* Persistent navigation keeps clear, compact targets. */
.afterhours .dock{border-radius:0;background:#111513ed;border-color:#5a655f;backdrop-filter:blur(12px);height:38px;bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:0 8px}
.afterhours .dock a{height:44px;margin:-3px 0;padding:0 12px;font-size:10px;color:#b5c2ba}
.afterhours .dock ol a span{max-width:90px;opacity:1}
.afterhours .dock ol a:before{display:none}
.afterhours .dock ol a[aria-current=true]{color:#f1f5f3;background:#3d4b4366}
@media(min-width:1680px){.afterhours .work-section,.afterhours .earlier-section{padding-left:max(var(--gutter),calc((100vw - 1488px)/2));padding-right:max(var(--gutter),calc((100vw - 1488px)/2))}}
@media(max-width:1100px){
 .afterhours .sc-cab,.afterhours .sc-cab-squishy{grid-template-columns:48px minmax(0,1.2fr) minmax(0,1fr);gap:20px}
 .afterhours .sc-cab-squishy .sc-cab-copy{grid-column:3;padding:0 0 0 15px}.afterhours .sc-cab-squishy .sc-shots{grid-column:1}
 .afterhours .sc-cab-copy{padding-left:15px}.afterhours .sc-cab-copy h4{font-size:36px}
 .afterhours .work-chapter .work-entry,.afterhours .work-chapter .entry-reverse{column-gap:45px;grid-template-columns:1fr 1.1fr}
 .afterhours .ah-project-title{font-size:64px}.afterhours .system-figure{padding:25px 15px;border-radius:45px 4px 45px 4px}
 .afterhours .side-copy h3{font-size:51px}.afterhours .side-card .side-visual.side-image,.afterhours .side-card .side-visual.logo-assemblage{height:380px}
 .afterhours .tool-card{grid-template-columns:130px 1fr 1.2fr;gap:15px 25px}.afterhours .tool-card .tool-emblem{width:120px;height:120px}.afterhours .workflow-emblem .tmux-logo{width:100px;left:8px;top:16px}.afterhours .workflow-emblem .herdr-logo{width:47px;height:47px;right:12px;bottom:12px}
}
@media(max-width:900px){
 .afterhours .hero-type{top:23%;width:95%;left:0}.afterhours .serpent-study{top:35%;right:3%;height:38%;width:55%}
 .afterhours .section-wrap{padding-top:65px;padding-bottom:65px}.afterhours .section-heading{min-height:280px}.afterhours .section-heading h2,.afterhours .inventory h2{font-size:clamp(57px,10vw,90px)}
 .afterhours .sc-head{gap:20px}.afterhours .sc-head>p{max-width:34ch;font-size:14px}
 .afterhours .sc-cab,.afterhours .sc-cab-squishy{grid-template-columns:58px minmax(0,1fr);gap:25px;padding:45px 0 55px}.afterhours .sc-screen{grid-column:2;grid-row:1}.afterhours .sc-screen-inner img{aspect-ratio:16/10}
 .afterhours .sc-cab .sc-cab-copy{grid-column:2;grid-row:2;padding:0}.afterhours .sc-cab-copy h4{font-size:50px}.afterhours .sc-cab-copy{max-width:620px}.afterhours .sc-cab .sc-shots{grid-column:1;grid-row:1}
 .afterhours .sc-new-game{grid-template-columns:1fr 1fr;gap:25px;padding:25px}.afterhours .sc-mini{grid-template-columns:1fr;gap:25px}.afterhours .sc-mini-stage{order:-1;max-width:620px;width:100%;margin:0 auto}.afterhours .sc-mini-copy{max-width:620px;width:100%;margin:auto}
 .afterhours .market-module.tm{margin-bottom:-65px;padding-top:65px;padding-bottom:65px}.afterhours .tm-intro{grid-template-columns:1fr;gap:25px}.afterhours .tm-lede{max-width:48ch}.afterhours .tm-term{padding:8px;border-radius:22px 4px 22px 4px}
 .afterhours .tm-quote{grid-template-columns:1fr;padding:25px 5px}.afterhours .tm-setl>.tm-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.afterhours .tm-fleet .tm-stages{grid-template-columns:repeat(2,minmax(0,1fr))}
 .afterhours .work-chapter .work-entry,.afterhours .work-chapter .work-entry+.work-entry,.afterhours .work-chapter .entry-reverse{grid-template-columns:minmax(0,1fr);gap:25px;padding:50px 0 70px}
 .afterhours .work-chapter .work-entry .work-body{grid-column:1;grid-row:3;max-width:65ch}.afterhours .work-chapter .work-entry .system-figure,.afterhours .work-chapter .work-entry .project-art{grid-column:1;grid-row:4;max-width:660px;width:100%;margin:15px auto 0}
 .afterhours .work-chapter .entry-reverse .ah-project-title{justify-self:start;text-align:left}.afterhours .ah-project-title{font-size:clamp(45px,8vw,75px);margin-bottom:8px}.afterhours .work-entry:before{left:-10%;right:-10%}
 .afterhours .work-body>p{max-width:65ch}.afterhours .impact-facts{gap:40px}.afterhours .impact-facts>div{flex:none;max-width:240px}
 .afterhours .side-card,.afterhours .side-card-wide,.afterhours .side-card:nth-child(2){grid-template-columns:1fr 1fr;gap:30px;min-height:400px}.afterhours .side-card .side-visual.side-image,.afterhours .side-card .side-visual.logo-assemblage{height:340px}.afterhours .side-copy h3{font-size:40px}.afterhours .side-copy>p:not(.eyebrow){font-size:15px}
 .afterhours .inventory .metal-wrap{width:190px;height:280px;margin-right:0}.afterhours .tool-card{grid-template-columns:130px minmax(0,1fr)}.afterhours .tool-card h3{grid-column:2;grid-row:1}.afterhours .tool-card>p{grid-column:2;grid-row:2}.afterhours .tool-card>.text-link,.afterhours .tool-card .tool-links{grid-column:2;grid-row:3}.afterhours .tool-card .tool-emblem{grid-row:1/4}
}
@media(max-width:600px){
 .afterhours .topbar{height:74px}.afterhours .topbar-actions{gap:14px}.afterhours .topbar .contact-link,.afterhours .motion-toggle{font-size:10px}.afterhours .mh-mark{width:39px}
 .afterhours .hero-scroll,.motion-paused .afterhours .hero-scroll{height:max(740px,100svh)}.afterhours .hero-type{top:21%;left:-1%;width:102%}.afterhours .title-art{transform:rotate(-4deg)}.afterhours .serpent-study{top:32%;right:-3%;width:86%;height:37%}.ah-chamber img{object-position:64% 35%;opacity:.72}
 .afterhours .hero-info{left:var(--gutter);bottom:146px;gap:14px}.afterhours .hero-info>p:first-child{font-size:14px}.afterhours .hero-company{font-size:11px}
 .ah-directory{grid-template-columns:1fr 1fr 1.25fr}.ah-directory a{padding:23px 12px 25px 0;gap:0;grid-template-columns:1fr}.ah-directory a+a{padding-left:12px}.ah-directory strong{font-size:24px;line-height:1.05;letter-spacing:-.07em}.ah-arrow{display:none}
 .afterhours .section-wrap{padding-top:45px;padding-bottom:55px}.afterhours .section-heading{padding:24px 0 35px;min-height:250px;margin-bottom:20px;gap:0;display:block}.afterhours .section-heading h2,.afterhours .inventory h2{font-size:clamp(56px,13.5vw,78px);max-width:8ch;position:relative;z-index:1}
 .afterhours .garden-wrap{position:absolute;right:-13px;bottom:10px;width:140px;height:140px;opacity:.85;z-index:0;margin:0}.afterhours #side-projects>.section-heading{min-height:280px}.afterhours .section-heading:before{inset:-20px -25px;background-size:auto 100%}
 .afterhours .sc-head{display:block;padding:17px 0 23px}.afterhours .sc-head h3{font-size:29px;margin-bottom:14px}.afterhours .sc-head>p{font-size:14px;max-width:40ch}
 .afterhours .sc-cab,.afterhours .sc-cab-squishy{grid-template-columns:minmax(0,1fr);gap:22px;padding:35px 0 45px}.afterhours .sc-cab .sc-screen{grid-column:1;grid-row:1;margin:0 5px}.afterhours .sc-screen-inner{border-radius:18px 3px 18px 3px;box-shadow:0 0 0 4px #121513,0 0 0 5px #67746c}.afterhours .sc-screen-inner img{aspect-ratio:4/3}
 .afterhours .sc-cab .sc-shots{grid-column:1;grid-row:2;grid-template-columns:repeat(4,1fr);gap:12px;max-width:270px;justify-self:center;width:100%;margin:0}.afterhours .sc-shots button{width:100%;max-width:56px;justify-self:center}
 .afterhours .sc-cab .sc-cab-copy{grid-column:1;grid-row:3;max-width:none}.afterhours .sc-cab-copy h4{font-size:clamp(38px,10.5vw,54px);max-width:15ch}.afterhours .sc-tag{font-size:15px;margin-top:15px}.afterhours .sc-body{font-size:14px}.afterhours .sc-specs{margin:20px 0}.afterhours .sc-play{font-size:12px}
 .afterhours .sc-new-game{grid-template-columns:1fr;gap:22px;margin:20px 0 45px;padding:20px}.afterhours .sc-new-game h4{font-size:37px}.afterhours .sc-new-game figure{max-width:none}
 .afterhours .sc-mini{padding:20px 0;margin:40px 0;gap:28px}.afterhours .sc-mini-stage{padding:7px;box-shadow:0 0 0 3px #101713,0 0 0 4px #4b5650}.afterhours .sc-mini-copy h4{font-size:40px}.afterhours .sc-mini-copy>p:not(.eyebrow){font-size:14px}
 .afterhours .market-module.tm{margin-top:90px;margin-bottom:-55px;padding:55px var(--gutter) 65px}.afterhours .tm-intro{margin-bottom:25px;padding-bottom:15px}.afterhours .market-intro h3{font-size:clamp(77px,22vw,130px)}.afterhours .tm-lede p{font-size:14px!important}
 .afterhours .tm-term{padding:5px;border-radius:17px 3px 17px 3px;box-shadow:0 0 0 4px #141916,0 0 0 5px #65796d;font-size:11px}.afterhours .tm-trades{grid-template-columns:1fr}.afterhours .tm-trades li{padding:13px 11px}.afterhours .tm-trades q{font-size:11px;margin-top:4px}.afterhours .tm-bar{font-size:9px}.afterhours .tm-bar>*{padding:0 7px}.afterhours .tm-status{gap:4px}.afterhours .tm-status:before{width:5px;height:5px}
 .afterhours .tm-keys button{font-size:11px;padding:0 2px}.afterhours .tm-tabbed .tm-keys{gap:3px;padding:7px 0}.afterhours .tm-quote{padding:25px 0 20px}.afterhours .market-module.tm .market-net{font-size:clamp(48px,15vw,66px)}.afterhours .tm-verdict{font-size:10px}.afterhours .tm-stats div{padding:9px 6px}.afterhours .tm-stats dd{font-size:12px}.afterhours .tm-stats dt{font-size:9px;letter-spacing:0}.afterhours .tm-ph{font-size:9px;letter-spacing:0}.afterhours .market-module.tm .market-range button{min-width:29px;padding:0 5px;font-size:10px}.afterhours .market-module.tm .market-sparkline{height:140px}.afterhours .tm-table{font-size:10px}.afterhours .tm-fleet .tm-stages{grid-template-columns:1fr}.afterhours .tm-fleet .tm-stages li{padding:15px 10px}.afterhours .tm-meth>p{font-size:14px;margin:18px 11px}.ah-research>summary{padding:14px 11px;font-size:11px}
 .afterhours .work-section>.section-heading{min-height:210px;margin-bottom:25px}.afterhours .work-section>.section-heading h2{font-size:clamp(55px,13vw,80px);max-width:9ch}.afterhours .wk-index{padding:18px 12px;margin-bottom:65px;box-shadow:5px 5px 0 #333e38}.afterhours .wk-index strong{font-size:17px}.afterhours .wk-index a{padding:14px 0;gap:5px 9px}.afterhours .wk-index .wk-fact{font-size:12px}.afterhours .wk-index em{font-size:9px}
 .afterhours .chapter-heading{min-height:170px;padding:25px 0;gap:10px;grid-template-columns:22px 1fr}.afterhours .chapter-number{font-size:15px}.afterhours .chapter-heading h3{font-size:33px;max-width:12ch}.afterhours .chapter-heading p{font-size:13px;max-width:34ch}.afterhours .moth-heading h3{padding-right:90px;max-width:100%}.afterhours .moth-heading>.moth-object{width:140px;top:6px;right:-15px}.afterhours .moth-heading p{max-width:none}
 .afterhours .work-chapter .work-entry,.afterhours .work-chapter .work-entry+.work-entry{padding:35px 0 55px;row-gap:20px}.afterhours .ah-project-title,.afterhours .work-entry-short .ah-project-title{font-size:clamp(39px,10.7vw,60px);line-height:1;letter-spacing:-.075em;max-width:15ch;margin:0}.afterhours .work-label p{font-size:9px;line-height:1.5}.afterhours .work-chapter .work-entry .work-label{gap:12px}
 .afterhours .work-body p.work-lede{font-size:19px}.afterhours .work-body>p{font-size:14px}.afterhours .impact-facts{gap:25px;margin:25px 0}.afterhours .impact-facts dt{font-size:53px}.afterhours .impact-facts>div{min-width:105px;max-width:145px}.afterhours .impact-facts dd{font-size:10px}
 .afterhours .system-figure{padding:22px 14px;border-radius:35px 3px 35px 3px;box-shadow:0 0 0 4px #0f1210,0 0 0 5px #4f5d5588}.afterhours .system-figure figcaption{font-size:10px;padding-right:7px}.afterhours .source-link{font-size:23px}.afterhours .work-chapter .work-entry .project-art{margin:0;width:100%}
 .afterhours .earlier-section>.section-heading{min-height:220px;margin-bottom:0}.afterhours .side-card,.afterhours .side-card-wide,.afterhours .side-card:nth-child(2){grid-template-columns:1fr;padding:20px 0 40px;gap:15px;min-height:0}.afterhours .side-card .side-visual.side-image,.afterhours .side-card .side-visual.logo-assemblage,.afterhours .side-card:nth-child(2) .side-visual{grid-column:1;grid-row:1;height:290px}.afterhours .side-card .side-copy,.afterhours .side-card:nth-child(2) .side-copy{grid-column:1;grid-row:2}.afterhours .side-copy h3{font-size:42px;margin-bottom:18px}.afterhours .side-copy>p:not(.eyebrow){font-size:15px}.afterhours .side-card:before,.afterhours .side-card:nth-child(2):before{inset:0 -25px 30%}
 .afterhours .inventory>.section-heading{min-height:240px;padding-bottom:30px}.afterhours .inventory .metal-wrap{position:absolute;right:-10px;bottom:-2px;width:125px;height:220px;z-index:0}.afterhours .inventory h2{max-width:7ch}.afterhours .tool-card,.afterhours .tool-card:first-child,.afterhours .tool-card:last-child{grid-template-columns:85px minmax(0,1fr);gap:12px 22px;padding:27px 0;min-height:220px}.afterhours .tool-card .tool-emblem{width:80px;height:80px;grid-row:1/4}.afterhours .tool-card h3{font-size:29px;letter-spacing:-.065em}.afterhours .tool-card>p{font-size:13px;line-height:1.65}.afterhours .tool-card>.text-link,.afterhours .tool-card .tool-links{font-size:11px}.afterhours .tool-emblem .collage-logo{width:65px;height:65px}.afterhours .workflow-emblem .tmux-logo{width:69px;left:4px;top:12px;padding:3px}.afterhours .workflow-emblem .herdr-logo{width:32px;height:32px;right:8px;bottom:8px}.afterhours .stack-line p{font-size:11px}
 .afterhours .dock{max-width:calc(100% - 24px);padding:0 3px}.afterhours .dock a{padding:0 7px;font-size:9px;min-width:0}.afterhours .dock-top{min-width:24px!important}
}
@media(max-width:350px){.afterhours .topbar-actions{gap:10px}.afterhours .topbar .contact-link,.afterhours .motion-toggle{font-size:9px}.afterhours .hero-info>p:first-child{font-size:12px}.afterhours .hero-company{font-size:10px}.ah-directory strong{font-size:20px}.afterhours .garden-wrap{width:110px;height:110px;bottom:20px}.afterhours .section-heading h2,.afterhours .inventory h2{font-size:53px}.afterhours .wk-index strong{font-size:15px}.afterhours .wk-index a{column-gap:5px}.afterhours .tool-card{column-gap:16px}.afterhours .tm-table{font-size:9px}}
@media(prefers-reduced-motion:reduce){.ah-directory a,.ah-directory a:before,.ah-arrow{transition:none}}
.motion-paused .ah-directory a,.motion-paused .ah-directory a:before,.motion-paused .ah-arrow{transition:none}
@media print{.ah-chamber,.ah-directory{display:none}.afterhours .hero-scroll{height:600px}.afterhours .tm-tabbed .tm-panel{display:block}.afterhours .tm-keys{display:none}}

/* The pale room emerges through a continuous dusk field, never a hard seam. */
.afterhours .inventory{padding-top:clamp(250px,29vw,350px);border-top:0}
.afterhours .inventory:before{content:"";position:absolute;inset:0 0 auto;height:clamp(280px,32vw,400px);pointer-events:none;z-index:-1;background:linear-gradient(180deg,#141a16 0%,#141a16f5 12%,#2d3631e6 30%,#607067ab 52%,#abb9b16b 74%,#d7dfda00 100%)}
.ah-threshold{position:absolute;top:0;left:0;right:0;height:clamp(300px,34vw,440px);overflow:hidden;pointer-events:none;mask-image:linear-gradient(transparent,#000 15%,#000 66%,transparent);--scene:.5}
.ah-threshold-ribs{position:absolute;inset:-35% -5%;background:url('assets/afterhours-chamber.svg') 50% 58%/cover no-repeat;opacity:.42;transform:translateY(calc((var(--scene) - .5) * -66px)) scale(calc(1.2 - var(--scene) * .16)) rotate(calc((var(--scene) - .5) * 10deg));transform-origin:65% 50%}
.ah-threshold-glow{position:absolute;inset:0 -15%;background:radial-gradient(ellipse at 65% 62%,#fff2e9a6, #cadbd163 22%,transparent 58%);mix-blend-mode:screen;opacity:calc(.25 + var(--scene) * .55);transform:translateX(calc((var(--scene) - .5) * -100px)) scaleX(calc(.75 + var(--scene) * .65))}
.afterhours .inventory>.section-heading{margin-top:0}
.afterhours .inventory>.section-heading:before{display:none}
.afterhours .section-heading:before{transform:translateY(calc((var(--scene,.5) - .5) * -40px)) scale(calc(1.06 - var(--scene,.5) * .04));transform-origin:65% 50%}
.afterhours .sc-screen-inner{position:relative;isolation:isolate}
.afterhours .sc-screen-inner:after{content:"";position:absolute;inset:-40% -100%;pointer-events:none;z-index:2;background:linear-gradient(113deg,transparent 44%,#e8f0eb00 46%,#e8f0eb21 49%,#fff9e535 50%,#e8f0eb09 53%,transparent 56%);transform:translateX(calc((var(--scene,.5) - .5) * 65%));mix-blend-mode:screen}
.motion-paused .ah-threshold-ribs,.motion-paused .ah-threshold-glow,.motion-paused.afterhours .section-heading:before,.motion-paused .afterhours .section-heading:before{transform:none!important}
.motion-paused .ah-threshold-glow{opacity:.5}.motion-paused .sc-screen-inner:after{display:none}
@media(max-width:600px){.ah-threshold-ribs{background-size:auto 100%;inset:-15% -50%;opacity:.35}.afterhours .inventory{padding-top:230px}.afterhours .inventory:before{height:290px}.ah-threshold{height:310px}}
@media(prefers-reduced-motion:reduce){.ah-threshold-ribs,.ah-threshold-glow,.afterhours .section-heading:before{transform:none!important}.ah-threshold-glow{opacity:.5}.afterhours .sc-screen-inner:after{display:none}}

/* Smoked glass / editorial metal. Compact scale, photographic depth, quiet text.
   The image is original generated atmosphere, not a photograph of a real venue. */
:root{--gutter:clamp(22px,5vw,72px);--paper:#0a0b0a;--ink:#e3e6e4;--muted:#a9aeab;--line:#414543;--acid:#b2c4ba}
.afterhours .topbar{height:66px;background:linear-gradient(#0a0b0ad9,#0a0b0a22);border-bottom-color:#cacecc1c}
.afterhours .mh-mark{width:36px;height:28px}
.afterhours .hero-scroll,.motion-paused .afterhours .hero-scroll{height:clamp(620px,85svh,800px);min-height:0}
.afterhours .art-hero{height:100%;min-height:0;padding-top:80px;background:#0a0b0a}
.ah-chamber{background:#0a0b0a}
.ah-chamber picture{display:block;position:absolute;inset:-4%}
.ah-chamber img{opacity:.66;object-position:55% 45%;transform:translate3d(0,calc((var(--scene,.5) - .5) * -60px),0) scale(1.04);transition:transform .75s cubic-bezier(.2,.65,.25,1)}
.ah-chamber:after{background:linear-gradient(180deg,#0a0b0a44,transparent 24%,#0a0b0a22 55%,#0a0b0a 98%),linear-gradient(90deg,#0a0b0a33,transparent 70%)}
.afterhours .hero-type{left:8%;top:16%;width:76%;max-width:1080px}
.afterhours .title-art img{filter:brightness(1.15) saturate(.52)}
.afterhours .serpent-study{right:9%;top:30%;width:36%;height:40%}
.afterhours .spectral-aura{opacity:.35}
.afterhours .hero-info{bottom:116px}
.afterhours .hero-info>p:first-child{font-size:15px}
.afterhours .hero-company{font-size:12px}
.ah-directory{border-color:#afb6b266}
.ah-directory a{padding:18px 24px 21px 0}
.ah-directory a+a{border-color:#afb6b233;padding-left:24px}
.ah-directory strong{font-size:clamp(21px,2.2vw,30px)}
.afterhours .section-wrap{max-width:none;padding:60px max(var(--gutter),calc((100% - 1120px)/2))}
.afterhours .section-heading,.afterhours .work-section>.section-heading,.afterhours .earlier-section>.section-heading,.afterhours .inventory>.section-heading{min-height:180px;padding:30px 0;margin-bottom:30px;overflow:visible}
.afterhours .section-heading:before{inset:-30px -40px -15px 27%;background:url('assets/afterhours-glass.webp') 65% 48%/cover no-repeat;opacity:.5;mask-image:linear-gradient(90deg,transparent,#000 40%,transparent),linear-gradient(transparent,#000 25%,#000 70%,transparent);mask-composite:intersect;transform:translate3d(calc((var(--scene,.5) - .5) * -35px),0,0) scale(1.04);transition:transform .7s cubic-bezier(.2,.65,.25,1)}
.afterhours .section-heading h2,.afterhours .work-section>.section-heading h2,.afterhours .inventory h2{font-size:clamp(43px,5.3vw,72px);line-height:.98;letter-spacing:-.075em;max-width:12ch}
.afterhours .section-heading h2 span{color:#a1b0a7;text-shadow:none}
.afterhours .garden-wrap{width:180px;height:180px;margin-right:7%;border:0;border-radius:0;background:transparent;box-shadow:none}
.afterhours #side-projects{padding-top:28px}
.afterhours .sc-head{padding:15px 0 20px;gap:30px;border-color:#6c726f}
.afterhours .sc-head h3{font-size:25px}
.afterhours .sc-head>p{font-size:13px;max-width:48ch}
.afterhours .sc-cab,.afterhours .sc-cab-squishy{padding:38px 0 44px;gap:24px;grid-template-columns:44px minmax(0,1.2fr) minmax(0,1fr)}
.afterhours .sc-cab-squishy{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 44px}
.afterhours .sc-cab-squishy .sc-cab-copy{grid-column:1;padding:0 15px 0 0}
.afterhours .sc-cab-squishy .sc-shots{grid-column:3}
.afterhours .sc-screen-inner{border:1px solid #adb0ae;border-radius:2px;box-shadow:0 1px 0 #ebeeec88,0 5px 0 #262827,0 6px 0 #6a706d,0 24px 42px #0008}
.afterhours .sc-screen-inner img{aspect-ratio:4/3;filter:saturate(.83);transition:filter .4s}
.afterhours .sc-screen:is(:hover,:focus-within) img{filter:saturate(1)}
.afterhours .sc-screen-inner:after{transition:transform .65s cubic-bezier(.2,.65,.25,1)}
.afterhours .sc-shots{gap:10px}
.afterhours .sc-shots button{border-radius:2px;min-width:44px;min-height:44px;opacity:.65}
.afterhours .sc-shots button[aria-pressed=true]{box-shadow:0 0 0 2px #cdd7d144}
.afterhours .sc-cab-copy{padding-left:15px}
.afterhours .sc-cab-copy h4{font-size:clamp(29px,3.1vw,42px);max-width:15ch}
.afterhours .sc-tag{font-size:14px;margin-top:16px;color:#cdd6d1}
.afterhours .sc-body{font-size:14px;line-height:1.65;margin-top:14px}
.afterhours .sc-specs{margin:18px 0;gap:6px}
.afterhours .sc-play{font-size:12px;min-height:46px;padding:12px 0;border-color:#717974}
.afterhours .sc-new-game{margin:28px 0 40px;padding:24px;gap:30px;background:linear-gradient(125deg,#2e323099,#121312);border-color:#5d6460}
.afterhours .sc-new-game h4{font-size:32px}
.afterhours .sc-mini{gap:38px;margin:40px 0;padding:20px 0;grid-template-columns:1fr 1.15fr}
.afterhours .sc-mini:before{background-image:url('assets/afterhours-glass.webp');opacity:.16}
.afterhours .sc-mini-copy h4{font-size:32px}
.afterhours .sc-mini-stage{border-radius:2px;padding:6px;border-color:#828784;box-shadow:0 5px 0 #292e2b,0 6px 0 #676f6a}
.afterhours .sc-mini-stage canvas{border-radius:0}
.afterhours .market-module.tm{margin:80px calc(-1 * max(var(--gutter),calc((100vw - 1120px)/2))) -60px;padding:65px max(var(--gutter),calc((100vw - 1120px)/2));background:linear-gradient(#0a0b0a,#151816 35%,#0f1110);--tm-line:#4b514e;--tm-amber:#c5d1ca}
.afterhours .market-module:before{background:url('assets/afterhours-glass.webp') 80% 52%/cover no-repeat;opacity:.22;mask-image:linear-gradient(#000,transparent 50%);transform:translateY(calc((var(--scene,.5) - .5) * -35px));transition:transform .7s ease-out}
.afterhours .tm-intro{grid-template-columns:1fr 1fr;gap:35px;padding-bottom:20px;margin-bottom:20px}
.afterhours .market-intro h3{font-size:clamp(66px,8vw,110px)}
.afterhours .tm-term{border-radius:2px;padding:10px;box-shadow:0 1px 0 #eaedeb55,0 6px 0 #282c2a,0 7px 0 #727a75,0 32px 60px #0008;border-color:#8a928d;background:#0b0d0c}
.afterhours .tm-trades{background:#1f2522}.afterhours .tm-trades li{padding:14px}.afterhours .tm-trades strong{font-size:13px}
.afterhours .tm-panel{padding-top:14px}.afterhours .tm-quote{padding:20px 12px}.afterhours .market-module.tm .market-net{font-size:clamp(52px,6vw,80px)}
.afterhours .market-module.tm .market-sparkline{height:160px}
.afterhours .work-section{background:#0f1110;border:0}
.afterhours .wk-index{background:linear-gradient(115deg,#bfc6c2,#eaeceb 45%,#bbc2be);padding:14px 25px;margin-bottom:65px;box-shadow:0 1px 0 #fff,0 6px 0 #68706b,0 7px 0 #b0b8b3;transform:none}
.afterhours .wk-index a{padding:12px 0}.afterhours .wk-index strong{font-size:18px}.afterhours .wk-index .wk-fact{font-size:12px}
.afterhours .chapter-heading{min-height:110px;padding:23px 0;grid-template-columns:35px 1fr;border-color:#656d68}
.afterhours .chapter-heading h3{font-size:30px;max-width:20ch;margin-bottom:10px}
.afterhours .chapter-heading p{font-size:13px}
.afterhours .chapter-number{font-size:15px}
.afterhours .moth-heading>.moth-object{width:200px;top:-28px;right:8%}
.afterhours .work-chapter+.work-chapter{margin-top:50px}
.afterhours .work-chapter .work-entry,.afterhours .work-chapter .work-entry+.work-entry{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px 65px;padding:38px 0 52px;border-color:#3a413d}
.afterhours .ah-project-title,.afterhours .work-entry-short .ah-project-title{font-size:clamp(31px,3.6vw,48px);line-height:1.04;letter-spacing:-.065em;margin:0 0 8px;max-width:24ch}
.afterhours .work-chapter .entry-reverse .ah-project-title{justify-self:start;text-align:left}
.afterhours .work-chapter .work-entry .work-label{gap:12px}
.afterhours .work-label>span{font-size:19px}
.afterhours .work-body p.work-lede{font-size:18px;line-height:1.5;color:#cdd7d1}
.afterhours .work-body>p{font-size:14px;line-height:1.7}
.afterhours .impact-facts{margin:22px 0;gap:28px}
.afterhours .impact-facts dt{font-size:clamp(37px,4vw,55px);color:#dbe2de}
.afterhours .impact-facts dd{font-size:10px}
.afterhours .system-figure{padding:24px 18px;border-radius:2px;border:1px solid #6c736f;background:linear-gradient(145deg,#2f3431,#0f1311 36%,#171a18);box-shadow:0 1px 0 #cdd3d02b,0 5px 0 #252b28,0 6px 0 #606964;overflow:hidden}
.afterhours .system-figure:before{display:block;content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 25%,#ecf2ee08 44%,transparent 64%);transform:translateX(calc((var(--scene,.5) - .5) * 80%));transition:transform .7s ease-out}
.afterhours .system-figure figcaption{font-size:10px;padding-right:0}
.afterhours .source-link{font-size:21px;line-height:1.15;padding:18px}
.afterhours .project-art img{max-height:300px;aspect-ratio:1.4}
.afterhours .earlier-section{background:linear-gradient(#0f1110,#151917);border:0}
.afterhours .side-card,.afterhours .side-card-wide,.afterhours .side-card:nth-child(2){min-height:300px;padding:25px 0;gap:30px 65px}
.afterhours .side-card .side-visual.side-image,.afterhours .side-card .side-visual.logo-assemblage{height:290px}
.afterhours .side-copy h3{font-size:36px;margin-bottom:18px}
.afterhours .side-copy>p:not(.eyebrow){font-size:14px;line-height:1.65}
.afterhours .side-fact,.afterhours .side-copy .text-link{font-size:11px;margin-top:18px}
/* The last room stays smoked silver: illumination travels through the material,
   rather than replacing the whole page with a white section. */
.afterhours .inventory{padding-top:130px;padding-bottom:80px;background:linear-gradient(180deg,#151917,#272c29 44%,#131614);color:#dde2df;border:0}
.afterhours .inventory:before{height:280px;background:linear-gradient(#151917,transparent)}
.ah-threshold{height:260px;opacity:.7}
.ah-threshold-ribs{inset:-10% 0;background:url('assets/afterhours-glass.webp') 50% 70%/cover no-repeat;opacity:.35;transform:translateY(calc((var(--scene) - .5) * -55px)) scale(1.04);transition:transform .8s ease-out}
.ah-threshold-glow{background:radial-gradient(ellipse at 65% 50%,#f2f6f444,transparent 62%);transition:transform .8s ease-out,opacity .8s ease-out}
.afterhours .inventory>.section-heading{min-height:160px;margin-bottom:20px}
.afterhours .inventory h2{color:#e3e6e4}.afterhours .inventory h2 span{color:#aabbb1}
.afterhours .inventory .metal-wrap{height:190px;width:140px;margin-right:10%}
.afterhours .inventory :is(a,button):focus-visible{outline-color:#d7e4dc}
.afterhours .inventory .tool-card{border-color:#666f6a;background:transparent}
.afterhours .tool-card,.afterhours .tool-card:first-child,.afterhours .tool-card:last-child{min-height:170px;padding:25px 0;grid-template-columns:100px minmax(0,.8fr) minmax(0,1.2fr);column-gap:35px;row-gap:10px;transform:none}
.afterhours .tool-card .tool-emblem{width:90px;height:90px;border-radius:3px}
.afterhours .inventory .tool-card .tool-emblem{background:linear-gradient(135deg,#85908a55,#1b201d);box-shadow:inset 0 1px 0 #e0e8e366,0 4px 0 #161a18,0 5px 0 #85908a66}
.afterhours .inventory .tool-card h3{color:#dee4e1;font-size:29px}
.afterhours .inventory .tool-card>p{color:#bac2bd;font-size:14px}
.afterhours .inventory .text-link{color:#cadbd1;border-color:#8c9e94}
.afterhours .tool-emblem .collage-logo{width:76px;height:76px}
.afterhours .workflow-emblem .tmux-logo{width:75px;top:15px;left:7px;padding:4px}
.afterhours .workflow-emblem .herdr-logo{width:37px;height:37px;right:9px;bottom:9px}
.afterhours .inventory .stack-line{border-color:#666f6a}.afterhours .inventory .stack-line p{color:#a3aca7}
.afterhours .dock{background:linear-gradient(110deg,#242926eb,#111312ed);border-color:#7c8580;box-shadow:inset 0 1px 0 #e6ede91f,0 8px 28px #0009;backdrop-filter:blur(16px);height:40px}
.afterhours .dock ol a[aria-current=true]{background:#dde5e0;color:#1b211e}
@media(max-width:900px){
 .afterhours .hero-type{width:85%;left:4%;top:20%}.afterhours .serpent-study{width:45%;right:6%;top:33%}
 .afterhours .sc-cab,.afterhours .sc-cab-squishy{grid-template-columns:44px minmax(0,1fr);gap:22px}
 .afterhours .sc-cab .sc-cab-copy{grid-column:2;grid-row:2;padding:0}.afterhours .sc-cab .sc-shots{grid-column:1}
 .afterhours .sc-screen-inner img{aspect-ratio:16/10}
 .afterhours .sc-mini{grid-template-columns:1fr;max-width:620px;margin:30px auto}
 .afterhours .work-chapter .work-entry,.afterhours .work-chapter .work-entry+.work-entry,.afterhours .work-chapter .entry-reverse{grid-template-columns:minmax(0,1fr);gap:20px}
 .afterhours .work-chapter .work-entry .system-figure,.afterhours .work-chapter .work-entry .project-art{max-width:560px;margin:6px auto 0}
 .afterhours .work-chapter .work-entry .work-body{max-width:65ch}
 .afterhours .moth-heading>.moth-object{right:0;width:160px}
 .afterhours .tool-card,.afterhours .tool-card:first-child,.afterhours .tool-card:last-child{grid-template-columns:95px minmax(0,1fr);gap:10px 25px}
 .afterhours .tool-card>p,.afterhours .tool-card>.text-link,.afterhours .tool-card .tool-links{grid-column:2}
}
@media(max-width:600px){
 .afterhours .topbar{height:60px}.afterhours .mh-mark{width:31px}.afterhours .topbar-actions{gap:13px}
 .afterhours .hero-scroll,.motion-paused .afterhours .hero-scroll{height:clamp(570px,85svh,690px)}
 .afterhours .hero-type{top:20%;left:0;width:100%}.afterhours .serpent-study{right:4%;top:32%;width:70%;height:34%}
 .ah-chamber img{opacity:.61;object-position:60% 45%}.afterhours .hero-info{bottom:110px;gap:12px}
 .afterhours .hero-info>p:first-child{font-size:12px;max-width:24ch}.afterhours .hero-company{font-size:10px}
 .ah-directory a{padding:18px 10px 20px 0}.ah-directory a+a{padding-left:10px}.ah-directory strong{font-size:21px}
 .afterhours .section-wrap{padding-top:35px;padding-bottom:45px}
 .afterhours .section-heading,.afterhours #side-projects>.section-heading,.afterhours .work-section>.section-heading,.afterhours .earlier-section>.section-heading,.afterhours .inventory>.section-heading{min-height:155px;padding:22px 0;margin-bottom:20px}
 .afterhours .section-heading h2,.afterhours .work-section>.section-heading h2,.afterhours .inventory h2{font-size:clamp(37px,10vw,47px);max-width:10ch}
 .afterhours .section-heading:before{left:12%;right:-22px;opacity:.4}
 .afterhours .garden-wrap{width:105px;height:105px;right:-5px;bottom:5px;opacity:.85;margin:0}
 .afterhours .sc-head h3{font-size:23px;margin-bottom:9px}.afterhours .sc-head>p{font-size:13px}
 .afterhours .sc-cab,.afterhours .sc-cab-squishy{grid-template-columns:minmax(0,1fr);padding:28px 0 35px;gap:20px}
 .afterhours .sc-cab .sc-screen{grid-column:1;margin:0}.afterhours .sc-cab .sc-shots{grid-column:1;grid-row:2;max-width:220px;gap:10px}
 .afterhours .sc-cab .sc-cab-copy{grid-column:1;grid-row:3}.afterhours .sc-screen-inner img{aspect-ratio:4/3}
 .afterhours .sc-cab-copy h4{font-size:31px}.afterhours .sc-tag{font-size:13px}.afterhours .sc-body{font-size:13px}
 .afterhours .sc-new-game{padding:16px;gap:18px;margin:20px 0 35px}.afterhours .sc-new-game h4{font-size:29px}
 .afterhours .sc-mini-copy h4{font-size:29px}.afterhours .sc-mini{gap:24px}
 .afterhours .market-module.tm{margin-top:55px;margin-bottom:-45px;padding:45px var(--gutter)}
 .afterhours .tm-intro{grid-template-columns:1fr;gap:20px}.afterhours .market-intro h3{font-size:65px}
 .afterhours .tm-term{padding:5px}.afterhours .market-module.tm .market-net{font-size:clamp(45px,13vw,59px)}
 .afterhours .tm-trades li{padding:12px 9px}.afterhours .market-module.tm .market-sparkline{height:130px}
 .afterhours .wk-index{padding:12px;margin-bottom:40px}.afterhours .wk-index strong{font-size:16px}.afterhours .wk-index a{padding:12px 0;gap:5px 8px}
 .afterhours .chapter-heading{min-height:110px;padding:20px 0;grid-template-columns:20px 1fr}.afterhours .chapter-heading h3{font-size:27px;max-width:15ch}.afterhours .chapter-heading p{font-size:12px}
 .afterhours .moth-heading>.moth-object{width:110px;top:3px}.afterhours .moth-heading h3{padding-right:60px}
 .afterhours .work-chapter .work-entry,.afterhours .work-chapter .work-entry+.work-entry{padding:28px 0 40px;gap:16px}
 .afterhours .ah-project-title,.afterhours .work-entry-short .ah-project-title{font-size:clamp(29px,8vw,36px);line-height:1.08;max-width:19ch}
 .afterhours .work-body p.work-lede{font-size:17px}.afterhours .work-body>p{font-size:13px}
 .afterhours .impact-facts dt{font-size:40px}.afterhours .impact-facts{gap:24px;margin:20px 0}
 .afterhours .system-figure{padding:20px 12px}.afterhours .source-link{font-size:20px}
 .afterhours .side-card,.afterhours .side-card-wide,.afterhours .side-card:nth-child(2){min-height:0;gap:12px;padding:20px 0 30px}
 .afterhours .side-card .side-visual.side-image,.afterhours .side-card .side-visual.logo-assemblage{height:230px}
 .afterhours .side-copy h3{font-size:31px;margin-bottom:12px}.afterhours .side-copy>p:not(.eyebrow){font-size:13px}
 .afterhours .inventory{padding-top:105px;padding-bottom:75px}.ah-threshold{height:200px}.afterhours .inventory .metal-wrap{width:100px;height:150px;right:0;bottom:0;margin:0}
 .afterhours .tool-card,.afterhours .tool-card:first-child,.afterhours .tool-card:last-child{grid-template-columns:70px minmax(0,1fr);gap:9px 20px;min-height:170px;padding:22px 0}
 .afterhours .tool-card .tool-emblem{width:65px;height:65px}.afterhours .inventory .tool-card h3{font-size:25px}.afterhours .inventory .tool-card>p{font-size:13px}
 .afterhours .tool-emblem .collage-logo{width:55px;height:55px}.afterhours .workflow-emblem .tmux-logo{width:56px;left:4px;top:10px;padding:3px}.afterhours .workflow-emblem .herdr-logo{width:28px;height:28px;right:7px;bottom:7px}
 .afterhours .dock a{padding:0 7px}
}
.motion-paused .ah-chamber img,.motion-paused .afterhours .market-module:before,.motion-paused .afterhours .system-figure:before{transform:none!important}
.motion-paused .ah-chamber img,.motion-paused .afterhours .section-heading:before,.motion-paused .ah-threshold-ribs,.motion-paused .ah-threshold-glow,.motion-paused .afterhours .market-module:before,.motion-paused .afterhours .system-figure:before,.motion-paused .afterhours .sc-screen-inner:after{transition:none!important}
@media(prefers-reduced-motion:reduce){.ah-chamber img,.afterhours .market-module:before,.afterhours .system-figure:before{transform:none!important}.ah-chamber img,.afterhours .section-heading:before,.ah-threshold-ribs,.ah-threshold-glow,.afterhours .market-module:before,.afterhours .system-figure:before,.afterhours .sc-screen-inner:after{transition:none!important}}

/* The ouroboros is the deliberate exception to the compact reading scale. */
.afterhours .serpent-study{right:-3%;top:5%;width:65%;height:82%}
.afterhours #sculpture.serpent-canvas{filter:drop-shadow(0 0 2px #9cbca933)}
@media(max-width:900px){.afterhours .serpent-study{right:-10%;top:15%;width:82%;height:70%}}
@media(max-width:600px){.afterhours .serpent-study{right:-15%;top:24%;width:115%;height:55%}}
/* A work entry is one compact spread: the artifact shares its title's space. */
@media(min-width:901px){
 .afterhours .work-chapter .work-entry .work-label,.afterhours .work-chapter .work-entry .ah-project-title{grid-column:1}
 .afterhours .work-chapter .work-entry .work-body{grid-column:1;align-self:start}
 .afterhours .work-chapter .work-entry .system-figure,.afterhours .work-chapter .work-entry .project-art{grid-column:2;grid-row:1/4;width:100%;max-width:470px;justify-self:end;align-self:center}
 .afterhours .work-chapter .work-entry{grid-template-rows:auto auto 1fr}
 .afterhours .java-reference{padding-right:105px;min-height:190px;margin:22px 0 8px}
 .afterhours .java-reference>.coffee-object{width:125px;height:190px}
 .afterhours .java-reference .source-link{font-size:19px;padding:16px}
 .afterhours .diagram-control{gap:10px}.afterhours .diagram-control p{font-size:12px;min-height:30px}
 .afterhours .system-figure figcaption{padding-top:14px;margin-top:14px}
 .afterhours .cube-object{min-height:230px}
}
@media(max-width:600px){.afterhours .impact-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.afterhours .impact-facts>div{min-width:0;max-width:none}}
@media(max-width:350px){.ah-directory strong{font-size:19px}}
