/* The Albenze Firm — main.css
   Dark "rocker attorney" brand: blacked-out steel + chrome + warning red.
   Headings in Oswald (condensed, poster-bold); body in Inter. Mobile-first, fast. */

:root{
  --ink:#090a0d;        /* near-black base (darkened ~12%) */
  --ink-2:#0d0e13;
  --panel:#15171c;      /* card / section panel */
  --panel-2:#1c1f27;
  --line:#2a2e38;       /* hairline borders */
  --chrome:#cfd3da;     /* chrome accent / headings on dark */
  --chrome-lite:#f1f2f6;
  --red:#c8102e;        /* warning red — CTA */
  --red-bright:#e11d33;
  --text:#e7e9ee;
  --muted:#9aa0aa;
  --maxw:1140px;
  --radius:14px;
  --shadow:0 10px 40px rgba(0,0,0,.45);
  --chrome-grad:linear-gradient(180deg,#fdfdff 0%,#ccd1d8 18%,#7c838d 49%,#363b43 50%,#979ea7 78%,#eceef2 100%);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ink);color:var(--text);
  font:400 17px/1.65 "Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--chrome-lite);text-decoration:none}
a:hover{color:#fff}
h1,h2,h3,h4{font-family:"Oswald",Impact,sans-serif;font-weight:600;line-height:1.08;
  letter-spacing:.01em;color:#fff;text-transform:uppercase;margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3.4rem)}
h2{font-size:clamp(1.5rem,3.2vw,2.2rem)}
h3{font-size:1.2rem}
p{margin:0 0 1rem}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.hl{color:var(--red-bright)}
.txtlink{color:var(--red-bright);font-weight:600}

/* ── buttons ───────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;
  font-family:"Oswald",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.03em;
  padding:.7em 1.3em;border-radius:10px;border:2px solid transparent;cursor:pointer;
  font-size:1rem;transition:transform .12s ease,background .15s,box-shadow .15s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn--red{background:var(--red);color:#fff;box-shadow:0 6px 18px rgba(200,16,46,.35)}
.btn--red:hover{background:var(--red-bright);color:#fff}
.btn--ghost{background:transparent;color:#fff;border-color:var(--line)}
.btn--ghost:hover{border-color:var(--chrome);color:#fff}
.btn--lg{font-size:1.1rem;padding:.85em 1.6em}
.btn--block{display:flex;width:100%;margin:.4rem 0}

/* ── header / nav ──────────────────────────────────────── */
.hdr{position:sticky;top:0;z-index:50;background:rgba(11,12,16,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr__in{display:flex;align-items:center;gap:1.5rem;min-height:72px}
.hdr__logo img{width:auto;height:42px}
.hdr__burger{margin-left:auto;display:none;flex-direction:column;gap:5px;background:none;
  border:0;cursor:pointer;padding:8px}
.hdr__burger span{width:26px;height:3px;background:var(--chrome);border-radius:2px}
.nav{margin-left:auto;display:flex;align-items:center;gap:1.25rem}
.nav__list{display:flex;align-items:center;gap:1.1rem;list-style:none;margin:0;padding:0}
.nav__list a,.nav__btn{font-family:"Oswald",sans-serif;font-weight:500;text-transform:uppercase;
  font-size:.92rem;letter-spacing:.04em;color:var(--chrome);background:none;border:0;cursor:pointer}
.nav__list a:hover,.nav__btn:hover{color:#fff}
.nav__has-sub{position:relative}
.nav__sub{position:absolute;top:140%;left:-12px;min-width:260px;background:var(--panel);
  border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:.5rem;
  list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(8px);
  transition:.16s;display:grid;gap:1px}
.nav__has-sub:hover .nav__sub,.nav__has-sub:focus-within .nav__sub{opacity:1;visibility:visible;transform:none}
.nav__sub li a{display:block;padding:.55rem .8rem;border-radius:8px;font-size:.86rem}
.nav__sub li a:hover{background:var(--panel-2)}
.nav__sub-all a{color:var(--red-bright)!important;border-top:1px solid var(--line);margin-top:.25rem}
.nav__phone{font-family:"Oswald",sans-serif;font-weight:600;font-size:1.05rem;color:#fff!important}
.callbar{display:none}

/* ── hero ──────────────────────────────────────────────── */
.hero{position:relative;padding:clamp(3rem,9vw,6.5rem) 0;
  background:radial-gradient(1200px 500px at 70% -10%,rgba(200,16,46,.22),transparent 60%),
    linear-gradient(180deg,var(--ink-2),var(--ink));
  border-bottom:1px solid var(--line)}
.hero__eyebrow{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.25em;
  color:var(--red-bright);font-weight:600;font-size:.85rem;margin-bottom:.6rem}
.hero__h1{max-width:18ch;margin:0 0 1rem}
.hero__slogan{font-family:"Oswald",sans-serif;font-weight:500;font-style:italic;
  font-size:clamp(1.05rem,1.9vw,1.4rem);color:var(--chrome);letter-spacing:.01em;
  margin:0 0 1.1rem;max-width:40ch;border-left:3px solid var(--red);padding-left:.85rem}
.hero__lede{font-size:1.2rem;color:var(--text);max-width:62ch;margin-bottom:1.8rem}
.hero__btns{display:flex;gap:.8rem;flex-wrap:wrap}

/* practice / city sub-hero */
.phero{padding:clamp(2.2rem,6vw,4rem) 0;
  background:linear-gradient(180deg,var(--ink-2),var(--ink));border-bottom:1px solid var(--line)}
.phero h1{max-width:20ch}
.phero__lede{font-size:1.15rem;color:var(--muted);max-width:64ch;margin-bottom:1.4rem}

/* ── trust bar ─────────────────────────────────────────── */
.trust{background:var(--panel);border-bottom:1px solid var(--line)}
.trust__in{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 20px}
.trust__item{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.05em;
  font-weight:500;font-size:.92rem;color:var(--chrome);display:flex;align-items:center;gap:.5rem}
.trust__item::before{content:"✓";color:var(--red-bright);font-weight:700}

/* ── sections ──────────────────────────────────────────── */
.sec{padding:clamp(2.5rem,6vw,4.5rem) 0}
.sec--alt{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec__h{margin-bottom:1.6rem;position:relative;padding-bottom:.4rem}
.sec__h::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:4px;
  background:var(--red);border-radius:2px}

/* practice cards */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem}
.pcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.4rem;transition:.16s;display:block}
.pcard:hover{border-color:var(--red);transform:translateY(-3px);box-shadow:var(--shadow)}
.pcard h3{color:#fff;margin-bottom:.5rem}
.pcard p{color:var(--muted);font-size:.95rem;margin-bottom:.9rem}
.pcard__link{font-family:"Oswald",sans-serif;text-transform:uppercase;font-size:.85rem;
  letter-spacing:.05em;color:var(--red-bright);font-weight:600}

/* topic cards */
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem}
.tcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1.1rem;display:block;transition:.16s}
.tcard:hover{border-color:var(--chrome)}
.tcard h3{font-size:1.02rem;color:#fff;margin-bottom:.35rem}
.tcard p{font-size:.86rem;color:var(--muted);margin:0}

/* link grids/lists */
.link-grid{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.4rem}
.link-grid a,.link-list a{display:block;padding:.5rem .7rem;border-radius:8px;color:var(--chrome);font-size:.95rem}
.link-grid a:hover,.link-list a:hover{background:var(--panel);color:#fff}
.link-list{list-style:none;margin:0;padding:0}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{background:var(--panel);border:1px solid var(--line);border-radius:999px;
  padding:.45rem 1rem;font-size:.9rem;font-weight:500;color:var(--chrome)}
.chip:hover{border-color:var(--red);color:#fff}

/* split + stats */
.split{display:grid;grid-template-columns:1.3fr .9fr;gap:2.5rem;align-items:start}
.stats{display:grid;gap:.8rem}
.stat{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--red);
  border-radius:12px;padding:1.1rem 1.3rem}
.stat b{font-family:"Oswald",sans-serif;font-size:1.9rem;color:#fff;display:block;line-height:1}
.stat span{color:var(--muted);font-size:.9rem}

/* ── breadcrumb ────────────────────────────────────────── */
.crumb{background:var(--ink-2);border-bottom:1px solid var(--line);font-size:.82rem;padding:.6rem 0}
.crumb a{color:var(--muted)}.crumb a:hover{color:#fff}
.crumb__sep{color:var(--line)}
.crumb [aria-current]{color:var(--chrome)}

/* ── prose (article content) ───────────────────────────── */
.prose{max-width:74ch}
.prose h2{margin-top:1.8rem;font-size:1.5rem}
.prose h3{margin-top:1.4rem;color:var(--chrome);font-size:1.15rem}
.prose p,.prose li{color:#d4d7de}
.prose ul,.prose ol{padding-left:1.2rem;margin:0 0 1.1rem}
.prose li{margin-bottom:.4rem}
.prose a{color:var(--red-bright);font-weight:500;text-decoration:underline;text-underline-offset:2px}
.prose strong{color:#fff}
.prose .note{font-size:.88rem;color:var(--muted);border-left:3px solid var(--line);
  padding-left:1rem;font-style:italic}

/* article layout w/ sidebar */
.article__in{display:grid;grid-template-columns:1fr 320px;gap:2.5rem;padding-top:2.5rem;padding-bottom:1rem;align-items:start}
.aside{display:grid;gap:1rem;position:sticky;top:90px}
.aside__card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem}
.aside__card h3{color:#fff;margin-bottom:.6rem}
.aside__card p{font-size:.9rem;color:var(--muted)}
.aside__links{list-style:none;margin:.5rem 0 0;padding:0}
.aside__links li{margin-bottom:.3rem}
.aside__links a{font-size:.9rem;color:var(--chrome)}
.aside__links a:hover{color:#fff}

/* ── FAQ ───────────────────────────────────────────────── */
.faqs{max-width:80ch;display:grid;gap:.6rem}
.faq{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:0 1.2rem}
.faq summary{font-family:"Oswald",sans-serif;font-weight:500;font-size:1.05rem;color:#fff;
  cursor:pointer;padding:1rem 0;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::after{content:"+";color:var(--red-bright);font-size:1.5rem;line-height:1}
.faq[open] summary::after{content:"–"}
.faq summary::-webkit-details-marker{display:none}
.faq__a{padding:0 0 1rem;color:#d4d7de}
.faq__a p{margin:0}

/* ── CTA band ──────────────────────────────────────────── */
.cta{background:linear-gradient(180deg,var(--ink-2),var(--ink));border-top:1px solid var(--line);
  position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;
  background:radial-gradient(700px 300px at 50% 120%,rgba(200,16,46,.28),transparent 70%)}
.cta__in{position:relative;text-align:center;padding:clamp(2.5rem,7vw,4.5rem) 20px}
.cta__in h2{font-size:clamp(1.6rem,4vw,2.6rem)}
.cta__in p{color:var(--muted);max-width:54ch;margin:0 auto 1.6rem}
.cta__btns{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}

/* ── contact form ──────────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:300px 1fr;gap:2rem;align-items:start;max-width:none}
.cform{display:grid;gap:.9rem;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius);padding:1.6rem}
.cform label{font-family:"Oswald",sans-serif;text-transform:uppercase;font-size:.8rem;
  letter-spacing:.05em;color:var(--chrome);display:grid;gap:.35rem}
.cform input,.cform textarea{background:var(--ink);border:1px solid var(--line);border-radius:8px;
  padding:.7rem .8rem;color:#fff;font:inherit;font-family:"Inter",sans-serif;text-transform:none}
.cform input:focus,.cform textarea:focus{outline:2px solid var(--red);border-color:var(--red)}
.cform__fine{font-size:.78rem;color:var(--muted);text-transform:none;font-family:"Inter",sans-serif}

/* ── footer ────────────────────────────────────────────── */
.ft{background:#050507;border-top:2px solid var(--red);padding-top:3rem}
.ft__grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1fr;gap:2rem}
.ft__brand img{width:auto;height:120px;margin-bottom:.8rem}
.ft__slogan{font-family:"Oswald",sans-serif;text-transform:uppercase;color:var(--red-bright);
  font-weight:600;letter-spacing:.05em}
.ft__addr{font-style:normal;color:var(--muted);font-size:.92rem;line-height:1.9}
.ft__addr a{color:var(--chrome)}
.ft__h{font-size:1rem;color:var(--chrome);margin-bottom:.8rem}
.ft__links{list-style:none;margin:0;padding:0}
.ft__links li{margin-bottom:.45rem}
.ft__links a{color:var(--muted);font-size:.92rem}
.ft__links a:hover{color:#fff}
.ft__links--cols{columns:2;column-gap:1rem}
.ft__bottom{border-top:1px solid var(--line);margin-top:2.5rem;padding:1.5rem 20px 2.5rem;
  max-width:var(--maxw)}
.ft__bottom p{font-size:.82rem;color:var(--muted);margin:0 auto .5rem}
.ft__disc{font-size:.76rem;color:#6b7079;max-width:90ch}

/* ── responsive ────────────────────────────────────────── */
@media(max-width:900px){
  .split,.article__in,.contact-grid{grid-template-columns:1fr}
  .aside{position:static}
  .ft__grid{grid-template-columns:1fr 1fr;gap:1.6rem}
  .hdr__burger{display:flex}
  .nav{position:fixed;inset:72px 0 auto 0;background:var(--ink-2);flex-direction:column;
    align-items:stretch;gap:0;padding:1rem 20px 2rem;border-bottom:1px solid var(--line);
    transform:translateY(-120%);transition:transform .22s ease;max-height:calc(100vh - 72px);overflow:auto}
  .nav.open{transform:none}
  .nav__list{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .nav__list>li{border-bottom:1px solid var(--line)}
  .nav__list a,.nav__btn{display:block;padding:.9rem 0;width:100%;text-align:left;font-size:1rem}
  .nav__sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    border:0;background:transparent;padding:0 0 .5rem .8rem;display:none}
  .nav__has-sub.open .nav__sub{display:grid}
  .nav__phone{padding:.9rem 0;display:block}
  .nav__cta{margin-top:.8rem}
  .callbar{display:block;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--red);
    color:#fff;text-align:center;font-family:"Oswald",sans-serif;font-weight:600;
    text-transform:uppercase;letter-spacing:.04em;padding:.85rem;font-size:1rem;
    box-shadow:0 -4px 20px rgba(0,0,0,.4)}
  body{padding-bottom:52px}
}
@media(max-width:560px){
  .ft__grid{grid-template-columns:1fr}
  .trust__in{justify-content:flex-start;gap:.5rem 1.2rem}
  .trust__item{font-size:.82rem}
}

/* ── blog ──────────────────────────────────────────────── */
.blog-cats{margin-bottom:1.8rem}
.chip--on{border-color:var(--red);color:#fff;background:var(--panel-2)}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1.2rem}
.bcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;transition:.16s}
.bcard:hover{border-color:var(--red);transform:translateY(-3px);box-shadow:var(--shadow)}
.bcard__cat,.post__cat{align-self:flex-start;font-family:"Oswald",sans-serif;text-transform:uppercase;
  letter-spacing:.05em;font-size:.72rem;font-weight:600;color:var(--red-bright);
  border:1px solid var(--line);border-radius:999px;padding:.2rem .7rem}
.bcard h3{font-size:1.18rem;margin:0;line-height:1.15}
.bcard h3 a{color:#fff}.bcard h3 a:hover{color:var(--red-bright)}
.bcard__meta{font-size:.8rem;color:var(--muted);margin:0}
.bcard__exc{font-size:.92rem;color:#c7cbd3;margin:.2rem 0 .4rem}
.bcard__more{font-family:"Oswald",sans-serif;text-transform:uppercase;font-size:.8rem;
  letter-spacing:.04em;color:var(--red-bright);font-weight:600;margin-top:auto}

/* pagination */
.pager{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:2.5rem}
.pg{min-width:42px;text-align:center;padding:.5rem .7rem;border:1px solid var(--line);
  border-radius:8px;color:var(--chrome);font-family:"Oswald",sans-serif;font-size:.95rem}
.pg:hover{border-color:var(--red);color:#fff}
.pg--cur{background:var(--red);border-color:var(--red);color:#fff}

/* single post */
.post__cat{display:inline-block;margin-bottom:1rem;text-decoration:none}
.post__meta{color:var(--muted);font-size:.9rem;margin:-.3rem 0 1.5rem;
  border-bottom:1px solid var(--line);padding-bottom:1rem}
.prose blockquote{border-left:3px solid var(--red);margin:1.3rem 0;padding:.3rem 0 .3rem 1.2rem;
  color:#c7cbd3;font-style:italic}
.prose code{background:var(--ink);border:1px solid var(--line);border-radius:5px;
  padding:.1rem .4rem;font-size:.9em}
.post__back{margin-top:2rem;border-top:1px solid var(--line);padding-top:1.2rem}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.5rem}
.tag{background:var(--panel);border:1px solid var(--line);border-radius:999px;
  padding:.25rem .8rem;font-size:.78rem;color:var(--muted)}
.aside__card--accent{border-left:4px solid var(--red)}

/* ── icons ─────────────────────────────────────────────── */
.ic{width:24px;height:24px;flex:none;display:inline-block;vertical-align:middle}
.ic--sm{width:20px;height:20px}
.pcard__ic{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;
  border-radius:12px;background:rgba(200,16,46,.10);border:1px solid var(--line);
  color:var(--red-bright);margin-bottom:1rem;transition:.16s}
.pcard__ic .ic{width:27px;height:27px}
.pcard:hover .pcard__ic{background:rgba(225,29,51,.18);border-color:var(--red);transform:translateY(-1px)}
.trust__item::before{content:none!important}
.trust__item .ic{color:var(--red-bright)}

/* ── hero FX: "Light of Justice" — volumetric god-rays (conic) from top-right ──
   Technique adapted from the PageGen/fgsltw light-beam system: a conic-gradient ray
   fan from a focal point near the top-right corner, slowly drifting (rotate+scale). */
.hero--fx{position:relative;overflow:hidden}
.hero__in{position:relative;z-index:3}
.fx-beams{position:absolute;inset:0;z-index:1;pointer-events:none;transform-origin:100% 0;
  background:conic-gradient(from 198deg at 100% 0%,
    transparent 0deg,
    rgba(255,255,255,.055) 3deg, transparent 9deg,
    transparent 17deg, rgba(225,29,51,.060) 21deg, transparent 28deg,
    transparent 38deg, rgba(207,211,218,.052) 42deg, transparent 49deg,
    transparent 60deg, rgba(255,255,255,.042) 64deg, transparent 71deg,
    transparent 82deg, rgba(225,29,51,.040) 86deg, transparent 93deg,
    transparent 360deg);
  animation:beam-drift 26s ease-in-out infinite}
.fx-beams::after{content:"";position:absolute;inset:0;
  background:radial-gradient(58% 58% at 100% 0%,rgba(225,29,51,.22),transparent 60%),
             radial-gradient(44% 50% at 100% 0%,rgba(207,211,218,.16),transparent 58%)}
@keyframes beam-drift{0%,100%{transform:rotate(-2.2deg) scale(1.06);opacity:.85}
  50%{transform:rotate(2.2deg) scale(1.09);opacity:1}}
/* Lady Justice hero render — screen-blended so the black drops out and the wireframe glows.
   Always-on slow zoom + pan (Ken Burns); no cursor/scroll interaction. Left scrim protects the headline. */
.fx-justice{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:url("/static/images/lady-justice.webp") no-repeat 70% center;
  background-size:cover;mix-blend-mode:screen;opacity:.6;
  transform-origin:66% 42%;will-change:transform;
  animation:justice-drift 46s ease-in-out infinite}
@keyframes justice-drift{
  0%{transform:scale(1.06) translate(0%,0%)}
  50%{transform:scale(1.16) translate(-2.6%,-1.6%)}
  100%{transform:scale(1.06) translate(0%,0%)}}
.hero--fx::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg, var(--ink) 6%, rgba(11,12,16,.74) 36%,
    rgba(11,12,16,.22) 62%, transparent 82%)}
@media(max-width:900px){.fx-justice{opacity:.34;background-position:64% center}}

/* ── SITE-WIDE FX (every page): fixed beam wash + dust motes overlaying content faintly ──
   These are fixed, pointer-events:none overlays at low alpha so the cinematic atmosphere
   carries across all pages without harming readability. */
.fx-bg{position:fixed;inset:0;z-index:2;pointer-events:none;
  background:
    radial-gradient(ellipse 90% 70% at 92% 3%, rgba(225,29,51,.07), transparent 62%),
    radial-gradient(ellipse 50% 40% at 86% 7%, rgba(207,211,218,.05), transparent 60%)}
.fx-bg::after{content:"";position:fixed;top:-60%;left:-20%;width:180%;height:220%;z-index:2;
  pointer-events:none;
  background:conic-gradient(from 212deg at 84% 9%,
    transparent 0deg, rgba(207,211,218,.030) 2deg, transparent 7deg,
    transparent 18deg, rgba(225,29,51,.026) 20deg, transparent 26deg,
    transparent 42deg, rgba(207,211,218,.028) 44deg, transparent 50deg,
    transparent 68deg, rgba(255,255,255,.020) 70deg, transparent 76deg,
    transparent 360deg);
  animation:beam-drift-bg 90s ease-in-out infinite}
@keyframes beam-drift-bg{0%,100%{transform:rotate(0) scale(1)}25%{transform:rotate(2.4deg) scale(1.02)}
  50%{transform:rotate(-1.5deg) scale(1)}75%{transform:rotate(1.6deg) scale(1.01)}}
.fx-motes{position:fixed;inset:0;z-index:2;width:100vw;height:100vh;pointer-events:none}

/* hero gets the stronger local conic god-rays — IN FRONT of the image (z2), behind the headline (z3) */
.hero--fx{position:relative;overflow:hidden}
.hero__in{position:relative;z-index:3}
.fx-beams{position:absolute;inset:0;z-index:2;pointer-events:none;transform-origin:100% 0;
  background:conic-gradient(from 198deg at 100% 0%,
    transparent 0deg,
    rgba(255,255,255,.055) 3deg, transparent 9deg,
    transparent 17deg, rgba(225,29,51,.060) 21deg, transparent 28deg,
    transparent 38deg, rgba(207,211,218,.052) 42deg, transparent 49deg,
    transparent 60deg, rgba(255,255,255,.042) 64deg, transparent 71deg,
    transparent 82deg, rgba(225,29,51,.040) 86deg, transparent 93deg,
    transparent 360deg);
  animation:beam-drift 26s ease-in-out infinite}
.fx-beams::after{content:"";position:absolute;inset:0;
  background:radial-gradient(58% 58% at 100% 0%,rgba(225,29,51,.22),transparent 60%),
             radial-gradient(44% 50% at 100% 0%,rgba(207,211,218,.16),transparent 58%)}
@keyframes beam-drift{0%,100%{transform:rotate(-2.2deg) scale(1.06);opacity:.85}
  50%{transform:rotate(2.2deg) scale(1.09);opacity:1}}

/* interior sub-hero band keeps its own faint corner rays for header emphasis */
.phero{position:relative;overflow:hidden}
.phero>.wrap{position:relative;z-index:2}
.phero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(46% 60% at 100% 0%,rgba(225,29,51,.10),transparent 60%)}

@media(prefers-reduced-motion:reduce){.fx-beams,.fx-bg::after,.fx-justice{animation:none}}
