/* =====================================================================
   MANIFEST 2.1: the Trazai design system
   2.1 adds motion / line / layer tokens, the paper-in-navy reset, the
   section index rail, the rate gauge, the ticket and the ask card.
   ---------------------------------------------------------------------
   Trazai is an audit company AND a freight intelligence company, so the
   system has two modes on one shared foundation:
     RECORD (audit)         paper, waybills, stamps, ledgers. Accent: signal orange.
     RADAR  (intelligence)  deep navy, live map, telemetry, status, deltas. Accent: Pulse violet.
   Shared: navy, Archivo + Plex Mono, spacing, radii, route line, orange primary actions.
   References: IBM Carbon g100 + data-viz, financial terminals, maritime
   intelligence control towers, Stripe editorial, Linear/Geist dark polish.
   (1.1 notes below still apply.)
   ---------------------------------------------------------------------
   1.1 blends Manifest with the depth of the original trazai.lat site:
   rounder corners, soft layered shadows, orange glow on primary actions,
   blue/orange glows on navy bands, frosted-glass tiles on dark, colour
   photography with a light navy tint, the purple-blue map banner and
   blue section labels. Waybills, stamps, condensed figures, the route
   line and the chart grid remain the signature.
   ---------------------------------------------------------------------
   Built from two sources and nothing else:
   1. The Trazai brand: the orange node, the blue "ai", the route mark.
   2. The physical language of freight: waybills, rubber stamps,
      container stencils, nautical charts and safety orange.

   Signature motifs (use each where it carries meaning, never as filler):
     .waybill     paper document with a perforated tear edge
     .stamp       rubber stamp: VERIFIED / FLAGGED / ILLUSTRATIVE / offers
     .route       dashed route line with nodes, from the logo
     .hazard      orange/navy safety stripe, max one per viewport
     .chart-grid  nautical chart grid + coordinates on navy bands
     .duo         navy-and-paper duotone for every photograph of the world
     .label       expanded-width uppercase "container stencil" labels
   Brand renders (the navy/orange isometric error illustrations) are
   shown in full colour: they are already on-palette.
   Every text/background pair below is checked against WCAG AA.
   Living reference: /redesign/system/
   ===================================================================== */

/* ---------- 0. Fonts (self-hosted, OFL) ---------- */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url('/assets/fonts/archivo-var-latin.woff2') format('woff2-variations'),url('/assets/fonts/archivo-var-latin.woff2') format('woff2')}
@font-face{font-family:'Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/ibm-plex-mono-400-latin.woff2') format('woff2')}
@font-face{font-family:'Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/ibm-plex-mono-500-latin.woff2') format('woff2')}
@font-face{font-family:'Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/ibm-plex-mono-600-latin.woff2') format('woff2')}

/* ---------- 1. Tokens ---------- */
:root{
  /* Harbor navy: night-time port. Dark bands, header, ink. */
  --navy-950:#06101e;
  --navy-900:#0a1a2f;
  --navy-800:#10263f;
  --navy-700:#1a3556;
  --navy-600:#2a4a73;

  /* Manifest paper: warm, like a printed waybill. Never cold grey. */
  --paper-0:#fffefb;     /* documents / cards */
  --paper-50:#f8f7f3;    /* page canvas: warm, lighter than 1.0 */
  --paper-100:#f0eee8;   /* alternate band */
  --paper-200:#e5e2da;   /* hairline rules */
  --paper-300:#d2cdc1;   /* strong rules, input tracks */

  /* Ink on paper */
  --ink-900:#0a1a2f;     /* headings  15.8:1 on paper-50 */
  --ink-700:#33405a;     /* body       9.4:1 */
  --ink-500:#5c6679;     /* muted      5.2:1 (4.75 on paper-100) */

  /* Ink on navy */
  --on-navy:#f7f3eb;       /* 15.8:1 */
  --on-navy-2:#c9d2e0;     /* ~11:1 */
  --on-navy-muted:#a9b4c6; /* 8.4:1 */

  /* Signal orange: the brand node. Used as a FILL with navy text (6.7:1).
     As text it appears on navy (6.7:1), or darkened (--signal-ink) on paper. */
  --signal:#f5821f;
  --signal-hi:#ff9a45;
  --signal-ink:#a34300;
  --signal-wash:#fde9d6;
  --signal-display:#d6600a; /* headline accents on paper, ≥24px bold only (3.3–3.8:1) */

  /* Chart blue: the "ai" in the logo. Links and focus. */
  --chart:#1b5fb0;         /* 5.7:1 on paper-50 */
  --chart-on-navy:#7db4ff; /* 8.2:1 on navy-900 */
  --blue:#1e6db5;          /* original site blue: glows, gradients */
  --blue-hi:#3b8fd6;

  /* Customs outcomes: money and stamps, nothing else. */
  --cleared:#0a7247;         /* recovered / verified, on paper */
  --cleared-on-navy:#43d39a;
  --flagged:#b8321c;         /* overbilled, on paper */
  --flagged-on-navy:#ff7a66;

  /* RADAR mode (intelligence). Pulse violet comes from the live globe. */
  --pulse:#8b5cf6;          /* fills, glows, graphics only */
  --pulse-fill:#7547e0;     /* violet fills that carry white text 5.6:1 */
  --pulse-on-navy:#b4a2ff;  /* text on navy 8.0:1 */
  --pulse-ink:#6a3bd6;      /* text on paper 6.1:1 */
  --radar-bg:#070f22;       /* deepest console surface */
  /* Data palette (on navy), in order of use */
  --d1:#f5821f; --d2:#7db4ff; --d3:#b4a2ff; --d4:#2dd4bf; --d5:#fbbf24;
  /* Network status (on navy) */
  --st-ok:#43d39a; --st-watch:#fbbf24; --st-alert:#ff7a66; --st-info:#7db4ff;

  /* Type */
  --font:'Archivo',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'Plex Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;

  /* Shape: softened in 1.1. Three radii + pill. */
  --r-1:8px;      /* buttons, inputs, tags */
  --r-2:14px;     /* cards, documents, photos */
  --r-3:22px;     /* large panels, floating bands */
  --r-pill:999px; /* badges, status chips, the map button */

  /* Elevation 1.1: soft, layered, navy-tinted. Orange glow = "act here". */
  --lift-1:0 1px 2px rgba(10,26,47,.06),0 8px 20px -10px rgba(10,26,47,.28);
  --lift-2:0 2px 4px rgba(10,26,47,.05),0 24px 48px -24px rgba(10,26,47,.38);
  --lift-signal:0 0 0 1px rgba(245,130,31,.45),0 28px 60px -24px rgba(245,130,31,.6);
  --glow-signal:0 10px 28px -10px rgba(245,130,31,.7);
  --glass:rgba(255,255,255,.06);
  --glass-line:rgba(255,255,255,.12);

  /* Space: 4px base */
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;
  --band:clamp(72px,8vw,112px);
  --container:1240px;
  --gutter:28px;
  --header-h:72px;
  --banner-h:44px;

  /* Motion: three durations, one curve. Reduced motion collapses all of them. */
  --ease:cubic-bezier(.2,.8,.2,1);
  --dur-1:.15s;  /* hover, press */
  --dur-2:.3s;   /* state change: tabs, dock, chips */
  --dur-3:.7s;   /* entrances: reveals, photos */

  /* Semantic lines */
  --line:var(--paper-200);         /* hairlines on paper */
  --line-strong:var(--paper-300);  /* dashed rules, tracks */
  --line-navy:var(--navy-700);     /* hairlines on navy */

  /* Layers: every fixed or floating thing takes one of these */
  --z-raised:3;    /* proof band, stamps over photos */
  --z-float:45;    /* map button, back-to-top, index rail */
  --z-dock:50;     /* sticky CTA dock */
  --z-header:60;   /* site header */
  --z-skip:200;    /* skip link */
}

/* ---------- 2. Base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%}
body{font-family:var(--font);font-stretch:100%;font-size:17px;line-height:1.6;color:var(--ink-700);background:var(--paper-50);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit}
ul,ol{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{color:var(--ink-900);font-weight:800;font-stretch:88%;line-height:1.02;letter-spacing:-.02em}
strong,b{font-weight:650;color:var(--ink-900)}
.num{font-variant-numeric:tabular-nums lining-nums}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

:focus-visible{outline:3px solid var(--chart);outline-offset:3px}
.navy :focus-visible,.navy:focus-visible{outline-color:var(--chart-on-navy)}

.skip{position:absolute;left:16px;top:-80px;z-index:var(--z-skip);background:var(--signal);color:var(--navy-950);font-weight:700;padding:12px 18px;border-radius:var(--r-1);text-decoration:none}
.skip:focus{top:12px}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);position:relative}

/* Surfaces */
.navy{background:radial-gradient(ellipse 55% 60% at 88% 0%,rgba(30,109,181,.30),transparent 70%),radial-gradient(ellipse 40% 50% at 0% 100%,rgba(245,130,31,.10),transparent 70%),var(--navy-900);color:var(--on-navy-2)}
.navy h1,.navy h2,.navy h3,.navy h4,.navy strong,.navy b{color:var(--on-navy)}
.paper-alt{background:var(--paper-100)}
.band{padding:var(--band) 0;position:relative}

