/* ============================================================
   Вооружённые силы Азербайджана — bespoke L3 site.
   Theme: "Сталь и рассвет" — dark charcoal-green + brass + flag accents.
   Display: Oswald (condensed monumental caps). Body: Lora (editorial serif).
   HE: Frank Ruhl Libre + Heebo. Big-idea: армия как щит нации, рождённая
   на рассвете независимости 1918 года.
   ============================================================ */

:root{
  --bg:#10150e;          /* page bg — near-black olive */
  --bg-2:#161d14;        /* alt sections */
  --panel:#1c2618;       /* cards */
  --panel-2:#222e1c;
  --ink:#ececdc;         /* light text */
  --ink-soft:#a6ad95;    /* muted */
  --line:rgba(198,163,90,.18);   /* brass hairline */
  --line-soft:rgba(236,236,220,.1);
  --brass:#c9a85c;       /* medal gold */
  --brass-l:#e0c483;
  --brass-d:#9c7f3e;
  --olive:#4c5c33;       /* uniform olive */
  --red:#d23b3b;         /* flag red */
  --teal:#2aa7d8;        /* flag sky */
  --green:#3aa14b;       /* flag green */
  --steel:#7d8a76;
  --r:8px; --r-lg:14px;
  --shadow:0 22px 54px rgba(0,0,0,.55);
  --shadow-s:0 10px 26px rgba(0,0,0,.4);
  --maxw:1180px; --header-h:64px;
  --f-display:"Oswald",Impact,sans-serif;
  --f-body:"Lora",Georgia,serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
html[lang="he"]{ --f-display:"Frank Ruhl Libre",serif; --f-body:"Heebo",sans-serif; }

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--f-body); color:var(--ink); background:var(--bg); line-height:1.74; font-size:17px; overflow-x:hidden;
  background-image:radial-gradient(circle at 12% 6%, rgba(76,92,51,.22), transparent 46%), radial-gradient(circle at 88% 94%, rgba(201,168,92,.08), transparent 44%);
}
body::before{ content:""; position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.5; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/></svg>"); }
.container{ width:min(100% - 2.4rem, var(--maxw)); margin-inline:auto; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ font-family:var(--f-display); font-weight:600; line-height:1.04; color:var(--ink); letter-spacing:.01em; }
strong{ color:var(--ink); }
::selection{ background:var(--brass); color:#1a1408; }

.kicker{ font-family:var(--f-display); font-weight:500; font-size:.82rem; letter-spacing:.32em; text-transform:uppercase; color:var(--brass); display:inline-flex; align-items:center; gap:.7rem; }
.kicker::before{ content:""; width:2.1rem; height:2px; background:var(--brass); display:inline-block; }
.section-head{ max-width:56rem; margin-bottom:2.6rem; }
.section-head h2{ font-size:clamp(2.2rem,1.4rem+3vw,3.8rem); margin-top:.6rem; text-transform:uppercase; }

/* ===== JBAR (marquee) ===== */
.jbar{ position:fixed; inset-block-start:0; inset-inline:0; z-index:80; height:38px; background:#0b0f09; color:var(--ink);
  display:flex; align-items:center; gap:.6rem; padding-inline:1rem; font-size:.78rem; border-bottom:1px solid var(--line); }
.jbar-logo{ font-family:var(--f-display); font-weight:600; letter-spacing:.04em; white-space:nowrap; flex:none; font-size:1rem; text-transform:uppercase; }
.jbar-logo b{ color:var(--brass); }
.jbar-sep{ opacity:.4; flex:none; }
.jbar-marquee{ position:relative; overflow:hidden; flex:1; height:100%; display:flex; align-items:center;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.jbar-track{ display:inline-flex; gap:3rem; white-space:nowrap; will-change:transform; animation:jbarscroll 44s linear infinite; }
.jbar-track span{ opacity:.82; }
.jbar-marquee:hover .jbar-track{ animation-play-state:paused; }
@keyframes jbarscroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
html[dir="rtl"] .jbar-track{ animation-name:jbarscroll-rtl; }
@keyframes jbarscroll-rtl{ from{ transform:translateX(0); } to{ transform:translateX(50%); } }

/* ===== HEADER ===== */
.site-header{ position:fixed; inset-block-start:38px; inset-inline:0; z-index:70; height:var(--header-h);
  background:rgba(16,21,14,.72); border-bottom:1px solid var(--line); transition:box-shadow .3s, background .3s; }
.site-header::before{ content:""; position:absolute; inset:0; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:-1; }
.site-header.scrolled{ box-shadow:var(--shadow-s); background:rgba(13,18,11,.94); }
.header-inner{ height:100%; width:min(100% - 2.4rem, var(--maxw)); margin-inline:auto; display:flex; align-items:center; gap:1.2rem; }
.brand{ display:inline-flex; align-items:center; gap:.7rem; flex:none; }
.brand-mark{ width:30px; height:auto; flex:none; }
.brand-text{ display:flex; flex-direction:column; line-height:1; }
.brand-name{ font-family:var(--f-display); font-weight:600; font-size:1.32rem; color:var(--ink); letter-spacing:.04em; text-transform:uppercase; }
.brand-tag{ font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--brass); margin-top:.28rem; font-family:var(--f-display); }
.site-nav{ display:flex; gap:.2rem; margin-inline-start:auto; flex-wrap:wrap; }
.site-nav a{ font-family:var(--f-display); font-weight:400; font-size:.92rem; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft); padding:.45rem .7rem; border-radius:6px; position:relative; transition:color .2s, background .2s; }
.site-nav a:hover{ color:var(--ink); background:rgba(201,168,92,.1); }
.site-nav a.active{ color:var(--brass); }
.site-nav a.active::after{ content:""; position:absolute; inset-inline:.7rem; inset-block-end:.16rem; height:2px; background:var(--brass); }
.lang{ position:relative; flex:none; }
.lang-toggle{ display:inline-flex; align-items:center; gap:.4rem; background:var(--panel); border:1px solid var(--line); border-radius:7px; padding:.4rem .6rem; cursor:pointer; color:var(--ink); font-family:var(--f-display); font-weight:400; font-size:.82rem; letter-spacing:.06em; }
.lang-toggle svg{ width:16px; height:16px; }
.lang-menu{ position:absolute; inset-block-start:calc(100% + .4rem); inset-inline-end:0; background:var(--panel); border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow); padding:.3rem; display:none; min-width:7rem; z-index:5; }
.lang-menu.open{ display:block; }
.lang.l3open .lang-menu{ display:block; }   /* baked output toggles .l3open on .lang */
.lang.l3open .lang-menu a{ display:block; width:100%; text-align:start; border-radius:6px; padding:.5rem .8rem; color:var(--ink-soft); font-family:var(--f-display); font-size:.9rem; letter-spacing:.05em; }
.lang.l3open .lang-menu a:hover{ background:var(--panel-2); color:var(--ink); }
.lang.l3open .lang-menu a.active{ color:var(--brass); font-weight:500; }
.lang-opt{ display:block; width:100%; text-align:start; background:transparent; border:0; border-radius:6px; padding:.5rem .8rem; cursor:pointer; color:var(--ink-soft); font-family:var(--f-display); font-size:.9rem; letter-spacing:.05em; }
.lang-opt:hover{ background:var(--panel-2); color:var(--ink); }
.lang-opt.is-active{ color:var(--brass); font-weight:500; }
.nav-burger{ display:none; width:42px; height:38px; background:transparent; border:0; cursor:pointer; position:relative; flex:none; }
.nav-burger span, .nav-burger::before, .nav-burger::after{ content:""; position:absolute; inset-inline:8px; height:2px; background:var(--ink); transition:.3s; }
.nav-burger span{ inset-block-start:18px; } .nav-burger::before{ inset-block-start:12px; } .nav-burger::after{ inset-block-start:24px; }
.nav-burger.open span{ opacity:0; } .nav-burger.open::before{ transform:translateY(6px) rotate(45deg); } .nav-burger.open::after{ transform:translateY(-6px) rotate(-45deg); }

