/* =====================================================================
   PI TI ES-GRUP — Defense & Tactical Systems
   Design system & styles
   ===================================================================== */

:root{
  /* Surfaces */
  --bg:        #0a0e15;
  --bg-2:      #0c111a;
  --surface:   #111824;
  --surface-2: #161f2d;
  --surface-3: #1c2735;
  --line:      #24303f;
  --line-soft: #1a2432;

  /* Brand */
  --accent:      #ff6a1a;
  --accent-deep: #e2560f;
  --accent-soft: rgba(255,106,26,.12);
  --accent-glow: rgba(255,106,26,.35);
  --steel:       #6a7a8c;

  /* Text */
  --text:   #eef2f7;
  --muted:  #93a1b3;
  --faint:  #61708250;

  /* Type */
  --font-display: 'Oswald', 'Arial Narrow', sans-serif;
  --font-body:    'Barlow', system-ui, -apple-system, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, 'Courier New', monospace;

  --maxw: 1240px;
  --radius: 4px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Global tactical grid backdrop */
body::before{
  content:"";
  position:fixed; inset:0;
  background:
    linear-gradient(var(--line-soft) 1px, transparent 1px) 0 0/60px 60px,
    linear-gradient(90deg, var(--line-soft) 1px, transparent 1px) 0 0/60px 60px;
  opacity:.35;
  mask-image:radial-gradient(ellipse 100% 80% at 50% 0%, #000 20%, transparent 75%);
  pointer-events:none; z-index:0;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }

.container{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 28px; }

/* ---------- Typographic helpers ---------- */
.display{ font-family:var(--font-display); font-weight:700; line-height:1.02; letter-spacing:.5px; text-transform:uppercase; }
.mono{ font-family:var(--font-mono); }
.kicker{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.32em;
  text-transform:uppercase; color:var(--accent); display:inline-flex; align-items:center; gap:.6rem;
}
.kicker::before{ content:""; width:26px; height:1px; background:var(--accent); display:inline-block; }

.section{ position:relative; z-index:1; padding:110px 0; }
.section-head{ max-width:720px; margin-bottom:56px; }
.section-head h2{
  font-family:var(--font-display); font-weight:700; text-transform:uppercase;
  font-size:clamp(2rem,4.6vw,3.4rem); line-height:1.02; letter-spacing:.5px; margin:14px 0 16px;
}
.section-head h2 em{ color:var(--accent); font-style:normal; }
.section-head p{ color:var(--muted); font-size:1.05rem; max-width:640px; }
.section-num{
  font-family:var(--font-mono); font-size:.72rem; color:var(--steel);
  letter-spacing:.3em;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:var(--font-mono); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
  padding:14px 26px; border:1px solid transparent; border-radius:var(--radius);
  transition:all .25s var(--ease); position:relative; white-space:nowrap;
}
.btn svg{ width:15px; height:15px; }
.btn-primary{ background:var(--accent); color:#0a0e15; font-weight:600; }
.btn-primary:hover{ background:#ff7d38; box-shadow:0 8px 30px -8px var(--accent-glow); transform:translateY(-2px); }
.btn-ghost{ border-color:var(--line); color:var(--text); background:rgba(255,255,255,.02); }
.btn-ghost:hover{ border-color:var(--accent); color:var(--accent); transform:translateY(-2px); }

/* ---------- HUD corner brackets ---------- */
.hud{ position:relative; }
.hud::before,.hud::after{
  content:""; position:absolute; width:14px; height:14px; pointer-events:none;
  border:1.5px solid var(--accent); opacity:.7;
}
.hud::before{ top:-1px; left:-1px; border-right:none; border-bottom:none; }
.hud::after{ bottom:-1px; right:-1px; border-left:none; border-top:none; }

/* =====================================================================
   NAV
   ===================================================================== */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 28px; transition:all .35s var(--ease);
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(9,13,20,.82); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft); padding:11px 28px;
}
.nav-brand{ display:flex; align-items:center; gap:12px; }
.nav-brand img{ height:42px; width:auto; }
.nav-brand .bt{ line-height:1; }
.nav-brand .bt b{ font-family:var(--font-display); font-weight:700; letter-spacing:1px; font-size:1.05rem; display:block; text-transform:uppercase; }
.nav-brand .bt span{ font-family:var(--font-mono); font-size:.6rem; letter-spacing:.28em; color:var(--steel); text-transform:uppercase; }

.nav-links{ display:flex; align-items:center; gap:30px; }
.nav-links a{
  font-family:var(--font-mono); font-size:.76rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--muted); transition:color .2s; position:relative; padding:4px 0;
}
.nav-links a::after{ content:""; position:absolute; left:0; bottom:-2px; width:0; height:1px; background:var(--accent); transition:width .25s var(--ease); }
.nav-links a:hover, .nav-links a.active{ color:var(--text); }
.nav-links a:hover::after, .nav-links a.active::after{ width:100%; }

.nav-right{ display:flex; align-items:center; gap:16px; }
.lang{ display:flex; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.lang button{
  background:transparent; color:var(--muted); border:none; padding:6px 10px;
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.08em; transition:all .2s;
}
.lang button.active{ background:var(--accent); color:#0a0e15; font-weight:600; }

.burger{ display:none; flex-direction:column; gap:5px; background:none; border:none; padding:6px; }
.burger span{ width:24px; height:2px; background:var(--text); transition:.3s; }
.burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* =====================================================================
   HERO
   ===================================================================== */
.hero{ position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; padding-top:90px; }
#hero-canvas{ position:absolute; inset:0; width:100%; height:100%; z-index:0; }
.hero::after{ content:""; position:absolute; inset:0; z-index:1;
  background:radial-gradient(ellipse 90% 70% at 70% 40%, transparent 30%, var(--bg) 85%),
             linear-gradient(180deg, transparent 60%, var(--bg) 100%); pointer-events:none; }
.hero-inner{ position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; width:100%; }

.hero-copy .tags{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:22px; }
.tag{
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--muted); border:1px solid var(--line); padding:5px 11px; border-radius:2px;
  display:inline-flex; align-items:center; gap:7px;
}
.tag i{ width:5px; height:5px; background:var(--accent); border-radius:50%; display:inline-block; box-shadow:0 0 8px var(--accent); }

.hero h1{
  font-family:var(--font-display); font-weight:700; text-transform:uppercase;
  font-size:clamp(2.6rem,6vw,5rem); line-height:.96; letter-spacing:1px; margin-bottom:22px;
}
.hero h1 em{ color:var(--accent); font-style:normal; display:block; }
.hero-copy p.lead{ color:var(--muted); font-size:1.12rem; max-width:500px; margin-bottom:32px; }
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; }

.hero-visual{ position:relative; }
.hero-visual .frame{ position:relative; padding:18px; }
.hero-visual img{ width:100%; height:400px; object-fit:contain; transition:opacity .4s var(--ease), transform .5s var(--ease); filter:drop-shadow(0 26px 54px rgba(0,0,0,.6)); }
.hero-visual img.swapping{ opacity:0; transform:scale(.97); }
.hero-visual .reticle{ position:absolute; top:6%; right:4%; width:70px; height:70px; opacity:.5; animation:spin 24s linear infinite; }
.hero-dots{ position:absolute; bottom:8%; right:2%; display:flex; gap:9px; z-index:4; }
.hero-dots button{ width:9px; height:9px; padding:0; border-radius:50%; border:1px solid var(--steel); background:transparent; transition:all .25s var(--ease); }
.hero-dots button:hover{ border-color:var(--accent); }
.hero-dots button.active{ background:var(--accent); border-color:var(--accent); width:22px; border-radius:5px; box-shadow:0 0 10px var(--accent-glow); }
.hero-readout{
  position:absolute; bottom:8%; left:-6px; background:rgba(9,13,20,.75); backdrop-filter:blur(6px);
  border:1px solid var(--line); padding:12px 16px; font-family:var(--font-mono); font-size:.66rem;
  letter-spacing:.1em; color:var(--muted);
}
.hero-readout b{ color:var(--accent); }
@keyframes spin{ to{ transform:rotate(360deg); } }

.hero-ticker{
  position:absolute; bottom:0; left:0; right:0; z-index:3;
  border-top:1px solid var(--line-soft); background:rgba(9,13,20,.6); backdrop-filter:blur(8px);
  overflow:hidden; white-space:nowrap;
}
.ticker-track{ display:inline-flex; gap:48px; padding:12px 0; animation:ticker 34s linear infinite; }
.ticker-track span{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); display:inline-flex; align-items:center; gap:14px; }
.ticker-track span::after{ content:"◆"; color:var(--accent); font-size:.6rem; }
@keyframes ticker{ to{ transform:translateX(-50%); } }

