/* ════════════════════════════════════════════════════════════════════════
   Defence — cinematic scroll-snap pages (Views/defence.php,
   content/defence-beats.php). The shared scroll-snap scaffold lives in app.css
   (.cine-*); this file keeps ONLY the firewall overrides that make Defence matte.

   THE FIREWALL IN CSS (Constitution §D, §F, §I): the accent is GRAPHITE/steel
   (#8B96A3) via [data-accent="graphite"] on <html> — never cyan/verdant/ember —
   and, unlike every other cinematic sector, Defence carries NO accent glow: the
   rail fill and current dot are matte steel (no box-shadow bloom, no pop), the
   grade sits a shade darker, and the picture shadow is heavier. These five rules
   load after app.css and win over the .cine-* defaults at equal specificity; the
   grade and rail-fill elements deliberately omit the .cine-* class so they remain
   fully self-contained. No human/ember beat. The register is gravity, not warmth.
   ════════════════════════════════════════════════════════════════════════ */

/* Darker grade — no .cine-grade on this element. */
.defence-grade{position:absolute;inset:0;z-index:1;
  background:radial-gradient(120% 90% at 16% 100%, rgba(0,0,0,.55), transparent 55%),
             linear-gradient(90deg, rgba(10,11,13,.92) 0%, rgba(10,11,13,.6) 45%, rgba(10,11,13,.24) 100%);}

/* Heavier picture shadow (overrides .cine-pic img). */
.defence-pic img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;
  border-radius:var(--r-md);border:var(--b-hairline) solid var(--ink-700);background:var(--ink-800);
  box-shadow:0 24px 60px rgba(0,0,0,.5);}

/* Matte rail fill — no glow, no background transition. No .cine-rail-fill on this element. */
.defence-rail-fill{position:absolute;top:6px;width:1px;height:0;background:var(--accent);
  transition:height var(--dur-slow) var(--ease-standard);}

/* Matte dots — no box-shadow bloom (overrides .cine-dot i / .cine-dot.is-current i). */
.defence-dot i{width:var(--s-2);height:var(--s-2);border-radius:50%;background:var(--ink-600);border:1px solid var(--ink-700);
  transition:transform var(--dur) var(--ease-standard),background var(--dur) var(--ease-standard),border-color var(--dur) var(--ease-standard);}
.defence-dot.is-current i{background:var(--accent);border-color:var(--accent);box-shadow:none;transform:scale(1.2);}

@media (prefers-reduced-motion:reduce){
  /* .defence-rail-fill carries no .cine-rail-fill, so kill its transition here too. */
  .defence-rail-fill{transition:none;}
}
