/* ============================================================
   SKY SHIELD DEFENSE — Minimalist Corporate Design System
   ============================================================ */

:root {
  --dark:       #060e1a;
  --navy-deep:  #04080f;
  --navy-mid:   #0a1828;
  --surface:    #0a1828;
  --surface-2:  #0e2038;
  --surface-3:  #122448;
  --blue:       #1a5cb0;
  --blue-2:     #2472cc;
  --blue-pale:  rgba(26,92,176,0.08);
  --gold:       #c8a84b;
  --white:      #f0f4f8;
  --gray-light: #94a8be;
  --gray:       #7d95aa;
  --border:     rgba(255,255,255,0.07);
  --border-2:   rgba(255,255,255,0.13);
  --transition: all 0.3s ease;
  --radius:     6px;
  --radius-lg:  10px;
  --max-w:      1240px;
}

/* ---------- Self-hosted fonts (no third-party render-blocking round trip) ---------- */
@font-face{
  font-family:'IBM Plex Sans';
  font-style:normal;
  font-weight:400 700;
  font-display:optional;
  src:url('../fonts/ibm-plex-sans.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Rajdhani';
  font-style:normal;
  font-weight:600;
  font-display:optional;
  src:url('../fonts/rajdhani-600.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Rajdhani';
  font-style:normal;
  font-weight:700;
  font-display:optional;
  src:url('../fonts/rajdhani-700.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ---------- Reset ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%;}
body{
  font-family:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;
  background:var(--dark);
  color:var(--white);
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
*{max-width:100%;}
img,svg{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
button{cursor:pointer;border:none;background:none;font-family:inherit;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--dark);}
::-webkit-scrollbar-thumb{background:var(--blue);border-radius:2px;}

/* ---------- Loading Screen ---------- */
#loader{
  position:fixed;inset:0;z-index:9999;
  background:var(--dark);
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:2rem;
  animation:loaderAutoDismiss 0.35s ease 1.5s forwards;
}
#loader.out{opacity:0;pointer-events:none;transition:opacity 0.2s ease;}
@keyframes loaderAutoDismiss{to{opacity:0;pointer-events:none;}}
.loader-logo-box{
  background:rgba(255,255,255,0.94);
  border-radius:12px;padding:10px 14px;
  box-shadow:0 0 40px rgba(26,92,176,0.25);
  opacity:0;animation:l-fade 0.15s ease 0s forwards;
}
.loader-logo-box img{height:70px;width:auto;}
.loader-name{
  text-align:center;
  opacity:0;animation:l-fade 0.15s ease 0.05s forwards;
}
.loader-name-main{
  font-size:1.3rem;font-weight:900;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--white);
}
.loader-name-main span{color:var(--blue-2);}
.loader-name-sub{
  font-size:0.55rem;letter-spacing:0.45em;
  color:var(--gold);font-weight:700;
  text-transform:uppercase;margin-top:4px;
}
.loader-line-wrap{
  width:200px;height:1px;
  background:var(--border);
  overflow:hidden;
  opacity:0;animation:l-fade 0.15s ease 0.08s forwards;
}
.loader-line-fill{
  height:100%;background:var(--blue-2);
  width:0;animation:line-grow 0.2s ease 0.1s forwards;
}
@keyframes l-fade{to{opacity:1;}}
@keyframes line-grow{to{width:100%;}}

/* ---------- Layout ---------- */
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 2rem;}
.section-pad{padding:100px 0;}
.section-pad-sm{padding:64px 0;}
.text-center{text-align:center;}

/* ---------- Typography ---------- */
h1,h2,h3,h4,h5,h6{
  font-family:'Rajdhani','IBM Plex Sans','Helvetica Neue',Arial,sans-serif;
  font-weight:700;line-height:1.1;
  letter-spacing:0.01em;
}
/* Body text uses Inter — clean, institutional */
body,p,li,span,a,label,input,textarea,select{
  font-family:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;
}
/* Display headings get Barlow Condensed — commanding, precise */
.hero-title,.section-title,.page-hero-title,.cap-title,.briefing-title{
  font-family:'Rajdhani','IBM Plex Sans','Helvetica Neue',Arial,sans-serif;
  font-weight:700;
  letter-spacing:0.02em;
  text-transform:uppercase;
}
/* Eyebrow labels — small, spaced, institutional */
.eyebrow{
  font-family:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;
  font-weight:600;
}
.eyebrow{
  font-size:0.68rem;font-weight:700;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--blue-2);margin-bottom:1rem;display:block;
}
.section-title{
  font-size:clamp(1.8rem,3.2vw,2.6rem);
  font-weight:900;color:var(--white);margin-bottom:1rem;
}
.section-title span{color:var(--blue-2);}
.section-sub{
  font-size:0.98rem;color:var(--gray-light);
  max-width:580px;margin:0 auto 3rem;line-height:1.85;
}
.divider{
  width:40px;height:2px;
  background:var(--blue);margin:1.5rem 0;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:13px 30px;border-radius:var(--radius);
  font-weight:700;font-size:0.8rem;
  letter-spacing:0.08em;text-transform:uppercase;
  transition:var(--transition);font-family:'Rajdhani','IBM Plex Sans','Helvetica Neue',Arial,sans-serif;
  cursor:pointer;
}
.btn-primary{
  background:var(--blue);color:#fff;
  border:1.5px solid var(--blue);
}
.btn-primary:hover{background:var(--blue-2);border-color:var(--blue-2);transform:translateY(-2px);box-shadow:0 8px 28px rgba(26,92,176,0.4);}
.btn-outline{
  background:transparent;color:var(--white);
  border:1.5px solid var(--border-2);
}
.btn-outline:hover{border-color:var(--white);transform:translateY(-2px);}
.btn-gold{
  background:var(--gold);color:var(--dark);
  border:1.5px solid var(--gold);
}
.btn-gold:hover{background:#d8bc6c;border-color:#d8bc6c;transform:translateY(-2px);box-shadow:0 8px 28px rgba(200,168,75,0.35);}

/* ---------- Navbar ---------- */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:0 2rem;transition:var(--transition);
}
.navbar.scrolled{
  background:rgba(6,14,26,0.97);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
}
.nav-inner{
  max-width:var(--max-w);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  height:78px;
}
.nav-logo{display:flex;align-items:center;gap:12px;}
.nav-logo-img{
  background:rgba(255,255,255,0.94);
  border-radius:9px;padding:5px 7px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:var(--transition);
  box-shadow:0 2px 14px rgba(0,0,0,0.25);
}
.nav-logo-img img{height:44px;width:auto;}
.nav-logo:hover .nav-logo-img{box-shadow:0 4px 20px rgba(26,92,176,0.35);}
.logo-text{display:flex;flex-direction:column;}
.logo-name{font-size:1.05rem;font-weight:900;letter-spacing:0.1em;line-height:1;text-transform:uppercase;}
.logo-name span{color:var(--blue-2);}
.logo-sub{font-size:0.5rem;letter-spacing:0.4em;color:var(--gold);font-weight:700;text-transform:uppercase;margin-top:3px;}

.nav-menu{display:flex;align-items:center;gap:0.2rem;}
.nav-link{
  padding:8px 14px;font-size:0.72rem;font-weight:600;
  letter-spacing:0.08em;text-transform:uppercase;
  color:var(--gray-light);border-radius:var(--radius);
  transition:var(--transition);
}
.nav-link:hover,.nav-link.active{color:var(--white);}
.nav-item{position:relative;}
.nav-dropdown{
  position:absolute;top:calc(100%+10px);left:50%;
  transform:translateX(-50%) translateY(6px);
  background:rgba(8,18,32,0.98);backdrop-filter:blur(20px);
  border:1px solid var(--border);border-radius:var(--radius-lg);
  min-width:210px;padding:8px;
  opacity:0;visibility:hidden;transition:var(--transition);
  box-shadow:0 20px 60px rgba(0,0,0,0.5);
}
.nav-item:hover .nav-dropdown{
  opacity:1;visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.dropdown-link{
  display:flex;align-items:center;gap:12px;
  padding:10px 12px;border-radius:var(--radius);
  font-size:0.76rem;font-weight:600;
  color:var(--gray-light);transition:var(--transition);
}
.dropdown-link:hover{color:var(--white);background:var(--blue-pale);}
.dd-num{
  width:26px;height:26px;border-radius:5px;
  background:var(--blue-pale);border:1px solid rgba(26,92,176,0.2);
  display:flex;align-items:center;justify-content:center;
  font-size:0.65rem;font-weight:700;color:var(--blue-2);flex-shrink:0;
}
.dd-icon{
  width:26px;height:26px;border-radius:5px;
  background:var(--blue-pale);border:1px solid rgba(26,92,176,0.2);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.dd-icon svg{width:15px;height:15px;}
.nav-cta{margin-left:1rem;}

.hamburger{display:none;flex-direction:column;gap:5px;padding:8px;}
.hamburger span{width:22px;height:1.5px;background:var(--white);display:block;transition:var(--transition);}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
.mobile-menu{
  display:none;position:fixed;inset:0;z-index:999;
  background:rgba(6,14,26,0.99);backdrop-filter:blur(20px);
  flex-direction:column;align-items:center;justify-content:center;gap:1rem;
  border:1px solid var(--border);
}
.mobile-menu.open{display:flex;}
.mobile-menu a{
  font-size:1.1rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--gray-light);transition:var(--transition);padding:0.6rem 2rem;
}
.mobile-menu a:hover{color:var(--white);}

/* ---------- Hero ---------- */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;
  overflow:hidden;background:var(--dark);
}
/* Canvas IS the background — full cinematic scene */
#hero-canvas{
  position:absolute;inset:0;
  width:100%;height:100%;
  z-index:1;opacity:1;
  pointer-events:none;
  filter:brightness(1.28) saturate(1.35) contrast(1.08);
}
/* Left-side overlay only — right side stays clear so animation shows */
.hero-bg-img{ display:none; }
.hero-bg-overlay{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(
    to right,
    rgba(6,14,26,0.74) 0%,
    rgba(6,14,26,0.60) 28%,
    rgba(6,14,26,0.28) 50%,
    rgba(6,14,26,0.05) 70%,
    rgba(6,14,26,0.00) 100%
  );
}
.hero-bg-overlay::after{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 65% 55%,rgba(36,114,204,0.12) 0%,rgba(36,114,204,0) 60%);
  animation:heroGlowPulse 6s ease-in-out infinite;
}
@keyframes heroGlowPulse{
  0%,100%{opacity:0.55;}
  50%{opacity:1;}
}
.hero-bg-tint{ display:none; }
.hero-bg-line{ display:none; }
.hero-bg-glow{ display:none; }
.hero-content{
  position:absolute;
  top:0;left:0;bottom:0;
  z-index:3;
  width:52%;
  padding:0 3rem 0 3.5rem;
  padding-top:78px;
  display:flex;flex-direction:column;justify-content:center;
}
.hero-left{}
.hero-overline{
  font-size:0.68rem;font-weight:700;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--blue-2);
  display:flex;align-items:center;gap:10px;margin-bottom:1.5rem;
}
.hero-overline::before{content:'';width:28px;height:1px;background:var(--blue-2);}
.hero-title{
  font-size:clamp(2.4rem,4.5vw,3.8rem);
  font-weight:900;line-height:1.08;
  color:var(--white);margin-bottom:1.5rem;
}
.hero-title span{color:var(--blue-2);}
.hero-desc{
  font-size:1rem;color:var(--gray-light);
  line-height:1.9;margin-bottom:2.5rem;max-width:480px;
}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3.5rem;}
/* Radar Display */
.hero-right{display:flex;align-items:center;justify-content:center;}
.radar-wrap{
  position:relative;width:100%;max-width:460px;aspect-ratio:1;
}
#tactical-canvas{
  width:100%;height:100%;
  border-radius:var(--radius-lg);
  border:1px solid var(--border);
  background:rgba(8,18,32,0.9);
}
.radar-header{
  position:absolute;top:0;left:0;right:0;
  display:flex;justify-content:space-between;align-items:center;
  padding:11px 14px;
  border-bottom:1px solid var(--border);
  background:rgba(8,18,32,0.85);
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
}
.radar-label{font-size:0.6rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--gray-light);}
.radar-status{display:flex;align-items:center;gap:5px;font-size:0.58rem;color:var(--gray-light);letter-spacing:0.12em;text-transform:uppercase;}
.radar-dot{width:5px;height:5px;background:var(--blue-2);border-radius:50%;animation:pulse-dot 1.4s infinite;}
@keyframes pulse-dot{0%,100%{opacity:1;}50%{opacity:0.3;}}
.radar-footer{
  position:absolute;bottom:0;left:0;right:0;
  display:grid;grid-template-columns:1fr 1fr 1fr;
  border-top:1px solid var(--border);
  background:rgba(8,18,32,0.85);
  border-radius:0 0 var(--radius-lg) var(--radius-lg);
}
.rf-stat{
  padding:9px 10px;text-align:center;
  border-right:1px solid var(--border);
}
.rf-stat:last-child{border-right:none;}
.rf-val{font-size:0.82rem;font-weight:700;color:var(--white);line-height:1;}
.rf-lbl{font-size:0.55rem;color:var(--gray-light);text-transform:uppercase;letter-spacing:0.08em;margin-top:2px;}