/* Mode surfaces */
.radar{background:radial-gradient(ellipse 50% 55% at 85% 5%,rgba(139,92,246,.22),transparent 70%),radial-gradient(ellipse 45% 50% at 0% 100%,rgba(30,109,181,.22),transparent 70%),var(--navy-950);color:var(--on-navy-2)}
/* Signal edge: where the page enters Radar mode, a violet-to-blue scan line */
.band.radar::after{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--pulse) 30%,var(--d2) 70%,transparent 100%);box-shadow:0 0 18px 1px rgba(139,92,246,.55);pointer-events:none}
.radar h2,.radar h3,.radar strong,.radar b{color:var(--on-navy)}
.radar .display-l,.radar .display-m,.radar .h3{color:var(--on-navy)}
.radar .lede{color:var(--on-navy-2)}
.radar .hl{background:linear-gradient(92deg,var(--pulse-on-navy),var(--chart-on-navy));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.radar .label{color:var(--pulse-on-navy)}
.radar .tag{background:rgba(255,255,255,.06);border-color:var(--glass-line);color:var(--on-navy-2)}
.radar .link{color:var(--chart-on-navy)}
.radar .coords{color:var(--on-navy-muted)}
.radar .live,.live--radar{background:var(--pulse)}
.radar :focus-visible{outline-color:var(--chart-on-navy)}

/* ---------- 3. Type roles ---------- */
.display-xl{font-size:clamp(40px,4.7vw,68px);font-stretch:86%;font-weight:800;line-height:.98;letter-spacing:-.028em}
.display-l{font-size:clamp(32px,3.9vw,54px);font-stretch:88%;font-weight:800;line-height:1.02;letter-spacing:-.025em}
.display-m{font-size:clamp(26px,2.7vw,36px);font-stretch:90%;font-weight:800;line-height:1.06;letter-spacing:-.02em}
.h3{font-size:22px;font-stretch:88%;font-weight:750;line-height:1.15;letter-spacing:0}
.display-xl,.display-l,.display-m,.h3{color:var(--ink-900)}
.navy .display-xl,.navy .display-l,.navy .display-m,.navy .h3{color:var(--on-navy)}
.lede{font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--ink-700);max-width:60ch}
.navy .lede{color:var(--on-navy-2)}
.small{font-size:15px}
.hl{color:var(--signal-display)}
.navy .hl{color:var(--signal);background:linear-gradient(92deg,var(--signal) 10%,#ffb86b 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* Container-stencil label: expanded width instead of letter-spacing */
.label sup.fn{margin-left:-6px}
.label{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;font-stretch:125%;letter-spacing:.03em;text-transform:uppercase;line-height:1.2;color:var(--chart)}
.navy .label{color:var(--chart-on-navy)}

/* Section marker: stencilled code box + label + fading rule */
.marker{display:flex;align-items:center;gap:14px;margin-bottom:var(--s5)}
.marker::before{content:'';width:32px;height:2px;border-radius:2px;background:var(--signal);flex:none}
.marker .code{font-family:var(--mono);font-weight:600;font-size:14px;color:var(--signal-ink)}
.navy .marker .code{color:var(--signal)}
.marker--radar::before{background:var(--pulse);box-shadow:0 0 10px rgba(139,92,246,.8)}
.radar .marker .code{color:var(--pulse-on-navy)}
.radar .marker::after{background:linear-gradient(90deg,rgba(139,92,246,.5),transparent)}
.marker::after{content:'';flex:1;height:2px;background:linear-gradient(90deg,var(--paper-300),transparent)}
.navy .marker::after{background:linear-gradient(90deg,var(--navy-600),transparent)}
.sec-head{display:grid;gap:var(--s5);margin-bottom:var(--s7);max-width:920px}

sup.fn{font-family:var(--mono);font-size:.6em;font-weight:600;line-height:0;margin-left:2px;vertical-align:super}
sup.fn a{color:var(--chart);text-decoration:none;padding:0 1px}
.navy sup.fn a{color:var(--chart-on-navy)}

/* ---------- 4. Motifs ---------- */

/* 4a. Waybill: paper document with a perforated bottom edge.
   The shadow lives on the wrapper (drop-shadow follows the mask). */
.waybill-wrap{filter:drop-shadow(4px 4px 0 var(--signal)) drop-shadow(0 26px 34px rgba(245,130,31,.22)) drop-shadow(0 8px 16px rgba(6,16,30,.28))}
.waybill-wrap--ink{filter:drop-shadow(0 20px 30px rgba(10,26,47,.25))}
.waybill{position:relative;background:var(--paper-0);color:var(--ink-700);border-radius:var(--r-2) var(--r-2) 0 0;padding-bottom:14px;
  -webkit-mask:radial-gradient(circle 6px at 50% 100%,transparent 5.5px,#000 6px) 0 0/18px 100% repeat-x;
          mask:radial-gradient(circle 6px at 50% 100%,transparent 5.5px,#000 6px) 0 0/18px 100% repeat-x}
.waybill h3,.waybill strong,.waybill b{color:var(--ink-900)}

/* Documents always read as paper, even inside navy bands: every navy
   override that would leak into a waybill is reset here, in one place. */
.waybill .tag,.navy .waybill .tag{background:var(--paper-100);border-color:var(--paper-300);color:var(--ink-700)}
.navy .waybill .label{color:var(--chart)}
.navy .waybill .stamp--cleared{color:var(--cleared)}
.navy .waybill .stamp--flagged{color:var(--flagged)}
.navy .waybill .stamp--signal{color:var(--signal-ink)}
.navy .waybill .node{background:var(--paper-0);box-shadow:0 0 0 4px var(--paper-0)}
.navy .waybill .btn--line{background:var(--paper-0);color:var(--ink-900);border-color:var(--ink-900);-webkit-backdrop-filter:none;backdrop-filter:none}
.navy .waybill .btn--line:hover{background:var(--ink-900);color:var(--paper-50)}
.navy .waybill .link{color:var(--chart);text-decoration-color:rgba(27,95,176,.3)}
.navy .waybill :focus-visible{outline-color:var(--chart)}
.waybill .ev-art .tag,.navy .waybill .ev-art .tag{background:rgba(6,16,30,.72);border-color:var(--flagged-on-navy);color:var(--flagged-on-navy)}

/* 4b. Rubber stamp */
.stamp{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 12px 5px;border:3px double currentColor;border-radius:5px;font-weight:800;font-stretch:125%;font-size:13px;line-height:1.05;letter-spacing:.03em;text-transform:uppercase;transform:rotate(-7deg);white-space:nowrap}
.stamp small{font-size:12.5px;font-weight:700;font-stretch:100%;letter-spacing:.02em}
.stamp--flagged{color:var(--flagged)}
.stamp--cleared{color:var(--cleared)}
.stamp--signal{color:var(--signal-ink)}
.stamp--ink{color:var(--ink-900)}
.navy .stamp--flagged{color:var(--flagged-on-navy)}
.navy .stamp--cleared{color:var(--cleared-on-navy)}
.navy .stamp--signal{color:var(--signal)}

/* 4c. Route node (the logo's node) */
.node{width:14px;height:14px;border-radius:50%;background:var(--paper-0);border:3px solid var(--signal);box-shadow:0 0 0 4px var(--paper-100);flex:none}
.navy .node{background:var(--navy-900);box-shadow:0 0 0 4px var(--navy-900)}

/* 4d. Hazard stripe */
.hazard{height:6px;background:repeating-linear-gradient(-45deg,var(--signal) 0 10px,var(--navy-900) 10px 20px)}

/* 4e. Nautical chart grid for navy bands */
.chart-grid{position:relative;isolation:isolate}
.chart-grid::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(201,210,224,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(201,210,224,.05) 1px,transparent 1px);
  background-size:96px 96px;background-position:-1px -1px}
.coords{position:absolute;font-family:var(--mono);font-size:12.5px;color:var(--on-navy-muted);pointer-events:none;letter-spacing:.02em;z-index:1}

/* 4f. Duotone photography: navy shadows, paper highlights.
   Unifies stock photos into one family; colour returns on hover. */
.duo{position:relative;overflow:hidden;background:var(--navy-800);isolation:isolate}
.duo img{width:100%;height:100%;object-fit:cover;filter:saturate(.55) contrast(1.06);transition:filter .5s var(--ease),transform .7s var(--ease)}
.duo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,109,181,.18),rgba(10,26,47,.42));mix-blend-mode:multiply;transition:opacity .5s var(--ease);pointer-events:none}
.duo--warm{background:var(--signal-wash)}
.duo--deep img{filter:saturate(.8) contrast(1.5) brightness(.85)}
@media (hover:hover){
  .duo-hover:hover .duo img{filter:none;transform:scale(1.04)}
  .duo-hover:hover .duo::after{opacity:0}
}

/* 4g. Photo backdrop for navy bands: the world behind the work */
.backdrop{position:absolute;inset:0;z-index:-2;overflow:hidden;background:var(--navy-900)}
.backdrop img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.1);opacity:.42}
.backdrop::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 60% at 85% 10%,rgba(30,109,181,.35),transparent 70%),linear-gradient(90deg,var(--navy-900) 0%,rgba(10,26,47,.94) 38%,rgba(10,26,47,.55) 70%,rgba(10,26,47,.75) 100%),linear-gradient(0deg,var(--navy-900) 0%,transparent 40%)}
.backdrop--center::after{background:radial-gradient(ellipse at 50% 50%,rgba(10,26,47,.55),var(--navy-900) 75%)}

/* 4h. Radar primitives: status chip, delta, live name */
.status{display:inline-flex;align-items:center;gap:7px;min-height:26px;padding:0 10px;border-radius:var(--r-pill);font-size:12.5px;font-weight:700;font-stretch:108%;white-space:nowrap;border:1px solid currentColor;background:rgba(255,255,255,.03)}
.status::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.status--ok{color:var(--st-ok)}.status--watch{color:var(--st-watch)}.status--alert{color:var(--st-alert)}.status--info{color:var(--st-info)}
.delta{font-family:var(--mono);font-size:13px;font-weight:600;white-space:nowrap}
.delta--up{color:var(--st-alert)}.delta--down{color:var(--st-ok)}
.console-name{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;font-stretch:125%;text-transform:uppercase;letter-spacing:.03em;color:var(--on-navy)}
.console-name .live{background:var(--pulse)}

/* ---------- 5. Buttons & links ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:var(--r-1);border:2px solid transparent;font-size:16px;font-weight:700;font-stretch:108%;line-height:1;text-decoration:none;white-space:nowrap;transition:transform .15s var(--ease),box-shadow .15s var(--ease),background-color .15s,color .15s,border-color .15s}
.btn svg{width:18px;height:18px;flex:none}
/* Primary: safety orange with navy text, like a port sign. */
.btn--signal{background:var(--signal);color:var(--navy-950);border-color:var(--signal);box-shadow:var(--glow-signal)}
.btn--signal:hover{background:var(--signal-hi);border-color:var(--signal-hi);transform:translateY(-2px);box-shadow:0 16px 36px -10px rgba(245,130,31,.8)}
.btn--signal:active{transform:none;box-shadow:none}
/* Secondary: outlined document button */
.btn--line{background:var(--paper-0);color:var(--ink-900);border-color:var(--ink-900);border-width:1.5px}
.btn--line:hover{background:var(--ink-900);color:var(--paper-50)}
.navy .btn--line,.dock .btn--line{background:var(--glass);color:var(--on-navy);border-color:rgba(255,255,255,.34);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.navy .btn--line:hover,.dock .btn--line:hover{background:rgba(255,255,255,.14);border-color:var(--on-navy)}
.btn--lg{min-height:58px;padding:0 28px;font-size:17px}
.btn--block{width:100%}
.btn--icon{width:52px;padding:0}

/* Kept from the current site: the sample-report button pulses, now as a
   radar ring in system colours (off under reduced motion). */
@media (prefers-reduced-motion:no-preference){.ping{animation:ping 2.8s var(--ease) infinite}}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(245,130,31,.55)}70%,100%{box-shadow:0 0 0 12px rgba(245,130,31,0)}}

.link{color:var(--chart);font-weight:650;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:rgba(27,95,176,.3)}
.link:hover{text-decoration-color:currentColor}
.navy .link{color:var(--chart-on-navy);text-decoration-color:rgba(125,180,255,.35)}
.link-arrow{display:inline-flex;align-items:center;gap:8px}
.link-arrow svg{width:18px;height:18px;transition:transform .15s var(--ease)}
.link-arrow:hover svg{transform:translateX(3px)}

/* Tags */
.tag{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:0 10px;border-radius:var(--r-1);border:1.5px solid var(--paper-300);background:var(--paper-0);font-size:12.5px;font-weight:700;font-stretch:118%;text-transform:uppercase;letter-spacing:.02em;color:var(--ink-700)}
.navy .tag{background:var(--glass);border-color:var(--glass-line);color:var(--on-navy-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--signal);flex:none}
@media (prefers-reduced-motion:no-preference){.live{animation:live 2s infinite}}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(245,130,31,.55)}70%{box-shadow:0 0 0 8px rgba(245,130,31,0)}100%{box-shadow:0 0 0 0 rgba(245,130,31,0)}}

