/* ═══════════════════════════════════════════════════════════
   CyberDefense.ba — v5 Cinematic Edition
   Design-focused premium refinement
   ═══════════════════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:17px;-webkit-text-size-adjust:100%}
body{
  font-family:'Plus Jakarta Sans',sans-serif;
  background:#03060f;color:#a8bad4;
  line-height:1.72;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
::selection{background:rgba(96,165,250,.28);color:#e8f4ff;text-shadow:0 0 12px rgba(96,165,250,.6)}
button{font-family:inherit;cursor:pointer;border:none}
input,textarea,select{font-family:inherit}
a{color:inherit;text-decoration:none}

::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:#03060f}
::-webkit-scrollbar-thumb{background:rgba(59,123,245,.2);border-radius:3px}

:root{
  --bg:#03060f;--bg2:#07091a;--bg3:#0b0e22;
  --glass:rgba(3,6,15,.80);--glass2:rgba(7,9,26,.90);
  --border:rgba(60,120,220,.10);--border2:rgba(60,130,240,.18);--border3:rgba(60,140,255,.32);
  --blue:#3b7bf5;--blue2:#7ab4ff;--blue3:#1a56d6;--cyan:#38d9ff;
  --green:#22c55e;--amber:#f0960a;--red:#ea4040;
  --t1:#f0f4ff;--t2:#a8bad4;--t3:#6a7d9a;
  --mono:'IBM Plex Mono',monospace;--body:'Plus Jakarta Sans',sans-serif;
  --max:1200px;--nav-h:64px;
  --ease:cubic-bezier(.22,.68,0,1.0);
  --ease2:cubic-bezier(.4,0,.2,1);
}

/* ═══ ATMOSPHERIC LAYERS ════════════════════════════════ */

/* Animated grid — smooth drifting like v1 */
.bg-grid{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(80,130,210,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(80,130,210,.025) 1px,transparent 1px);
  background-size:52px 52px;
  animation:gridDrift 40s linear infinite;
}
.bg-glow{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 50% at 15% 20%,rgba(30,60,140,.1),transparent),
    radial-gradient(ellipse 50% 40% at 85% 75%,rgba(20,50,120,.07),transparent);
}
@keyframes gridDrift{0%{transform:translate(0,0)}100%{transform:translate(52px,52px)}}

#particleCanvas{position:fixed;inset:0;z-index:0;pointer-events:none}

/* Animated command fragments — clearly visible */
.cmd-overlay{
  position:fixed;inset:0;z-index:1;pointer-events:none;
  overflow:hidden;
}
.cmd-line{
  position:absolute;white-space:nowrap;
  font:400 11px/1.4 var(--mono);
  color:var(--blue);opacity:0;
  text-shadow:0 0 20px rgba(56,132,255,.15);
  animation:cmdFloat linear infinite;
  will-change:transform,opacity;
}
@keyframes cmdFloat{
  0%{opacity:0;transform:translateY(10px)}
  5%{opacity:.22}
  40%{opacity:.16}
  85%{opacity:.08}
  100%{opacity:0;transform:translateY(-60px)}
}
.cmd-line.severity{color:var(--amber);text-shadow:0 0 18px rgba(240,150,10,.12)}
.cmd-line.critical{color:var(--red);text-shadow:0 0 18px rgba(234,64,64,.12)}
.cmd-line.validated{color:var(--green);text-shadow:0 0 18px rgba(30,201,96,.12)}
.cmd-line.http{color:var(--cyan);text-shadow:0 0 18px rgba(32,208,234,.12)}

/* Scan lines */
.scan-lines{
  position:fixed;inset:0;z-index:2;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(56,132,255,.004) 2px,rgba(56,132,255,.004) 4px);
}

/* Film grain */
.grain{
  position:fixed;inset:0;z-index:3;pointer-events:none;
  opacity:.03;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat:repeat;
  background-size:128px 128px;
}

/* Cinematic vignette */
.vignette{
  position:fixed;inset:0;z-index:2;pointer-events:none;
  background:
    radial-gradient(ellipse 70% 60% at 50% 50%,transparent 50%,rgba(4,8,16,.6) 100%),
    radial-gradient(ellipse 50% 40% at 15% 25%,rgba(56,132,255,.03),transparent),
    radial-gradient(ellipse 40% 35% at 85% 70%,rgba(30,86,214,.02),transparent);
}

/* ═══ LAYOUT ════════════════════════════════════════════ */
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
@media(min-width:768px){.wrap{padding:0 40px}}
.page{display:none;position:relative;z-index:5}.page.active{display:block}
.sec{padding:88px 0}
@media(min-width:768px){.sec{padding:110px 0}}
@media(max-width:480px){.sec{padding:64px 0}}

/* ═══ VERTICAL LANGUAGE DOCK ════════════════════════════ */
.lang-dock{
  position:fixed;right:16px;top:50%;transform:translateY(-50%);
  z-index:101;display:flex;flex-direction:column;gap:6px;
  padding:8px 6px;border-radius:12px;
  background:rgba(6,12,24,.6);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid var(--border);
  box-shadow:0 8px 32px rgba(0,0,0,.3);
  transition:all .4s var(--ease2);
}
.lang-dock:hover{
  border-color:var(--border2);
  box-shadow:0 12px 48px rgba(0,0,0,.4),0 0 1px rgba(56,132,255,.1);
}
.lang-dock-btn{
  width:34px;height:26px;border-radius:6px;
  background:transparent;padding:0;
  display:flex;align-items:center;justify-content:center;
  transition:all .3s var(--ease2);position:relative;
  overflow:hidden;
}
.lang-dock-btn::after{
  content:'';position:absolute;inset:0;border-radius:6px;
  box-shadow:inset 0 0 0 1px transparent;
  transition:box-shadow .3s;
}
.lang-dock-btn.active{
  background:rgba(56,132,255,.1);
}
.lang-dock-btn.active::after{
  box-shadow:inset 0 0 0 1px rgba(56,132,255,.25);
}
.lang-dock-btn:hover{background:rgba(56,132,255,.07)}
.lang-dock-btn svg{width:22px;height:15px;border-radius:2px;display:block;filter:saturate(.85)}
.lang-dock-btn.active svg{filter:saturate(1) brightness(1.05)}