/* =====================================================================
   STATS BAND
   ===================================================================== */
.stats{ border-block:1px solid var(--line-soft); background:linear-gradient(180deg,var(--bg-2),var(--bg)); position:relative; z-index:1; }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.stat{ padding:44px 28px; text-align:center; border-left:1px solid var(--line-soft); }
.stat:first-child{ border-left:none; }
.stat .num{ font-family:var(--font-display); font-weight:700; font-size:3rem; line-height:1; color:var(--text); }
.stat .num em{ color:var(--accent); font-style:normal; }
.stat .lbl{ font-family:var(--font-mono); font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-top:10px; }

/* =====================================================================
   TRUST / CAPABILITIES
   ===================================================================== */
.trust-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.tcard{
  background:linear-gradient(180deg,var(--surface),var(--bg-2));
  border:1px solid var(--line); border-radius:var(--radius); padding:30px 28px;
  transition:all .3s var(--ease); position:relative; overflow:hidden;
}
.tcard::before{ content:""; position:absolute; top:0; left:0; width:0; height:2px; background:var(--accent); transition:width .4s var(--ease); }
.tcard:hover{ border-color:var(--line); transform:translateY(-4px); background:linear-gradient(180deg,var(--surface-2),var(--surface)); }
.tcard:hover::before{ width:100%; }
.tcard .ic{ width:46px; height:46px; color:var(--accent); margin-bottom:20px; }
.tcard h3{ font-family:var(--font-display); font-weight:600; text-transform:uppercase; letter-spacing:.5px; font-size:1.15rem; margin-bottom:10px; }
.tcard p{ color:var(--muted); font-size:.94rem; }

