/* ==========================================================================
   MCA BULLDOG — site.css  (v5 "fight card", September 2026)
   Usher Law Group, P.C. · Brooklyn, NY
   Built around the poster: near-black, fire orange, condensed poster type,
   hard edges, thick rules. One file, no framework. Same class names as v4.
   ========================================================================== */

/* ---------- TOKENS ---------- */
:root{
  --black:   #0B0B0D;
  --char:    #141418;   /* dark surface */
  --char-2:  #1C1C22;   /* raised dark surface */
  --char-3:  #26262E;
  --cream:   #F4EFE6;   /* light page surface */
  --cream-2: #E9E2D4;   /* alternating light band */
  --white:   #FFFFFF;

  --fire:    #FF6A1A;   /* primary accent: buttons, rules, numerals */
  --fire-2:  #FF8C3A;   /* hover */
  --fire-dk: #A93800;   /* fire as text on cream, 5.6:1 (5.0:1 on cream-2) */
  --ember:   #C8221B;   /* alarm, 4.95:1 as text on cream */
  --gold:    #F5B335;   /* secondary accent on dark */
  --gold-dk: #6E4A05;   /* gold as text on cream */

  --ink:     #141418;   /* headings on cream */
  --body:    #26262E;
  --muted:   #5B5650;   /* 6.0:1 on cream */
  --muted-dk:rgba(255,255,255,.74);
  --line:    rgba(20,20,24,.16);
  --line-dk: rgba(255,255,255,.14);

  --display: 'Anton', 'Inter', Impact, 'Arial Narrow', sans-serif;
  --cond:    'Barlow Condensed', 'Oswald', 'Inter', sans-serif;
  --sans:    'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --mono:    'JetBrains Mono', ui-monospace, Menlo, monospace;

  --r: 4px; --r-sm: 3px; --r-lg: 6px;
  --hard: 6px 6px 0 var(--black);            /* offset shadow on cream */
  --hard-fire: 6px 6px 0 var(--fire);
  --shadow:    0 10px 30px rgba(0,0,0,.18);
  --shadow-md: 0 18px 50px rgba(0,0,0,.28);
  --shadow-lg: 0 30px 80px rgba(0,0,0,.5);
  --ease: cubic-bezier(.2,.7,.2,1);
  --hdr-h: 112px;
}

/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-text-size-adjust:100%;overflow-x:hidden}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{font-family:var(--sans);color:var(--body);background:var(--cream);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
:where(h1,h2,h3,h4){
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  line-height:.98;letter-spacing:.005em;color:var(--ink);text-wrap:balance;
}
:where(h1,h2,h3,h4) em{font-style:normal;color:var(--fire-dk)}
p{text-wrap:pretty}
hr{border:0;border-top:2px solid var(--line)}

/* ---------- A11Y ---------- */
:focus-visible{outline:3px solid var(--fire);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:auto}
.skip:focus{left:16px;top:16px;z-index:9999;background:var(--fire);color:var(--black);padding:12px 22px;font-weight:800}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[id]{scroll-margin-top:calc(var(--hdr-h) + 16px)}

/* ---------- LAYOUT ---------- */
.wrap{max-width:1240px;margin-inline:auto;padding-inline:clamp(18px,4vw,32px)}
.wrap-narrow{max-width:860px;margin-inline:auto;padding-inline:clamp(18px,4vw,32px)}
.sec{padding:clamp(64px,7.5vw,110px) 0;position:relative}
.sec.tight{padding:clamp(40px,5vw,64px) 0}
.sec.paper2{background:var(--cream-2)}
.sec.on-dark{background:var(--char);color:var(--muted-dk)}
.sec.on-dark :where(h1,h2,h3,h4){color:#fff}
.sec.on-dark :where(h1,h2,h3) em{color:var(--fire)}
/* hazard rule at the top of every dark section */
.sec.on-dark::before,.band::before,.hero::before{
  content:'';position:absolute;left:0;right:0;top:0;height:8px;z-index:3;
  background:repeating-linear-gradient(135deg,var(--fire) 0 22px,var(--black) 22px 44px);
}

/* ---------- TYPE UTILITIES ---------- */
.eyebrow{
  font-family:var(--cond);font-size:.95rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--fire-dk);display:flex;align-items:center;gap:12px;margin-bottom:16px;
}
.eyebrow::before{content:'';width:34px;height:4px;background:var(--fire);flex:none}
.eyebrow.center{justify-content:center}
.eyebrow.center::after{content:'';width:34px;height:4px;background:var(--fire);flex:none}
.on-dark .eyebrow,.hero .eyebrow,.phead .eyebrow,.band .eyebrow,.triage .eyebrow{color:var(--fire)}
.head{max-width:820px;margin-bottom:clamp(34px,4vw,56px)}
.head.center{margin-inline:auto;text-align:center}
.head h1{font-size:clamp(2.6rem,5.6vw,4.6rem)}
.head h2{font-size:clamp(2.2rem,4.4vw,3.6rem)}
.head p{margin-top:18px;font-size:1.08rem;color:var(--muted);max-width:64ch}
.on-dark .head p{color:var(--muted-dk)}
.lede{font-size:1.12rem;color:var(--muted);max-width:64ch;line-height:1.7}
.on-dark .lede{color:var(--muted-dk)}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--cond);font-weight:800;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;
  border:2px solid transparent;border-radius:var(--r-sm);padding:14px 26px;cursor:pointer;line-height:1.1;
  transition:transform .14s var(--ease),box-shadow .14s var(--ease),background .14s,color .14s,border-color .14s;
}
.btn svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.btn-brass{background:var(--fire);color:var(--black);border-color:var(--fire);box-shadow:4px 4px 0 var(--black)}
.btn-brass:hover{background:var(--fire-2);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--black)}
.on-dark .btn-brass,.hero .btn-brass,.band .btn-brass,.triage .btn-brass,.ftr .btn-brass,.dock .btn-brass,.tool-out .btn-brass,.rail-card .btn-brass,.handled .btn-brass{box-shadow:4px 4px 0 rgba(255,255,255,.18)}
.btn-ember{background:var(--ember);color:#fff;border-color:var(--ember);box-shadow:4px 4px 0 var(--black)}
.btn-ember:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--black)}
.btn-ink{background:var(--black);color:#fff;border-color:var(--black)}
.btn-ink:hover{background:var(--fire);color:var(--black);border-color:var(--fire)}
.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--black);border-color:#fff}
.btn-outline{border-color:var(--black);color:var(--black)}
.btn-outline:hover{background:var(--black);color:#fff}
.btn-lg{padding:18px 34px;font-size:1.2rem}
.btn-block{width:100%}
.btn-row{display:flex;gap:14px;flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){.btn:hover{transform:none}}

/* ---------- AD BAR + HEADER ---------- */
.adbar{background:var(--black);color:rgba(255,255,255,.7);border-bottom:1px solid var(--line-dk)}
.adbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-block:7px;font-family:var(--cond);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}
.adbar strong{color:var(--fire);font-weight:700}
.adbar a{color:var(--gold);border-bottom:1px solid rgba(245,179,53,.4)}
.adbar a:hover{color:#fff}

.hdr{position:sticky;top:0;z-index:900;background:rgba(11,11,13,.96);backdrop-filter:blur(12px);border-bottom:2px solid var(--fire)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:10px}
.brand{display:flex;align-items:center;gap:12px;flex:none;min-width:0;max-width:calc(100% - 60px)}
.brand .mark{width:48px;height:auto;flex:none;filter:drop-shadow(0 3px 8px rgba(0,0,0,.6))}
.brand b{display:block;font-family:var(--display);font-size:1.55rem;color:#fff;letter-spacing:.03em;line-height:1;text-transform:uppercase}
.brand b i{font-style:normal;color:var(--fire)}
.brand small{display:block;font-family:var(--cond);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-top:4px;white-space:nowrap}
.links{display:flex;align-items:center;gap:clamp(10px,1.4vw,22px)}
.links > li > a:not(.btn),.sub-toggle{
  display:flex;align-items:center;gap:6px;background:none;border:0;cursor:pointer;white-space:nowrap;
  font-family:var(--cond);font-size:1.02rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.85);padding:8px 0;border-bottom:3px solid transparent;
}
.links > li > a:not(.btn):hover,.links > li > a:not(.btn)[aria-current="page"],
.sub-toggle:hover,.sub-toggle[aria-expanded="true"]{color:#fff;border-bottom-color:var(--fire)}
.links .btn{padding:11px 18px;font-size:.95rem;white-space:nowrap}
.links .tel{font-family:var(--cond)!important;color:var(--gold)!important;font-size:1.05rem!important}
.links .tel:hover{color:#fff!important}
@media (max-width:1240px){.links .tel{display:none}}
.sub-toggle svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.6;transition:transform .2s var(--ease)}
.sub-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.has-sub{position:relative}
.sub{position:absolute;top:calc(100% + 10px);left:-14px;min-width:320px;background:var(--cream);border:2px solid var(--black);box-shadow:var(--hard);padding:8px;display:none}
.sub[data-open="true"]{display:block}
.sub a{display:block;padding:11px 14px;font-family:var(--cond);font-size:1.05rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.sub a small{display:block;font-family:var(--sans);font-weight:400;font-size:.8rem;text-transform:none;letter-spacing:0;color:var(--muted);margin-top:2px;line-height:1.45}
.sub a:hover,.sub a[aria-current="page"]{background:var(--black);color:#fff}
.sub a:hover small,.sub a[aria-current="page"] small{color:rgba(255,255,255,.7)}
.burger{display:none;background:none;border:0;padding:9px;cursor:pointer}
.burger span{display:block;width:26px;height:3px;background:#fff;margin:5px 0;transition:transform .24s var(--ease),opacity .18s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ---------- HERO ---------- */
.hero{
  position:relative;color:#fff;overflow:hidden;isolation:isolate;
  padding:clamp(48px,6vw,88px) 0 clamp(100px,10vw,140px);
  background:
    radial-gradient(60% 55% at 78% 40%,rgba(255,106,26,.28),transparent 70%),
    radial-gradient(40% 40% at 10% 100%,rgba(200,34,27,.18),transparent 70%),
    var(--black);
}
.hero::after{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(70% 70% at 50% 40%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 40%,#000,transparent);
}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);align-items:center}
.hero h1{font-size:clamp(3.4rem,8vw,7.2rem);color:#fff;line-height:.9;letter-spacing:.005em}
.hero h1 span{display:block}
.hero h1 em{display:block;color:var(--fire);font-style:normal}
.hero .lede{font-size:clamp(1.05rem,1.35vw,1.2rem);color:rgba(255,255,255,.86);margin:24px 0 26px;max-width:52ch}
.alarm-tag{
  display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;
  font-family:var(--cond);font-size:.9rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);border:2px solid rgba(245,179,53,.5);padding:7px 14px;
}
.alarm-tag i{width:9px;height:9px;background:var(--ember);box-shadow:0 0 0 4px rgba(200,34,27,.3)}
@media (prefers-reduced-motion:no-preference){.alarm-tag i{animation:pulse 2.2s ease-in-out infinite}@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(200,34,27,.3)}50%{box-shadow:0 0 0 9px rgba(200,34,27,.06)}}}
.hero-checks{display:grid;gap:10px;margin-bottom:28px}
.hero-checks li{display:flex;align-items:flex-start;gap:12px;font-size:1rem;font-weight:500;color:rgba(255,255,255,.92)}
.hero-checks .tick{width:24px;height:24px;flex:none;background:var(--fire);display:grid;place-items:center;margin-top:1px}
.hero-checks .tick svg{width:14px;height:14px;fill:none;stroke:var(--black);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.creds{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}
.creds li{font-family:var(--cond);font-size:.85rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.85);border:2px solid rgba(255,255,255,.28);padding:5px 11px}
.hero-people{
  display:inline-flex;align-items:center;gap:14px;margin-top:26px;padding:10px 16px 10px 10px;
  background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.18);color:#fff;transition:border-color .16s,background .16s;max-width:100%;
}
.hero-people:hover{border-color:var(--fire);background:rgba(255,106,26,.1)}
.hero-people .faces{display:flex;flex:none}
.hero-people .faces img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--black);margin-left:-10px;background:var(--char-2)}
.hero-people .faces img:first-child{margin-left:0}
.hero-people b{display:block;font-family:var(--cond);font-size:1.05rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.1}
.hero-people small{display:block;font-size:.74rem;color:rgba(255,255,255,.66);margin-top:3px}
.hero-people svg{width:16px;height:16px;flex:none;stroke:var(--fire);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
/* the poster dissolves into the hero: no frame, feathered edges, headline over its faded left side */
.hero{min-height:clamp(640px,74vh,900px);display:flex;align-items:center;
  background:
    radial-gradient(70% 60% at 82% 45%,rgba(255,106,26,.32),transparent 68%),
    radial-gradient(45% 50% at 10% 100%,rgba(200,34,27,.16),transparent 70%),
    #120906 0%,var(--black);
  background-color:var(--black)}
.hero > .wrap{position:relative;z-index:2;width:100%}
.hero-grid{grid-template-columns:minmax(0,1fr)}
.hero-copy{max-width:580px;position:relative;z-index:2}
.hero-art{position:absolute;right:-8%;top:50%;transform:translateY(-50%);width:min(58vw,980px);margin:0;z-index:1;pointer-events:none}
.hero-art::before{content:'';display:block;position:absolute;inset:-24% -20%;z-index:-1;background:url("../images/hero-poster-760.webp") center/cover no-repeat;filter:blur(70px) saturate(1.2) brightness(.78);opacity:.8;-webkit-mask-image:radial-gradient(closest-side,#000 30%,transparent 100%);mask-image:radial-gradient(closest-side,#000 30%,transparent 100%)}
.hero-art picture,.hero-art img{width:100%;height:auto}
.hero-art img{border:0;box-shadow:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.3) 14%,#000 36%,#000 82%,rgba(0,0,0,.45) 93%,transparent 100%),linear-gradient(180deg,transparent 0%,rgba(0,0,0,.45) 4%,#000 11%,#000 89%,rgba(0,0,0,.45) 96%,transparent 100%);
  -webkit-mask-composite:source-in;
          mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.3) 14%,#000 36%,#000 82%,rgba(0,0,0,.45) 93%,transparent 100%),linear-gradient(180deg,transparent 0%,rgba(0,0,0,.45) 4%,#000 11%,#000 89%,rgba(0,0,0,.45) 96%,transparent 100%);
          mask-composite:intersect}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s var(--ease);pointer-events:none;z-index:2;border:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.3) 14%,#000 36%,#000 82%,rgba(0,0,0,.45) 93%,transparent 100%),linear-gradient(180deg,transparent 0%,rgba(0,0,0,.45) 4%,#000 11%,#000 89%,rgba(0,0,0,.45) 96%,transparent 100%);
  -webkit-mask-composite:source-in;
          mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.3) 14%,#000 36%,#000 82%,rgba(0,0,0,.45) 93%,transparent 100%),linear-gradient(180deg,transparent 0%,rgba(0,0,0,.45) 4%,#000 11%,#000 89%,rgba(0,0,0,.45) 96%,transparent 100%);
          mask-composite:intersect}
