/*
Theme Name: NEJET — Tactical Drone Systems
Theme URI: https://nejet.io/
Author: NEJET / ТОВ «Нежить»
Description: Захищена tactical-terminal тема для виробника бойових FPV-дронів та інтерсепторів. Темна тема, монорозмітка, HUD-елементи, телеметрія. Front-page лендинг + Customizer (акцент, контакти).
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: nejet
Tags: dark, one-page, custom-colors, custom-menu, technology, landing
*/

/* ============================================================
   NEJET — Tactical Terminal Design System
   Defense-technology operating console. Dark base, monospace
   technical type, HUD framing, telemetry data.
   ============================================================ */

/* ---- Fonts ---- */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Sans+Condensed:wght@600;700&display=swap');

:root{
  /* base */
  --bg:        #0a0c0b;
  --bg-2:      #0e110f;
  --panel:     #11150f00; /* default transparent; panels use border+tint */
  --panel-fill:#12160f;
  --surface:   #141a16;
  --surface-2: #1b231d;
  --line:      rgba(180,205,188,0.13);
  --line-soft: rgba(180,205,188,0.07);
  --line-strong: rgba(180,205,188,0.26);
  --fg:        #e8efe9;
  --fg-dim:    #aab4ad;
  --muted:     #7e8a82;
  --muted-2:   #5d665f;

  /* accents — same L≈0.82 C≈0.16, hue varies */
  --signal:    #DF0067;   /* operational / active — signal magenta */
  --signal-dim:#8a0040;
  --amber:     #e7b04a;   /* NSN / NATO / classified */
  --amber-dim: #8a6a26;
  --alert:     #e0664a;   /* warnings only, rare */

  --accent:    var(--signal);

  /* type */
  --mono: 'IBM Plex Mono', ui-monospace, monospace;
  --sans: 'IBM Plex Sans', system-ui, sans-serif;
  --cond: 'IBM Plex Sans Condensed', 'IBM Plex Sans', sans-serif;

  /* metrics */
  --maxw: 1320px;
  --gutter: clamp(20px, 4vw, 64px);
  --grid-alpha: 0.5;
}