/* =====================================================================
   DIVISIONS
   ===================================================================== */
.filters{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:38px; }
.filter{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
  padding:9px 16px; border:1px solid var(--line); border-radius:var(--radius); color:var(--muted);
  background:transparent; transition:all .22s;
}
.filter:hover{ color:var(--text); border-color:var(--steel); }
.filter.active{ background:var(--accent); color:#0a0e15; border-color:var(--accent); font-weight:600; }

.div-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.dcard{
  position:relative; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  background:var(--surface); transition:all .35s var(--ease); min-height:320px; display:flex; flex-direction:column;
}
.dcard:hover{ border-color:var(--accent); transform:translateY(-6px); box-shadow:0 24px 50px -24px rgba(0,0,0,.8); }
.dcard .media{ position:relative; height:210px; overflow:hidden; background:radial-gradient(circle at 50% 40%, var(--surface-2), var(--bg-2)); display:flex; align-items:center; justify-content:center; }
.dcard .media img{ height:82%; width:auto; object-fit:contain; transition:transform .5s var(--ease); filter:drop-shadow(0 12px 24px rgba(0,0,0,.5)); }
.dcard:hover .media img{ transform:scale(1.07); }
.dcard .idx{ position:absolute; top:12px; left:14px; font-family:var(--font-mono); font-size:.7rem; color:var(--accent); letter-spacing:.14em; }
.dcard .body{ padding:22px 22px 26px; flex:1; display:flex; flex-direction:column; }
.dcard h3{ font-family:var(--font-display); font-weight:600; text-transform:uppercase; letter-spacing:.5px; font-size:1.35rem; margin-bottom:8px; }
.dcard p{ color:var(--muted); font-size:.9rem; flex:1; }
.dcard .go{ margin-top:16px; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); display:inline-flex; align-items:center; gap:8px; transition:gap .25s; }
.dcard:hover .go{ gap:14px; }

/* =====================================================================
   DETAILED CATALOG
   ===================================================================== */
.division{ scroll-margin-top:90px; padding:64px 0; border-top:1px solid var(--line-soft); }
.division-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:40px; flex-wrap:wrap; }
.division-head .lhs{ display:flex; align-items:baseline; gap:18px; }
.division-head .big-num{ font-family:var(--font-display); font-weight:700; font-size:3.4rem; color:var(--accent); line-height:.8; }
.division-head h3{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.6px; font-size:2rem; }
.division-head .sub{ color:var(--muted); max-width:520px; font-size:.98rem; margin-top:4px; }