/* ---------- 6. Map banner (kept) ---------- */
.map-banner{display:block;background:linear-gradient(90deg,#2d2f78 0%,#3d49a0 45%,#1e5fb0 100%);color:#fff;text-decoration:none}
.map-banner .container{display:flex;align-items:center;justify-content:center;gap:12px;min-height:var(--banner-h);font-size:14.5px;font-weight:500}
.map-banner .go{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.map-banner .go svg{color:#ffb86b}
.map-banner .go svg{width:16px;height:16px}
.map-banner:hover .go{text-decoration-thickness:2px}
.map-banner .short{display:none}

/* ---------- 7. Header ---------- */
.site-header{position:sticky;top:0;z-index:var(--z-header);background:var(--navy-900);border-bottom:1px solid var(--navy-700);transition:box-shadow .2s}
.site-header.is-scrolled{box-shadow:0 12px 24px -16px rgba(0,0,0,.6)}
.header-inner{height:var(--header-h);display:flex;align-items:center;gap:var(--s5)}
.brand{display:flex;align-items:center;min-height:44px;flex:none}
.brand img{height:36px;width:auto}
.nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.nav a{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 11px;border-radius:var(--r-1);font-size:15.5px;font-weight:550;color:var(--on-navy-2);text-decoration:none;white-space:nowrap}
.nav a:hover{color:var(--on-navy);background:var(--navy-800)}
.nav a svg{width:16px;height:16px;color:var(--cleared-on-navy)}
.nav-foot{display:none}
/* ES/PT nav labels run longer: tighter spacing keeps the desktop header on one line.
   ES/PT pages use short header labels (Metodología, Alertas, Auditoría gratis), so the
   header CTA stays visible at every desktop width. */
@media (min-width:1181px){
  html:is([lang="es"],[lang="pt-BR"]) .header-inner{gap:16px}
  html:is([lang="es"],[lang="pt-BR"]) .nav a{padding:0 7px}
}
.nav-radar .live{width:7px;height:7px;background:var(--pulse)}
.nav-radar:hover{color:var(--pulse-on-navy)!important}
.header-actions{display:flex;align-items:center;gap:10px}
.header-cta{min-height:44px;padding:0 18px;font-size:15px}
.lang{position:relative}
.lang summary{list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;border:1.5px solid var(--navy-600);border-radius:var(--r-1);font-family:var(--mono);font-size:13.5px;font-weight:600;color:var(--on-navy);cursor:pointer}
.lang summary::-webkit-details-marker{display:none}
.lang summary svg{width:14px;height:14px}
.lang ul{position:absolute;right:0;top:calc(100% + 8px);min-width:170px;background:var(--paper-0);border:1px solid var(--paper-200);border-radius:var(--r-2);box-shadow:var(--lift-1);padding:6px;z-index:5}
.lang li a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--r-1);font-size:15px;text-decoration:none;color:var(--ink-700)}
.lang li a:hover,.lang li a[aria-current="true"]{background:var(--paper-100);color:var(--ink-900)}
.menu-btn{display:none;width:48px;height:48px;border-radius:var(--r-1);align-items:center;justify-content:center;color:var(--on-navy);border:1.5px solid var(--navy-600)}
.menu-btn svg{width:24px;height:24px}

/* ---------- 8. Hero ---------- */
.hero{padding:clamp(32px,4vw,60px) 0 clamp(120px,11vw,150px);overflow:hidden}
.hero .coords--a{top:-40px;right:var(--gutter)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(40px,6vw,88px);align-items:center}
.hero h1{margin:var(--s5) 0}
.hero .lede{max-width:54ch}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:var(--s6)}
.terms{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:var(--s5);font-size:15px;color:var(--on-navy-2)}
.terms li{display:inline-flex;align-items:center;gap:8px}
.terms svg{width:18px;height:18px;color:var(--cleared-on-navy)}

/* Hero instrument switch: Audit findings (Record) | Lane intelligence (Radar) */
.hero-visual{position:relative}
.seg{display:inline-flex;gap:4px;padding:4px;margin-bottom:22px;border-radius:var(--r-pill);background:rgba(255,255,255,.06);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.seg-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--r-pill);font-size:14.5px;font-weight:650;color:var(--on-navy-2);transition:background-color .2s,color .2s,box-shadow .2s}
.seg-btn svg{width:16px;height:16px}
.seg-btn:hover{color:var(--on-navy)}
.seg-btn[aria-selected="true"]{background:var(--signal);color:var(--navy-950);box-shadow:var(--glow-signal)}
.seg-btn--radar[aria-selected="true"]{background:var(--pulse-fill);color:#fff;box-shadow:0 10px 28px -10px rgba(139,92,246,.9)}
.console-col[hidden],.ledger-col[hidden]{display:none}
.console{position:relative;border-radius:var(--r-3);background:linear-gradient(180deg,rgba(16,38,63,.92),rgba(7,15,34,.96));border:1px solid rgba(139,92,246,.35);box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 30px 70px -30px rgba(139,92,246,.55),0 20px 40px -20px rgba(0,0,0,.7);overflow:hidden;color:var(--on-navy-2)}
.console::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(201,210,224,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(201,210,224,.05) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.console > *{position:relative}
.console-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--glass-line)}
.console .tag{background:rgba(255,255,255,.06);border-color:var(--glass-line);color:var(--on-navy-2)}
.lane{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px 20px 6px}
.lane-node b{display:block;font-family:var(--mono);font-size:20px;font-weight:600;color:var(--on-navy);line-height:1.1}
.lane-node small{font-size:12.5px;color:var(--on-navy-muted)}
.lane-node:last-of-type{text-align:right}
.lane-line{position:relative;height:2px;border-top:2px dashed rgba(180,162,255,.5)}
.lane-line i{position:absolute;top:-6px;left:0;width:10px;height:10px;border-radius:50%;background:var(--pulse);box-shadow:0 0 12px var(--pulse)}
@media (prefers-reduced-motion:no-preference){.lane-line i{animation:fly 3.2s var(--ease) infinite}}
@keyframes fly{0%{left:0;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:calc(100% - 10px);opacity:0}}
.lane-meta{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.lane-meta span{font-family:var(--mono);font-size:12.5px;color:var(--on-navy-2);padding:2px 8px;border-radius:6px;background:rgba(255,255,255,.05);border:1px solid var(--glass-line)}
.console-panel{margin:14px 20px 0;padding:14px 14px 12px;border-radius:var(--r-2);background:rgba(0,0,0,.22);border:1px solid var(--glass-line)}
.console-panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.console-panel .label{color:var(--on-navy-muted)}
.spark{width:100%;height:110px;display:block}
.spark-grid{stroke:rgba(255,255,255,.07);stroke-width:1}
.spark-gap{fill:rgba(255,122,102,.14)}
.spark-contract{fill:none;stroke:var(--d2);stroke-width:2;stroke-dasharray:5 5}
.spark-billed{fill:none;stroke:var(--d1);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.spark-dot{fill:var(--d1);filter:drop-shadow(0 0 6px var(--d1))}
@media (prefers-reduced-motion:no-preference){.console-col:not([hidden]) .spark-billed{stroke-dasharray:420;animation:draw 1.4s var(--ease) both}}
@keyframes draw{from{stroke-dashoffset:420}to{stroke-dashoffset:0}}
.spark-legend{display:flex;gap:18px;margin-top:6px;font-size:12.5px;color:var(--on-navy-2)}
.spark-legend i{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
.k-contract{background:var(--d2)}.k-billed{background:var(--d1)}
.watch{display:grid;gap:0;margin:12px 20px 0}
.watch li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--glass-line);font-size:15px;color:var(--on-navy)}
.watch li:first-child{border-top:0}
.watch small{display:block;font-size:12.5px;color:var(--on-navy-muted)}
.console-alert{display:flex;gap:10px;align-items:flex-start;margin:14px 20px 20px;padding:12px 14px;border-radius:var(--r-1);background:rgba(245,130,31,.1);border:1px solid rgba(245,130,31,.35);font-size:14px;color:var(--on-navy-2)}
.console-alert svg{width:18px;height:18px;flex:none;color:var(--signal);margin-top:2px}
.console-alert b{color:var(--on-navy)}

/* Hero floating chips (from the original hero exhibit) */
.ledger-col{position:relative}
.float{position:absolute;z-index:4;display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;border-radius:var(--r-2);background:rgba(16,38,63,.72);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 40px -18px rgba(0,0,0,.7);color:var(--on-navy)}
.float b{display:block;font-family:var(--mono);font-size:16px;font-weight:600;color:var(--on-navy);line-height:1.2}
.float small{display:block;font-size:12.5px;color:var(--on-navy-muted)}
.float-ico{width:38px;height:38px;border-radius:var(--r-1);display:grid;place-items:center;background:rgba(245,130,31,.16);border:1px solid rgba(245,130,31,.4);color:var(--signal);flex:none}
.float-ico svg{width:20px;height:20px}
.float--a{right:92px;top:-34px}
.float--b{left:-58px;bottom:34px}
@media (prefers-reduced-motion:no-preference){
  .float{animation:bob 6s ease-in-out infinite}
  .float--b{animation-delay:-3s}
}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -8px}}
.ledger tr.more td{display:none}

/* Hero waybill */
.ledger{position:relative;overflow:hidden}
.ledger::after{content:'';position:absolute;left:0;right:0;top:-90px;height:90px;background:linear-gradient(180deg,transparent,rgba(59,143,214,.16),transparent);pointer-events:none}
@media (prefers-reduced-motion:no-preference){.ledger::after{animation:scan 2.6s var(--ease) .8s 1 both}}
@keyframes scan{from{top:-90px}to{top:100%}}
.ledger-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:38px 24px 16px}
.ledger-kicker{font-family:var(--mono);font-size:12.5px;color:var(--ink-500)}
.ledger-title{font-size:24px;font-weight:800;font-stretch:86%;color:var(--ink-900);margin-top:4px;line-height:1.05}
.ledger-meta{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:2px 28px;padding:12px 24px;border-block:1px solid var(--paper-200);background:var(--paper-50)}
.ledger-meta dt{font-size:12.5px;font-weight:700;font-stretch:118%;text-transform:uppercase;color:var(--ink-500);letter-spacing:.02em}
.ledger-meta dd{font-family:var(--mono);font-size:13.5px;color:var(--ink-900)}
.ledger table{width:100%;border-collapse:collapse}
.ledger th{padding:12px 24px 8px;text-align:left;font-size:12.5px;font-weight:700;font-stretch:118%;text-transform:uppercase;letter-spacing:.02em;color:var(--ink-500)}
.ledger td{padding:11px 24px;border-top:1px solid var(--paper-200);vertical-align:top;font-size:15px}
.ledger .r{text-align:right}
.ledger .what{display:block;font-weight:650;color:var(--ink-900)}
.ledger .why{display:block;font-size:13.5px;color:var(--ink-500);margin-top:1px}
.ledger .amt{font-family:var(--mono);font-size:14.5px;font-weight:600;color:var(--flagged);white-space:nowrap}
.ledger-total{display:grid;grid-template-columns:1fr auto;align-items:end;gap:4px 16px;padding:16px 24px 8px;border-top:2px solid var(--ink-900)}
.ledger-total .lbl{font-size:15px;color:var(--ink-700)}
.ledger-total .big{font-family:var(--mono);font-size:26px;font-weight:600;color:var(--ink-900);text-align:right}
.ledger-total .keep{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--cleared);text-align:right}
.ledger .stamp{position:absolute;right:22px;top:86px;transform:rotate(-9deg);background:rgba(255,253,248,.9)}
.ledger-sign{display:flex;align-items:center;gap:8px;padding:8px 24px 6px;font-size:13.5px;color:var(--ink-500)}
.ledger-sign svg{width:16px;height:16px;color:var(--cleared)}