/* ===== BUTTONS ===== */
.btn{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--f-display); font-weight:500; font-size:.92rem; letter-spacing:.08em; text-transform:uppercase;
  padding:.85rem 1.8rem; border-radius:3px; cursor:pointer; transition:transform .25s var(--ease), box-shadow .25s, background .25s; border:2px solid transparent; }
.btn-primary{ background:var(--brass); color:#1a1408; box-shadow:var(--shadow-s); }
.btn-primary:hover{ background:var(--brass-l); transform:translateY(-2px); box-shadow:var(--shadow); }
.btn-ghost{ border-color:rgba(236,236,220,.5); color:var(--ink); }
.btn-ghost:hover{ background:var(--ink); color:var(--bg); transform:translateY(-2px); }

/* ===== HERO ===== */
.hero{ position:relative; min-height:100svh; display:flex; align-items:flex-end; padding:calc(var(--header-h) + 38px + 3rem) 0 clamp(3rem,7vw,6rem); overflow:hidden; isolation:isolate; }
.hero-bg{ position:absolute; inset:0; z-index:-3; background:center/cover no-repeat; filter:saturate(.85) contrast(1.05); }
.hero::after{ content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(180deg, rgba(10,14,8,.42) 0%, rgba(10,14,8,.5) 36%, rgba(10,14,8,.92) 100%); }
.hero::before{ content:""; position:absolute; inset-block-end:0; inset-inline:0; height:5px; z-index:-1; background:linear-gradient(90deg,var(--teal) 0 33.3%,var(--red) 33.3% 66.6%,var(--green) 66.6% 100%); opacity:.9; }
.hero-inner{ width:min(100% - 2.4rem, var(--maxw)); margin-inline:auto; color:var(--ink); max-width:54rem; }
.hero .kicker{ color:var(--brass-l); } .hero .kicker::before{ background:var(--brass-l); }
.hero h1{ font-family:var(--f-display); font-weight:700; font-size:clamp(3rem,1.8rem+8vw,8.4rem); color:#fff; letter-spacing:.005em; text-transform:uppercase; text-shadow:0 14px 50px rgba(0,0,0,.6); margin:.5rem 0 1rem; line-height:.96; }
.hero-sub{ max-width:44rem; font-size:clamp(1.1rem,1rem+.7vw,1.45rem); color:rgba(236,236,220,.92); }
.hero-cta{ display:flex; gap:.9rem; flex-wrap:wrap; margin-top:2.2rem; }
.hero .btn-ghost{ color:#fff; } .hero .btn-ghost:hover{ background:#fff; color:var(--bg); }
.hero-scroll{ position:absolute; inset-block-end:1.4rem; inset-inline-end:clamp(1rem,3vw,2.4rem); z-index:1; font-size:.62rem; letter-spacing:.3em; text-transform:uppercase; color:rgba(236,236,220,.66); writing-mode:vertical-rl; font-family:var(--f-display); }
html[dir="rtl"] .hero-scroll{ writing-mode:vertical-lr; }

/* ===== PAGE HERO ===== */
.page-hero{ position:relative; min-height:58vh; display:flex; align-items:flex-end; padding:calc(var(--header-h) + 38px + 3rem) 0 clamp(2.4rem,5vw,4rem); overflow:hidden; isolation:isolate; }
.page-hero::before{ content:""; position:absolute; inset:0; z-index:-2; background-position:center; background-size:cover; filter:saturate(.85) contrast(1.05); }
.page-hero::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(10,14,8,.44) 0%, rgba(10,14,8,.52) 46%, rgba(10,14,8,.92) 100%); }
.page-hero .container{ position:relative; }
.page-hero .kicker{ color:var(--brass-l); margin-bottom:1rem; } .page-hero .kicker::before{ background:var(--brass-l); }
.page-hero h1{ font-family:var(--f-display); font-weight:700; font-size:clamp(2.5rem,1.6rem+4.5vw,5.4rem); color:#fff; text-transform:uppercase; text-shadow:0 10px 36px rgba(0,0,0,.55); }
.page-hero p{ max-width:62ch; margin:1.1rem 0 0; color:rgba(236,236,220,.9); font-size:1.12rem; }

/* ===== SECTIONS ===== */
.sec{ padding:clamp(3.4rem,7vw,6rem) 0; position:relative; z-index:2; }
.sec.alt{ background:var(--bg-2); }
.prose-narrow{ max-width:72ch; }
.prose-narrow.center{ text-align:center; margin-inline:auto; }
.prose-narrow p{ color:var(--ink-soft); margin-bottom:1.1rem; }
.prose-narrow p strong{ color:var(--ink); }
.lead{ font-size:1.22rem; color:var(--ink); }
.prose-narrow h2{ font-family:var(--f-display); font-size:clamp(2rem,1.3rem+2.4vw,3rem); text-transform:uppercase; margin:.3rem 0 1.1rem; }

/* alternating image / text rows */
.frow{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.8rem,4vw,3.4rem); align-items:center; margin-bottom:clamp(2.6rem,5vw,4.4rem); }
.frow:last-child{ margin-bottom:0; }
.frow:nth-child(even) .frow-media{ order:2; }
@media(max-width:820px){ .frow{ grid-template-columns:1fr; } .frow:nth-child(even) .frow-media{ order:0; } }
.frow-media{ border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line); position:relative; }
.frow-media img{ width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .7s var(--ease); }
.frow-media.wide img{ aspect-ratio:16/10; }
.frow-media:hover img{ transform:scale(1.04); }
.frow-copy .kicker{ margin-bottom:.7rem; }
.frow-copy h2{ font-family:var(--f-display); font-size:clamp(1.9rem,1.2rem+1.9vw,2.7rem); text-transform:uppercase; margin-bottom:1rem; }
.frow-copy p{ color:var(--ink-soft); margin-bottom:.9rem; }