.prod-grid{ display:grid; gap:18px; }
.prod-grid.c4{ grid-template-columns:repeat(4,1fr); }
.prod-grid.c3{ grid-template-columns:repeat(3,1fr); }
.prod-grid.c2{ grid-template-columns:repeat(2,1fr); }

.pcard{
  border:1px solid var(--line); border-radius:var(--radius); background:var(--surface);
  overflow:hidden; transition:all .3s var(--ease); display:flex; flex-direction:column;
}
.pcard:hover{ border-color:var(--accent); transform:translateY(-4px); }
.pcard .pmedia{ height:200px; display:flex; align-items:center; justify-content:center; padding:16px; background:radial-gradient(circle at 50% 45%, var(--surface-2), var(--bg-2)); position:relative; }
.pcard .pmedia::after{ content:""; position:absolute; inset:0; box-shadow:inset 0 0 70px 12px var(--bg-2); pointer-events:none; }
.pcard .pmedia img{ max-height:100%; width:auto; object-fit:contain; filter:drop-shadow(0 10px 20px rgba(0,0,0,.5)); }
.pcard.tall .pmedia{ height:280px; }
.pcard .pmedia .badge{ position:absolute; top:10px; right:10px; font-family:var(--font-mono); font-size:.6rem; letter-spacing:.12em; color:var(--accent); border:1px solid var(--accent); padding:3px 7px; border-radius:2px; text-transform:uppercase; }
.pcard .pbody{ padding:18px 20px 22px; border-top:1px solid var(--line-soft); }
.pcard h4{ font-family:var(--font-display); font-weight:600; text-transform:uppercase; letter-spacing:.5px; font-size:1.15rem; }
.pcard .meta{ font-family:var(--font-mono); font-size:.68rem; letter-spacing:.1em; color:var(--steel); text-transform:uppercase; margin-top:5px; }
.pcard p{ color:var(--muted); font-size:.86rem; margin-top:10px; }

/* Spec table */
.spec-table{ width:100%; border-collapse:collapse; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.spec-table th, .spec-table td{ padding:15px 18px; text-align:left; border-bottom:1px solid var(--line-soft); font-size:.9rem; }
.spec-table thead th{ font-family:var(--font-mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); background:var(--bg-2); }
.spec-table tbody th{ font-family:var(--font-display); font-weight:600; letter-spacing:.5px; color:var(--text); text-transform:uppercase; }
.spec-table tbody tr{ transition:background .2s; }
.spec-table tbody tr:hover{ background:var(--surface); }
.spec-table td{ color:var(--muted); font-family:var(--font-mono); font-size:.82rem; }
.spec-wrap{ overflow-x:auto; }

/* fleet gallery */
.fleet{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:20px; }
.fleet figure{ border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(180deg,var(--surface),var(--bg-2)); overflow:hidden; }
.fleet figure img{ width:100%; height:180px; object-fit:cover; object-position:center; transition:transform .5s var(--ease); }
.fleet figure:hover img{ transform:scale(1.06); }
.fleet figcaption{ padding:12px 16px; font-family:var(--font-mono); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); border-top:1px solid var(--line-soft); }

/* =====================================================================
   CATALOG DOWNLOAD CTA
   ===================================================================== */
.cta-band{ position:relative; z-index:1; border-block:1px solid var(--line-soft); background:
   linear-gradient(120deg, rgba(255,106,26,.06), transparent 60%), var(--bg-2); }
.cta-inner{ display:flex; align-items:center; justify-content:space-between; gap:40px; padding:70px 0; flex-wrap:wrap; }
.cta-inner h2{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; font-size:clamp(1.8rem,3.6vw,2.8rem); line-height:1.05; }
.cta-inner h2 em{ color:var(--accent); font-style:normal; }
.cta-inner p{ color:var(--muted); margin-top:10px; max-width:440px; }

/* =====================================================================
   CONTACT
   ===================================================================== */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.contact-info .block{ margin-bottom:28px; }
.contact-info .lbl{ font-family:var(--font-mono); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); margin-bottom:8px; }
.contact-info .val{ font-size:1.05rem; }
.contact-info .val a{ transition:color .2s; }
.contact-info .val a:hover{ color:var(--accent); }
.contact-info .val + .val{ margin-top:3px; }