.scroll-hint{
  position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
  z-index:4;display:flex;flex-direction:column;align-items:center;gap:6px;
}
.scroll-line{width:1px;height:36px;background:linear-gradient(to bottom,transparent,var(--blue));animation:s-grow 2s ease-in-out infinite;}
@keyframes s-grow{0%,100%{transform:scaleY(0);opacity:0;}50%{transform:scaleY(1);opacity:1;}}
.scroll-text{font-size:0.55rem;color:var(--gray);letter-spacing:0.18em;text-transform:uppercase;}

/* ---------- Stats Bar ---------- */
.stats-bar{
  background:var(--surface);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:28px 0;
}
.stats-bar-inner{
  max-width:var(--max-w);margin:0 auto;padding:0 2rem;
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;
}
.stats-bar-item{
  text-align:center;padding:0 2rem;
  border-right:1px solid var(--border);
}
.stats-bar-item:last-child{border-right:none;}
.sbi-val{font-size:2rem;font-weight:900;color:var(--white);line-height:1;display:block;}
.sbi-lbl{font-size:0.68rem;color:var(--gray-light);text-transform:uppercase;letter-spacing:0.1em;margin-top:6px;display:block;font-weight:600;}

/* ---------- About / Briefing ---------- */
.about-section{background:var(--dark);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start;}
.about-body{color:var(--gray-light);line-height:1.9;font-size:0.95rem;margin-bottom:1.5rem;}
.about-body strong{color:var(--white);}
.about-right{display:flex;flex-direction:column;gap:1px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
.about-item{
  padding:1.5rem;background:var(--surface);
  border-bottom:1px solid var(--border);
  display:flex;align-items:flex-start;gap:1.2rem;
  transition:var(--transition);
}
.about-item:last-child{border-bottom:none;}
.about-item:hover{background:var(--surface-2);}
.about-item-num{
  font-size:0.65rem;font-weight:900;color:var(--blue-2);
  letter-spacing:0.08em;flex-shrink:0;margin-top:2px;
  width:28px;
}
.about-item-content h4{font-size:0.9rem;font-weight:700;margin-bottom:0.3rem;color:var(--white);}
.about-item-content p{font-size:0.82rem;color:var(--gray-light);line-height:1.7;}

/* ---------- Capabilities ---------- */
.capabilities{background:var(--surface);}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
.cap-card{
  background:var(--dark);padding:2.8rem 2.2rem;
  transition:var(--transition);cursor:pointer;
  text-decoration:none;color:inherit;display:block;
  position:relative;overflow:hidden;
}
.cap-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:2px;background:var(--blue);
  transform:scaleX(0);transform-origin:left;
  transition:var(--transition);
}
.cap-card:hover::after{transform:scaleX(1);}
.cap-card:hover{background:var(--surface);}
.cap-index{
  font-size:0.62rem;font-weight:700;letter-spacing:0.15em;
  color:var(--gray);text-transform:uppercase;
  margin-bottom:2rem;display:block;
}
.cap-title{font-size:1.3rem;font-weight:800;margin-bottom:0.4rem;color:var(--white);}
.cap-sub{font-size:0.7rem;color:var(--gray-light);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:1.2rem;font-weight:600;}
.cap-desc{font-size:0.85rem;color:var(--gray-light);line-height:1.8;margin-bottom:1.8rem;}
.cap-list{margin-bottom:1.8rem;display:flex;flex-direction:column;gap:0.5rem;}
.cap-list-item{
  font-size:0.8rem;color:var(--gray-light);
  display:flex;align-items:flex-start;gap:10px;
  padding:0.4rem 0;border-bottom:1px solid var(--border);
}
.cap-list-item:last-child{border-bottom:none;}
.cap-list-item::before{content:'—';color:var(--blue-2);flex-shrink:0;font-weight:700;}
.cap-link{
  font-size:0.72rem;font-weight:700;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--blue-2);
  display:flex;align-items:center;gap:8px;
  transition:var(--transition);
}
.cap-card:hover .cap-link{gap:14px;}