/* timeline */
.tl{ position:relative; max-width:880px; margin:0 auto; }
.tl::before{ content:""; position:absolute; inset-block:0; inset-inline-start:50%; width:2px; background:linear-gradient(var(--brass),var(--olive)); transform:translateX(-50%); }
.tl-item{ position:relative; width:50%; padding:1.1rem 2.4rem; }
.tl-item:nth-child(odd){ inset-inline-start:0; text-align:end; }
.tl-item:nth-child(even){ inset-inline-start:50%; }
.tl-item::after{ content:""; position:absolute; inset-block-start:1.7rem; width:15px; height:15px; border-radius:50%; background:var(--bg); border:3px solid var(--brass); }
.tl-item:nth-child(odd)::after{ inset-inline-end:-7.5px; } .tl-item:nth-child(even)::after{ inset-inline-start:-7.5px; }
.tl-card{ background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg); padding:1.2rem 1.4rem; box-shadow:var(--shadow-s); display:inline-block; text-align:start; }
.tl-year{ font-family:var(--f-display); font-weight:600; font-size:1.6rem; color:var(--brass); }
.tl-t{ font-family:var(--f-display); font-weight:500; color:var(--ink); margin:.1rem 0 .4rem; font-size:1.2rem; text-transform:uppercase; }
.tl-d{ color:var(--ink-soft); font-size:.92rem; }
@media(max-width:720px){
  .tl::before{ inset-inline-start:8px; }
  .tl-item, .tl-item:nth-child(even){ width:100%; inset-inline-start:0; text-align:start; padding-inline-start:2.2rem; padding-inline-end:0; }
  .tl-item:nth-child(odd){ text-align:start; }
  .tl-item::after, .tl-item:nth-child(odd)::after, .tl-item:nth-child(even)::after{ inset-inline-start:1px; }
}