/* photo containers — tactical placeholder shows until a real image is set */
.photo{position:relative;background:#0e1310;overflow:hidden}
.photo::before{content:attr(data-ph);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;
  background:repeating-linear-gradient(135deg,rgba(180,205,188,.05) 0 10px,transparent 10px 20px)}
.photo img{position:relative;width:100%;height:100%;object-fit:cover;display:block}
.photo.contain img{object-fit:contain}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  /* faint global grid texture */
  content:"";
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(var(--line-soft) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);
  background-size: 64px 64px, 64px 64px;
  opacity:var(--grid-alpha);
  mask-image: radial-gradient(ellipse 120% 90% at 50% 0%, #000 0%, transparent 80%);
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}

/* ---- Layout ---- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);position:relative;z-index:1}
section{position:relative;z-index:1}
.divider{height:1px;background:var(--line);max-width:var(--maxw);margin:0 auto}

/* ---- Type utilities ---- */
.mono{font-family:var(--mono)}
.kicker{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
  display:inline-flex;align-items:center;gap:10px;
}
.kicker b{color:var(--accent);font-weight:600}
.kicker::before{content:"";width:22px;height:1px;background:var(--accent);opacity:.8}
.eyebrow{
  font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
}
h1,h2,h3{font-family:var(--cond);font-weight:700;line-height:1.02;letter-spacing:-.01em;text-transform:uppercase;margin:0}
h2{font-size:clamp(30px,4.6vw,58px)}
h3{font-size:clamp(22px,2.4vw,30px)}
.lead{color:var(--fg-dim);font-size:clamp(16px,1.3vw,19px);line-height:1.6;max-width:62ch}
.dim{color:var(--muted)}

/* ---- HUD frame primitive ---- */
.hud{position:relative;border:1px solid var(--line)}
.hud::before,.hud::after{
  content:"";position:absolute;width:9px;height:9px;pointer-events:none;
}
.hud::before{top:-1px;left:-1px;border-top:1px solid var(--accent);border-left:1px solid var(--accent)}
.hud::after{bottom:-1px;right:-1px;border-bottom:1px solid var(--accent);border-right:1px solid var(--accent)}
.hud-tr::before{content:"";position:absolute;top:-1px;right:-1px;width:9px;height:9px;border-top:1px solid var(--accent);border-right:1px solid var(--accent)}
.hud-bl::after{content:"";position:absolute;bottom:-1px;left:-1px;width:9px;height:9px;border-bottom:1px solid var(--accent);border-left:1px solid var(--accent)}

/* ---- Buttons ---- */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;
  padding:14px 22px;border:1px solid var(--line-strong);color:var(--fg);
  background:transparent;cursor:pointer;position:relative;
  transition:.18s ease;
}
.btn .arr{transition:transform .18s ease;color:var(--accent)}
.btn:hover{border-color:var(--accent);background:rgba(223,0,103,0.09)}
.btn:hover .arr{transform:translateX(4px)}
.btn-primary{background:var(--accent);color:#fff0f6;border-color:var(--accent);font-weight:600}
.btn-primary .arr{color:#fff0f6}
.btn-primary:hover{background:#ff2a86;border-color:#ff2a86}
.btn-ghost{border-color:var(--line)}

/* ---- Status dot ---- */
.dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(223,0,103,.5)}70%{box-shadow:0 0 0 6px rgba(223,0,103,0)}100%{box-shadow:0 0 0 0 rgba(223,0,103,0)}}

/* ============================================================
   TOP UTILITY BAR + NAV
   ============================================================ */
.util{
  border-bottom:1px solid var(--line);background:var(--bg-2);
  font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;color:var(--muted);
}
.util .wrap{display:flex;align-items:center;justify-content:space-between;height:34px;text-transform:uppercase;white-space:nowrap}
.util .u-left{display:flex;align-items:center;gap:18px}
.util .u-item{display:flex;align-items:center;gap:8px;white-space:nowrap}
.util .u-item b{color:var(--fg-dim);font-weight:500}
.util .ok{color:var(--accent)}
.util .u-right{display:flex;align-items:center;gap:18px}
.lang a{color:var(--muted-2)}
.lang a.on{color:var(--fg)}
.lang span{color:var(--muted-2);margin:0 6px}
@media(max-width:1040px){.util .u-item.hide-sm{display:none}}

.nav{
  position:sticky;top:0;z-index:50;
  border-bottom:1px solid var(--line);
  background:rgba(10,12,11,.82);backdrop-filter:blur(12px);
}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:baseline;gap:12px}
.brand .mark{font-family:var(--cond);font-weight:700;font-size:25px;letter-spacing:.04em}
.brand .mark span{color:var(--accent)}
.brand .sub{font-family:var(--mono);font-size:10px;letter-spacing:.24em;color:var(--muted);text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a{
  font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);
  position:relative;padding:6px 0;transition:.15s;
}
.nav-links a .idx{color:var(--muted-2);margin-right:7px;font-size:10px}
.nav-links a:hover{color:var(--fg)}
.nav-links a:hover .idx{color:var(--accent)}
.nav-cta{display:flex;align-items:center;gap:14px}
.menu-btn{display:none}
@media(max-width:980px){
  .nav-links{display:none}
  .nav-cta .btn.hide-sm{display:none}
}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;border-bottom:1px solid var(--line);overflow:hidden}
.hero .wrap{padding-top:clamp(48px,7vw,92px);padding-bottom:clamp(40px,6vw,72px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center}
.hero-boot{font-family:var(--mono);font-size:12.5px;color:var(--accent);letter-spacing:.08em;margin-bottom:22px;min-height:18px}
.hero-boot .cur{display:inline-block;width:8px;height:14px;background:var(--accent);vertical-align:-2px;margin-left:3px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.hero h1{font-size:clamp(40px,6.6vw,86px);margin-bottom:22px}
.hero h1 .hl{color:var(--accent)}
.hero .lead{margin-bottom:30px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.hero-stats .st{padding:18px 0 4px;border-right:1px solid var(--line)}
.hero-stats .st:last-child{border-right:0}
.hero-stats .num{font-family:var(--cond);font-weight:700;font-size:clamp(26px,3vw,38px);color:var(--fg);line-height:1}
.hero-stats .num b{color:var(--accent);font-weight:700}
.hero-stats .lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px}

/* hero visual / HUD viewport */
.viewport{position:relative;aspect-ratio:4/3.4;background:var(--bg-2);border:1px solid var(--line)}
.viewport .vp-img{position:absolute;inset:0;width:100%;height:100%}
.viewport .vp-img img{width:100%;height:100%;object-fit:cover;display:block}
.viewport .scan{position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(223,0,103,.05) 0 1px,transparent 1px 3px);
  mix-blend-mode:screen;z-index:3}
.vp-hud{position:absolute;inset:0;z-index:4;pointer-events:none;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--accent);text-transform:uppercase}
.vp-hud .corner{position:absolute;width:16px;height:16px}
.vp-hud .c-tl{top:10px;left:10px;border-top:1px solid;border-left:1px solid}
.vp-hud .c-tr{top:10px;right:10px;border-top:1px solid;border-right:1px solid}
.vp-hud .c-bl{bottom:10px;left:10px;border-bottom:1px solid;border-left:1px solid}
.vp-hud .c-br{bottom:10px;right:10px;border-bottom:1px solid;border-right:1px solid}
.vp-hud .tag{position:absolute;background:rgba(10,12,11,.6);padding:3px 7px;border:1px solid var(--line)}
.vp-hud .t1{top:14px;left:34px;color:var(--fg-dim)}
.vp-hud .t1 i{color:var(--accent);font-style:normal}
.vp-hud .t2{top:14px;right:34px}
.vp-hud .t3{bottom:14px;left:34px;color:var(--fg-dim)}
.vp-hud .t4{bottom:14px;right:34px}
.vp-reticle{position:absolute;top:50%;left:50%;width:120px;height:120px;transform:translate(-50%,-50%);z-index:4;pointer-events:none}
.vp-reticle::before,.vp-reticle::after{content:"";position:absolute;background:rgba(223,0,103,.45)}
.vp-reticle::before{top:50%;left:0;right:0;height:1px}
.vp-reticle::after{left:50%;top:0;bottom:0;width:1px}
.vp-reticle .ring{position:absolute;inset:34px;border:1px solid rgba(223,0,103,.55);border-radius:50%}
.vp-reticle .ring::after{content:"";position:absolute;inset:-12px;border:1px solid rgba(223,0,103,.2);border-radius:50%}