/* ---------- 9. Proof band (safety orange) ---------- */
.proof{position:relative;z-index:var(--z-raised);margin-top:-64px;color:var(--navy-950)}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);background:linear-gradient(135deg,#f78b2c,var(--signal) 55%,#ec7414);border-radius:var(--r-3);padding:0 8px;box-shadow:0 30px 60px -28px rgba(245,130,31,.75),0 10px 24px -12px rgba(6,16,30,.35)}
.proof-item{padding:34px 28px 32px;border-left:2px solid rgba(6,16,30,.2)}
.proof-item:first-child{border-left:0}
.proof-num{display:block;font-size:clamp(34px,3.6vw,52px);font-weight:850;font-stretch:68%;line-height:.95;letter-spacing:-.01em;white-space:nowrap;color:var(--navy-950)}
.proof-lbl{display:block;margin-top:10px;font-size:15.5px;font-weight:550;line-height:1.4;color:var(--navy-950);max-width:24ch}
.proof sup.fn a{color:var(--navy-950);text-decoration:underline}
.proof-item--radar{background:radial-gradient(ellipse 80% 90% at 100% 0%,rgba(139,92,246,.45),transparent 70%),var(--navy-900);margin:-1px -9px -1px 0;border-radius:0 var(--r-3) var(--r-3) 0;border-left:0}
.proof-item--radar .proof-num{display:flex;align-items:center;gap:12px;color:var(--on-navy)}
.proof-item--radar .proof-num .live{width:12px;height:12px;background:var(--pulse)}
.proof-item--radar .proof-lbl{color:var(--on-navy-2)}
/* One caption carries the caveats for every figure on the page (replaces footnotes) */
.proof-note{margin-top:14px;padding:0 8px;font-size:13.5px;color:var(--ink-500);max-width:90ch}

/* ---------- 10. Carriers ---------- */
.carriers{padding:48px 0 56px;border-bottom:1px solid var(--paper-200)}
.carriers-head .label{display:block}
.carriers-head .label sup.fn{margin-left:2px}
.carriers-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;margin-bottom:22px}
.carriers-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.carriers-list li{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 14px;background:var(--paper-0);border:1px solid var(--paper-200);border-radius:var(--r-1);box-shadow:0 1px 2px rgba(10,26,47,.04);transition:box-shadow .2s,transform .2s;font-size:15px;font-weight:650;color:var(--ink-900);min-width:0}
.carriers-list img{flex:none;width:40px;height:26px;object-fit:contain;object-position:left center;filter:grayscale(1) contrast(1.2);opacity:.85;transition:filter .2s,opacity .2s}
.carriers-list span{min-width:0;line-height:1.25}
.carriers-list small{display:block;font-size:12.5px;font-weight:500;color:var(--ink-500)}
.carriers-list li:hover{box-shadow:var(--lift-1);transform:translateY(-2px)}
.carriers-list li:hover img{filter:none;opacity:1}

/* ---------- 11. Evidence (navy) ---------- */
.evidence{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(28px,4vw,56px);align-items:start}
.evidence > *{min-width:0}
.ev-tabs{display:flex;flex-direction:column}
.ev-tab{position:relative;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;width:100%;min-height:66px;padding:12px 16px 12px 12px;margin-bottom:6px;border-radius:var(--r-1);border:1px solid transparent;text-align:left;color:var(--on-navy-muted);transition:background-color .15s,color .15s}
.ev-tab:first-child{border-top:1px solid transparent}
.record .ev-tab{color:var(--ink-500)}
.record .ev-tab:hover{color:var(--ink-900);background:var(--paper-0);border-color:var(--paper-200)}
.record .ev-tab[aria-selected="true"],.record .ev-tab[aria-selected="true"] .t{color:var(--navy-950)}
.record .ev-tab .t{color:var(--ink-900)}
.record .ev-tab[aria-selected="false"] .t{color:var(--ink-700)}
.record .ev-meter{background:var(--paper-0);border-color:var(--paper-200);box-shadow:var(--lift-1)}
.record .ev-meter-top b{color:var(--cleared)}
.record .ev-meter-top small,.record .ev-meter p,.record .ev-foot-note{color:var(--ink-500)}
.record .ev-meter-bar span{background:var(--paper-200)}
.record .ev-meter-bar span.is-seen{background:#f2b27a}
.record .dd{background:radial-gradient(ellipse 60% 90% at 100% 0%,rgba(30,109,181,.35),transparent 70%),var(--navy-900);border-color:var(--navy-700);color:var(--on-navy-2)}
.record .dd strong{color:var(--on-navy)}
.record .dd .link{color:var(--chart-on-navy)}
.record .dd sup.fn a{color:var(--chart-on-navy)}
.ev-tab .n{font-family:var(--mono);font-size:13px}
.ev-tab .t{font-size:19px;font-weight:700;font-stretch:90%;letter-spacing:0}
.ev-tab .v{font-family:var(--mono);font-size:14.5px}
.ev-tab:hover{color:var(--on-navy);background:var(--glass);border-color:var(--glass-line)}
.ev-tab[aria-selected="true"]{color:var(--navy-950);background:var(--signal);box-shadow:var(--glow-signal)}
.ev-tab[aria-selected="true"] .n,.ev-tab[aria-selected="true"] .v{color:var(--navy-950)}
.ev-tab[aria-selected="true"]::after{content:'';position:absolute;right:-12px;top:50%;border:12px solid transparent;border-left-color:var(--signal);border-right:0;transform:translateY(-50%)}
.ev-tab:focus-visible{outline-offset:-3px}

.ev-left{display:flex;flex-direction:column;gap:20px}
.ev-meter{padding:20px;border-radius:var(--r-2);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid var(--glass-line)}
.ev-meter-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.ev-meter-top small{display:block;margin-top:4px;font-size:13px;color:var(--on-navy-muted)}
.ev-meter-top b{font-size:34px;font-weight:850;font-stretch:66%;color:var(--cleared-on-navy);line-height:1}
.ev-meter-bar{display:flex;gap:4px;height:10px;margin:14px 0 12px}
.ev-meter-bar span{flex:var(--w) 1 0;border-radius:3px;background:var(--navy-600);transition:background-color .3s,box-shadow .3s}
.ev-meter-bar span.is-on{background:var(--signal);box-shadow:0 0 12px rgba(245,130,31,.6)}
.ev-meter-bar span.is-seen{background:#b8672a}
.ev-meter p{font-size:14px;color:var(--on-navy-muted)}
.ev-panel[hidden]{display:none}
.ev-panel .waybill{padding-bottom:18px}
.ev-art{position:relative;height:200px;overflow:hidden;background:var(--navy-950);border-radius:var(--r-2) var(--r-2) 0 0}
.ev-art img{width:100%;height:100%;object-fit:cover}
.ev-art .tag{position:absolute;left:16px;top:16px}
.ev-art .mono{position:absolute;right:16px;top:18px;font-size:13px;color:var(--on-navy)}
.ev-body{padding:22px 24px 6px;position:relative}
.ev-body h3{font-size:28px;font-stretch:86%;font-weight:800}
.ev-body > p{margin-top:8px;font-size:16px;max-width:58ch}
.ev-doc{margin-top:18px;border:1.5px solid var(--paper-300);border-radius:var(--r-1);overflow:hidden;font-size:15px}
.ev-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;padding:11px 14px;border-top:1px solid var(--paper-200);align-items:center}
.ev-row:first-child{border-top:0}
.ev-row.th{background:var(--paper-100);font-size:12.5px;font-weight:700;font-stretch:118%;text-transform:uppercase;letter-spacing:.02em;color:var(--ink-500)}
.ev-row .mono{color:var(--ink-900);font-size:14px}
.ev-row .bad{color:var(--flagged);font-weight:600}
.ev-row .ok{color:var(--cleared);font-weight:600}
.ev-row.is-bad{background:#fbece7}
.ev-row s{text-decoration-thickness:2px}
.ev-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:15px}
.ev-note svg{width:18px;height:18px;flex:none;color:var(--signal-ink);margin-top:3px}
.ev-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:18px 24px 0;padding-top:14px;border-top:2px dashed var(--paper-300);font-size:15px}
.ev-foot .mono{font-size:22px;font-weight:600;color:var(--cleared)}
.ev-foot-note{margin-top:22px;font-size:14px;color:var(--on-navy-muted)}

.dd{margin-top:var(--s8);display:grid;grid-template-columns:auto 1fr auto;gap:var(--s6);align-items:center;padding:28px 32px;border:1px solid var(--glass-line);border-radius:var(--r-3);background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.02));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.dd .big{font-size:clamp(40px,4.4vw,60px);font-weight:850;font-stretch:66%;line-height:.9;color:var(--signal)}
.dd p{font-size:16px;max-width:62ch}

/* ---------- 12. Case files (illustrative scenarios, kept) ---------- */
.cases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.case{position:relative;display:flex;flex-direction:column;background:var(--paper-0);border:1px solid var(--paper-200);border-radius:var(--r-2);box-shadow:var(--lift-1);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.case:hover{transform:translateY(-4px);box-shadow:var(--lift-2)}
.case .duo{height:180px;border-radius:13px 13px 0 0}
.case-tab{position:absolute;left:12px;top:12px;z-index:2;background:var(--paper-0);border:0;box-shadow:var(--lift-1);border-radius:var(--r-1);padding:4px 8px;font-size:12.5px;font-weight:700;font-stretch:118%;text-transform:uppercase;color:var(--ink-900);letter-spacing:.02em}
.case-body{padding:18px 18px 16px;display:flex;flex-direction:column;gap:14px;flex:1}
.case-rate{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.case-rate b{font-size:52px;font-weight:850;font-stretch:66%;line-height:.85;color:var(--flagged)}
.case-rate span{font-size:12.5px;font-weight:700;font-stretch:118%;text-transform:uppercase;color:var(--ink-500);text-align:right;line-height:1.25}
/* Rate gauge: a Record-mode micro chart. Scale 0–8%, the typical 3–7%
   band hatched, the case's own rate as a flagged-red marker. */
.gauge{margin-top:-4px}
.gauge-track{position:relative;height:8px;border-radius:4px;background:var(--paper-100);box-shadow:inset 0 0 0 1px var(--line)}
.gauge-band{position:absolute;top:0;bottom:0;left:37.5%;width:50%;border-radius:4px;background:repeating-linear-gradient(-45deg,rgba(184,50,28,.2) 0 3px,rgba(184,50,28,.07) 3px 6px)}
.gauge-mark{position:absolute;top:50%;left:calc(var(--v) / 8 * 100%);width:14px;height:14px;border-radius:50%;background:var(--flagged);border:3px solid var(--paper-0);box-shadow:0 0 0 1px var(--flagged),0 2px 6px rgba(184,50,28,.4);transform:translate(-50%,-50%)}
.gauge-scale{position:relative;display:flex;justify-content:space-between;margin-top:6px;font-family:var(--mono);font-size:12.5px;line-height:1.3;color:var(--ink-500)}
.gauge-typ{position:absolute;left:62.5%;transform:translateX(-50%);white-space:nowrap}
@media (prefers-reduced-motion:no-preference){
  .gauge-mark{transition:left 1.1s var(--ease) .25s}
  .reveal:not(.is-in) .gauge-mark{left:0}
}
.case dl{display:grid;grid-template-columns:1fr 1fr;border-top:1.5px dashed var(--paper-300);padding-top:12px;gap:2px 12px}
.case dt{font-size:13px;font-weight:600;color:var(--ink-500)}
.case dd{font-family:var(--mono);font-size:18px;font-weight:600;color:var(--ink-900);grid-row:2}
.case-carriers{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--paper-200);font-size:13px;font-weight:600;color:var(--ink-500)}
.case-carriers img{height:22px;width:auto;max-width:56px;object-fit:contain}
.cases-note{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:32px;font-size:15px;color:var(--ink-500)}

/* ---------- 13. How it works (photos kept, on a route) ---------- */
.route{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-top:6px}
.route::before{content:'';position:absolute;top:12px;left:7px;right:7px;border-top:2px dashed var(--paper-300)}
.route::after{content:'';position:absolute;top:12px;left:7px;height:2px;width:calc((100% - 14px) * var(--fill,0));background:var(--signal);box-shadow:0 0 10px rgba(245,130,31,.6);transition:width .15s linear}
.stop .node{transition:background-color .3s,box-shadow .3s}
.stop.is-reached .node{background:var(--signal);box-shadow:0 0 0 4px var(--paper-100),0 0 14px rgba(245,130,31,.7)}
.stop{position:relative;display:flex;flex-direction:column}
.stop .node{position:relative;z-index:1}
.stop-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:18px 0 14px}
.stop-n{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--ink-900)}
.stop-time{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--navy-950);background:var(--signal);border-radius:var(--r-1);padding:4px 8px;white-space:nowrap}
.stop .duo{aspect-ratio:4/3;border-radius:var(--r-2);margin-bottom:18px;box-shadow:var(--lift-1)}
.stop h3{font-size:22px;font-stretch:88%;margin-bottom:8px;line-height:1.05}
.stop p{font-size:15.5px}
.route-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:var(--s7);padding:18px 22px;background:var(--paper-0);border:1px solid var(--paper-200);border-left:5px solid var(--signal);border-radius:var(--r-1);box-shadow:var(--lift-1);font-size:15.5px}

