/* ============================================================
   FINGERPRINT IDEAS, "night press room"
   The one dark system shared by the home lobby and FPI Growth.
   Warm black, paper-cream type, orange means "act" and nothing else.
   Structure is hairlines, not colored bands. Loaded after styles.css
   on pages with <body class="night">.
   ============================================================ */

.night {
  --n-bg: #0d0b09;
  --n-bg-2: #14110e;
  --n-panel: rgba(242, 238, 229, 0.035);
  --n-text: #f2eee5;
  --n-soft: rgba(242, 238, 229, 0.78);
  --n-mute: rgba(242, 238, 229, 0.6);
  --n-faint: rgba(242, 238, 229, 0.4);
  --n-line: rgba(242, 238, 229, 0.12);
  --n-line-hi: rgba(242, 238, 229, 0.24);
  --n-orange: #f04a0e;
  --n-orange-hi: #ff6a33;
  --n-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --n-max: 1320px;
  background: var(--n-bg);
  color: var(--n-text);
  cursor: auto;
}
.night a, .night button, .night .btn { cursor: pointer; }
.night ::selection { background: var(--n-orange); color: var(--n-bg); }

/* Flip the press-room tokens inside <main> so every existing component
   renders on the night surface without new markup. Header and footer
   keep their own rules below. */
.night main {
  --paper: var(--n-bg);
  --paper-deep: var(--n-bg-2);
  --paper-edge: #221d18;
  --mat: var(--n-bg-2);
  --ink: var(--n-text);
  --ink-soft: var(--n-soft);
  --ink-faint: var(--n-mute);
  --hairline: 1px solid var(--n-line);
  --hairline-strong: 1px solid var(--n-line);
  --tape: rgba(242, 238, 229, 0.12);
}