/* hotspots */
.hotspot{position:absolute;z-index:5;pointer-events:auto;cursor:pointer}
.hotspot .pin{width:13px;height:13px;border:1px solid var(--accent);border-radius:50%;position:relative;background:rgba(10,12,11,.5)}
.hotspot .pin::after{content:"";position:absolute;inset:3px;background:var(--accent);border-radius:50%;opacity:.85}
.hotspot .pop{
  position:absolute;left:20px;top:-8px;min-width:160px;background:rgba(12,16,13,.96);border:1px solid var(--line-strong);
  padding:9px 11px;opacity:0;transform:translateX(-4px);transition:.16s;pointer-events:none;
}
.hotspot:hover .pop{opacity:1;transform:none}
.hotspot .pop .h{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.1em;text-transform:uppercase}
.hotspot .pop .d{font-size:12px;color:var(--fg-dim);margin-top:3px;line-height:1.4;text-transform:none;letter-spacing:0;font-family:var(--sans)}

@media(max-width:880px){
  .hero-grid{grid-template-columns:1fr}
  .viewport{aspect-ratio:16/12}
}

/* ============================================================
   CREDENTIAL TICKER
   ============================================================ */
.ticker{border-bottom:1px solid var(--line);background:var(--bg-2);overflow:hidden}
.ticker-track{display:flex;gap:0;white-space:nowrap;animation:marquee 38s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.tk-item{display:inline-flex;align-items:center;gap:14px;padding:15px 34px;font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);border-right:1px solid var(--line)}
.tk-item .mk{color:var(--accent)}
.tk-item .amb{color:var(--amber)}