.law{margin-top:var(--s9);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:start}
.law .display-m{margin-top:14px}
.law > div > p{margin-top:16px}
.ref{width:100%;border-collapse:separate;border-spacing:0;background:var(--paper-0);border:1px solid var(--paper-200);border-radius:var(--r-2);overflow:hidden;font-size:16px;box-shadow:var(--lift-2)}
.ref thead th{white-space:nowrap;background:var(--ink-900);color:var(--on-navy);text-align:left;padding:12px 18px;font-size:12.5px;font-weight:700;font-stretch:118%;text-transform:uppercase;letter-spacing:.02em}
.ref th[scope="row"]{text-align:left;padding:18px;font-size:17px;font-weight:800;font-stretch:88%;color:var(--ink-900);white-space:nowrap;vertical-align:top}
.ref td{padding:18px;vertical-align:top}
.ref tbody tr + tr > *{border-top:1px solid var(--paper-200)}
.ref td.where{font-family:var(--mono);font-size:14px;color:var(--ink-500);white-space:nowrap}

.bridge{display:flex;gap:10px;align-items:flex-start;margin-top:18px;padding:12px 14px;border-radius:var(--r-1);background:rgba(139,92,246,.08);border:1px solid rgba(106,59,214,.25);font-size:15px;color:var(--pulse-ink);font-weight:600}
.bridge .live{margin-top:7px;background:var(--pulse)}
.ref td.mon{white-space:nowrap;text-align:right}
.mon-chip{display:inline-flex;align-items:center;gap:7px;padding:3px 10px;border-radius:var(--r-pill);background:rgba(139,92,246,.1);color:var(--pulse-ink);font-size:12.5px;font-weight:700}
.mon-chip .live{width:7px;height:7px;background:var(--pulse)}
.final-alt--radar{display:flex;align-items:flex-start;gap:10px}
.final-alt--radar .live{margin-top:8px;flex:none}
.final-alt--radar .live{background:var(--pulse)}

/* ---------- 14. Estimator: a rate sheet ---------- */
.est{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);border:1px solid var(--paper-200);border-radius:var(--r-3);overflow:hidden;box-shadow:var(--lift-2);background:var(--paper-0)}
.est-inputs{padding:clamp(24px,3vw,40px)}
.est-inputs .label{margin-bottom:22px}
.field + .field{margin-top:26px;padding-top:26px;border-top:1.5px dashed var(--paper-300)}
.field-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.field label{font-size:16.5px;font-weight:700;color:var(--ink-900)}
.field output{font-family:var(--mono);font-size:24px;font-weight:600;color:var(--ink-900)}
.range{margin-top:12px}
.range input{-webkit-appearance:none;appearance:none;width:100%;height:32px;background:transparent;cursor:pointer;margin:0}
.range input::-webkit-slider-runnable-track{height:6px;border-radius:var(--r-1);background:linear-gradient(to right,var(--signal) var(--p,0%),var(--paper-300) var(--p,0%))}
.range input::-moz-range-track{height:6px;border-radius:var(--r-1);background:var(--paper-300)}
.range input::-moz-range-progress{height:6px;border-radius:var(--r-1);background:var(--signal)}
.range input::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;background:var(--paper-0);border:3px solid var(--signal);box-shadow:0 0 0 5px rgba(245,130,31,.18),0 2px 6px rgba(10,26,47,.3)}
.range input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--paper-0);border:3px solid var(--signal)}
.range input:focus-visible{outline:none}
.range input:focus-visible::-webkit-slider-thumb{outline:3px solid var(--chart);outline-offset:3px}
.range input:focus-visible::-moz-range-thumb{outline:3px solid var(--chart);outline-offset:3px}
.ticks{position:relative;height:24px;margin:6px 13px 0}
.ticks span{position:absolute;transform:translateX(-50%);font-family:var(--mono);font-size:13px;color:var(--ink-500);white-space:nowrap}
.ticks span:first-child{transform:none;left:-13px!important}
.ticks span:last-child{transform:translateX(-100%);left:calc(100% + 13px)!important}

.est-result{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column}
.est-big{font-size:clamp(52px,5.6vw,80px);font-weight:850;font-stretch:64%;line-height:.88;color:var(--on-navy);margin-top:14px}
.est-sub{margin-top:10px;color:var(--on-navy-2)}
.est-lines{margin:24px 0;border-top:1px solid var(--navy-700)}
.est-lines div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--navy-700);font-size:15.5px}
.est-lines dd{font-family:var(--mono);font-weight:600;color:var(--on-navy);white-space:nowrap}
.est-lines .keep dd{color:var(--cleared-on-navy)}
.mix{margin-bottom:24px}
.mix ul{display:grid;gap:9px;margin-top:12px}
.mix li{display:grid;grid-template-columns:108px 1fr 58px;align-items:center;gap:12px;font-size:14px;color:var(--on-navy-2)}
.mix i{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--signal) var(--p),rgba(255,255,255,.08) var(--p))}
.mix b{font-family:var(--mono);font-size:13.5px;font-weight:600;color:var(--on-navy);text-align:right}
.est-note{margin-top:14px;font-size:14px;color:var(--on-navy-muted)}

/* ---------- 15. Pulse ---------- */
.pulse-photo{position:relative;height:clamp(260px,32vw,420px);border:1px solid var(--glass-line);border-radius:var(--r-3);overflow:hidden;margin-bottom:var(--s8);box-shadow:var(--lift-2)}
.pulse-photo .duo{position:absolute;inset:0}
.pulse-photo .overlay{position:absolute;inset:auto 0 0 0;z-index:2;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;padding:28px 32px;background:linear-gradient(0deg,rgba(6,16,30,.92),rgba(6,16,30,0));color:var(--on-navy)}
.pulse-photo .facts{display:flex;gap:40px}
.pulse-photo .facts b{display:block;font-size:64px;font-weight:850;font-stretch:64%;line-height:.85;color:var(--on-navy)}
.pulse-photo .facts span{font-size:14.5px;color:var(--on-navy-2)}
.pchip{position:absolute;z-index:2;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--r-2);background:rgba(10,26,47,.7);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--on-navy)}
.pchip b{display:block;font-size:15px;font-weight:700;color:var(--on-navy)}
.pchip small{display:block;font-size:12.5px;color:var(--on-navy-muted)}
.pchip--a{left:28px;top:28px}
.pchip--b{right:28px;top:96px}
.pchip-cap{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--navy-950);background:var(--cleared-on-navy);padding:3px 6px;border-radius:4px}
.cap-stage{position:relative;min-height:600px;border-radius:var(--r-3);overflow:hidden;background:radial-gradient(ellipse 55% 70% at 34% 50%,rgba(30,109,181,.28),transparent 70%),var(--radar-bg);border:1px solid rgba(139,92,246,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 40px 80px -40px rgba(139,92,246,.55)}
.cap-stage-globe{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y;z-index:1}
.cap-stage-globe:active{cursor:grabbing}
.stage-top{position:absolute;z-index:4;left:24px;right:24px;top:20px;display:flex;justify-content:space-between;align-items:center;gap:16px;pointer-events:none}
.legend{display:flex;gap:16px;font-size:12.5px;color:var(--on-navy-2)}
.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}
.lg-port{background:var(--d1);box-shadow:0 0 8px var(--d1)}.lg-air{background:var(--pulse)}.lg-lane{width:16px!important;height:2px!important;border-radius:2px!important;background:#78aae1}.lg-cap{border:2px solid var(--d1);background:transparent}
.cap-stats{position:absolute;z-index:4;left:24px;top:62px;display:flex;gap:28px;pointer-events:none}
.cap-stat{display:flex;flex-direction:column}
.cap-stat-num{font-size:44px;font-weight:850;font-stretch:66%;line-height:1;color:var(--on-navy);text-shadow:0 0 24px rgba(139,92,246,.6)}
.cap-stat-label{margin-top:4px;font-size:12.5px;font-weight:700;font-stretch:118%;text-transform:uppercase;color:var(--on-navy-muted)}
.stage-hint{position:absolute;z-index:4;left:24px;bottom:20px;font-family:var(--mono);font-size:12.5px;color:var(--on-navy-muted);pointer-events:none}
.cap-tooltip{position:absolute;z-index:5;pointer-events:none;padding:6px 10px;border-radius:var(--r-1);background:rgba(7,15,34,.92);border:1px solid rgba(139,92,246,.5);font-size:13px;font-weight:600;color:var(--on-navy);opacity:0;transform:translate(-50%,-130%);transition:opacity .15s;white-space:nowrap}
.cap-tooltip.is-on{opacity:1}
.cap-card{position:absolute;z-index:6;left:24px;bottom:52px;width:240px;padding:16px;border-radius:var(--r-2);background:rgba(7,15,34,.94);border:1px solid rgba(139,92,246,.5);box-shadow:0 18px 44px -16px rgba(0,0,0,.7),0 0 30px -8px rgba(139,92,246,.45);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .2s,transform .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.cap-card.is-on{opacity:1;transform:none;pointer-events:auto}
.cap-card-close{position:absolute;top:2px;right:2px;width:44px;height:44px;font-size:20px;color:var(--on-navy-muted)}
.cap-card-name{font-size:18px;font-weight:800;font-stretch:88%;color:var(--on-navy)}
.cap-card-meta{margin-top:2px;font-size:13.5px;color:var(--on-navy-2)}
.cap-card-coord{margin-top:8px;font-family:var(--mono);font-size:12.5px;color:var(--pulse-on-navy)}
.cap-tiles{position:absolute;z-index:4;right:20px;top:60px;bottom:20px;width:min(380px,40%);display:flex;flex-direction:column;gap:12px;justify-content:center}
.cap-tile{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start;padding:16px;border-radius:var(--r-2);background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:default;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s}
.cap-tile:hover,.cap-tile:focus-visible,.cap-tile.is-attracting{border-color:rgba(139,92,246,.7);box-shadow:0 18px 40px -22px rgba(139,92,246,.9);transform:translateX(-4px)}
.cap-tile .cap-ico{width:40px;height:40px;margin:0;border-radius:var(--r-1);background:rgba(139,92,246,.16);border:1px solid rgba(139,92,246,.45);color:var(--pulse-on-navy)}
.cap-tile h3{font-size:17px;font-weight:750;font-stretch:92%;color:var(--on-navy);margin-bottom:3px}
.cap-tile p{font-size:14px;line-height:1.5;color:var(--on-navy-2)}

.radar-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.tele{padding:22px;border-radius:var(--r-2);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015));border:1px solid var(--glass-line)}
.tele-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.tele h3{font-size:19px;font-weight:750;font-stretch:90%}
.tele-sub{margin-top:2px;font-family:var(--mono);font-size:12.5px;color:var(--on-navy-muted)}
.tele .watch{margin:10px 0 0}
.tag--free{color:var(--st-ok)!important;border-color:rgba(67,211,154,.5)!important}
.bench{display:grid;gap:12px;margin-top:16px}
.bench li{display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:10px;font-size:14px;color:var(--on-navy-2)}
.bench i{height:10px;border-radius:5px;background:linear-gradient(90deg,var(--d2) var(--p),rgba(255,255,255,.07) var(--p))}
.bench i.is-high{background:linear-gradient(90deg,var(--d1) var(--p),rgba(255,255,255,.07) var(--p));box-shadow:0 0 12px -2px rgba(245,130,31,.6)}
.bench i.is-median{background:linear-gradient(90deg,var(--d3) var(--p),rgba(255,255,255,.07) var(--p))}
.bench b{font-family:var(--mono);font-size:13.5px;font-weight:600;color:var(--on-navy)}
.bench em{grid-column:2/-1;font-style:normal;margin-top:-6px}
.bubble{position:relative;margin-top:16px;padding:14px 16px 12px;border-radius:4px var(--r-2) var(--r-2) var(--r-2);background:#0f3b2e;border:1px solid rgba(67,211,154,.35);font-size:14.5px;color:var(--on-navy-2)}
.bubble b{display:block;color:var(--st-ok);font-size:13.5px;margin-bottom:4px}
.bubble small{display:block;margin-top:8px;font-size:12.5px;color:var(--on-navy-muted);text-align:right}
.tele--alerts .link{margin-top:16px}
.radar-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:32px}
.radar-cta span{font-size:15.5px;color:var(--on-navy-2)}

