/* ===================================================================
   FIELD NOTES — interior-page re-skin (interests · imagery · about)
   Loaded AFTER each page's base CSS. Keeps the spacious layout, the real
   interactive figures and images; strips the generic polish (rounded
   cards, gradients, glows, pill buttons, the marquee, the tilt/orbit
   portrait) and re-matches the homepage: flat black, hairline rules,
   ONE red mark, mono labels + a telemetry stamp + light ascii accents.
   The homepage itself is untouched.
   =================================================================== */
:root{ --blue:#8fbaff; }

/* ---------- 0 · flatten the polish (radius / shadow / blur) ---------- */
.viewport,.chip,.filt,.btn,.badge,.cmp,.tile,.tile img,.lb,.lb__img,
.lb__btn,.lb__close,.ab-card,.ab-card::after,.ab-cta,.ab-social a,
.tile__view,.hero-offer a{ border-radius:0 !important; }
.viewport,.badge,.lb,.lb__img,.tile__view{ -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }
.tile:hover,.lb__img,.ab-card,.ab-cta:hover,.ab-social a:hover,.cta__btn:hover,
.lp-step.on .d,input[type=range]::-webkit-slider-thumb{ box-shadow:none !important; }

/* ---------- 1 · section markers -> "# name" (his comment char) ---------- */
.module__eyebrow{ font-family:var(--mono); font-size:11px; letter-spacing:.16em;
  text-transform:lowercase; color:var(--faint); margin:0 0 18px; }
.module__eyebrow b{ color:var(--faint); font-weight:400; }
.module__eyebrow::before{ content:"# "; color:var(--accent); }

/* a small mono provenance stamp beneath each hero title (echoes the home readout) */
.log-stamp{ font-family:var(--mono); font-size:11.5px; letter-spacing:.06em;
  color:var(--faint); margin:18px 0 0; }
.log-stamp b{ color:var(--accent); font-weight:400; }        /* the one red dot */
.log-stamp .u{ color:var(--muted); }

/* thin ruled divider with a faint dotted midline (structural, not decorative) */
.rule{ border:0; border-top:1px solid var(--line); position:relative; margin:8px 0 0; }

/* ---------- 2 · interests: keep the demos, drop the chrome ---------- */
.r-hero .lead{ color:var(--muted); }
.module{ padding:76px 0; }                                   /* a touch more air */
.viewport{ border:1px solid var(--line); background:#000; }
.viewport .hint{ background:rgba(0,0,0,.55); border:1px solid var(--line); border-radius:0;
  padding:5px 9px; }
.viewport .badge{ background:rgba(0,0,0,.55); border:1px solid var(--line); }
/* slider thumb: square, flat, still red */
input[type=range]::-webkit-slider-thumb{ border-radius:0; width:12px; height:12px; }
input[type=range]::-moz-range-thumb{ border-radius:0; width:12px; height:12px; }
/* readout chips -> flat key/value ledger cells */
.readout{ gap:1px; background:var(--line); border:1px solid var(--line); }
.chip{ border:0; background:var(--bg); padding:11px 13px; }
.chip .v{ color:#fff; }
/* filter strip -> flat squares */
.filt{ border:1px solid var(--line); background:transparent; }
.filt.lit{ background:#fff; color:#0a0a0a; }
/* buttons -> flat mono, hairline, red on hover (no pills, no fills) */
.btn{ border-radius:0; border:1px solid var(--line); background:none; color:var(--muted);
  letter-spacing:.14em; padding:10px 16px; }
.btn:hover{ background:none; color:#fff; border-color:var(--accent); }
.btn--accent{ border-color:var(--line); color:#fff; }
.btn--accent:hover{ background:none; color:#fff; border-color:var(--accent); }
.btn.on{ background:none; color:#fff; border-color:var(--accent); }
.btn.on::before{ content:"\00b7 "; color:var(--accent); }
/* pop III template toggle already uses .btn--mini; the .tog switch (if present) -> flat */
.tog .sw{ border-radius:0; height:14px; width:30px; background:var(--line); }
.tog .sw::after{ border-radius:0; width:10px; height:8px; top:3px; }
.tog input:checked + .sw::after{ transform:translateX(16px); }
/* step rail: square dots, flat */
.lp-step .d{ border-radius:0; width:9px; height:9px; }
.lp-step.on .d{ border-color:var(--accent); background:var(--accent); }
.lp-step.done .d{ border-color:var(--accent2); background:var(--accent2); }
/* pop III / enriched comparison ledger -> flat, unify Pop III blue with home */
.cmp{ border:1px solid var(--line); }
.cmp__pop{ color:var(--blue); }
/* caption: drop the italic + red bar, use a hairline + mono */
.lp-cap{ border-left:1px solid var(--line); font-style:normal; color:var(--faint); }

/* ---------- 3 · imagery: catalogue of real plates ---------- */
.hero-offer a{ border-bottom:1px solid var(--line); }
.gallery h2{ font-family:var(--disp); text-transform:none; }   /* not upper-case */
.gallery .count{ font-family:var(--mono); letter-spacing:.16em; text-transform:lowercase; color:var(--faint); }
/* frames: flat, hairline, no saturate / scale / gradient / glow */
.tile{ border:1px solid var(--line); background:#04060c; transform:none; }
.tile img{ filter:none; transition:opacity .4s; }
.tile::after{ display:none; }                                  /* kill gradient scrim */
.tile:hover img{ transform:none; opacity:.82; }
.tile:hover{ border-color:var(--accent); }
/* a single red register tick in the corner on hover (replaces the orbit-circle icon) */
.tile__view{ border:0; width:auto; height:auto; top:8px; right:auto; left:8px; background:none;
  transform:none; opacity:0; transition:opacity .25s; }
.tile__view svg{ display:none; }
.tile__view::before{ content:"\250C"; font-family:var(--mono); color:var(--accent); font-size:13px; line-height:1; }
.tile:hover .tile__view{ opacity:1; transform:none; }
/* caption: always show a clean mono stub at the bottom-left; expand names on hover */
.tile__cap{ transform:none; opacity:1; padding:12px 14px; background:linear-gradient(0deg,rgba(0,0,0,.66),transparent); }
.tile__name{ font-family:var(--mono); font-weight:400; text-transform:lowercase;
  font-size:12px; letter-spacing:.02em; color:#fff; }
.tile__name::before{ content:""; }                             /* drop the ring bullet */
.tile__sub{ color:var(--faint); letter-spacing:.16em; }
/* lightbox: plain black field, hairline frame, flat controls */
.lb{ background:rgba(1,2,5,.94); }
.lb__img{ border:1px solid var(--line); }
.lb__btn,.lb__close{ border-radius:0; background:none; border:1px solid var(--line); }
.lb__btn:hover,.lb__close:hover{ background:none; border-color:var(--accent); color:#fff; }
.lb__cap{ text-transform:lowercase; letter-spacing:.14em; }
.lb__cap small{ letter-spacing:.16em; }
/* featured-in: small static logos (no marquee / no rotation) */
.credits{ display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
  gap:clamp(16px,2.6vw,30px); padding:30px 0 6px; font-family:var(--mono);
  font-size:11px; letter-spacing:.16em; text-transform:lowercase; color:var(--faint); }
.credits .k{ color:var(--faint); }
.credits img{ height:15px; width:auto; opacity:.66; filter:saturate(0);
  transition:opacity .25s ease; }
.credits img:hover{ opacity:1; }

/* ---------- 4 · about: framed plate, no tilt / orbit / bubbles ---------- */
.ab-card{ position:absolute; inset:0; border:1px solid var(--line); background:#04060c;
  transform:none !important; }
.ab-card::after{ display:none; }
.ab-portrait{ perspective:none; }
/* register-tick corners on the portrait (the technical accent) */
.ab-portrait::before,.ab-portrait::after{ content:""; position:absolute; width:14px; height:14px;
  border:1px solid var(--accent); z-index:3; pointer-events:none; }
.ab-portrait::before{ top:-1px; left:-1px; border-right:0; border-bottom:0; }
.ab-portrait::after{ bottom:-1px; right:-1px; border-left:0; border-top:0; }
.ab-cap{ font-family:var(--mono); font-size:11px; color:var(--faint); letter-spacing:.06em;
  margin-top:12px; text-align:left; }
@media(max-width:860px){ .ab-cap{ text-align:center; } }
.ab-figcol{ display:flex; flex-direction:column; align-items:flex-start; }
@media(max-width:860px){ .ab-figcol{ align-items:center; } }
.ab-name{ text-shadow:none; }
.ab-eyebrow{ font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:lowercase; color:var(--faint); }
.ab-eyebrow::before{ content:"# "; color:var(--accent); }
/* observer-record ledger (mono metadata accent, added in markup) */
.ab-rec{ font-family:var(--mono); font-size:12.5px; line-height:1.85; color:var(--muted);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:16px 0; margin:0 0 30px; max-width:52ch; }
.ab-rec .row{ display:grid; grid-template-columns:8.5em 1fr; gap:2px 1.2ch; }
.ab-rec .k{ color:var(--faint); } .ab-rec .v{ color:#fff; }
.ab-rec .v.b{ color:var(--blue); }
/* contact: flat mono link, hairline underline, red · on hover (no pill) */
.ab-cta{ border-radius:0; border:0; border-bottom:1px solid var(--line); padding:6px 0;
  letter-spacing:.1em; text-transform:none; color:#fff; }
.ab-cta::before{ content:"\00b7 "; color:var(--faint); }
.ab-cta:hover{ background:none; color:#fff; border-color:var(--accent); }
.ab-cta:hover::before{ color:var(--accent); }
/* linkedin: bare line glyph, no bubble */
.ab-social a{ width:auto; height:auto; border:0; background:none; color:var(--faint); }
.ab-social a:hover{ transform:none; color:var(--accent); }

/* ---------- 5 · nav: active item marked with a red dot, not a fill ---------- */
.r-nav .here,.sci-nav .here,.ab-nav .here{ color:#fff; }
.r-nav .here::before,.sci-nav .here::before,.ab-nav .here::before{ content:"\25cf "; color:var(--accent); }