/* ============================================================
   SECTION HEADER
   ============================================================ */
.sec{padding-block:clamp(64px,8vw,120px)}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:48px}
.sec-head .l{max-width:60ch}
.sec-head .ix{font-family:var(--mono);font-size:12px;color:var(--muted-2);letter-spacing:.16em}
.sec-head h2{margin-top:18px}
.sec-head .l p{margin:16px 0 0}

/* ============================================================
   CAPABILITIES
   ============================================================ */
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.cap{background:var(--bg);padding:34px 30px 38px;position:relative;transition:.2s;min-height:340px;display:flex;flex-direction:column}
.cap:hover{background:var(--bg-2)}
.cap .cnum{font-family:var(--mono);font-size:11px;color:var(--muted-2);letter-spacing:.16em}
.cap .ctitle{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:23px;margin:16px 0 12px;line-height:1.05}
.cap .cdesc{color:var(--fg-dim);font-size:14.5px;line-height:1.6}
.cap .viz{margin-top:auto;padding-top:26px}
@media(max-width:880px){.caps{grid-template-columns:1fr}}

/* EW frequency-hop viz */
.ewviz{display:flex;align-items:flex-end;gap:4px;height:54px}
.ewviz .bar{flex:1;background:var(--surface-2);position:relative;height:30%;transition:height .4s ease}
.ewviz .bar.act{background:var(--accent);box-shadow:0 0 10px rgba(223,0,103,.45)}
.ewline{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.1em;margin-top:10px;display:flex;justify-content:space-between}

/* AI lock viz */
.aiviz{position:relative;height:54px;border:1px solid var(--line);overflow:hidden;background:var(--bg-2)}
.aiviz .target{position:absolute;width:16px;height:16px;border:1px solid var(--accent);top:50%;left:20%;animation:track 5s ease-in-out infinite}
.aiviz .target::before,.aiviz .target::after{content:"";position:absolute;background:var(--accent)}
.aiviz .target::before{left:50%;top:-5px;bottom:-5px;width:1px;transform:translateX(-50%)}
.aiviz .target::after{top:50%;left:-5px;right:-5px;height:1px;transform:translateY(-50%)}
@keyframes track{0%{left:14%;top:40%}50%{left:78%;top:64%}100%{left:14%;top:40%}}
.aiviz .grid-x{position:absolute;inset:0;background-image:linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:18px 100%}

/* module viz */
.modviz{display:flex;gap:6px}
.modviz .m{flex:1;height:40px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.08em;background:var(--bg-2);transition:.2s}
.modviz .m.on{border-color:var(--accent);color:var(--accent)}

/* ============================================================
   CATALOG
   ============================================================ */
.catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.unit{border:1px solid var(--line);background:var(--bg-2);display:flex;flex-direction:column;transition:.2s;position:relative}
.unit:hover{border-color:var(--line-strong)}
.unit .ph{position:relative;aspect-ratio:4/3;border-bottom:1px solid var(--line);overflow:hidden}
.unit .ph{} /* .photo handles fill */
.unit .ph .ovr{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--accent);text-transform:uppercase;z-index:2;pointer-events:none}
.unit .ph .ovr .role{background:rgba(10,12,11,.7);padding:3px 7px;border:1px solid var(--line)}
.unit .body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.unit .uname{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:27px;line-height:1}
.unit .uname .in{font-family:var(--mono);font-size:12px;color:var(--accent);display:block;letter-spacing:.1em;margin-bottom:7px;text-transform:uppercase}
.unit .udesc{color:var(--fg-dim);font-size:13.5px;line-height:1.55;margin:14px 0 18px}
.unit .specs{margin-top:auto;border-top:1px solid var(--line)}
.unit .specrow{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line-soft);font-family:var(--mono);font-size:12px}
.unit .specrow .k{color:var(--muted);letter-spacing:.06em}
.unit .specrow .v{color:var(--fg)}
.unit .specrow .v b{color:var(--accent);font-weight:600}
.unit .nsn{display:flex;align-items:center;gap:8px;margin-top:16px;font-family:var(--mono);font-size:11px;color:var(--amber);letter-spacing:.08em}
.unit .nsn .lab{color:var(--muted)}
.unit .nsn.none{color:var(--muted-2)}
@media(max-width:980px){.catalog{grid-template-columns:1fr}}