/* Pricing: Pulse lines take the Radar accent */
.plan ul li.sub--radar{display:flex;align-items:center;gap:8px;color:var(--pulse-ink)}
.plan li.sub--radar svg{width:16px;height:16px;margin:0;color:var(--pulse-ink)}

.pulse-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,80px);align-items:start}
.caps{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cap{position:relative;padding:24px;background:var(--paper-0);border:1px solid var(--paper-200);border-radius:var(--r-2);box-shadow:var(--lift-1);transition:border-color .2s,box-shadow .2s,transform .2s}
.cap:hover{box-shadow:var(--lift-2);transform:translateY(-3px)}
/* Frosted tiles on navy (original Pulse stage) */
.navy .cap{background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border-color:var(--glass-line);box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.navy .cap:hover{border-color:rgba(245,130,31,.5);box-shadow:0 20px 40px -24px rgba(245,130,31,.5)}
.navy .cap p{color:var(--on-navy-2)}
.navy .cap-ico{background:rgba(245,130,31,.14);border:1px solid rgba(245,130,31,.35)}
.cap-ico{width:46px;height:46px;border-radius:var(--r-1);display:grid;place-items:center;background:var(--navy-900);color:var(--signal);margin-bottom:16px}
.cap-ico svg{width:22px;height:22px}
.cap h3{font-size:20px;font-stretch:90%;margin-bottom:6px}
.cap p{font-size:15.5px}

/* ---------- 16. Pricing ---------- */
.step-label{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.step-label .code{font-family:var(--mono);font-weight:600;font-size:14px;color:var(--navy-950);background:var(--signal);padding:3px 8px;border-radius:var(--r-1)}
.free{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)}
.free-main{padding:clamp(24px,3.4vw,44px);position:relative}
.free-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;padding-bottom:18px;border-bottom:2px solid var(--ink-900)}
.free h3{font-size:clamp(28px,2.8vw,40px);font-stretch:86%}
.price{display:flex;align-items:baseline;gap:10px}
.price b{font-size:60px;font-weight:850;font-stretch:64%;line-height:.85;color:var(--ink-900)}
.price span{font-size:15px;color:var(--ink-500);max-width:18ch;line-height:1.3}
.free-pitch{margin-top:18px;font-size:18px;max-width:56ch}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;margin-top:22px}
.checks li{display:flex;gap:10px;font-size:16px}
.checks svg{width:20px;height:20px;flex:none;color:var(--cleared);margin-top:2px}
.free-range{margin-top:22px;padding:14px 16px;border-left:4px solid var(--signal);background:var(--signal-wash);font-size:16px;color:var(--ink-900)}
.free-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.free-main > .stamp{position:absolute;right:28px;top:-22px;background:var(--paper-0)}
.free-side{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:clamp(24px,3vw,36px);background:var(--paper-100);border-left:2px dashed var(--paper-300);text-decoration:none}
.free-side img{width:min(200px,100%);border:1px solid var(--paper-300);border-radius:var(--r-1);box-shadow:var(--lift-2);transition:transform .2s var(--ease)}
.free-side:hover img{transform:translate(-3px,-3px) rotate(-1deg)}
.free-side dl{display:grid;grid-template-columns:auto auto;gap:4px 20px;font-size:14.5px;width:min(230px,100%)}
.free-side dt{color:var(--ink-500)}
.free-side dd{font-family:var(--mono);font-weight:600;color:var(--ink-900);text-align:right}

.subs{margin-top:var(--s9);position:relative}
.subs-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px;margin-bottom:64px}
.subs-head p{margin-top:10px;max-width:60ch}
.plans{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
/* The rotated subscriber-offer sticker (kept), redrawn as a rubber stamp */
.offer-stamp{position:absolute;right:-8px;top:-50px;z-index:4;background:var(--paper-50);padding:8px 16px 7px;font-size:15px;transform:rotate(-8deg)}
.offer-stamp .from{text-decoration:line-through;text-decoration-thickness:2px;opacity:.75}
.plan{position:relative;display:flex;flex-direction:column;padding:30px 26px 26px;background:var(--paper-0);border:1px solid var(--paper-200);border-radius:var(--r-3);box-shadow:var(--lift-1)}
.plan--pop{border:2px solid var(--signal);box-shadow:var(--lift-signal)}
.plan--pop .hazard{display:none}
.plan--pop .plan-flag{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:var(--signal);color:var(--navy-950);border-radius:var(--r-pill);padding:6px 14px;box-shadow:var(--glow-signal);white-space:nowrap}
.plan--pop .hazard{position:absolute;left:0;right:0;top:0;height:8px;border-radius:4px 4px 0 0}
.plan-name{display:flex;justify-content:space-between;align-items:center;gap:8px}
.plan-name h4{font-size:24px;font-stretch:88%}
.plan-flag{font-size:12.5px;font-weight:800;font-stretch:118%;text-transform:uppercase;background:var(--navy-900);color:var(--signal);padding:5px 8px;border-radius:var(--r-1);letter-spacing:.02em}
.plan-price{margin-top:14px;font-size:64px;font-weight:850;font-stretch:64%;line-height:.85;color:var(--ink-900)}
.plan-price small{font-size:17px;font-weight:600;font-stretch:100%;color:var(--ink-500)}
.plan-fit{margin-top:12px;font-family:var(--mono);font-size:13.5px;color:var(--ink-700);background:var(--paper-100);padding:4px 8px;border-radius:var(--r-1);align-self:flex-start}
.plan ul{margin:22px 0;display:grid;gap:10px}
.plan li{display:flex;gap:10px;font-size:15.5px}
.plan li svg{width:18px;height:18px;flex:none;color:var(--ink-900);margin-top:3px}
.plan li.sub{margin-top:8px;padding-top:14px;border-top:1.5px dashed var(--paper-300);font-size:12.5px;font-weight:800;font-stretch:118%;text-transform:uppercase;color:var(--signal-ink);letter-spacing:.02em}
.plan-value{margin-top:auto;border-top:1.5px solid var(--paper-300);padding-top:14px;display:grid;gap:6px;font-size:15px}
.plan-value div{display:flex;justify-content:space-between;gap:8px}
.plan-value dd{font-family:var(--mono);font-weight:600;color:var(--ink-900)}
.plan-value .keep dd{color:var(--cleared)}
.plan .btn{margin-top:20px}
.fine{margin-top:28px;font-size:15px;color:var(--ink-500);max-width:92ch}

/* ---------- 17. About ---------- */
.about-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px);align-items:start}
.person{background:var(--paper-0);border:1px solid var(--paper-200);border-radius:var(--r-2);overflow:hidden;box-shadow:var(--lift-2)}
.person .duo{height:220px}
.person .coords{left:12px;bottom:10px;color:var(--paper-0);font-size:12.5px;background:rgba(6,16,30,.78);padding:2px 6px;border-radius:var(--r-1)}
.person-body{padding:22px 24px 24px;position:relative}
.avatar{position:absolute;right:22px;top:-44px;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:var(--signal);color:var(--navy-950);border:3px solid var(--paper-0);box-shadow:0 0 0 1px rgba(10,26,47,.15),0 8px 20px -8px rgba(245,130,31,.7);font-size:30px;font-weight:850;font-stretch:72%}
.person-name{font-size:24px;font-weight:800;font-stretch:88%;color:var(--ink-900)}
.person-role{font-size:15px;color:var(--ink-500);margin-top:2px}
.person .link{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;font-size:15.5px}
.about-side{position:sticky;top:calc(var(--header-h) + 28px);display:grid;gap:22px}
.pull{position:relative;padding:26px 26px 22px;border-radius:var(--r-2);background:var(--navy-900);color:var(--on-navy);overflow:hidden}
.pull::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 100% 0%,rgba(30,109,181,.4),transparent 70%)}
.pull svg{position:relative;width:30px;height:30px;color:var(--signal)}
.pull blockquote{position:relative;margin-top:10px;font-size:22px;font-weight:700;font-stretch:88%;line-height:1.25;letter-spacing:-.01em;color:var(--on-navy)}
.pull figcaption{position:relative;margin-top:14px;font-size:13.5px;color:var(--on-navy-muted)}
.about-logo{height:44px;width:auto;margin-bottom:26px}
.about-body > p{font-size:18px}
.about-body > p + p{margin-top:16px}
.data{margin-top:var(--s7);padding:26px;color:var(--on-navy-2);border-radius:var(--r-2);position:relative;overflow:hidden}
.data h3{color:var(--on-navy);font-size:24px;font-stretch:88%}
.data > p{margin-top:8px;font-size:15.5px;max-width:70ch}
.data-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.data-list li{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--r-1);font-size:15px;font-weight:650;color:var(--on-navy);line-height:1.3}
.data-list svg{width:22px;height:22px;color:var(--signal)}
.data .link{display:inline-flex;margin-top:16px;min-height:44px;align-items:center}