/* cards */
.kgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.kgrid.two{ grid-template-columns:repeat(2,1fr); }
.kgrid.four{ grid-template-columns:repeat(4,1fr); }
@media(max-width:900px){ .kgrid, .kgrid.four{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .kgrid, .kgrid.two, .kgrid.four{ grid-template-columns:1fr; } }
.kcard{ background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg); padding:1.7rem; box-shadow:var(--shadow-s); position:relative; overflow:hidden; transition:transform .35s var(--ease), box-shadow .35s, border-color .35s; }
.kcard::before{ content:""; position:absolute; inset-block-start:0; inset-inline-start:0; width:100%; height:4px; background:linear-gradient(90deg,var(--brass),var(--olive)); transform:scaleX(0); transform-origin:inline-start; transition:transform .4s var(--ease); }
.kcard:hover{ transform:translateY(-5px); box-shadow:var(--shadow); border-color:rgba(201,168,92,.4); }
.kcard:hover::before{ transform:scaleX(1); }
.kcard .ci{ font-family:var(--f-display); font-size:2.1rem; font-weight:600; color:var(--brass); line-height:1; margin-bottom:.5rem; }
.kcard h3{ font-size:1.5rem; color:var(--ink); margin-bottom:.4rem; text-transform:uppercase; }
.kcard .kt{ font-family:var(--f-display); font-size:.68rem; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--brass-d); display:block; margin-bottom:.5rem; }
.kcard p{ color:var(--ink-soft); font-size:.95rem; }