.form{ background:linear-gradient(180deg,var(--surface),var(--bg-2)); border:1px solid var(--line); border-radius:var(--radius); padding:32px; }
.form .row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field{ margin-bottom:16px; }
.field label{ display:block; font-family:var(--font-mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:7px; }
.field input, .field select, .field textarea{
  width:100%; background:var(--bg); border:1px solid var(--line); border-radius:var(--radius);
  padding:12px 14px; color:var(--text); font-family:var(--font-body); font-size:.95rem; transition:border-color .2s;
}
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--accent); }
.field textarea{ resize:vertical; min-height:110px; }
.form-note{ font-size:.78rem; color:var(--steel); margin-top:12px; font-family:var(--font-mono); letter-spacing:.04em; }
.hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }
.form-status{ margin-top:12px; font-family:var(--font-mono); font-size:.82rem; letter-spacing:.02em; min-height:1.1em; transition:color .2s; }
.form-status.ok{ color:#5ad07a; }
.form-status.err{ color:var(--accent); }

/* =====================================================================
   FOOTER
   ===================================================================== */
.footer{ position:relative; z-index:1; border-top:1px solid var(--line); background:var(--bg-2); padding:60px 0 30px; }
.footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; margin-bottom:44px; }
.footer-brand img{ height:96px; width:auto; margin-bottom:16px; }
.footer-brand p{ color:var(--muted); font-size:.9rem; max-width:280px; }
.footer col h5, .fcol h5{ font-family:var(--font-mono); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:16px; }
.fcol a, .fcol p{ display:block; color:var(--muted); font-size:.9rem; margin-bottom:9px; transition:color .2s; }
.fcol a:hover{ color:var(--text); }
.footer-bottom{ border-top:1px solid var(--line-soft); padding-top:24px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.footer-bottom p{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.08em; color:var(--steel); }
.disclaimer{ margin-top:14px; font-size:.74rem; color:#5a6675; max-width:900px; line-height:1.7; }

/* =====================================================================
   LIGHTBOX
   ===================================================================== */
.lightbox{ position:fixed; inset:0; z-index:100; background:rgba(5,8,12,.94); display:none; align-items:center; justify-content:center; padding:40px; backdrop-filter:blur(6px); }
.lightbox.open{ display:flex; }
.lightbox img{ max-width:92vw; max-height:88vh; border:1px solid var(--line); }
.lightbox .close{ position:absolute; top:24px; right:30px; background:none; border:1px solid var(--line); color:var(--text); width:44px; height:44px; border-radius:50%; font-size:1.2rem; transition:all .2s; }
.lightbox .close:hover{ border-color:var(--accent); color:var(--accent); }

/* =====================================================================
   REVEAL ANIMATION
   ===================================================================== */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; } .reveal.d3{ transition-delay:.24s; } .reveal.d4{ transition-delay:.32s; }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; transition:none; } .ticker-track,.hero-visual .reticle{ animation:none; } }

/* =====================================================================
   ABOUT PAGE
   ===================================================================== */
.about-hero{ position:relative; z-index:1; padding:150px 0 70px; }
.about-hero .inner{ display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; }
.about-hero h1{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; font-size:clamp(2.2rem,4.8vw,3.6rem); line-height:1.03; letter-spacing:.5px; margin:16px 0 22px; }
.about-hero h1 em{ color:var(--accent); font-style:normal; display:block; }
.about-hero .lead{ color:var(--muted); font-size:1.12rem; max-width:560px; }
.about-visual{ display:flex; align-items:center; justify-content:center; }
.about-visual .em-frame{ position:relative; padding:44px 44px 40px; border:1px solid var(--line); border-radius:var(--radius); background:radial-gradient(circle at 50% 38%, var(--surface-2), var(--bg-2)); }
.about-visual img{ width:210px; height:auto; filter:drop-shadow(0 18px 34px rgba(0,0,0,.55)); }
.about-visual .cap{ margin-top:22px; text-align:center; font-family:var(--font-mono); font-size:.64rem; letter-spacing:.26em; color:var(--steel); }

.prose{ max-width:780px; color:var(--muted); font-size:1.06rem; }
.prose p{ margin-bottom:18px; }
.prose p:last-child{ margin-bottom:0; }
.prose strong{ color:var(--text); font-weight:600; }

.mission-block{ border-left:3px solid var(--accent); padding:10px 0 10px 30px; max-width:860px; }
.mission-block p{ font-family:var(--font-display); font-weight:500; font-size:clamp(1.35rem,2.6vw,2rem); line-height:1.32; color:var(--text); letter-spacing:.2px; }