/* ---------- 18. FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(32px,5vw,80px);align-items:start}
.faq-aside{position:sticky;top:calc(var(--header-h) + 32px)}
.faq-aside p{margin-top:18px}
/* Ask card: a contact slip in the FAQ margin */
.ask{position:relative;margin-top:var(--s6);padding:22px 22px 18px;background:var(--paper-0);border:1px solid var(--line);border-left:4px solid var(--signal);border-radius:var(--r-2);box-shadow:var(--lift-1);max-width:420px}
.ask p{margin-top:8px;font-size:15.5px}
.ask-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.ask-actions .btn{min-height:46px;padding:0 16px;font-size:15px;flex:1 1 auto}
.ask-foot{display:block;margin-top:14px;padding-top:12px;border-top:1.5px dashed var(--line-strong);font-size:12.5px;color:var(--ink-500)}
.faq-list{border-top:2px solid var(--ink-900)}
.faq-list details{border-bottom:1.5px solid var(--paper-300)}
.faq-list summary{list-style:none;display:grid;grid-template-columns:44px 1fr 28px;align-items:center;gap:8px;min-height:74px;padding:14px 0;font-size:19px;font-weight:700;font-stretch:94%;color:var(--ink-900);cursor:pointer;line-height:1.25}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary .q{font-family:var(--mono);font-size:13.5px;font-weight:600;color:var(--signal-ink);font-stretch:100%}
.faq-list summary svg{width:24px;height:24px;color:var(--ink-900);transition:transform .2s var(--ease)}
.faq-list details[open] summary svg{transform:rotate(45deg)}
.faq-list summary:hover{color:var(--chart)}
.faq-list details{transition:background-color .2s}
.faq-list details[open]{background:var(--paper-0);border-radius:var(--r-1);box-shadow:var(--lift-1);border-bottom-color:transparent;margin:6px 0}
.faq-list details[open] summary{padding-left:14px;padding-right:14px}
.faq-list details[open] .a{padding-left:66px}
.faq-list .a{padding:0 36px 22px 52px;max-width:72ch}

/* ---------- 19. Final CTA + footer ---------- */
.final{overflow:hidden}
.final .coords--a{top:28px;right:var(--gutter)}
.final-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(32px,5vw,80px);align-items:end}
.final .lede{margin-top:22px}
.final-actions{display:grid;gap:14px}
.final-grid:has(.ticket){align-items:center}
.final-actions .waybill-wrap{margin-bottom:10px}
/* Ticket: the audit request as a paper document with its own route */
.ticket{padding-bottom:26px}
.ticket-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 18px;border-bottom:2px dashed var(--line-strong)}
.ticket-title{margin-top:4px;font-size:26px;font-weight:800;font-stretch:86%;line-height:1.05;color:var(--ink-900)}
/* The stamp stays in flow (the waybill mask clips anything outside the document); it drops under the title when space runs out */
.ticket-head{flex-wrap:wrap}
.ticket-head .stamp{margin:2px 2px 0 auto}
.ticket-route{position:relative;display:grid;gap:14px;padding:20px 24px 4px}
.ticket-route::before{content:'';position:absolute;left:30px;top:32px;bottom:16px;border-left:2px dashed var(--signal)}
.ticket-route li{position:relative;display:grid;grid-template-columns:14px 112px 1fr;gap:12px;align-items:center;font-size:15px;line-height:1.35;color:var(--ink-700)}
.ticket-route b{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--ink-900)}
.ticket-route .node{position:relative;z-index:1}
.ticket-route li:last-child .node{background:var(--signal)}
.ticket-actions{display:grid;gap:12px;padding:18px 24px 0}
.final-alt{font-size:15.5px;color:var(--on-navy-2)}
.final-alt a{color:var(--on-navy);text-underline-offset:3px}
.final-urgent{display:flex;gap:12px;align-items:flex-start;margin-top:var(--s7);padding-top:20px;border-top:1px solid var(--navy-700);font-size:15.5px;color:var(--on-navy-2);max-width:74ch}
.final-urgent svg{width:20px;height:20px;flex:none;color:var(--signal);margin-top:2px}

.footer{background:var(--navy-950);color:var(--on-navy-muted);font-size:15px}
.footer .inner{padding-top:64px;padding-bottom:32px}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
.footer img{height:36px;width:auto}
.footer p{margin-top:14px;max-width:42ch}
.footer h2{font-size:13px;font-weight:700;font-stretch:125%;text-transform:uppercase;color:var(--on-navy);margin-bottom:10px;letter-spacing:.02em}
.footer nav li a{display:inline-flex;align-items:center;min-height:40px;color:var(--on-navy-2);text-decoration:none}
.footer nav li a:hover{color:var(--signal);text-decoration:underline;text-underline-offset:3px}
.notes{margin-top:48px;padding-top:22px;border-top:1px solid var(--navy-700);font-size:13.5px;line-height:1.6}
.notes ol{list-style:none;counter-reset:n;display:grid;gap:6px;max-width:112ch}
/* Number as a positioned marker: a grid here would turn an inline link into its own cell */
.notes li{counter-increment:n;position:relative;padding-left:28px}
.notes li::before{content:counter(n);position:absolute;left:0;font-family:var(--mono);color:var(--signal)}
.notes li:target{color:var(--on-navy)}
.notes a{color:inherit}
.footer .footer-legal{margin-top:40px;padding-top:20px;border-top:1px solid var(--navy-700);font-size:13.5px;color:var(--on-navy-muted);max-width:none}
.footer-legal + .footer-base{margin-top:16px;padding-top:0;border-top:0}
.footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:24px;padding-top:20px;border-top:1px solid var(--navy-700);font-size:13.5px}
.footer-base a{color:var(--on-navy-2)}

/* ---------- 20. Fixed chrome ----------
   Kept: desktop sticky bar (now a "dock"), floating map button.
   Back-to-top: desktop only. Mobile: one sticky CTA bar. */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-dock);background:rgba(6,16,30,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--on-navy-2);transform:translateY(110%);transition:transform var(--dur-2) var(--ease)}
.dock.is-on{transform:none}
.dock .hazard{height:3px;opacity:.9}
.dock-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:74px}
.dock-msg{display:flex;align-items:center;gap:14px;font-size:15px}
.dock-msg b{color:var(--on-navy);font-stretch:90%;font-size:17px;white-space:nowrap}
.dock-actions{display:flex;align-items:center;gap:10px}
.dock .btn{min-height:48px}
.dock .wa{color:var(--on-navy);border-color:var(--navy-600)}
.dock .wa:hover{border-color:var(--cleared-on-navy);color:var(--cleared-on-navy);background:transparent}

.map-fab{position:fixed;right:24px;bottom:24px;z-index:var(--z-float);display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 20px 0 16px;border-radius:var(--r-pill);background:var(--radar-bg);color:var(--on-navy);border:1.5px solid rgba(139,92,246,.7);text-decoration:none;font-weight:700;font-stretch:108%;font-size:15px;box-shadow:0 10px 24px -10px rgba(6,16,30,.6);transition:transform .15s var(--ease),bottom .3s var(--ease)}
.map-fab svg{width:22px;height:22px;color:var(--pulse-on-navy)}
.map-fab .live{background:var(--pulse)}
.map-fab:hover{box-shadow:0 12px 30px -10px rgba(139,92,246,.9)}
.map-fab:hover{transform:translateY(-2px)}
body.dock-on .map-fab{bottom:98px}
.to-top{position:fixed;right:24px;bottom:92px;z-index:var(--z-float);width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--paper-0);color:var(--ink-900);border:1px solid var(--paper-300);box-shadow:var(--lift-1);opacity:0;pointer-events:none;transition:opacity .2s,bottom .3s var(--ease)}
.to-top svg{width:22px;height:22px}
.to-top.is-on{opacity:1;pointer-events:auto}
body.dock-on .to-top{bottom:166px}

/* Section index rail (≥1400px only, where the page margin can hold it).
   One stop per section; the code is violet for Radar sections, and the
   active stop gets its mode's dash, the same dash as the section marker. */
.rail{display:none}
@media (min-width:1400px){
  .rail{display:block;position:fixed;left:20px;top:50%;z-index:var(--z-float);transform:translate(-8px,-50%);opacity:0;visibility:hidden;transition:opacity var(--dur-2),transform var(--dur-2) var(--ease),visibility 0s linear var(--dur-2)}
  .rail.is-on{opacity:1;visibility:visible;transform:translate(0,-50%);transition-delay:0s}
}
.rail ol{display:flex;flex-direction:column;padding:6px;border-radius:var(--r-pill);background:rgba(6,16,30,.9);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 40px -20px rgba(6,16,30,.7)}
.rail a{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;text-decoration:none;color:var(--on-navy-muted);transition:background-color var(--dur-1)}
.rail a:hover{background:rgba(255,255,255,.06)}
.rail-code{font-family:var(--mono);font-size:12.5px;font-weight:600;transition:color var(--dur-1)}
.rail a[data-mode="radar"] .rail-code{color:var(--pulse-on-navy)}
.rail a::before{content:'';position:absolute;left:50%;bottom:7px;width:0;height:2px;border-radius:2px;background:var(--signal);transform:translateX(-50%);transition:width var(--dur-2) var(--ease)}
.rail a[data-mode="radar"]::before{background:var(--pulse);box-shadow:0 0 8px rgba(139,92,246,.8)}
.rail a:hover .rail-code,.rail a[aria-current="true"] .rail-code{color:var(--on-navy)}
.rail a[aria-current="true"]{background:rgba(255,255,255,.08)}
.rail a[aria-current="true"]::before{width:16px}
.rail-label{position:absolute;left:calc(100% + 14px);top:50%;transform:translate(-4px,-50%);white-space:nowrap;padding:6px 10px;border-radius:var(--r-1);background:var(--navy-950);border:1px solid var(--glass-line);box-shadow:var(--lift-1);color:var(--on-navy);font-size:13px;font-weight:650;opacity:0;pointer-events:none;transition:opacity var(--dur-1),transform var(--dur-1) var(--ease)}
.rail a:hover .rail-label,.rail a:focus-visible .rail-label{opacity:1;transform:translate(0,-50%)}
.rail a:focus-visible{outline:3px solid var(--chart-on-navy);outline-offset:-3px}

/* Anchor aliases: old inbound links (#features → Pulse, #roi → estimator) */
.alias{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}