/* ============================================================
   PLATFORM SCHEMATIC (Ground Control Station)
   ============================================================ */
.platform{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.plat-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);align-items:center}
.schem{position:relative;border:1px solid var(--line);aspect-ratio:1/1;background:
  radial-gradient(circle at 50% 50%, rgba(223,0,103,.05), transparent 60%);overflow:hidden}
.schem .grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:32px 32px}
.schem .gcs-img{position:absolute;inset:14%;background:transparent}
.schem .gcs-img::before{opacity:.7}
.callout{position:absolute;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;z-index:3}
.callout .ln{position:absolute;background:var(--accent);opacity:.6}
.callout .lbl{background:rgba(12,16,13,.92);border:1px solid var(--line-strong);padding:5px 9px;white-space:nowrap}
.callout .lbl b{color:var(--accent);display:block;font-weight:600}
.callout .lbl span{color:var(--muted);font-size:9.5px}
.callout .pt{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}

.plat-list{list-style:none;padding:0;margin:26px 0 0}
.plat-list li{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.plat-list li .pn{font-family:var(--mono);font-size:12px;color:var(--accent);min-width:34px;letter-spacing:.05em}
.plat-list li .pt-t{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:17px}
.plat-list li .pt-d{color:var(--fg-dim);font-size:13.5px;margin-top:4px;line-height:1.5}
@media(max-width:880px){.plat-grid{grid-template-columns:1fr}}

/* ============================================================
   DATASHEET (key characteristics)
   ============================================================ */
.datasheet{border:1px solid var(--line)}
.ds-row{display:grid;grid-template-columns:0.9fr 2.1fr;border-bottom:1px solid var(--line)}
.ds-row:last-child{border-bottom:0}
.ds-row .dk{padding:22px 26px;border-right:1px solid var(--line);background:var(--bg-2);font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:17px;display:flex;align-items:center;gap:12px}
.ds-row .dk .di{font-family:var(--mono);font-size:11px;color:var(--accent);font-weight:400}
.ds-row .dv{padding:22px 26px;display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center}
.ds-row .dv .chip{font-family:var(--mono);font-size:13px;color:var(--fg-dim);display:flex;align-items:center;gap:9px;white-space:nowrap}
.ds-row .dv .chip::before{content:"";width:5px;height:5px;background:var(--accent);transform:rotate(45deg)}
.ds-row .dv .chip b{color:var(--fg);font-weight:600}
@media(max-width:760px){.ds-row{grid-template-columns:1fr}.ds-row .dk{border-right:0;border-bottom:1px solid var(--line)}}

/* ============================================================
   CREDIBILITY / PARTNERS
   ============================================================ */
.cred-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:60px}
.cred-stats .cs{background:var(--bg);padding:36px 28px}
.cred-stats .cs .csn{font-family:var(--cond);font-weight:700;font-size:clamp(34px,4vw,52px);line-height:.95;color:var(--fg)}
.cred-stats .cs .csn b{color:var(--accent)}
.cred-stats .cs .csl{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:12px;line-height:1.5}
@media(max-width:880px){.cred-stats{grid-template-columns:repeat(2,1fr)}}