/* stat row */
.statrow{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; }
@media(max-width:720px){ .statrow{ grid-template-columns:1fr 1fr; } }
.statc{ text-align:center; padding-top:1.2rem; border-top:2px solid var(--brass); }
.statc b{ display:block; font-family:var(--f-display); font-size:clamp(2.4rem,4.6vw,3.8rem); font-weight:600; color:var(--brass); line-height:1; }
.statc span{ font-size:.92rem; color:var(--ink-soft); display:block; margin-top:.4rem; }

/* ===== BIG STAT BAND (victory numbers) ===== */
.bigstat{ background:var(--bg-2); border-block:1px solid var(--line); padding:clamp(3rem,6vw,5rem) 0; }
.bigstat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.4rem,3vw,2.6rem); }
@media(max-width:780px){ .bigstat-grid{ grid-template-columns:1fr; } }
.bigstat-cell{ position:relative; padding:1.4rem 1.6rem; background:linear-gradient(180deg,var(--panel),rgba(28,38,24,.5)); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
.bigstat-cell::after{ content:""; position:absolute; inset-block-end:0; inset-inline:0; height:3px; background:linear-gradient(90deg,var(--brass),transparent); }
.bigstat-cell b{ font-family:var(--f-display); font-weight:700; font-size:clamp(2.8rem,2rem+3.4vw,4.8rem); line-height:.92; color:#fff; display:block; }
.bigstat-cell .bs-l{ font-family:var(--f-display); font-weight:500; text-transform:uppercase; letter-spacing:.08em; color:var(--brass); margin-top:.5rem; font-size:1rem; }
.bigstat-cell .bs-d{ color:var(--ink-soft); font-size:.92rem; margin-top:.4rem; }

/* honor list (liberated areas / decorations) */
.honor{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.4rem; }
.honor span{ font-family:var(--f-display); font-weight:400; letter-spacing:.04em; text-transform:uppercase; font-size:.88rem; color:var(--ink); background:var(--panel); border:1px solid var(--line); border-radius:3px; padding:.5rem .9rem; }
.honor span b{ color:var(--brass); font-weight:600; }

/* quote */
.quote{ background:#0b0f09; color:var(--ink); padding:clamp(3.4rem,7vw,5.5rem) 0; border-block:1px solid var(--line); }
.quote blockquote{ font-family:var(--f-display); font-weight:500; font-size:clamp(1.8rem,1.1rem+2.6vw,3.2rem); line-height:1.2; color:#fff; text-align:center; max-width:52rem; margin-inline:auto; text-transform:uppercase; }
.quote .qnote{ text-align:center; font-size:.82rem; letter-spacing:.2em; text-transform:uppercase; color:var(--brass); margin-top:1.5rem; font-family:var(--f-display); }

/* image bleed band */
.bleed-band{ position:relative; padding:clamp(3.6rem,7vw,6rem) 0; overflow:hidden; isolation:isolate; }
.bleed-bg{ position:absolute; inset:0; z-index:-2; background:center/cover no-repeat; }
.bleed-band::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(100deg, rgba(10,14,8,.92) 26%, rgba(10,14,8,.45)); }
.bleed-band .box{ max-width:42rem; color:var(--ink); }
.bleed-band .kicker{ color:var(--brass-l); } .bleed-band .kicker::before{ background:var(--brass-l); }
.bleed-band h2{ color:#fff; margin:.5rem 0 1rem; font-size:clamp(2rem,1.3rem+2.2vw,3.2rem); text-transform:uppercase; }
.bleed-band p{ color:rgba(236,236,220,.92); margin-bottom:1.6rem; }

/* FAQ accordion (markup feeds bake FAQPage) */
.acc{ max-width:840px; margin:1.6rem 0 0; }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{ width:100%; text-align:start; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.3rem 0; background:none; border:0; cursor:pointer; font-family:var(--f-display); font-size:1.3rem; font-weight:500; color:var(--ink); text-transform:uppercase; }
.faq-q::after{ content:"+"; color:var(--brass); font-size:1.6rem; flex:none; transition:transform .3s; }
.faq-item.open .faq-q::after{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.faq-item.open .faq-a{ max-height:420px; }
.faq-a p{ color:var(--ink-soft); padding-bottom:1.3rem; }

.note-line{ font-size:.92rem; line-height:1.7; color:var(--ink-soft); border-inline-start:3px solid var(--brass); background:var(--bg-2); border-radius:var(--r); padding:1.1rem 1.3rem; max-width:64rem; }

/* ===== FOOTER ===== */
.site-footer{ background:#0b0f09; color:var(--ink); padding:clamp(3rem,5vw,4.5rem) 0 2rem; position:relative; z-index:2; border-top:1px solid var(--line); }
.footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1.3fr; gap:2.4rem; }
.footer-brand .brand-name{ color:#fff; } .footer-brand .brand-tag{ color:var(--brass); }
.footer-brand p{ color:rgba(236,236,220,.66); font-size:.9rem; max-width:36ch; }
.footer-sources{ max-width:42ch; }
.footer-sources a{ color:var(--brass); text-decoration:underline; text-underline-offset:2px; }
.footer-sources a:hover{ color:var(--brass-l); }
.footer-col h4{ font-family:var(--f-display); font-size:1.15rem; color:var(--brass); margin-bottom:1rem; text-transform:uppercase; }
.footer-col a{ display:block; color:rgba(236,236,220,.78); font-size:.93rem; padding:.28rem 0; transition:color .2s; }
.footer-col a:hover{ color:#fff; }
.footer-bottom{ display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-top:2.6rem; padding-top:1.4rem; border-top:1px solid var(--line-soft); font-size:.8rem; color:rgba(236,236,220,.5); }
@media(max-width:820px){ .footer-grid{ grid-template-columns:1fr; gap:1.8rem; } }

/* reveal */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d2{ transition-delay:.1s } .reveal.d3{ transition-delay:.2s } .reveal.d4{ transition-delay:.3s }
@media(prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; transition:none; } .jbar-track{ animation:none; } *{ scroll-behavior:auto; } }

/* mobile nav */
@media(max-width:880px){
  .nav-burger{ display:block; margin-inline-start:auto; }
  .lang{ order:-1; }
  .site-nav{ position:fixed; inset-block-start:calc(38px + var(--header-h)); inset-inline:0; flex-direction:column; gap:.2rem; background:var(--bg); border-bottom:1px solid var(--line); padding:1rem clamp(1rem,3vw,2rem); margin:0; box-shadow:var(--shadow); clip-path:inset(0 0 100% 0); transition:clip-path .35s var(--ease); }
  .site-nav.open{ clip-path:inset(0 0 0 0); }
  .site-nav a{ font-size:1.15rem; padding:.7rem .4rem; }
}
@media(max-width:430px){ .jbar-sep, .jbar-marquee{ display:none; } .jbar{ justify-content:center; } }

/* ============================================================
   BEAUTY PASS — editorial-military drama (CSS-only, INP-safe)
   ============================================================ */

/* signature: giant slow-turning 8-point star watermark behind the hero */
.deco-star{ position:absolute; z-index:-1; inset-block-start:-9%; inset-inline-end:-7%; width:min(58vw,660px); height:auto; color:var(--brass); opacity:.06;
  pointer-events:none; animation:starspin 120s linear infinite; filter:drop-shadow(0 0 36px rgba(201,168,92,.18)); }
.deco-star path{ fill:none; stroke:currentColor; stroke-width:1.1; vector-effect:non-scaling-stroke; }
@keyframes starspin{ to{ transform:rotate(360deg); } }

/* slow ken-burns push on hero photography */
.hero-bg{ animation:kenburns 26s ease-out both; transform-origin:60% 40%; }
@keyframes kenburns{ from{ transform:scale(1.005); } to{ transform:scale(1.11); } }

/* cinematic staggered entrance for hero + page-hero copy */
@keyframes heroUp{ from{ opacity:0; transform:translateY(34px); filter:blur(6px); } to{ opacity:1; transform:none; filter:blur(0); } }
.hero .kicker,.hero h1,.hero-sub,.hero-cta,.page-hero .kicker,.page-hero h1,.page-hero p{ animation:heroUp 1s var(--ease) both; }
.hero .kicker,.page-hero .kicker{ animation-delay:.06s; }
.hero h1,.page-hero h1{ animation-delay:.22s; }
.hero-sub,.page-hero p{ animation-delay:.44s; }
.hero-cta{ animation-delay:.64s; }

/* deepen hero with a centred vignette over the existing gradient */
.hero::after{ background:radial-gradient(125% 95% at 50% 8%, transparent 38%, rgba(8,11,6,.55) 100%), linear-gradient(180deg, rgba(10,14,8,.34) 0%, rgba(10,14,8,.46) 36%, rgba(8,11,6,.93) 100%); }
.page-hero::after{ background:radial-gradient(130% 100% at 50% 6%, transparent 40%, rgba(8,11,6,.5) 100%), linear-gradient(180deg, rgba(10,14,8,.38) 0%, rgba(10,14,8,.48) 46%, rgba(8,11,6,.93) 100%); }

/* brass thread under the hero kicker becomes a tiny star tick */
.hero .kicker::after, .page-hero .kicker::after{ content:"✴"; font-size:.8em; color:var(--brass); margin-inline-start:.55rem; opacity:.85; }

/* stat numbers: luminous brass with soft glow */
.statc b{ text-shadow:0 0 26px rgba(201,168,92,.3); }
.bigstat-cell b{ background:linear-gradient(176deg,#fff 0%, #ecd9a8 58%, #c9a85c 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  filter:drop-shadow(0 6px 22px rgba(201,168,92,.18)); }
.bigstat-cell{ transition:transform .4s var(--ease), border-color .4s; }
.bigstat-cell:hover{ transform:translateY(-4px); border-color:rgba(201,168,92,.5); }

/* cards: stencil bracket corner that lights up on hover */
.kcard::after{ content:""; position:absolute; inset-block-end:13px; inset-inline-end:13px; width:18px; height:18px;
  border-inline-end:2px solid var(--brass); border-block-end:2px solid var(--brass); opacity:.3; transition:opacity .35s, width .35s, height .35s; }
.kcard:hover::after{ opacity:.95; width:24px; height:24px; }

/* honor chips: subtle brass lift on hover */
.honor span{ transition:transform .25s var(--ease), border-color .25s, background .25s; }
.honor span:hover{ transform:translateY(-2px); border-color:rgba(201,168,92,.55); background:var(--panel-2); }

/* quote: floating star mark + hairline frame */
.quote .container{ position:relative; }
.quote .container::before{ content:"✴"; display:block; text-align:center; font-size:2rem; color:var(--brass); opacity:.6; margin-bottom:1.1rem; }

/* cinematic parallax on the bleed band (desktop only — fixed is janky on mobile) */
@media(min-width:980px){ .bleed-bg{ background-attachment:fixed; } }

/* timeline dots glow; cards lean on hover */
.tl-item::after{ box-shadow:0 0 0 4px rgba(201,168,92,.12); transition:box-shadow .35s; }
.tl-card{ transition:transform .35s var(--ease), box-shadow .35s, border-color .35s; }
.tl-card:hover{ transform:translateY(-3px); border-color:rgba(201,168,92,.45); box-shadow:var(--shadow); }

@media(prefers-reduced-motion:reduce){
  .deco-star, .hero-bg{ animation:none; }
  .hero .kicker,.hero h1,.hero-sub,.hero-cta,.page-hero .kicker,.page-hero h1,.page-hero p{ animation:none; }
  .bleed-bg{ background-attachment:scroll; }
}