.hero-video.is-on{opacity:1}
.hero-art .sticker{display:none}
/* hero-art wide nudge */
@media (min-width:1500px){.hero-art{right:-14%}}
@media (max-width:1080px){
  .hero{min-height:0;display:block;padding-top:0}
  .hero-grid{gap:0}
  .hero-art{position:relative;right:auto;top:auto;transform:none;width:auto;max-width:none;margin:0 calc(-1 * clamp(18px,4vw,32px)) -8vw;order:-1}
  .hero-art img,.hero-video{
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 58%,rgba(0,0,0,.5) 82%,transparent 100%),linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
    -webkit-mask-composite:source-in;
            mask-image:linear-gradient(180deg,#000 0%,#000 58%,rgba(0,0,0,.5) 82%,transparent 100%),linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
            mask-composite:intersect}
  .hero-copy{max-width:none;position:relative;z-index:2}
}

/* ---------- TICKER ---------- */
.ticker{display:flex;align-items:stretch;background:var(--fire);color:var(--black);overflow:hidden;border-block:3px solid var(--black)}
.ticker-lbl,.ticker-end{flex:none;display:flex;align-items:center;padding:12px 20px;font-family:var(--cond);font-size:.95rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.ticker-lbl{background:var(--black);color:var(--fire)}
.ticker-end{background:var(--black);color:#fff}
.ticker-track{flex:1;overflow:hidden;display:flex;align-items:center}
.ticker-track ul{display:flex;white-space:nowrap;will-change:transform}
.ticker-track li{font-family:var(--display);font-size:1.25rem;text-transform:uppercase;letter-spacing:.03em;padding:0 28px;position:relative;color:var(--black)}
.ticker-track li::after{content:'\2715';position:absolute;right:-8px;top:50%;transform:translateY(-50%);font-size:.8rem;font-family:var(--sans);font-weight:900}
.ticker-track s{text-decoration-thickness:3px;text-decoration-color:var(--black)}
@media (prefers-reduced-motion:no-preference){.ticker-track ul{animation:tick 44s linear infinite}@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}}
@media (max-width:700px){.ticker-end{display:none}.ticker-lbl{padding:10px 12px;font-size:.8rem}}

/* ---------- TRIAGE ---------- */
.triage{background:var(--black);padding-bottom:clamp(48px,5vw,64px)}
.triage-panel{
  background:var(--char);border:2px solid var(--fire);box-shadow:10px 10px 0 var(--fire);
  padding:clamp(24px,3vw,40px);margin-top:clamp(-76px,-6vw,-56px);position:relative;z-index:5;
}
.triage-head{margin-bottom:24px;max-width:72ch}
.triage-panel h2{color:#fff;font-size:clamp(1.9rem,3.4vw,2.8rem);margin-bottom:8px}
.triage-panel .panel-sub{color:rgba(255,255,255,.72);font-size:.98rem;max-width:64ch}
.triage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tri{
  display:flex;flex-direction:column;gap:8px;text-align:left;background:var(--char-2);border:2px solid var(--line-dk);
  padding:18px;cursor:pointer;color:#fff;font-family:var(--sans);transition:border-color .15s,transform .15s var(--ease),background .15s;
}
.tri:hover{border-color:var(--fire);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--fire)}
.tri[aria-expanded="true"]{border-color:var(--fire);background:var(--black);box-shadow:4px 4px 0 var(--fire)}
.tri .ico-sm{width:28px;height:28px;stroke:var(--fire);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tri b{font-family:var(--cond);font-size:1.25rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;line-height:1.1}
.tri span{font-size:.82rem;color:rgba(255,255,255,.66);line-height:1.45}
.tri .clock{font-family:var(--cond);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-top:2px}
@media (prefers-reduced-motion:reduce){.tri:hover{transform:none}}
.tri-answers{margin-top:14px}
.tri-answer{background:var(--cream);color:var(--body);padding:clamp(22px,2.6vw,32px);border-left:8px solid var(--ember);position:relative}
.tri-answer[hidden]{display:none}
.tri-answer h3{font-size:1.5rem;margin-bottom:12px}
.tri-answer > p{font-size:.98rem;margin-bottom:16px;max-width:74ch}
.tri-answer ol{counter-reset:m;display:grid;gap:10px;margin-bottom:18px}
.tri-answer ol li{position:relative;padding-left:34px;font-size:.95rem;counter-increment:m;max-width:72ch}
.tri-answer ol li::before{content:counter(m);position:absolute;left:0;top:0;width:24px;height:24px;background:var(--black);color:var(--fire);font-family:var(--display);font-size:.9rem;display:grid;place-items:center}
.authority{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:14px;border-top:2px dashed var(--line)}
.authority .lbl{font-family:var(--cond);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.authority code{font-family:var(--mono);font-size:.72rem;font-weight:600;background:#fff;color:var(--fire-dk);border:1.5px solid var(--black);padding:4px 9px}
.tri-answer .after{margin-top:18px;display:flex;gap:11px;flex-wrap:wrap;align-items:center}
.tri-answer .after .note{font-size:.86rem;color:var(--muted);flex-basis:100%}
.tri-ghost{display:none}

/* ---------- CREDIBILITY STRIP ---------- */
.credstrip{background:var(--char);border-bottom:2px solid var(--black)}
.credstrip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-block:0}
.credstrip .item{display:flex;gap:14px;align-items:flex-start;padding:clamp(22px,2.6vw,30px) clamp(14px,1.6vw,22px);border-left:1px solid var(--line-dk)}
.credstrip .item:first-child{border-left:0}
.credstrip .ico{width:40px;height:40px;flex:none;background:var(--fire);display:grid;place-items:center}
.credstrip .ico svg{width:20px;height:20px;stroke:var(--black);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.credstrip b{display:block;color:#fff;font-family:var(--cond);font-size:1.15rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.15}
.credstrip span{display:block;font-size:.84rem;color:rgba(255,255,255,.66);margin-top:4px;line-height:1.45}

/* ---------- CARDS ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{
  background:#fff;border:2px solid var(--black);box-shadow:var(--hard);padding:clamp(24px,2.6vw,30px);
  position:relative;display:flex;flex-direction:column;transition:transform .16s var(--ease),box-shadow .16s var(--ease);
}
.card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--fire)}
.card .ico{width:48px;height:48px;background:var(--black);display:grid;place-items:center;margin-bottom:18px;flex:none}
.card .ico svg{width:24px;height:24px;stroke:var(--fire);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.card h3{font-size:1.5rem;margin-bottom:10px}
.card p{font-size:.95rem;color:var(--muted)}
.card .more{margin-top:auto;padding-top:16px;display:inline-flex;align-items:center;gap:8px;font-family:var(--cond);font-size:.95rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--fire-dk)}
.card .more svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s}
.card:hover .more svg{transform:translateX(5px)}
.card a.stretch{position:absolute;inset:0}
.on-dark .card{background:var(--char-2);border-color:var(--line-dk);box-shadow:none;color:#fff}
.on-dark .card h3{color:#fff}
.on-dark .card:hover{box-shadow:6px 6px 0 var(--fire);border-color:var(--fire)}
@media (prefers-reduced-motion:reduce){.card:hover{transform:none}}

/* ---------- STEPS ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,28px)}
.step{position:relative;padding-top:20px;border-top:3px solid var(--fire)}
.step .n{font-family:var(--display);font-size:3.2rem;line-height:1;color:var(--fire)}
.step h3{font-size:1.4rem;margin:10px 0 8px}
.step p{font-size:.92rem;color:var(--muted)}
.on-dark .step p{color:rgba(255,255,255,.7)}

/* ---------- MATTERS ---------- */
.matters{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.matter{background:#fff;border:2px solid var(--black);box-shadow:var(--hard);padding:clamp(24px,2.6vw,30px)}
.matter .kind{font-family:var(--cond);font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fire-dk);margin-bottom:10px}
.matter h3{font-size:1.7rem;margin-bottom:10px}
.matter p{font-size:.94rem;color:var(--muted)}
.matter .posture{margin-top:16px;padding-top:13px;border-top:2px dashed var(--line);font-size:.84rem;color:var(--muted)}
.matter .posture b{color:var(--ink)}
.disclaimer-box{margin-top:26px;background:#fff;border:2px dashed var(--black);padding:16px 20px;font-size:.88rem;color:var(--muted);max-width:84ch;line-height:1.65}
.disclaimer-box b{color:var(--ink)}
.disclaimer-box a{color:var(--fire-dk)!important;font-weight:700}

/* ---------- FIRM / PEOPLE ---------- */
.atty{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,4.5vw,64px);align-items:center}
.facts{display:grid;gap:18px;margin-top:26px}
.fact{display:flex;gap:14px;align-items:flex-start}
.fact .ico{width:40px;height:40px;flex:none;background:var(--black);display:grid;place-items:center}
.fact .ico svg{width:20px;height:20px;stroke:var(--fire);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fact b{display:block;font-family:var(--cond);font-size:1.2rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ink)}
.fact p{font-size:.92rem;color:var(--muted);margin-top:3px}
.prose .people{max-width:none}.prose .people li{padding-left:0;font-size:inherit}.prose .people li::before{display:none}
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.person{background:#fff;border:2px solid var(--black);box-shadow:var(--hard);display:flex;flex-direction:column;overflow:hidden}
.person .shot{position:relative;background:var(--char);aspect-ratio:4/5;overflow:hidden;border-bottom:2px solid var(--black)}
.person .shot img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.person .role{position:absolute;left:0;bottom:0;background:var(--fire);color:var(--black);font-family:var(--cond);font-size:.85rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px}
.person .txt{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.person h3{font-size:1.6rem;margin-bottom:10px}
.person .bars{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px}
.person .bars li{font-family:var(--cond);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--black);border:1.5px solid var(--black);padding:3px 8px}
.person p{font-size:.92rem;color:var(--muted)}
.person .fed{margin-top:auto;padding-top:13px;border-top:2px dashed var(--line);font-size:.83rem;color:var(--muted);line-height:1.6}
.person .fed b{display:block;font-family:var(--cond);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:4px}
.badge-float{position:absolute;right:-10px;top:18px;z-index:3;background:var(--gold);color:var(--black);border:3px solid var(--black);font-family:var(--display);font-size:1rem;text-transform:uppercase;letter-spacing:.03em;padding:8px 14px;transform:rotate(3deg);box-shadow:4px 4px 0 var(--black)}
@media (max-width:620px){.badge-float{right:8px;top:10px;font-size:.85rem;padding:6px 10px}}
.teamshot{position:relative}
.badge-float em{font-style:normal;color:var(--ember)}
.bite-corner{position:absolute;left:-22px;top:-22px;z-index:3;width:clamp(84px,9vw,118px);line-height:0;transform:rotate(-8deg);filter:drop-shadow(4px 4px 0 var(--black))}
.bite-corner img{width:100%;height:auto;border-radius:50%;border:4px solid var(--black)!important;box-shadow:0 0 0 4px var(--fire)!important}
@media (max-width:620px){.bite-corner{left:-8px;top:-14px;width:76px}}
@media (prefers-reduced-motion:no-preference){.teamshot:hover .bite-corner{animation:bite-chomp .5s ease-in-out 2}@keyframes bite-chomp{0%,100%{transform:rotate(-8deg) scale(1)}50%{transform:rotate(-2deg) scale(1.12)}}}
.teamshot img{width:100%;display:block;border:3px solid var(--black);box-shadow:10px 10px 0 var(--fire)}
.teamshot figcaption{position:absolute;inset:auto 3px 3px 3px;padding:20px;background:linear-gradient(180deg,transparent,rgba(11,11,13,.94));color:#fff;font-size:.88rem;line-height:1.5}
.teamshot figcaption b{display:block;font-family:var(--cond);font-size:1.25rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:2px}

/* pack */
.pack-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4.5vw,64px);align-items:center}
.pack-photo{margin:0;position:relative}
.pack-photo img{width:100%;height:auto;border:3px solid var(--black);box-shadow:12px 12px 0 var(--fire)}
.roster{display:grid;gap:12px;margin:26px 0 28px}
.roster li{display:flex;gap:14px;align-items:center;background:#fff;border:2px solid var(--black);padding:12px 16px 12px 12px;box-shadow:4px 4px 0 var(--black)}
.roster img{width:60px;height:60px;border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--black)}
.roster b{display:block;font-family:var(--cond);font-size:1.25rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ink);line-height:1.1}
.roster span{display:block;font-size:.9rem;color:var(--body);margin-top:2px}
.roster em{display:block;font-style:normal;font-family:var(--cond);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fire-dk);margin-top:4px}

/* playbook */
.pb{display:grid;gap:16px}
.pb-row{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);background:#fff;border:2px solid var(--black);box-shadow:var(--hard)}
.pb-row .their,.pb-row .ours{padding:clamp(18px,2.4vw,28px)}
.pb-row .their{background:#FBEDE8;border-right:2px solid var(--black)}
.pb-row .ours{border-left:2px solid var(--black)}
.pb-row .tag{display:inline-block;font-family:var(--cond);font-size:.85rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;padding:3px 8px}
.pb-row .their .tag{background:var(--ember);color:#fff}
.pb-row .ours .tag{background:var(--black);color:var(--fire)}
.pb-row p{font-size:.98rem;color:var(--body);line-height:1.6}
.pb-row .their p{color:#5B2B22}
.pb-row .ours p{font-weight:500}
.pb-row .ours a{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-family:var(--cond);font-size:.9rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--fire-dk)}
.pb-row .ours a svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.pb-row .vs{display:grid;place-items:center;background:var(--black);color:var(--fire)}
.pb-row .vs svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:820px){.pb-row{grid-template-columns:1fr}.pb-row .vs{height:44px}.pb-row .their{border-right:0;border-bottom:2px solid var(--black)}.pb-row .ours{border-left:0}}

/* process with photo */
.process-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(28px,4.5vw,64px);align-items:center}
.process-grid .steps{grid-template-columns:repeat(2,1fr)}
.process-photo{margin:0}
.process-photo img{width:100%;height:auto;border:3px solid var(--black);box-shadow:10px 10px 0 var(--fire)}
.process-photo figcaption{margin-top:16px;font-size:.9rem;line-height:1.55;color:rgba(255,255,255,.72);border-left:4px solid var(--fire);padding-left:14px}
@media (max-width:1080px){.process-grid{grid-template-columns:1fr}.process-photo{max-width:560px}}
@media (max-width:620px){.process-grid .steps{grid-template-columns:1fr}}

/* field */
.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(190px,21vw,300px);grid-auto-flow:dense;gap:18px}
.field-item{margin:0;position:relative;overflow:hidden;background:var(--black);border:3px solid var(--black);box-shadow:var(--hard)}
.field-item picture,.field-item img{display:block;width:100%;height:100%}
.field-item img{object-fit:cover;transition:transform .6s var(--ease)}
.field-item:nth-child(1){grid-column:span 2;grid-row:span 2}
.field-item:nth-child(1) img{object-position:50% 30%}
.field-item:nth-child(2){grid-row:span 2}
.field-item:nth-child(2) img{object-position:50% 30%}
.field-item:nth-child(7){grid-column:span 2}
.field-item:nth-child(7) img{object-position:50% 35%}
.field-item:hover img{transform:scale(1.03)}
.field-item figcaption{position:absolute;inset:auto 0 0 0;padding:20px;color:#fff;background:linear-gradient(180deg,transparent,rgba(11,11,13,.55) 30%,rgba(11,11,13,.94))}
.field-item b{display:block;font-family:var(--display);font-size:clamp(1.15rem,1.5vw,1.6rem);text-transform:uppercase;line-height:1;letter-spacing:.02em;color:var(--gold)}
.field-item span{display:block;font-size:.88rem;line-height:1.45;color:rgba(255,255,255,.86);margin-top:6px;max-width:60ch}
@media (max-width:1080px){.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(180px,26vw,280px)}.field-item:nth-child(1){grid-column:span 2;grid-row:span 2}.field-item:nth-child(2){grid-row:span 2}.field-item:nth-child(7){grid-column:span 2}}
@media (max-width:700px){.field-grid{grid-template-columns:1fr;grid-auto-rows:auto}.field-item{grid-column:auto!important;grid-row:auto!important}.field-item img{aspect-ratio:4/3;height:auto}.field-item:nth-child(2) img{aspect-ratio:3/4}}
@media (prefers-reduced-motion:reduce){.field-item:hover img{transform:none}}

/* numbers */
.num-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.num{background:var(--char-2);border:2px solid var(--line-dk);border-top:6px solid var(--fire);padding:clamp(20px,2.4vw,30px)}
.num b{display:block;font-family:var(--display);font-size:clamp(3.4rem,6vw,5.2rem);line-height:.95;color:var(--fire);letter-spacing:.01em}
.num span{display:block;font-family:var(--cond);font-size:1rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-top:10px}
.num small{display:block;font-size:.9rem;color:rgba(255,255,255,.72);margin-top:8px;line-height:1.5}
@media (max-width:860px){.num-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.num-grid{grid-template-columns:1fr}}

/* bilingual */
.bilingual{background:var(--black)}
.bi-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3.5vw,44px)}
.bi-col{background:var(--char);border:2px solid var(--line-dk);border-top:6px solid var(--fire);padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;align-items:flex-start}
.bi-col .btn{margin-top:auto}
.bi-col h2{color:#fff;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.02;margin-bottom:14px;min-height:2.04em}
.bi-col[lang="ru"] h2{font-family:'Oswald','Barlow Condensed',sans-serif;font-weight:700;letter-spacing:0;font-size:clamp(1.7rem,2.98vw,2.5rem);line-height:1.02;min-height:2.04em}
.bi-col p{color:rgba(255,255,255,.84);font-size:1.02rem;line-height:1.7;margin-bottom:24px}
.bi-note{margin-top:18px;font-size:.88rem;color:rgba(255,255,255,.62);text-align:center;font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase}
@media (max-width:820px){.bi-grid{grid-template-columns:1fr}}

/* tools teaser */
.teaser .card h3{font-size:1.55rem}

/* faq */
.faq-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(26px,4vw,64px);align-items:start}
.faq-split .faq{max-width:none}
.faq-intro{position:sticky;top:calc(var(--hdr-h) + 20px)}
.faq-intro h2{font-size:clamp(2.2rem,4vw,3.2rem);margin-bottom:14px}
.faq-intro p{color:var(--muted);margin-bottom:20px;max-width:40ch}
.faq-card{margin-top:26px;background:var(--black);color:#fff;padding:20px 22px;border-left:8px solid var(--fire)}
.faq-card b{display:block;font-family:var(--display);font-size:1.4rem;text-transform:uppercase;margin-bottom:4px}
.faq-card span{display:block;font-size:.9rem;color:rgba(255,255,255,.75)}
.faq-card a{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-family:var(--cond);font-size:1.1rem;font-weight:800;letter-spacing:.06em;color:var(--fire)}
.faq-card a svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:960px){.faq-split{grid-template-columns:1fr}.faq-intro{position:static}}
.faq-group{margin-bottom:44px}
.faq-group > h2{font-family:var(--cond);font-size:1.1rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--fire-dk);display:flex;align-items:center;gap:12px;margin-bottom:16px}
.faq-group > h2::after{content:'';height:3px;flex:1;background:var(--black);max-width:120px}
.faq{max-width:900px;margin-inline:auto;display:grid;gap:10px}
.q{background:#fff;border:2px solid var(--black)}
.q .qh{margin:0;font:inherit;text-transform:none;letter-spacing:normal;line-height:inherit;color:inherit}
.q button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;text-align:left;background:none;border:0;cursor:pointer;padding:18px 20px;font-family:var(--sans);font-size:1.02rem;font-weight:700;color:var(--ink);line-height:1.45}
.q button:hover{color:var(--fire-dk)}
.q .pm{width:28px;height:28px;flex:none;background:var(--black);display:grid;place-items:center;color:var(--fire);transition:transform .24s var(--ease),background .2s}
.q .pm svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:3;stroke-linecap:round}
.q button[aria-expanded="true"] .pm{background:var(--fire);color:var(--black);transform:rotate(135deg)}
.q .a{padding:0 20px 20px}
.q .a p{font-size:.95rem;color:var(--muted);line-height:1.7}
.q .a p + p{margin-top:.7em}
.q .a code{font-family:var(--mono);font-size:.85em;color:var(--fire-dk)}
.q .a cite{font-style:italic;color:var(--fire-dk)}
.js .q .a[hidden]{display:none}