/* ---------- header: one dark glass bar on every night page ---------- */
.night .site-header {
  background: rgba(13, 11, 9, 0.72);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  backdrop-filter: blur(18px) saturate(1.2);
  border-bottom: 1px solid var(--n-line);
}
.night .brand-logo { content: url("assets/home/fpi-logo-dark.png"); }
.night .nav-top, .night .nav-phone { color: var(--n-text); }
.night .nav-top:hover, .night .nav-item.open > .nav-top { background: rgba(242, 238, 229, 0.07); }
.night .nav-menu { background: #16130f; border: 1px solid var(--n-line-hi); box-shadow: 0 30px 70px -30px rgba(0, 0, 0, 0.9); }
.night .nav-intro { color: var(--n-faint); border-bottom-color: var(--n-line); }
.night .nav-menu a { color: var(--n-text); }
.night .nav-menu a:hover { background: rgba(242, 238, 229, 0.06); }
.night .nav-menu .nd { color: var(--n-mute); }
.night .nav-phone:hover { color: var(--n-orange-hi); }
.night .nav-cta { background: var(--n-orange); border-color: var(--n-orange); color: #fff; box-shadow: none; rotate: 0deg; }
.night .nav-cta:hover { background: var(--n-text); border-color: var(--n-text); color: var(--n-bg); }
.night .nav-toggle { color: var(--n-text); border-color: var(--n-line-hi); }
.night .burger, .night .burger::before, .night .burger::after { background: var(--n-text); }
@media (max-width: 1000px) {
  .night .main-nav { background: var(--n-bg); border-color: var(--n-line); }
  .night .nav-menu { background: transparent; border: 0; box-shadow: none; }
}

/* ---------- sections: one surface, hairline rules, no bands ---------- */
.night main > .section,
.night main > section.section-dark,
.night main > section.section-orange,
.night main > section.worktable {
  background: transparent !important;
  color: var(--n-text);
  border-bottom: 0;
  border-top: 1px solid var(--n-line);
}
.night .section-inner { max-width: var(--n-max); }

/* Section head: number + title on the left, plain note on the right. */
.night .section-head { align-items: flex-end; border-bottom: 0; }
.night .section-head h2 { font-size: clamp(2.4rem, 5.4vw, 4.6rem); line-height: 0.95; letter-spacing: 0.005em; max-width: 14ch; }
.night .section-head .side-note {
  font-family: var(--font-body);
  font-style: normal;
  font-size: 1.02rem;
  line-height: 1.6;
  color: var(--n-mute);
  border-left: 1px solid var(--n-line-hi);
  max-width: 38ch;
}
.night .section-head .side-note::before { content: none; }

/* Kickers become quiet sentence-case labels. */
.night .kicker {
  font-size: 0.86rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--n-mute);
  margin-bottom: 0.9rem;
}
.night .kicker::before { width: 6px; height: 6px; }

/* Poster tricks retire on the night surface: no outline words, no
   misregistration shadows, no hand-scrawled notes. One roman voice. */
.night .outline-type { color: inherit; -webkit-text-stroke: 0; text-stroke: 0; }
.night .misreg, .night .misreg-cyan, .night .misreg-soft { text-shadow: none; }
.night main .note, .night main .hero-pre, .night main .hero-stamp, .night .caution { display: none; }
.night main [style*="color:var(--orange)"] { color: inherit !important; }

/* Buttons: flat, square, sentence case. Orange is the one action. */
.night .btn {
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  border: 1px solid var(--n-line-hi);
  border-radius: 2px;
  padding: 0.85em 1.35em;
  color: var(--n-text);
  background: transparent;
  rotate: 0deg;
  box-shadow: none;
}
.night .btn:hover { transform: none; box-shadow: none; border-color: var(--n-text); background: rgba(242, 238, 229, 0.06); }
.night .btn-orange { background: var(--n-orange); border-color: var(--n-orange); color: #fff; }
.night .btn-orange:hover { background: var(--n-orange-hi); border-color: var(--n-orange-hi); }
.night .btn-ink { background: var(--n-text); border-color: var(--n-text); color: var(--n-bg); }
.night .btn-ink:hover { background: #fff; color: var(--n-bg); }

/* Reveal: never hide real content waiting on scroll. */
.night .reveal, .night .reveal-stagger > * { opacity: 1 !important; translate: none !important; transform: none !important; }

/* ---------- footer: same on every night page ---------- */
.night .site-footer { background: var(--n-bg); border-top: 1px solid var(--n-line); }
.night .footer-mega { color: transparent; -webkit-text-stroke: 1px var(--n-line-hi); opacity: 0.9; }
.night .footer-mega em { color: transparent; -webkit-text-stroke: 1px rgba(240, 74, 14, 0.6); }

/* ---------- components on the night surface ---------- */

/* Index numbers and step numbers are wayfinding, not accent. */
.night .process-step .num, .night .big-num, .night .card-index { color: var(--n-faint) !important; }
.night .ghost-num { display: none; }
.night .process-step h3 { color: var(--n-text) !important; }
.night .process-step .step-tag,
.night .ticket .chip,
.night .wired .chip {
  background: none; border: 0; border-radius: 0; padding: 0; color: var(--n-mute);
  font-size: 0.82rem; font-weight: 500; letter-spacing: 0; text-transform: none;
}
.night .wired { gap: 0.2rem 0.9rem !important; }
.night .process-step:hover { background: transparent; padding-left: 0; }
.night .process-list { border-top: 1px solid var(--n-line) !important; }
.night .process-step { border-bottom: 1px solid var(--n-line); }

/* Anything that was paper on a table sits flat now: no tilt, no tape, no lip. */
.night .taped::before, .night .footer-card::before { display: none; }
.night .service-card, .night .job-ticket, .night .process-sheet, .night .check-cell,
.night .stamp-wall .stamp, .night .footer-card {
  rotate: 0deg !important; transform: none !important; margin-top: 0 !important; box-shadow: none !important;
}

/* What we do: four quiet columns on hairlines; the CMYK chip shrinks to a 3px print bar. */
.night .services-grid { gap: 0; border-top: 1px solid var(--n-line); border-left: 1px solid var(--n-line); }
.night .service-card { background: transparent; border: 0; border-right: 1px solid var(--n-line); border-bottom: 1px solid var(--n-line); padding: 1.6rem 1.5rem 1.8rem; }
.night .service-card:hover { background: var(--n-panel); }
.night .service-card .swatch, .night .service-card [class*="swatch"], .night .service-card .chip-color { height: 3px !important; min-height: 0 !important; margin: 0 0 0.6rem; }
.night .service-card .swatch *, .night .service-card [class*="swatch"] * { display: none; }
.night .service-card li { border-bottom: 1px solid var(--n-line); text-decoration: none; }
.night .service-card li::before { color: var(--n-faint); }

/* Case studies: dark panels, the facts read first. */
.night .ticket { background: var(--n-panel); border: 1px solid var(--n-line); box-shadow: none; color: var(--n-text); }
.night a.ticket:hover { transform: none; box-shadow: none; border-color: var(--n-line-hi); background: rgba(242, 238, 229, 0.06); }
.night .ticket-top { color: var(--n-faint); border-bottom: 1px solid var(--n-line); letter-spacing: 0.04em; text-transform: none; font-weight: 500; font-size: 0.82rem; }
.night .ticket li::before { background: var(--n-faint); width: 0.3rem; height: 0.3rem; top: 0.65em; }
.night .ticket .go { color: var(--n-text); }
.night a.ticket:hover .go { color: var(--n-orange-hi); }
.night .status.live { color: #6fcf8f; border-width: 1px; letter-spacing: 0.04em; text-transform: none; font-weight: 600; }

/* Client names: a plain set list, not rubber stamps. */
.night .stamp-wall { gap: 0; border-top: 1px solid var(--n-line); display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.night .stamp-wall .stamp {
  font-family: var(--font-display); font-size: clamp(1.3rem, 2.2vw, 1.8rem); letter-spacing: 0.01em;
  color: var(--n-soft) !important; border: 0; border-bottom: 1px solid var(--n-line); border-radius: 0;
  padding: 1.1rem 0; background: none; opacity: 1; text-align: left;
}
.night .stamp-wall .stamp::after, .night .stamp-wall .stamp::before { display: none; }

/* The job ticket sheet: straight, no binder holes. */
.night .process-sheet { background: transparent; border: 1px solid var(--n-line); padding: clamp(1.4rem, 3vw, 2.6rem); }
.night .process-sheet::before { display: none; }
.night .sheet-head { border-bottom-color: var(--n-line-hi); }
.night .barcode { opacity: 0.25; }

/* Who we serve and the Roundtable rules: columns on hairlines. */
.night .industry { background: transparent; border-color: var(--n-line) !important; }

/* Print shop prices: three columns, orange only on the one featured action. */
.night .shop-grid { gap: 0; border: 1px solid var(--n-line); }
.night .job-ticket { background: transparent; border: 0; border-right: 1px solid var(--n-line); outline: 0 !important; }
.night .job-ticket:last-child { border-right: 0; }
.night .job-ticket:hover { background: var(--n-panel); }
.night .ticket-head { border-bottom: 1px solid var(--n-line); }
.night .ticket-badge { background: none !important; color: var(--n-mute) !important; border: 1px solid var(--n-line-hi); letter-spacing: 0.02em; text-transform: none; font-weight: 500; rotate: 0deg; }
.night .job-ticket.featured .ticket-badge { color: var(--n-orange-hi) !important; border-color: rgba(240, 74, 14, 0.5); }
.night .ticket-body li::before { color: var(--n-faint); }
.night .ticket-foot { border-top: 1px solid var(--n-line); }
.night .ticket-foot .btn-ink { background: transparent; color: var(--n-text); border-color: var(--n-line-hi); }
.night .ticket-foot .btn-ink:hover { border-color: var(--n-text); }
@media (max-width: 860px) {
  .night .job-ticket { border-right: 0; border-bottom: 1px solid var(--n-line); }
  .night .job-ticket:last-child { border-bottom: 0; }
}

/* Press check: quiet spec row instead of a stat-row hero. */
.night .press-check { gap: 0; border-top: 1px solid var(--n-line); border-bottom: 1px solid var(--n-line); }
.night .check-cell { text-align: left; padding: 1.3rem 1.4rem 1.4rem 0; border-right: 1px solid var(--n-line); margin-right: 1.4rem; }
.night .check-cell:last-child { border-right: 0; margin-right: 0; }
.night .check-cell .stat-num { font-size: clamp(2rem, 3.4vw, 2.8rem); text-shadow: none !important; color: var(--n-text) !important; -webkit-text-stroke: 0; }
.night .check-cell .stat-label { text-transform: none; letter-spacing: 0; font-weight: 500; font-size: 0.9rem; color: var(--n-mute); }

/* Final call: the fingerprint is a watermark, not wallpaper. */
.night .cta-final { background: transparent; border-top: 1px solid var(--n-line); }
.night .cta-final .fingerprint-bg { opacity: 0.07 !important; }
.night .cta-final .btn-ink { background: transparent; color: var(--n-text); border-color: var(--n-line-hi); }
.night .contact-line { color: var(--n-mute); }
.night .contact-line a { color: var(--n-text); }

/* Footer on night pages: the card is plain type, labels are plain words. */
.night .footer-card { background: transparent; color: var(--n-text); border: 0; padding: 0; max-width: 300px; }
.night .footer-card .card-brand img { content: url("assets/home/fpi-logo-dark.png"); }
.night .footer-card address a { color: var(--n-text); }
.night .footer-card .barcode { opacity: 0.2; }
.night .footer-links .stamp {
  border: 0; background: none; color: var(--n-faint) !important; padding: 0; rotate: 0deg; transform: none;
  font-family: var(--font-body); font-size: 0.85rem; font-weight: 600; letter-spacing: 0; text-transform: none;
}
.night .footer-links .stamp::after, .night .footer-links .stamp::before { display: none; }
.night .footer-note { display: none; }
.night .footer-strip { border-top: 1px solid var(--n-line); }

@media (prefers-reduced-motion: reduce) {
  .night * { scroll-behavior: auto !important; }
}
.night .press-check { justify-content: flex-start; align-items: stretch; flex-wrap: nowrap; }
.night .check-cell { flex: 1 1 0; }
.night .service-card li a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--n-line-hi); }
@media (max-width: 700px) {
  .night .press-check { flex-wrap: wrap; }
  .night .check-cell { flex: 1 1 40%; border-right: 0; margin-right: 0; border-bottom: 1px solid var(--n-line); }
}

/* ---------- pass 2 polish ---------- */
.night .funnel-row .num { color: var(--n-faint); }
.night .funnel-row:last-child h3 { color: var(--n-text); }
.night .press-strip a { font-size: 0.92rem; font-weight: 600; letter-spacing: 0; text-transform: none; border: 1px solid var(--n-line-hi); border-radius: 2px; padding: 0.7rem 1.1rem; }
.night .press-strip a:hover { background: rgba(242, 238, 229, 0.06); color: var(--n-text); border-color: var(--n-text); }

/* six services sit as two rows of three */
.night .services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.night .service-card .card-index { position: static; display: block; font-family: var(--font-body); font-size: 0.82rem; font-weight: 500; order: -2; }
.night .service-card .swatch { order: -1; width: 36px; }
@media (max-width: 900px) { .night .services-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .night .services-grid { grid-template-columns: 1fr; } }

/* manifesto: one italic serif voice, no outlined caps, no stamp */
.night .manifesto .floater, .night .process-sheet .stamp { display: none; }
.night .manifesto blockquote { color: var(--n-text); }
.night .manifesto blockquote strong { font-family: inherit !important; font-style: inherit; text-transform: none !important; color: var(--n-text) !important; -webkit-text-stroke: 0 !important; text-shadow: none !important; font-weight: 400; border-bottom: 1px solid rgba(240, 74, 14, 0.7); letter-spacing: 0; font-size: 1em; }
.night .manifesto cite { color: var(--n-faint); letter-spacing: 0.02em; text-transform: none; }

/* client names line up with the grid */
.night .stamp-wall { max-width: none; margin: 0; }

/* footer address readable */
.night .footer-card address { color: var(--n-soft); }
.night .footer-card .card-meta { color: var(--n-faint); letter-spacing: 0.06em; }
.night .services-grid { align-items: stretch; }

/* ============================================================
   Sitewide: every inner page on the night system
   ============================================================ */

/* Page heroes: type first, the fingerprint is a faint watermark,
   the stamp label becomes a quiet line. */
.night .page-hero { background: transparent; }
.night .hero-print { opacity: 0.06 !important; }
.night .page-hero .stamp {
  border: 0; background: none; color: var(--n-mute) !important; padding: 0; rotate: 0deg; transform: none;
  font-family: var(--font-body); font-size: 0.9rem; font-weight: 600; letter-spacing: 0; text-transform: none; display: inline-flex; align-items: center; gap: 0.6em;
}
.night .page-hero .stamp br { display: none; }
.night .page-hero .stamp::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--n-orange); }
.night .page-hero .stamp::after { display: none; }
.night .page-hero .lede { color: var(--n-soft); }
.night .page-hero h1 [class*="misreg"], .night .page-hero h1 span { color: inherit !important; }

/* CMYK strip: a thin print bar, never a band */
.night .cmyk-strip { border-bottom: 0; }
.night .cmyk-strip span { height: 3px; opacity: 0.85; }

/* Spec rows: sentence-case label over value */
.night .spec { border-top: 1px solid var(--n-line); }
.night .spec dt { font-size: 0.85rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--n-faint); }
.night .spec dd { color: var(--n-soft); }
.night .spec dd a { color: var(--n-text); }

