/* SPEC v2.5 and v2.6 brand workstream: header wordmark, neon outlines, nav and footer accents. Loaded last.
   Type is site.css's Geist throughout (v2.6: the v2.5 display face is gone; v2.7: the label face too). */

:root {
  --neon: linear-gradient(45deg, #4976B1, #AC508F 60%, #E58AC4);   /* the mark's glow, bottom left to top right */
  --neon-glow: 0 0 22px -6px rgba(172, 80, 143, 0.6), 0 0 56px -18px rgba(73, 118, 177, 0.6);
}

/* ------------------------------------------------------------ type: Geist for labels, times and numbers (v2.7) */

/* Every rule that set the old label face now sets Geist through --mono (site.css). Geist's figures are
   proportional, so whatever ticks, counts or lines up in a column asks for tabular figures. */
.stat .v, .calc-stat .v, .calc input, .q-field input, .q-count, .ur-time, .unread, .hc-num, .hw-count, .hw-day,
.step-n, .hstep-n, .fl-n, .tier-n, .op-n, .checks li::before, .bk-l, .bk-dn { font-variant-numeric: tabular-nums; }
/* Uppercase labels: the sans sets tighter than the old face, so a little weight and an even tracking keep
   them reading as labels (book.css's eyebrows ran at 0.12 to 0.16em, built for the wider face) */
.bk-label { letter-spacing: 0.12em; font-weight: 600; }
.bk-cap, .bk-dn, .bk-watch-top .live { letter-spacing: 0.1em; font-weight: 600; }
.bk-l { font-size: 0.66rem; letter-spacing: 0.09em; font-weight: 600; }
.bk-stamp { letter-spacing: 0.12em; }
.foot-col h2, .jump-h, .toc-box summary { letter-spacing: 0.1em; }

/* ------------------------------------------------------------ header: the neon wordmark */

.brand .wordmark { width: auto; height: 40px; }

/* ------------------------------------------------------------ nav: dropdown chevrons in the accent */

.dd-btn .chev, .m-group > summary .chev { color: var(--accent-text); }

/* ------------------------------------------------------------ footer: green icons, as repvive's */

/* The buttons keep site.css's ghost style and its disabled dimming; only the WhatsApp glyph and the
   phone icon take WhatsApp green (v2.6) */
.foot-btns .fbtn .ic { color: #25D366; }
.foot-btns .wa-glyph { width: 1.15em; height: 1.15em; }
/* v2.7: the footer logo is the lit "d" alone, four times its old size (Jin), and no name beside it. The
   image box carries the glow's margin, so it is pulled up and left to line the mark up with the text. */
.foot .foot-mark { display: inline-block; margin: -22px 0 -6px -22px; }
.foot .foot-mark img { width: 126px; height: 140px; }

/* ------------------------------------------------------------ neon edge: the logo's outline on a card */

/* A gradient ring in the mark's colors that breathes, over a soft outer glow. The ring is a masked
   ::before, so it animates opacity only and never replaces the card's own entrance animation; the
   glow is the card's box-shadow and holds still. Applied by class, and by selector to the hero card,
   the audit quiz, the final CTA and the competitor "You" card (.cx-you in sections.py; .cmp-you kept
   until the selector is reconciled). */
:where(.neon-edge, .cmp-you, .cx-you) { position: relative; }
.neon-edge, .hcard, .quiz, .final-main, .cmp-you, .cx-you {
  border-color: transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), var(--neon-glow), 0 30px 70px -40px rgba(0, 0, 0, 0.8); }
:is(.neon-edge, .hcard, .quiz, .final-main, .cmp-you, .cx-you)::before {
  content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; padding: 1.5px; pointer-events: none;
  background: var(--neon);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: 0.85; animation: neonBreathe 6s ease-in-out infinite; }
@keyframes neonBreathe { 0%, 100% { opacity: 0.5; } 50% { opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  :is(.neon-edge, .hcard, .quiz, .final-main, .cmp-you, .cx-you)::before { animation: none; opacity: 0.85; }
}