/* ═══ NAVIGATION ════════════════════════════════════════ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:var(--nav-h);display:flex;align-items:center;
  background:rgba(4,8,16,.3);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid transparent;
  transition:all .5s var(--ease2);
}
.nav.scrolled{
  background:rgba(4,8,16,.94);
  border-bottom-color:var(--border);
  box-shadow:0 4px 24px rgba(0,0,0,.3);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;max-width:var(--max);margin:0 auto;padding:0 20px;
}
@media(min-width:768px){.nav-inner{padding:0 40px}}

.logo{display:flex;align-items:center;gap:10px;cursor:pointer}
.logo-mark{
  width:32px;height:32px;border-radius:8px;position:relative;
  background:linear-gradient(135deg,var(--blue),var(--blue3));
  box-shadow:0 0 20px rgba(56,132,255,.18),0 0 60px rgba(56,132,255,.06);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.logo-mark span{font:700 11px/1 var(--mono);color:#fff;position:relative;z-index:1;letter-spacing:-.5px}
.logo-glow{
  position:absolute;inset:0;
  background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.1),transparent,transparent);
  animation:logoSweep 4s linear infinite;
}
@keyframes logoSweep{to{transform:rotate(360deg)}}
.logo-text{font:700 15px/1 var(--body);color:var(--t1);letter-spacing:-.2px}
.logo-text span{color:var(--blue2)}

.nav-links{display:none;align-items:center;gap:0px}
@media(min-width:1020px){.nav-links{display:flex}}
.nav-btn{
  padding:5px 9px;border-radius:7px;background:transparent;
  color:var(--t2);font-size:12px;font-weight:500;
  transition:all .25s var(--ease2);position:relative;
}
.nav-btn::after{
  content:'';position:absolute;bottom:2px;left:50%;width:0;height:1px;
  background:var(--blue2);transition:all .3s var(--ease);transform:translateX(-50%);
}
.nav-btn:hover,.nav-btn.active{color:var(--blue2)}
.nav-btn.active::after{width:16px}
.nav-cta{
  margin-left:8px;padding:8px 18px;border-radius:8px;
  background:rgba(56,132,255,.06);color:var(--blue2);
  border:1px solid rgba(56,132,255,.12);
  font-size:12px;font-weight:600;
  transition:all .35s var(--ease2);
}
.nav-cta:hover{
  background:rgba(56,132,255,.12);border-color:var(--border3);
  box-shadow:0 0 20px rgba(56,132,255,.06);
}

.hamburger{display:flex;flex-direction:column;gap:5px;background:transparent;padding:8px}
@media(min-width:1020px){.hamburger{display:none}}
.hamburger span{display:block;width:18px;height:1.5px;background:var(--t2);border-radius:1px;transition:all .3s}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}

.mobile-menu{
  position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;z-index:99;
  background:rgba(4,8,16,.97);backdrop-filter:blur(24px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  opacity:0;pointer-events:none;transition:opacity .35s;
}
.mobile-menu.open{opacity:1;pointer-events:all}
.mobile-link{
  padding:14px 40px;border-radius:10px;background:transparent;
  color:var(--t2);font-size:17px;font-weight:500;width:80%;text-align:center;
  transition:all .2s;
}
.mobile-link:hover,.mobile-link.active{color:var(--blue2);background:rgba(56,132,255,.05)}
.lang-mobile{display:flex;gap:6px;justify-content:center;margin-top:20px}
.lang-mobile .lang-dock-btn{
  width:42px;height:30px;border-radius:8px;
  border:1px solid var(--border);background:rgba(6,12,24,.5);
}
.lang-mobile .lang-dock-btn.active{border-color:var(--border3);background:rgba(56,132,255,.08)}

/* ═══ TYPOGRAPHY ════════════════════════════════════════ */
.sec-label{
  font:600 10px/1 var(--mono);letter-spacing:3.5px;text-transform:uppercase;
  color:var(--blue);margin-bottom:14px;text-align:center;
  display:flex;align-items:center;justify-content:center;gap:10px;
}
.sec-label::before,.sec-label::after{
  content:'';width:20px;height:1px;
  background:linear-gradient(90deg,transparent,var(--border2));
}
.sec-label::after{background:linear-gradient(90deg,var(--border2),transparent)}
.sec-title{
  font:800 clamp(24px,4.5vw,40px)/1.12 var(--body);
  color:var(--t1);text-align:center;margin-bottom:16px;
  letter-spacing:-.3px;
}
.sec-sub{
  font-size:15px;color:var(--t2);text-align:center;
  max-width:560px;margin:0 auto 52px;line-height:1.8;
}

/* ═══ GLASS CARD ════════════════════════════════════════ */
.card{
  background:var(--glass);
  border:1px solid var(--border);
  border-radius:14px;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  transition:all .45s var(--ease2);
  position:relative;overflow:hidden;
}
.card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 10%,rgba(56,132,255,.1) 50%,transparent 90%);
  opacity:0;transition:opacity .4s;
}
.card::after{
  content:'';position:absolute;inset:0;border-radius:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.015);
  pointer-events:none;
}
.card:hover{
  background:var(--glass2);border-color:var(--border2);
  transform:translateY(-3px);
  box-shadow:
    0 24px 64px rgba(0,0,0,.3),
    0 0 1px rgba(56,132,255,.12),
    0 0 40px rgba(56,132,255,.02);
}
.card:hover::before{opacity:1}
.card.flat:hover{transform:none;box-shadow:none;background:var(--glass);border-color:var(--border)}

/* ═══ BUTTONS ═══════════════════════════════════════════ */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 30px;border-radius:10px;
  font-size:13.5px;font-weight:600;
  transition:all .35s var(--ease);position:relative;overflow:hidden;
}
.btn-primary{
  background:linear-gradient(135deg,var(--blue) 0%,var(--blue3) 100%);
  color:#fff;
  box-shadow:0 4px 24px rgba(56,132,255,.12),0 0 0 1px rgba(56,132,255,.1);
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 40px rgba(56,132,255,.2),0 0 0 1px rgba(56,132,255,.2);
}
.btn-primary::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,transparent 30%,rgba(255,255,255,.06) 50%,transparent 70%);
  transform:translateX(-100%);transition:transform .6s var(--ease2);
}
.btn-primary:hover::after{transform:translateX(100%)}
.btn-ghost{
  background:transparent;color:var(--blue2);
  border:1px solid rgba(56,132,255,.15);
}
.btn-ghost:hover{
  background:rgba(56,132,255,.04);
  border-color:rgba(56,132,255,.25);
  transform:translateY(-2px);
}
@media(max-width:480px){.btn{padding:13px 24px;font-size:13px;width:100%;justify-content:center}}

.badge{
  display:inline-block;padding:3px 9px;border-radius:4px;
  background:rgba(56,132,255,.04);border:1px solid rgba(56,132,255,.08);
  font:500 9.5px/1.3 var(--mono);color:var(--blue2);letter-spacing:.3px;
}

/* ═══ HERO ══════════════════════════════════════════════ */
.hero{
  min-height:100vh;min-height:100dvh;
  display:flex;align-items:center;
  padding:calc(var(--nav-h) + 32px) 0 48px;
  position:relative;
}
/* Hero atmospheric glow */
.hero::before{
  content:'';position:absolute;
  top:10%;left:45%;width:min(900px,120vw);height:min(900px,120vw);
  transform:translate(-50%,-30%);
  border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(56,132,255,.04) 0%,transparent 60%);
  filter:blur(40px);
}
.hero-content{position:relative;z-index:1;max-width:680px}
.hero-chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 18px 7px 13px;border-radius:22px;
  background:rgba(56,132,255,.04);border:1px solid rgba(56,132,255,.12);
  font:600 clamp(14px,2.2vw,18px)/1.3 var(--mono);
  letter-spacing:1px;text-transform:uppercase;
  color:var(--blue2);margin-bottom:24px;
}
.hero-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--green);
  box-shadow:0 0 6px rgba(30,201,96,.5),0 0 20px rgba(30,201,96,.15);
  animation:dotPulse 2.5s ease infinite;
}
@keyframes dotPulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.5;transform:scale(.85)}
}
.hero h1{
  font:800 clamp(30px,6vw,54px)/1.06 var(--body);
  color:var(--t1);margin-bottom:22px;letter-spacing:-.3px;
  text-shadow:0 2px 24px rgba(59,123,245,.18),0 1px 4px rgba(0,0,0,.7);
}
.hero h1 .accent{
  background:linear-gradient(135deg,var(--blue2) 0%,var(--cyan) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
/* Logo-matched two-word gradient: Kritična (light) → Okruženja (blue) */
.hero h1 .accent-w1{
  background:linear-gradient(135deg,#e8f2ff 0%,var(--blue2) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.hero h1 .accent-w2{
  background:linear-gradient(135deg,var(--blue2) 0%,var(--blue3) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.hero-desc{
  font-size:clamp(15px,2vw,17px);color:var(--t2);
  max-width:500px;margin-bottom:32px;line-height:1.85;
}

/* Typed command line */
.typed-wrap{
  font:500 clamp(12px,1.5vw,14px)/1.4 var(--mono);
  color:var(--blue2);margin-bottom:24px;min-height:22px;
}
.typed-wrap .cursor{animation:cursorBlink 1s step-end infinite;color:var(--cyan)}
@keyframes cursorBlink{50%{opacity:0}}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}

/* Hero ambient terminal (right side) */
.hero-cmd{
  position:absolute;right:3%;top:50%;transform:translateY(-50%);
  font:400 10.5px/2.2 var(--mono);color:var(--blue);
  opacity:.06;white-space:pre;pointer-events:none;text-align:right;
  max-width:320px;overflow:hidden;
  mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);
}
@media(max-width:960px){.hero-cmd{display:none}}

/* Compliance badges */
.compliance-bar{
  display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:10px 18px;border-radius:8px;
  background:rgba(56,132,255,.02);border:1px solid var(--border);
  margin-top:36px;font:500 10px/1 var(--mono);
  color:var(--t3);letter-spacing:.5px;
}
.ci{display:flex;align-items:center;gap:6px}
.ci::before{content:'✓';color:var(--green);font-weight:700;font-size:11px}

/* ═══ STATS ═════════════════════════════════════════════ */
.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--border);border-radius:14px;overflow:hidden;
}
@media(max-width:600px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
.stat{background:var(--bg2);padding:28px 16px;text-align:center}
.stat-val{font:800 clamp(26px,3.5vw,34px)/1 var(--body);color:var(--t1);text-shadow:0 0 20px rgba(59,123,245,.2)}
.stat-label{font:500 9px/1 var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--t3);margin-top:8px}

/* ═══ SERVICE CARDS ═════════════════════════════════════ */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:14px}
.svc-card{padding:26px 24px}
.svc-icon{
  width:48px;height:48px;border-radius:11px;
  background:rgba(56,132,255,.04);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-size:24px;margin-bottom:16px;
  transition:all .45s var(--ease2);
}
.card:hover .svc-icon{
  background:rgba(56,132,255,.08);border-color:var(--border2);
  box-shadow:0 0 16px rgba(56,132,255,.04);
}
.svc-card h3{font:700 16px/1.3 var(--body);color:var(--t1);margin-bottom:7px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.svc-card p{font-size:13.5px;color:var(--t2);line-height:1.8;margin-bottom:12px}
.svc-tags{display:flex;flex-wrap:wrap;gap:5px}

/* ═══ WHY GRID ══════════════════════════════════════════ */
.why-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:14px}
.why-card{padding:24px}
.why-num{font:600 10px/1 var(--mono);color:var(--blue);margin-bottom:12px;letter-spacing:2px;opacity:.6}
.why-card h3{font:700 15.5px/1.3 var(--body);color:var(--t1);margin-bottom:5px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.why-card p{font-size:13.5px;color:var(--t2);line-height:1.78}

/* ═══ METHODOLOGY TERMINAL ══════════════════════════════ */
.terminal{
  background:var(--bg2);border:1px solid rgba(96,165,250,.22);
  border-radius:14px;overflow:hidden;max-width:760px;margin:0 auto;
  box-shadow:0 0 0 1px rgba(96,165,250,.08), 0 0 28px rgba(96,165,250,.12), 0 16px 64px rgba(0,0,30,.5);
}
.term-bar{
  display:flex;align-items:center;gap:7px;
  padding:12px 16px;background:rgba(0,0,0,.2);
  border-bottom:1px solid var(--border);
}
.term-dot{width:8px;height:8px;border-radius:50%}
.term-file{font:500 10px/1 var(--mono);color:var(--t3);margin-left:auto;letter-spacing:.5px}
.term-body{padding:20px 24px;font:600 14px/2.2 var(--mono)}
.term-line{display:flex;gap:10px;color:var(--t2)}
.term-line .ln{color:var(--t3);min-width:22px;text-align:right;user-select:none}
.term-line .kw{color:#f472b6}
.term-line .cmd{color:var(--blue2)}
.term-line .cmt{color:var(--t3);font-style:italic}

/* ═══ INDUSTRY GRID ═════════════════════════════════════ */
.ind-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px}
.ind-card{padding:24px;display:flex;gap:12px;align-items:flex-start}
.ind-card .emoji{font-size:32px;flex-shrink:0;margin-top:2px}
.ind-card h3{font:700 14px/1.3 var(--body);color:var(--t1);margin-bottom:4px}
.ind-card p{font-size:12.5px;color:var(--t2);line-height:1.72}

/* ═══ REPORT GRID ═══════════════════════════════════════ */
.rpt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:14px}
.rpt-card{padding:26px}
.rpt-num{font:600 10px/1 var(--mono);color:var(--blue);letter-spacing:1px;margin-bottom:12px;opacity:.6}
.rpt-card h3{font:700 15px/1.3 var(--body);color:var(--t1);margin-bottom:6px}
.rpt-card p{font-size:12.5px;color:var(--t2);line-height:1.72}

