/* =========================================================================
   BROADSIDE BRIDGE — New Design 3 theme tokens · v3.0.0
   -------------------------------------------------------------------------
   A cohesive midpoint between the expressive Broadside identity and a more
   mature technical/editorial finish. This file loads after the core tokens.
   ========================================================================= */

:root {
  /* One visual voice for display type, subheads, controls, and figures. */
  --bridge-font-display: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
  --font-display: var(--bridge-font-display);

  /* The non-condensed face needs a calmer scale and more breathing room. */
  --text-display-1: clamp(3.05rem, 5.1vw, 5rem);
  --text-display-2: clamp(2.45rem, 4.3vw, 4.05rem);
  --text-display-3: clamp(2.15rem, 3.6vw, 3.35rem);
  --text-display-4: clamp(2.2rem, 5vw, 3.8rem);
  --text-numeral: clamp(3.15rem, 6vw, 5.4rem);
  --text-stat: clamp(2.55rem, 4.5vw, 4rem);
  --headline-max: 980px;

  --bridge-display-weight: 800;
  --bridge-display-tracking: -.045em;
  --bridge-display-leading: 1.01;
  --bridge-display-leading-tight: .98;
  --bridge-phone-size: clamp(2.7rem, 5.7vw, 5.35rem);
  --bridge-mobile-display-tracking: -.04em;

  /* Shared editorial-card construction. */
  --bridge-card-face:
    linear-gradient(145deg, rgba(255, 255, 255, .99), rgba(247, 248, 245, .96));
  --bridge-panel-face:
    linear-gradient(145deg, rgba(7, 34, 44, .99), rgba(3, 23, 30, .98));
  --bridge-card-border: rgba(9, 37, 45, .2);
  --bridge-card-border-hover: rgba(7, 118, 110, .46);
  --bridge-panel-border: rgba(50, 223, 200, .23);
  --bridge-card-rule: var(--accent-system-ink);
  --bridge-card-rule-alt: var(--accent-action);
  --bridge-card-rule-width: 3px;
  --bridge-card-radius: 2px;
  --bridge-card-shadow: 0 12px 30px rgba(2, 15, 20, .1);
  --bridge-card-shadow-hover: 0 16px 38px rgba(2, 15, 20, .14);
  --bridge-tile-shadow: 0 8px 22px rgba(2, 15, 20, .075);
  --bridge-panel-shadow: 0 16px 38px rgba(0, 0, 0, .2);
  --bridge-card-lift: -1px;

  /* Small integrated circles replace the oversized floating badges. */
  --bridge-process-badge-size: 42px;
  --bridge-outcome-badge-size: 34px;
  --bridge-badge-border: rgba(192, 60, 29, .68);
  --bridge-badge-face: rgba(255, 255, 255, .55);
  --bridge-badge-leading: 1;

  /* Action controls are flatter and tighter, with crisp white type. */
  --bridge-action-face: var(--accent-action);
  --bridge-action-text: var(--text-on-action);
  --bridge-action-border: var(--accent-action-press);
  --bridge-action-height: 54px;
  --bridge-action-radius: 3px;
  --bridge-action-shadow: 0 2px 0 var(--accent-action-press), 0 10px 26px rgba(239, 91, 55, .16);
  --bridge-action-shadow-hover: 0 3px 0 var(--accent-action-press), 0 13px 30px rgba(239, 91, 55, .2);
  --bridge-action-shadow-press: 0 1px 0 var(--accent-action-press), 0 6px 16px rgba(239, 91, 55, .15);
  --bridge-action-lift: -1px;
  --bridge-action-tracking: -.008em;
  --bridge-action-arrow-opacity: .72;
  --bridge-action-hover-filter: brightness(1.025);

  /* Chrome and utility surfaces use the same restrained line-and-depth idea. */
  --bridge-announcement-face: rgba(2, 15, 20, .99);
  --bridge-announcement-rule: rgba(239, 91, 55, .72);
  --bridge-header-shadow: 0 10px 28px rgba(0, 0, 0, .12);
  --bridge-form-shadow: 0 18px 50px rgba(0, 0, 0, .25);
  --bridge-input-inset: inset 0 1px 0 rgba(255, 255, 255, .035);
  --bridge-photo-shadow: 0 18px 44px rgba(0, 0, 0, .27);

  /* Motion stays visible, but the travel is quieter and more precise. */
  --bridge-motion-fast: .2s;
  --bridge-motion-mid: .46s;
  --bridge-reveal-distance: 10px;
  --bridge-pulse-duration: 2.8s;
  --bridge-pulse-start: 0 0 0 0 rgba(50, 223, 200, .3);
  --bridge-pulse-mid: 0 0 0 7px rgba(50, 223, 200, 0);
  --bridge-pulse-end: 0 0 0 0 rgba(50, 223, 200, 0);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --bridge-motion-fast: .01ms;
    --bridge-motion-mid: .01ms;
    --bridge-card-lift: 0;
    --bridge-action-lift: 0;
    --bridge-reveal-distance: 0;
  }
}