.div-chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.div-chips a{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; padding:9px 15px; border:1px solid var(--line); border-radius:var(--radius); color:var(--muted); transition:all .22s var(--ease); }
.div-chips a:hover{ color:var(--accent); border-color:var(--accent); transform:translateY(-2px); }

.values-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media (max-width:1080px){ .values-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .values-grid{ grid-template-columns:1fr; } }

.split{ display:grid; grid-template-columns:.9fr 1.1fr; gap:44px; align-items:start; }
.split .lhs h2{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; font-size:clamp(1.8rem,3.4vw,2.6rem); line-height:1.05; letter-spacing:.5px; }
.split .lhs h2 em{ color:var(--accent); font-style:normal; }

@media (max-width:900px){
  .about-hero{ padding:118px 0 46px; }
  .about-hero .inner{ grid-template-columns:1fr; gap:34px; }
  .about-visual{ order:-1; }
  .about-visual img{ width:170px; }
  .split{ grid-template-columns:1fr; gap:22px; }
}

/* =====================================================================
   BOOT INTRO (home only)
   ===================================================================== */
.boot{ position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; background:#0a0e15; overflow:hidden; }
html.intro-play .boot{ display:flex; animation:bootSafety .5s linear 8s forwards; }
@keyframes bootSafety{ to{ opacity:0; visibility:hidden; } }
.boot.done{ opacity:0; visibility:hidden; transition:opacity .5s .2s, visibility 0s .7s; pointer-events:none; }

.boot-door{ position:absolute; left:0; right:0; height:50%; background:linear-gradient(#0c111a,#080c12); z-index:2; transition:transform .7s cubic-bezier(.7,0,.2,1); }
.boot-door.top{ top:0; border-bottom:1px solid var(--accent); box-shadow:0 2px 22px rgba(255,106,26,.22); }
.boot-door.bottom{ bottom:0; border-top:1px solid var(--accent); box-shadow:0 -2px 22px rgba(255,106,26,.22); }
.boot.open .boot-door.top{ transform:translateY(-100%); }
.boot.open .boot-door.bottom{ transform:translateY(100%); }

.boot-ui{ position:relative; z-index:3; display:flex; flex-direction:column; align-items:center; text-align:center; padding:24px; transition:opacity .5s; }
.boot-ui.hide{ opacity:0; }
.boot-brk{ position:fixed; width:22px; height:22px; border:1.5px solid var(--accent); opacity:0; z-index:3; animation:bootFade .5s ease .15s forwards; }
.boot-brk.tl{ top:22px;left:22px;border-right:0;border-bottom:0 } .boot-brk.tr{ top:22px;right:22px;border-left:0;border-bottom:0 }
.boot-brk.bl{ bottom:22px;left:22px;border-right:0;border-top:0 } .boot-brk.br{ bottom:22px;right:22px;border-left:0;border-top:0 }
@keyframes bootFade{ to{ opacity:.55 } }
.boot-scan{ position:fixed; left:0; right:0; height:150px; top:-150px; z-index:3; pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(255,106,26,.05) 70%,rgba(255,106,26,.12)); animation:bootScan 3s linear infinite; }
@keyframes bootScan{ 0%{top:-150px} 100%{top:100vh} }

.boot-emblem{ position:relative; width:150px; height:150px; display:flex; align-items:center; justify-content:center; margin-bottom:6px; }
.boot-emblem img{ width:92px; height:auto; opacity:0; transform:scale(.82); animation:bootEm .6s ease .1s forwards; filter:drop-shadow(0 0 20px rgba(255,106,26,.35)); }
@keyframes bootEm{ to{ opacity:1; transform:scale(1) } }
.boot-ring{ position:absolute; inset:0; width:150px; height:150px; pointer-events:none; }
.boot-ring circle, .boot-ring line{ fill:none; stroke:var(--accent); stroke-width:1.5; stroke-dasharray:460; stroke-dashoffset:460; animation:bootDraw .9s ease .25s forwards; }
@keyframes bootDraw{ to{ stroke-dashoffset:0 } }

.boot-title{ font-family:var(--font-display); font-weight:700; letter-spacing:4px; font-size:24px; color:var(--text); text-transform:uppercase; opacity:0; animation:bootUp .45s ease .55s forwards; }
.boot-sub{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:.3em; color:var(--steel); margin-top:4px; text-transform:uppercase; opacity:0; animation:bootUp .45s ease .7s forwards; }
@keyframes bootUp{ from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:none} }

.boot-log{ width:min(380px,82vw); margin:22px 0 14px; font-family:var(--font-mono); }
.boot-line{ display:flex; align-items:center; gap:8px; font-size:11px; color:var(--muted); padding:3px 0; opacity:0; transform:translateX(-8px); transition:opacity .3s, transform .3s; }
.boot-line.in{ opacity:1; transform:none; }
.boot-line .dots{ flex:1; border-bottom:1px dotted #2c3a4d; height:10px; }
.boot-line .v{ color:#5ad07a; letter-spacing:.04em; } .boot-line .v::after{ content:" ✓"; }

.boot-bar{ width:min(380px,82vw); height:4px; background:#182230; border-radius:3px; overflow:hidden; }
.boot-bar i{ display:block; height:100%; width:0; background:linear-gradient(90deg,var(--accent),#ff9455); transition:width .35s ease; box-shadow:0 0 10px var(--accent-glow); }
.boot-stat{ font-family:var(--font-mono); font-size:10px; letter-spacing:.16em; color:var(--steel); margin-top:10px; text-transform:uppercase; }
.boot-granted{ position:absolute; font-family:var(--font-display); font-weight:700; letter-spacing:5px; font-size:clamp(22px,5vw,32px); color:var(--accent); opacity:0; text-shadow:0 0 24px rgba(255,106,26,.6); }
.boot-granted.show{ animation:bootGrant .75s ease forwards; }
@keyframes bootGrant{ 0%{opacity:0;transform:scale(.85)} 25%{opacity:1} 100%{opacity:1;transform:scale(1)} }

.boot-skip{ position:fixed; bottom:22px; right:24px; z-index:4; background:rgba(12,18,28,.85); border:1px solid var(--line); color:var(--muted); font-family:var(--font-mono); font-size:10px; letter-spacing:.14em; padding:9px 15px; border-radius:4px; cursor:pointer; transition:.2s; }
.boot-skip:hover{ border-color:var(--accent); color:var(--accent); }

@media (prefers-reduced-motion: reduce){ html.intro-play .boot{ display:none; } }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1080px){
  .hero{ padding-bottom:76px; }               /* clear the scrolling ticker at the bottom */
  .hero-inner{ grid-template-columns:1fr; gap:20px; }
  .hero-visual{ order:-1; max-width:520px; }
  .trust-grid{ grid-template-columns:repeat(2,1fr); }
  .div-grid{ grid-template-columns:repeat(2,1fr); }
  .prod-grid.c4{ grid-template-columns:repeat(2,1fr); }
  .footer-top{ grid-template-columns:1fr 1fr; }
}
@media (max-width:760px){
  .section{ padding:76px 0; }
  .nav-links{ position:fixed; inset:0 0 0 auto; width:min(80vw,320px); background:var(--bg-2); flex-direction:column;
    align-items:flex-start; justify-content:flex-start; padding:100px 32px 32px; gap:22px; transform:translateX(100%);
    transition:transform .35s var(--ease); border-left:1px solid var(--line); }
  .nav-links.open{ transform:none; }
  .nav-links a{ font-size:1rem; }
  .burger{ display:flex; }
  .stats-grid{ grid-template-columns:repeat(2,1fr); }
  .stat{ border-left:none; border-top:1px solid var(--line-soft); }
  .stat:nth-child(-n+2){ border-top:none; }
  .stat:nth-child(even){ border-left:1px solid var(--line-soft); }
  .trust-grid,.div-grid,.prod-grid.c4,.prod-grid.c3,.prod-grid.c2,.fleet{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; }
  .form .row{ grid-template-columns:1fr; }
  .footer-top{ grid-template-columns:1fr 1fr; gap:26px; }
  .division-head .big-num{ font-size:2.4rem; }
  .hero h1{ font-size:clamp(2.4rem,11vw,3.4rem); }
  .hero-visual img{ height:300px; }
  body::before{ background-size:44px 44px; }
}
@media (max-width:520px){
  .nav-right .btn-primary{ display:none; }
}
@media (max-width:440px){
  .container{ padding:0 18px; }
  .nav{ padding:14px 18px; }
  .footer-top{ grid-template-columns:1fr; }
}