/* ═══ ABOUT ═════════════════════════════════════════════ */
.about-stack{display:flex;flex-direction:column;gap:14px;max-width:800px;margin:0 auto}
.about-block{padding:28px}
.about-block h3{font:700 16px/1.3 var(--body);color:var(--t1);margin-bottom:8px}
.about-block p{font-size:13.5px;color:var(--t2);line-height:1.82}

/* ═══ TRUST BANNER ══════════════════════════════════════ */
.trust-block{
  padding:44px 36px;text-align:center;max-width:740px;margin:0 auto;position:relative;
}
.trust-block::before{
  content:'';position:absolute;inset:-1px;border-radius:15px;
  background:linear-gradient(135deg,rgba(56,132,255,.08),transparent 40%,transparent 60%,rgba(56,132,255,.05));
  z-index:-1;
}
.trust-block h3{font:700 clamp(20px,3vw,24px)/1.2 var(--body);color:var(--t1);margin-bottom:14px}
.trust-block p{font-size:14px;color:var(--t2);line-height:1.82;max-width:560px;margin:0 auto}

/* ═══ CTA ═══════════════════════════════════════════════ */
.cta-sec{text-align:center;padding:88px 0 108px}
.cta-sec h2{font:800 clamp(24px,4vw,36px)/1.12 var(--body);color:var(--t1);margin-bottom:16px}
.cta-sec p{font-size:15px;color:var(--t2);max-width:480px;margin:0 auto 32px;line-height:1.82}