/* ---------- 21. Motion ---------- */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .reveal.is-in{opacity:1;transform:none}
  .ev-panel:not([hidden]) .waybill{animation:slip .35s var(--ease)}
  .thump{opacity:0}
  .thump.is-in{opacity:1;animation:thump .5s var(--ease) both}
}
@keyframes slip{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
@keyframes thump{0%{opacity:0;scale:1.6}60%{opacity:1;scale:.96}100%{scale:1}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* ---------- 22. Responsive ---------- */
@media (max-width:1180px){
  .menu-btn{display:inline-flex}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gutter) 24px;background:var(--navy-900);border-bottom:1px solid var(--navy-700);box-shadow:0 24px 30px -20px rgba(0,0,0,.6)}
  .nav.is-open{display:flex}
  .nav a{min-height:56px;font-size:18px;border-bottom:1px solid var(--navy-700);border-radius:0;padding:0 4px}
  .nav-radar .live{margin-right:4px}
  .nav-foot{display:grid;gap:14px;padding-top:20px}
  .nav-foot .btn{border-bottom:0;min-height:52px;font-size:16px;padding:0 20px;border-radius:var(--r-1);color:var(--navy-950)}
  .nav-foot .btn svg{color:currentColor}
  .nav{max-height:calc(100vh - var(--header-h));overflow-y:auto}
  .nav-contact{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .nav-contact a{justify-content:center;min-height:48px;border:1px solid var(--glass-line)!important;border-radius:var(--r-1)!important;background:var(--glass);font-size:14.5px;padding:0 10px}
  .nav-where{display:flex;align-items:center;gap:8px;justify-content:center;font-family:var(--mono);font-size:12.5px;color:var(--on-navy-muted)}
  .header-actions{margin-left:auto}
  .carriers-list{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cases{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
  .route{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
  .route::before{display:none}
}
@media (max-width:1024px){
  .hero-visual{max-width:640px}
  .cap-stage{min-height:0;display:flex;flex-direction:column;padding-top:124px}
  .cap-stats{top:58px}
  .cap-stage-globe{position:relative;height:380px;flex:none}
  .stage-top .legend{display:none}
  .stage-hint{bottom:auto;top:474px}
  .cap-card{bottom:auto;top:300px}
  .cap-tiles{position:relative;inset:auto;width:auto;padding:0 16px 16px;display:grid;grid-template-columns:1fr 1fr}
  .cap-tile:hover,.cap-tile.is-attracting{transform:none}
  .radar-strip{grid-template-columns:1fr 1fr}
  .tele--alerts{grid-column:1/-1}
  .proof-item--radar{margin:0;border-radius:0 0 var(--r-3) 0}
  .hero-grid{grid-template-columns:1fr}
  .float--a{left:auto;right:12px;top:-26px}
  .float--b{right:auto;left:12px;bottom:-28px}
  .about-side{position:static}
  .pchip--b{top:auto;bottom:130px}
  .ledger-col{max-width:620px}
  .proof-grid{grid-template-columns:repeat(2,1fr)}
  .proof-item:nth-child(3){border-left:0}
  .proof-item:nth-child(n+3){border-top:2px solid rgba(6,16,30,.2)}
  .evidence{grid-template-columns:1fr}
  .ev-tabs{flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:6px;scrollbar-width:none;scroll-snap-type:x mandatory}
  .ev-tabs::-webkit-scrollbar{display:none}
  .ev-tab,.ev-tab:first-child{flex:none;width:auto;grid-template-columns:auto auto;min-height:48px;padding:0 16px;border:1.5px solid var(--navy-600);border-radius:var(--r-1);scroll-snap-align:start}
  .ev-tab .v{display:none}
  .ev-tab .t{font-size:16.5px}
  .ev-tab[aria-selected="true"]{border-color:var(--signal)}
  .ev-tab[aria-selected="true"]::after{display:none}
  .dd{grid-template-columns:1fr;gap:14px}
  .law,.pulse-grid,.about-grid,.faq-grid,.final-grid{grid-template-columns:1fr}
  .faq-aside{position:static}
  .final-actions{max-width:600px}
  .est{grid-template-columns:1fr}
  .free{grid-template-columns:minmax(0,1fr)}
  .free-side{border-left:0;border-top:2px dashed var(--paper-300);flex-direction:row;justify-content:flex-start}
  .free-side img{width:130px}
  .plans{grid-template-columns:minmax(0,1fr);gap:28px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid > :first-child{grid-column:1/-1}
  .dock-msg span{display:none}
  .data-list{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
  :root{--gutter:18px;--header-h:64px}
  body{font-size:16.5px;padding-bottom:76px}
  .map-banner .long{display:none}
  .map-banner .short{display:inline}
  .brand img{height:32px}
  .header-cta{display:none}
  .hero{padding-top:36px}
  .hero-ctas .btn{flex:1 1 100%}
  /* Long ES/PT labels: buttons may wrap to two centred lines on phones */
  .btn{white-space:normal;text-align:center;line-height:1.2;padding-top:10px;padding-bottom:10px}
  .free-ctas .btn,.radar-cta .btn{flex:1 1 100%}
  .coords{display:none}
  .seg{display:flex;width:100%}
  .console-name{font-size:12.5px;font-stretch:108%}
  .console-panel .label{font-stretch:100%}
  .seg-btn{flex:1;justify-content:center;padding:0 10px;font-size:14px}
  .cap-stage-globe{height:320px}
  .stage-hint{top:416px}
  .cap-stage{padding-top:112px}
  .cap-stats{top:52px}
  .cap-stat-num{font-size:36px}
  .cap-tiles{grid-template-columns:1fr}
  .radar-strip{grid-template-columns:1fr}
  .lane-node b{font-size:17px}
  .proof-item--radar{border-radius:0 0 var(--r-3) 0}
  .float{display:none}
  .ledger tbody tr:nth-child(n+3):not(.more){display:none}
  .ledger tr.more td{display:table-cell;font-size:13.5px;font-weight:600;color:var(--chart);padding-top:12px;padding-bottom:12px}
  .pchip{left:16px;right:auto;padding:10px 12px}
  .pchip--a{top:16px}
  .pchip--b{display:none}
  .mix li{grid-template-columns:112px 1fr 52px;gap:8px}
  .ticket-route li{grid-template-columns:14px 96px 1fr;gap:10px;font-size:14.5px}
  .ticket-route b{font-size:13px}
  .ticket-head,.ticket-route,.ticket-actions{padding-left:18px;padding-right:18px}
  .ticket-route::before{left:24px}
  .btn--lg{font-size:16px;padding-left:18px;padding-right:18px}
  .person .coords{display:block}
  .ledger-meta{grid-template-columns:repeat(2,auto)}
  .ledger-meta div:nth-child(3){display:none}
  .ledger th,.ledger td,.ledger-top,.ledger-meta,.ledger-total,.ledger-sign{padding-left:16px;padding-right:16px}
  .ledger .stamp{right:14px;top:92px;font-size:12.5px;font-stretch:108%}
  .proof{margin-top:-48px}
  .proof-grid{padding:0}
  .proof-item{padding:20px 16px}
  .proof-num{font-size:34px}
  .proof-lbl{font-size:14.5px}
  .carriers-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .carriers-list li{padding:10px 12px;font-size:14.5px}
  .ev-art{height:150px}
  .ev-body{padding-left:16px;padding-right:16px}
  .ev-body h3{font-size:26px}
  .ev-foot{margin:18px 16px 0}
  .ev-row{grid-template-columns:1fr 1.15fr 1fr;gap:8px;padding:10px;font-size:14px}
  .ev-row .mono{font-size:12.5px}
  .dd{padding:22px 18px}
  .cases{grid-template-columns:1fr}
  .route{grid-template-columns:1fr}
  .ref thead{display:none}
  .ref tr{display:grid;grid-template-columns:auto 1fr;padding:16px}
  .ref th[scope="row"],.ref td{padding:0;border:0!important}
  .ref td.where{text-align:right}
  .ref td:nth-child(3){grid-column:1/-1;margin-top:6px}
  .ref td.mon{grid-column:1/-1;text-align:left;margin-top:8px}
  .ref tbody tr + tr{border-top:1px solid var(--paper-200)}
  .checks{grid-template-columns:1fr}
  .free-side{flex-direction:column;align-items:flex-start}
  .free-main > .stamp{right:14px}
  .caps{grid-template-columns:1fr}
  .pulse-photo .overlay{padding:20px}
  .pulse-photo .facts b{font-size:52px}
  .faq-list summary{font-size:18px;grid-template-columns:34px 1fr 24px}
  .faq-list .a{padding:0 0 20px 42px}
  .subs-head{margin-bottom:28px}
  .offer-stamp{position:relative;top:auto;right:auto;display:inline-flex;margin:0 0 24px 8px;white-space:normal;text-align:center;max-width:calc(100% - 24px);justify-self:start}
  .to-top,.map-fab{display:none}
  .dock{background:rgba(255,253,248,.97);border-top:2px solid var(--ink-900)}
  .dock .hazard,.dock-msg,.dock .sample{display:none}
  .dock-inner{min-height:0;padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
  .dock-actions{width:100%}
  .dock-actions .btn--signal{flex:1}
  .dock .wa{color:var(--ink-900);border-color:var(--ink-900)}
}
@media (max-width:400px){
  .btn--lg{font-size:15px;padding-left:14px;padding-right:14px;gap:8px}
  .carriers-list li{gap:8px;padding:10px}
  .carriers-list img{width:30px}
  .proof-num{font-size:30px}
  .data-list li{padding:12px;font-size:14.5px}
}
@media (pointer:coarse){
  .footer nav li a,.link-arrow{min-height:44px}
  .range input{height:44px}
}

/* ---------- 23. Inner pages (methodology, and next: blog, security, legal) ----------
   Breadcrumb, sticky "on this page" nav, 3-stop route, and "who acts" chips. */
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-family:var(--mono);font-size:13px;color:var(--on-navy-muted)}
.crumbs li{display:inline-flex;align-items:center;gap:10px}
.crumbs li + li::before{content:'/';color:var(--navy-600)}
.crumbs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;color:var(--on-navy-2);text-decoration:underline;text-decoration-color:rgba(201,210,224,.35);text-underline-offset:4px}
.crumbs a:hover{color:var(--on-navy);text-decoration-color:currentColor}
.crumbs [aria-current]{color:var(--on-navy)}

html:has(.subnav){scroll-padding-top:calc(var(--header-h) + 76px)}
.subnav{position:sticky;top:var(--header-h);z-index:55;background:rgba(255,254,251,.94);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid var(--paper-200);box-shadow:0 10px 24px -20px rgba(10,26,47,.45)}
.subnav-list{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;-webkit-mask:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 24px),transparent);mask:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 24px),transparent);padding:0 8px}
.subnav-list::-webkit-scrollbar{display:none}
.subnav-list li{flex:none}
.subnav a{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:56px;padding:0 12px;font-size:14.5px;font-weight:650;color:var(--ink-500);text-decoration:none;white-space:nowrap;transition:color .15s}
.subnav a .code{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--ink-500)}
.subnav a::after{content:'';position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.subnav a:hover{color:var(--ink-900)}
.subnav a[aria-current]{color:var(--ink-900)}
.subnav a[aria-current] .code{color:var(--signal-ink)}
.subnav a[aria-current]::after{transform:none}
.subnav a.is-radar[aria-current] .code{color:var(--pulse-ink)}
.subnav a.is-radar::after{background:var(--pulse)}
.subnav a:focus-visible{outline-offset:-3px}

/* Three-stop route (same motif as How it works, no photos) */
.route--3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Who acts at each step. Role colours: you = ink, Trazai = signal, model = Pulse violet. */
.who{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 9px;border-radius:var(--r-pill);font-size:12.5px;font-weight:700;font-stretch:108%;white-space:nowrap;border:1.5px solid currentColor}
.who--you{color:var(--ink-700)}
.who--analyst{color:var(--signal-ink)}
.who--model{color:var(--pulse-ink)}
.who--money{color:var(--cleared)}
.who--out{color:var(--cleared)}

@media (max-width:1180px){.route--3{grid-template-columns:repeat(3,minmax(0,1fr))}.route--3::before{display:block}}
@media (max-width:768px){
  html:has(.subnav){scroll-padding-top:calc(var(--header-h) + 64px)}
  .subnav a{min-height:48px;padding:0 10px;font-size:14px}
  /* Vertical route on phones: the line runs down the left, nodes sit on it */
  .route--3{grid-template-columns:1fr;row-gap:28px;padding:0 0 0 34px}
  .route--3::before{display:block;top:8px;bottom:8px;left:6px;right:auto;border-top:0;border-left:2px dashed var(--paper-300)}
  .route--3::after{top:8px;left:6px;width:2px;height:calc((100% - 16px) * var(--fill,0));transition:height .15s linear}
  .route--3 .node{position:absolute;left:-34px;top:2px}
  .route--3 .stop-top{margin-top:0!important}
}