.partners{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;border:1px solid var(--line);padding:30px 36px;background:var(--bg-2)}
.partners .plabel{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.partners .logos{display:flex;align-items:center;gap:40px;flex-wrap:wrap;opacity:.85}
.partners .logos .photo{width:120px;height:46px}
.partners .logos .photo::before{font-size:10px}

/* ============================================================
   CONTACT / REQUEST ACCESS
   ============================================================ */
.contact{border-top:1px solid var(--line);background:
  linear-gradient(180deg,var(--bg-2),var(--bg))}
.ct-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,72px)}
.terminal{border:1px solid var(--line);background:var(--bg-2)}
.terminal .tbar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.terminal .tbar .dots{display:flex;gap:6px}
.terminal .tbar .dots i{width:8px;height:8px;border-radius:50%;border:1px solid var(--line-strong);display:block}
.terminal .tbar .dots i.g{background:var(--accent);border-color:var(--accent)}
.terminal form{padding:24px 26px 28px}
.field{margin-bottom:18px}
.field label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:8px}
.field label .req{color:var(--accent)}
.field input,.field textarea,.field select{
  width:100%;background:var(--bg);border:1px solid var(--line);color:var(--fg);
  font-family:var(--mono);font-size:14px;padding:13px 14px;outline:none;transition:.15s;
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);background:rgba(223,0,103,.04)}
.field textarea{resize:vertical;min-height:88px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.terminal .submit{width:100%;justify-content:center;margin-top:6px}
.ct-info .ci-block{border-top:1px solid var(--line);padding:22px 0}
.ct-info .ci-block:first-child{border-top:0;padding-top:0}
.ct-info .cih{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.ct-info .ci-line{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line-soft);font-family:var(--mono);font-size:14px}
.ct-info .ci-line .k{color:var(--muted);letter-spacing:.06em;font-size:12px}
.ct-info .ci-line .v{color:var(--fg)}
.ct-info .ci-line .v.acc{color:var(--accent)}
@media(max-width:880px){.ct-grid{grid-template-columns:1fr}}

/* ============================================================
   FOOTER
   ============================================================ */
.foot{border-top:1px solid var(--line);background:var(--bg-2)}
.foot .wrap{padding-block:42px}
.foot-top{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:flex-start;margin-bottom:36px}
.foot .fbrand .mark{font-family:var(--cond);font-weight:700;font-size:25px;letter-spacing:.04em}
.foot .fbrand .mark span{color:var(--accent)}
.foot .fbrand p{color:var(--muted);font-size:13px;max-width:34ch;margin:12px 0 0;line-height:1.6}
.foot-cols{display:flex;gap:56px;flex-wrap:wrap}
.foot-col h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;font-weight:500}
.foot-col a{display:block;font-size:14px;color:var(--fg-dim);padding:5px 0;font-family:var(--mono);transition:.15s}
.foot-col a:hover{color:var(--accent)}
.foot-bot{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--muted-2);text-transform:uppercase}

/* tweaks-driven toggles */
.no-motion .ticker-track,.no-motion .dot,.no-motion .hero-boot .cur,
.no-motion .aiviz .target,.no-motion .ewviz .bar{animation:none!important}
.no-scan .scan{display:none}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .ticker-track,.dot,.hero-boot .cur,.aiviz .target{animation:none!important}
}

/* ============================================================
   WORDPRESS GENERIC TEMPLATES (blog index, pages, posts)
   ============================================================ */
.page-shell{padding-block:clamp(48px,7vw,90px)}
.entry-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.entry-card{background:var(--bg);padding:30px clamp(20px,3vw,36px)}
.entry-card .entry-meta{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.entry-card .entry-title{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:clamp(22px,2.4vw,30px);line-height:1.04;margin:0 0 14px}
.entry-card .entry-title a{color:var(--fg)}
.entry-card .entry-title a:hover{color:var(--accent)}
.entry-card .entry-excerpt{color:var(--fg-dim);font-size:15px;line-height:1.6;margin-bottom:20px;max-width:70ch}

/* article body — readable sans, NOT the condensed display caps */
.entry-content{max-width:74ch;color:var(--fg-dim);font-size:16.5px;line-height:1.7}
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4{
  font-family:var(--sans);text-transform:none;letter-spacing:-.01em;color:var(--fg);
  line-height:1.2;margin:1.6em 0 .5em}
.entry-content h2{font-size:1.7em}.entry-content h3{font-size:1.35em}
.entry-content p{margin:0 0 1.1em}
.entry-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.entry-content img,.entry-content .wp-block-image img{max-width:100%;height:auto;border:1px solid var(--line)}
.entry-content blockquote{border-left:2px solid var(--accent);margin:1.4em 0;padding:.2em 0 .2em 22px;color:var(--fg)}
.entry-content code,.entry-content pre{font-family:var(--mono);background:var(--surface);border:1px solid var(--line);font-size:.9em}
.entry-content pre{padding:16px;overflow:auto}.entry-content code{padding:2px 6px}
.entry-content ul,.entry-content ol{padding-left:1.3em;margin:0 0 1.1em}
.entry-content li{margin:.4em 0}
.entry-thumb img{display:block;width:100%;height:auto}
.alignwide{margin-inline:calc(50% - 50vw);max-width:100vw}
.alignfull{margin-inline:calc(50% - 50vw);max-width:100vw}
.aligncenter{margin-inline:auto;display:block}

/* pagination */
.pagination,.nav-links.pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:40px}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;
  border:1px solid var(--line);font-family:var(--mono);font-size:13px;color:var(--fg-dim)}