/* ═══ CONTACT FORM ══════════════════════════════════════ */
.cf-wrap{max-width:660px;margin:0 auto}
.cf-box{padding:18px 22px}
@media(max-width:480px){.cf-box{padding:22px 16px}}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
@media(max-width:540px){.cf-row{grid-template-columns:1fr}}
.field{margin-bottom:8px}.field.half{margin-bottom:0}
.field-label{display:block;font:600 10px/1 var(--mono);letter-spacing:.8px;color:var(--t3);margin-bottom:3px}
.field-input,.field-select,.field-textarea{
  width:100%;padding:11px 14px;border-radius:9px;
  border:1px solid var(--border);background:rgba(4,8,16,.5);
  color:var(--t1);font-size:14px;outline:none;
  transition:border .3s,box-shadow .3s;
}
.field-input:focus,.field-select:focus,.field-textarea:focus{
  border-color:rgba(56,132,255,.3);
  box-shadow:0 0 0 3px rgba(56,132,255,.04);
}
.field-input::placeholder,.field-textarea::placeholder{color:var(--t3)}
.field-select{appearance:none;cursor:pointer}
.field-select option{background:#080e1c}
.field-textarea{resize:vertical;min-height:60px}
.field-input.error,.field-select.error{border-color:rgba(234,64,64,.35)}
.field-error{font-size:10px;color:var(--red);margin-top:3px}
.consent{display:flex;align-items:flex-start;gap:10px;margin:10px 0 14px}
.consent input[type="checkbox"]{margin-top:3px;accent-color:var(--blue);flex-shrink:0}
.consent label{font-size:11.5px;color:var(--t2);line-height:1.6}
.cf-submit{
  width:100%;padding:14px;border-radius:10px;border:none;
  background:linear-gradient(135deg,var(--blue),var(--blue3));
  color:#fff;font:600 14px/1 var(--body);cursor:pointer;
  box-shadow:0 4px 24px rgba(56,132,255,.1);
  transition:all .35s var(--ease2);position:relative;overflow:hidden;
}
.cf-submit::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,transparent 30%,rgba(255,255,255,.05) 50%,transparent 70%);
  transform:translateX(-100%);transition:transform .6s;
}
.cf-submit:hover{
  box-shadow:0 8px 36px rgba(56,132,255,.18);transform:translateY(-1px);
}
.cf-submit:hover::after{transform:translateX(100%)}
.cf-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}
.cf-note{font-size:10.5px;color:var(--t3);text-align:center;margin-top:8px;line-height:1.5}
.cf-global-error{display:none;text-align:center;padding:10px;margin-bottom:12px;background:rgba(234,64,64,.04);border:1px solid rgba(234,64,64,.1);border-radius:8px;font-size:12px;color:var(--red)}
.cf-success{text-align:center;padding:48px 28px}
.cf-success .check-icon{font-size:40px;margin-bottom:16px;display:block}
.cf-success h2{font:700 22px/1.2 var(--body);color:var(--t1);margin-bottom:10px}
.cf-success p{font-size:13px;color:var(--t2);line-height:1.75}
.honeypot{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

/* ═══ FOOTER ════════════════════════════════════════════ */
.footer{
  border-top:1px solid var(--border);padding:48px 0 28px;
  background:rgba(3,5,10,.5);position:relative;z-index:5;
}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:36px;margin-bottom:36px}
.footer-brand p{font-size:12px;color:var(--t3);line-height:1.7;margin-top:12px}
.footer-col-title{font:600 9.5px/1 var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin-bottom:12px}
.footer-link{display:block;font-size:12.5px;color:var(--t2);margin-bottom:7px;cursor:pointer;transition:color .2s}
.footer-link:hover{color:var(--blue2)}
.footer-bottom{border-top:1px solid rgba(56,132,255,.03);padding-top:22px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.footer-copy{font-size:11px;color:var(--t3)}
.footer-auth{font:500 9px/1 var(--mono);color:rgba(56,132,255,.12);letter-spacing:1px}

/* ═══ SCROLL REVEAL ═════════════════════════════════════ */
.fi{opacity:0;transform:translateY(22px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.fi.v{opacity:1;transform:none}
/* Stagger children */
.fi:nth-child(2){transition-delay:.06s}
.fi:nth-child(3){transition-delay:.12s}
.fi:nth-child(4){transition-delay:.18s}
.fi:nth-child(5){transition-delay:.24s}
.fi:nth-child(6){transition-delay:.3s}
/* Hero stagger */
.hero .fi:nth-child(1){transition-delay:0s}
.hero .fi:nth-child(2){transition-delay:.12s}
.hero .fi:nth-child(3){transition-delay:.22s}
.hero .fi:nth-child(4){transition-delay:.32s}
.hero .fi:nth-child(5){transition-delay:.42s}

/* ═══ RESPONSIVE — ALL DEVICES ══════════════════════════ */

/* Tablets */
@media(max-width:768px){
  .hero h1{font-size:clamp(26px,7vw,42px)}
  .hero-chip{font-size:clamp(13px,2.5vw,16px);padding:6px 14px 6px 10px}
  .hero-desc{font-size:14.5px}
  .typed-wrap{font-size:clamp(11px,1.8vw,13px)}
  .compliance-bar{gap:10px;padding:8px 14px;font-size:9.5px}
  .stats-grid{gap:1px}
  .stat{padding:20px 12px}
  .stat-val{font-size:clamp(22px,5vw,28px)}
  .svc-grid,.rpt-grid,.why-grid,.ind-grid{gap:10px}
  .svc-card,.rpt-card,.why-card{padding:20px 18px}
  .svc-icon{width:44px;height:44px;font-size:22px}
  .ind-card .emoji{font-size:28px}
  .terminal{border-radius:10px}
  .term-body{padding:14px 16px;font-size:11px;line-height:2}
  .about-block{padding:22px 20px}
  .trust-block{padding:32px 24px}
  .cf-box{padding:24px 18px}
  .cf-row{gap:10px}
  .footer-grid{gap:24px}
  .sec{padding:64px 0}
  .cmd-overlay{opacity:.7}
  .lang-dock{right:10px;top:auto;bottom:20px;transform:none;padding:6px 5px}
  .lang-dock-btn{width:30px;height:22px}
  .lang-dock-btn svg{width:18px;height:13px}
}

/* Phones */
@media(max-width:480px){
  body{font-size:15px}
  .wrap{padding:0 16px}
  .sec{padding:48px 0}
  .hero{padding:calc(var(--nav-h) + 20px) 0 36px}
  .hero h1{font-size:clamp(24px,8vw,34px);margin-bottom:16px}
  .hero-chip{font-size:clamp(12px,3vw,15px);padding:5px 12px 5px 9px;margin-bottom:16px;gap:6px}
  .hero-dot{width:5px;height:5px}
  .typed-wrap{font-size:11px;margin-bottom:18px}
  .hero-desc{font-size:14px;margin-bottom:24px}
  .hero-btns{gap:8px}
  .compliance-bar{gap:8px;padding:8px 12px;font-size:9px;margin-top:24px}
  .ci{gap:4px}
  .sec-label{font-size:9px;letter-spacing:2.5px}
  .sec-title{font-size:clamp(20px,6vw,28px);margin-bottom:12px}
  .sec-sub{font-size:14px;margin-bottom:36px}
  .svc-grid,.rpt-grid{grid-template-columns:1fr}
  .why-grid,.ind-grid{grid-template-columns:1fr}
  .svc-card,.rpt-card,.why-card{padding:18px 16px}
  .svc-icon{width:42px;height:42px;font-size:20px;border-radius:10px}
  .svc-card h3,.rpt-card h3{font-size:14px}
  .svc-card p,.rpt-card p,.why-card p{font-size:12px}
  .ind-card{padding:18px 14px;gap:10px}
  .ind-card .emoji{font-size:26px}
  .ind-card h3{font-size:13.5px}
  .stat{padding:18px 10px}
  .stat-val{font-size:22px}
  .stat-label{font-size:8.5px}
  .term-body{padding:12px 14px;font-size:10px;line-height:1.9;overflow-x:auto}
  .term-line{min-width:420px}
  .about-block{padding:20px 16px}
  .about-block h3{font-size:15px}
  .about-block p{font-size:13px}
  .trust-block{padding:28px 20px}
  .trust-block h3{font-size:18px}
  .trust-block p{font-size:13px}
  .cta-sec{padding:60px 0 72px}
  .cta-sec h2{font-size:clamp(20px,6vw,28px)}
  .cta-sec p{font-size:14px}
  .cf-box{padding:18px 14px}
  .field-input,.field-select,.field-textarea{padding:10px 12px;font-size:13.5px}
  .cf-submit{padding:12px;font-size:13.5px}
  .footer{padding:36px 0 24px}
  .footer-grid{grid-template-columns:1fr;gap:20px}
  .footer-brand p{font-size:11px}
  .footer-link{font-size:12px;margin-bottom:5px}
  .footer-copy{font-size:10px}
  .cmd-line{font-size:9px !important}
}

/* Very small phones */
@media(max-width:360px){
  .hero h1{font-size:22px}
  .btn{padding:11px 18px;font-size:12.5px}
  .compliance-bar{flex-direction:column;align-items:flex-start;gap:6px}
  .nav-inner{padding:0 12px}
  .lang-dock{right:6px;padding:5px 4px}
  .lang-dock-btn{width:28px;height:20px}
  .lang-dock-btn svg{width:16px;height:12px}
}

/* Large desktops */
@media(min-width:1400px){
  .hero h1{font-size:58px}
  .hero-desc{font-size:17px}
  .svc-grid{grid-template-columns:repeat(3,1fr)}
}


/* ═══════════════════════════════════════════════════════════
   NEW ADDITIONS — CyberDefense.ba v6
   Boot · Shield Logo · Hero Terminal · About Cards ·
   Why Icons · CTA Terminal · Contact Layout
   ═══════════════════════════════════════════════════════════ */

/* ─── BOOT OVERLAY ─────────────────────────────────────── */
.boot {
  position: fixed; inset: 0; background: #040810;
  z-index: 9999; display: flex; align-items: center; justify-content: center;
  transition: opacity .5s ease, visibility .5s ease;
}
.boot.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.boot__inner { width: min(520px, 92vw); padding: 24px; }
.boot__logo {
  font: 700 17px/1 var(--mono); color: #3b7bf5;
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 28px;
  filter: drop-shadow(0 0 14px rgba(59,123,245,.55));
}
.boot__shield {
  width: 32px; height: 38px; flex-shrink: 0;
  filter: drop-shadow(0 0 10px rgba(59,123,245,.7));
}
.boot__lines {
  font: 400 12px/2 var(--mono); color: var(--t3);
  margin-bottom: 22px; min-height: 110px;
}
.boot__lines .bl-blue  { color: #3b7bf5; }
.boot__lines .bl-cyan  { color: var(--cyan); }
.boot__lines .bl-amber { color: var(--amber); }
.boot__bar-wrap {
  height: 3px; background: rgba(59,123,245,.1);
  border-radius: 2px; margin-bottom: 12px; overflow: hidden;
}
.boot__bar {
  height: 100%; width: 0%;
  background: linear-gradient(90deg, var(--blue), var(--cyan));
  border-radius: 2px; transition: width .12s linear;
}
.boot__status { font: 400 11px/1.4 var(--mono); color: var(--t3); }

/* ─── SHIELD LOGO in NAV ────────────────────────────────── */
.logo-shield {
  flex-shrink: 0;
  filter: drop-shadow(0 0 8px rgba(59,123,245,.4));
  transition: filter .3s ease;
}
.logo:hover .logo-shield {
  filter: drop-shadow(0 0 18px rgba(59,123,245,.85)) drop-shadow(0 0 6px rgba(125,211,252,.5));
}

/* ─── HERO GRID LAYOUT ──────────────────────────────────── */
.hero { align-items: flex-start; }
.hero-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 48px;
  align-items: center;
  width: 100%;
  margin-bottom: 32px;
}
@media(max-width: 960px) {
  .hero-grid { grid-template-columns: 1fr; gap: 36px; }
}

/* ─── HERO TERMINAL WINDOW (LEFT) ───────────────────────── */
.hero-terminal-win {
  background: #080e1c;
  border: 1px solid rgba(59,123,245,.15);
  border-radius: 12px;
  overflow: hidden;
  box-shadow:
    0 24px 80px rgba(0,0,0,.5),
    0 0 0 1px rgba(59,123,245,.08) inset;
}
.hero-term-bar {
  background: rgba(0,0,0,.35);
  padding: 10px 16px;
  display: flex; align-items: center; gap: 8px;
  border-bottom: 1px solid rgba(59,123,245,.08);
}
.hero-term-dots { display: flex; gap: 6px; }
.htd {
  width: 11px; height: 11px; border-radius: 50%;
}
.htd-r { background: #ff5f57; }
.htd-y { background: #febc2e; }
.htd-g { background: #28c840; }
.hero-term-title {
  font: 500 11px/1 var(--mono); color: var(--t3);
  margin-left: 6px; letter-spacing: .3px;
}
.hero-term-live {
  margin-left: auto;
  font: 500 9px/1 var(--mono); color: var(--blue);
  border: 1px solid rgba(59,123,245,.25);
  background: rgba(59,123,245,.06);
  padding: 2px 7px; border-radius: 3px;
  letter-spacing: .8px;
  animation: livePulse 2s ease infinite;
}
@keyframes livePulse { 0%,100%{opacity:.7} 50%{opacity:1} }
.hero-term-body {
  padding: 18px 20px;
  font: 600 14.5px/1.9 var(--mono);
  height: 420px;
  overflow: hidden;
  position: relative;
}
.hero-term-body::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 48px;
  background: linear-gradient(to bottom, transparent, #080e1c);
  pointer-events: none;
}
.ht-line { display: block; }
.ht-prompt { color: var(--blue); }
.ht-at     { color: var(--t3); }
.ht-host   { color: var(--cyan); }
.ht-path   { color: #6ea4f0; }
.ht-dollar { color: var(--t1); margin: 0 5px; }
.ht-cmd    { color: var(--t1); }
.ht-dim    { color: var(--t3); }
.ht-ok     { color: var(--green); }
.ht-auth   { color: var(--blue); }
.ht-info   { color: var(--cyan); }
.ht-crit   { color: var(--red); }
.ht-high   { color: var(--amber); }
.ht-med    { color: #facc15; }
.ht-low    { color: var(--green); }
.ht-info2  { color: #60a5fa; }
.ht-good   { color: var(--green); font-weight: 600; }
.ht-cursor {
  display: inline-block; width: 8px; height: 14px;
  background: var(--blue); vertical-align: middle;
  border-radius: 1px; animation: termCursor 1.1s step-end infinite;
}
@keyframes termCursor { 0%,100%{opacity:1} 50%{opacity:0} }

/* ─── HERO COPY COLUMN (RIGHT) ──────────────────────────── */
.hero-copy-col { position: relative; z-index: 1; }

/* Full-width compliance bar below both columns */
.hero-compliance-wrap {
  width: 100%;
}

/* ─── ABOUT SECTION (CYBERSAFE STYLE) ──────────────────── */
.about-grid2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
  margin-top: 16px;
}
@media(max-width: 768px) {
  .about-grid2 { grid-template-columns: 1fr; gap: 40px; }
}
.about-lead-text {
  font-size: 15.5px; color: var(--t2); line-height: 1.9; margin-bottom: 16px;
}
.about-lead-text strong { color: var(--t1); }
.about-body-para {
  font-size: 13.5px; color: var(--t3); line-height: 1.85; margin-bottom: 12px;
}
.about-cards2 {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
@media(max-width: 480px) {
  .about-cards2 { grid-template-columns: 1fr; }
}
.matcha-card-blue {
  background: var(--glass);
  border: 1px solid var(--border);
  border-radius: 12px; padding: 22px;
  transition: border-color .3s, background .3s, transform .3s;
}
.matcha-card-blue:hover {
  border-color: var(--border2);
  background: var(--glass2);
  transform: translateY(-2px);
}
.matcha-icon {
  width: 36px; height: 36px;
  color: var(--blue2);
  margin-bottom: 12px;
  filter: drop-shadow(0 0 6px rgba(59,123,245,.3));
  transition: filter .3s;
}
.matcha-card-blue:hover .matcha-icon {
  filter: drop-shadow(0 0 12px rgba(59,123,245,.6));
}
.matcha-icon svg { width: 100%; height: 100%; }
.matcha-card-blue h4 {
  font: 600 13px/1.3 var(--mono); color: var(--t1);
  margin-bottom: 7px; letter-spacing: .2px;
}
.matcha-card-blue p {
  font-size: 12px; color: var(--t2); line-height: 1.7;
}

/* ─── WHY SECTION — ICONS NEXT TO NUMBERS ──────────────── */
.why-num-row {
  display: flex; align-items: center; gap: 10px; margin-bottom: 10px;
}
.why-icon-wrap {
  width: 28px; height: 28px;
  color: var(--blue2);
  opacity: .8;
  flex-shrink: 0;
}
.why-icon-wrap svg { width: 100%; height: 100%; }

/* ─── CTA TERMINAL SECTION ──────────────────────────────── */
.cta-terminal-sec { padding: 60px 0; }
.cta-terminal-win {
  background: #080e1c;
  border: 1px solid rgba(59,123,245,.22);
  border-radius: 12px; overflow: hidden;
  box-shadow: 0 0 60px rgba(59,123,245,.07);
  max-width: 820px; margin: 0 auto;
}
.cta-term-bar {
  background: rgba(0,0,0,.3);
  padding: 10px 16px;
  display: flex; align-items: center; gap: 6px;
  border-bottom: 1px solid rgba(59,123,245,.1);
}
.cta-term-title {
  font: 500 11px/1 var(--mono); color: var(--t3); margin-left: 8px;
}
.cta-term-body {
  padding: 28px 32px 24px;
  font: 600 15.5px/2.2 var(--mono);
}
.cta-term-line { display: block; }
.ct-k   { color: var(--t3); margin-right: 10px; }
.ct-red { color: var(--red); }
.ct-val { color: var(--t2); }
.ct-ylw { color: var(--amber); }
.ct-grn { color: var(--green); }
.cta-term-cmd {
  display: flex; align-items: center; gap: 8px;
  margin-top: 8px; color: var(--blue2);
}
.cta-term-cmd a {
  color: var(--blue2); text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(110,164,240,.35);
  transition: color .2s;
}
.cta-term-cmd a:hover { color: var(--cyan); }

/* ─── CONTACT — LEFT+RIGHT LAYOUT ──────────────────────── */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 64px; align-items: start;
  max-width: 1000px; margin: 0 auto;
}
@media(max-width: 768px) {
  .contact-grid { grid-template-columns: 1fr; gap: 36px; }
}
.contact-left-info p {
  font-size: 13.5px; color: var(--t2); line-height: 1.85; margin-bottom: 24px;
}
.contact-assurances { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.contact-item {
  display: flex; gap: 10px; align-items: flex-start;
  font: 400 12.5px/1.6 var(--mono); color: var(--t2);
}
.ci-arrow { color: var(--blue); flex-shrink: 0; margin-top: 1px; }
.contact-pgp {
  padding-top: 18px; border-top: 1px solid var(--border);
  font: 600 10px/1 var(--mono); letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--blue);
}
.cf-wrap-right { width: 100%; }

/* ─── METHODOLOGY ANIMATED TERMINAL ────────────────────── */
.meth-terminal { max-width: 820px; margin: 0 auto; }
.meth-term-bar {
  display: flex; align-items: center; gap: 7px;
  padding: 12px 16px; background: rgba(0,0,0,.2);
  border-bottom: 1px solid var(--border);
}
.meth-term-body {
  padding: 20px 24px; font: 600 14.5px/2.2 var(--mono);
  min-height: 340px;
}
.meth-tl { display: flex; gap: 10px; color: var(--t2); font-weight: 600; }
.meth-tl .ln  { color: var(--t3); min-width: 22px; text-align: right; user-select: none; }
.meth-tl .kw  { color: #f472b6; }
.meth-tl .cmd { color: var(--blue2); }
.meth-tl .cmt { color: var(--t3); font-style: italic; }
.meth-tl .ic  { margin-right: 4px; }
.meth-tl.visible { animation: fadeInLine .3s ease forwards; }
@keyframes fadeInLine {
  from { opacity: 0; transform: translateX(-4px); }
  to   { opacity: 1; transform: none; }
}

/* ─── RESPONSIVE ADJUSTMENTS ────────────────────────────── */
@media(max-width: 960px) {
  .hero-term-body { height: 360px; font-size: 13.5px; }
}
@media(max-width: 768px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-term-body { height: 300px; font-size: 13px; overflow-x: auto; white-space: nowrap; }
  .cta-term-body { font-size: 14px; padding: 18px 18px 16px; font-weight:600; }
}
@media(max-width: 480px) {
  .hero-term-body { height: 260px; font-size: 12.5px; padding: 12px 14px; }
  .cta-term-body { font-size: 13px; font-weight:600; }
}

/* ═══════════════════════════════════════════════════════════
   v6 VISUAL UPDATES
   ═══════════════════════════════════════════════════════════ */

/* 1 ─ LIGHTER NAVY BACKGROUND (slightly darker than logo blue) */
:root {
  --bg:    #03060f !important;
  --bg2:   #07091a !important;
  --bg3:   #0b0e22 !important;
  --glass: rgba(3,6,15,.82) !important;
  --glass2:rgba(7,9,26,.90) !important;
}
body { background:#03060f !important; }
::-webkit-scrollbar-track { background:#03060f !important; }
.boot { background:#020509 !important; }

/* 2 ─ NAV ~/ PREFIX */
.nav-pref {
  color:var(--blue2);
  opacity:.55;
  font-size:11px;
  font-weight:400;
  letter-spacing:0;
  margin-right:1px;
}
.nav-pref-mob {
  color:var(--blue2);
  opacity:.65;
  font-size:13px;
  margin-right:2px;
}

/* 3 ─ HERO TOP: chip + typed commands — full-width centered */
.hero-top {
  text-align:center;
  margin-bottom:28px;
  position:relative;
  z-index:1;
}
.hero-chip-full {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 22px 7px 14px;
  border-radius:22px;
  background:rgba(56,132,255,.05);
  border:1px solid rgba(56,132,255,.14);
  font:600 12.5px/1 var(--mono);
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--blue2);
  margin-bottom:14px;
}
.typed-full { display:none; }

/* 4 ─ CMD REVEAL: smooth left-to-right fade, 3.5s */
.cmd-reveal-anim { display:none; }
@keyframes revealLTR {
  0%   { clip-path:inset(0 100% 0 0); opacity:.2; }
  12%  { opacity:.7; }
  100% { clip-path:inset(0 0% 0 0);   opacity:1; }
}

/* 5 ─ HERO GRID: stretch columns to equal height */
.hero-grid { align-items:stretch !important; }
.hero-terminal-win {
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
.hero-term-body { flex:1 !important; height:auto !important; min-height:360px; }

/* 6 ─ COMPLIANCE BAR: bigger font */
.compliance-bar {
  font:500 12px/1 var(--mono) !important;
  gap:22px !important;
  padding:12px 22px !important;
}
.ci { font-size:12px !important; letter-spacing:.4px; }
.ci::before { font-size:12px !important; }

/* 7 ─ REPORT ICON */
.rpt-icon {
  width:38px; height:38px;
  color:var(--blue2);
  margin-bottom:12px;
  opacity:.75;
  transition:opacity .3s;
}
.rpt-icon svg { width:100%; height:100%; }
.card:hover .rpt-icon { opacity:1; }

/* ═══════════════════════════════════════════════════════════
   COMPREHENSIVE MOBILE RESPONSIVE
   ═══════════════════════════════════════════════════════════ */

/* ── TABLET ≤1024px ── */
@media(max-width:1024px){
  .hero-grid { grid-template-columns:1fr !important; gap:28px; }
  .hero-terminal-win { height:auto !important; }
  .hero-term-body { min-height:300px; }
  .hero-copy-col { text-align:center; }
  .hero-btns { justify-content:center; }
  .about-grid2 { grid-template-columns:1fr; gap:36px; }
  .intel__layout { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; gap:36px; }
  .footer-grid { grid-template-columns:repeat(2,1fr); gap:28px; }
  .nav__terminal-indicator { display:none; }
  .lang-dock { right:10px; }
}

/* ── MOBILE ≤768px ── */
@media(max-width:768px){
  :root { --nav-h:56px !important; }
  body { font-size:15px; }

  /* Nav */
  .nav-inner { padding:0 16px; }
  .nav-links { display:none !important; }
  .hamburger { display:flex !important; }
  .mobile-menu.open { display:flex !important; }

  /* Language dock: move to bottom on mobile */
  .lang-dock {
    right:auto !important;
    left:50%;
    transform:translateX(-50%) !important;
    top:auto !important;
    bottom:16px;
    flex-direction:row !important;
    padding:6px 10px;
    gap:8px;
  }
  .lang-dock-btn { width:36px !important; height:26px !important; }
  .lang-dock-btn svg { width:22px !important; height:15px !important; }

  /* Hero */
  .hero { padding:calc(var(--nav-h) + 20px) 0 36px; }
  .hero-top { margin-bottom:20px; }
  .hero-chip-full {
    font-size:10px !important;
    letter-spacing:1px;
    padding:6px 16px 6px 12px;
  }
  .typed-full { font-size:11px !important; overflow:hidden; max-width:100%; }
  .cmd-reveal-anim { white-space:normal; word-break:break-all; }
  .hero h1 { font-size:clamp(24px,7.5vw,38px) !important; text-align:center; }
  .hero-desc { font-size:14px !important; text-align:center; max-width:100%; }
  .hero-btns { flex-direction:column; gap:10px; }
  .hero-btns .btn { width:100%; justify-content:center; }

  /* Terminal */
  .hero-term-body {
    font-size:11px !important;
    padding:12px 14px;
    min-height:260px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .hero-term-title { font-size:10px !important; }
  .compliance-bar {
    gap:12px !important;
    padding:10px 14px !important;
    font-size:10.5px !important;
    flex-wrap:wrap;
    justify-content:center;
  }
  .ci { font-size:10.5px !important; }

  /* Sections */
  .sec { padding:56px 0; }
  .sec-title { font-size:clamp(20px,6vw,28px) !important; }
  .sec-sub { font-size:14px; margin-bottom:36px; }
  .sec-label { font-size:9.5px !important; letter-spacing:2.5px; }

  /* Cards */
  .svc-grid,.why-grid,.ind-grid,.rpt-grid { grid-template-columns:1fr; }
  .svc-card,.rpt-card,.why-card { padding:20px 18px; }
  .svc-icon { width:42px; height:42px; font-size:20px; }
  .ind-card { padding:18px 16px; gap:10px; }
  .ind-card .emoji { font-size:26px; }

  /* About */
  .about-cards2 { grid-template-columns:1fr; }
  .about-grid2 { grid-template-columns:1fr; gap:28px; }
  .about-lead-text { font-size:14.5px; }

  /* Contact */
  .contact-grid { grid-template-columns:1fr; gap:28px; }
  .cf-box { padding:20px 16px; }
  .cf-row { grid-template-columns:1fr; }
  .field-input,.field-select,.field-textarea { font-size:14px; padding:10px 12px; }
  .cf-submit { padding:13px; font-size:14px; }

  /* Methodology */
  .meth-term-body { font-size:11px; padding:14px 16px; overflow-x:auto; }

  /* CTA terminal */
  .cta-term-body { font-size:12px !important; padding:16px 16px !important; overflow-x:auto; }
  .cta-term-title { font-size:10px !important; }

  /* Why */
  .why-grid { grid-template-columns:1fr; }
  .why-num-row { margin-bottom:8px; }

  /* Footer */
  .footer { padding:36px 0 80px; } /* extra bottom for lang dock */
  .footer-grid { grid-template-columns:1fr; gap:20px; }
  .footer-bottom { flex-direction:column; gap:8px; }
  .footer-copy,.footer-auth { font-size:10px; }

  /* Stats */
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .stat { padding:20px 12px; }
  .stat-val { font-size:clamp(22px,5vw,28px); }
}

/* ── SMALL PHONES ≤480px ── */
@media(max-width:480px){
  .hero h1 { font-size:clamp(22px,8vw,30px) !important; }
  .hero-chip-full { font-size:9px !important; padding:5px 12px 5px 10px; }
  .typed-full { font-size:10px !important; }
  .hero-term-body { font-size:10px !important; min-height:220px; padding:10px 12px; }
  .compliance-bar { font-size:9.5px !important; gap:8px !important; padding:8px 10px !important; }
  .ci { font-size:9.5px !important; }
  .sec { padding:40px 0; }
  .sec-title { font-size:clamp(19px,7vw,24px) !important; }
  .svc-card h3,.rpt-card h3 { font-size:14px; }
  .svc-card p,.rpt-card p,.why-card p { font-size:12.5px; }
  .btn { padding:12px 20px !important; font-size:13px !important; }
  .about-cards2 { grid-template-columns:1fr; }
  .matcha-card-blue { padding:18px; }
  .cta-term-body { font-size:11px !important; }
  .wrap { padding:0 14px; }
}

/* ── VERY SMALL ≤360px ── */
@media(max-width:360px){
  .hero h1 { font-size:20px !important; }
  .compliance-bar { flex-direction:column; align-items:center; gap:6px !important; }
  .stats-grid { grid-template-columns:1fr !important; }
}

/* ── LARGE DESKTOP ≥1400px ── */
@media(min-width:1400px){
  .hero-term-body { min-height:440px; }
  .hero h1 { font-size:58px; }
  .svc-grid { grid-template-columns:repeat(3,1fr); }
}

/* ═══════════════════════════════════════════════════════════
   v7 TARGETED FIXES
   1. Nav: lowercase · bold · square hover
   2. Hero top: tight spacing below nav
   3. Typed command: 2px smaller, no early disappear
   4. Compliance bar: same size & centered as chip
   ═══════════════════════════════════════════════════════════ */

/* ── 1. NAV BUTTONS ──────────────────────────────────────── */
.nav-btn {
  font-weight: 700 !important;
  text-transform: lowercase !important;
  border-radius: 6px !important;
  border: 1px solid transparent !important;
  padding: 7px 14px !important;
}
/* Remove old underline indicator */
.nav-btn::after { display: none !important; }

/* Square hover highlight */
.nav-btn:hover {
  color: var(--blue2) !important;
  background: rgba(59,123,245,.09) !important;
  border-color: rgba(59,123,245,.22) !important;
}
.nav-btn.active {
  color: var(--blue2) !important;
  background: rgba(59,123,245,.11) !important;
  border-color: rgba(59,123,245,.28) !important;
}
/* Mobile menu items: also lowercase and bold */
.mobile-link {
  font-weight: 700 !important;
  text-transform: lowercase !important;
}

/* ── 2. HERO TOP: pull tight below nav ───────────────────── */
.hero {
  padding-top: calc(var(--nav-h) + 8px) !important;
  align-items: flex-start !important;
}
.hero-top {
  margin-bottom: 12px !important;
  padding-top: 4px !important;
}

/* ── 3. TYPED COMMAND: 2 sizes smaller than chip ─────────── */
/* chip = 12.5px → typed = 10.5px */
.typed-full {
  font-size: 10.5px !important;
  min-height: 18px !important;
  line-height: 1.5 !important;
}
/* cmd-reveal-anim: keep clip-path reveal but stay visible fully */
.cmd-reveal-anim {
  display: inline-block;
  animation: revealLTR 3.5s cubic-bezier(.25,.46,.45,.94) forwards;
  white-space: nowrap;
  /* Override any previous animation to ensure it never clips back */
}
@keyframes revealLTR {
  0%   { clip-path: inset(0 100% 0 0); opacity: .15; }
  8%   { opacity: .8; }
  100% { clip-path: inset(0 0% 0 0);   opacity: 1; }
}

/* ── 4. COMPLIANCE BAR: match chip size, center ──────────── */
.hero-compliance-wrap {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}
.compliance-bar {
  font-size: 12.5px !important;
  font-weight: 500 !important;
  letter-spacing: 1px !important;
  gap: 24px !important;
  padding: 11px 24px !important;
  display: inline-flex !important;
}
.ci { font-size: 12.5px !important; }
.ci::before { font-size: 12.5px !important; }

/* Responsive: scale down on mobile */
@media(max-width:768px) {
  .nav-btn { font-size: 12px !important; padding: 6px 11px !important; }
  .typed-full { font-size: 10px !important; }
  .compliance-bar { font-size: 11px !important; gap: 14px !important; padding: 9px 14px !important; }
  .ci { font-size: 11px !important; }
}
@media(max-width:480px) {
  .typed-full { font-size: 9.5px !important; }
  .compliance-bar { font-size: 10px !important; gap: 10px !important; }
  .ci { font-size: 10px !important; }
}

/* ═══════════════════════════════════════════════════════════
   v7.1 — Nav mono font + logo bigger + terminal line animations
   ═══════════════════════════════════════════════════════════ */

/* ── NAV: IBM Plex Mono, bold, one size bigger ────────────── */
.nav-btn {
  font-family: var(--mono) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0px !important;
}
.nav-pref {
  font-family: var(--mono) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  opacity: .55;
}
.nav-cta {
  font-family: var(--mono) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0px !important;
}

/* ── LOGO: one size bigger ────────────────────────────────── */
.logo-text {
  font: 700 17px/1 var(--mono) !important;
  letter-spacing: -.2px;
}
.logo-shield {
  width: 42px !important;
  height: 50px !important;
}

/* ── HERO TERMINAL: fade-in lines left to right ───────────── */
@keyframes htLineFade {
  0%   { clip-path: inset(0 100% 0 0); opacity: 0; }
  6%   { opacity: .8; }
  100% { clip-path: inset(0 0% 0 0);   opacity: 1; }
}
.ht-line {
  display: block;
  animation: htLineFade .55s cubic-bezier(.25,.46,.45,.94) both;
}

/* Wider nav for bigger font — raise height slightly */
:root { --nav-h: 68px !important; }

/* Mobile: scale down nav font */
@media(max-width:768px) {
  .nav-btn { font-size: 13px !important; }
  .nav-cta { font-size: 12.5px !important; }
  .logo-text { font-size: 15px !important; }
}

/* ── v7.2 — Nav: hide ~/ prefix, 13px, uppercase, bold ─── */
.nav-pref, .nav-pref-mob { display: none !important; }
.nav-btn {
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
}
.nav-cta {
  font-size: 12.5px !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
}
@media(max-width:768px) {
  .nav-btn { font-size: 12px !important; }
  .nav-cta { font-size: 12px !important; }
  .mobile-link { text-transform: uppercase !important; letter-spacing: .5px !important; }
}

/* ── v7.3 — Nav 11px; terminal fade slower + elegant ────── */
.nav-btn { font-size: 11px !important; }
.nav-cta { font-size: 10.5px !important; }

@keyframes htLineFade {
  0%   { clip-path: inset(0 100% 0 0); opacity: 0; }
  15%  { opacity: .25; }
  60%  { opacity: .7; }
  100% { clip-path: inset(0 0% 0 0); opacity: 1; }
}
.ht-line {
  animation: htLineFade 1.1s cubic-bezier(.16,.84,.44,1) both;
}

/* ── v7.4 — Terminal: dynamic on desktop, natural on mobile ─ */

/* Desktop: fluid height — grows with content, no clipping */
.hero-term-body {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
}
/* Remove the gradient fade overlay that hid overflow */
.hero-term-body::after { display: none !important; }

/* On desktop the two columns still sit side by side */
@media(min-width: 961px) {
  .hero-grid { align-items: stretch !important; }
  .hero-terminal-win { display: flex !important; flex-direction: column !important; }
}

/* Mobile: stack columns, terminal fills width naturally, no scroll */
@media(max-width: 960px) {
  .hero-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .hero-terminal-win {
    width: 100% !important;
    height: auto !important;
  }
  .hero-term-body {
    padding: 14px 16px !important;
    font-size: 11.5px !important;
    line-height: 1.75 !important;
    overflow: hidden !important;
    white-space: normal !important;
  }
  .ht-line {
    white-space: normal !important;
    word-break: break-word !important;
  }
}

@media(max-width: 480px) {
  .hero-term-body {
    font-size: 10.5px !important;
    padding: 12px 13px !important;
    line-height: 1.7 !important;
  }
  .hero-term-title { font-size: 9.5px !important; }
}

/* ── v7.5 — Content protection CSS layer ──────────────────── */

/* Disable text selection everywhere except form inputs */
*, *::before, *::after {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
  -webkit-touch-callout: none !important;   /* iOS long-press popup */
  -webkit-user-drag: none !important;       /* element drag */
}

/* Re-enable selection and touch callout inside form fields */
input, textarea, select,
input *, textarea *, select * {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  -ms-user-select: text !important;
  user-select: text !important;
  -webkit-touch-callout: default !important;
}

/* Disable image drag */
img, svg {
  -webkit-user-drag: none !important;
  user-drag: none !important;
  pointer-events: none;
}
/* But keep pointer events on interactive SVGs (logo, lang flags) */
.logo-shield, .lang-dock-btn svg, .boot__shield {
  pointer-events: auto;
}

/* Hide print version */
@media print {
  body { display: none !important; }
}

/* ── SAMPLE REQUEST MODAL ─────────────────────────────────────── */
.sr-backdrop{
  position:fixed;inset:0;z-index:9000;
  background:rgba(2,4,14,.82);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s var(--ease);
  padding:20px;
}
.sr-backdrop.open{opacity:1;pointer-events:all;}

.sr-modal{
  background:linear-gradient(160deg,var(--bg2) 0%,var(--bg3) 100%);
  border:1px solid var(--border2);
  border-radius:16px;width:100%;max-width:520px;
  padding:40px;position:relative;
  box-shadow:0 32px 80px rgba(0,0,20,.7),0 0 0 1px rgba(60,140,255,.08);
  transform:translateY(20px) scale(.97);
  transition:transform .35s var(--ease);
}
.sr-backdrop.open .sr-modal{transform:translateY(0) scale(1);}

.sr-close{
  position:absolute;top:16px;right:16px;
  width:32px;height:32px;border-radius:8px;
  background:transparent;border:1px solid var(--border);
  color:var(--t3);font-size:16px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;line-height:1;
}
.sr-close:hover{background:rgba(255,80,80,.12);border-color:rgba(255,80,80,.3);color:#ff6b6b;}

.sr-badge{
  display:inline-flex;align-items:center;gap:6px;
  font:600 9px/1 var(--mono);letter-spacing:1.2px;
  color:var(--blue2);text-transform:uppercase;
  background:rgba(59,123,245,.1);border:1px solid rgba(59,123,245,.2);
  border-radius:20px;padding:5px 12px;margin-bottom:16px;
}
.sr-badge::before{content:'';width:6px;height:6px;background:var(--blue2);border-radius:50%;animation:blink 1.4s ease-in-out infinite;}

.sr-title{font:700 22px/1.2 var(--body);color:var(--t1);margin-bottom:6px;}
.sr-sub  {font:400 13.5px/1.7 var(--body);color:var(--t2);margin-bottom:28px;}

.sr-flags{display:flex;gap:8px;margin-bottom:24px;}
.sr-flag{
  display:flex;align-items:center;gap:6px;
  font:500 11px/1 var(--mono);color:var(--t3);
  background:rgba(60,120,220,.06);border:1px solid var(--border);
  border-radius:6px;padding:6px 10px;
}
.sr-flag span{font-size:14px;}

.sr-field{margin-bottom:16px;}
.sr-label{
  display:block;font:600 11px/1 var(--mono);letter-spacing:.5px;
  color:var(--t2);text-transform:uppercase;margin-bottom:7px;
}
.sr-input{
  width:100%;box-sizing:border-box;
  background:rgba(6,12,30,.6);
  border:1px solid var(--border2);border-radius:8px;
  padding:12px 14px;font:400 14px/1 var(--body);
  color:var(--t1);outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.sr-input::placeholder{color:var(--t3);}
.sr-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,123,245,.15);}
.sr-input.error{border-color:#f87171;box-shadow:0 0 0 3px rgba(248,113,113,.12);}

.sr-note{
  font:400 11.5px/1.6 var(--body);color:var(--t3);
  margin-bottom:24px;padding:10px 14px;
  background:rgba(59,123,245,.06);border-left:2px solid var(--blue);
  border-radius:0 6px 6px 0;
}

.sr-btn{
  width:100%;padding:14px;
  background:linear-gradient(135deg,var(--blue) 0%,var(--blue3) 100%);
  border:none;border-radius:10px;cursor:pointer;
  font:700 14px/1 var(--body);color:#fff;
  position:relative;overflow:hidden;transition:opacity .2s,transform .15s;
}
.sr-btn:hover{opacity:.92;transform:translateY(-1px);}
.sr-btn:active{transform:translateY(0);}
.sr-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.sr-btn .sr-spinner{
  display:none;width:16px;height:16px;
  border:2px solid rgba(255,255,255,.3);border-top-color:#fff;
  border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-right:6px;
}
.sr-btn.loading .sr-spinner{display:inline-block;}
.sr-btn.loading .sr-btn-text{opacity:.6;}

.sr-success{display:none;text-align:center;padding:20px 0;}
.sr-success.show{display:block;}
.sr-success-icon{font-size:48px;margin-bottom:16px;line-height:1;}
.sr-success-h{font:700 18px/1.3 var(--body);color:var(--t1);margin-bottom:8px;}
.sr-success-p{font:400 13px/1.7 var(--body);color:var(--t2);}
.sr-success-langs{
  display:flex;justify-content:center;gap:10px;margin-top:18px;flex-wrap:wrap;
}
.sr-lang-pill{
  font:600 10px/1 var(--mono);letter-spacing:.8px;
  color:var(--blue2);background:rgba(59,123,245,.1);
  border:1px solid rgba(59,123,245,.22);border-radius:20px;
  padding:6px 14px;text-transform:uppercase;
}
.sr-err-msg{
  display:none;color:#f87171;font:400 12px/1.5 var(--mono);
  margin-top:8px;text-align:center;
}
.sr-err-msg.show{display:block;}

/* ── INLINE SAMPLE FORM CARD ─────────────────────────────────────*/
.sr-inline-card {
  border: 1px solid var(--border2) !important;
  background: linear-gradient(160deg, var(--bg2) 0%, var(--bg3) 100%) !important;
}
.sr-inline-card .sr-input {
  background: rgba(3,6,15,.55);
}

/* ── GLOBAL CONTENT FONT +2pt (nav & terminals untouched) ─────── */
.sec-sub,
.hero-desc                        { font-size:clamp(17px,2.2vw,19px) !important; }
.svc-card p, .why-card p          { font-size:15.5px !important; }
.svc-card h3                      { font-size:18px !important; }
.why-card h3                      { font-size:17.5px !important; }
.ind-card p                       { font-size:14.5px !important; }
.ind-card h3                      { font-size:16px  !important; }
.rpt-card p                       { font-size:14.5px !important; }
.rpt-card h3                      { font-size:17px  !important; }
.about-block p                    { font-size:15.5px !important; }
.about-block h3                   { font-size:18px  !important; }
.trust-block p                    { font-size:16px  !important; }
.cta-sec p                        { font-size:17px  !important; }
.field-input, .field-select,
.field-textarea                   { font-size:15px  !important; }
.cf-submit                        { font-size:15px  !important; }
.cf-note                          { font-size:12.5px !important; }
.consent label                    { font-size:13.5px !important; }
.footer-brand p                   { font-size:14px  !important; }
.footer-link                      { font-size:14.5px !important; }
.footer-copy                      { font-size:13px  !important; }
.card p, .card h3                 { font-size:15px  !important; }
.contact-item                     { font-size:14px  !important; }

/* sr-badge, sr-note, sr-label keep their compact sizes */

/* ── SERVICE CARD TEXT TOGGLE ────────────────────────────────── */
.svc-card { cursor: pointer; }
.svc-text  { transition: opacity .18s; min-height: 4.5em; }
.svc-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  margin-top: 12px;
}
.svc-tags  { flex: 1; }
.svc-toggle-hint {
  font: 600 10.5px/1 var(--mono);
  color: #93c5fd;
  opacity: .85;
  white-space: nowrap;
  transition: opacity .2s, color .2s;
  user-select: none;
}
.svc-card:hover .svc-toggle-hint { opacity: 1; color: #bae6fd; }