/* FAQ */
.night .faq-item { border-color: var(--n-line) !important; }

/* Do / don't columns (Big Head Prints): flat, two columns on hairlines */
.night .policy-block { background: transparent; border: 1px solid var(--n-line); box-shadow: none; rotate: 0deg !important; margin-top: 0 !important; }
.night .policy-block header { background: transparent !important; color: var(--n-text) !important; border-bottom: 1px solid var(--n-line); font-family: var(--font-display); }
.night .policy-block.bad header { color: var(--n-orange-hi) !important; }
.night .policy-block li { border-bottom-color: var(--n-line); }

/* Platform board headings (systems.html) */
.night .platform-board { border-top-color: var(--n-line-hi); }
.night .platform-col { border-right-color: var(--n-line); }
.night .platform-col h3, .night .platform-col h4, .night .platform-col .stamp, .night .platform-col > b, .night .platform-col > span:first-child {
  color: var(--n-text) !important; letter-spacing: 0.01em; text-transform: none;
}

/* Halftone dots and big decorative numerals stay quiet */
.night .halftone { opacity: 0.25; }

/* ---------- the job ticket form (start.html) ---------- */
.night .form-sheet {
  background: var(--n-panel); border: 1px solid var(--n-line); box-shadow: none; rotate: 0deg;
  padding: clamp(1.4rem, 4vw, 3rem);
}
.night .form-sheet::before { display: none; }
.night .form-sheet .sheet-head { border-bottom: 1px solid var(--n-line); }
.night .form-sheet .job-no { color: var(--n-text); }
.night .field label { color: var(--n-soft); letter-spacing: 0.02em; text-transform: none; font-size: 0.9rem; font-weight: 600; }
.night .field label .hint { font-family: var(--font-body); font-size: 0.85rem; font-weight: 500; rotate: 0deg; color: var(--n-faint); }
.night .field input, .night .field textarea, .night .field select,
.night .tq-f input, .night .tq-f select { color: var(--n-text); border-bottom-color: var(--n-line-hi); }
.night .field textarea { background: rgba(242, 238, 229, 0.03); border: 1px solid var(--n-line-hi); }
.night .field input:focus, .night .field textarea:focus, .night .tq-f input:focus, .night .tq-f select:focus { border-color: var(--n-orange); background-color: rgba(240, 74, 14, 0.05); outline: none; }
.night .field input::placeholder, .night .field textarea::placeholder, .night .tq-f input::placeholder { color: var(--n-faint); }
.night .field input[type="date"] { color-scheme: dark; }
.night .focus-mark { display: none; }
.night .chip span {
  font-family: var(--font-body); font-size: 0.9rem; font-weight: 500; letter-spacing: 0; text-transform: none;
  border: 1px solid var(--n-line-hi); border-radius: 999px; padding: 0.5em 1em; color: var(--n-soft); rotate: 0deg !important; background: transparent;
}
.night .chip:hover span { transform: none; border-color: var(--n-text); color: var(--n-text); }
.night .chip input:checked + span { background: var(--n-text); border-color: var(--n-text); color: var(--n-bg); transform: none; box-shadow: none; }
.night .chip-row.sm .chip span { font-size: 0.85rem; border-width: 1px; }
.night .upload-zone { border: 1px dashed var(--n-line-hi); background: rgba(242, 238, 229, 0.03); color: var(--n-soft); }
.night .upload-zone:hover, .night .upload-zone.drag { border-color: var(--n-orange); background: rgba(240, 74, 14, 0.05); }
.night .upload-zone .meta-mono { letter-spacing: 0.02em; text-transform: none; font-weight: 500; color: var(--n-faint); }
.night .upload-list li { background: var(--n-panel); border-color: var(--n-line); color: var(--n-soft); }
.night .tq { background: transparent; border: 1px solid var(--n-line); border-left: 2px solid var(--n-orange); }
.night .tq-growth { border-left-color: var(--n-line-hi); }
.night .tq-tag { background: var(--n-text); color: var(--n-bg); letter-spacing: 0.04em; }
.night .tq-growth .tq-tag { background: var(--n-line-hi); color: var(--n-text); }
.night .tq-f > span, .night .tq-q { color: var(--n-faint); letter-spacing: 0.02em; text-transform: none; font-size: 0.8rem; }
.night .tq-num { color: var(--n-faint); }
.night .tq-f select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23f2eee5' stroke-width='1.6'/%3E%3C/svg%3E"); }
.night .tq-f select option, .night .field select option { background: #16130f; color: var(--n-text); }
.night .tq-item { border-bottom-color: var(--n-line); }
.night .tq-add { border: 1px dashed var(--n-line-hi); color: var(--n-soft); }
.night .tq-add:hover { border-color: var(--n-text); color: var(--n-text); }
.night .tq-basics { border: 1px solid var(--n-line); }
.night .tq-note { color: var(--n-mute); }
.night .art-check li.warn { background: rgba(255, 196, 0, 0.08); border: 1px solid rgba(255, 196, 0, 0.45); color: var(--n-text); }
.night .art-check li.ok { background: transparent; border: 1px solid var(--n-line); color: var(--n-soft); }
.night .art-check li.ok::before { color: #6fcf8f; }
.night .form-foot { border-top: 1px solid var(--n-line); }
.night .form-status { color: var(--n-mute); }
.night .form-status.error { color: var(--n-orange-hi); }
.night .form-success { background: var(--n-bg-2); color: var(--n-text); }
.night .form-success .stamp.mega { color: var(--n-orange-hi); border-color: var(--n-orange-hi); }
.night .form-success p { color: var(--n-soft); }
.night .ticket-recap { background: var(--n-panel); border: 1px solid var(--n-line); color: var(--n-soft); }
.night .hp-field { display: none; }

/* ---------- floating chat launcher: dark glass, plain words ---------- */
.night .fpi-chat-btn {
  background: rgba(22, 19, 15, 0.86); color: var(--n-text); border: 1px solid var(--n-line-hi);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  font-family: var(--font-body); font-weight: 600; font-size: 0.9rem; letter-spacing: 0; text-transform: none;
  rotate: 0deg; box-shadow: 0 14px 40px -16px rgba(0, 0, 0, 0.9); border-radius: 999px;
}
.night .fpi-chat-btn:hover { transform: translateY(-2px); box-shadow: 0 18px 44px -16px rgba(0, 0, 0, 0.9); border-color: var(--n-text); }
.night .fpi-chat-btn.open { background: var(--n-text); color: var(--n-bg); }
.night .fpi-chat-note { font-family: var(--font-body); font-size: 0.85rem; font-weight: 500; rotate: 0deg; color: var(--n-soft); background: rgba(22, 19, 15, 0.9); border: 1px solid var(--n-line); padding: 0.4em 0.8em; border-radius: 4px; }
.night .fpi-chat-panel { background: #16130f; color: var(--n-text); border: 1px solid var(--n-line-hi); box-shadow: 0 30px 70px -30px rgba(0, 0, 0, 0.9); rotate: 0deg; }
.night .fpi-chat-panel-head { border-bottom: 1px solid var(--n-line); }
.night .fpi-chat-panel-head span { letter-spacing: 0.02em; text-transform: none; color: var(--n-faint); }

/* Case studies */
.night .case-aside { background: var(--n-panel); border: 1px solid var(--n-line); }
.night .case-spec { border-top-color: var(--n-line-hi); }
.night .case-spec dt { letter-spacing: 0.02em; text-transform: none; font-weight: 600; font-size: 0.82rem; color: var(--n-faint); }
.night .ledger-row .num { color: var(--n-faint) !important; }

/* Golf tournament landing: keep its layout, run it on night colors.
   Fairway green and gold become the one orange; paper whites become night. */
.night.gx {
  --ink: #0d0b09; --ink2: #14110e; --ink3: #1d1915;
  --snow: #0d0b09; --mist: #14110e; --mist2: #1a1612; --edge: rgba(242, 238, 229, 0.12);
  --char: #f2eee5; --gray: rgba(242, 238, 229, 0.62); --gray2: rgba(242, 238, 229, 0.42);
  --fair: #f04a0e; --fair2: #ff6a33; --fair-glow: #ff8a5c;
  --gold: #f04a0e; --gold2: #ff6a33; --gold3: #ff8a5c;
  --shadow: none; --shadow-lg: 0 30px 70px -30px rgba(0, 0, 0, 0.9);
  background: #0d0b09; color: #f2eee5;
}
.night.gx ::selection { background: #f04a0e; color: #0d0b09; }
.night.gx .add:hover, .night.gx .stp button:hover { color: #0d0b09; }
.night.gx .b-gold { background: #f04a0e; color: #fff; box-shadow: none; }
.night.gx .b-gold:hover { background: #ff6a33; }
.night.gx .fstat, .night.gx .fstat a { color: #ff8a5c; }
.night .chip-row .chip { background: transparent; border: 0; padding: 0; box-shadow: none; }
.night .chip input:checked + span { transition: none; }
.night .tq legend, .night .tq-num { color: var(--n-text); } .night .tq-num { color: var(--n-faint); }