.pagination .page-numbers.current{border-color:var(--accent);color:var(--accent)}
.pagination a.page-numbers:hover{border-color:var(--accent);color:var(--fg)}

/* WP admin bar offset for sticky nav */
.admin-bar .nav{top:32px}
@media(max-width:782px){.admin-bar .nav{top:46px}}

/* ============================================================
   NEJET — Blog / Journal + Form upgrades  (v 1.1.0)
   ============================================================ */

/* ---- Narrow content wrapper (single posts / pages) ---- */
.wrap-narrow{max-width:820px;margin-inline:auto;padding-inline:var(--gutter)}

/* ---- Blog shell ---- */
main.blog{padding-block:clamp(48px,7vw,90px)}
main.single{padding-block:clamp(48px,7vw,90px)}

/* ---- Blog header ---- */
.blog-head{margin-bottom:clamp(40px,6vw,72px)}
.blog-head .ix{font-family:var(--mono);font-size:12px;color:var(--muted-2);letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.blog-h1{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:clamp(32px,5vw,60px);line-height:1;margin:0 0 16px}
.blog-lead{color:var(--fg-dim);font-size:clamp(15px,1.4vw,17px);max-width:58ch;margin:0;line-height:1.6}

/* ---- Shared meta strip ---- */
.entry-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.dotsep{color:var(--muted-2)}
.ent-cat a{color:var(--accent);text-decoration:none}
.ent-cat a:hover{text-decoration:underline}

/* ---- Feature card (first post on blog home) ---- */
.feature-card{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:clamp(36px,5vw,60px);align-items:start}
@media(max-width:860px){.feature-card{grid-template-columns:1fr}}
.fc-media .photo,.fc-media>div{aspect-ratio:16/10;height:auto}
.fc-media .photo img,.fc-media>div img{width:100%;height:100%;object-fit:cover;display:block}
.fc-tag{position:absolute;top:14px;left:14px;background:var(--accent);color:#fff;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;z-index:1}
.fc-body{padding:4px 0}
.fc-title{font-family:var(--cond);font-weight:700;text-transform:uppercase;
  font-size:clamp(26px,3vw,40px);line-height:1.05;margin:0 0 18px}
.fc-title a{color:var(--fg);text-decoration:none}
.fc-title a:hover{color:var(--accent)}
.fc-excerpt{color:var(--fg-dim);font-size:15.5px;line-height:1.65;margin-bottom:24px;max-width:56ch}

/* ---- Divider between feature + grid ---- */
.blog-divider{display:flex;align-items:center;gap:16px;margin:clamp(36px,5vw,60px) 0 clamp(24px,3vw,40px);
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.blog-divider::before,.blog-divider::after{content:'';flex:1;height:1px;background:var(--line)}

/* ---- Post card grid ---- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line)}
@media(max-width:960px){.post-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.post-grid{grid-template-columns:1fr}}

.post-card{background:var(--bg);display:flex;flex-direction:column;transition:background .18s ease}
.post-card:hover{background:var(--bg-2)}
.pc-media .photo,.pc-media>div{aspect-ratio:16/10;height:auto}
.pc-media .photo img,.pc-media>div img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.post-card:hover .pc-media img{transform:scale(1.03)}
.pc-body{padding:20px clamp(16px,2.2vw,24px) 24px;display:flex;flex-direction:column;flex:1}
.pc-title{font-family:var(--cond);font-weight:700;text-transform:uppercase;
  font-size:clamp(17px,1.8vw,22px);line-height:1.1;margin:0 0 10px}
.pc-title a{color:var(--fg);text-decoration:none}
.pc-title a:hover{color:var(--accent)}
.pc-excerpt{color:var(--fg-dim);font-size:13.5px;line-height:1.6;flex:1;margin-bottom:16px}
.pc-more{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:5px}
.pc-more:hover{color:var(--fg)}
.pc-more .arr{transition:transform .18s ease}
.pc-more:hover .arr{transform:translateX(4px)}

/* ---- Empty state ---- */
.blog-empty{padding:clamp(48px,8vw,100px) 0;text-align:center}
.blog-empty .ix{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--muted-2);margin-bottom:14px}
.blog-empty p{color:var(--fg-dim)}

/* ---- Single post: back link ---- */
.back-link{display:inline-flex;align-items:center;gap:6px;
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;margin-bottom:36px}
.back-link:hover{color:var(--accent)}

/* ---- Single post: header ---- */
.single-head{margin-bottom:32px}
.single-title{font-family:var(--cond);font-weight:700;text-transform:uppercase;
  font-size:clamp(28px,4.5vw,52px);line-height:1.04;margin:0 0 14px}
.single-by{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.single-by b{color:var(--fg-dim)}

/* ---- Single post: footer (tags + share) ---- */
.single-foot{margin-top:clamp(40px,6vw,64px);padding-top:24px;border-top:1px solid var(--line)}
.tag-row{font-size:11px;letter-spacing:.1em;margin-bottom:16px}
.tg{color:var(--muted);margin-right:8px}
.share-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.share-l{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-right:4px}
.share-btn{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--line);color:var(--fg-dim);text-decoration:none;
  padding:6px 14px;transition:border-color .18s ease,color .18s ease}
.share-btn:hover{border-color:var(--accent);color:var(--fg)}

/* ---- Single post: prev / next nav ---- */
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:clamp(40px,6vw,64px)}
@media(max-width:520px){.post-nav{grid-template-columns:1fr}}
.pn-cell{background:var(--bg);padding:clamp(16px,2.5vw,28px);display:flex;flex-direction:column;gap:8px;
  transition:background .18s ease}
.pn-cell:hover{background:var(--bg-2)}
.pn-next{text-align:right}
.pn-l{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pn-cell a{font-family:var(--cond);font-weight:700;text-transform:uppercase;
  font-size:clamp(14px,1.5vw,17px);line-height:1.1;color:var(--fg);text-decoration:none}
.pn-cell a:hover{color:var(--accent)}

/* ---- Contact form enhancements ---- */

/* Honeypot — must be visually hidden but not display:none (some bots check). */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;tab-index:-1}

/* Result banner */
.form-note{padding:14px 18px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:18px;border:1px solid var(--line)}
.form-note.ok{border-color:rgba(100,220,120,.4);background:rgba(100,220,120,.06);color:#80e09a}
.form-note.err{border-color:rgba(224,102,74,.4);background:rgba(224,102,74,.06);color:var(--alert)}

/* Email field added to the form layout */
.field input[type="email"]{
  width:100%;background:var(--surface);border:1px solid var(--line);
  color:var(--fg);font-family:var(--mono);font-size:13px;padding:11px 14px;
  outline:none;transition:border-color .18s ease,background .18s ease}
.field input[type="email"]:focus{border-color:var(--accent);background:rgba(223,0,103,.04)}

/* Disabled submit state */
.terminal .submit:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}

/* Wider field row when email is present */
@media(max-width:600px){.field-row{grid-template-columns:1fr}}

/* ============================================================
   NEJET — Responsive additions for blog + single
   ============================================================ */
@media(max-width:720px){
  .feature-card{gap:24px}
  .fc-title{font-size:clamp(22px,5vw,30px)}
  .post-grid{grid-template-columns:1fr}
  .post-nav{grid-template-columns:1fr}
  .pn-next{text-align:left}
}