/* ---------- Sectors ---------- */
.sectors{background:var(--dark);}
.sector-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--border);
  border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;
}
.sector-card{
  background:var(--surface);
  padding:1.8rem 1.5rem;
  transition:var(--transition);
}
.sector-card:hover{background:var(--surface-2);}
.sector-num{
  font-size:0.6rem;font-weight:700;color:var(--blue-2);
  letter-spacing:0.1em;margin-bottom:0.8rem;display:block;
}
.sector-name{font-size:0.88rem;font-weight:700;color:var(--white);margin-bottom:0.4rem;}
.sector-desc{font-size:0.75rem;color:var(--gray-light);line-height:1.6;}

/* ---------- Authority Panel ---------- */
.authority{background:var(--surface);}
.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.auth-panel{
  border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;
}
.auth-panel-head{
  padding:1rem 1.5rem;background:var(--surface-2);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
}
.auth-panel-title{font-size:0.65rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--gray-light);}
.auth-live{display:flex;align-items:center;gap:5px;font-size:0.6rem;color:var(--gray-light);letter-spacing:0.1em;text-transform:uppercase;}
.auth-live-dot{width:5px;height:5px;border-radius:50%;background:var(--blue-2);animation:pulse-dot 1.4s infinite;}
.auth-panel-body{padding:0;}
.auth-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 1.5rem;border-bottom:1px solid var(--border);
  font-size:0.82rem;
}
.auth-row:last-child{border-bottom:none;}
.auth-label{color:var(--gray-light);font-weight:500;}
.auth-value{font-weight:700;color:var(--white);}
.auth-bar-row{padding:1rem 1.5rem;border-bottom:1px solid var(--border);}
.auth-bar-row:last-child{border-bottom:none;}
.auth-bar-top{display:flex;justify-content:space-between;margin-bottom:8px;font-size:0.75rem;}
.auth-bar-top span:first-child{color:var(--gray-light);}
.auth-bar-top span:last-child{color:var(--white);font-weight:700;}
.auth-bar-track{height:2px;background:rgba(255,255,255,0.06);border-radius:2px;}
.auth-bar-fill{height:100%;border-radius:2px;background:var(--blue);transition:width 1.5s ease;}