/* ---------- CTA BAND ---------- */
.band{position:relative;color:#fff;text-align:center;padding:clamp(72px,8vw,110px) 0;overflow:hidden;isolation:isolate;background:var(--black)}
.band::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,11,13,.9) 0%,rgba(11,11,13,.72) 45%,rgba(11,11,13,.6) 100%)}
@media (max-width:700px){.band{background-image:url("../images/band-skyline-1200.webp")}}
.band .ghost{position:absolute;right:3%;bottom:-6%;width:min(200px,24vw);opacity:.16;pointer-events:none;z-index:-1;line-height:0}
.band .ghost img{width:100%;height:auto}
.band h2{color:#fff;font-size:clamp(2.4rem,5vw,4.2rem)}
.band h2 em{color:var(--fire)}
.band p{color:rgba(255,255,255,.82);max-width:58ch;margin:18px auto 32px;font-size:1.06rem}
.band .btn-row{justify-content:center}
.chain-div{line-height:0;display:flex;justify-content:center;padding:0 0 12px}
.chain-div svg{width:min(360px,64%);height:auto;opacity:.8}

/* ---------- PROSE + SIDEBAR (practice pages) ---------- */
.prose{max-width:74ch;min-width:0}
.prose > * + *{margin-top:1.1em}
.prose h2{font-size:clamp(1.9rem,3vw,2.6rem);margin-top:2em}
.prose h3{font-size:clamp(1.3rem,1.9vw,1.6rem);margin-top:1.7em}
.prose p,.prose li{font-size:1.03rem;color:var(--body);line-height:1.72}
.prose ul,.prose ol{display:grid;gap:.6em;padding-left:0}
.prose ul:not([class]) li{position:relative;padding-left:26px}
.prose ul:not([class]) li::before{content:'';position:absolute;left:4px;top:.7em;width:10px;height:10px;background:var(--fire)}
.prose ol:not([class]){counter-reset:p}
.prose ol:not([class]) li{position:relative;padding-left:34px;counter-increment:p}
.prose ol:not([class]) li::before{content:counter(p);position:absolute;left:0;top:.1em;width:24px;height:24px;background:var(--black);color:var(--fire);font-family:var(--display);font-size:.9rem;display:grid;place-items:center}
.prose strong{font-weight:700;color:var(--ink)}
.prose a{color:var(--fire-dk);font-weight:600;border-bottom:2px solid rgba(169,56,0,.35)}
.prose a:hover{border-bottom-color:var(--fire-dk)}
.prose cite{font-style:italic;color:var(--fire-dk)}
.prose code{font-family:var(--mono);font-size:.86em;color:var(--fire-dk)}
.callout{background:#fff;border:2px solid var(--black);padding:22px 24px 22px 34px;box-shadow:inset 10px 0 0 var(--fire),var(--hard)}
.callout.alarm{background:#FBEDE8;box-shadow:inset 10px 0 0 var(--ember),var(--hard)}
.callout h3{margin-top:0;font-size:1.35rem;margin-bottom:8px}
.callout p{font-size:.95rem;color:var(--muted)}
.callout p + p{margin-top:.7em}
.callout .lbl{font-family:var(--cond);font-size:.85rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ember);margin-bottom:6px;display:block}
.callout:not(.alarm) .lbl{color:var(--fire-dk)}
.tbl-wrap{overflow-x:auto;max-width:100%;border:2px solid var(--black);background:#fff;box-shadow:var(--hard)}
table.dl{width:100%;border-collapse:collapse;font-size:.93rem;min-width:520px}
table.dl th,table.dl td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
table.dl thead th{background:var(--black);color:#fff;font-family:var(--cond);font-size:.85rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-bottom:0}
table.dl tbody tr:last-child td{border-bottom:0}
table.dl tbody tr:nth-child(even){background:var(--cream)}
table.dl td:first-child{font-weight:700;color:var(--ink)}
table.dl code{font-family:var(--mono);font-size:.85em;color:var(--fire-dk)}
.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(30px,4vw,60px);align-items:start}
.rail{position:sticky;top:calc(var(--hdr-h) + 20px);display:grid;gap:18px}
.rail-card{background:var(--black);color:rgba(255,255,255,.82);padding:26px;border-top:8px solid var(--fire)}
.rail-card h3{color:#fff;font-size:1.5rem;margin-bottom:9px}
.rail-card p{font-size:.9rem;margin-bottom:16px}
.rail-card .btn{width:100%}
.rail-card .btn + .btn{margin-top:10px}
.rail-list{background:#fff;border:2px solid var(--black);padding:20px 22px}
.rail-list h3{font-family:var(--cond);font-size:.9rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--fire-dk);margin-bottom:10px}
.rail-list a{display:block;padding:9px 0;font-family:var(--cond);font-size:1.05rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--line)}
.rail-list a:last-child{border-bottom:0}
.rail-list a:hover,.rail-list a[aria-current="page"]{color:var(--fire-dk)}
.rail-badge{display:flex;align-items:center;gap:14px;background:var(--char);border:2px solid var(--black);padding:16px 18px}
.rail-crest{flex:none;width:52px;line-height:0}
.rail-crest img{width:100%;height:auto}
.rail-badge p{margin:0;font-size:.84rem;line-height:1.45;color:rgba(255,255,255,.72)}
.rail-badge b{display:block;color:#fff;font-family:var(--cond);font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase}
.rail-badge span{display:block;margin-top:3px}

/* page head */
.phead{background:var(--black);color:#fff;padding:clamp(56px,7vw,96px) 0;position:relative;overflow:hidden;isolation:isolate}
.phead::before{content:'';position:absolute;left:0;right:0;top:0;height:8px;z-index:3;background:repeating-linear-gradient(135deg,var(--fire) 0 22px,var(--black) 22px 44px)}
.phead::after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 88% 10%,rgba(255,106,26,.28),transparent 55%)}
.phead .ghost{position:absolute;right:0;top:0;bottom:0;width:min(58%,760px);z-index:-1;pointer-events:none;background:url("../images/hero-crop-1536.webp") center right/cover no-repeat;opacity:.34;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.75) 45%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.75) 45%,#000 100%)}
.phead .ghost svg,.phead .ghost img{display:none}
.phead .wrap{position:relative;z-index:1}
.phead h1{color:#fff;font-size:clamp(2.8rem,6vw,5rem);max-width:20ch}
.phead h1 em{color:var(--fire)}
.phead .lede{color:rgba(255,255,255,.86);margin-top:18px;font-size:1.1rem;max-width:60ch}
.phead .btn-row{margin-top:26px}
.clocks{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.clocks li{display:flex;flex-direction:column;gap:3px;background:var(--char);border:2px solid var(--line-dk);border-left:6px solid var(--fire);padding:9px 14px;min-width:170px}
.clocks b{font-family:var(--cond);font-size:1.1rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#fff;line-height:1.15}
.clocks span{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.crumbs{padding-block:14px;background:var(--cream-2);border-bottom:2px solid var(--black)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-family:var(--cond);font-size:.95rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.crumbs a{color:var(--fire-dk)}
.crumbs li + li::before{content:'/';margin-right:8px;color:rgba(20,20,24,.35)}
.crumbs [aria-current="page"]{color:var(--ink)}

/* first 72 hours */
.f72{background:var(--black)}
.f72-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:f}
.f72-grid li{position:relative;background:var(--char);border:2px solid var(--line-dk);padding:clamp(22px,2.4vw,30px) clamp(20px,2.4vw,28px);counter-increment:f}
.f72-grid li::before{content:counter(f);position:absolute;top:-16px;left:18px;width:34px;height:34px;background:var(--fire);color:var(--black);font-family:var(--display);display:grid;place-items:center;font-size:1.1rem;border:2px solid var(--black)}
.f72-grid .when{display:block;font-family:var(--cond);font-size:.85rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:8px 0 10px}
.f72-grid b{display:block;font-family:var(--display);font-size:1.6rem;text-transform:uppercase;color:#fff;line-height:1;margin-bottom:8px}
.f72-grid p{font-size:.93rem;color:rgba(255,255,255,.76);line-height:1.6}
@media (max-width:860px){.f72-grid{grid-template-columns:1fr;gap:28px}}

/* handled */
.handled{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(26px,4vw,56px);align-items:center;background:var(--char);color:#fff;padding:clamp(30px,4.5vw,64px) 0;position:relative}
.handled::before{content:'';position:absolute;left:0;right:0;top:0;height:8px;background:repeating-linear-gradient(135deg,var(--fire) 0 22px,var(--black) 22px 44px)}
.handled > *{padding-inline:clamp(18px,4vw,32px)}
.handled-txt{max-width:640px;margin-left:auto;padding-right:0}
.handled h2{color:#fff;font-size:clamp(1.9rem,3vw,2.7rem);margin:10px 0 14px}
.handled p{color:rgba(255,255,255,.8);margin-bottom:22px;max-width:56ch}
.handled-people{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:640px;padding-left:0}
.handled-people .handled-photo{grid-column:1 / -1}
.handled-people .handled-photo img{aspect-ratio:16/9;object-fit:cover;object-position:50% 30%}
.handled-people figure{margin:0}
.handled-people img{width:100%;height:auto;border:2px solid #fff}
.handled-people figcaption{margin-top:10px;font-size:.86rem;line-height:1.45}
.handled-people b{display:block;color:#fff;font-family:var(--cond);font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase}
.handled-people span{display:block;color:var(--gold);font-size:.82rem;margin-top:1px}
.handled-people em{display:block;font-style:normal;margin-top:5px;font-family:var(--mono);font-size:.74rem;letter-spacing:.05em;color:rgba(255,255,255,.62)}
.photofig{margin:clamp(26px,4vw,40px) 0 0;max-width:560px}
.photofig img{width:100%;height:auto;border:3px solid var(--black);box-shadow:var(--hard)}
.photofig figcaption{margin-top:12px;font-size:.85rem;line-height:1.5;color:var(--muted);border-left:4px solid var(--fire);padding-left:12px}
.photofig.wide{max-width:none}

/* document schematics */
.docx{background:var(--cream-2)}
.docx .head{max-width:74ch;margin-bottom:clamp(22px,3vw,34px)}
.docx .head p{color:var(--muted);margin-top:12px}
.docx-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1fr);gap:clamp(26px,4vw,54px);align-items:start}
.docx-fig{margin:0;position:sticky;top:calc(var(--hdr-h) + 20px)}
.docx-fig .docdiag{width:100%;height:auto}
.docx-fig figcaption{margin-top:14px;font-family:var(--mono);font-size:.78rem;line-height:1.55;color:var(--muted);border-top:2px solid var(--black);padding-top:10px}
.docx-list{display:grid;gap:2px;margin:0;padding:0}
.docx-list li{display:grid;grid-template-columns:36px 1fr;gap:16px;align-items:start;padding:18px 0;border-top:2px solid var(--line)}
.docx-list li:first-child{border-top:0;padding-top:0}
.docx-list .n{width:36px;height:36px;background:var(--fire);color:var(--black);display:grid;place-items:center;font-family:var(--display);font-size:1.1rem;border:2px solid var(--black)}
.docx-list b{display:block;font-family:var(--cond);font-size:1.25rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ink);line-height:1.2}
.docx-list p{margin-top:7px;color:var(--body);font-size:.95rem;line-height:1.62}
.docx-list cite{font-style:italic;font-weight:700;color:var(--fire-dk)}
.docx-foot{margin-top:clamp(24px,3vw,36px);max-width:74ch;font-size:.95rem;color:var(--muted);border-left:4px solid var(--fire);padding-left:16px}

/* art slots */
.artslot{margin:0 0 clamp(26px,3.5vw,44px);aspect-ratio:var(--ar,3/2);overflow:hidden;border:3px solid var(--black);box-shadow:10px 10px 0 var(--fire)}
.artslot img{width:100%;height:100%;object-fit:cover;display:block}
.artslot.is-empty{display:grid;place-items:center;text-align:center;background:repeating-linear-gradient(45deg,rgba(255,106,26,.08) 0 12px,transparent 12px 24px),var(--cream-2);border:2px dashed var(--fire);box-shadow:none}
.artslot-in{max-width:52ch;padding:clamp(16px,3vw,30px)}
.artslot-id{display:inline-block;font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.16em;background:var(--black);color:var(--fire);padding:.3rem .6rem;margin-bottom:.7rem}
.artslot-in b{display:block;font-family:var(--display);font-size:clamp(1rem,1.9vw,1.3rem);color:var(--ink)}
.artslot-in p{margin-top:.5rem;font-size:.9rem;line-height:1.55;color:var(--muted)}
.artslot-meta{display:block;margin-top:.85rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;color:var(--fire-dk)}
.artband{padding-bottom:0}
.artband .artslot{margin-bottom:0;max-width:1040px;margin-inline:auto}
.artslot.wide{width:100%;max-width:1040px;margin-inline:auto}

/* creed / office / 404 */
.creed{background:var(--black);color:#fff}
.creed-grid{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(26px,5vw,64px);align-items:center}
.creed-badge{line-height:0;filter:drop-shadow(0 20px 40px rgba(0,0,0,.6))}
.creed-badge img{width:100%;height:auto}
.creed h2{color:#fff;font-size:clamp(2.2rem,4vw,3.4rem);margin-bottom:16px}
.creed h2 em{color:var(--fire)}
.creed p{color:rgba(255,255,255,.84);margin-bottom:14px;max-width:70ch}
.creed .creed-note{font-size:.88rem;color:rgba(255,255,255,.62);border-left:4px solid var(--fire);padding-left:15px;margin-top:22px;margin-bottom:0}
.office{background:var(--cream)}
.office-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4.5vw,64px);align-items:center}
.office-photo{margin:0}
.office-photo img{width:100%;height:auto;border:3px solid var(--black);box-shadow:12px 12px 0 var(--fire)}
.office-shots{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.office-shots img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border:2px solid var(--black);box-shadow:4px 4px 0 var(--black)}
.lost-grid{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(24px,5vw,58px);align-items:center}
.lost-dog{line-height:0}
.lost-dog img{width:100%;height:auto;border:3px solid var(--black);box-shadow:var(--hard-fire)}
.lost-txt h2{font-size:clamp(2rem,3.6vw,3rem);margin:8px 0 14px}
.lost-note{margin-top:18px;padding:14px 16px;background:#FBEDE8;border-left:6px solid var(--ember);font-size:.92rem}
.lost-note a{color:var(--ember);font-weight:800;text-decoration:underline}

/* ---------- CONTACT + FORMS ---------- */
.contact{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(30px,4vw,54px);align-items:start}
.det{display:flex;gap:14px;align-items:flex-start;margin-bottom:19px}
.det .ico{width:42px;height:42px;flex:none;background:var(--black);display:grid;place-items:center}
.det .ico svg{width:20px;height:20px;stroke:var(--fire);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.det b{display:block;font-family:var(--cond);font-size:1.15rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.det p{font-size:.92rem;color:var(--muted);margin-top:2px}
.det a{color:var(--fire-dk);font-weight:700}
form.cf{background:#fff;border:2px solid var(--black);border-top:8px solid var(--fire);padding:clamp(24px,3vw,36px);box-shadow:var(--hard)}
form.cf .fg{margin-bottom:17px}
form.cf .fr{display:grid;grid-template-columns:1fr 1fr;gap:17px}
form.cf label{display:block;font-family:var(--cond);font-size:1.02rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);margin-bottom:7px}
form.cf label .req{color:var(--ember);margin-left:2px}
form.cf .hint{display:block;font-family:var(--sans);font-weight:400;font-size:.8rem;text-transform:none;letter-spacing:0;color:var(--muted);margin-top:3px}
form.cf input,form.cf select,form.cf textarea{width:100%;padding:13px 15px;background:var(--cream);border:2px solid var(--black);font-size:1rem;font-family:inherit;transition:box-shadow .16s,background .16s}
form.cf textarea{resize:vertical;min-height:118px}
form.cf select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23141418' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:12px;padding-right:40px}
form.cf :is(input,select,textarea):focus{outline:none;background:#fff;box-shadow:4px 4px 0 var(--fire)}
form.cf :is(input,select,textarea)[aria-invalid="true"]{border-color:var(--ember);background:#FBEDE8}
form.cf .err{display:block;font-size:.8rem;color:var(--ember);font-weight:700;margin-top:6px}
form.cf .err[hidden]{display:none}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
form.cf .consent{display:flex;gap:11px;align-items:flex-start;margin-bottom:19px}
form.cf .consent input{width:26px;height:26px;flex:none;margin-top:1px;accent-color:var(--fire)}
form.cf .consent label{font-family:var(--sans);font-size:.84rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted);line-height:1.55;margin:0}
form.cf .consent a{color:var(--fire-dk);font-weight:700}
.form-note{font-size:.82rem;color:var(--muted);margin-top:14px;line-height:1.6}
.form-note a{color:var(--fire-dk)!important}
.alert{padding:15px 18px;margin-bottom:22px;font-size:.93rem;font-weight:600;display:flex;gap:11px;align-items:flex-start;border:2px solid}
.alert svg{width:20px;height:20px;flex:none;margin-top:1px;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.alert.ok{background:#EDF7EE;border-color:#1D5626;color:#1D5626}
.alert.ok svg{stroke:#1D5626}
.alert.bad{background:#FBEDE8;border-color:#8C2716;color:#8C2716}
.alert.bad svg{stroke:#8C2716}

/* tools */
.tool-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(26px,4vw,56px);align-items:start}
.tool-in h2{font-size:clamp(2.2rem,4vw,3.4rem);margin-bottom:12px}
.tool-form{margin-top:22px}
.tool-form .mode{border:0;padding:0;margin:0 0 17px}
.tool-form legend{font-family:var(--cond);font-size:1.02rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);margin-bottom:8px}
.tool-form .radio{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;margin-right:18px;cursor:pointer}
.tool-form .radio input{width:18px;height:18px;accent-color:var(--fire)}
.presets{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px;font-size:.88rem;color:var(--muted)}
.chip{font-family:var(--cond);font-size:.9rem;font-weight:700;letter-spacing:.04em;background:#fff;border:2px solid var(--black);padding:6px 12px;cursor:pointer;color:var(--ink)}
.chip:hover{background:var(--black);color:var(--fire)}
.tool-out{position:sticky;top:calc(var(--hdr-h) + 20px);background:var(--black);color:#fff;padding:clamp(22px,3vw,34px);border:2px solid var(--black);box-shadow:12px 12px 0 var(--fire)}
.tool-out .big{padding-bottom:18px;border-bottom:2px solid var(--line-dk);margin-bottom:16px}
.tool-out .lbl{display:block;font-family:var(--cond);font-size:.9rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--fire)}
.tool-out .big b{display:block;font-family:var(--display);font-size:clamp(3.6rem,7vw,5.6rem);line-height:.95;color:#fff;margin:8px 0 6px}
.tool-out .big b.date{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.1;text-transform:uppercase}
.tool-out .big .subline{display:block;font-size:.9rem;color:rgba(255,255,255,.7)}
.tool-out .kv{display:grid;gap:8px;margin:0}
.tool-out .kv div{display:flex;justify-content:space-between;gap:14px;font-size:.94rem;padding:6px 0;border-bottom:1px dashed var(--line-dk)}
.tool-out .kv dt{color:rgba(255,255,255,.7)}
.tool-out .kv dd{font-weight:700;color:#fff;text-align:right;font-family:var(--cond);font-size:1.05rem;letter-spacing:.02em}
.tool-note{margin-top:16px;font-size:.9rem;line-height:1.6;color:rgba(255,255,255,.76)}
.usury{margin-top:18px;background:rgba(200,34,27,.16);border:2px solid var(--ember);padding:16px}
.usury .lbl{color:#FF8A80}
.usury p{font-size:.92rem;line-height:1.6;margin:8px 0 14px;color:rgba(255,255,255,.9)}
.tool-out .btn{width:100%;margin-top:14px}
@media (max-width:960px){.tool-grid{grid-template-columns:1fr}.tool-out{position:static}}

/* glossary */
.gloss-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(26px,4vw,56px);align-items:start}
.gloss-nav{position:sticky;top:calc(var(--hdr-h) + 20px);display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - var(--hdr-h) - 40px);overflow:auto;padding-right:6px}
.gloss-nav h2{font-family:var(--cond);font-size:.9rem;font-weight:800;letter-spacing:.16em;color:var(--fire-dk);margin-bottom:8px}
.gloss-nav a{font-family:var(--cond);font-size:1rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);padding:5px 10px;border-left:3px solid var(--line);line-height:1.3}
.gloss-nav a:hover{color:var(--ink);border-left-color:var(--fire)}
.gloss{display:grid;margin:0}
.gloss .term{padding:24px 0;border-top:2px solid var(--line)}
.gloss .term:first-child{border-top:0;padding-top:0}
.gloss dt{font-family:var(--display);font-size:1.7rem;text-transform:uppercase;color:var(--ink);margin-bottom:8px;letter-spacing:.01em}
.gloss dt a:hover{color:var(--fire-dk)}
.gloss dd{font-size:1.02rem;line-height:1.7;color:var(--body);max-width:72ch}
.gloss dd a{color:var(--fire-dk);font-weight:700;border-bottom:2px solid rgba(169,56,0,.35)}
.gloss dd code{font-family:var(--mono);font-size:.86em;color:var(--fire-dk)}
.gloss dd cite{font-style:italic;color:var(--fire-dk)}
.gloss .term:target{background:#fff;margin:0 -16px;padding-left:16px;padding-right:16px;border-left:8px solid var(--fire)}
@media (max-width:860px){.gloss-grid{grid-template-columns:1fr}.gloss-nav{position:static;max-height:none;flex-direction:row;flex-wrap:wrap;gap:6px}.gloss-nav h2{width:100%}.gloss-nav a{border:2px solid var(--black);padding:4px 10px}}

/* ---------- FOOTER ---------- */
.ftr{background:var(--black);color:rgba(255,255,255,.72);padding-top:clamp(50px,5vw,72px);border-top:8px solid var(--fire)}
.ftr-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:clamp(24px,3vw,44px);padding-bottom:40px;border-bottom:1px solid var(--line-dk)}
.ftr .brand{margin-bottom:16px}
.ftr-brand p{font-size:.9rem;line-height:1.7;margin-bottom:16px;max-width:40ch}
.ftr h2{font-family:var(--cond);font-size:1rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--fire);margin-bottom:14px}
.ftr-col a{display:block;font-family:var(--cond);font-size:1.05rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:5px 0;color:rgba(255,255,255,.75)}
.ftr-col a:hover{color:var(--fire)}
.ftr address{font-style:normal;font-size:.92rem;line-height:1.75}
.ftr address a{color:var(--gold)}
.ftr-social{display:flex;gap:10px;margin-top:14px}
.ftr-social a{width:40px;height:40px;background:var(--char-2);border:2px solid var(--line-dk);display:grid;place-items:center}
.ftr-social a svg{width:18px;height:18px}
.ftr-social a:hover{background:var(--fire);color:var(--black);border-color:var(--fire)}
.ftr-faces{display:inline-flex;align-items:center;gap:10px;margin-top:8px;color:rgba(255,255,255,.75);font-family:var(--cond);font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}
.ftr-faces img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid var(--black);margin-left:-10px;background:var(--char-2)}
.ftr-faces img:first-child{margin-left:0}
.ftr-faces:hover{color:var(--fire)}
.ftr .parent{margin-top:16px;font-size:.84rem;color:rgba(255,255,255,.6);line-height:1.6}
.ftr .parent a{color:var(--gold);border-bottom:1px solid rgba(245,179,53,.35)}
.legal{padding:26px 0 30px;font-size:.8rem;line-height:1.7;color:rgba(255,255,255,.58);display:grid;gap:11px}
.legal .disc{background:var(--char);border:1px solid var(--line-dk);padding:16px 18px}
.legal .disc b{color:var(--fire);font-weight:700}
.legal .row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.legal a{color:rgba(255,255,255,.8);border-bottom:1px solid var(--line-dk)}
.legal a:hover{color:var(--fire)}

/* mobile dock */
.dock{display:none;position:fixed;bottom:0;left:0;right:0;z-index:950;background:var(--black);border-top:3px solid var(--fire);padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px}
.dock .btn{flex:1;padding:14px 12px;font-size:1rem;box-shadow:none}

/* reveal */
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* ---------- v5.2 MOTION: embers, glow, video slots ---------- */
.embers{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;opacity:.9;mix-blend-mode:screen}
.embers::before,.embers::after{
  content:'';position:absolute;left:0;right:0;top:-20%;bottom:-20%;
  background-repeat:repeat;
}
/* two particle fields at different scales and speeds */
.embers::before{
  background-image:
    radial-gradient(circle,rgba(255,140,58,.95) 0 1.2px,transparent 2.2px),
    radial-gradient(circle,rgba(255,106,26,.8) 0 1px,transparent 2px),
    radial-gradient(circle,rgba(245,179,53,.9) 0 .8px,transparent 1.8px);
  background-size:260px 340px,190px 270px,330px 410px;
  background-position:0 0,80px 120px,160px 40px;
  opacity:.55;
}
.embers::after{
  background-image:
    radial-gradient(circle,rgba(255,170,90,.9) 0 2px,transparent 3.6px),
    radial-gradient(circle,rgba(255,106,26,.55) 0 3px,transparent 6px);
  background-size:420px 520px,610px 700px;
  background-position:40px 0,300px 200px;
  opacity:.35;filter:blur(.4px);
}
@media (prefers-reduced-motion:no-preference){
  .embers::before{animation:embers-a 26s linear infinite}
  .embers::after{animation:embers-b 38s linear infinite}
  @keyframes embers-a{from{transform:translate3d(0,0,0)}to{transform:translate3d(24px,-340px,0)}}
  @keyframes embers-b{from{transform:translate3d(0,0,0)}to{transform:translate3d(-40px,-520px,0)}}
  .hero::before,.phead::before,.band::before{animation:none}
  /* the fire glow behind the hero breathes */
  .hero{animation:heroglow 9s ease-in-out infinite}
  @keyframes heroglow{
    0%,100%{background-position:0 0,0 0,0 0}
    50%{background-position:3% 4%,-2% 0,0 0}
  }
}
.hero .embers{z-index:1;-webkit-mask-image:radial-gradient(70% 80% at 60% 50%,#000 30%,transparent 100%);mask-image:radial-gradient(70% 80% at 60% 50%,#000 30%,transparent 100%)}
.hero-art{will-change:transform}
.phead .embers,.band .embers{z-index:0;opacity:.7}
.phead .wrap,.band .wrap{position:relative;z-index:2}
.band::after{z-index:1}
.band .ghost{z-index:1}
.bg-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  opacity:0;transition:opacity 1.2s var(--ease);pointer-events:none;
}
.bg-video.is-on{opacity:.55}
.phead .bg-video{opacity:0;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.7) 45%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.7) 45%,#000 100%)}
.phead .bg-video.is-on{opacity:.4}
.band .bg-video.is-on{opacity:.5}
@media (prefers-reduced-motion:reduce){.bg-video,.hero-video{display:none}.embers{opacity:.35}}

/* ---------- v5.4 WHERE WE FIGHT ---------- */
.reach{background:var(--char)}
.reach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,36px)}
.reach-card{background:var(--black);border:2px solid var(--line-dk);border-top:6px solid var(--fire);padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;align-items:flex-start}
.reach-card .tag{font-family:var(--cond);font-weight:800;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;background:var(--fire);color:var(--black);padding:5px 10px;margin-bottom:16px}
.reach-card h3{color:#fff;font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.04;margin-bottom:12px}
.reach-card p{color:rgba(255,255,255,.82);line-height:1.65;margin-bottom:18px}
.reach-card .chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0}
.reach-card .chips li{font-family:var(--cond);font-weight:700;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;border:1.5px solid rgba(255,255,255,.28);padding:5px 10px}
.reach-card .chips li.more{color:var(--gold);border-color:var(--gold)}
.reach-card .btn{margin-top:auto}
@media (max-width:860px){.reach-grid{grid-template-columns:1fr}}

/* ---------- v5.5 LIVING SKYLINE behind every call band ---------- */
.band-sky{position:absolute;inset:-7% -5%;z-index:0;pointer-events:none;background:url("../images/band-skyline-1942.webp") center 62%/cover no-repeat;transform:scale(1.06);will-change:transform}
.band-sky::before,.band-sky::after{content:'';position:absolute;inset:0;pointer-events:none}
/* the fire behind the towers breathes */
.band-sky::before{background:radial-gradient(60% 70% at 50% 100%,rgba(255,106,26,.55),rgba(255,106,26,.12) 55%,transparent 75%),radial-gradient(30% 45% at 18% 95%,rgba(245,179,53,.35),transparent 70%),radial-gradient(30% 45% at 84% 95%,rgba(215,60,20,.4),transparent 70%);mix-blend-mode:screen;opacity:.35}
/* a slow band of heat haze light that crosses the skyline */
.band-sky::after{background:linear-gradient(100deg,transparent 30%,rgba(255,170,90,.16) 47%,rgba(255,210,150,.22) 50%,rgba(255,170,90,.16) 53%,transparent 70%);background-size:300% 100%;background-position:120% 0;mix-blend-mode:screen}
@media (max-width:700px){.band-sky{background-image:url("../images/band-skyline-1200.webp")}}
@media (prefers-reduced-motion:no-preference){
  .band-sky{animation:band-drift 46s ease-in-out infinite alternate}
  .band-sky::before{animation:band-fire 7s ease-in-out infinite alternate}
  .band-sky::after{animation:band-haze 19s linear infinite}
  @keyframes band-drift{from{transform:scale(1.06) translate3d(-2.2%,0,0)}to{transform:scale(1.12) translate3d(2.2%,-1.2%,0)}}
  @keyframes band-fire{0%{opacity:.22}45%{opacity:.5}70%{opacity:.34}100%{opacity:.62}}
  @keyframes band-haze{from{background-position:120% 0}to{background-position:-20% 0}}
}

/* ---------- v5.6 FIRM SLIDESHOW ---------- */
.slideshow{position:relative}
.slides{list-style:none;margin:0;padding:0;position:relative;aspect-ratio:3/2;border:3px solid var(--black);box-shadow:12px 12px 0 var(--fire);background:var(--black);overflow:hidden}
.slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .9s var(--ease),visibility 0s linear .9s}
.slide.is-on{opacity:1;visibility:visible;transition:opacity .9s var(--ease),visibility 0s}
.slide picture,.slide img{display:block;width:100%;height:100%}
.pack-photo .slide img{object-fit:cover;border:0;box-shadow:none}
.slide-cap{position:absolute;left:0;bottom:0;background:var(--gold);color:var(--black);font-family:var(--display);text-transform:uppercase;letter-spacing:.03em;font-size:clamp(.95rem,1.3vw,1.15rem);line-height:1;padding:10px 14px;border-top:3px solid var(--black);border-right:3px solid var(--black)}
.slide-ui{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:14px;margin-top:24px}
.slide-btn{width:44px;height:44px;display:grid;place-items:center;background:var(--black);color:#fff;border:2px solid var(--black);cursor:pointer;box-shadow:3px 3px 0 var(--fire)}
.slide-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.slide-btn[data-prev] svg{transform:scaleX(-1)}
.slide-btn:hover{background:var(--fire);color:var(--black)}
.dots{display:flex;gap:10px;justify-content:center}
.dot{width:34px;height:10px;padding:0;border:2px solid var(--black);background:transparent;cursor:pointer;position:relative}
.dot::before{content:'';position:absolute;inset:-12px -2px}
.dot.is-on{background:var(--fire)}
@media (prefers-reduced-motion:reduce){.slide{transition:none}}

/* ---------- v5.7 CONTACT: call card, tiles, six-document band ---------- */
.callcard{background:var(--black);color:#fff;border:3px solid var(--black);box-shadow:var(--hard-fire);padding:clamp(20px,2.6vw,30px);margin-top:4px;position:relative;overflow:hidden}
.callcard::before{content:'';position:absolute;left:0;right:0;top:0;height:8px;background:repeating-linear-gradient(135deg,var(--fire) 0 18px,var(--black) 18px 36px)}
.callcard-lbl{display:inline-flex;align-items:center;gap:8px;font-family:var(--cond);font-weight:800;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-top:6px}
.callcard-lbl svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.callcard-num{display:block;font-family:var(--display);font-size:clamp(2.4rem,4.2vw,3.4rem);line-height:1;letter-spacing:.01em;color:#fff;margin:8px 0 10px;white-space:nowrap}
.callcard-num:hover{color:var(--fire)}
.callcard p{color:rgba(255,255,255,.8);font-size:.95rem;line-height:1.55;margin:0;max-width:44ch}
.reach-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}
.rtile{display:block;background:#fff;border:2px solid var(--black);box-shadow:var(--hard);padding:16px;color:var(--ink);min-width:0}
a.rtile:hover{box-shadow:var(--hard-fire);transform:translate(-1px,-1px)}
.rtile .ico{width:36px;height:36px;background:var(--black);display:grid;place-items:center;margin-bottom:10px}
.rtile .ico svg{width:18px;height:18px;stroke:var(--fire);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.rtile b{display:block;font-family:var(--cond);font-size:.95rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fire-dk)}
.rtile .val{display:block;font-weight:700;font-size:.98rem;line-height:1.35;margin-top:2px;overflow-wrap:anywhere}
.rtile small{display:block;font-size:.84rem;line-height:1.45;color:var(--muted);margin-top:4px}
.rtile-wide{grid-column:1 / -1;display:grid;grid-template-columns:36px auto 1fr;align-items:center;gap:12px}
.rtile-wide .ico{margin:0}
.rtile-wide .val{margin:0}
.contact-notice{margin-top:22px}
.rdocs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rdoc{background:#fff;border:2px solid var(--black);box-shadow:var(--hard);padding:22px 20px 20px;position:relative}
.rdoc .n{display:block;font-family:var(--display);font-size:3rem;line-height:.9;color:var(--fire);-webkit-text-stroke:1.5px var(--black);margin-bottom:10px}
.rdoc b{display:block;font-family:var(--cond);font-size:1.2rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;line-height:1.1;color:var(--ink)}
.rdoc p{font-size:.92rem;line-height:1.5;color:var(--muted);margin-top:6px}
@media (max-width:900px){.rdocs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.rdocs{grid-template-columns:1fr}.reach-tiles{grid-template-columns:1fr}.rtile-wide{grid-template-columns:36px auto 1fr}}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1080px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .hero-art{max-width:760px;margin-inline:auto!important}
  .triage-grid{grid-template-columns:repeat(2,1fr)}
  .credstrip .wrap{grid-template-columns:repeat(2,1fr)}
  .credstrip .item:nth-child(3){border-left:0}
  .credstrip .item:nth-child(n+3){border-top:1px solid var(--line-dk)}
  .grid-3,.matters{grid-template-columns:repeat(2,1fr)}
  .people{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .atty{grid-template-columns:minmax(0,1fr);gap:34px}
  .teamshot{max-width:520px}
  .split{grid-template-columns:minmax(0,1fr)}
  .rail{position:static;grid-template-columns:repeat(2,1fr)}
  .contact{grid-template-columns:minmax(0,1fr)}
  .ftr-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:960px){
  .handled{grid-template-columns:minmax(0,1fr);gap:26px}
  .handled-txt,.handled-people{max-width:none;margin:0}
  .docx-grid{grid-template-columns:minmax(0,1fr)}
  .docx-fig{position:static;max-width:520px}
  .phead .ghost{width:70%;opacity:.2}
  .office-grid,.pack-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  :root{--hdr-h:74px}
  .links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--black);border-bottom:3px solid var(--fire);padding:14px clamp(18px,4vw,28px) 20px;max-height:calc(100vh - var(--hdr-h));overflow-y:auto}
  .links[data-open="true"]{display:flex}
  .links > li > a:not(.btn),.sub-toggle{width:100%;padding:13px 0;border-bottom:1px solid var(--line-dk);font-size:1.2rem}
  .links .tel{display:flex}
  .sub-toggle{justify-content:space-between}
  .links .btn{margin-top:14px;width:100%;padding:15px;font-size:1.1rem}
  .sub{position:static;display:none;min-width:0;background:transparent;border:0;box-shadow:none;padding:4px 0 10px 12px}
  .sub[data-open="true"]{display:block}
  .sub a{color:rgba(255,255,255,.85);padding:10px 12px}
  .sub a small{color:rgba(255,255,255,.55)}
  .sub a:hover,.sub a[aria-current="page"]{background:var(--char-2);color:var(--fire)}
  .burger{display:block}
  .nav{gap:10px}
  .brand .mark{width:40px}
  .brand b{font-size:1.3rem}
  .brand small{font-size:.72rem;letter-spacing:.1em}
  .adbar .wrap{justify-content:center;text-align:center;font-size:.72rem}
  .adbar .hide-sm{display:none}
  .dock{display:flex}
  body{padding-bottom:74px}
  .rail{grid-template-columns:1fr}
  .creed-grid,.lost-grid{grid-template-columns:minmax(0,1fr)}
  .creed-badge{width:min(200px,50vw)}
  .lost-dog{width:min(260px,70vw)}
  .hero{padding-top:40px}
}
@media (max-width:620px){
  .triage-grid{grid-template-columns:1fr}
  .grid-3,.grid-2,.matters,.steps,.people{grid-template-columns:1fr}
  .person .shot{aspect-ratio:3/2}
  .credstrip .wrap{grid-template-columns:1fr}
  .credstrip .item{border-left:0;border-top:1px solid var(--line-dk)}
  form.cf .fr{grid-template-columns:1fr}
  .ftr-grid{grid-template-columns:1fr}
  .legal .row{justify-content:flex-start}
  .hero{padding-bottom:84px}
  .triage-panel{margin-top:-44px;box-shadow:6px 6px 0 var(--fire)}
  .card,.matter,.person,.pb-row,.roster li,.tbl-wrap,form.cf,.photofig img,.field-item{box-shadow:4px 4px 0 var(--black)}
  .callout{box-shadow:inset 8px 0 0 var(--fire),4px 4px 0 var(--black);padding-left:28px}
  .callout.alarm{box-shadow:inset 8px 0 0 var(--ember),4px 4px 0 var(--black)}
  .rtile{box-shadow:4px 4px 0 var(--black)}
}
@media (max-width:560px){.handled-people{grid-template-columns:1fr;max-width:340px}}
@media (max-width:420px){.brand small{display:none}.brand .mark{width:36px}}
@media (max-width:700px){.artslot{--ar:4/3!important;box-shadow:6px 6px 0 var(--fire)}.artslot-in p{display:none}}

/* ---------- PRINT ---------- */
@media print{
  .hdr,.adbar,.dock,.band,.rail,form.cf,.burger,.phead .ghost,.chain-div,.rail-badge,.artslot.is-empty,.ticker{display:none!important}
  body{background:#fff;color:#000;padding-bottom:0}
  .hero,.phead{background:#fff;color:#000;padding:0 0 20px}
  .hero::before,.hero::after,.sec.on-dark::before,.phead::before{display:none}
  :where(h1,h2,h3,h4){color:#000}
  a{color:#000;text-decoration:underline}
  .card,.matter,.q{box-shadow:none;border:1px solid #ccc;break-inside:avoid}
  .handled{background:#fff;color:#000}
  .docx-fig{position:static}
}

.artband .photofig{margin:0}
.artband .photofig img{aspect-ratio:16/9;object-fit:cover;object-position:50% 6%}
@media (max-width:700px){.artband .photofig img{aspect-ratio:4/3}}
