/* ============================================================
   Jubaleth — jbl.css
   Self-contained dark theme ported from the Claude Design redesign.
   Fonts: Chakra Petch (display), IBM Plex Sans (body), JetBrains Mono.
   ============================================================ */

:root {
  --bg:        #0a0b0f;
  --bg-2:      #0c0e13;
  --panel-a:   #0f1218;
  --panel-b:   #0c0e13;
  --acc:       #ffb020;   /* amber  */
  --acc2:      #7c5cff;   /* purple */
  --purple:    #9d86ff;   /* skye   */
  --green:     #28c840;
  --text:      #e7e9ee;
  --text-2:    #a8aeb9;
  --text-3:    #9aa0ad;
  --muted:     #6c727e;
  --muted-2:   #5d636f;
  --line:      rgba(255,255,255,.07);
  --line-2:    rgba(255,255,255,.10);
  --maxw:      1320px;
  --rail:      min(calc(100% - 64px), var(--maxw));

  --f-display: 'Chakra Petch', system-ui, sans-serif;
  --f-body:    'IBM Plex Sans', system-ui, sans-serif;
  --f-mono:    'JetBrains Mono', ui-monospace, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--f-body);
  font-weight: 300;
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection { background: rgba(255,176,32,.28); color: #fff; }
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }
h1, h2, h3, h4 { font-family: var(--f-display); font-weight: 600; }
p { margin: 0 0 1em; }
:where(a,button,input,summary):focus-visible { outline:2px solid var(--acc); outline-offset:3px; }
.skip-link { position:fixed; top:10px; left:10px; z-index:200; padding:10px 14px; color:var(--bg); background:var(--acc);
  font:700 13px var(--f-body); transform:translateY(-160%); transition:transform .2s; }
.skip-link:focus { transform:none; }

/* ---------- keyframes ---------- */
@keyframes jblBlink  { 0%,100%{opacity:1} 50%{opacity:.2} }
@keyframes jblDrift  { from{background-position:0 0,0 0} to{background-position:46px 46px,46px 46px} }
@keyframes jblTicker { from{transform:translateX(0)} to{transform:translateX(-25%)} }
@keyframes jblScan   { from{transform:translateY(-100%)} to{transform:translateY(800%)} }
@keyframes jblFadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:none} }
@property --ip-field-angle {
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}
@keyframes ipBorderTravel { to { stroke-dashoffset:-100; } }
@keyframes ipBorderFieldCounterRotate { to { --ip-field-angle:-360deg; } }

/* ---------- icons (lucide) ---------- */
[data-lucide] { width: 100%; height: 100%; stroke-width: 1.6; }
.ic { display: inline-flex; }

/* ---------- reveal on scroll ---------- */
[data-reveal].is-hidden { opacity: 0; transform: translateY(20px); }
[data-reveal] { transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }

/* ---------- layout ---------- */
.wrap { width: var(--rail); max-width: var(--maxw); margin: 0 auto; }
.mono { font-family: var(--f-mono); }
.eyebrow {
  font-family: var(--f-mono); font-size: 12px; letter-spacing: .14em;
  color: var(--acc); margin-bottom: 14px;
}
.eyebrow--pink { color: var(--acc2); }
.eyebrow--purple { color: var(--purple); }

/* ============================================================
   HEADER / NAV
   ============================================================ */
.jbl-header {
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(14px);
  background: rgba(10,11,15,.72);
  border-bottom: 1px solid var(--line);
}
.jbl-header__inner {
  width: var(--rail); max-width: var(--maxw); margin: 0 auto;
  padding: 15px 0;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.jbl-header__logo { display: flex; align-items: center; }
.jbl-header__logo img { height: 40px; width: auto; }
.jbl-nav {
  display: flex; align-items: center; gap: 30px;
  font-family: var(--f-mono); font-size: 12.5px; letter-spacing: .04em;
}
.jbl-nav a { color: var(--text-3); transition: color .2s; }
.jbl-nav a:hover { color: var(--text); }
.jbl-nav a:not(.btn-accent).is-active { position:relative; color:var(--text); }
.jbl-nav a:not(.btn-accent).is-active::after { content:""; position:absolute; right:0; bottom:-9px; left:0; height:1px; background:var(--acc); }
.jbl-nav a.btn-accent { color: var(--bg); }
.btn-accent {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--bg); background: var(--acc);
  padding: 8px 16px; font-weight: 700; border-radius: 2px;
  transition: filter .2s, transform .2s;
}
.btn-accent:hover { filter: brightness(1.12); }
.jbl-nav__toggle {
  display: none; background: none; border: 0; color: var(--text);
  width: 30px; height: 30px; cursor: pointer; padding: 0;
}
.jbl-nav__toggle .ic { width: 24px; height: 24px; }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 13px 22px; border-radius: 2px; font-size: 14.5px;
  font-family: var(--f-body); cursor: pointer; border: 1px solid transparent;
}
.btn .ic { width: 16px; height: 16px; }
.btn-primary {
  background: var(--acc); color: var(--bg); font-weight: 700;
  transition: filter .2s, transform .2s;
}
.btn-primary:hover { filter: brightness(1.12); transform: translateY(-1px); }
.btn-ghost {
  border: 1px solid rgba(255,255,255,.16); color: var(--text); font-weight: 500;
  transition: border-color .2s, background .2s;
}
.btn-ghost:hover { border-color: var(--acc); background: rgba(255,255,255,.03); }
.btn-link {
  display: inline-flex; align-items: center; gap: 9px; color: var(--acc);
  font-family: var(--f-mono); font-size: 13px; font-weight: 500;
  border-bottom: 1px solid rgba(255,176,32,.3); padding-bottom: 3px;
  transition: gap .2s;
}
.btn-link:hover { gap: 14px; }
.btn-link .ic { width: 15px; height: 15px; }

/* chips */
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chip {
  font-family: var(--f-mono); font-size: 11.5px; letter-spacing: .06em;
  color: #7d838f; border: 1px solid rgba(255,255,255,.09);
  padding: 5px 11px; border-radius: 2px;
}

/* ============================================================
   HERO
   ============================================================ */
.hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--line); }
.hero__grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 46px 46px;
  animation: jblDrift 7s linear infinite;
  -webkit-mask-image: radial-gradient(120% 80% at 70% 0%, #000 30%, transparent 75%);
          mask-image: radial-gradient(120% 80% at 70% 0%, #000 30%, transparent 75%);
}
.hero__glow-a { position:absolute; top:-180px; right:-120px; width:620px; height:620px;
  background: radial-gradient(circle, rgba(255,176,32,.16), transparent 62%); filter: blur(8px); pointer-events:none; }
.hero__glow-b { position:absolute; bottom:-220px; left:-140px; width:560px; height:560px;
  background: radial-gradient(circle, rgba(124,92,255,.12), transparent 62%); filter: blur(8px); pointer-events:none; }
.hero__skull {
  position:absolute; right:-360px; top:50%;
  transform: translateY(-50%) rotate(-118deg) scaleY(-1);
  width:1420px; opacity:.085; pointer-events:none;
  -webkit-mask-image: radial-gradient(circle at 55% 50%, #000 35%, transparent 74%);
          mask-image: radial-gradient(circle at 55% 50%, #000 35%, transparent 74%);
}
.hero__inner {
  width: var(--rail); max-width: var(--maxw); margin: 0 auto; padding: 90px 0 76px;
  position: relative; display: grid; grid-template-columns: 1.25fr .85fr;
  gap: 56px; align-items: center;
}
.hero__status {
  display:inline-flex; align-items:center; gap:10px;
  font-family: var(--f-mono); font-size:12px; letter-spacing:.12em; color: var(--text-3);
  border:1px solid var(--line-2); padding:7px 14px; border-radius:2px; margin-bottom:30px;
}
.dot { width:7px; height:7px; border-radius:50%; background:var(--acc);
  box-shadow:0 0 10px var(--acc); animation: jblBlink 1.6s ease-in-out infinite; }
.dot--green { background: var(--green); box-shadow:0 0 9px var(--green); width:8px; height:8px; }
.dot--pink { background: var(--acc2); box-shadow:0 0 8px var(--acc2); }
.hero__title {
  font-family: var(--f-display); font-weight:700;
  font-size: clamp(46px,6.4vw,90px); line-height:.96; letter-spacing:-.01em;
  margin:0 0 26px; text-transform:uppercase;
}
.hero__title .pink { color: var(--acc2); }
.hero__lead { font-size:18px; line-height:1.62; color:var(--text-2); max-width:540px; margin:0 0 36px; font-weight:300; }
.hero__lead strong { color: var(--text); font-weight:600; }
.hero__cta { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:34px; }
.hero__tags { display:flex; flex-wrap:wrap; gap:10px; font-family:var(--f-mono);
  font-size:11.5px; letter-spacing:.06em; color:#7d838f; }
.hero__tags span { border:1px solid rgba(255,255,255,.09); padding:5px 11px; border-radius:2px; }

/* terminal card */
.term {
  background: linear-gradient(180deg,#11141c,#0d0f15);
  border:1px solid var(--line-2); border-radius:6px; overflow:hidden;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.8);
}
.term__bar { display:flex; align-items:center; gap:8px; padding:12px 15px;
  border-bottom:1px solid var(--line); background:rgba(255,255,255,.02); }
.term__dot { width:11px; height:11px; border-radius:50%; }
.term__dot.r{background:#ff5f57} .term__dot.y{background:#febc2e} .term__dot.g{background:#28c840}
.term__path { margin-left:8px; font-family:var(--f-mono); font-size:11.5px; color:var(--muted); }
.term__body { padding:20px 20px 22px; font-family:var(--f-mono); font-size:13px; line-height:1.95; }
.term__body .pr { color: var(--muted); }
.term__body .pr span { color: var(--acc); }
.term__out { color: var(--text); margin-bottom:12px; }
.term__out.dim { color: var(--text-2); }
.term__out.pink { color: var(--acc2); }
.term__cmt { color: var(--muted); }
.term__status { display:flex; align-items:center; gap:9px; color:var(--text); }
.term__online { display:inline-flex; align-items:center; gap:7px; color:var(--green); }
.term__clock { margin-left:auto; color:var(--muted); }

/* ============================================================
   TICKER
   ============================================================ */
.ticker { border-bottom:1px solid var(--line); background:var(--bg-2); overflow:hidden; padding:11px 0; }
.ticker__row { display:flex; width:max-content; animation: jblTicker 34s linear infinite;
  font-family:var(--f-mono); font-size:12px; letter-spacing:.16em; color:var(--muted-2); }
.ticker__row span { padding:0 22px; }
.ticker__row .sep { color: var(--acc); padding:0; }

/* ============================================================
   SECTIONS / GENERIC
   ============================================================ */
.section { width: var(--rail); max-width: var(--maxw); margin:0 auto; padding:96px 0 30px; }
.section__head { display:flex; align-items:baseline; justify-content:space-between;
  flex-wrap:wrap; gap:16px; margin-bottom:42px; }
.section__title { font-family:var(--f-display); font-weight:600;
  font-size:clamp(30px,3.6vw,44px); margin:0; text-transform:uppercase; letter-spacing:-.01em; }
.section__note { font-family:var(--f-mono); font-size:12.5px; color:var(--muted);
  max-width:300px; line-height:1.7; margin:0; }

/* pillars */
.pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.pillar {
  position:relative; background:linear-gradient(180deg,#0f1218,#0c0e13);
  border:1px solid rgba(255,255,255,.08); border-radius:5px; padding:30px 26px; overflow:hidden;
  transition:border-color .25s, transform .25s;
}
.pillar:hover { border-color: var(--acc); transform: translateY(-3px); }
.pillar::before { content:""; position:absolute; top:0; left:0; right:0; height:2px; background:var(--acc); }
.pillar__icon { width:46px; height:46px; border-radius:4px; background:rgba(255,176,32,.09);
  border:1px solid rgba(255,176,32,.2); display:flex; align-items:center; justify-content:center;
  color:var(--acc); margin-bottom:22px; }
.pillar__icon .ic { width:23px; height:23px; }
.pillar__tag { font-family:var(--f-mono); font-size:11px; letter-spacing:.1em; color:var(--muted); margin-bottom:9px; }
.pillar h3 { font-size:21px; margin:0 0 12px; text-transform:uppercase; }
.pillar p { font-size:14.5px; line-height:1.62; color:var(--text-3); margin:0; font-weight:300; }

/* ============================================================
   ESPORTS FEATURE
   ============================================================ */
.esports { position:relative; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  margin-top:70px; background:linear-gradient(180deg,#0b0d12,#0a0b0f); }
.esports__glow { position:absolute; top:0; right:0; width:50%; height:100%;
  background:radial-gradient(80% 80% at 80% 30%, rgba(124,92,255,.08), transparent 70%); pointer-events:none; }
.esports__inner { width:var(--rail); max-width:var(--maxw); margin:0 auto; padding:88px 0; position:relative;
  display:grid; grid-template-columns:minmax(440px,.9fr) minmax(620px,1.25fr); gap:46px; align-items:center; }
.esports h2 { font-weight:700; font-size:clamp(32px,4.4vw,54px); line-height:1; margin:0 0 22px;
  text-transform:uppercase; letter-spacing:-.01em; }
.esports__lead { font-size:16.5px; line-height:1.65; color:var(--text-2); margin:0 0 26px; font-weight:300; max-width:520px; }
.esports__roles { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:28px; }
.role { display:flex; align-items:center; gap:11px; background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.08); border-radius:4px; padding:13px 15px; }
.role .ic { width:18px; height:18px; color:var(--acc2); }
.role span:last-child { font-size:14px; font-weight:500; color:var(--text); }
.quote { border-left:2px solid var(--acc2); padding:4px 0 4px 20px; margin-bottom:30px; }
.quote p { font-size:15.5px; line-height:1.6; color:#c4c9d2; margin:0; font-style:italic; }
.events { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.events__label { font-family:var(--f-mono); font-size:11px; color:var(--muted); margin-right:4px; }
.event { font-family:var(--f-mono); font-size:12px; letter-spacing:.06em; color:#c4c9d2;
  border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.02); padding:7px 13px; border-radius:2px; }

/* media placeholder / framed image */
.frame {
  border-radius:6px; border:1px solid var(--line-2); background-color:#0d0f15;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  overflow:hidden; position:relative; color:#3a4150;
}
.frame--45 { aspect-ratio:4/5; background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 2px,transparent 2px 13px); }
.frame--event-photo {
  aspect-ratio: 3/2;
  background:#07090d;
  align-self:center;
  width:min(100%, 760px);
  justify-self:end;
  box-shadow: 0 30px 90px -42px rgba(0,0,0,.95);
}
.frame--1612 { aspect-ratio:16/12; background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 2px,transparent 2px 13px); }
.frame img { width:100%; height:100%; object-fit:cover; }
.frame--event-photo img { object-position:center center; }
.frame .ic { width:42px; height:42px; }
.frame__cap { font-family:var(--f-mono); font-size:12px; letter-spacing:.08em; color:var(--muted-2); text-align:center; line-height:1.6; max-width:240px; }
.frame__attribution {
  position:absolute; left:14px; bottom:14px; max-width:calc(100% - 28px);
  display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center;
  font-family:var(--f-mono); font-size:10.5px; line-height:1.35; color:#d7dbe4;
  text-shadow:0 1px 8px rgba(0,0,0,.85);
  background:rgba(10,11,15,.76);
  border:1px solid rgba(255,255,255,.14); border-radius:2px; padding:7px 10px;
  backdrop-filter:blur(7px);
}
.frame__attribution::before {
  content:""; width:7px; height:7px; border-radius:50%; flex:0 0 auto;
  background:var(--acc2); box-shadow:0 0 8px var(--acc2);
  animation:jblBlink 1.6s ease-in-out infinite;
}
.frame__attribution span:first-child { color:#fff; }
.frame__attribution span:last-child { color:#aeb5c3; letter-spacing:.05em; text-transform:uppercase; }
.frame__live { position:absolute; bottom:14px; left:14px; display:flex; align-items:center; gap:8px;
  font-family:var(--f-mono); font-size:11px; color:#c4c9d2; background:rgba(10,11,15,.7);
  border:1px solid var(--line-2); padding:6px 11px; border-radius:2px; }

/* ============================================================
   CURRENT WORK
   ============================================================ */
.current-work__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.current-project { --project-accent:var(--acc); position:relative; min-width:0; padding:25px 23px 22px;
  border:1px solid var(--line); border-radius:6px; overflow:hidden;
  background:linear-gradient(160deg,rgba(17,20,27,.98),rgba(11,13,18,.98));
  transition:border-color .25s, transform .25s, background .25s; }
.current-project::before { content:""; position:absolute; top:0; right:0; width:180px; height:130px;
  background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--project-accent) 18%,transparent),transparent 68%);
  pointer-events:none; }
.current-project--purple { --project-accent:var(--purple); }
.current-project--pink { --project-accent:var(--acc2); }
.current-project--cyan { --project-accent:#35c8d4; }
.current-project--ember { --project-accent:#d97841; }
.current-project--wide { grid-column:1 / -1; }
.current-project:hover { border-color:color-mix(in srgb,var(--project-accent) 45%,transparent); transform:translateY(-3px);
  background:linear-gradient(160deg,rgba(20,23,32,.98),rgba(12,14,20,.98)); }
.current-project__top { position:relative; display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin-bottom:26px; font-family:var(--f-mono); font-size:9.5px; letter-spacing:.1em; }
.current-project__number { color:#555c68; }
.current-project__status { display:inline-flex; align-items:center; gap:7px; color:var(--project-accent); }
.current-project__status .dot { width:6px; height:6px; background:var(--project-accent); box-shadow:0 0 8px var(--project-accent); }
.current-project__icon { position:relative; width:34px; height:34px; margin-bottom:20px; color:var(--project-accent); }
.current-project__eyebrow { display:block; margin-bottom:8px; color:var(--project-accent); font-family:var(--f-mono);
  font-size:9.5px; letter-spacing:.11em; }
.current-project h3 { margin:0 0 12px; color:var(--text); font-size:24px; text-transform:uppercase; }
.current-project > p { min-height:88px; margin:0; color:#9298a4; font-size:13.5px; line-height:1.6; }
.current-project__tags { display:flex; flex-wrap:wrap; gap:7px; margin:22px 0 24px; }
.current-project__tags span { padding:5px 8px; border:1px solid color-mix(in srgb,var(--project-accent) 24%,transparent);
  border-radius:2px; color:color-mix(in srgb,var(--project-accent) 78%,#fff); font-family:var(--f-mono); font-size:9.5px; }
.current-project__link { display:inline-flex; align-items:center; gap:7px; color:var(--project-accent);
  font-family:var(--f-mono); font-size:11px; border-bottom:1px solid color-mix(in srgb,var(--project-accent) 30%,transparent); }
.current-project__link .ic { width:13px; height:13px; }
.current-project__link--muted { color:#686f7b; border-bottom:0; }

/* ============================================================
   SKYEENGINE
   ============================================================ */
.skye { position:relative; border:1px solid rgba(124,92,255,.25); border-radius:8px; overflow:hidden;
  background:linear-gradient(135deg,#0e0f1a,#0b0c12); }
.skye__glow { position:absolute; top:-120px; left:30%; width:420px; height:420px;
  background:radial-gradient(circle, rgba(124,92,255,.16), transparent 65%); pointer-events:none; }
.skye__inner { position:relative; padding:46px 44px; display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:52px; align-items:start; }
.skye h2 { font-weight:700; font-size:clamp(34px,4.6vw,56px); margin:0 0 18px; text-transform:uppercase; letter-spacing:-.01em; }
.skye__title { line-height:1; }
.skye__logo { width:min(100%, 420px); max-height:58px; object-fit:contain; object-position:left center; }
.skye__intro > p { font-size:16px; line-height:1.66; color:#b3b0cf; margin:0 0 24px; font-weight:300; max-width:500px; }
.wip-badge { font-family:var(--f-mono); font-size:10.5px; letter-spacing:.1em; color:var(--bg);
  background:var(--purple); padding:3px 9px; border-radius:2px; font-weight:700; }
.skye__flow { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:30px 0 0;
  font-family:var(--f-mono); font-size:10.5px; letter-spacing:.08em; color:#cdc5ff; }
.skye__flow span { padding:7px 10px; border-radius:2px; background:rgba(157,134,255,.08);
  border:1px solid rgba(157,134,255,.24); }
.skye__flow svg { width:13px; height:13px; color:#63578e; }
.skye__chips { display:flex; flex-wrap:wrap; gap:9px; margin-top:26px; font-family:var(--f-mono); font-size:11px; color:var(--purple); }
.skye__chips span { border:1px solid rgba(157,134,255,.3); padding:6px 12px; border-radius:2px; }
.skye .btn-link { display:inline-flex; margin-top:22px; }
.skye__dispatches { min-width:0; }
.skye__dispatch-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:15px; }
.skye__dispatch-kicker { display:block; margin-bottom:5px; font-family:var(--f-mono); font-size:10.5px;
  letter-spacing:.12em; color:var(--purple); }
.skye__dispatch-head h3 { margin:0; font-size:20px; text-transform:uppercase; letter-spacing:.01em; }
.skye__dispatch-head > a { flex:0 0 auto; padding-bottom:2px; color:#8f84c4; font-family:var(--f-mono);
  font-size:11px; border-bottom:1px solid rgba(157,134,255,.3); transition:color .2s; }
.skye__dispatch-head > a:hover { color:#c9beff; }
.skye__stories { display:flex; flex-direction:column; gap:10px; }
.skye-story { border:1px solid rgba(157,134,255,.16); border-radius:5px;
  background:rgba(9,10,17,.52); transition:border-color .2s, background .2s, transform .2s; }
.skye-story:hover { border-color:rgba(157,134,255,.48); background:rgba(19,17,34,.82); transform:translateX(-3px); }
.skye-story > a { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:16px; align-items:start; padding:17px 18px; }
.skye-story__index { padding-top:2px; font-family:var(--f-mono); font-size:10px; color:#625985; }
.skye-story__meta { display:flex; align-items:center; gap:10px; margin-bottom:6px; font-family:var(--f-mono);
  font-size:9.5px; letter-spacing:.08em; color:#746b99; }
.skye-story__meta span { color:var(--purple); }
.skye-story h4 { margin:0 0 6px; color:#e6e2fa; font-size:15px; line-height:1.3; text-transform:uppercase; }
.skye-story p { margin:0; color:#8e89a8; font-size:12.5px; line-height:1.48; }
.skye-story__arrow { width:17px; height:17px; color:#63598d; transition:color .2s, transform .2s; }
.skye-story:hover .skye-story__arrow { color:var(--purple); transform:translate(2px,-2px); }

/* ============================================================
   SKILLS
   ============================================================ */
.skills { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.skill { background:linear-gradient(180deg,#0f1218,#0c0e13); border:1px solid var(--line);
  border-radius:5px; padding:26px 22px; transition:border-color .25s, background .25s; }
.skill:hover { border-color:rgba(255,176,32,.4); background:#10141b; }
.skill__icon { display:inline-flex; width:30px; height:30px; color:var(--acc); margin-bottom:18px; }
.skill h3 { font-size:16px; margin:0 0 8px; text-transform:uppercase; letter-spacing:.01em; }
.skill p { font-size:13px; line-height:1.55; color:#8b909a; margin:0; font-weight:300; }

/* ============================================================
   CONTACT CTA
   ============================================================ */
.cta { width:var(--rail); max-width:var(--maxw); margin:0 auto; padding:90px 0 0; }
.cta__box { position:relative; border:1px solid var(--line-2); border-radius:8px; overflow:hidden;
  background:linear-gradient(135deg,#0f1319,#0b0d12); text-align:center; padding:64px 32px; }
.cta__grid { position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:40px 40px;
  -webkit-mask-image:radial-gradient(60% 100% at 50% 0%,#000,transparent 75%);
          mask-image:radial-gradient(60% 100% at 50% 0%,#000,transparent 75%); }
.cta__inner { position:relative; }
.cta h2 { font-weight:700; font-size:clamp(32px,4.6vw,58px); margin:0 0 18px;
  text-transform:uppercase; letter-spacing:-.01em; line-height:1; }
.cta__lead { font-size:16px; color:var(--text-2); margin:0 auto 34px; max-width:460px; font-weight:300; line-height:1.6; }
.cta__btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ============================================================
   FOOTER
   ============================================================ */
.jbl-footer { border-top:1px solid var(--line); margin-top:90px; background:var(--bg-2); }
.jbl-footer__top { width:var(--rail); max-width:var(--maxw); margin:0 auto; padding:54px 0 30px;
  display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; }
.jbl-footer__brand img { height:40px; width:auto; margin-bottom:18px; }
.jbl-footer__brand p { font-size:13.5px; color:#7d838f; line-height:1.6; max-width:280px; font-weight:300; margin:0; }
.jbl-footer__col h4 { font-family:var(--f-mono); font-size:11px; letter-spacing:.12em; color:var(--muted-2);
  margin:0 0 16px; font-weight:400; text-transform:uppercase; }
.jbl-footer__col .links { display:flex; flex-direction:column; gap:11px; font-size:14px; color:var(--text-3); }
.jbl-footer__col .links a { transition:color .2s; }
.jbl-footer__col .links a:hover { color:var(--acc); }
.jbl-footer__feeds { display:flex; flex-wrap:wrap; align-items:center; gap:5px 10px; margin-top:4px;
  font:10px var(--f-mono); letter-spacing:.05em; text-transform:uppercase; }
.jbl-footer__feeds span { width:100%; color:var(--muted-2); font-size:9px; letter-spacing:.12em; }
.jbl-footer__feeds a + a::before { content:"·"; margin-right:10px; color:#454b55; }
.jbl-footer__settings { border:0; padding:0; background:none; color:var(--text-3); text-align:left;
  font:inherit; cursor:pointer; transition:color .2s; }
.jbl-footer__settings:hover,.jbl-footer__settings:focus { color:var(--acc); }
.jbl-footer__bar { width:var(--rail); max-width:var(--maxw); margin:0 auto; padding:20px 0 40px;
  border-top:1px solid rgba(255,255,255,.06); display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:14px; }
.jbl-footer__bar span { font-family:var(--f-mono); font-size:11.5px; color:var(--muted-2); }
.jbl-footer__bar .build { color:#3f444e; }

/* ============================================================
   INNER PAGE HERO
   ============================================================ */
.page-hero { position:relative; overflow:hidden; border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#0b0d12,#0a0b0f); }
.page-hero__grid { position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 20%,transparent 75%);
          mask-image:radial-gradient(120% 90% at 50% 0%,#000 20%,transparent 75%); }
.page-hero__glow { position:absolute; top:-160px; right:-100px; width:520px; height:520px;
  background:radial-gradient(circle, rgba(255,176,32,.12), transparent 62%); filter:blur(8px); pointer-events:none; }
.page-hero__inner { width:var(--rail); max-width:var(--maxw); margin:0 auto; padding:64px 0 56px; position:relative; }
.page-hero h1 { font-family:var(--f-display); font-weight:700; font-size:clamp(36px,5vw,64px);
  margin:0; text-transform:uppercase; letter-spacing:-.01em; line-height:1; }
.page-hero p { font-size:16px; color:var(--text-2); margin:16px 0 0; max-width:560px; font-weight:300; line-height:1.6; }

/* ============================================================
   PROSE (blog post, policies)
   ============================================================ */
.prose { max-width:760px; margin:0 auto; padding:56px 32px 30px; font-size:16px; line-height:1.7; color:var(--text-2); }
.prose h1,.prose h2,.prose h3,.prose h4 { color:var(--text); margin:1.6em 0 .6em; line-height:1.2; }
.prose h2 { font-size:28px; text-transform:uppercase; letter-spacing:-.01em; }
.prose h3 { font-size:21px; }
.prose a { color:var(--acc); border-bottom:1px solid rgba(255,176,32,.3); }
.prose a:hover { border-color:var(--acc); }
.prose strong { color:var(--text); }
.prose img { border-radius:6px; border:1px solid var(--line-2); margin:1.4em 0; }
.prose ul,.prose ol { padding-left:1.3em; }
.prose li { margin:.4em 0; }
.prose blockquote { border-left:2px solid var(--acc2); margin:1.4em 0; padding:4px 0 4px 20px;
  color:#c4c9d2; font-style:italic; }
.prose hr { border:0; border-top:1px solid var(--line); margin:2em 0; }
.prose code { font-family:var(--f-mono); font-size:.88em; background:rgba(255,255,255,.05);
  border:1px solid var(--line); border-radius:3px; padding:.15em .4em; color:var(--acc); }
.prose pre { background:#0d0f15; border:1px solid var(--line-2); border-radius:6px;
  padding:18px 20px; overflow:auto; font-family:var(--f-mono); font-size:13px; line-height:1.7; }
.prose pre code { background:none; border:0; padding:0; color:var(--text-2); }
.back-link { display:block; text-align:center; padding:30px; font-family:var(--f-mono); font-size:13px; }
.back-link a { color:var(--acc); }

/* post meta */
.post-meta { display:flex; flex-wrap:wrap; gap:18px; font-family:var(--f-mono); font-size:12px;
  color:var(--muted); letter-spacing:.04em; margin-bottom:20px; }
.post-meta .ic { width:14px; height:14px; vertical-align:-2px; margin-right:5px; color:var(--acc); }
.post-meta a { color:var(--text-3); }
.post-meta a:hover { color:var(--acc); }
.ip-disclaimer { position:relative; isolation:isolate; overflow:hidden; margin:0 0 30px; padding:0;
  border:1px solid rgba(124,92,255,.38); border-radius:6px; background:linear-gradient(145deg,rgba(19,18,30,.98),rgba(10,12,17,.98) 58%);
  box-shadow:0 18px 55px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.025); }
.ip-disclaimer::after { content:""; position:absolute; z-index:-1; width:320px; height:320px; right:-145px; top:-205px; border-radius:50%;
  background:radial-gradient(circle,rgba(124,92,255,.14),transparent 68%); pointer-events:none; }
.ip-disclaimer__grid { position:absolute; z-index:-2; inset:0; opacity:.42; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:28px 28px; mask-image:linear-gradient(110deg,#000,transparent 72%); }
.ip-disclaimer__trace { position:absolute; z-index:3; inset:-1px; width:calc(100% + 2px); height:calc(100% + 2px); overflow:visible; pointer-events:none;
  -webkit-mask-image:conic-gradient(from var(--ip-field-angle) at 50% 50%,rgba(255,255,255,.48) 0deg,rgba(255,255,255,.96) 38deg,rgba(255,255,255,.64) 91deg,rgba(255,255,255,1) 142deg,rgba(255,255,255,.5) 205deg,rgba(255,255,255,.86) 267deg,rgba(255,255,255,.58) 321deg,rgba(255,255,255,.48) 360deg);
  mask-image:conic-gradient(from var(--ip-field-angle) at 50% 50%,rgba(255,255,255,.48) 0deg,rgba(255,255,255,.96) 38deg,rgba(255,255,255,.64) 91deg,rgba(255,255,255,1) 142deg,rgba(255,255,255,.5) 205deg,rgba(255,255,255,.86) 267deg,rgba(255,255,255,.58) 321deg,rgba(255,255,255,.48) 360deg);
  animation:ipBorderFieldCounterRotate 17s linear infinite; }
.ip-disclaimer__trace rect { fill:none; vector-effect:non-scaling-stroke; stroke-linecap:round;
  stroke-dasharray:4.8 11.8667; animation:ipBorderTravel 22s linear infinite; }
.ip-disclaimer__trace-halo { stroke:rgba(255,77,141,.26); stroke-width:7; filter:blur(2px); }
.ip-disclaimer__trace-core { stroke:#ff5f9a; stroke-width:1.4; filter:drop-shadow(0 0 3px rgba(255,77,141,.8)); }
.ip-disclaimer__head { display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:17px; align-items:center; padding:22px 26px 20px; }
.ip-disclaimer__icon { display:grid; place-items:center; width:44px; height:44px; padding:10px; border:1px solid rgba(124,92,255,.42); border-radius:4px;
  color:#9d86ff; background:rgba(124,92,255,.08); box-shadow:inset 0 0 18px rgba(124,92,255,.06); }
.ip-disclaimer__heading > span { display:block; margin-bottom:5px; color:#777184; font:8.5px var(--f-mono); letter-spacing:.13em; }
.ip-disclaimer strong { display:block; margin:0; color:#f4f1f5; font:600 19px var(--f-display); letter-spacing:.035em; text-transform:uppercase; }
.ip-disclaimer__affiliation { display:flex; align-items:center; gap:8px; padding:7px 10px; border:1px solid rgba(255,77,141,.3);
  color:#ff85ae; background:rgba(255,77,141,.055); font:9px var(--f-mono); letter-spacing:.09em; white-space:nowrap; }
.ip-disclaimer__affiliation > span { width:6px; height:6px; border-radius:50%; background:#ff4d8d; box-shadow:0 0 10px rgba(255,77,141,.85); }
.ip-disclaimer__body { display:grid; grid-template-columns:1.2fr .8fr; border-top:1px solid rgba(124,92,255,.18); background:rgba(4,5,8,.23); }
.ip-disclaimer__item { display:grid; grid-template-columns:28px minmax(0,1fr); gap:14px; margin:0; padding:22px 26px 24px; }
.ip-disclaimer__item + .ip-disclaimer__item { border-left:1px solid var(--line); }
.ip-disclaimer__index { display:grid; place-items:center; align-self:start; width:26px; height:26px; border:1px solid rgba(124,92,255,.3); border-radius:50%;
  color:#8f79eb; background:#0c0e14; font:8px var(--f-mono); }
.ip-disclaimer__label { display:block; margin:3px 0 9px; color:#c7bded; font:8.5px var(--f-mono); letter-spacing:.11em; }
.ip-disclaimer p { margin:0; color:#aaa8b3; font-size:12.5px; line-height:1.65; }
.project-disclaimer { width:var(--rail); max-width:1040px; margin:34px auto 0; }
.note-disclaimer { width:var(--rail); max-width:1040px; margin:38px auto 0; }
@media (prefers-reduced-motion:reduce) {
  .ip-disclaimer__trace { animation:none; }
  .ip-disclaimer__trace rect { animation:none; stroke-dashoffset:-7; }
}
.tag-pill { font-family:var(--f-mono); font-size:11px; letter-spacing:.06em; color:#c4c9d2;
  border:1px solid var(--line-2); background:rgba(255,255,255,.02); padding:4px 10px; border-radius:2px; }

/* Historical post notice. Content is supplied through archive_notice frontmatter. */
.post-archive-notice { --notice-green:#20c95c; position:relative; display:grid; grid-template-columns:48px minmax(0,1fr); gap:19px; margin:30px 0 38px; padding:25px 27px 27px; overflow:hidden; border:1px solid rgba(255,176,32,.28); border-left:3px solid var(--notice-green); border-radius:4px; background:linear-gradient(115deg,rgba(255,176,32,.07),rgba(32,201,92,.035) 72%,transparent),#0d100e; }
.post-archive-notice::after { content:""; position:absolute; right:-70px; bottom:-105px; width:210px; height:210px; border:1px solid rgba(32,201,92,.08); border-radius:50%; pointer-events:none; }
.post-archive-notice__icon { display:grid; width:44px; height:44px; place-items:center; padding:11px; border:1px solid rgba(32,201,92,.28); border-radius:50%; color:var(--notice-green); background:rgba(32,201,92,.04); }
.post-archive-notice__copy { position:relative; z-index:1; min-width:0; }
.post-archive-notice__copy > span { display:block; margin:1px 0 8px; color:#dca94e; font:8px var(--f-mono); letter-spacing:.13em; text-transform:uppercase; }
.post-archive-notice__copy h2 { margin:0 0 11px; color:#eee9de; font-size:22px; line-height:1.1; text-transform:uppercase; }
.post-archive-notice__copy p { margin:0; color:#aaa99f; font-size:13.5px; line-height:1.65; }
.post-archive-notice__copy a { display:inline-flex; align-items:center; gap:7px; margin-top:17px; color:var(--notice-green); font:9px var(--f-mono); letter-spacing:.08em; text-transform:uppercase; }
.post-archive-notice__copy a:hover { color:#84e7a5; }
.post-archive-notice__copy a svg { width:14px; height:14px; }

@media (max-width: 640px) {
  .post-archive-notice { grid-template-columns:1fr; gap:14px; padding:22px 20px 24px; }
  .post-archive-notice__icon { width:38px; height:38px; padding:9px; }
  .post-archive-notice__copy h2 { font-size:19px; }
}

/* ============================================================
   BLOG LIST
   ============================================================ */
.blog-layout { width:var(--rail); max-width:var(--maxw); margin:0 auto; padding:56px 0 30px;
  display:grid; grid-template-columns:1fr 300px; gap:46px; align-items:start; }
.section-subscribe { display:flex; justify-content:flex-end; margin:0 0 24px; }
.section-subscribe a { display:inline-flex; align-items:center; gap:8px; padding-bottom:4px; border-bottom:1px solid rgba(255,176,32,.3);
  color:var(--acc); font:10.5px var(--f-mono); letter-spacing:.07em; text-transform:uppercase; transition:gap .2s,border-color .2s; }
.section-subscribe a:hover { gap:12px; border-color:var(--acc); }
.section-subscribe .ic { width:14px; height:14px; }
.post-card { background:linear-gradient(180deg,#0f1218,#0c0e13); border:1px solid var(--line);
  border-radius:6px; overflow:hidden; margin-bottom:26px; transition:border-color .25s, transform .25s; }
.post-card:hover { border-color:rgba(255,176,32,.4); transform:translateY(-2px); }
.post-card__thumb { display:block; aspect-ratio:16/8; overflow:hidden; background:#0d0f15; }
.post-card__thumb img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.post-card__thumb img.is-contain { object-fit:contain; padding:9%; }
.post-card:hover .post-card__thumb img { transform:scale(1.04); }
.post-card__body { padding:24px 26px 28px; }
.post-card__body h3 { font-size:23px; margin:0 0 12px; text-transform:uppercase; letter-spacing:-.01em; }
.post-card__body h3 a:hover { color:var(--acc); }
.post-card__excerpt { font-size:14.5px; line-height:1.6; color:var(--text-3); margin:0 0 20px; font-weight:300; }
.sidebar { position:sticky; top:90px; display:flex; flex-direction:column; gap:30px; }
.widget h4 { font-family:var(--f-mono); font-size:11px; letter-spacing:.12em; color:var(--muted-2);
  text-transform:uppercase; margin:0 0 16px; font-weight:400; }
.widget ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.widget li a { display:inline-block; font-family:var(--f-mono); font-size:12px; color:var(--text-3);
  border:1px solid var(--line); background:rgba(255,255,255,.02); padding:5px 11px; border-radius:2px; transition:.2s; }
.widget li a:hover { border-color:var(--acc); color:var(--acc); }
.widget li small { margin-left:4px; color:var(--muted-2); font:9px var(--f-mono); }
.post-search-widget > label { display:block; margin-bottom:9px; color:var(--muted-2); font:400 11px var(--f-mono);
  letter-spacing:.12em; text-transform:uppercase; }
.post-search-field { display:flex; align-items:center; gap:9px; height:42px; padding:0 12px; border:1px solid var(--line-2);
  border-radius:3px; background:rgba(255,255,255,.025); }
.post-search-field:focus-within { border-color:rgba(255,176,32,.65); }
.post-search-field .ic { flex:0 0 auto; width:15px; height:15px; color:var(--muted); }
.post-search-field input { width:100%; border:0; outline:0; color:var(--text); background:transparent; font:12px var(--f-mono); }
.post-search-widget > span { display:block; margin-top:9px; color:var(--muted); font:9px var(--f-mono); letter-spacing:.06em; }
.post-search-empty { margin:20px 0 30px; padding:34px 24px; border:1px dashed var(--line-2); color:var(--muted); text-align:center; }
.post-search-empty .ic { width:24px; height:24px; }
.post-search-empty p { margin:10px 0 0; }
.post-card[hidden],.post-search-empty[hidden] { display:none; }
.taxonomy-all { display:flex; align-items:center; gap:6px; margin-top:15px; padding-top:14px; border-top:1px solid var(--line);
  color:var(--acc); font:10px var(--f-mono); letter-spacing:.08em; text-transform:uppercase; }
.term-cloud { display:flex; flex-wrap:wrap; gap:10px; max-width:880px; }
.term-cloud a { padding:8px 13px; border:1px solid var(--line); border-radius:2px; color:var(--text-2);
  font:11px var(--f-mono); letter-spacing:.07em; text-transform:uppercase; transition:border-color .15s, color .15s; }
.term-cloud a:hover { border-color:var(--acc); color:var(--acc); }
.term-cloud a small { color:var(--acc); font-size:10px; margin-left:5px; }

/* pagination */
.pagination { display:flex; gap:8px; justify-content:center; list-style:none; padding:20px 0 0; margin:0; flex-wrap:wrap; }
.pagination .page-item a, .pagination .page-item span {
  display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px;
  padding:0 10px; font-family:var(--f-mono); font-size:13px; color:var(--text-3);
  border:1px solid var(--line); border-radius:2px; background:rgba(255,255,255,.02); }
.pagination .page-item.active span { background:var(--acc); color:var(--bg); border-color:var(--acc); font-weight:700; }
.pagination .page-item.disabled span { opacity:.35; }
.pagination .page-item a:hover { border-color:var(--acc); color:var(--acc); }

/* ============================================================
   GALLERY
   ============================================================ */
.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.gallery-card { position:relative; aspect-ratio:4/3; border-radius:6px; overflow:hidden;
  border:1px solid var(--line); background:#0d0f15; }
.gallery-card img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.gallery-card:hover img { transform:scale(1.06); }
.gallery-card__overlay { position:absolute; inset:0; display:flex; align-items:flex-end;
  background:linear-gradient(180deg,transparent 40%, rgba(10,11,15,.85)); opacity:0; transition:opacity .3s; }
.gallery-card:hover .gallery-card__overlay { opacity:1; }
.gallery-card__overlay h2 { font-size:20px; margin:0; padding:20px; text-transform:uppercase; color:#fff; }

/* ============================================================
   STREAM
   ============================================================ */
.stream-layout { width:var(--rail); max-width:var(--maxw); margin:0 auto; padding:56px 0 30px;
  display:grid; grid-template-columns:1fr 360px; gap:24px; align-items:start; }
.stream-player { position:relative; border:1px solid var(--line-2); border-radius:6px; overflow:hidden;
  background:#0d0f15; aspect-ratio:16/9; }
.stream-player iframe { position:absolute; inset:0; width:100%; height:100%; border:0; background:#0d0f15; }
.stream-player .video-bg { position:absolute; inset:0; background:#0d0f15;
  background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 2px,transparent 2px 14px); }
.stream-player .video-offline { position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:var(--f-display); text-transform:uppercase; letter-spacing:.05em; font-size:24px; color:var(--muted); }
.stream-side { position:relative; min-height:470px; border-radius:6px; background:#0d0f15; }
.stream-side iframe { width:100%; height:470px; border:0; border-radius:6px; border:1px solid var(--line-2); background:#0d0f15; }
.stream-intro { padding-top:24px; color:var(--text-2); }

/* External media is local placeholder markup until consent supplies iframe src. */
.external-content { position:relative; }
.external-content iframe[hidden] { display:none; }
.external-content__placeholder { position:absolute; inset:0; z-index:4; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:14px; padding:28px; text-align:center;
  background:linear-gradient(135deg,rgba(15,19,25,.98),rgba(10,11,15,.98));
  border:1px solid var(--line-2); border-radius:6px; }
.external-content__placeholder::before { content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:32px 32px; }
.external-content__placeholder > * { position:relative; }
.external-content__label { font-family:var(--f-mono); font-size:10.5px; letter-spacing:.13em; color:var(--acc); }
.external-content__placeholder p { max-width:440px; margin:0; color:var(--text-2); }
.external-content__actions { display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; }
.external-content__actions a { color:var(--acc); font-family:var(--f-mono); font-size:12px;
  border-bottom:1px solid rgba(255,176,32,.3); }
.external-content--loaded > .external-content__placeholder { display:none; }

/* Site-wide, reversible external-content consent control. */
.consent-banner { position:fixed; right:24px; bottom:24px; left:24px; z-index:100;
  max-width:980px; margin:0 auto; border:1px solid rgba(255,176,32,.45); border-radius:7px;
  background:rgba(12,14,19,.98); box-shadow:0 20px 70px rgba(0,0,0,.55); backdrop-filter:blur(14px); }
.consent-banner[hidden] { display:none; }
.consent-banner__inner { display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; padding:24px 26px; }
.consent-banner__label { display:block; margin-bottom:6px; font-family:var(--f-mono); font-size:10.5px;
  letter-spacing:.13em; color:var(--acc); }
.consent-banner h2 { margin:0 0 8px; font-size:22px; text-transform:uppercase; }
.consent-banner p { max-width:650px; margin:0; color:var(--text-2); font-size:14px; line-height:1.55; }
.consent-banner p a { color:var(--acc); border-bottom:1px solid rgba(255,176,32,.3); }
.consent-banner__actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.consent-banner__actions .btn-ghost { background:transparent; color:var(--text); }
.consent-banner__actions .btn-ghost:hover,
.consent-banner__actions .btn-ghost:focus-visible { background:rgba(255,255,255,.06); }

/* ============================================================
   PROJECTS GRID
   ============================================================ */
.projects-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:stretch; }
.project-card { --project-card-accent:var(--acc); position:relative; overflow:hidden; display:grid;
  grid-template-rows:auto 1fr; min-width:0; border:1px solid var(--line); border-radius:6px;
  background:#0d1015; transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease; }
.project-card--aotu { --project-card-accent:#d97841; }
.project-card--skyeengine-code { --project-card-accent:#7e83ff; }
.project-card--skyeengine { --project-card-accent:#63d5dc; }
.project-card--glados { --project-card-accent:#a58fff; }
.project-card--hubn { --project-card-accent:#75d6dd; }
.project-card--octoprint { --project-card-accent:#20c95c; }
.project-card--pnp { --project-card-accent:#9bcf67; }
.project-card:hover,.project-card:focus-visible { transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--project-card-accent) 48%,var(--line));
  box-shadow:0 18px 48px rgba(0,0,0,.28),0 0 30px color-mix(in srgb,var(--project-card-accent) 7%,transparent); }
.project-card:focus-visible { outline:1px solid var(--project-card-accent); outline-offset:4px; }
.project-card__media { position:relative; isolation:isolate; aspect-ratio:16/10; overflow:hidden;
  border-bottom:1px solid var(--line); background:#0f1218; }
.project-card__media::before { content:""; position:absolute; inset:0; z-index:-1;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px),radial-gradient(circle at 78% 24%,color-mix(in srgb,var(--project-card-accent) 13%,transparent),transparent 43%);
  background-size:32px 32px,32px 32px,auto; }
.project-card__media::after { content:""; position:absolute; inset:auto 0 0; height:1px; z-index:2;
  background:linear-gradient(90deg,transparent,var(--project-card-accent),transparent); opacity:.42; }
.project-card__media img { position:absolute; inset:50% auto auto 50%; width:72%; height:48%; padding:0;
  object-fit:contain; background:transparent; transform:translate(-50%,-50%);
  transition:transform .5s cubic-bezier(.2,.75,.2,1),filter .35s ease; }
.project-card:hover .project-card__media img,.project-card:focus-visible .project-card__media img { transform:translate(-50%,-50%) scale(1.035); }
.project-card--hubn .project-card__media img { width:69%; height:58%;
  filter:drop-shadow(1px 0 0 rgba(255,255,255,.88)) drop-shadow(-1px 0 0 rgba(255,255,255,.88)) drop-shadow(0 1px 0 rgba(255,255,255,.88)) drop-shadow(0 -1px 0 rgba(255,255,255,.88)); }
.project-card--octoprint .project-card__media { background:#0a0e0c; }
.project-card--octoprint .project-card__media img { width:58%; height:66%; }
.project-card--pnp .project-card__media img { width:78%; height:86%; filter:drop-shadow(0 22px 28px rgba(0,0,0,.4)); }
.project-card--aotu .project-card__media img,.project-card--skyeengine-code .project-card__media img {
  inset:0; width:100%; height:100%; object-fit:cover; transform:none; }
.project-card--aotu:hover .project-card__media img,.project-card--aotu:focus-visible .project-card__media img,
.project-card--skyeengine-code:hover .project-card__media img,.project-card--skyeengine-code:focus-visible .project-card__media img { transform:scale(1.025); }
.project-card__index { position:absolute; top:15px; right:16px; z-index:3; color:color-mix(in srgb,var(--project-card-accent) 72%,var(--text-3));
  font:9px var(--f-mono); letter-spacing:.12em; text-shadow:0 1px 5px #080a0e; }
.project-card__body { display:flex; flex-direction:column; min-height:168px; padding:21px 22px 23px; }
.project-card__meta { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px;
  font:9px var(--f-mono); letter-spacing:.11em; text-transform:uppercase; }
.project-card__cat { color:var(--project-card-accent); }
.project-card__open { display:inline-flex; align-items:center; gap:5px; color:var(--text-3); white-space:nowrap; transition:color .25s ease; }
.project-card__open span { transition:transform .25s ease; }
.project-card:hover .project-card__open,.project-card:focus-visible .project-card__open { color:var(--project-card-accent); }
.project-card:hover .project-card__open span,.project-card:focus-visible .project-card__open span { transform:translate(2px,-2px); }
.project-card__body h2 { margin:0 0 9px; color:#fff; font-size:21px; line-height:1.08; text-transform:uppercase; }
.project-card__body p { margin:0; color:var(--text-3); font-size:13.5px; line-height:1.55; font-weight:300; }
@media (min-width:981px) {
  .projects-grid > .project-card:last-child:nth-child(3n + 1) { grid-column:2; }
}
@media (min-width:641px) and (max-width:980px) {
  .projects-grid > .project-card:last-child:nth-child(2n + 1) { grid-column:1 / -1; width:calc((100% - 22px) / 2); justify-self:center; }
}
@media (max-width:640px) {
  .projects-grid { grid-template-columns:1fr; gap:18px; }
  .project-card__body { min-height:0; }
}

/* Shared jump navigation for the long-form project dossiers. */
.project-section-nav { --project-nav-accent:var(--acc); width:var(--rail); max-width:var(--maxw); margin:28px auto 0;
  padding:18px 20px; border-top:1px solid color-mix(in srgb,var(--project-nav-accent) 35%,transparent);
  border-bottom:1px solid var(--line); background:linear-gradient(90deg,color-mix(in srgb,var(--project-nav-accent) 5%,transparent),transparent 75%); }
.project-section-nav--purple { --project-nav-accent:var(--purple); }
.project-section-nav--pink { --project-nav-accent:var(--acc2); }
.project-section-nav--cyan { --project-nav-accent:#45d1dc; }
.project-section-nav--ember { --project-nav-accent:#d97841; }
.project-section-nav--green { --project-nav-accent:#72d05d; }
.project-section-nav > span { display:block; margin-bottom:12px; color:var(--project-nav-accent); font:9px var(--f-mono); letter-spacing:.12em; }
.project-section-nav > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:1px; }
.project-section-nav a { display:flex; align-items:center; gap:9px; min-height:38px; padding:7px 10px; border-left:1px solid var(--line);
  color:var(--text-3); font:10px var(--f-mono); letter-spacing:.04em; text-transform:uppercase; transition:color .2s,background .2s; }
.project-section-nav a:hover { color:var(--project-nav-accent); background:color-mix(in srgb,var(--project-nav-accent) 5%,transparent); }
.project-section-nav small { color:var(--project-nav-accent); font-size:8px; }
[id$="-title"],#project-dispatches,#project-notebook { scroll-margin-top:92px; }

/* ============================================================
   CONTACT DETAILS (CTA page)
   ============================================================ */
.contact-info { display:flex; flex-direction:column; gap:14px; max-width:520px; margin:36px auto 0;
  font-family:var(--f-mono); font-size:13.5px; color:var(--text-2); text-align:left; }
.contact-info .row { display:flex; align-items:center; gap:12px; justify-content:center; }
.contact-info .ic { width:18px; height:18px; color:var(--acc); }
.contact-info a { color:var(--text); }
.contact-info a:hover { color:var(--acc); }

/* ============================================================
   PROJECT DOSSIERS
   ============================================================ */
.project-dossier { --project-accent:var(--acc); position:relative; overflow:hidden; border-bottom:1px solid var(--line);
  background:linear-gradient(145deg,#0d1016,#090b0f); }
.project-dossier--purple { --project-accent:var(--purple); }
.project-dossier--pink { --project-accent:var(--acc2); }
.project-dossier--cyan { --project-accent:#35c8d4; }
.project-dossier--ember { --project-accent:#d97841; }
.project-dossier__grid { position:absolute; inset:0; opacity:.55;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:46px 46px; mask-image:linear-gradient(90deg,#000,transparent 82%); }
.project-dossier::after { content:""; position:absolute; width:650px; height:650px; right:-180px; top:-290px;
  background:radial-gradient(circle,color-mix(in srgb,var(--project-accent) 20%,transparent),transparent 67%); pointer-events:none; }
.project-dossier__inner { position:relative; z-index:1; width:var(--rail); max-width:var(--maxw); margin:0 auto;
  padding:76px 0 68px; display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:center; }
.project-dossier__copy { min-width:0; }
.project-dossier__status { display:inline-flex; align-items:center; gap:9px; margin-bottom:22px; padding:6px 11px;
  border:1px solid color-mix(in srgb,var(--project-accent) 32%,transparent); color:var(--project-accent);
  font-family:var(--f-mono); font-size:10.5px; letter-spacing:.11em; }
.project-dossier__status .dot { width:6px; height:6px; background:var(--project-accent); box-shadow:0 0 9px var(--project-accent); }
.project-dossier h1 { margin:0 0 22px; font-size:clamp(52px,7vw,96px); line-height:.88; text-transform:uppercase; letter-spacing:-.025em; }
.project-dossier__copy > p { max-width:680px; margin:0 0 26px; color:var(--text-2); font-size:18px; line-height:1.65; }
.project-dossier__tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.project-dossier__tags span { padding:5px 9px; border:1px solid color-mix(in srgb,var(--project-accent) 25%,transparent);
  color:color-mix(in srgb,var(--project-accent) 75%,#fff); font-family:var(--f-mono); font-size:10px; letter-spacing:.06em; }
.project-dossier__links { display:flex; gap:12px; flex-wrap:wrap; }
.project-dossier__links .btn:hover { border-color:var(--project-accent); color:var(--project-accent); }
.project-dossier__mark { min-width:0; min-height:290px; display:flex; align-items:center; justify-content:center; padding:36px; overflow:hidden; }
.project-dossier__logo { width:min(100%,440px); max-width:100%; max-height:220px; object-fit:contain; }
.project-dossier__visual { width:100%; margin:0; border:1px solid color-mix(in srgb,var(--project-accent) 30%,transparent); background:#08090c; box-shadow:0 22px 70px rgba(0,0,0,.45); }
.project-dossier__visual img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.project-dossier__visual figcaption { padding:9px 12px; color:var(--muted); font:9.5px var(--f-mono); letter-spacing:.06em; text-transform:uppercase; }
.project-dossier__logo--hubn { filter:drop-shadow(2px 0 0 rgba(255,255,255,.9)) drop-shadow(-2px 0 0 rgba(255,255,255,.9))
  drop-shadow(0 2px 0 rgba(255,255,255,.9)) drop-shadow(0 -2px 0 rgba(255,255,255,.9)); }
.project-facts { width:var(--rail); max-width:var(--maxw); margin:34px auto 0; display:grid; grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line); background:#0d0f14; border-radius:5px; overflow:hidden; }
.project-fact { padding:22px 24px; border-right:1px solid var(--line); }
.project-fact:last-child { border-right:0; }
.project-fact span { display:block; margin-bottom:8px; color:var(--muted); font-family:var(--f-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.project-fact strong { color:var(--text); font-family:var(--f-display); font-size:17px; font-weight:600; }
.project-milestones { --milestone-accent:var(--acc); position:relative; isolation:isolate; width:var(--rail); max-width:var(--maxw);
  margin:68px auto 0; overflow:hidden; border:1px solid var(--line-2); border-radius:7px;
  background:linear-gradient(145deg,rgba(19,21,29,.98),rgba(10,12,17,.98)); box-shadow:0 28px 90px rgba(0,0,0,.28); }
.project-milestones--purple { --milestone-accent:var(--purple); }
.project-milestones--pink { --milestone-accent:var(--acc2); }
.project-milestones--cyan { --milestone-accent:#35c8d4; }
.project-milestones--ember { --milestone-accent:#d97841; }
.project-milestones::before { content:""; position:absolute; z-index:-1; top:0; left:0; width:42%; height:2px;
  background:linear-gradient(90deg,var(--milestone-accent),transparent); box-shadow:0 0 22px color-mix(in srgb,var(--milestone-accent) 55%,transparent); }
.project-milestones__grid { position:absolute; z-index:-2; inset:0; opacity:.32; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:34px 34px; mask-image:linear-gradient(140deg,#000,transparent 74%); }
.project-milestones__head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:44px; align-items:start; padding:46px 48px 38px; }
.project-milestones__head h2 { max-width:760px; margin:10px 0 14px; font-size:clamp(34px,4.2vw,58px); line-height:.98; text-transform:uppercase; }
.project-milestones__head p { max-width:790px; margin:0; color:var(--text-3); font-size:15px; line-height:1.7; }
.project-milestones__snapshot { display:flex; align-items:center; gap:9px; margin-top:4px; padding:7px 10px;
  border:1px solid color-mix(in srgb,var(--milestone-accent) 28%,var(--line)); color:color-mix(in srgb,var(--milestone-accent) 70%,#fff);
  background:color-mix(in srgb,var(--milestone-accent) 5%,transparent); font:9.5px var(--f-mono); letter-spacing:.09em; white-space:nowrap; }
.project-milestones__snapshot span { width:6px; height:6px; border-radius:50%; background:var(--milestone-accent); box-shadow:0 0 10px var(--milestone-accent); }
.project-milestones__stats { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(5,7,10,.42); }
.project-milestones__stats > div { padding:24px 28px; border-right:1px solid var(--line); }
.project-milestones__stats > div:last-child { border-right:0; }
.project-milestones__stats strong { display:block; margin-bottom:7px; color:var(--text); font:600 25px var(--f-display); letter-spacing:-.01em; }
.project-milestones__stats span { display:block; color:var(--muted); font:9px var(--f-mono); letter-spacing:.09em; text-transform:uppercase; }
.project-milestones__list { margin:0; padding:0 48px 16px; list-style:none; }
.project-milestone { position:relative; display:grid; grid-template-columns:76px minmax(0,1fr) 170px; gap:28px; align-items:center; min-height:158px; border-bottom:1px solid var(--line); }
.project-milestone:last-child { border-bottom:0; }
.project-milestone__rail { align-self:stretch; position:relative; display:flex; align-items:center; justify-content:flex-start; }
.project-milestone__rail::before { content:""; position:absolute; left:19px; top:0; bottom:0; width:1px; background:var(--line-2); }
.project-milestone:first-child .project-milestone__rail::before { top:50%; }
.project-milestone:last-child .project-milestone__rail::before { bottom:50%; }
.project-milestone__rail span { position:relative; z-index:1; display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--line-2); border-radius:50%;
  color:#656c78; background:#0c0e13; font:10px var(--f-mono); letter-spacing:.06em; }
.project-milestone__status { display:inline-flex; align-items:center; gap:7px; margin-bottom:9px; color:#747b87; font:9px var(--f-mono); letter-spacing:.11em; }
.project-milestone__status::before { content:""; width:5px; height:5px; border-radius:50%; background:currentColor; }
.project-milestone h3 { margin:0 0 9px; font-size:21px; text-transform:uppercase; }
.project-milestone p { max-width:760px; margin:0; color:var(--text-3); font-size:13.5px; line-height:1.6; }
.project-milestone__metric { justify-self:end; max-width:170px; padding:6px 9px; border:1px solid var(--line); color:#676e79;
  font:9px var(--f-mono); letter-spacing:.08em; text-align:right; }
.project-milestone--complete .project-milestone__rail span { border-color:rgba(54,194,180,.42); color:#36c2b4; box-shadow:inset 0 0 18px rgba(54,194,180,.07); }
.project-milestone--complete .project-milestone__rail::before { background:rgba(54,194,180,.3); }
.project-milestone--complete .project-milestone__status,.project-milestone--complete .project-milestone__metric { color:#36c2b4; border-color:rgba(54,194,180,.22); }
.project-milestone--active { background:linear-gradient(90deg,color-mix(in srgb,var(--milestone-accent) 5%,transparent),transparent 62%); }
.project-milestone--active .project-milestone__rail span { border-color:var(--milestone-accent); color:var(--milestone-accent); box-shadow:0 0 18px color-mix(in srgb,var(--milestone-accent) 22%,transparent); }
.project-milestone--active .project-milestone__status,.project-milestone--active .project-milestone__metric { color:var(--milestone-accent); border-color:color-mix(in srgb,var(--milestone-accent) 28%,transparent); }
.project-milestone--gated .project-milestone__rail span { border-color:rgba(255,176,32,.45); color:var(--acc); }
.project-milestone--gated .project-milestone__status,.project-milestone--gated .project-milestone__metric { color:var(--acc); border-color:rgba(255,176,32,.24); }
.project-milestone--queued { opacity:.72; }
.project-story { --story-accent:var(--acc); position:relative; isolation:isolate; width:var(--rail); max-width:var(--maxw); margin:68px auto 0;
  overflow:hidden; border:1px solid var(--line-2); border-radius:7px;
  background:linear-gradient(155deg,rgba(17,19,26,.98),rgba(9,11,15,.99) 58%); box-shadow:0 28px 90px rgba(0,0,0,.2); }
.project-story--purple { --story-accent:var(--purple); }
.project-story--pink { --story-accent:var(--acc2); }
.project-story--cyan { --story-accent:#35c8d4; }
.project-story--ember { --story-accent:#d97841; }
.project-story::before { content:""; position:absolute; z-index:2; top:0; left:0; width:32%; height:2px;
  background:linear-gradient(90deg,var(--story-accent),transparent); box-shadow:0 0 24px color-mix(in srgb,var(--story-accent) 52%,transparent); }
.project-story__grid { position:absolute; z-index:-1; inset:0; opacity:.28; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px);
  background-size:34px 34px; mask-image:linear-gradient(125deg,#000,transparent 58%); }
.project-story__head { display:grid; grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr); gap:70px; align-items:end; padding:50px 48px 42px; border-bottom:1px solid var(--line); }
.project-story__head h2 { max-width:680px; margin:10px 0 0; font-size:clamp(36px,4.3vw,60px); line-height:.98; text-transform:uppercase; }
.project-story__head > p { max-width:640px; margin:0; color:var(--text-3); font-size:15px; line-height:1.72; }
.project-story__lead { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-bottom:1px solid var(--line); background:rgba(5,7,10,.42); }
.project-story__lead > p { margin:0; padding:30px 48px 32px; color:var(--text-2); font-size:16px; line-height:1.72; }
.project-story__lead > p + p { border-left:1px solid var(--line); }
.project-story__timeline { padding:8px 48px 18px; }
.project-chapter { display:grid; grid-template-columns:190px minmax(0,1fr); gap:38px; padding:40px 0 42px; border-bottom:1px solid var(--line); }
.project-chapter:last-child { border-bottom:0; }
.project-chapter__rail { position:relative; min-height:54px; padding:5px 0 0 58px; }
.project-chapter__rail::before { content:""; position:absolute; left:18px; top:-40px; bottom:-42px; width:1px; background:var(--line-2); }
.project-chapter:first-child .project-chapter__rail::before { top:20px; }
.project-chapter:last-child .project-chapter__rail::before { bottom:calc(100% - 21px); }
.project-chapter__rail > span { position:absolute; z-index:1; top:0; left:0; display:grid; place-items:center; width:38px; height:38px;
  border:1px solid color-mix(in srgb,var(--story-accent) 42%,var(--line)); border-radius:50%; color:color-mix(in srgb,var(--story-accent) 72%,#fff);
  background:#0c0e13; box-shadow:inset 0 0 18px color-mix(in srgb,var(--story-accent) 7%,transparent); font:9px var(--f-mono); letter-spacing:.05em; }
.project-chapter__rail small { display:block; max-width:125px; color:color-mix(in srgb,var(--story-accent) 64%,var(--muted));
  font:9px/1.5 var(--f-mono); letter-spacing:.1em; text-transform:uppercase; }
.project-chapter__body { max-width:880px; }
.project-chapter__body h3 { margin:0 0 15px; font-size:clamp(24px,2.5vw,32px); line-height:1.05; text-transform:uppercase; }
.project-chapter__copy { color:var(--text-2); font-size:15.5px; line-height:1.72; }
.project-chapter__copy p { margin:0 0 1em; }
.project-chapter__copy p:last-child { margin-bottom:0; }
.project-chapter__copy em { color:var(--text); }
.project-chapter__copy a { color:color-mix(in srgb,var(--story-accent) 78%,#fff); border-bottom:1px solid color-mix(in srgb,var(--story-accent) 35%,transparent); }
.project-chapter__copy a:hover { border-color:var(--story-accent); }
.project-chapter__copy ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 12px; margin:8px 0 0; padding:0; list-style:none; }
.project-chapter__copy li { margin:0; }
.project-chapter__copy li a { display:block; height:100%; padding:12px 14px; border:1px solid var(--line); background:rgba(255,255,255,.018); font:11px/1.5 var(--f-mono); }
.project-chapter__copy li a:hover { border-color:color-mix(in srgb,var(--story-accent) 45%,var(--line)); background:color-mix(in srgb,var(--story-accent) 4%,transparent); }
.project-chapter--policy .project-chapter__rail > span { border-color:rgba(255,95,154,.5); color:#ff82b0; }
.project-chapter--warning .project-chapter__rail > span { border-color:rgba(255,176,32,.42); color:var(--acc); }
.project-chapter--warning .project-chapter__rail small { color:color-mix(in srgb,var(--acc) 68%,var(--muted)); }
.project-chapter--engine .project-chapter__rail > span { border-color:rgba(53,200,212,.44); color:#55d5df; }
.project-chapter--engine .project-chapter__rail small { color:color-mix(in srgb,#35c8d4 68%,var(--muted)); }
.project-chapter--active { background:linear-gradient(90deg,color-mix(in srgb,var(--story-accent) 4%,transparent),transparent 78%); }
.project-chapter--active .project-chapter__rail > span { box-shadow:0 0 18px color-mix(in srgb,var(--story-accent) 18%,transparent); }
.project-prose { max-width:880px; padding-top:68px; }
.project-prose h2 { margin-top:2.2em; }
.related-dispatches { padding-top:58px; }
.dispatch-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.dispatch-card { padding:24px; border:1px solid var(--line); border-radius:5px; background:linear-gradient(160deg,#10131a,#0c0e13); transition:.25s; }
.dispatch-card:hover { transform:translateY(-3px); border-color:rgba(255,176,32,.35); }
.dispatch-card time { color:var(--acc); font-family:var(--f-mono); font-size:10px; letter-spacing:.08em; }
.dispatch-card h3 { margin:12px 0 9px; font-size:20px; text-transform:uppercase; }
.dispatch-card p { margin:0 0 15px; color:var(--text-3); font-size:13.5px; line-height:1.55; }
.dispatch-card > span { color:var(--acc); font-family:var(--f-mono); font-size:11px; }

/* ============================================================
   PROJECT EXPERIENCES
   Four independent visual systems share only the site typography,
   spacing rail and related-content handoff.
   ============================================================ */
.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; white-space:nowrap!important; border:0!important; }
.project-related { --related-accent:var(--acc); }
.project-related--purple { --related-accent:var(--purple); }
.project-related--pink { --related-accent:var(--acc2); }
.project-related--cyan { --related-accent:#35c8d4; }
.project-related--ember { --related-accent:#d97841; }
.project-related .eyebrow,.project-related .btn-link,.project-related .dispatch-card time,.project-related .dispatch-card > span { color:var(--related-accent); }
.project-related .btn-link { border-color:color-mix(in srgb,var(--related-accent) 35%,transparent); }
.project-related .dispatch-card:hover { border-color:color-mix(in srgb,var(--related-accent) 38%,transparent); }
.project-back-link { --back-accent:var(--acc); }
.project-back-link--purple { --back-accent:var(--purple); }
.project-back-link--pink { --back-accent:var(--acc2); }
.project-back-link--cyan { --back-accent:#35c8d4; }
.project-back-link--ember { --back-accent:#d97841; }
.project-back-link a:hover { color:var(--back-accent); }

/* AotU second pass: cinematic game showcase, deliberately separate from the field-record experiment above. */
.ashes-page { --ashes:#db7b45; --ashes-hot:#ffb06f; --ashes-cool:#6fb9c6; }
.ashes-hero { position:relative; min-height:760px; overflow:hidden; border-bottom:1px solid rgba(219,123,69,.24); background:#050608; }
.ashes-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 48%; filter:saturate(.88) contrast(1.03); }
.ashes-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,5,7,.92) 0%,rgba(4,5,7,.58) 40%,rgba(4,5,7,.08) 74%),linear-gradient(0deg,rgba(4,5,7,.9),transparent 34%,rgba(4,5,7,.2) 70%,rgba(4,5,7,.64)); }
.ashes-hero__inner { position:relative; z-index:1; width:var(--rail); max-width:var(--maxw); min-height:760px; margin:0 auto; padding:54px 0 42px; display:flex; flex-direction:column; justify-content:space-between; }
.ashes-hero__top,.ashes-hero__foot { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.ashes-hero__top > span { color:var(--ashes-hot); font:9px var(--f-mono); letter-spacing:.16em; text-transform:uppercase; }
.ashes-hero__top > strong { display:flex; align-items:center; gap:8px; padding:6px 10px; border:1px solid rgba(219,123,69,.36); color:#e7b28d; background:rgba(6,7,9,.52); font:8px var(--f-mono); font-weight:400; letter-spacing:.11em; }
.ashes-hero__top i { width:5px; height:5px; border-radius:50%; background:var(--ashes-hot); box-shadow:0 0 10px var(--ashes-hot); }
.ashes-hero__title { max-width:820px; margin-top:auto; padding:80px 0 36px; }
.ashes-hero h1 { margin:0 0 23px; color:#f3f0eb; font-size:clamp(58px,7.4vw,104px); line-height:.84; letter-spacing:-.04em; text-transform:uppercase; text-shadow:0 15px 55px #000; }
.ashes-hero__title p { max-width:680px; margin:0; color:#c6c2bb; font-size:18px; line-height:1.62; text-shadow:0 3px 18px #000; }
.ashes-hero__tags { display:flex; flex-wrap:wrap; gap:8px; }
.ashes-hero__tags span { padding:5px 9px; border:1px solid rgba(219,123,69,.28); color:#d5a27d; background:rgba(5,6,8,.56); font:8px var(--f-mono); letter-spacing:.08em; }
.ashes-hero__foot small { color:#7d7973; font:8px var(--f-mono); letter-spacing:.09em; text-transform:uppercase; }
.ashes-intro,.ashes-thesis,.ashes-feature,.ashes-systems,.ashes-proof,.ashes-current { width:var(--rail); max-width:var(--maxw); margin-right:auto; margin-left:auto; }
.ashes-intro { padding-top:86px; display:grid; grid-template-columns:.8fr 1.2fr; gap:54px 90px; align-items:start; }
.ashes-intro__title > span,.ashes-thesis span,.ashes-feature__copy > span,.ashes-systems__head > span,.ashes-proof header > span,.ashes-current > div > span { color:var(--ashes); font:9px var(--f-mono); letter-spacing:.15em; text-transform:uppercase; }
.ashes-intro h2,.ashes-thesis h2,.ashes-feature h2,.ashes-systems h2,.ashes-proof h2,.ashes-current h2 { margin:13px 0 0; font-size:clamp(38px,4.8vw,66px); line-height:.96; text-transform:uppercase; }
.ashes-intro__copy { color:var(--text-2); font-size:16px; line-height:1.74; }
.ashes-intro__copy p:last-child { margin-bottom:0; }
.ashes-intro__scale { grid-column:1 / -1; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(219,123,69,.22); border-bottom:1px solid var(--line-2); }
.ashes-intro__scale > div { padding:23px 22px; border-right:1px solid var(--line); }
.ashes-intro__scale > div:last-child { border-right:0; }
.ashes-intro__scale strong { display:block; margin-bottom:7px; color:#e6ddd4; font:600 19px var(--f-display); }
.ashes-intro__scale span,.ashes-intro__scale small { display:block; color:#77716c; font:8px var(--f-mono); letter-spacing:.08em; text-transform:uppercase; }
.ashes-intro__scale small { margin-top:5px; color:#565b64; }
.ashes-thesis { margin-top:74px; padding:44px 48px; display:grid; grid-template-columns:70px minmax(300px,.75fr) minmax(0,1.25fr); gap:42px; align-items:start; border:1px solid rgba(219,123,69,.2); background:linear-gradient(125deg,rgba(219,123,69,.07),rgba(11,13,17,.88)); }
.ashes-thesis__index { color:#664a3a; font:500 34px var(--f-display); }
.ashes-thesis h2 { font-size:clamp(30px,3.6vw,48px); }
.ashes-thesis__copy,.ashes-feature__copy > div,.ashes-systems__head > div,.ashes-proof__record > div:last-child,.ashes-current > div:last-child { color:var(--text-2); font-size:14.5px; line-height:1.7; }
.ashes-thesis__copy p:last-child,.ashes-feature__copy p:last-child,.ashes-systems__head p:last-child,.ashes-proof__record p:last-child,.ashes-current p:last-child { margin-bottom:0; }
.ashes-feature { margin-top:88px; display:grid; grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr); gap:64px; align-items:center; }
.ashes-feature--image-left { grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); }
.ashes-feature figure { margin:0; overflow:hidden; border:1px solid rgba(219,123,69,.18); background:#07080a; box-shadow:0 26px 80px rgba(0,0,0,.3); }
.ashes-feature figure img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.ashes-feature figure figcaption,.ashes-proof figcaption { padding:11px 13px; border-top:1px solid var(--line); color:#706e6b; font:8px var(--f-mono); letter-spacing:.08em; text-transform:uppercase; }
.ashes-feature__copy { padding:14px 0; }
.ashes-feature h2 { margin-bottom:24px; font-size:clamp(36px,4vw,56px); }
.ashes-systems { margin-top:88px; padding:48px; display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; border:1px solid var(--line-2); background:linear-gradient(145deg,rgba(16,18,23,.92),rgba(8,10,13,.92)); }
.ashes-systems__head h2 { margin-bottom:24px; font-size:clamp(36px,4vw,55px); }
.ashes-systems__map { display:grid; grid-template-columns:1fr 1fr; gap:9px; align-content:center; }
.ashes-systems__core { grid-column:1 / -1; margin-bottom:5px; padding:18px 20px; display:flex; justify-content:space-between; align-items:center; border:1px solid rgba(219,123,69,.3); background:rgba(219,123,69,.045); }
.ashes-systems__core span { color:var(--ashes); font:8px var(--f-mono); letter-spacing:.1em; }
.ashes-systems__core strong { font:600 15px var(--f-display); }
.ashes-system { position:relative; display:flex; align-items:center; gap:10px; min-height:48px; padding:11px 13px; border:1px solid var(--line); color:#a9aeb7; font:10px var(--f-mono); }
.ashes-system i { width:5px; height:5px; border-radius:50%; background:#62574e; }
.ashes-proof { padding-top:92px; }
.ashes-proof > header { display:grid; grid-template-columns:.8fr 1fr; gap:24px 76px; align-items:end; margin-bottom:34px; }
.ashes-proof > header > span { grid-column:1 / -1; }
.ashes-proof header p { margin:0; color:var(--text-3); font-size:14.5px; line-height:1.65; }
.ashes-proof__grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ashes-proof figure { margin:0; overflow:hidden; border:1px solid var(--line-2); background:#07080a; }
.ashes-proof figure img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.ashes-proof__record { margin-top:16px; padding:32px 35px; display:grid; grid-template-columns:330px 1fr; gap:54px; border-left:2px solid var(--ashes-cool); background:rgba(111,185,198,.035); }
.ashes-proof__record span { color:var(--ashes-cool); font:8px var(--f-mono); letter-spacing:.1em; }
.ashes-proof__record h3 { margin:12px 0 0; font-size:28px; text-transform:uppercase; }
.ashes-current { margin-top:18px; padding:35px; display:grid; grid-template-columns:380px 1fr; gap:60px; border:1px solid rgba(219,123,69,.19); background:rgba(219,123,69,.028); }
.ashes-current h2 { font-size:31px; }

/* ---------- HubN / network control plane ---------- */
.hubn-page { --hubn:#ffb020; --hubn-cyan:#4ed6de; }
.hubn-hero { position:relative; overflow:hidden; border-bottom:1px solid rgba(255,176,32,.22); background:radial-gradient(circle at 78% 24%,rgba(255,176,32,.1),transparent 30%),#090b0e; }
.hubn-hero::before { content:""; position:absolute; inset:0; opacity:.5; background-image:linear-gradient(rgba(255,255,255,.027) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.027) 1px,transparent 1px); background-size:38px 38px; mask-image:linear-gradient(90deg,transparent 18%,#000); }
.hubn-hero__mesh { position:absolute; inset:0; pointer-events:none; opacity:.55; background:linear-gradient(24deg,transparent 50%,rgba(255,176,32,.14) 50.1%,transparent 50.3%),linear-gradient(-18deg,transparent 67%,rgba(78,214,222,.12) 67.1%,transparent 67.3%); }
.hubn-hero__mesh span { position:absolute; width:8px; height:8px; border:1px solid var(--hubn); border-radius:50%; background:#090b0e; box-shadow:0 0 14px rgba(255,176,32,.48); }
.hubn-hero__mesh span:nth-child(1){left:57%;top:18%}.hubn-hero__mesh span:nth-child(2){left:76%;top:35%}.hubn-hero__mesh span:nth-child(3){left:65%;top:69%}.hubn-hero__mesh span:nth-child(4){left:89%;top:72%}.hubn-hero__mesh span:nth-child(5){left:48%;top:82%}
.hubn-hero__inner { position:relative; z-index:1; width:var(--rail); max-width:var(--maxw); margin:0 auto; padding:84px 0 70px; display:grid; grid-template-columns:minmax(0,1fr) 470px; gap:86px; align-items:center; }
.hubn-hero__route,.hubn-topology header span,.hubn-services header span,.hubn-route header span,.hubn-state__copy > span,.hubn-trust header > span { color:var(--hubn); font:9px var(--f-mono); letter-spacing:.16em; text-transform:uppercase; }
.hubn-hero__identity img { width:min(100%,460px); max-height:170px; margin:30px 0 29px; object-fit:contain; object-position:left center; filter:drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff) drop-shadow(0 0 24px rgba(255,176,32,.18)); }
.hubn-hero__identity > p { max-width:650px; margin:0 0 25px; color:var(--text-2); font-size:18px; line-height:1.68; }
.hubn-hero__tags { display:flex; flex-wrap:wrap; gap:8px; }
.hubn-hero__tags span { padding:5px 9px; border:1px solid rgba(255,176,32,.25); color:#d9b672; font:9px var(--f-mono); letter-spacing:.08em; }
.hubn-hero__control { border:1px solid rgba(255,255,255,.1); background:rgba(6,8,11,.76); box-shadow:0 25px 80px rgba(0,0,0,.32); }
.hubn-control__bar { display:flex; justify-content:space-between; gap:12px; padding:13px 16px; border-bottom:1px solid var(--line); font:8px var(--f-mono); letter-spacing:.1em; }
.hubn-control__bar span { display:flex; align-items:center; gap:8px; color:var(--hubn); }
.hubn-control__bar i { width:5px; height:5px; border-radius:50%; background:var(--hubn); box-shadow:0 0 9px var(--hubn); }
.hubn-control__bar strong { color:#656b74; font-weight:400; }
.hubn-control__facts { display:grid; grid-template-columns:1fr 1fr; }
.hubn-control__facts > div { min-height:104px; padding:20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.hubn-control__facts > div:nth-child(2n) { border-right:0; }
.hubn-control__facts > div:nth-last-child(-n+2) { border-bottom:0; }
.hubn-control__facts span { display:block; margin-bottom:10px; color:#68707a; font:8px var(--f-mono); letter-spacing:.1em; text-transform:uppercase; }
.hubn-control__facts strong { color:#e7e3db; font:600 16px/1.25 var(--f-display); }
.hubn-topology,.hubn-services,.hubn-route,.hubn-trust { width:var(--rail); max-width:var(--maxw); margin:0 auto; padding-top:82px; }
.hubn-topology > header { display:grid; grid-template-columns:minmax(0,.8fr) minmax(380px,1.2fr); gap:70px; align-items:end; margin-bottom:38px; }
.hubn-topology h2,.hubn-services h2,.hubn-route h2,.hubn-state h2,.hubn-trust h2 { margin:12px 0 0; font-size:clamp(38px,4.5vw,62px); line-height:.98; text-transform:uppercase; }
.hubn-topology__lead { color:var(--text-2); font-size:16px; line-height:1.72; }
.hubn-topology__lead p:last-child { margin:0; }
.hubn-topology__figure { margin:0; overflow:hidden; border:1px solid rgba(255,176,32,.18); background:#080a0d; box-shadow:0 28px 80px rgba(0,0,0,.24); }
.hubn-topology__chrome { display:flex; justify-content:space-between; gap:18px; padding:12px 15px; border-bottom:1px solid var(--line); color:var(--hubn); font:8px var(--f-mono); letter-spacing:.1em; }
.hubn-topology__chrome i { color:var(--hubn-cyan); font-style:normal; }
.hubn-topology__figure img { width:100%; aspect-ratio:2.25/1; object-fit:contain; padding:20px; background:radial-gradient(circle at 50% 50%,rgba(78,214,222,.045),transparent 60%); }
.hubn-topology__figure figcaption { padding:13px 15px; border-top:1px solid var(--line); color:#707681; font:9px/1.5 var(--f-mono); letter-spacing:.06em; }
.hubn-services > header { display:grid; grid-template-columns:1fr 1fr; gap:62px; align-items:end; margin-bottom:34px; }
.hubn-services > header p,.hubn-route > header p { margin:0; color:var(--text-3); font-size:15px; line-height:1.65; }
.hubn-services__grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-2); border-left:1px solid var(--line-2); }
.hubn-services article { position:relative; min-height:240px; padding:27px 24px 24px; border-right:1px solid var(--line-2); border-bottom:1px solid var(--line-2); background:linear-gradient(145deg,rgba(16,19,24,.72),rgba(9,11,14,.72)); }
.hubn-services article::after { content:""; position:absolute; left:0; right:100%; bottom:0; height:2px; background:var(--hubn); transition:right .35s; }
.hubn-services article:hover::after { right:0; }
.hubn-service__id { color:#59606a; font:9px var(--f-mono); }
.hubn-services h3 { margin:31px 0 10px; font-size:21px; text-transform:uppercase; }
.hubn-services p { margin:0 0 20px; color:var(--text-3); font-size:13px; line-height:1.55; }
.hubn-services article > span { position:absolute; left:24px; bottom:22px; color:var(--hubn); font:8px var(--f-mono); letter-spacing:.11em; }
.hubn-route > header { display:grid; grid-template-columns:1fr 1fr; gap:62px; align-items:end; margin-bottom:36px; }
.hubn-route__flow { display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:0; list-style:none; }
.hubn-route__flow li { position:relative; min-height:228px; padding:26px 27px; border-top:1px solid rgba(255,176,32,.24); border-bottom:1px solid var(--line); }
.hubn-route__flow li + li { border-left:1px solid var(--line); }
.hubn-route__flow li:not(:last-child)::after { content:""; position:absolute; z-index:2; top:30px; right:-5px; width:9px; height:9px; border-top:1px solid var(--hubn); border-right:1px solid var(--hubn); transform:rotate(45deg); background:var(--bg); }
.hubn-route__flow > li > span { color:var(--hubn); font:9px var(--f-mono); }
.hubn-route__flow h3 { margin:34px 0 11px; font-size:20px; text-transform:uppercase; }
.hubn-route__flow p { margin:0; color:var(--text-3); font-size:13px; line-height:1.58; }
.hubn-state { width:var(--rail); max-width:var(--maxw); margin:82px auto 0; padding:45px; display:grid; grid-template-columns:minmax(0,1fr) minmax(410px,.9fr); gap:68px; border:1px solid rgba(78,214,222,.18); background:linear-gradient(135deg,rgba(78,214,222,.045),rgba(255,176,32,.025)); }
.hubn-state__copy p { color:var(--text-3); font-size:14.5px; line-height:1.7; }
.hubn-state__copy p:first-of-type { margin-top:20px; }
.hubn-state__matrix { align-self:center; border:1px solid var(--line-2); background:rgba(5,7,9,.55); }
.hubn-state__matrix-head { display:grid!important; grid-template-columns:1fr 1fr; padding:10px 13px!important; color:#69717c; font:8px var(--f-mono); letter-spacing:.1em; }
.hubn-state__matrix-head span:last-child { text-align:right; }
.hubn-state__matrix > div { display:grid; grid-template-columns:1fr 28px 1fr; align-items:center; min-height:58px; padding:10px 13px; border-bottom:1px solid var(--line); }
.hubn-state__matrix > div:last-child { border-bottom:0; }
.hubn-state__matrix > div > span,.hubn-state__matrix > div > strong { font:10px/1.35 var(--f-mono); }
.hubn-state__matrix > div > span { color:#b9a77d; }
.hubn-state__matrix > div > strong { color:var(--hubn-cyan); text-align:right; font-weight:400; }
.hubn-state__matrix i { width:20px; height:1px; background:linear-gradient(90deg,var(--hubn),var(--hubn-cyan)); }
.hubn-trust > header { margin-bottom:35px; }
.hubn-trust__grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line-2); }
.hubn-trust article { padding:30px; border-right:1px solid var(--line-2); }
.hubn-trust article:last-child { border-right:0; }
.hubn-trust article > div { color:var(--hubn); font:9px var(--f-mono); letter-spacing:.1em; }
.hubn-trust h3 { margin:30px 0 6px; font-size:24px; text-transform:uppercase; }
.hubn-trust article strong { color:var(--hubn-cyan); font:9px var(--f-mono); letter-spacing:.07em; }
.hubn-trust article p { margin:18px 0 0; color:var(--text-3); font-size:13.5px; line-height:1.62; }
.hubn-publication { display:grid; grid-template-columns:220px 1fr; gap:36px; margin-top:18px; padding:28px 30px; border:1px solid rgba(255,176,32,.2); background:rgba(255,176,32,.025); }
.hubn-publication > span { color:var(--hubn); font:9px var(--f-mono); letter-spacing:.12em; }
.hubn-publication p { margin:0 0 1em; color:var(--text-2); font-size:14px; line-height:1.65; }
.hubn-publication p:last-child { margin:0; }

/* SkyeEngine second pass: a compact technical manual instead of a poster wall. */
.skye-page { --skye:#a58fff; --skye-cyan:#63d5dc; }
.skye-manual-hero { position:relative; border-bottom:1px solid rgba(165,143,255,.2); background:linear-gradient(150deg,#0d0f16,#090a0e 68%); overflow:hidden; }
.skye-manual-hero::before { content:""; position:absolute; inset:0; opacity:.42; background-image:linear-gradient(rgba(165,143,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(165,143,255,.035) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(125deg,#000,transparent 70%); }
.skye-manual-hero__inner { position:relative; z-index:1; width:var(--rail); max-width:1180px; margin:0 auto; padding:66px 0 58px; }
.skye-manual-hero__meta { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.skye-manual-hero__meta > span,.skye-manual-intro span,.skye-workbench header span,.skye-record__copy > span,.skye-lineage header span,.skye-execution header span,.skye-components header > span { color:var(--skye); font:9px var(--f-mono); letter-spacing:.15em; text-transform:uppercase; }
.skye-manual-hero__meta > strong { display:flex; align-items:center; gap:8px; padding:6px 10px; border:1px solid rgba(165,143,255,.3); color:#c0b3f5; font:8px var(--f-mono); font-weight:400; letter-spacing:.1em; }
.skye-manual-hero__meta i { width:5px; height:5px; border-radius:50%; background:var(--skye); box-shadow:0 0 9px var(--skye); }
.skye-manual-hero__inner > img { width:min(100%,700px); margin:76px 0 34px; }
.skye-manual-hero__bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; }
.skye-manual-hero__bottom p { max-width:670px; margin:0; color:var(--text-2); font-size:18px; line-height:1.65; }
.skye-manual-hero__facts { display:grid; grid-template-columns:repeat(4,1fr); margin-top:45px; border-top:1px solid rgba(165,143,255,.2); border-bottom:1px solid var(--line-2); }
.skye-manual-hero__facts > div { padding:20px 18px; border-right:1px solid var(--line); }
.skye-manual-hero__facts > div:last-child { border-right:0; }
.skye-manual-hero__facts span { display:block; margin-bottom:7px; color:#6c717c; font:8px var(--f-mono); letter-spacing:.1em; text-transform:uppercase; }
.skye-manual-hero__facts strong { color:#ddd9e9; font:600 15px var(--f-display); }
.skye-manual-intro,.skye-workbench,.skye-record,.skye-lineage,.skye-execution,.skye-components { width:var(--rail); max-width:1180px; margin-right:auto; margin-left:auto; }
.skye-manual-intro { padding-top:82px; display:grid; grid-template-columns:.82fr 1.18fr; gap:82px; }
.skye-manual-intro h2,.skye-workbench h2,.skye-record h2,.skye-lineage h2,.skye-execution h2,.skye-components h2 { margin:13px 0 0; font-size:clamp(36px,4.5vw,58px); line-height:.97; text-transform:uppercase; }
.skye-manual-intro > div:last-child { color:var(--text-2); font-size:15.5px; line-height:1.72; }
.skye-manual-intro p:last-child { margin-bottom:0; }
.skye-workbench,.skye-lineage,.skye-execution,.skye-components { padding-top:78px; }
.skye-workbench > header,.skye-execution > header { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; margin-bottom:31px; }
.skye-workbench header p,.skye-execution header p { margin:0; color:var(--text-3); font-size:14px; line-height:1.65; }
.skye-workbench__flow { display:grid; grid-template-columns:repeat(7,1fr); padding:24px 18px; border:1px solid rgba(165,143,255,.18); background:rgba(165,143,255,.025); }
.skye-workbench__stage { position:relative; min-width:0; text-align:center; }
.skye-workbench__stage > span { display:grid; place-items:center; width:30px; height:30px; margin:0 auto 12px; border:1px solid rgba(165,143,255,.38); border-radius:50%; color:var(--skye); font:8px var(--f-mono); }
.skye-workbench__stage > strong { color:#9298a4; font:8px var(--f-mono); letter-spacing:.08em; text-transform:uppercase; }
.skye-workbench__stage > i { position:absolute; top:7px; right:-4px; color:#524b68; font:11px var(--f-mono); font-style:normal; }
.skye-fabric-feature { position:relative; isolation:isolate; width:var(--rail); max-width:1320px; margin:92px auto 0; border:1px solid rgba(99,213,220,.22); background:linear-gradient(145deg,rgba(99,213,220,.025),rgba(165,143,255,.035) 52%,rgba(7,9,13,.96)); box-shadow:0 26px 80px rgba(0,0,0,.24); overflow:hidden; }
.skye-fabric-feature::before { content:""; position:absolute; z-index:-1; inset:-180px auto auto -120px; width:520px; height:520px; border-radius:50%; background:rgba(99,213,220,.07); filter:blur(100px); pointer-events:none; }
.skye-fabric-feature__banner { position:relative; min-height:170px; display:grid; place-items:center; border-bottom:1px solid rgba(99,213,220,.2); background:radial-gradient(circle at 50% 50%,rgba(99,213,220,.08),transparent 62%),#080a0e; overflow:hidden; }
.skye-fabric-feature__banner::after { content:"DISTRIBUTED EXECUTION / IDENTITY / ROUTING / TRANSFER"; position:absolute; right:20px; bottom:14px; color:rgba(99,213,220,.44); font:7px var(--f-mono); letter-spacing:.14em; }
.skye-fabric-feature__banner img { display:block; width:100%; max-height:285px; object-fit:cover; }
.skye-fabric-feature > header { display:grid; grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr); gap:80px; align-items:end; padding:58px 58px 49px; }
.skye-fabric-feature > header span { color:var(--skye-cyan); font:9px var(--f-mono); letter-spacing:.15em; text-transform:uppercase; }
.skye-fabric-feature > header h2 { max-width:720px; margin:15px 0 0; font-size:clamp(41px,4.7vw,65px); line-height:.95; text-transform:uppercase; }
.skye-fabric-feature > header p { margin:0; color:var(--text-2); font-size:15px; line-height:1.7; }
.skye-fabric-feature__stats { display:grid; grid-template-columns:repeat(4,1fr); margin:0 58px 58px; border:1px solid rgba(99,213,220,.18); background:rgba(6,9,13,.64); }
.skye-fabric-feature__stats > div { min-width:0; padding:24px 21px; border-right:1px solid rgba(99,213,220,.13); }
.skye-fabric-feature__stats > div:last-child { border-right:0; }
.skye-fabric-feature__stats strong { display:block; margin-bottom:9px; color:#d6f6f6; font:600 clamp(20px,2.2vw,29px) var(--f-display); }
.skye-fabric-feature__stats span { display:block; color:#6e8188; font:8px/1.5 var(--f-mono); letter-spacing:.08em; text-transform:uppercase; }
.skye-fabric-feature figure { margin:0; }
.skye-fabric-feature figure img { display:block; width:100%; }
.skye-fabric-feature figcaption { padding:13px 18px; border-top:1px solid rgba(99,213,220,.12); color:#65777c; font:8px var(--f-mono); letter-spacing:.09em; text-transform:uppercase; }
.skye-fabric-feature__topology { margin:0 58px!important; border:1px solid rgba(99,213,220,.2); background:#080b0f; }
.skye-fabric-feature__topology img { padding:24px; }
.skye-fabric-feature__architecture { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:72px; padding:64px 58px; }
.skye-fabric-feature__copy { color:var(--text-2); font-size:15px; line-height:1.72; }
.skye-fabric-feature__copy::before { content:"// CONTROL WITHOUT A DATA-PLANE BOTTLENECK"; display:block; margin-bottom:24px; color:var(--skye-cyan); font:9px var(--f-mono); letter-spacing:.13em; }
.skye-fabric-feature__copy p:first-child { margin-top:0; }
.skye-fabric-feature__copy p:last-child { margin-bottom:0; }
.skye-fabric-feature__planes { border:1px solid rgba(165,143,255,.18); background:rgba(7,8,12,.58); }
.skye-fabric-feature__planes article { position:relative; display:grid; grid-template-columns:96px 1fr; gap:7px 20px; min-height:126px; padding:24px; border-bottom:1px solid rgba(165,143,255,.13); }
.skye-fabric-feature__planes article:last-child { border-bottom:0; }
.skye-fabric-feature__planes article > span { grid-row:1 / 3; color:var(--skye-cyan); font:8px var(--f-mono); letter-spacing:.12em; }
.skye-fabric-feature__planes h3 { margin:0; font-size:19px; text-transform:uppercase; }
.skye-fabric-feature__planes p { margin:0; color:var(--text-3); font-size:12.5px; line-height:1.58; }
.skye-fabric-feature__evidence { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(99,213,220,.17); border-bottom:1px solid rgba(99,213,220,.17); background:#07090d; }
.skye-fabric-feature__evidence figure:first-child { border-right:1px solid rgba(99,213,220,.17); }
.skye-fabric-feature__evidence img { padding:22px; }
.skye-fabric-feature > footer { display:grid; grid-template-columns:1fr auto; gap:60px; align-items:center; padding:37px 58px; }
.skye-fabric-feature > footer p { max-width:760px; margin:0; color:var(--text-3); font-size:13.5px; line-height:1.65; }
.skye-fabric-feature > footer > div { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.skye-record { margin-top:78px; padding:44px; display:grid; grid-template-columns:1fr 440px; gap:68px; align-items:center; border:1px solid var(--line-2); background:linear-gradient(135deg,rgba(165,143,255,.04),rgba(9,11,15,.7)); }
.skye-record__copy h2 { margin-bottom:22px; }
.skye-record__copy p { color:var(--text-3); font-size:14px; line-height:1.68; }
.skye-record__copy p:last-child { margin-bottom:0; }
.skye-record__sample { border:1px solid rgba(165,143,255,.2); background:#08090d; }
.skye-record__sample-head { display:flex!important; justify-content:space-between; padding:11px 13px!important; color:var(--skye); font:8px var(--f-mono); letter-spacing:.09em; }
.skye-record__sample-head strong { color:var(--skye-cyan)!important; font:inherit!important; font-weight:400!important; }
.skye-record__sample > div { display:grid; grid-template-columns:130px 1fr; gap:5px 14px; padding:14px; border-bottom:1px solid var(--line); }
.skye-record__sample > div:last-child { border-bottom:0; }
.skye-record__sample > div > span { grid-row:1 / 3; color:var(--skye); font:8px/1.4 var(--f-mono); }
.skye-record__sample > div > strong { color:#d8d5e2; font:600 13px var(--f-display); }
.skye-record__sample > div > small { color:#686e78; font:8px var(--f-mono); }
.skye-lineage > header { display:grid; grid-template-columns:.9fr 1.1fr; gap:65px; align-items:end; margin-bottom:31px; }
.skye-lineage header p { margin:0; color:var(--text-3); font-size:14px; line-height:1.65; }
.skye-lineage__stack { border:1px solid var(--line-2); }
.skye-lineage__stack article { display:grid; grid-template-columns:45px 1fr 135px; gap:24px; align-items:center; min-height:112px; padding:22px 25px; border-bottom:1px solid var(--line); background:linear-gradient(90deg,rgba(165,143,255,.03),transparent 42%); }
.skye-lineage__stack article:last-child { border-bottom:0; }
.skye-lineage__stack article > span { display:grid; place-items:center; width:32px; height:32px; border:1px solid rgba(165,143,255,.36); border-radius:50%; color:var(--skye); font:8px var(--f-mono); }
.skye-lineage__stack h3 { margin:0 0 7px; font-size:19px; text-transform:uppercase; }
.skye-lineage__stack p { margin:0; color:var(--text-3); font-size:13px; line-height:1.5; }
.skye-lineage__stack small { color:#626975; font:8px var(--f-mono); letter-spacing:.08em; text-align:right; }
.skye-execution__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.skye-execution__grid article { padding:27px; border:1px solid rgba(165,143,255,.16); background:rgba(165,143,255,.022); }
.skye-execution__grid article > span { color:var(--skye-cyan); font:8px var(--f-mono); letter-spacing:.1em; }
.skye-execution__grid h3 { margin:28px 0 9px; font-size:22px; text-transform:uppercase; }
.skye-execution__grid p { margin:0; color:var(--text-3); font-size:13px; line-height:1.58; }
.skye-components > header { margin-bottom:31px; }
.skye-components__grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line-2); }
.skye-components__grid article { padding:29px; border-right:1px solid var(--line-2); }
.skye-components__grid article:last-child { border-right:0; }
.skye-components__grid small { color:var(--skye); font:8px var(--f-mono); letter-spacing:.1em; }
.skye-components__grid h3 { margin:27px 0 9px; font-size:24px; text-transform:uppercase; }
.skye-components__grid p { margin:0; color:var(--text-3); font-size:13px; line-height:1.58; }
.skye-migration > span { color:var(--skye-cyan); font:8px var(--f-mono); letter-spacing:.1em; }
.skye-migration p { margin:0 0 1em; color:var(--text-2); font-size:13.5px; line-height:1.65; }
.skye-migration p:last-child { margin-bottom:0; }
.skye-migration { display:grid; grid-template-columns:190px 1fr; gap:40px; margin-top:14px; padding:27px 30px; border-left:2px solid var(--skye); background:rgba(165,143,255,.03); }

/* ---------- SkyeEngine Code / operator console ---------- */
.code-page { --code:#45d1dc; --code-green:#53d4a5; --code-warn:#ffb020; }
.code-hero { position:relative; overflow:hidden; border-bottom:1px solid rgba(69,209,220,.2); background:radial-gradient(circle at 78% 18%,rgba(69,209,220,.09),transparent 35%),#080a0d; }
.code-hero__noise { position:absolute; inset:0; opacity:.5; background-image:linear-gradient(rgba(69,209,220,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(69,209,220,.025) 1px,transparent 1px); background-size:28px 28px; mask-image:linear-gradient(100deg,transparent,#000 40%,#000); }
.code-hero__inner { position:relative; z-index:1; width:var(--rail); max-width:1480px; margin:0 auto; padding:74px 0 42px; display:grid; grid-template-columns:430px minmax(0,1fr); gap:60px; align-items:center; }
.code-kicker,.code-origin header > span,.code-workspace header span,.code-review__copy > span,.code-recovery header span,.code-memory header > span { color:var(--code); font:9px var(--f-mono); letter-spacing:.15em; text-transform:uppercase; }
.code-status { display:inline-flex; align-items:center; gap:8px; margin:20px 0 30px; padding:6px 10px; border:1px solid rgba(69,209,220,.32); color:#8ce8ee; font:8px var(--f-mono); letter-spacing:.11em; }
.code-status span { width:5px; height:5px; border-radius:50%; background:var(--code-green); box-shadow:0 0 9px var(--code-green); }
.code-hero h1 { margin:0 0 22px; font-size:clamp(52px,5.8vw,86px); line-height:.84; letter-spacing:-.04em; text-transform:uppercase; }
.code-hero h1 span { display:block; color:#aeb4bd; font-size:.53em; letter-spacing:.02em; }
.code-hero__copy > p { margin:0 0 25px; color:var(--text-2); font-size:17px; line-height:1.65; }
.code-window { margin:0; overflow:hidden; border:1px solid rgba(69,209,220,.24); background:#07090c; box-shadow:0 28px 90px rgba(0,0,0,.48); }
.code-window__bar { display:grid; grid-template-columns:70px 1fr auto; gap:14px; align-items:center; min-height:38px; padding:9px 13px; border-bottom:1px solid var(--line); color:#747c87; font:8px var(--f-mono); letter-spacing:.08em; }
.code-window__bar > span { display:flex; gap:5px; }
.code-window__bar i { width:6px; height:6px; border-radius:50%; background:#343b44; }
.code-window__bar i:first-child { background:#c95f68; }.code-window__bar i:nth-child(2){background:#c99a50}.code-window__bar i:nth-child(3){background:#55a982}
.code-window__bar strong { color:#aeb6c1; font-weight:400; }.code-window__bar small { color:var(--code); font:inherit; }
.code-window img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.code-window figcaption,.code-workflow figcaption { padding:10px 13px; border-top:1px solid var(--line); color:#69717b; font:8px var(--f-mono); letter-spacing:.07em; }
.code-hero__facts { position:relative; z-index:1; width:var(--rail); max-width:var(--maxw); margin:0 auto 52px; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line-2); background:rgba(8,10,13,.78); }
.code-hero__facts > div { padding:18px 21px; border-right:1px solid var(--line); }
.code-hero__facts > div:last-child { border-right:0; }
.code-hero__facts span { display:block; margin-bottom:7px; color:#65707b; font:8px var(--f-mono); letter-spacing:.1em; text-transform:uppercase; }
.code-hero__facts strong { color:#dce1e6; font:600 16px var(--f-display); }
.code-origin,.code-workspace,.code-review,.code-recovery,.code-memory,.code-boundary,.code-current { width:var(--rail); max-width:var(--maxw); margin:0 auto; }
.code-origin { padding-top:80px; display:grid; grid-template-columns:.8fr 1.2fr; gap:84px; align-items:start; }
.code-origin h2,.code-workspace h2,.code-review h2,.code-recovery h2,.code-memory h2,.code-boundary h2 { margin:12px 0 0; font-size:clamp(38px,4.5vw,62px); line-height:.97; text-transform:uppercase; }
.code-origin__body { color:var(--text-2); font-size:16px; line-height:1.72; }
.code-origin__body p:last-child { margin:0; }
.code-origin__body a,.code-boundary a { color:var(--code); border-bottom:1px solid rgba(69,209,220,.32); }
.code-workspace,.code-review,.code-recovery,.code-memory { padding-top:80px; }
.code-workspace > header { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; margin-bottom:35px; }
.code-workspace > header p { margin:0; color:var(--text-3); font-size:14.5px; line-height:1.65; }
.code-workspace__records { display:grid; grid-template-columns:repeat(4,1fr); }
.code-workspace__records article { min-height:232px; padding:27px 24px; border:1px solid var(--line-2); border-right:0; background:linear-gradient(145deg,rgba(14,18,23,.84),rgba(8,10,13,.7)); }
.code-workspace__records article:last-child { border-right:1px solid var(--line-2); }
.code-workspace__records article > span { color:var(--code); font:9px var(--f-mono); letter-spacing:.1em; }
.code-workspace__records h3 { margin:35px 0 10px; font-size:21px; text-transform:uppercase; }
.code-workspace__records p { margin:0; color:var(--text-3); font-size:13px; line-height:1.58; }
.code-review { display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:70px; align-items:start; }
.code-review__copy p { color:var(--text-3); font-size:14.5px; line-height:1.7; }
.code-review__copy p:first-of-type { margin-top:20px; }
.code-review__roles { border:1px solid var(--line-2); }
.code-review__roles > div { display:grid; grid-template-columns:28px 108px 1fr; gap:10px; align-items:center; min-height:62px; padding:10px 13px; border-bottom:1px solid var(--line); }
.code-review__roles > div:last-child { border-bottom:0; }
.code-review__roles span { color:var(--code); font:8px var(--f-mono); }
.code-review__roles strong { font:600 13px var(--f-display); text-transform:uppercase; }
.code-review__roles small { color:#707783; font:9px/1.35 var(--f-mono); }
.code-workflow { grid-column:1 / -1; margin:8px 0 0; overflow:hidden; border:1px solid rgba(69,209,220,.18); background:#07090c; box-shadow:0 26px 80px rgba(0,0,0,.28); }
.code-workflow img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.code-recovery > header { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; margin-bottom:34px; }
.code-recovery > header p { margin:0; color:var(--text-3); font-size:14.5px; line-height:1.65; }
.code-recovery__states { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.code-recovery__states article { min-height:225px; padding:25px; border:1px solid var(--line-2); }
.code-recovery__states article > span { color:var(--code-warn); font:8px var(--f-mono); letter-spacing:.1em; }
.code-recovery__states h3 { margin:35px 0 10px; font-size:20px; text-transform:uppercase; }
.code-recovery__states p { margin:0; color:var(--text-3); font-size:13px; line-height:1.58; }
.code-recovery__state--denied { border-color:rgba(213,89,104,.25)!important; }.code-recovery__state--denied > span{color:#df7381!important}
.code-recovery__state--paused { border-color:rgba(255,176,32,.23)!important; }
.code-recovery__state--recovered { border-color:rgba(83,212,165,.25)!important; }.code-recovery__state--recovered > span{color:var(--code-green)!important}
.code-memory > header { margin-bottom:34px; }
.code-memory__split { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.code-memory__split article { padding:34px; border:1px solid rgba(69,209,220,.16); background:linear-gradient(135deg,rgba(69,209,220,.035),transparent); }
.code-memory__split small { color:var(--code); font:8px var(--f-mono); letter-spacing:.12em; }
.code-memory__split h3 { margin:27px 0 12px; font-size:27px; text-transform:uppercase; }
.code-memory__split p { min-height:68px; margin:0 0 23px; color:var(--text-3); font-size:14px; line-height:1.62; }
.code-memory__split strong { color:#818995; font:8px var(--f-mono); letter-spacing:.11em; }
.code-boundary { margin-top:18px; padding:35px; display:grid; grid-template-columns:360px 1fr; gap:60px; border:1px solid rgba(164,141,255,.18); background:rgba(164,141,255,.025); }
.code-boundary > div > span,.code-current > span { color:#a48dff; font:8px var(--f-mono); letter-spacing:.12em; }
.code-boundary h2 { font-size:31px; }
.code-boundary p,.code-current p { margin:0 0 1em; color:var(--text-2); font-size:14px; line-height:1.65; }
.code-boundary p:last-child,.code-current p:last-child { margin:0; }
.code-current { margin-top:18px; padding:30px 34px; display:grid; grid-template-columns:190px 1fr; gap:45px; border-left:2px solid var(--code); background:rgba(69,209,220,.03); }
.code-current > span { color:var(--code); }

/* ============================================================
   BUILDS
   ============================================================ */
.builds-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.build-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:6px; background:linear-gradient(160deg,#10131a,#0c0e13); }
.build-card__visual { position:relative; display:block; height:310px; overflow:hidden; background:#0b0d12; }
.build-card__visual img { width:100%; height:100%; object-fit:cover; transition:transform .45s; }
.build-card__visual img.is-contain { object-fit:contain; padding:8%; }
.build-card:hover .build-card__visual img { transform:scale(1.035); }
.build-card__category { position:absolute; top:14px; left:14px; padding:5px 9px; color:var(--acc); background:rgba(8,10,14,.82);
  border:1px solid rgba(255,176,32,.35); font-family:var(--f-mono); font-size:10px; letter-spacing:.09em; }
.build-card__body { padding:24px 25px 26px; }
.build-card__meta { display:flex; justify-content:space-between; gap:18px; color:var(--muted); font-family:var(--f-mono); font-size:10px; letter-spacing:.08em; }
.build-card h2 { margin:12px 0 10px; font-size:25px; text-transform:uppercase; }
.build-card h2 a:hover { color:var(--acc); }
.build-card p { min-height:66px; margin:0; color:var(--text-3); font-size:14px; line-height:1.6; }
.build-card__tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }
.build-card__tags span { padding:4px 8px; border:1px solid var(--line-2); color:#757c88; font-family:var(--f-mono); font-size:9.5px; }
.builds-archive-callout { padding-top:38px; }
.callout-panel { display:flex; align-items:center; justify-content:space-between; gap:36px; padding:36px 38px;
  border:1px solid var(--line); border-radius:6px; background:linear-gradient(120deg,rgba(255,176,32,.07),#0d0f14 35%); }
.callout-panel h2 { margin:0 0 8px; font-size:27px; text-transform:uppercase; }
.callout-panel p { margin:0; color:var(--text-3); }

/* ============================================================
   NOW
   ============================================================ */
.now-page { --now-cyan:#45d1dc; --now-violet:#a48dff; --now-ember:#dc7a43; background:#090b0f; }
.now-hero { position:relative; overflow:hidden; border-bottom:1px solid rgba(255,176,32,.16); background:radial-gradient(circle at 77% 34%,rgba(255,176,32,.09),transparent 30%),#090b0f; }
.now-hero__grid { position:absolute; inset:0; opacity:.55; background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(110deg,transparent 6%,#000 55%,transparent 92%); }
.now-hero__glow { position:absolute; top:-280px; right:-180px; width:720px; height:720px; border:1px solid rgba(255,176,32,.08); border-radius:50%; box-shadow:0 0 120px rgba(255,176,32,.025),inset 0 0 120px rgba(255,176,32,.025); }
.now-hero__glow::before,.now-hero__glow::after { content:""; position:absolute; border:1px solid rgba(255,176,32,.055); border-radius:50%; }
.now-hero__glow::before { inset:90px; }.now-hero__glow::after { inset:190px; }
.now-hero__inner { position:relative; z-index:1; width:var(--rail); max-width:1180px; margin:0 auto; padding:82px 0 0; }
.now-hero__meta { display:flex; justify-content:space-between; align-items:center; gap:30px; color:#727985; font:9px var(--f-mono); letter-spacing:.12em; }
.now-hero__meta > span { display:flex; align-items:center; gap:9px; color:#9ac98b; }
.now-hero__meta i { width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 11px rgba(40,200,64,.75); }
.now-hero__lockup { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); gap:88px; align-items:end; padding:70px 0 82px; }
.now-hero h1 { margin:0; font-size:clamp(105px,14vw,186px); line-height:.67; letter-spacing:-.065em; text-transform:uppercase; }
.now-hero h1 span { color:var(--acc); }
.now-hero__copy > p { max-width:680px; margin:0 0 36px; color:#d0d3da; font:500 clamp(20px,2.3vw,30px)/1.32 var(--f-display); }
.now-hero__overview { display:grid; grid-template-columns:145px minmax(0,1fr); gap:28px; padding-top:25px; border-top:1px solid rgba(255,176,32,.18); }
.now-hero__overview span { color:var(--acc); font:8px var(--f-mono); letter-spacing:.12em; }
.now-hero__overview p { margin:0; color:var(--text-3); font-size:14px; line-height:1.68; }
.now-hero__nav { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,176,32,.16); border-right:1px solid var(--line); }
.now-hero__nav a { display:flex; align-items:center; gap:15px; min-height:58px; padding:0 20px; border-left:1px solid var(--line); color:#7b828d; font:8px var(--f-mono); letter-spacing:.11em; transition:color .2s,background .2s; }
.now-hero__nav a span { color:var(--acc); }
.now-hero__nav a:hover { color:#d8dbe1; background:rgba(255,176,32,.035); }
.now-record { width:var(--rail); max-width:1180px; margin:0 auto; }
.now-section { padding:105px 0; scroll-margin-top:75px; }
.now-section + .now-section { border-top:1px solid rgba(255,176,32,.14); }
.now-section__head { display:grid; grid-template-columns:180px minmax(0,760px); gap:55px; align-items:start; margin-bottom:64px; }
.now-section__head > div:first-child { display:flex; flex-direction:column; gap:15px; padding-top:7px; }
.now-section__head > div:first-child span { color:var(--acc); font:8px var(--f-mono); letter-spacing:.12em; }
.now-section__head > div:first-child strong { color:#646b76; font:8px var(--f-mono); font-weight:400; letter-spacing:.12em; }
.now-section__head h2 { margin:0 0 18px; font-size:clamp(46px,5vw,68px); line-height:.92; text-transform:uppercase; }
.now-section__head p { max-width:680px; margin:0; color:var(--text-3); font-size:15px; line-height:1.68; }
.now-thread-list { border-top:1px solid rgba(255,176,32,.17); }
.now-thread { --now-accent:var(--acc); position:relative; display:grid; grid-template-columns:72px minmax(250px,.72fr) minmax(0,1.28fr); gap:34px; min-height:290px; padding:42px 18px 42px 0; border-bottom:1px solid var(--line); }
.now-thread--ember { --now-accent:var(--now-ember); }.now-thread--cyan { --now-accent:var(--now-cyan); }.now-thread--violet { --now-accent:var(--now-violet); }.now-thread--amber { --now-accent:var(--acc); }
.now-thread::after { content:""; position:absolute; inset:0; opacity:0; pointer-events:none; background:linear-gradient(90deg,color-mix(in srgb,var(--now-accent) 4%,transparent),transparent 72%); transition:opacity .25s; }
.now-thread:hover::after { opacity:1; }
.now-thread__rail { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; }
.now-thread__rail span { display:grid; width:39px; height:39px; place-items:center; border:1px solid color-mix(in srgb,var(--now-accent) 38%,transparent); border-radius:50%; color:var(--now-accent); background:#090b0f; font:9px var(--f-mono); }
.now-thread__rail i { width:1px; flex:1; margin-top:15px; background:linear-gradient(var(--now-accent),transparent); opacity:.3; }
.now-thread__identity,.now-thread__detail { position:relative; z-index:1; min-width:0; }
.now-thread__identity > span { display:block; margin:5px 0 24px; color:var(--now-accent); font:8px var(--f-mono); letter-spacing:.12em; }
.now-thread h3 { margin:0 0 23px; font-size:clamp(29px,3.1vw,43px); line-height:.96; text-transform:uppercase; }
.now-thread__identity > strong { display:flex; width:max-content; max-width:100%; align-items:center; gap:8px; color:#7a818c; font:8px var(--f-mono); font-weight:400; letter-spacing:.1em; }
.now-thread__identity > strong i { flex:none; width:5px; height:5px; border-radius:50%; background:var(--now-accent); box-shadow:0 0 8px var(--now-accent); }
.now-thread__detail > p { margin:3px 0 28px; color:var(--text-2); font-size:15px; line-height:1.7; }
.now-thread__next { display:grid; grid-template-columns:90px minmax(0,1fr); gap:22px; padding:19px 0; border-top:1px solid color-mix(in srgb,var(--now-accent) 22%,transparent); border-bottom:1px solid var(--line); }
.now-thread__next span { color:var(--now-accent); font:8px var(--f-mono); letter-spacing:.11em; }
.now-thread__next p { margin:0; color:#878e99; font-size:13px; line-height:1.58; }
.now-thread__links { display:flex; flex-wrap:wrap; gap:24px; margin-top:22px; }
.now-thread__links a { display:inline-flex; align-items:center; gap:7px; color:var(--now-accent); font:8px var(--f-mono); letter-spacing:.09em; text-transform:uppercase; }
.now-thread__links svg { width:13px; height:13px; }
.now-recent-list { border-top:1px solid rgba(255,176,32,.18); }
.now-recent-list > a { display:grid; grid-template-columns:118px 92px minmax(0,1fr) 18px; gap:25px; align-items:start; padding:27px 5px; border-bottom:1px solid var(--line); transition:background .2s; }
.now-recent-list > a:hover { background:linear-gradient(90deg,rgba(255,176,32,.035),transparent); }
.now-recent-list time,.now-recent-list > a > span { padding-top:4px; color:#696f7a; font:8px var(--f-mono); letter-spacing:.09em; }
.now-recent-list > a > span { color:var(--acc); }
.now-recent-list h3 { margin:0 0 7px; font-size:21px; text-transform:uppercase; transition:color .2s; }
.now-recent-list a:hover h3 { color:var(--acc); }
.now-recent-list p { max-width:730px; margin:0; color:var(--text-3); font-size:13.5px; line-height:1.58; }
.now-recent-list > a > svg { width:16px; height:16px; color:#656c77; transition:color .2s,transform .2s; }
.now-recent-list a:hover > svg { color:var(--acc); transform:translate(2px,-2px); }
.now-shelf { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid rgba(255,176,32,.17); border-left:1px solid var(--line); }
.now-shelf a { position:relative; min-height:145px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .2s; }
.now-shelf a:hover { background:rgba(255,176,32,.035); }
.now-shelf span { display:block; margin-bottom:24px; color:#6f7681; font:8px var(--f-mono); letter-spacing:.1em; text-transform:uppercase; }
.now-shelf strong { display:block; max-width:82%; font:600 23px/1.05 var(--f-display); text-transform:uppercase; }
.now-shelf svg { position:absolute; top:28px; right:28px; width:15px; height:15px; color:#666d78; transition:color .2s,transform .2s; }
.now-shelf a:hover svg { color:var(--acc); transform:translate(2px,-2px); }
.now-archive-link { display:grid; grid-template-columns:180px minmax(0,1fr) 20px; gap:25px; align-items:center; margin-top:18px; padding:24px 20px; border-top:1px solid rgba(255,176,32,.18); border-bottom:1px solid var(--line); }
.now-archive-link span { color:var(--acc); font:8px var(--f-mono); letter-spacing:.11em; }
.now-archive-link strong { font:600 16px var(--f-display); text-transform:uppercase; }
.now-archive-link svg { width:17px; height:17px; color:var(--acc); transition:transform .2s; }
.now-archive-link:hover svg { transform:translateX(4px); }

/* ============================================================
   ARCHIVE + NOTEBOOK
   ============================================================ */
.archive-timeline { position:relative; max-width:980px; margin:0 auto; }
.archive-timeline::before { content:""; position:absolute; left:115px; top:0; bottom:0; width:1px; background:var(--line-2); }
.archive-era { --era-accent:var(--acc); display:grid; grid-template-columns:115px 1fr; position:relative; padding-bottom:52px; }
.archive-era--cyan { --era-accent:#35c8d4; } .archive-era--purple { --era-accent:var(--purple); }
.archive-era--pink { --era-accent:var(--acc2); } .archive-era--green { --era-accent:var(--green); }
.archive-era--ember { --era-accent:#d97841; }
.archive-era::after { content:""; position:absolute; left:110px; top:8px; width:11px; height:11px; border-radius:50%;
  background:var(--era-accent); box-shadow:0 0 13px var(--era-accent); }
.archive-era__year { color:var(--era-accent); font-family:var(--f-display); font-size:25px; font-weight:600; }
.archive-era__content { margin-left:42px; padding:0 0 8px 28px; }
.archive-era h2 { margin:0 0 11px; font-size:28px; text-transform:uppercase; }
.archive-era p { max-width:700px; color:var(--text-3); line-height:1.65; }
.archive-era__content > div { display:flex; flex-wrap:wrap; gap:9px; }
.archive-era a { padding:5px 9px; color:var(--era-accent); border:1px solid color-mix(in srgb,var(--era-accent) 25%,transparent);
  font-family:var(--f-mono); font-size:10.5px; }
.archive-index-head { margin-top:70px; }
.archive-year { display:grid; grid-template-columns:120px 1fr; border-top:1px solid var(--line); padding:28px 0; }
.archive-year > h3 { margin:0; color:var(--acc); font-size:25px; }
.archive-year > div { display:flex; flex-direction:column; }
.archive-year a { display:grid; grid-template-columns:80px 1fr 70px; gap:18px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.035); }
.archive-year a:hover span { color:var(--acc); }
.archive-year time,.archive-year em { color:var(--muted); font-family:var(--f-mono); font-size:10px; font-style:normal; text-transform:uppercase; }
.archive-year span { color:var(--text-2); transition:color .2s; }
.notebook { padding-top:56px; }
.notebook [hidden] { display:none !important; }
.notebook-controls { margin-bottom:64px; padding:24px; border:1px solid var(--line-2); border-radius:5px;
  background:linear-gradient(145deg,rgba(16,19,26,.96),rgba(12,14,19,.96)); display:grid;
  grid-template-columns:minmax(260px,1.1fr) minmax(300px,1.45fr); gap:22px 34px; }
.notebook-search label,.notebook-filter-group > span { display:block; margin-bottom:9px; color:var(--muted);
  font-family:var(--f-mono); font-size:9.5px; letter-spacing:.11em; text-transform:uppercase; }
.notebook-search__field { height:43px; display:flex; align-items:center; gap:10px; padding:0 13px;
  border:1px solid var(--line-2); border-radius:3px; background:#0a0c11; transition:border-color .2s; }
.notebook-search__field:focus-within { border-color:rgba(255,176,32,.65); }
.notebook-search__field .ic { width:16px; height:16px; color:var(--muted); flex:0 0 auto; }
.notebook-search__field input { width:100%; border:0; outline:0; background:transparent; color:var(--text);
  font:13px var(--f-body); }
.notebook-search__field input::placeholder { color:#555b66; }
.notebook-filter-group > div { display:flex; flex-wrap:wrap; gap:7px; }
.notebook-filter-group button,.notebook-controls__status button { border:1px solid var(--line-2); border-radius:2px;
  background:rgba(255,255,255,.015); color:var(--text-3); padding:7px 10px; cursor:pointer;
  font:10.5px var(--f-mono); letter-spacing:.03em; transition:border-color .2s,color .2s,background .2s; }
.notebook-filter-group button:hover,.notebook-filter-group button:focus-visible { border-color:rgba(255,176,32,.55); color:var(--text); }
.notebook-filter-group button.is-active { border-color:var(--acc); background:rgba(255,176,32,.1); color:var(--acc); }
.notebook-controls__status { grid-column:1 / -1; padding-top:17px; border-top:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--muted); font:10.5px var(--f-mono); }
.notebook-controls__status button { border:0; padding:0; color:var(--acc); background:none; }
.notebook-stream { max-width:1060px; margin:0 auto; }
.notebook-month { margin-bottom:62px; }
.notebook-month__header { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:20px;
  padding-bottom:13px; border-bottom:1px solid var(--line-2); }
.notebook-month__header h2 { margin:0; font-size:25px; text-transform:uppercase; letter-spacing:.01em; }
.notebook-month__header span { color:var(--muted); font:9.5px var(--f-mono); letter-spacing:.09em; text-transform:uppercase; }
.notebook-month__entries { position:relative; }
.notebook-month__entries::before { content:""; position:absolute; top:0; bottom:0; left:91px; width:1px; background:var(--line-2); }
.notebook-entry { --note-accent:var(--acc); display:grid; grid-template-columns:70px 43px minmax(0,1fr) 38px;
  min-height:164px; position:relative; padding:27px 0; border-bottom:1px solid rgba(255,255,255,.045); }
.notebook-entry--purple { --note-accent:var(--purple); }
.notebook-entry--pink { --note-accent:var(--acc2); }
.notebook-entry--cyan { --note-accent:#35c8d4; }
.notebook-entry--green { --note-accent:var(--green); }
.notebook-entry--ember { --note-accent:#d97841; }
.notebook-entry__date { padding-top:3px; color:var(--muted); font-family:var(--f-mono); text-align:left; }
.notebook-entry__date strong { display:block; color:var(--text-2); font-size:16px; font-weight:400; line-height:1; }
.notebook-entry__date span { display:block; margin-top:5px; font-size:9px; letter-spacing:.1em; }
.notebook-entry__marker { position:relative; }
.notebook-entry__marker span { position:absolute; top:5px; left:16px; width:9px; height:9px; border:2px solid var(--bg);
  border-radius:50%; background:var(--note-accent); box-shadow:0 0 10px color-mix(in srgb,var(--note-accent) 60%,transparent); }
.notebook-entry__meta { display:flex; flex-wrap:wrap; gap:7px 16px; margin-bottom:9px; color:var(--muted);
  font:9.5px var(--f-mono); letter-spacing:.08em; text-transform:uppercase; }
.notebook-entry__meta span:first-child { color:var(--note-accent); }
.notebook-entry__meta span + span::before { content:"/"; margin-right:16px; color:#40454f; }
.notebook-entry h3 { margin:0 0 8px; font-size:22px; line-height:1.18; text-transform:uppercase; }
.notebook-entry h3 a { transition:color .2s; }
.notebook-entry h3 a:hover,.notebook-entry:focus-within h3 a { color:var(--note-accent); }
.notebook-entry__body > p { max-width:760px; margin:0; color:var(--text-3); font-size:13.5px; line-height:1.6; }
.notebook-entry__tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:15px; }
.notebook-entry__tags a { padding:3px 7px; border:1px solid var(--line); color:#747b87;
  font:9px var(--f-mono); transition:border-color .2s,color .2s; }
.notebook-entry__tags a:hover { border-color:color-mix(in srgb,var(--note-accent) 45%,transparent); color:var(--note-accent); }
.notebook-entry__open { align-self:center; display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px;
  border:1px solid var(--line); border-radius:50%; color:var(--muted); transition:border-color .2s,color .2s,transform .2s; }
.notebook-entry__open .ic { width:15px; height:15px; }
.notebook-entry__open:hover { border-color:var(--note-accent); color:var(--note-accent); transform:translate(2px,-2px); }
.notebook-empty { max-width:600px; margin:20px auto 70px; padding:55px 30px; border:1px dashed var(--line-2); text-align:center; }
.notebook-empty > .ic { width:30px; height:30px; color:var(--muted); }
.notebook-empty h2 { margin:15px 0 8px; text-transform:uppercase; }
.notebook-empty p { color:var(--muted); }
.notebook-empty .btn { margin-top:12px; }

/* Notebook entry */
.notebook-note-hero { --note-accent:var(--acc); position:relative; overflow:hidden; border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#0c0f15,#0a0b0f); }
.notebook-note-hero--purple { --note-accent:var(--purple); }
.notebook-note-hero--pink { --note-accent:var(--acc2); }
.notebook-note-hero--cyan { --note-accent:#35c8d4; }
.notebook-note-hero--green { --note-accent:var(--green); }
.notebook-note-hero--ember { --note-accent:#d97841; }
.notebook-note-hero__grid { position:absolute; inset:0; opacity:.6;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:46px 46px; -webkit-mask-image:linear-gradient(90deg,#000,transparent 75%); mask-image:linear-gradient(90deg,#000,transparent 75%); }
.notebook-note-hero__inner { position:relative; width:var(--rail); max-width:1040px; margin:0 auto; padding:38px 0 64px; }
.notebook-note-hero__inner::before { content:""; position:absolute; left:-32px; top:104px; bottom:65px; width:2px; background:var(--note-accent); }
.notebook-note-hero__back { display:inline-block; margin-bottom:58px; color:var(--muted); font:10.5px var(--f-mono); }
.notebook-note-hero__back:hover { color:var(--note-accent); }
.notebook-note-hero__meta { display:flex; flex-wrap:wrap; gap:9px 20px; margin-bottom:18px; color:var(--muted);
  font:10px var(--f-mono); letter-spacing:.08em; text-transform:uppercase; }
.notebook-note-hero__meta a { color:var(--note-accent); }
.notebook-note-hero__meta span::before,.notebook-note-hero__meta time::before { content:"/"; margin-right:20px; color:#424751; }
.notebook-note-hero h1 { max-width:900px; margin:0; font-size:clamp(40px,6vw,72px); line-height:.98; text-transform:uppercase; }
.notebook-note-hero p { max-width:760px; margin:22px 0 0; color:#b2b7c1; font-size:18px; line-height:1.6; }
.notebook-note-hero__amended { display:inline-block; margin-top:21px; padding:5px 8px; border:1px solid color-mix(in srgb,var(--note-accent) 35%,transparent);
  color:var(--note-accent); font:9.5px var(--f-mono); text-transform:uppercase; }
.notebook-note-layout { width:var(--rail); max-width:1040px; margin:0 auto; display:grid; grid-template-columns:minmax(0,740px) 240px;
  gap:60px; align-items:start; --note-accent:var(--acc); }
.notebook-note-layout--purple { --note-accent:var(--purple); }
.notebook-note-layout--pink { --note-accent:var(--acc2); }
.notebook-note-layout--cyan { --note-accent:#35c8d4; }
.notebook-note-layout--green { --note-accent:var(--green); }
.notebook-note-layout--ember { --note-accent:#d97841; }
.note-prose { min-width:0; max-width:740px; width:100%; margin:0; padding:58px 0 46px; font-size:17px; line-height:1.78; }
.note-prose > p:first-child { font-size:18px; color:#c1c5cd; }
.note-prose table { width:100%; max-width:none; margin:30px 0 34px;
  border:1px solid var(--line-2); border-radius:4px; border-collapse:separate; border-spacing:0;
  background:linear-gradient(145deg,rgba(16,19,26,.94),rgba(11,13,18,.94));
  font-size:14px; line-height:1.45; }
.note-table-wrap { box-sizing:border-box; width:100%; max-width:100%; margin:30px 0 34px; overflow-x:auto;
  border:1px solid var(--line-2); border-radius:4px;
  background:linear-gradient(145deg,rgba(16,19,26,.94),rgba(11,13,18,.94));
  scrollbar-color:var(--note-accent) #11141a; }
.note-table-wrap table { min-width:680px; margin:0; border:0; border-radius:0; background:transparent; }
.note-prose th,.note-prose td { min-width:112px; padding:13px 15px; border-bottom:1px solid var(--line);
  vertical-align:middle; }
.note-prose th { background:rgba(255,255,255,.025); color:var(--text-2); font:600 10px var(--f-mono);
  letter-spacing:.055em; line-height:1.35; text-transform:uppercase; }
.note-prose th:first-child,.note-prose td:first-child { width:40%; min-width:245px; text-align:left; }
.note-prose td { color:var(--text-3); }
.note-prose td:not(:first-child) { color:#c4cad4; font-family:var(--f-mono); font-size:12.5px;
  font-variant-numeric:tabular-nums; white-space:nowrap; }
.note-prose tbody tr:last-child td { border-bottom:0; }
.note-prose tbody tr { transition:background .18s; }
.note-prose tbody tr:hover { background:color-mix(in srgb,var(--note-accent) 5%,transparent); }
.notebook-note-tags { margin-top:48px; padding-top:24px; border-top:1px solid var(--line); }
.notebook-note-tags > span,.notebook-note-context__block > span { display:block; margin-bottom:12px; color:var(--muted);
  font:9.5px var(--f-mono); letter-spacing:.1em; text-transform:uppercase; }
.notebook-note-tags > div { display:flex; flex-wrap:wrap; gap:8px; }
.notebook-note-tags a { padding:4px 9px; border:1px solid var(--line-2); color:var(--text-3); font:10px var(--f-mono); }
.notebook-note-tags a:hover { border-color:var(--note-accent); color:var(--note-accent); }
.notebook-note-context { position:sticky; top:98px; margin-top:58px; border-left:1px solid var(--line-2); }
.notebook-note-context__block { padding:0 0 24px 24px; }
.notebook-note-context__block + .notebook-note-context__block { padding-top:24px; border-top:1px solid var(--line); }
.notebook-note-context__project > a { color:var(--note-accent); font:15px var(--f-display); font-weight:600; }
.notebook-related { display:flex; flex-direction:column; gap:12px; }
.notebook-related a { color:var(--text-2); font-size:12.5px; line-height:1.45; }
.notebook-related a:hover { color:var(--note-accent); }
.notebook-note-nav { width:var(--rail); max-width:1040px; margin:15px auto 70px; padding-top:25px; border-top:1px solid var(--line-2);
  display:grid; grid-template-columns:1fr 1fr; gap:30px; --note-accent:var(--acc); }
.notebook-note-nav--purple { --note-accent:var(--purple); }
.notebook-note-nav--pink { --note-accent:var(--acc2); }
.notebook-note-nav--cyan { --note-accent:#35c8d4; }
.notebook-note-nav--green { --note-accent:var(--green); }
.notebook-note-nav--ember { --note-accent:#d97841; }
.notebook-note-nav a { display:flex; flex-direction:column; gap:7px; }
.notebook-note-nav a > span { color:var(--muted); font:9.5px var(--f-mono); letter-spacing:.1em; text-transform:uppercase; }
.notebook-note-nav a strong { color:var(--text-2); font:600 15px var(--f-display); text-transform:uppercase; transition:color .2s; }
.notebook-note-nav a:hover strong { color:var(--note-accent); }
.notebook-note-nav__older { text-align:right; }

/* Compact Notebook feed on project dossiers */
.project-notebook-list { border-top:1px solid var(--line-2); }
.project-notebook-item { --note-accent:var(--acc); display:grid; grid-template-columns:115px 1fr auto; gap:24px; align-items:start;
  padding:23px 4px; border-bottom:1px solid var(--line); }
.project-notebook-item--purple { --note-accent:var(--purple); }
.project-notebook-item--pink { --note-accent:var(--acc2); }
.project-notebook-item--cyan { --note-accent:#35c8d4; }
.project-notebook-item--ember { --note-accent:#d97841; }
.project-notebook-item__meta { color:var(--note-accent); font:9.5px var(--f-mono); letter-spacing:.07em; text-transform:uppercase; }
.project-notebook-item h3 { margin:0 0 6px; font-size:18px; text-transform:uppercase; transition:color .2s; }
.project-notebook-item p { margin:0; color:var(--text-3); font-size:13px; line-height:1.5; }
.project-notebook-item > span:last-child { color:var(--note-accent); }
.project-notebook-item:hover h3 { color:var(--note-accent); }

/* ============================================================
   EVENT IT RECORD
   ============================================================ */
.event-page-hero { position:relative; min-height:640px; overflow:hidden; display:flex; align-items:flex-end; border-bottom:1px solid var(--line); }
.event-page-hero__image,.event-page-hero__shade { position:absolute; inset:0; }
.event-page-hero__image img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.7) brightness(.62); }
.event-page-hero__shade { background:linear-gradient(90deg,rgba(8,10,14,.97) 0%,rgba(8,10,14,.76) 48%,rgba(8,10,14,.2)),linear-gradient(0deg,#0a0b0f,transparent 62%); }
.event-page-hero__inner { position:relative; z-index:1; width:var(--rail); max-width:var(--maxw); margin:0 auto; padding:105px 0 104px; }
.event-page-hero__badge { display:inline-flex; align-items:center; gap:9px; padding:6px 10px; border:1px solid rgba(255,176,32,.4);
  color:var(--acc); background:rgba(10,11,15,.65); font-family:var(--f-mono); font-size:10px; letter-spacing:.1em; }
.event-page-hero__badge .dot { width:6px; height:6px; }
.event-page-hero h1 { max-width:700px; margin:20px 0 18px; font-size:clamp(54px,8vw,104px); line-height:.9; text-transform:uppercase; }
.event-page-hero p { max-width:650px; margin:0; color:#c4c9d2; font-size:18px; line-height:1.6; }
.event-page-hero__credit { right:max(20px,calc((100vw - var(--maxw))/2)); bottom:20px; left:auto; z-index:2; }

.event-log-intro { width:var(--rail); max-width:var(--maxw); margin:0 auto; padding:82px 0 66px;
  display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:76px; align-items:start; }
.event-log-intro__copy h2,.event-log__head h2 { margin:8px 0 22px; font-size:clamp(36px,5vw,62px); line-height:.98; text-transform:uppercase; }
.event-log-intro__copy > p { max-width:700px; margin:0; color:var(--text-2); font-size:17px; line-height:1.75; }
.event-log-intro__note { display:grid; grid-template-columns:24px 1fr; gap:14px; margin-top:30px; padding:18px 20px;
  border-left:2px solid var(--acc); background:linear-gradient(90deg,rgba(255,176,32,.075),transparent); }
.event-log-intro__note .ic { width:20px; height:20px; color:var(--acc); }
.event-log-intro__note p { margin:0; color:var(--text-3); font:11.5px/1.7 var(--f-mono); }
.event-log-stats { display:grid; grid-template-columns:1fr 1fr; margin:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.event-log-stats div { min-height:135px; padding:24px 22px; border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  background:linear-gradient(145deg,rgba(255,255,255,.025),transparent); }
.event-log-stats dt { color:var(--muted-2); font:9.5px var(--f-mono); letter-spacing:.1em; text-transform:uppercase; }
.event-log-stats dd { margin:22px 0 0; color:var(--acc); font:600 clamp(20px,2.3vw,31px) var(--f-display); text-transform:uppercase; }

.event-year-nav { width:var(--rail); max-width:var(--maxw); margin:0 auto 72px; padding:17px 20px; border-top:1px solid rgba(255,176,32,.28);
  border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:20px;
  background:linear-gradient(90deg,rgba(255,176,32,.045),transparent 70%); }
.event-year-nav > span { color:var(--acc); font:9px var(--f-mono); letter-spacing:.12em; }
.event-year-nav > div { display:flex; flex-wrap:wrap; gap:6px; }
.event-year-nav a { min-width:62px; padding:7px 12px; border-left:1px solid var(--line); color:var(--text-3);
  font:10px var(--f-mono); letter-spacing:.08em; text-align:center; transition:color .2s,background .2s; }
.event-year-nav a:hover { color:var(--acc); background:rgba(255,176,32,.055); }

.event-log { position:relative; padding:78px 0 92px; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#0b0d12,#090a0e); overflow:hidden; }
.event-log::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.28;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:42px 42px; mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent); }
.event-log__head { position:relative; width:var(--rail); max-width:var(--maxw); margin:0 auto 70px;
  display:flex; justify-content:space-between; gap:50px; align-items:end; }
.event-log__head h2 { margin-bottom:0; }
.event-log__head > p { max-width:330px; margin:0 0 5px; color:var(--text-3); font:11px/1.65 var(--f-mono); text-align:right; }
.event-timeline { position:relative; width:var(--rail); max-width:var(--maxw); margin:0 auto; padding:0; list-style:none; }
.event-timeline::before { content:""; position:absolute; top:8px; bottom:8px; left:128px; width:1px;
  background:linear-gradient(var(--acc),rgba(255,176,32,.12) 80%,transparent); }
.event-timeline__item { position:relative; display:grid; grid-template-columns:164px minmax(0,1fr); padding-bottom:46px; scroll-margin-top:92px; }
.event-timeline__item:last-child { padding-bottom:0; }
.event-timeline__marker { position:relative; padding:23px 48px 0 0; text-align:right; }
.event-timeline__marker span { color:#69717f; font:600 19px var(--f-display); letter-spacing:.08em; }
.event-timeline__marker i { position:absolute; top:29px; right:29px; width:11px; height:11px; border:2px solid var(--acc); border-radius:50%;
  background:#0a0b0f; box-shadow:0 0 0 6px rgba(255,176,32,.075),0 0 14px rgba(255,176,32,.2); }
.event-timeline__item.is-origin .event-timeline__marker i { border-color:var(--acc2); box-shadow:0 0 0 7px rgba(255,64,129,.09),0 0 18px rgba(255,64,129,.25); }
.event-record { --event-accent:var(--acc); position:relative; min-width:0; border:1px solid var(--line); border-radius:7px; overflow:hidden;
  background:linear-gradient(145deg,rgba(16,19,26,.98),rgba(10,12,17,.98)); box-shadow:0 24px 80px -60px rgba(0,0,0,.9); }
.event-record.has-photo { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr); }
.event-timeline__item.is-origin .event-record { --event-accent:var(--acc2); border-color:rgba(255,64,129,.28); }
.event-record__body { min-width:0; padding:30px 32px 32px; }
.event-record__topline { display:flex; justify-content:space-between; gap:20px; margin-bottom:22px; color:var(--event-accent);
  font:9.5px var(--f-mono); letter-spacing:.1em; text-transform:uppercase; }
.event-record__topline span:first-child { color:#59616d; }
.event-record h3 { margin:0 0 15px; font-size:clamp(27px,3vw,41px); line-height:1; text-transform:uppercase; }
.event-record__facts { display:flex; flex-wrap:wrap; gap:10px 18px; margin-bottom:22px; color:#aeb5c2; font:10px var(--f-mono); letter-spacing:.045em; text-transform:uppercase; }
.event-record__facts > span { display:inline-flex; align-items:center; gap:7px; }
.event-record__facts .ic { width:13px; height:13px; color:var(--event-accent); }
.event-record__body > p { margin:0; color:var(--text-3); font-size:14px; line-height:1.7; }
.event-record__origin { display:inline-block; margin-top:23px; padding:6px 9px; border:1px solid rgba(255,64,129,.3);
  color:var(--acc2); font:9px var(--f-mono); letter-spacing:.09em; }
.event-record__photo { min-height:320px; border:0; border-left:1px solid var(--line); border-radius:0; }
.event-record__photo img { transition:transform .5s,filter .4s; }
.event-record__photo:hover img { transform:scale(1.025); filter:saturate(1.08); }
.event-record__photo .frame__attribution { right:14px; }

.event-log-source { width:var(--rail); max-width:var(--maxw); margin:56px auto 84px; padding:24px 26px; display:grid;
  grid-template-columns:26px minmax(0,1fr) auto; gap:18px; align-items:center; border:1px solid var(--line); background:rgba(255,255,255,.018); }
.event-log-source > .ic { width:22px; height:22px; color:var(--acc); }
.event-log-source strong { display:block; margin-bottom:5px; color:var(--text); font:11px var(--f-mono); letter-spacing:.08em; text-transform:uppercase; }
.event-log-source p { margin:0; color:var(--muted); font-size:12.5px; line-height:1.55; }
.event-log-source > a { display:inline-flex; align-items:center; gap:7px; color:var(--acc); font:10px var(--f-mono); text-transform:uppercase;
  border-bottom:1px solid rgba(255,176,32,.3); }
.event-log-source > a .ic { width:13px; height:13px; }
.esports__more { margin-top:28px; }

@media (max-width:980px) {
  .event-log-intro { grid-template-columns:1fr; gap:44px; }
  .event-log-stats { max-width:700px; }
  .event-record.has-photo { grid-template-columns:minmax(270px,.8fr) minmax(0,1.2fr); }
  .event-record__body { padding:27px 26px; }
  .event-record__photo { min-height:300px; }
  .event-log-source { grid-template-columns:26px 1fr; }
  .event-log-source > a { grid-column:2; justify-self:start; }
}

@media (max-width:640px) {
  .event-page-hero__inner { padding:82px 0 118px; }
  .event-page-hero h1 { font-size:58px; }
  .event-page-hero p { font-size:16px; }
  .event-page-hero__credit { right:20px; bottom:18px; left:20px; max-width:none; }
  .event-log-intro { padding:58px 0 48px; }
  .event-log-intro__copy h2,.event-log__head h2 { font-size:38px; }
  .event-log-intro__copy > p { font-size:15px; }
  .event-log-stats div { min-height:112px; padding:19px 17px; }
  .event-log-stats dd { margin-top:17px; font-size:20px; }
  .event-year-nav { margin-bottom:50px; align-items:flex-start; flex-direction:column; }
  .event-year-nav > div { width:100%; display:grid; grid-template-columns:repeat(5,1fr); }
  .event-year-nav a { min-width:0; padding:7px 5px; }
  .event-log { padding:58px 0 68px; }
  .event-log__head { margin-bottom:46px; display:block; }
  .event-log__head > p { margin-top:17px; text-align:left; }
  .event-timeline::before { left:5px; }
  .event-timeline__item { display:block; padding:0 0 34px 27px; }
  .event-timeline__marker { min-height:32px; padding:0 0 10px; text-align:left; }
  .event-timeline__marker span { font-size:15px; }
  .event-timeline__marker i { top:5px; right:auto; left:-27px; width:11px; height:11px; }
  .event-record.has-photo { display:flex; flex-direction:column; }
  .event-record__body { padding:24px 21px 26px; }
  .event-record h3 { font-size:29px; }
  .event-record__topline { align-items:flex-start; flex-direction:column; gap:7px; }
  .event-record__facts { align-items:flex-start; flex-direction:column; }
  .event-record__photo { min-height:0; aspect-ratio:16/10; border-left:0; border-top:1px solid var(--line); }
  .event-record__photo .frame__attribution { right:9px; bottom:9px; left:9px; max-width:none; font-size:8px; }
  .event-log-source { margin:38px auto 60px; padding:21px 20px; }
}

/* social */
.social { display:flex; gap:12px; justify-content:center; margin-top:8px; }
.social a { width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--line-2); border-radius:3px; color:var(--text-3); transition:.2s; }
.social a:hover { border-color:var(--acc); color:var(--acc); }
.social .ic { width:18px; height:18px; }

/* ============================================================
   404
   ============================================================ */
.nf { max-width:760px; margin:0 auto; padding:120px 32px; text-align:center; }
.nf h1 { font-size:clamp(80px,16vw,180px); margin:0; color:var(--acc); line-height:1; }
.nf p { font-family:var(--f-mono); color:var(--text-3); margin:14px 0 32px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 980px) {
  .hero__inner { grid-template-columns:1fr; gap:42px; }
  .esports__inner, .skye__inner { grid-template-columns:1fr; gap:38px; }
  .pillars { grid-template-columns:1fr; }
  .current-work__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .skills { grid-template-columns:repeat(2,1fr); }
  .blog-layout, .stream-layout { grid-template-columns:1fr; }
  .jbl-footer__top { grid-template-columns:1fr 1fr; }
  .gallery-grid, .projects-grid { grid-template-columns:repeat(2,1fr); }
  .sidebar { position:static; order:-1; }
  .project-dossier__inner { grid-template-columns:1fr; gap:22px; }
  .project-dossier__mark { grid-row:1; min-height:160px; justify-content:flex-start; padding:0; }
  .project-dossier__logo { width:min(70%,400px); max-height:150px; }
  .project-facts { grid-template-columns:repeat(2,1fr); }
  .project-fact:nth-child(2) { border-right:0; }
  .project-fact:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .project-milestones__head { grid-template-columns:1fr; gap:22px; }
  .project-milestones__snapshot { width:max-content; }
  .project-milestones__stats { grid-template-columns:repeat(2,1fr); }
  .project-milestones__stats > div:nth-child(2) { border-right:0; }
  .project-milestones__stats > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .project-milestone { grid-template-columns:62px minmax(0,1fr); gap:18px; padding:24px 0; }
  .project-milestone__metric { grid-column:2; justify-self:start; max-width:none; text-align:left; }
  .project-story__head { grid-template-columns:1fr; gap:24px; }
  .project-story__head > p { max-width:760px; }
  .project-story__lead { grid-template-columns:1fr; }
  .project-story__lead > p + p { border-top:1px solid var(--line); border-left:0; }
  .project-chapter { grid-template-columns:155px minmax(0,1fr); gap:28px; }
  .now-hero__lockup { grid-template-columns:minmax(240px,.6fr) minmax(0,1.4fr); gap:45px; }
  .now-section__head { grid-template-columns:130px minmax(0,1fr); gap:34px; }
  .now-thread { grid-template-columns:60px minmax(190px,.62fr) minmax(0,1.38fr); gap:23px; padding-right:0; }
  .now-recent-list > a { grid-template-columns:105px 80px minmax(0,1fr) 18px; gap:18px; }
  .notebook-controls { grid-template-columns:1fr; }
  .notebook-controls__status { grid-column:auto; }
  .notebook-note-layout { grid-template-columns:1fr; gap:0; }
  .notebook-note-context { position:static; margin:0 0 38px; }
  .ip-disclaimer__head { grid-template-columns:46px minmax(0,1fr); }
  .ip-disclaimer__affiliation { grid-column:2; justify-self:start; }
  .ashes-intro { grid-template-columns:1fr; gap:30px; }
  .ashes-thesis { grid-template-columns:55px 1fr; }
  .ashes-thesis__copy { grid-column:2; }
  .ashes-feature,.ashes-feature--image-left { grid-template-columns:1fr; gap:34px; }
  .ashes-systems { grid-template-columns:1fr; gap:38px; }
  .ashes-proof > header { grid-template-columns:1fr; gap:20px; }
  .ashes-proof > header > span { grid-column:auto; }
  .ashes-proof__record { grid-template-columns:260px 1fr; }
  .ashes-current { grid-template-columns:300px 1fr; }
  .hubn-hero__inner { grid-template-columns:1fr; gap:45px; }
  .hubn-hero__control { width:min(100%,620px); }
  .hubn-topology > header,.hubn-services > header,.hubn-route > header { grid-template-columns:1fr; gap:28px; }
  .hubn-services__grid { grid-template-columns:1fr 1fr; }
  .hubn-route__flow { grid-template-columns:1fr 1fr; }
  .hubn-route__flow li:nth-child(3) { border-left:0; }
  .hubn-state { grid-template-columns:1fr; gap:36px; }
  .hubn-trust__grid { grid-template-columns:1fr; }
  .hubn-trust article { border-right:0; border-bottom:1px solid var(--line-2); }
  .hubn-trust article:last-child { border-bottom:0; }
  .skye-manual-intro,.skye-workbench > header,.skye-lineage > header,.skye-execution > header { grid-template-columns:1fr; gap:28px; }
  .skye-manual-hero__facts { grid-template-columns:1fr 1fr; }
  .skye-manual-hero__facts > div:nth-child(2) { border-right:0; }
  .skye-manual-hero__facts > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .skye-workbench__flow { grid-template-columns:repeat(4,1fr); gap:22px 0; }
  .skye-workbench__stage > i { display:none; }
  .skye-fabric-feature > header { grid-template-columns:1fr; gap:28px; }
  .skye-fabric-feature__stats { grid-template-columns:1fr 1fr; }
  .skye-fabric-feature__stats > div:nth-child(2) { border-right:0; }
  .skye-fabric-feature__stats > div:nth-child(-n+2) { border-bottom:1px solid rgba(99,213,220,.13); }
  .skye-fabric-feature__architecture { grid-template-columns:1fr; gap:42px; }
  .skye-fabric-feature__evidence { grid-template-columns:1fr; }
  .skye-fabric-feature__evidence figure:first-child { border-right:0; border-bottom:1px solid rgba(99,213,220,.17); }
  .skye-fabric-feature > footer { grid-template-columns:1fr; gap:25px; }
  .skye-fabric-feature > footer > div { justify-content:flex-start; }
  .skye-record { grid-template-columns:1fr; gap:35px; }
  .code-hero__inner { grid-template-columns:1fr; gap:42px; }
  .code-hero__copy { max-width:680px; }
  .code-origin,.code-workspace > header,.code-recovery > header { grid-template-columns:1fr; gap:30px; }
  .code-workspace__records { grid-template-columns:1fr 1fr; }
  .code-workspace__records article:nth-child(2) { border-right:1px solid var(--line-2); }
  .code-review { grid-template-columns:1fr; gap:38px; }
  .code-recovery__states { grid-template-columns:1fr 1fr; }
  .code-boundary { grid-template-columns:260px 1fr; }
}
@media (max-width: 640px) {
  :root { --rail: min(calc(100% - 40px), var(--maxw)); }
  .wrap, .section, .hero__inner, .esports__inner, .page-hero__inner,
  .blog-layout, .stream-layout, .cta { padding-left:0; padding-right:0; }
  .prose { padding-left:20px; padding-right:20px; }
  .jbl-header__inner { padding:12px 0; }
  .jbl-nav { position:fixed; inset:60px 0 auto 0; flex-direction:column; gap:0;
    background:rgba(10,11,15,.97); border-bottom:1px solid var(--line); padding:10px 20px 18px;
    transform:translateY(-130%); transition:transform .3s; align-items:stretch; }
  .jbl-nav.open { transform:none; }
  .jbl-nav a { padding:12px 0; border-bottom:1px solid var(--line); }
  .jbl-nav a.btn-accent { justify-content:center; margin-top:10px; border-bottom:0; }
  .jbl-nav__toggle { display:inline-flex; }
  .skills { grid-template-columns:1fr 1fr; }
  .current-work__grid { grid-template-columns:1fr; }
  .current-project > p { min-height:0; }
  .skye__inner { padding:32px 24px; }
  .skye__dispatch-head { align-items:start; }
  .skye-story > a { gap:11px; padding:15px 14px; }
  .skye-story p { display:none; }
  .jbl-footer__top { grid-template-columns:1fr; }
  .esports__roles { grid-template-columns:1fr; }
  .consent-banner { right:12px; bottom:12px; left:12px; }
  .consent-banner__inner { grid-template-columns:1fr; gap:18px; padding:20px; }
  .consent-banner__actions { justify-content:stretch; }
  .consent-banner__actions .btn { flex:1; justify-content:center; }
  .external-content__placeholder { padding:18px; gap:10px; }
  .ip-disclaimer__head { grid-template-columns:40px minmax(0,1fr); gap:13px; padding:20px 19px 18px; }
  .ip-disclaimer__icon { width:38px; height:38px; padding:8px; }
  .ip-disclaimer strong { font-size:16px; }
  .ip-disclaimer__affiliation { grid-column:1 / -1; margin-top:2px; }
  .ip-disclaimer__body { grid-template-columns:1fr; }
  .ip-disclaimer__item { grid-template-columns:26px minmax(0,1fr); gap:12px; padding:20px 19px 22px; }
  .ip-disclaimer__item + .ip-disclaimer__item { border-top:1px solid var(--line); border-left:0; }
  .project-dossier__inner { padding:56px 0 48px; }
  .project-dossier__mark { width:calc(100vw - 40px); min-height:120px; }
  .project-dossier__logo { width:85vw; max-width:100%; max-height:115px; }
  .project-facts { grid-template-columns:1fr; }
  .project-fact,.project-fact:nth-child(2) { border-right:0; border-bottom:1px solid var(--line); }
  .project-fact:last-child { border-bottom:0; }
  .project-milestones { margin-top:48px; }
  .project-milestones__head { padding:34px 24px 30px; }
  .project-milestones__head h2 { font-size:34px; }
  .project-milestones__stats { grid-template-columns:1fr 1fr; }
  .project-milestones__stats > div { padding:19px 20px; }
  .project-milestones__stats strong { font-size:21px; }
  .project-milestones__list { padding:0 22px 10px; }
  .project-milestone { grid-template-columns:48px minmax(0,1fr); gap:13px; }
  .project-milestone__rail span { width:34px; height:34px; }
  .project-milestone__rail::before { left:16px; }
  .project-milestone h3 { font-size:18px; }
  .project-story { margin-top:48px; }
  .project-story__head { padding:34px 24px 30px; }
  .project-story__head h2 { font-size:34px; }
  .project-story__lead > p { padding:23px 24px 25px; font-size:15px; }
  .project-story__timeline { padding:5px 22px 12px; }
  .project-chapter { grid-template-columns:1fr; gap:14px; padding:30px 0 32px; }
  .project-chapter__rail { min-height:36px; padding:4px 0 0 48px; }
  .project-chapter__rail::before { left:16px; top:-30px; bottom:-32px; }
  .project-chapter:first-child .project-chapter__rail::before { top:17px; }
  .project-chapter:last-child .project-chapter__rail::before { bottom:calc(100% - 18px); }
  .project-chapter__rail > span { width:34px; height:34px; }
  .project-chapter__rail small { max-width:none; }
  .project-chapter__body { padding-left:48px; }
  .project-chapter__body h3 { font-size:23px; }
  .project-chapter__copy { font-size:15px; }
  .project-chapter__copy ul { grid-template-columns:1fr; }
  .ashes-hero { min-height:650px; }
  .ashes-hero__image { object-position:64% center; }
  .ashes-hero__shade { background:linear-gradient(90deg,rgba(4,5,7,.88),rgba(4,5,7,.38)),linear-gradient(0deg,rgba(4,5,7,.94),transparent 45%,rgba(4,5,7,.5)); }
  .ashes-hero__inner { min-height:650px; padding:38px 0 34px; }
  .ashes-hero__top { align-items:flex-start; flex-direction:column; gap:14px; }
  .ashes-hero__title { padding-top:60px; }
  .ashes-hero h1 { font-size:49px; }
  .ashes-hero__title p { font-size:16px; }
  .ashes-hero__foot { align-items:flex-start; flex-direction:column; }
  .ashes-hero__foot small { display:none; }
  .ashes-intro { padding-top:58px; }
  .ashes-intro h2,.ashes-thesis h2,.ashes-feature h2,.ashes-systems h2,.ashes-proof h2,.ashes-current h2 { font-size:35px; }
  .ashes-intro__copy { font-size:15px; }
  .ashes-intro__scale { grid-template-columns:1fr 1fr; }
  .ashes-intro__scale > div:nth-child(2) { border-right:0; }
  .ashes-intro__scale > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .ashes-thesis { margin-top:52px; padding:27px 23px; grid-template-columns:1fr; gap:20px; }
  .ashes-thesis__index { font-size:23px; }
  .ashes-thesis__copy { grid-column:auto; }
  .ashes-feature { margin-top:58px; }
  .ashes-feature h2 { margin-bottom:19px; }
  .ashes-feature figure img { aspect-ratio:4/3; }
  .ashes-systems { margin-top:58px; padding:28px 22px; }
  .ashes-systems__map { grid-template-columns:1fr; }
  .ashes-systems__core { grid-column:auto; }
  .ashes-proof { padding-top:60px; }
  .ashes-proof__grid { grid-template-columns:1fr; }
  .ashes-proof figure img { aspect-ratio:4/3; }
  .ashes-proof__record,.ashes-current { grid-template-columns:1fr; gap:21px; padding:25px 22px; }
  .hubn-hero__inner { padding:60px 0 54px; }
  .hubn-hero__identity img { margin:26px 0 24px; }
  .hubn-hero__identity > p { font-size:16px; }
  .hubn-control__facts { grid-template-columns:1fr; }
  .hubn-control__facts > div,.hubn-control__facts > div:nth-child(2n),.hubn-control__facts > div:nth-last-child(-n+2) { min-height:0; border-right:0; border-bottom:1px solid var(--line); }
  .hubn-control__facts > div:last-child { border-bottom:0; }
  .hubn-topology,.hubn-services,.hubn-route,.hubn-trust { padding-top:58px; }
  .hubn-topology h2,.hubn-services h2,.hubn-route h2,.hubn-state h2,.hubn-trust h2 { font-size:36px; }
  .hubn-topology__figure img { aspect-ratio:auto; min-height:260px; padding:10px; object-fit:contain; }
  .hubn-services__grid,.hubn-route__flow { grid-template-columns:1fr; }
  .hubn-services article { min-height:210px; }
  .hubn-route__flow li,.hubn-route__flow li:nth-child(3) { min-height:0; border-left:0; }
  .hubn-route__flow li:not(:last-child)::after { top:auto; right:25px; bottom:-5px; transform:rotate(135deg); }
  .hubn-state { margin-top:58px; padding:27px 22px; }
  .hubn-state__matrix-head { display:none!important; }
  .hubn-state__matrix > div { grid-template-columns:1fr 20px 1fr; padding:10px; }
  .hubn-publication { grid-template-columns:1fr; gap:18px; padding:24px; }
  .skye-manual-hero__inner { padding:45px 0 42px; }
  .skye-manual-hero__meta { align-items:flex-start; flex-direction:column; gap:14px; }
  .skye-manual-hero__inner > img { margin:54px 0 27px; }
  .skye-manual-hero__bottom { align-items:flex-start; flex-direction:column; gap:23px; }
  .skye-manual-hero__bottom p { font-size:16px; }
  .skye-manual-hero__facts { grid-template-columns:1fr; }
  .skye-manual-hero__facts > div,.skye-manual-hero__facts > div:nth-child(2) { border-right:0; border-bottom:1px solid var(--line); }
  .skye-manual-hero__facts > div:last-child { border-bottom:0; }
  .skye-manual-intro { padding-top:58px; gap:24px; }
  .skye-manual-intro h2,.skye-workbench h2,.skye-record h2,.skye-lineage h2,.skye-execution h2,.skye-components h2 { font-size:35px; }
  .skye-workbench,.skye-lineage,.skye-execution,.skye-components { padding-top:58px; }
  .skye-workbench__flow { grid-template-columns:1fr 1fr; padding:22px 10px; }
  .skye-fabric-feature { margin-top:58px; }
  .skye-fabric-feature__banner { min-height:100px; }
  .skye-fabric-feature__banner::after { display:none; }
  .skye-fabric-feature__banner img { min-height:120px; object-fit:cover; }
  .skye-fabric-feature > header { padding:34px 22px 28px; }
  .skye-fabric-feature > header h2 { font-size:36px; }
  .skye-fabric-feature__stats { grid-template-columns:1fr; margin:0 22px 36px; }
  .skye-fabric-feature__stats > div,.skye-fabric-feature__stats > div:nth-child(2) { border-right:0; border-bottom:1px solid rgba(99,213,220,.13); }
  .skye-fabric-feature__stats > div:last-child { border-bottom:0; }
  .skye-fabric-feature__topology { margin:0 22px!important; }
  .skye-fabric-feature__topology img,.skye-fabric-feature__evidence img { padding:8px; }
  .skye-fabric-feature__architecture { padding:42px 22px; }
  .skye-fabric-feature__planes article { grid-template-columns:1fr; min-height:0; }
  .skye-fabric-feature__planes article > span { grid-row:auto; }
  .skye-fabric-feature > footer { padding:30px 22px; }
  .skye-fabric-feature > footer > div { align-items:stretch; flex-direction:column; }
  .skye-fabric-feature > footer .btn { justify-content:center; }
  .skye-record { margin-top:58px; padding:26px 22px; }
  .skye-record__sample > div { grid-template-columns:1fr; }
  .skye-record__sample > div > span { grid-row:auto; }
  .skye-lineage__stack article { grid-template-columns:38px 1fr; gap:15px; padding:20px 17px; }
  .skye-lineage__stack small { display:none; }
  .skye-execution__grid,.skye-components__grid { grid-template-columns:1fr; }
  .skye-components__grid article { border-right:0; border-bottom:1px solid var(--line-2); }
  .skye-components__grid article:last-child { border-bottom:0; }
  .skye-migration { grid-template-columns:1fr; gap:20px; padding:25px 22px; }
  .code-hero__inner { padding:58px 0 36px; }
  .code-hero h1 { font-size:52px; }
  .code-window__bar { grid-template-columns:48px 1fr; }
  .code-window__bar small { display:none; }
  .code-hero__facts { grid-template-columns:1fr 1fr; margin-bottom:42px; }
  .code-hero__facts > div:nth-child(2) { border-right:0; }
  .code-hero__facts > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .code-origin { padding-top:58px; }
  .code-origin h2,.code-workspace h2,.code-review h2,.code-recovery h2,.code-memory h2 { font-size:36px; }
  .code-origin__body { font-size:15px; }
  .code-workspace,.code-review,.code-recovery,.code-memory { padding-top:58px; }
  .code-workspace__records,.code-recovery__states,.code-memory__split { grid-template-columns:1fr; }
  .code-workspace__records article,.code-workspace__records article:nth-child(2) { min-height:0; border-right:1px solid var(--line-2); }
  .code-review__roles > div { grid-template-columns:28px 90px 1fr; }
  .code-review__roles small { font-size:8px; }
  .code-recovery__states article { min-height:0; }
  .code-memory__split article { padding:27px 23px; }
  .code-memory__split p { min-height:0; }
  .code-boundary,.code-current { grid-template-columns:1fr; gap:20px; padding:26px 23px; }
  .dispatch-grid,.builds-grid { grid-template-columns:1fr; }
  .build-card__visual { height:auto; aspect-ratio:16/9; }
  .callout-panel { align-items:flex-start; flex-direction:column; padding:28px 24px; }
  .now-hero__inner { padding-top:50px; }
  .now-hero__meta { align-items:flex-start; flex-direction:column; gap:13px; }
  .now-hero__lockup { grid-template-columns:1fr; gap:42px; padding:58px 0 54px; }
  .now-hero h1 { font-size:clamp(90px,31vw,145px); }
  .now-hero__copy > p { font-size:21px; }
  .now-hero__overview { grid-template-columns:1fr; gap:14px; }
  .now-hero__nav { grid-template-columns:1fr; }
  .now-hero__nav a + a { border-top:1px solid var(--line); }
  .now-section { padding:68px 0; }
  .now-section__head { grid-template-columns:1fr; gap:25px; margin-bottom:42px; }
  .now-section__head > div:first-child { flex-direction:row; justify-content:space-between; }
  .now-section__head h2 { font-size:38px; }
  .now-thread { grid-template-columns:44px minmax(0,1fr); gap:19px; min-height:0; padding:32px 0; }
  .now-thread__rail { grid-row:1 / 3; }
  .now-thread__rail span { width:35px; height:35px; }
  .now-thread__identity { grid-column:2; }
  .now-thread__detail { grid-column:2; }
  .now-thread__identity > span { margin-bottom:17px; }
  .now-thread h3 { font-size:31px; }
  .now-thread__next { grid-template-columns:1fr; gap:10px; }
  .now-recent-list > a { grid-template-columns:minmax(0,1fr) 18px; gap:7px 18px; padding:25px 2px; }
  .now-recent-list time,.now-recent-list > a > span,.now-recent-list > a > div { grid-column:1; }
  .now-recent-list > a > svg { grid-column:2; grid-row:1 / 4; }
  .now-recent-list > a > span { margin-bottom:10px; }
  .now-shelf { grid-template-columns:1fr; }
  .now-shelf a { min-height:125px; padding:24px 21px; }
  .now-shelf svg { top:24px; right:21px; }
  .now-archive-link { grid-template-columns:minmax(0,1fr) 20px; gap:9px 18px; }
  .now-archive-link span { grid-column:1 / -1; }
  .archive-timeline::before { left:25px; }
  .archive-era { grid-template-columns:50px 1fr; }
  .archive-era::after { left:20px; }
  .archive-era__year { writing-mode:vertical-rl; font-size:20px; }
  .archive-era__content { margin-left:0; padding-left:18px; }
  .archive-year { grid-template-columns:1fr; gap:16px; }
  .archive-year a { grid-template-columns:62px 1fr; }
  .archive-year em { display:none; }
  .notebook { padding-top:38px; }
  .section-subscribe { justify-content:flex-start; }
  .notebook-controls { grid-template-columns:1fr; padding:19px; margin-bottom:45px; }
  .notebook-controls__status { grid-column:auto; }
  .notebook-month { margin-bottom:48px; }
  .notebook-month__entries::before { left:15px; }
  .notebook-entry { grid-template-columns:31px minmax(0,1fr) 32px; padding:25px 0; }
  .notebook-entry__date { grid-column:2; display:flex; gap:5px; align-items:baseline; margin-bottom:8px; }
  .notebook-entry__date strong { font-size:10px; color:var(--muted); }
  .notebook-entry__date span { margin:0; font-size:9px; }
  .notebook-entry__marker { grid-column:1; grid-row:1 / span 2; }
  .notebook-entry__marker span { left:11px; top:4px; }
  .notebook-entry__body { grid-column:2; }
  .notebook-entry__open { grid-column:3; grid-row:2; }
  .notebook-entry__meta span:nth-child(3) { display:none; }
  .notebook-entry h3 { font-size:19px; }
  .notebook-entry__body > p { font-size:13px; }
  .notebook-note-hero__inner { padding:30px 0 48px; }
  .notebook-note-hero__inner::before { display:none; }
  .notebook-note-hero__back { margin-bottom:42px; }
  .notebook-note-hero__meta { gap:8px 13px; }
  .notebook-note-hero__meta span::before,.notebook-note-hero__meta time::before { margin-right:13px; }
  .notebook-note-hero__meta span:last-child { display:none; }
  .notebook-note-hero p { font-size:16px; }
  .notebook-note-layout { grid-template-columns:1fr; gap:0; }
  .note-prose { padding:43px 0 30px; font-size:16px; }
  .note-prose > p:first-child { font-size:17px; }
  .notebook-note-context { position:static; margin:0 0 38px; }
  .notebook-note-nav { grid-template-columns:1fr; margin-bottom:55px; }
  .notebook-note-nav__older { text-align:left; }
  .project-notebook-item { grid-template-columns:1fr auto; gap:8px 18px; }
  .project-notebook-item__meta { grid-column:1 / -1; }
  .event-page-hero { min-height:520px; }
  .gallery-card__overlay { opacity:1; background:linear-gradient(180deg,transparent 45%,rgba(10,11,15,.9)); }
  .projects-grid { grid-template-columns:1fr; gap:18px; }
  .project-card__body { min-height:0; }
  .project-section-nav { margin-top:20px; padding:16px 14px; }
  .project-section-nav > div { grid-template-columns:1fr 1fr; }
  .project-section-nav a { padding:7px 8px; }
}

@media (max-width: 900px) {
  .jbl-nav { position:fixed; inset:70px 0 auto 0; flex-direction:column; gap:0;
    background:rgba(10,11,15,.98); border-bottom:1px solid var(--line); padding:10px 32px 18px;
    transform:translateY(-130%); transition:transform .3s; align-items:stretch; }
  .jbl-nav.open { transform:none; }
  .jbl-nav a { padding:12px 0; border-bottom:1px solid var(--line); }
  .jbl-nav a.btn-accent { justify-content:center; margin-top:10px; border-bottom:0; }
  .jbl-nav__toggle { display:inline-flex; }
}

/* Project flow pass: each page keeps one visual grammar from hero to close. */
.skye-manual-intro { padding-top:90px; }
.skye-record,.skye-workbench,.skye-lineage,.skye-execution,.skye-components { margin-top:86px; padding-top:86px; border-top:1px solid rgba(165,143,255,.14); }
.skye-record { padding-right:0; padding-bottom:0; padding-left:0; border-right:0; border-bottom:0; border-left:0; background:none; }
.skye-workbench,.skye-lineage,.skye-execution,.skye-components { padding-bottom:0; }
.skye-workbench__flow { border-right:0; border-left:0; background:none; }
.skye-lineage__stack { border-right:0; border-left:0; }
.skye-lineage__stack article { background:none; }
.skye-execution__grid { gap:0; border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); }
.skye-execution__grid article { border-top:0; border-bottom:0; border-left:0; background:none; }
.skye-execution__grid article:last-child { border-right:0; }
.skye-components__grid { border-right:0; border-left:0; }
.skye-fabric-feature { max-width:1180px; margin-top:94px; padding-top:94px; border-right:0; border-bottom:0; border-left:0; background:none; box-shadow:none; overflow:visible; }
.skye-fabric-feature::before { display:none; }
.skye-fabric-feature__banner { min-height:0; margin-bottom:62px; border:1px solid rgba(99,213,220,.16); background:#080a0e; }
.skye-fabric-feature__banner img { max-height:235px; }
.skye-fabric-feature > header { padding:0 0 48px; }
.skye-fabric-feature__stats { margin:0 0 64px; border-right:0; border-left:0; background:none; }
.skye-fabric-feature__topology { margin:0!important; }
.skye-fabric-feature__architecture { padding:68px 0; }
.skye-fabric-feature__planes { border-right:0; border-left:0; background:none; }
.skye-fabric-feature__evidence { gap:16px; border:0; background:none; }
.skye-fabric-feature__evidence figure { border:1px solid rgba(99,213,220,.15); }
.skye-fabric-feature__evidence figure:first-child { border-right:1px solid rgba(99,213,220,.15); }
.skye-fabric-feature > footer { margin-top:54px; padding:34px 0 0; border-top:1px solid rgba(99,213,220,.14); }
.skye-current { width:var(--rail); max-width:1180px; margin:0 auto 96px; }
.skye-migration { margin-top:36px; padding:32px 0 0; border-top:1px solid rgba(165,143,255,.14); border-left:0; background:none; }

.hubn-topology { padding-top:90px; }
.hubn-services,.hubn-route,.hubn-state,.hubn-trust { margin-top:88px; padding-top:88px; border-top:1px solid rgba(255,176,32,.13); }
.hubn-services,.hubn-route,.hubn-trust { padding-bottom:0; }
.hubn-topology__figure { box-shadow:none; }
.hubn-services__grid { border-right:0; border-left:0; }
.hubn-services article { border-bottom:1px solid var(--line-2); background:none; }
.hubn-services article:first-child { border-left:0; }
.hubn-services article:last-child { border-right:0; }
.hubn-state { padding-right:0; padding-bottom:0; padding-left:0; border-right:0; border-bottom:0; border-left:0; background:none; }
.hubn-trust__grid { border-right:0; border-left:0; }
.hubn-publication { margin-top:38px; padding:30px 0 0; border-right:0; border-bottom:0; border-left:0; background:none; }

.code-origin { padding-top:90px; }
.code-workspace,.code-review,.code-recovery,.code-memory,.code-boundary,.code-current { margin-top:86px; padding-top:86px; border-top:1px solid rgba(69,209,220,.13); }
.code-workspace__records { border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); }
.code-workspace__records article { border-top:0; border-bottom:0; border-left:0; background:none; }
.code-workspace__records article:last-child { border-right:0; }
.code-review__roles { border-right:0; border-left:0; }
.code-workflow { margin-top:22px; box-shadow:none; }
.code-recovery__states { gap:0; border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); }
.code-recovery__states article,.code-recovery__state--denied,.code-recovery__state--paused,.code-recovery__state--recovered { border-top:0!important; border-bottom:0!important; border-left:0!important; border-right:1px solid var(--line-2)!important; background:none; }
.code-recovery__states article:last-child { border-right:0!important; }
.code-memory__split { gap:0; border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); }
.code-memory__split article { border-top:0; border-bottom:0; border-left:0; background:none; }
.code-memory__split article:last-child { border-right:0; }
.code-boundary { padding-right:0; padding-bottom:0; padding-left:0; border-right:0; border-bottom:0; border-left:0; background:none; }
.code-current { margin-bottom:96px; padding-right:0; padding-bottom:0; padding-left:0; border-right:0; border-bottom:0; border-left:0; background:none; }

@media (max-width: 980px) {
  .skye-record,.skye-workbench,.skye-lineage,.skye-execution,.skye-components,.skye-fabric-feature { margin-top:72px; padding-top:72px; }
  .skye-fabric-feature__banner { margin-bottom:48px; }
  .hubn-services,.hubn-route,.hubn-state,.hubn-trust,.code-workspace,.code-review,.code-recovery,.code-memory,.code-boundary,.code-current { margin-top:72px; padding-top:72px; }
}

@media (max-width: 640px) {
  .skye-manual-intro { padding-top:58px; }
  .skye-record,.skye-workbench,.skye-lineage,.skye-execution,.skye-components,.skye-fabric-feature { margin-top:58px; padding-top:58px; }
  .skye-record { padding-right:0; padding-left:0; }
  .skye-fabric-feature { overflow:hidden; }
  .skye-fabric-feature__banner { margin-bottom:38px; }
  .skye-fabric-feature > header { padding:0 0 30px; }
  .skye-fabric-feature__stats { margin:0 0 38px; }
  .skye-fabric-feature__topology { margin:0!important; }
  .skye-fabric-feature__architecture { padding:46px 0; }
  .skye-fabric-feature__evidence { gap:12px; }
  .skye-fabric-feature > footer { padding:30px 0 0; }
  .skye-migration { padding:28px 0 0; }
  .hubn-topology { padding-top:58px; }
  .hubn-services,.hubn-route,.hubn-state,.hubn-trust { margin-top:58px; padding-top:58px; }
  .hubn-state { padding-right:0; padding-left:0; }
  .hubn-publication { padding:25px 0 0; }
  .code-origin { padding-top:58px; }
  .code-workspace,.code-review,.code-recovery,.code-memory,.code-boundary,.code-current { margin-top:58px; padding-top:58px; }
  .code-workspace__records article,.code-workspace__records article:nth-child(2),.code-recovery__states article,.code-memory__split article { border-right:0!important; border-bottom:1px solid var(--line-2)!important; }
  .code-workspace__records article:last-child,.code-recovery__states article:last-child,.code-memory__split article:last-child { border-bottom:0!important; }
  .code-boundary,.code-current { padding-right:0; padding-left:0; }
}

/* Pick and place / one continuous workshop drawing. */
.pnp-page { --pnp:#ffb020; --pnp-green:#9ddd62; background:#090b0e; }
.pnp-hero { position:relative; overflow:hidden; border-bottom:1px solid rgba(255,176,32,.18); background:radial-gradient(circle at 72% 42%,rgba(157,221,98,.08),transparent 28%),radial-gradient(circle at 77% 34%,rgba(255,176,32,.08),transparent 42%),#090b0e; }
.pnp-hero__grid { position:absolute; inset:0; opacity:.48; background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,transparent 28%,#000 66%,transparent); }
.pnp-hero__inner { position:relative; z-index:1; width:var(--rail); max-width:1320px; min-height:680px; margin:0 auto; display:grid; grid-template-columns:minmax(360px,.72fr) minmax(540px,1.28fr); gap:70px; align-items:center; }
.pnp-hero__copy > span,.pnp-chapter header span { color:var(--pnp); font:9px var(--f-mono); letter-spacing:.15em; text-transform:uppercase; }
.pnp-hero__copy > strong { display:flex; width:max-content; align-items:center; gap:8px; margin:20px 0 38px; padding:6px 10px; border:1px solid rgba(157,221,98,.27); color:#b8dc99; font:400 8px var(--f-mono); letter-spacing:.1em; }
.pnp-hero__copy > strong i,.pnp-prototype__status span i { width:5px; height:5px; border-radius:50%; background:var(--pnp-green); box-shadow:0 0 9px var(--pnp-green); }
.pnp-hero h1 { max-width:620px; margin:0 0 25px; font-size:clamp(58px,7vw,102px); line-height:.82; letter-spacing:-.04em; text-transform:uppercase; }
.pnp-hero__copy > p { max-width:570px; margin:0 0 28px; color:var(--text-2); font-size:17px; line-height:1.68; }
.pnp-hero__machine { position:relative; min-width:0; min-height:610px; margin:0; display:grid; place-items:center; }
.pnp-hero__machine::before { content:""; position:absolute; width:72%; aspect-ratio:1; border:1px solid rgba(255,176,32,.12); border-radius:50%; box-shadow:0 0 90px rgba(157,221,98,.05),inset 0 0 90px rgba(255,176,32,.035); }
.pnp-hero__machine::after { content:"ASSEMBLY / PNP-HC-01"; position:absolute; top:62px; right:10px; color:rgba(255,176,32,.52); font:8px var(--f-mono); letter-spacing:.13em; }
.pnp-hero__machine > img { position:relative; z-index:2; width:min(100%,720px); max-height:610px; object-fit:contain; filter:drop-shadow(0 34px 30px rgba(0,0,0,.48)) drop-shadow(0 0 22px rgba(157,221,98,.08)); transform:translateY(-6px); }
.pnp-hero__orbit { position:absolute; width:84%; aspect-ratio:1; border:1px solid rgba(255,255,255,.045); border-radius:50%; transform:rotate(-13deg) scaleY(.38); }
.pnp-hero__orbit::before,.pnp-hero__orbit::after { content:""; position:absolute; inset:50% 0 auto; height:1px; background:linear-gradient(90deg,transparent,rgba(255,176,32,.2),transparent); }
.pnp-hero__orbit::after { transform:rotate(90deg); }
.pnp-hero__orbit span { position:absolute; width:7px; height:7px; border:1px solid var(--pnp); border-radius:50%; background:#090b0e; }
.pnp-hero__orbit span:first-child { top:47%; left:-4px; }.pnp-hero__orbit span:last-child { top:47%; right:-4px; }
.pnp-hero__machine figcaption { position:absolute; z-index:3; right:10px; bottom:52px; display:flex; gap:18px; color:#646b73; font:8px var(--f-mono); letter-spacing:.09em; }
.pnp-hero__machine figcaption strong { color:var(--pnp-green); font-weight:400; }
.pnp-facts { position:relative; z-index:2; width:var(--rail); max-width:1320px; margin:0 auto 54px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,176,32,.18); border-bottom:1px solid var(--line-2); }
.pnp-facts > div { padding:20px 18px; border-right:1px solid var(--line); }
.pnp-facts > div:last-child { border-right:0; }
.pnp-facts span { display:block; margin-bottom:8px; color:#676e77; font:8px var(--f-mono); letter-spacing:.1em; text-transform:uppercase; }
.pnp-facts strong { color:#dddcd6; font:600 15px var(--f-display); }
.pnp-record { width:var(--rail); max-width:1180px; margin:0 auto; }
.pnp-chapter { padding:92px 0; }
.pnp-chapter + .pnp-chapter { border-top:1px solid rgba(255,176,32,.13); }
.pnp-chapter > header { display:grid; grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr); gap:78px; align-items:start; }
.pnp-chapter h2 { margin:13px 0 0; font-size:clamp(40px,4.7vw,64px); line-height:.96; text-transform:uppercase; }
.pnp-chapter header > div:last-child,.pnp-chapter header > p { margin:0; color:var(--text-2); font-size:15.5px; line-height:1.72; }
.pnp-chapter header p:first-child { margin-top:0; }
.pnp-chapter header p:last-child { margin-bottom:0; }
.pnp-sequence { display:grid; grid-template-columns:repeat(4,1fr); margin:55px 0 0; padding:0; border-top:1px solid rgba(255,176,32,.2); border-bottom:1px solid var(--line-2); list-style:none; }
.pnp-sequence li { position:relative; min-height:245px; padding:28px 25px; border-right:1px solid var(--line); }
.pnp-sequence li:last-child { border-right:0; }
.pnp-sequence li > span { color:var(--pnp); font:9px var(--f-mono); }
.pnp-sequence h3 { margin:35px 0 11px; font-size:20px; text-transform:uppercase; }
.pnp-sequence p { margin:0; color:var(--text-3); font-size:13px; line-height:1.58; }
.pnp-layers { margin-top:55px; border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); }
.pnp-layers article { display:grid; grid-template-columns:100px 240px 1fr; gap:30px; align-items:center; min-height:112px; padding:24px 20px; border-bottom:1px solid var(--line); }
.pnp-layers article:last-child { border-bottom:0; }
.pnp-layers article > span { color:var(--pnp-green); font:8px var(--f-mono); letter-spacing:.12em; }
.pnp-layers h3 { margin:0; font-size:21px; text-transform:uppercase; }
.pnp-layers p { margin:0; color:var(--text-3); font-size:13.5px; line-height:1.58; }
.pnp-gantry__gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:58px; }
.pnp-gantry__gallery figure { margin:0; overflow:hidden; border:1px solid var(--line-2); background:#0c0f13; }
.pnp-gantry__gallery img { display:block; width:100%; aspect-ratio:1.25/1; padding:18px; object-fit:contain; }
.pnp-gantry__gallery figcaption { padding:12px 14px; border-top:1px solid var(--line); color:#777d84; font:8px var(--f-mono); letter-spacing:.08em; text-transform:uppercase; }
.pnp-log-link { display:grid; grid-template-columns:180px 1fr 20px; gap:24px; align-items:center; margin-top:14px; padding:22px 18px; border-top:1px solid rgba(255,176,32,.18); border-bottom:1px solid var(--line-2); }
.pnp-log-link span { color:var(--pnp); font:8px var(--f-mono); letter-spacing:.1em; text-transform:uppercase; }
.pnp-log-link strong { font:600 15px var(--f-display); text-transform:uppercase; }
.pnp-log-link svg { width:17px; color:var(--pnp); }
.pnp-prototype__status { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:52px; padding:22px 18px; border-top:1px solid rgba(157,221,98,.2); border-bottom:1px solid var(--line-2); }
.pnp-prototype__status span { display:flex; align-items:center; gap:9px; color:var(--pnp-green); font:8px var(--f-mono); letter-spacing:.11em; }
.pnp-prototype__status strong { color:#747b84; font:8px var(--f-mono); font-weight:400; letter-spacing:.1em; }

@media (max-width: 980px) {
  .pnp-hero__inner { grid-template-columns:1fr; gap:20px; padding-top:70px; }
  .pnp-hero__copy { max-width:680px; }
  .pnp-hero__machine { min-height:580px; }
  .pnp-chapter > header { grid-template-columns:1fr; gap:30px; }
  .pnp-sequence { grid-template-columns:1fr 1fr; }
  .pnp-sequence li:nth-child(2) { border-right:0; }
  .pnp-sequence li:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .pnp-layers article { grid-template-columns:80px 200px 1fr; }
}

@media (max-width: 640px) {
  .pnp-hero__inner { min-height:0; padding-top:48px; }
  .pnp-hero__copy > strong { margin:17px 0 28px; }
  .pnp-hero h1 { font-size:54px; }
  .pnp-hero__copy > p { font-size:15px; }
  .pnp-hero__machine { min-height:390px; }
  .pnp-hero__machine > img { max-height:390px; }
  .pnp-hero__machine::after { top:28px; }
  .pnp-hero__machine figcaption { right:0; bottom:18px; left:0; justify-content:space-between; gap:10px; font-size:7px; }
  .pnp-facts { grid-template-columns:1fr; margin-bottom:0; }
  .pnp-facts > div { border-right:0; border-bottom:1px solid var(--line); }
  .pnp-facts > div:last-child { border-bottom:0; }
  .pnp-chapter { padding:58px 0; }
  .pnp-chapter h2 { font-size:36px; }
  .pnp-chapter header > div:last-child,.pnp-chapter header > p { font-size:14.5px; }
  .pnp-sequence { grid-template-columns:1fr; margin-top:38px; }
  .pnp-sequence li,.pnp-sequence li:nth-child(2) { min-height:0; border-right:0; border-bottom:1px solid var(--line); }
  .pnp-sequence li:last-child { border-bottom:0; }
  .pnp-layers { margin-top:38px; }
  .pnp-layers article { grid-template-columns:1fr; gap:10px; padding:24px 0; }
  .pnp-layers h3 { margin:8px 0 3px; }
  .pnp-gantry__gallery { grid-template-columns:1fr; margin-top:38px; }
  .pnp-log-link { grid-template-columns:1fr 20px; gap:8px 18px; }
  .pnp-log-link span { grid-column:1 / -1; }
  .pnp-prototype__status { align-items:flex-start; flex-direction:column; }
}

/* OctoPrint / a community service map with the role boundary built in. */
.octo-page { --octo:#20c95c; --octo-soft:#91d8a7; --octo-line:rgba(32,201,92,.2); background:#080b09; }
.octo-kicker { color:var(--octo); font:9px var(--f-mono); letter-spacing:.15em; text-transform:uppercase; }
.octo-hero { position:relative; overflow:hidden; border-bottom:1px solid var(--octo-line); background:#080b09; }
.octo-hero__wash { position:absolute; inset:0; background:radial-gradient(circle at 77% 43%,rgba(32,201,92,.12),transparent 27%),linear-gradient(90deg,transparent 0 54%,rgba(32,201,92,.025) 54% 54.1%,transparent 54.1%); }
.octo-hero__wash::before { content:""; position:absolute; inset:0; opacity:.45; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(90deg,transparent 20%,#000 70%,transparent); }
.octo-hero__inner { position:relative; z-index:1; width:var(--rail); max-width:1260px; min-height:630px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr); gap:100px; align-items:center; }
.octo-hero__copy h1 { margin:26px 0 25px; font-size:clamp(72px,9vw,134px); line-height:.76; letter-spacing:-.055em; text-transform:uppercase; }
.octo-hero__copy > p { max-width:700px; margin:0; color:var(--text-2); font-size:17px; line-height:1.72; }
.octo-hero__links { display:flex; flex-wrap:wrap; gap:22px; margin-top:34px; }
.octo-hero__links a,.octo-spaces__copy a,.octo-attribution a { display:inline-flex; align-items:center; gap:7px; color:#cbd2cd; font:8px var(--f-mono); letter-spacing:.1em; text-transform:uppercase; }
.octo-hero__links a:hover,.octo-spaces__copy a:hover,.octo-attribution a:hover { color:var(--octo); }
.octo-hero__links svg,.octo-spaces__copy a svg,.octo-attribution a svg { width:14px; }
.octo-hero__identity { position:relative; min-height:430px; display:grid; place-items:center; }
.octo-hero__identity::before,.octo-hero__identity::after { content:""; position:absolute; border:1px solid rgba(32,201,92,.13); border-radius:50%; }
.octo-hero__identity::before { width:380px; height:380px; }
.octo-hero__identity::after { width:290px; height:290px; border-style:dashed; animation:octo-orbit 36s linear infinite; }
@keyframes octo-orbit { to { transform:rotate(360deg); } }
.octo-hero__logo { position:relative; z-index:1; width:250px; height:250px; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle,rgba(32,201,92,.1),transparent 68%); }
.octo-hero__logo img { width:190px; max-height:190px; object-fit:contain; filter:drop-shadow(0 15px 25px rgba(0,0,0,.38)); }
.octo-role { position:absolute; z-index:2; right:0; bottom:14px; width:290px; padding:18px 0 0 20px; border-top:1px solid var(--octo-line); border-left:1px solid var(--octo-line); background:linear-gradient(135deg,rgba(11,17,13,.96),rgba(8,11,9,.75)); }
.octo-role span { display:flex; align-items:center; gap:9px; margin-bottom:12px; color:var(--octo-soft); font:8px var(--f-mono); letter-spacing:.11em; }
.octo-role span i { width:5px; height:5px; border-radius:50%; background:var(--octo); box-shadow:0 0 10px var(--octo); }
.octo-role strong { color:#8b958e; font:400 9px/1.55 var(--f-mono); letter-spacing:.08em; }
.octo-facts { position:relative; z-index:2; width:var(--rail); max-width:1260px; margin:0 auto 52px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--octo-line); border-bottom:1px solid var(--line-2); }
.octo-facts > div { min-width:0; padding:20px; border-right:1px solid var(--line); }
.octo-facts > div:last-child { border-right:0; }
.octo-facts span { display:block; margin-bottom:8px; color:#667069; font:8px var(--f-mono); letter-spacing:.11em; text-transform:uppercase; }
.octo-facts strong { color:#d8ddd9; font:600 15px var(--f-display); }
.octo-record { width:var(--rail); max-width:1180px; margin:0 auto; }
.octo-record > section,.octo-record section > *,.octo-spaces__copy,.octo-boundary__copy,.octo-work__body { min-width:0; }
.octo-record h2,.octo-record h3,.octo-record p { overflow-wrap:break-word; }
.octo-section-id { display:flex; align-items:center; gap:14px; color:#667069; font:8px var(--f-mono); letter-spacing:.11em; }
.octo-section-id span { display:grid; width:31px; height:31px; place-items:center; border:1px solid var(--octo-line); border-radius:50%; color:var(--octo); }
.octo-section-id strong { font-weight:400; }
.octo-boundary { display:grid; grid-template-columns:125px minmax(0,760px); gap:55px; padding:100px 0; align-items:start; }
.octo-boundary__copy h2,.octo-spaces h2,.octo-work h2 { margin:14px 0 25px; font-size:clamp(42px,5vw,68px); line-height:.94; text-transform:uppercase; }
.octo-boundary__copy > div,.octo-work__copy { color:var(--text-2); font-size:15.5px; line-height:1.72; }
.octo-boundary__copy p:first-child,.octo-work__copy p:first-child { margin-top:0; }
.octo-boundary__copy p:last-child,.octo-work__copy p:last-child { margin-bottom:0; }
.octo-spaces { padding:100px 0; border-top:1px solid var(--octo-line); }
.octo-spaces > header,.octo-work > header { display:grid; grid-template-columns:180px minmax(0,680px); gap:30px; align-items:start; }
.octo-spaces > header h2,.octo-work > header h2 { margin-bottom:18px; }
.octo-spaces > header p { max-width:650px; margin:0; color:var(--text-3); font-size:14px; line-height:1.65; }
.octo-spaces__route { position:relative; margin-top:65px; }
.octo-spaces__route::before { content:""; position:absolute; top:0; bottom:0; left:54px; width:1px; background:linear-gradient(var(--octo),rgba(32,201,92,.08)); }
.octo-spaces__route article { position:relative; display:grid; grid-template-columns:110px minmax(0,1fr); min-height:245px; }
.octo-spaces__node { position:relative; z-index:1; padding-top:3px; }
.octo-spaces__node span { display:grid; width:46px; height:46px; place-items:center; margin-left:31px; border:1px solid rgba(32,201,92,.32); border-radius:50%; background:#080b09; color:var(--octo); font:9px var(--f-mono); }
.octo-spaces__node i { position:absolute; top:22px; right:0; width:25px; height:1px; background:var(--octo-line); }
.octo-spaces__copy { display:grid; grid-template-columns:150px 240px minmax(0,1fr); gap:28px; align-items:start; padding:0 0 58px 28px; border-top:1px solid var(--line-2); }
.octo-spaces__copy > span { padding-top:24px; color:#69736c; font:8px var(--f-mono); letter-spacing:.1em; text-transform:uppercase; }
.octo-spaces__copy h3 { margin:20px 0 0; font-size:27px; text-transform:uppercase; }
.octo-spaces__copy p { margin:19px 0 17px; color:var(--text-3); font-size:13.5px; line-height:1.65; }
.octo-spaces__copy a { grid-column:3; }
.octo-work { padding:100px 0; border-top:1px solid var(--octo-line); }
.octo-work__body { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.85fr); gap:90px; margin:55px 0 0 180px; }
.octo-work__principles { margin:0; padding:0; border-top:1px solid var(--octo-line); list-style:none; }
.octo-work__principles li { display:grid; grid-template-columns:28px 1fr; gap:18px; padding:23px 0; border-bottom:1px solid var(--line); }
.octo-work__principles li > span { position:relative; width:7px; height:7px; margin-top:6px; border:1px solid var(--octo); border-radius:50%; }
.octo-work__principles li > span::after { content:""; position:absolute; inset:2px; border-radius:50%; background:var(--octo); }
.octo-work__principles h3 { margin:0 0 7px; font-size:17px; text-transform:uppercase; }
.octo-work__principles p { margin:0; color:var(--text-3); font-size:12.5px; line-height:1.58; }
.octo-attribution { display:grid; grid-template-columns:130px minmax(0,1fr) 145px; gap:28px; align-items:center; margin-top:12px; padding:24px 20px; border-top:1px solid var(--octo-line); border-bottom:1px solid var(--line-2); }
.octo-attribution > span { color:#667069; font:8px var(--f-mono); letter-spacing:.11em; }
.octo-attribution p { margin:0; color:var(--text-3); font-size:12.5px; line-height:1.55; }
.octo-attribution a { justify-self:end; color:var(--octo-soft); }
.octo-related { display:grid; grid-template-columns:190px 1fr 1fr; gap:0; align-items:stretch; margin:70px 0 90px; border-top:1px solid var(--octo-line); border-bottom:1px solid var(--line-2); }
.octo-related > span,.octo-related a { padding:23px 20px; }
.octo-related > span { color:#667069; font:8px var(--f-mono); letter-spacing:.11em; }
.octo-related a { display:flex; justify-content:space-between; align-items:center; gap:14px; border-left:1px solid var(--line); color:#cbd2cd; font:600 13px var(--f-display); text-transform:uppercase; }
.octo-related a:hover { color:var(--octo); }
.octo-related svg { width:15px; }

@media (prefers-reduced-motion: reduce) {
  .octo-hero__identity::after { animation:none; }
}

@media (max-width: 980px) {
  .octo-hero__inner { grid-template-columns:1fr; gap:30px; padding-top:80px; }
  .octo-hero__identity { min-height:430px; }
  .octo-facts { margin-top:20px; }
  .octo-boundary { grid-template-columns:100px minmax(0,1fr); }
  .octo-spaces__copy { grid-template-columns:130px 190px minmax(0,1fr); }
  .octo-work__body { margin-left:0; gap:55px; }
}

@media (max-width: 720px) {
  .octo-hero__inner { min-height:0; padding-top:55px; }
  .octo-hero__copy h1 { margin-top:21px; font-size:68px; }
  .octo-hero__copy > p { font-size:15px; }
  .octo-hero__links { gap:15px 20px; }
  .octo-hero__identity { min-height:360px; }
  .octo-hero__identity::before { width:300px; height:300px; }
  .octo-hero__identity::after { width:230px; height:230px; }
  .octo-hero__logo { width:205px; height:205px; }
  .octo-hero__logo img { width:150px; max-height:150px; }
  .octo-role { right:auto; bottom:0; left:0; width:100%; }
  .octo-facts { grid-template-columns:1fr 1fr; margin-bottom:0; }
  .octo-facts > div:nth-child(2) { border-right:0; }
  .octo-facts > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .octo-boundary { grid-template-columns:1fr; gap:28px; padding:65px 0; }
  .octo-boundary__copy h2,.octo-spaces h2,.octo-work h2 { font-size:38px; }
  .octo-boundary__copy > div,.octo-work__copy { font-size:14.5px; }
  .octo-spaces,.octo-work { padding:65px 0; }
  .octo-spaces > header,.octo-work > header { grid-template-columns:1fr; gap:28px; }
  .octo-spaces__route { margin-top:45px; }
  .octo-spaces__route::before { left:22px; }
  .octo-spaces__route article { grid-template-columns:46px 1fr; min-height:0; }
  .octo-spaces__node span { width:42px; height:42px; margin-left:1px; }
  .octo-spaces__node i { display:none; }
  .octo-spaces__copy { grid-template-columns:1fr; gap:0; padding:0 0 48px 22px; }
  .octo-spaces__copy > span { padding-top:18px; }
  .octo-spaces__copy h3 { margin-top:9px; }
  .octo-spaces__copy p { margin-top:14px; }
  .octo-spaces__copy a { grid-column:auto; }
  .octo-work__body { grid-template-columns:1fr; gap:40px; margin-top:38px; }
  .octo-attribution { grid-template-columns:1fr; gap:13px; padding:22px 0; }
  .octo-attribution a { justify-self:start; }
  .octo-related { grid-template-columns:1fr; margin:55px 0 70px; }
  .octo-related a { border-top:1px solid var(--line); border-left:0; }
}

@media (max-width: 520px) {
  .octo-hero__copy h1 { font-size:58px; }
  .octo-facts { grid-template-columns:1fr; }
  .octo-facts > div { border-right:0; border-bottom:1px solid var(--line); }
  .octo-facts > div:last-child { border-bottom:0; }
}