/* ---------- Testimonials ---------- */
.testimonials{background:var(--dark);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
.testi-card{
  background:var(--surface);padding:2.2rem;
  transition:var(--transition);
}
.testi-card:hover{background:var(--surface-2);}
.testi-org{font-size:0.62rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--blue-2);margin-bottom:1rem;}
.testi-quote{
  font-size:0.88rem;color:var(--gray-light);line-height:1.9;
  margin-bottom:1.5rem;font-style:italic;
  border-left:2px solid var(--blue);padding-left:1rem;
}
.testi-author-row{padding-top:1rem;border-top:1px solid var(--border);}
.testi-name{font-size:0.82rem;font-weight:700;color:var(--white);}
.testi-role{font-size:0.72rem;color:var(--gray-light);margin-top:2px;}

/* ---------- CTA ---------- */
.cta-section{
  background:var(--surface-2);
  border-top:1px solid var(--border);
}
.cta-inner{
  max-width:680px;margin:0 auto;
  text-align:center;padding:90px 2rem;
}
.cta-inner h2{
  font-size:clamp(1.8rem,3vw,2.6rem);font-weight:900;
  color:var(--white);margin-bottom:1rem;
}
.cta-inner p{font-size:0.98rem;color:var(--gray-light);margin-bottom:2rem;line-height:1.85;}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* ---------- Footer ---------- */
.footer{background:var(--dark);border-top:1px solid var(--border);}
.footer-top{padding:70px 0 50px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem;}
.footer-logo-box{
  background:rgba(255,255,255,0.94);
  border-radius:10px;padding:7px 10px;
  display:inline-flex;align-items:center;
  margin-bottom:1.2rem;
}
.footer-logo-box img{height:54px;width:auto;}
.footer-brand{font-size:0.95rem;font-weight:900;letter-spacing:0.08em;text-transform:uppercase;color:var(--white);}
.footer-brand span{color:var(--blue-2);}
.footer-brand-sub{font-size:0.5rem;letter-spacing:0.38em;color:var(--gold);font-weight:700;text-transform:uppercase;margin-top:2px;}
.footer-desc{font-size:0.82rem;color:var(--gray-light);line-height:1.85;margin:1.2rem 0 1.5rem;}
.footer-social{display:flex;gap:8px;}
.social-btn{
  width:32px;height:32px;border-radius:var(--radius);
  border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-size:0.75rem;color:var(--gray-light);transition:var(--transition);
}
.social-btn:hover{border-color:var(--blue-2);color:var(--white);background:var(--blue-pale);}
.footer-col h5{
  font-size:0.65rem;font-weight:700;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--white);
  margin-bottom:1.2rem;padding-bottom:0.8rem;
  border-bottom:1px solid var(--border);
}
.footer-links{display:flex;flex-direction:column;gap:0.6rem;}
.footer-link{font-size:0.8rem;color:var(--gray-light);transition:var(--transition);}
.footer-link:hover{color:var(--white);}
.footer-contact-row{display:flex;gap:8px;margin-bottom:0.8rem;font-size:0.8rem;color:var(--gray-light);}
.footer-contact-row a:hover{color:var(--white);}
.footer-bottom{padding:20px 0;border-top:1px solid var(--border);}
.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.footer-copy{font-size:0.72rem;color:var(--gray);}
.footer-copy a{color:var(--blue-2);}
.footer-legal{display:flex;gap:1.5rem;}
.footer-legal a{font-size:0.72rem;color:var(--gray);transition:var(--transition);}
.footer-legal a:hover{color:var(--white);}

/* ---------- Inner Pages ---------- */
.page-hero{
  min-height:52vh;display:flex;align-items:flex-end;
  background:var(--dark);position:relative;overflow:hidden;
  padding-top:78px;
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),
                   linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:80px 80px;opacity:0.5;
}
.page-hero-video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0;
}
.page-hero-inner{position:relative;z-index:1;padding:4rem 0;}
.breadcrumb{
  display:flex;align-items:center;gap:8px;
  font-size:0.68rem;color:var(--gray);
  text-transform:uppercase;letter-spacing:0.1em;margin-bottom:1.5rem;
}
.breadcrumb a:hover{color:var(--white);}
.page-hero-title{font-size:clamp(2rem,4vw,3.2rem);font-weight:900;max-width:680px;color:var(--white);}
.page-hero-title span{color:var(--blue-2);}
.page-hero-desc{font-size:0.98rem;color:var(--gray-light);line-height:1.85;max-width:540px;margin-top:1rem;}

/* ---------- Product/Service Cards ---------- */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
.product-card{background:var(--surface);padding:2rem;transition:var(--transition);}
.product-card:hover{background:var(--surface-2);}
.product-num{font-size:0.6rem;font-weight:700;color:var(--blue-2);letter-spacing:0.1em;margin-bottom:1rem;display:block;}
.product-name{font-size:0.98rem;font-weight:700;color:var(--white);margin-bottom:0.5rem;}
.product-desc{font-size:0.82rem;color:var(--gray-light);line-height:1.75;}

/* ---------- Animations ---------- */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity 0.65s ease,transform 0.65s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}
.fade-up.delay-1{transition-delay:0.1s;}
.fade-up.delay-2{transition-delay:0.2s;}
.fade-up.delay-3{transition-delay:0.3s;}
.fade-up.delay-4{transition-delay:0.4s;}

/* ---------- Contact Form ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;align-items:start;}
.contact-info-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:1.5rem;
  display:flex;gap:1rem;margin-bottom:1rem;
  transition:var(--transition);
}
.contact-info-card:hover{background:var(--surface-2);}
.contact-info-label{font-size:0.68rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--white);margin-bottom:0.3rem;}
.contact-info-value{font-size:0.85rem;color:var(--gray-light);}
.contact-info-value a:hover{color:var(--white);}
.form-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;}
.form-wrap h3{font-size:1.3rem;font-weight:800;margin-bottom:0.4rem;}
.form-wrap p{font-size:0.85rem;color:var(--gray-light);margin-bottom:2rem;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group.full{grid-column:1/-1;}
.form-label{font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--gray-light);}
.form-input,.form-select,.form-textarea{
  background:rgba(255,255,255,0.04);border:1px solid var(--border);
  border-radius:var(--radius);padding:11px 14px;font-size:0.88rem;
  color:var(--white);font-family:inherit;transition:var(--transition);width:100%;outline:none;
}
.form-input::placeholder,.form-textarea::placeholder{color:var(--gray);}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--blue);background:var(--blue-pale);box-shadow:0 0 0 3px rgba(26,92,176,0.15);}
.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23445566'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:38px;}
.form-select option{background:var(--surface-2);}
.form-textarea{resize:vertical;min-height:110px;}
.form-submit{margin-top:1rem;width:100%;justify-content:center;}

/* ============================================================
   THREE PILLARS CARDS (About page)
   ============================================================ */
.pillar-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
}
.pillar-card{
  display:flex;flex-direction:column;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:2.5rem 2rem;
  transition:transform 0.3s ease,border-color 0.3s ease,box-shadow 0.3s ease,background 0.3s ease;
  position:relative;overflow:hidden;text-decoration:none;color:inherit;
}
/* Coloured top accent bar */
.pillar-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  transition:opacity 0.3s ease;
}
.pillar-card:nth-child(1)::before{background:linear-gradient(90deg,#1a5cb0,#2472cc);}
.pillar-card:nth-child(2)::before{background:linear-gradient(90deg,#a88930,#c8a84b);}
.pillar-card:nth-child(3)::before{background:linear-gradient(90deg,#6a7f96,#94a8be);}
/* Hover states */
.pillar-card:hover{transform:translateY(-5px);background:var(--surface-2);}
.pillar-card:nth-child(1):hover{border-color:rgba(36,114,204,0.45);box-shadow:0 16px 48px rgba(36,114,204,0.14);}
.pillar-card:nth-child(2):hover{border-color:rgba(200,168,75,0.4);box-shadow:0 16px 48px rgba(200,168,75,0.1);}
.pillar-card:nth-child(3):hover{border-color:rgba(148,168,190,0.4);box-shadow:0 16px 48px rgba(148,168,190,0.1);}
/* Icon box */
.pillar-icon{
  width:60px;height:60px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.8rem;flex-shrink:0;
}
.pillar-icon.protect{background:rgba(36,114,204,0.12);border:1px solid rgba(36,114,204,0.25);}
.pillar-icon.detect{background:rgba(200,168,75,0.1);border:1px solid rgba(200,168,75,0.25);}
.pillar-icon.secure{background:rgba(148,168,190,0.1);border:1px solid rgba(148,168,190,0.2);}
/* Tag */
.pillar-tag{
  font-size:0.6rem;font-weight:700;letter-spacing:0.2em;
  text-transform:uppercase;margin-bottom:0.5rem;display:block;
}
.tag-protect{color:#2472cc;}
.tag-detect{color:#c8a84b;}
.tag-secure{color:#94a8be;}
/* Title */
.pillar-title{
  font-size:1.35rem;font-weight:900;color:var(--white);
  font-family:'Rajdhani',sans-serif;margin-bottom:0.25rem;letter-spacing:0.01em;
}
/* Subtitle */
.pillar-subtitle{
  font-size:0.68rem;font-weight:700;letter-spacing:0.14em;
  text-transform:uppercase;margin-bottom:1.2rem;
}
.pillar-card:nth-child(1) .pillar-subtitle{color:#2472cc;}
.pillar-card:nth-child(2) .pillar-subtitle{color:#c8a84b;}
.pillar-card:nth-child(3) .pillar-subtitle{color:#94a8be;}
/* Description */
.pillar-desc{
  font-size:0.84rem;color:var(--gray-light);line-height:1.85;
  flex:1;margin-bottom:2rem;
}
/* CTA link */
.pillar-cta{
  display:inline-flex;align-items:center;gap:0.45rem;
  font-size:0.72rem;font-weight:700;letter-spacing:0.1em;
  text-transform:uppercase;transition:gap 0.25s ease;
}
.cta-protect{color:#2472cc;}
.cta-detect{color:#c8a84b;}
.cta-secure{color:#94a8be;}
.pillar-card:hover .pillar-cta{gap:0.75rem;}
@media(max-width:900px){.pillar-grid{grid-template-columns:1fr;}}
@media(max-width:900px){.pillar-grid-detect{grid-template-columns:1fr!important;}}

/* ============================================================
   ANIMATED COMMAND CTA
   ============================================================ */
.cta-animated{
  position:relative;overflow:hidden;
  background:var(--dark);
  border-top:1px solid rgba(36,114,204,0.35);
  padding:5rem 0;
}
.cta-bg-grid{
  position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle,rgba(36,114,204,0.16) 1px,transparent 1px);
  background-size:36px 36px;
  animation:ctaGridPulse 5s ease-in-out infinite alternate;
}
@keyframes ctaGridPulse{from{opacity:0.3;}to{opacity:0.75;}}
.cta-bg-glow{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 20% 50%,rgba(36,114,204,0.22) 0%,transparent 55%),
    radial-gradient(ellipse at 80% 50%,rgba(200,168,75,0.07) 0%,transparent 50%);
}
.cta-scanline{
  position:absolute;left:0;right:0;height:1px;pointer-events:none;z-index:2;
  background:linear-gradient(90deg,transparent 0%,rgba(36,114,204,0.6) 30%,#2472cc 50%,rgba(36,114,204,0.6) 70%,transparent 100%);
  box-shadow:0 0 12px rgba(36,114,204,0.55);
  animation:ctaScan 5s linear infinite;
}
@keyframes ctaScan{
  0%{top:-1px;opacity:0;}8%{opacity:1;}90%{opacity:1;}100%{top:100%;opacity:0;}
}
.cta-corner{
  position:absolute;width:22px;height:22px;pointer-events:none;z-index:3;
  border-color:rgba(36,114,204,0.7);border-style:solid;
}
.cta-tl{top:16px;left:16px;border-width:2px 0 0 2px;animation:ctaCorner 3s ease-in-out infinite;}
.cta-tr{top:16px;right:16px;border-width:2px 2px 0 0;animation:ctaCorner 3s ease-in-out infinite 0.75s;}
.cta-bl{bottom:16px;left:16px;border-width:0 0 2px 2px;animation:ctaCorner 3s ease-in-out infinite 1.5s;}
.cta-br{bottom:16px;right:16px;border-width:0 2px 2px 0;animation:ctaCorner 3s ease-in-out infinite 2.25s;}
@keyframes ctaCorner{0%,100%{opacity:0.4;}50%{opacity:1;}}
.cta-animated-wrap{
  position:relative;z-index:4;
  display:grid;grid-template-columns:220px 1fr;
  gap:4rem;align-items:center;
  max-width:var(--max-w);margin:0 auto;padding:0 2rem;
}
.cta-radar-box{position:relative;width:200px;height:200px;}
.cta-radar-box svg{width:100%;height:100%;}
.cta-sweep-arm{transform-origin:100px 100px;animation:ctaSweep 4s linear infinite;}
@keyframes ctaSweep{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.cta-ring-a,.cta-ring-b,.cta-ring-c{transform-origin:100px 100px;}
.cta-ring-a{animation:ctaRing 3s ease-out infinite;}
.cta-ring-b{animation:ctaRing 3s ease-out infinite 1s;}
.cta-ring-c{animation:ctaRing 3s ease-out infinite 2s;}
@keyframes ctaRing{0%{opacity:0.7;transform:scale(0.3);}100%{opacity:0;transform:scale(1.15);}}
.cta-blip-a{animation:ctaBlip 4s ease-in-out infinite;}
.cta-blip-b{animation:ctaBlip 4s ease-in-out infinite 1.6s;}
.cta-blip-c{animation:ctaBlip 4s ease-in-out infinite 2.9s;}
@keyframes ctaBlip{0%,12%,100%{opacity:0;}18%,65%{opacity:1;}85%{opacity:0.2;}}
.cta-cmd-label{
  font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:0.2em;
  color:var(--blue-2);margin-bottom:0.75rem;
  display:flex;align-items:center;gap:0.5rem;
}
.cta-cmd-label::before{content:'';display:inline-block;width:18px;height:1px;background:var(--blue-2);}
.cta-cmd-title{
  font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:900;
  line-height:1.1;color:var(--white);
  font-family:'Rajdhani',sans-serif;margin-bottom:1rem;
}
.cta-cmd-desc{font-size:0.92rem;color:var(--gray-light);line-height:1.85;max-width:540px;margin-bottom:2rem;}
.cta-cmd-btns{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}
.cta-online{
  display:flex;align-items:center;gap:0.5rem;
  font-size:0.62rem;color:var(--gray-light);text-transform:uppercase;
  letter-spacing:0.12em;margin-top:1.5rem;
}
.cta-online-dot{
  width:6px;height:6px;border-radius:50%;background:#22c55e;flex-shrink:0;
  animation:ctaOnline 2s ease-in-out infinite;
}
@keyframes ctaOnline{
  0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(34,197,94,0.5);}
  50%{opacity:0.7;box-shadow:0 0 0 5px rgba(34,197,94,0);}
}
.btn-cmd{animation:ctaBtnPulse 3s ease-in-out infinite;}
@keyframes ctaBtnPulse{
  0%,100%{box-shadow:0 4px 20px rgba(36,114,204,0.3);}
  50%{box-shadow:0 4px 28px rgba(36,114,204,0.65),0 0 0 8px rgba(36,114,204,0);}
}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .hero-content{position:relative;width:100%;padding:100px 2rem 60px;min-height:100vh;}
  .hero-right{display:none;}
  .about-grid{grid-template-columns:1fr;}
  .cap-grid{grid-template-columns:1fr;}
  .sector-grid{grid-template-columns:1fr 1fr;}
  .auth-grid{grid-template-columns:1fr;}
  .testi-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .stats-bar-inner{grid-template-columns:repeat(2,1fr);gap:0;}
  .stats-bar-item{border-bottom:1px solid var(--border);}
  .stats-bar-item:nth-child(3),.stats-bar-item:nth-child(4){border-bottom:none;}
  .contact-grid{grid-template-columns:1fr;}
  .product-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .nav-menu,.nav-cta{display:none;}
  .hamburger{display:flex;}
  .nav-inner{height:68px;}
  .hero-content{padding:90px 1.2rem 50px;}
  .hero-title{font-size:2rem;}
  .testi-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .section-pad{padding:70px 0;}
  .cta-btns{flex-direction:column;align-items:center;}
}
@media(max-width:480px){
  .container{padding:0 1rem;}
  .section-pad{padding:56px 0;}
  .hero-title{font-size:1.75rem;}
  .hero-actions{flex-direction:column;}
  .hero-actions .btn{width:100%;justify-content:center;}
  .sector-grid{grid-template-columns:1fr 1fr;}
  .footer-bottom-inner{flex-direction:column;text-align:center;}
  .footer-legal{flex-direction:column;gap:0.4rem;align-items:center;}
  .form-grid{grid-template-columns:1fr;}
  .product-grid[style]{grid-template-columns:1fr!important;}
  .product-grid{grid-template-columns:1fr;}
  .stats-bar-inner{grid-template-columns:1fr 1fr;}
  .stats-bar-item:nth-child(3){border-bottom:1px solid var(--border);}
  .cta-btns .btn{width:100%;justify-content:center;}
  div[style*="grid-template-columns:repeat(5,1fr)"],
  div[style*="grid-template-columns:repeat(4,1fr)"]{
    grid-template-columns:repeat(2,1fr)!important;
  }
  div[style*="grid-template-columns:repeat(5,1fr)"] > *:last-child:nth-child(odd),
  div[style*="grid-template-columns:repeat(4,1fr)"] > *:last-child:nth-child(odd){
    grid-column:span 2;
  }
  div[style*="grid-template-columns:repeat(3,1fr);gap:1px"]{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:380px){
  div[style*="grid-template-columns:repeat(5,1fr)"],
  div[style*="grid-template-columns:repeat(4,1fr)"]{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:360px){
  .logo-name{font-size:0.88rem;}
  .logo-sub{display:none;}
  .hero-title{font-size:1.5rem;}
}
@media(max-width:900px){
  .cta-animated-wrap{grid-template-columns:1fr;text-align:center;gap:2rem;}
  .cta-radar-box{margin:0 auto;width:150px;height:150px;}
  .cta-cmd-label{justify-content:center;}
  .cta-cmd-btns{justify-content:center;}
  .cta-online{justify-content:center;}
  .cta-tl,.cta-tr,.cta-bl,.cta-br{display:none;}
}
@media(max-width:480px){
  .cta-animated{padding:3.5rem 0;}
  .cta-radar-box{width:120px;height:120px;}
  .cta-cmd-btns .btn{width:100%;justify-content:center;}
}

/* ---------- Lead capture popup ---------- */
.lead-popup{
  position:fixed;
  bottom:24px;
  right:24px;
  width:340px;
  max-width:90vw;
  z-index:9999;
  transform:translateY(40px) scale(0.96);
  opacity:0;
  pointer-events:none;
  transition:transform 0.4s ease, opacity 0.4s ease;
}
.lead-popup.show{
  transform:translateY(0) scale(1);
  opacity:1;
  pointer-events:auto;
}
.lead-popup-card{
  background:var(--navy-mid);
  border:1px solid var(--border-2);
  border-radius:var(--radius-lg);
  padding:1.5rem;
  box-shadow:0 16px 48px rgba(0,0,0,0.55);
  position:relative;
}
.lead-popup-close{
  position:absolute;
  top:10px;
  right:12px;
  background:none;
  border:none;
  color:var(--gray-light);
  font-size:1.4rem;
  line-height:1;
  cursor:pointer;
  padding:4px;
}
.lead-popup-close:hover{color:var(--white);}
.lead-popup-title{
  font-size:1.05rem;
  font-weight:700;
  color:var(--white);
  margin-bottom:0.4rem;
  padding-right:1.2rem;
}
.lead-popup-desc{
  font-size:0.8rem;
  color:var(--gray-light);
  line-height:1.55;
  margin-bottom:1.1rem;
}
.lead-popup-form{
  display:flex;
  flex-direction:column;
  gap:0.6rem;
}
.lead-popup-form input{
  background:rgba(255,255,255,0.05);
  border:1px solid var(--border-2);
  border-radius:var(--radius);
  padding:0.65rem 0.8rem;
  color:var(--white);
  font-size:0.85rem;
  font-family:inherit;
  width:100%;
}
.lead-popup-form input::placeholder{color:var(--gray);}
.lead-popup-form input:focus{outline:none;border-color:var(--blue-2);}
.lead-popup-form button[type="submit"]{
  margin-top:0.2rem;
  width:100%;
  justify-content:center;
}
.lead-popup-status{
  font-size:0.78rem;
  margin-top:0.7rem;
  min-height:1em;
}
.lead-popup-status.success{color:#00d98c;}
.lead-popup-status.error{color:#ff5050;}
@media(max-width:520px){
  .lead-popup{right:12px;bottom:12px;left:12px;width:auto;}
}

/* ---------- AI chat widget ---------- */
.chat-widget{position:fixed;bottom:24px;left:24px;z-index:9998;}
.chat-toggle{
  width:56px;height:56px;border-radius:50%;
  background:var(--blue-2);color:var(--white);border:none;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 8px 24px rgba(36,114,204,0.4);
  transition:var(--transition);
}
.chat-toggle:hover{transform:scale(1.06);}
.chat-panel{
  position:absolute;bottom:70px;left:0;
  width:340px;max-width:90vw;height:460px;max-height:70vh;
  background:var(--navy-mid);border:1px solid var(--border-2);
  border-radius:var(--radius-lg);
  box-shadow:0 16px 48px rgba(0,0,0,0.55);
  display:flex;flex-direction:column;overflow:hidden;
  opacity:0;transform:translateY(16px) scale(0.97);
  pointer-events:none;
  transition:opacity 0.25s ease,transform 0.25s ease;
}
.chat-panel.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.chat-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 1.1rem;border-bottom:1px solid var(--border);
  background:rgba(255,255,255,0.02);flex-shrink:0;
}
.chat-header-title{font-weight:700;color:var(--white);font-size:0.92rem;}
.chat-header-sub{font-size:0.72rem;color:var(--gray-light);margin-top:2px;}
.chat-close{background:none;border:none;color:var(--gray-light);font-size:1.4rem;cursor:pointer;line-height:1;padding:4px;}
.chat-close:hover{color:var(--white);}
.chat-messages{
  flex:1;overflow-y:auto;padding:1rem;
  display:flex;flex-direction:column;gap:0.7rem;
}
.chat-msg{
  font-size:0.85rem;line-height:1.5;padding:0.6rem 0.85rem;
  border-radius:var(--radius);max-width:85%;white-space:pre-wrap;
}
.chat-msg-bot{
  background:rgba(255,255,255,0.06);color:var(--gray-light);
  align-self:flex-start;border-bottom-left-radius:2px;
}
.chat-msg-user{
  background:var(--blue-2);color:var(--white);
  align-self:flex-end;border-bottom-right-radius:2px;
}
.chat-msg-typing{display:flex;gap:4px;align-items:center;padding:0.7rem 0.9rem;}
.chat-msg-typing span{width:6px;height:6px;border-radius:50%;background:var(--gray-light);animation:chat-typing 1.2s infinite ease-in-out;}
.chat-msg-typing span:nth-child(2){animation-delay:0.2s;}
.chat-msg-typing span:nth-child(3){animation-delay:0.4s;}
@keyframes chat-typing{0%,60%,100%{opacity:0.3;transform:translateY(0);}30%{opacity:1;transform:translateY(-3px);}}
.chat-form{
  display:flex;gap:0.5rem;padding:0.8rem;border-top:1px solid var(--border);flex-shrink:0;
}
.chat-form input{
  flex:1;background:rgba(255,255,255,0.05);border:1px solid var(--border-2);
  border-radius:var(--radius);padding:0.6rem 0.8rem;color:var(--white);
  font-size:0.85rem;font-family:inherit;min-width:0;
}
.chat-form input::placeholder{color:var(--gray);}
.chat-form input:focus{outline:none;border-color:var(--blue-2);}
.chat-form button{
  background:var(--blue-2);border:none;border-radius:var(--radius);
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  color:var(--white);cursor:pointer;flex-shrink:0;
}
.chat-form button:hover{background:var(--blue);}
.chat-form button:disabled{opacity:0.5;cursor:not-allowed;}
@media(max-width:520px){
  .chat-widget{left:12px;bottom:12px;}
  .chat-panel{width:calc(100vw - 24px);}
}

/* ---------- Soro blog embed — themed to match the site ---------- */
#soro-blog .soro-blog{
  font-family:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;
  background:transparent;
  color:var(--white);
  max-width:100%;
}
#soro-blog .soro-blog-back{
  background:var(--surface-2);
  border:1px solid var(--border-2);
  color:var(--gray-light);
  border-radius:var(--radius);
}
#soro-blog .soro-blog-back:hover{
  background:var(--surface-3);
  border-color:var(--blue-2);
}
#soro-blog .soro-blog-card{
  background:var(--surface);
  border:1px solid var(--border-2);
  border-radius:var(--radius-lg);
}
#soro-blog .soro-blog-card:hover{
  border-color:var(--blue-2);
  box-shadow:0 8px 24px rgba(0,0,0,0.35);
}
#soro-blog .soro-blog-card-title,
#soro-blog h2.soro-blog-card-title,
#soro-blog .soro-blog-article-title{
  font-family:'Rajdhani','IBM Plex Sans',sans-serif;
  font-weight:700;
  color:var(--white);
}
#soro-blog .soro-blog-card-excerpt{color:var(--gray-light);}
#soro-blog .soro-blog-card-date,
#soro-blog .soro-blog-article-date{color:var(--gray);}
#soro-blog .soro-blog-article-content{
  color:var(--gray-light);
  font-family:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;
}
#soro-blog .soro-blog-article-content h1,
#soro-blog .soro-blog-article-content h2,
#soro-blog .soro-blog-article-content h3{
  font-family:'Rajdhani','IBM Plex Sans',sans-serif;
  color:var(--white);
}
#soro-blog .soro-blog-article-content a{color:var(--blue-2);}
#soro-blog .soro-blog-empty,
#soro-blog .soro-blog-loading{color:var(--gray-light);}
#soro-blog .soro-blog-spinner{
  border:2px solid var(--border-2);
  border-top-color:var(--blue-2);
}
#soro-blog .soro-blog-error{color:#ff5050;}
#soro-blog{ min-height:520px; }

/* ---------- FAQ accordion (detect.html) ---------- */
.faq-item{
  background:var(--surface);
  border:none;
}
.faq-item+.faq-item{ border-top:1px solid var(--border); }
.faq-q{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1.35rem 1.6rem;
  font-family:'Rajdhani','IBM Plex Sans',sans-serif;
  font-size:1.05rem;
  font-weight:700;
  color:var(--white);
  cursor:pointer;
  list-style:none;
  transition:background 0.2s;
}
.faq-q::-webkit-details-marker{ display:none; }
.faq-q::after{
  content:'';
  flex-shrink:0;
  width:18px;
  height:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23c8a84b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat center/contain;
  transition:transform 0.25s ease;
}
.faq-item[open] .faq-q{ background:rgba(200,168,75,0.06); }
.faq-item[open] .faq-q::after{ transform:rotate(180deg); }
.faq-q:hover{ background:var(--surface-2); }
.faq-a{
  padding:0 1.6rem 1.4rem;
  color:var(--gray-light);
  font-size:0.92rem;
  line-height:1.8;
  border-top:1px solid var(--border);
}
#soro-blog .soro-blog-error{color:#ff5050;}
