/* =========================================================
   HACVIO Products CSS v1.0
   Dedicated stylesheet for the public Products page
   Load AFTER: HACVIO Global Core v1.0

   Included:
   - Products v2 page structure
   - Hero, categories, AI, industries, catalog and CTA
   - Premium polish and responsive rules
   - Final Featured Products cards
   - Product catalog section spacing

   Excluded:
   - Home-only .hc-* systems
   - Global header/footer rules
   - Deprecated old dynamic-grid card overrides
========================================================= */

/* =========================================================
   01. PRODUCTS PAGE ROOT
========================================================= */

.hv2-products{
  --p-blue:#2563eb;
  --p-cyan:#38bdf8;
  --p-navy:#07111f;
  --p-dark:#020617;
  --p-ink:#0f172a;
  --p-muted:#64748b;
  --p-soft:#f8fbff;
  --p-line:rgba(148,163,184,.24);

  width:100%;
  background:
    radial-gradient(circle at 12% 4%,rgba(37,99,235,.07),transparent 32%),
    radial-gradient(circle at 88% 10%,rgba(56,189,248,.08),transparent 34%),
    #fff;
  color:var(--p-ink);
  overflow:hidden;
}

.hv2-products *{
  box-sizing:border-box;
}

.hv2-products a{
  text-decoration:none!important;
}

.hv2-wrap{
  width:100%;
  max-width:1280px;
  margin-left:auto;
  margin-right:auto;
  padding-left:24px;
  padding-right:24px;
}

/* =========================================================
   02. SHARED ELEMENTS
========================================================= */

.hv2-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(37,99,235,.09);
  color:var(--p-blue);
  font-size:12px;
  font-weight:950;
  letter-spacing:1.1px;
  line-height:1;
  text-transform:uppercase;
}

.hv2-hero .hv2-pill,
.hv2-cta .hv2-pill{
  background:rgba(255,255,255,.08);
  color:var(--p-cyan);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(18px);
}

.hv2-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;

  min-height:56px;
  padding:0 30px;

  border-radius:16px;
  border:1px solid rgba(255,255,255,.26);

  background:linear-gradient(135deg,#2563eb,#38bdf8);
  color:#fff!important;

  font-size:15px;
  font-weight:950;
  letter-spacing:-.15px;

  box-shadow:
    0 22px 55px rgba(37,99,235,.32),
    inset 0 1px 0 rgba(255,255,255,.34);

  overflow:hidden;
  isolation:isolate;
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    box-shadow .24s cubic-bezier(.2,.8,.2,1),
    filter .24s cubic-bezier(.2,.8,.2,1);
}

.hv2-btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.32) 44%,transparent 70%);
  transform:translateX(-130%);
  transition:transform .8s cubic-bezier(.2,.8,.2,1);
}

.hv2-btn:hover{
  transform:translateY(-4px);
  filter:saturate(1.08);
  box-shadow:
    0 32px 80px rgba(37,99,235,.44),
    inset 0 1px 0 rgba(255,255,255,.42);
}

.hv2-btn:hover::before{
  transform:translateX(130%);
}

.hv2-btn.dark{
  background:#0f172a;
  box-shadow:0 20px 46px rgba(2,6,23,.28);
}

.hv2-btn.ghost{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  color:#fff!important;
  box-shadow:none;
  backdrop-filter:blur(18px);
}

.hv2-actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}

/* =========================================================
   03. PRODUCTS HERO
========================================================= */

.hv2-hero{
  padding:54px 0 76px;
}

.hv2-hero-box{
  position:relative;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:50px;
  align-items:center;

  min-height:590px;
  padding:76px;

  border-radius:44px;
  background:
    radial-gradient(circle at 82% 22%,rgba(56,189,248,.30),transparent 31%),
    radial-gradient(circle at 20% 95%,rgba(37,99,235,.22),transparent 36%),
    linear-gradient(135deg,#020617 0%,#07111f 54%,#0f2a48 100%);
  box-shadow:
    0 46px 115px rgba(15,23,42,.26),
    inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
  isolation:isolate;
}

.hv2-hero-box::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(circle at 76% 45%,#000,transparent 62%);
  pointer-events:none;
}

.hv2-hero-box::after{
  content:"";
  position:absolute;
  inset:auto -20% -45% 40%;
  height:420px;
  z-index:-1;
  background:radial-gradient(circle,rgba(56,189,248,.22),transparent 65%);
  filter:blur(20px);
}

.hv2-hero-copy,
.hv2-hero-visual{
  position:relative;
  z-index:2;
}

.hv2-hero h1{
  margin:22px 0 22px;
  color:#fff!important;
  font-size:clamp(54px,6vw,94px);
  line-height:.95;
  letter-spacing:-4px;
  font-weight:950;
}

.hv2-hero p{
  max-width:650px;
  margin:0 0 34px;
  color:#cbd5e1!important;
  font-size:19px;
  line-height:1.85;
}

.hv2-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  max-width:620px;
  margin-top:46px;
}

.hv2-metric{
  padding:18px;
  border-radius:20px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(18px);
}

.hv2-metric strong{
  display:block;
  margin-bottom:8px;
  color:#fff;
  font-size:28px;
  line-height:1;
  font-weight:950;
}

.hv2-metric span{
  color:#94a3b8;
  font-size:13px;
  font-weight:800;
}

/* =========================================================
   04. HERO DEVICE VISUAL
========================================================= */

.hv2-orbit{
  position:relative;
  min-height:440px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.hv2-glow{
  position:absolute;
  width:430px;
  height:430px;
  border-radius:50%;
  background:
    radial-gradient(circle,#38bdf8 0%,rgba(37,99,235,.34) 36%,transparent 68%);
  filter:blur(8px);
  opacity:.76;
  animation:hvPulse 4.4s cubic-bezier(.2,.8,.2,1) infinite;
}

.hv2-orbit::before,
.hv2-orbit::after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
}

.hv2-orbit::before{
  width:420px;
  height:420px;
}

.hv2-orbit::after{
  width:300px;
  height:300px;
}

.hv2-camera-mock{
    position:relative;
    width:450px;
    display:flex;
    align-items:center;
    justify-content:center;
    animation:hv2Float 7s ease-in-out infinite;
    z-index:3;
}

.hv2-camera-mock img{
    width:100%;
    height:auto;
    display:block;
    filter:
        drop-shadow(0 25px 40px rgba(30,100,255,.20))
        drop-shadow(0 0 30px rgba(70,160,255,.18));
}



.hv2-camera-mock::after{
  content:"HACVIO";
  position:absolute;
  bottom:54px;
  color:#2563eb;
  font-size:14px;
  font-weight:950;
  letter-spacing:2px;
}

.hv2-device{
  position:absolute;
  z-index:5;
  padding:18px 20px;
  border-radius:20px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  backdrop-filter:blur(20px);
  box-shadow:0 28px 65px rgba(0,0,0,.28);
}/* HERO IMAGE DESKTOP SIZE */
@media (min-width:1201px){

.hv2-hero-visual{
    transform:translateX(6px) scale(.88) !important;
    transform-origin:center;
}

.hv2-orbit{
    transform:scale(.92) !important;
}

}

.hv2-device.one{
  right:0;
  top:40px;
}

.hv2-device.two{
  left:0;
  bottom:46px;
}

.hv2-device b{
  display:block;
  color:#38bdf8;
  margin-bottom:5px;
  font-size:12px;
  font-weight:950;
  letter-spacing:.8px;
}

.hv2-device span{
  color:#fff;
  font-size:14px;
}

/* =========================================================
   05. SECTION HEADERS
========================================================= */

.hv2-section{
  padding:78px 0;
}

.hv2-head{
  display:flex;
  justify-content:space-between;
  gap:32px;
  align-items:flex-end;
  margin-bottom:38px;
}

.hv2-head h2{
  margin:14px 0 0;
  font-size:clamp(38px,4.4vw,64px);
  line-height:1;
  letter-spacing:-2.2px;
  color:#0f172a!important;
  font-weight:950;
}

.hv2-head p{
  max-width:650px;
  margin:0;
  color:#64748b;
  font-size:17px;
  line-height:1.8;
}

/* =========================================================
   06. CATEGORY CARDS
========================================================= */

.hv2-cat-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

.hv2-cat{
  position:relative;
  min-height:290px;
  padding:30px;
  border-radius:32px;
  background:
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid rgba(148,163,184,.24);
  box-shadow:
    0 25px 80px rgba(15,23,42,.075),
    inset 0 1px 0 rgba(255,255,255,.88);
  overflow:hidden;
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    box-shadow .32s cubic-bezier(.2,.8,.2,1),
    border-color .32s cubic-bezier(.2,.8,.2,1);
}

.hv2-cat::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 100% 0%,rgba(37,99,235,.16),transparent 44%);
  opacity:0;
  transition:opacity .32s cubic-bezier(.2,.8,.2,1);
}

.hv2-cat:hover{
  transform:translateY(-10px);
  border-color:rgba(37,99,235,.38);
  box-shadow:0 38px 95px rgba(37,99,235,.15);
}

.hv2-cat:hover::before{
  opacity:1;
}

.hv2-num{
  position:relative;
  z-index:2;
  display:inline-flex;
  width:56px;
  height:56px;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:linear-gradient(135deg,#2563eb,#38bdf8);
  color:#fff;
  font-weight:950;
  box-shadow:0 18px 38px rgba(37,99,235,.33);
}

.hv2-cat h3{
  position:relative;
  z-index:2;
  margin:34px 0 14px;
  color:#0f172a;
  font-size:24px;
  line-height:1.18;
  font-weight:950;
}

.hv2-cat p{
  position:relative;
  z-index:2;
  color:#64748b;
  line-height:1.75;
}

.hv2-arrow{
  position:absolute;
  right:24px;
  bottom:24px;
  z-index:2;
  width:46px;
  height:46px;
  border-radius:50%;
  background:#fff;
  color:#2563eb;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 30px rgba(15,23,42,.12);
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    background .28s cubic-bezier(.2,.8,.2,1),
    color .28s cubic-bezier(.2,.8,.2,1);
}

.hv2-cat:hover .hv2-arrow{
  transform:translateX(4px);
  background:#2563eb;
  color:#fff;
}

/* =========================================================
   07. FEATURED PRODUCT CARDS
========================================================= */

.hv2-products-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.hv2-product-card{
  position:relative;
  padding:28px;
  border-radius:36px;
  background:#fff;
  border:1px solid rgba(148,163,184,.24);
  box-shadow:
    0 28px 80px rgba(15,23,42,.08),
    inset 0 1px 0 rgba(255,255,255,.9);
  overflow:hidden;
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    box-shadow .32s cubic-bezier(.2,.8,.2,1);
}

.hv2-product-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 100% 0%,rgba(56,189,248,.16),transparent 42%);
  opacity:0;
  transition:opacity .32s cubic-bezier(.2,.8,.2,1);
}

.hv2-product-card:hover{
  transform:translateY(-10px);
  box-shadow:0 42px 100px rgba(37,99,235,.16);
}

.hv2-product-card:hover::before{
  opacity:1;
}

.hv2-product-visual{
  position:relative;
  height:320px;
  margin-bottom:24px;
  border-radius:28px;
  background:
    radial-gradient(circle at center,rgba(56,189,248,.26),transparent 38%),
    linear-gradient(135deg,#eef6ff,#dbeafe);
  overflow:hidden;
}

.hv2-product-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,transparent,rgba(255,255,255,.32),transparent);
  transform:translateX(-130%);
  transition:transform .85s cubic-bezier(.2,.8,.2,1);
}

.hv2-product-card:hover .hv2-product-visual::before{
  transform:translateX(130%);
}

.hv2-product-visual::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:154px;
  height:154px;
  transform:translate(-50%,-50%);
  border-radius:32px;
  background:linear-gradient(180deg,#fff,#dbeafe);
  box-shadow:0 28px 55px rgba(15,23,42,.18);
}

.hv2-tag{
  display:inline-flex;
  position:relative;
  z-index:2;
  padding:7px 13px;
  border-radius:999px;
  background:#eff6ff;
  color:#2563eb;
  font-size:12px;
  font-weight:950;
  margin-bottom:16px;
}

.hv2-product-card h3{
  position:relative;
  z-index:2;
  margin:0 0 14px;
  color:#0f172a;
  font-size:26px;
  line-height:1.18;
  font-weight:950;
}

.hv2-product-card p{
  position:relative;
  z-index:2;
  margin-bottom:24px;
  color:#64748b;
  line-height:1.75;
}

.hv2-product-card .hv2-btn{
  position:relative;
  z-index:2;
}

/* =========================================================
   08. AI SECTION
========================================================= */

.hv2-ai{
  padding:86px 0;
}

.hv2-ai-box{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:52px;
  align-items:center;
  padding:64px;
  border-radius:44px;
  background:
    radial-gradient(circle at 18% 50%,rgba(56,189,248,.12),transparent 34%),
    linear-gradient(135deg,#ffffff,#f8fbff);
  border:1px solid rgba(148,163,184,.22);
  box-shadow:
    0 34px 90px rgba(15,23,42,.08),
    inset 0 1px 0 rgba(255,255,255,.9);
  overflow:hidden;
}

.hv2-ai-visual{
  position:relative;
  min-height:420px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle,rgba(56,189,248,.18),transparent 56%);
}

.hv2-ai-camera{
  position:relative;
  width:255px;
  height:310px;
  border-radius:36px;
  background:linear-gradient(180deg,#fff,#eaf2ff);
  box-shadow:
    0 36px 86px rgba(15,23,42,.22),
    inset 0 1px 0 rgba(255,255,255,.9);
  animation:hvFloat 5.6s cubic-bezier(.2,.8,.2,1) infinite;
}

.hv2-ai-camera::before{
  content:"";
  position:absolute;
  left:50%;
  top:58px;
  transform:translateX(-50%);
  width:132px;
  height:132px;
  border-radius:50%;
  background:
    radial-gradient(circle,#38bdf8 0 8%,#020617 9% 45%,#111827 46% 100%);
  box-shadow:
    inset 0 0 0 14px #f8fbff,
    0 20px 50px rgba(15,23,42,.18);
}

.hv2-ai h2{
  margin:16px 0;
  color:#0f172a!important;
  font-size:clamp(40px,4vw,64px);
  line-height:1.04;
  letter-spacing:-2px;
  font-weight:950;
}

.hv2-ai p{
  color:#64748b;
  line-height:1.85;
  font-size:17px;
}

.hv2-feature-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  margin:30px 0;
}

.hv2-feature{
  padding:18px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(148,163,184,.18);
  box-shadow:0 18px 45px rgba(15,23,42,.05);
}

.hv2-feature b{
  display:block;
  margin-bottom:6px;
  color:#0f172a;
  font-weight:950;
}

.hv2-feature span{
  color:#64748b;
  font-size:14px;
  line-height:1.6;
}

/* =========================================================
   09. INDUSTRIES
========================================================= */

.hv2-industry-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

.hv2-industry{
  min-height:238px;
  padding:30px;
  border-radius:32px;
  background:#fff;
  border:1px solid rgba(148,163,184,.24);
  box-shadow:
    0 24px 70px rgba(15,23,42,.075),
    inset 0 1px 0 rgba(255,255,255,.9);
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    box-shadow .32s cubic-bezier(.2,.8,.2,1);
}

.hv2-industry:hover{
  transform:translateY(-8px);
  box-shadow:0 36px 88px rgba(37,99,235,.13);
}

.hv2-industry i{
  display:flex;
  width:56px;
  height:56px;
  align-items:center;
  justify-content:center;
  margin-bottom:26px;
  border-radius:18px;
  background:#eff6ff;
  color:#2563eb;
  font-style:normal;
  font-size:26px;
}

.hv2-industry h3{
  margin:0 0 12px;
  color:#0f172a;
  font-size:25px;
  line-height:1.15;
  font-weight:950;
}

.hv2-industry p{
  color:#64748b;
  line-height:1.75;
}

/* =========================================================
   10. CATALOG SECTION
========================================================= */

.hv2-catalog{
  padding:90px 0;
}

.hv2-catalog-box{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:50px;
  align-items:center;
  padding:72px;
  border-radius:44px;
  background:
    radial-gradient(circle at 20% 50%,rgba(56,189,248,.16),transparent 34%),
    linear-gradient(135deg,#ffffff,#eef6ff);
  border:1px solid rgba(148,163,184,.22);
  box-shadow:
    0 34px 90px rgba(15,23,42,.08),
    inset 0 1px 0 rgba(255,255,255,.9);
}

.hv2-catalog-img{
  position:relative;
  height:310px;
  border-radius:32px;
  background:radial-gradient(circle,rgba(56,189,248,.25),transparent 56%);
}

.hv2-catalog-img::after{
  content:"CATALOG";
  position:absolute;
  inset:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:28px;
  background:#fff;
  color:#2563eb;
  font-weight:950;
  letter-spacing:2px;
  box-shadow:0 30px 70px rgba(15,23,42,.12);
}

.hv2-catalog h2{
  margin:16px 0;
  color:#0f172a!important;
  font-size:clamp(42px,5vw,68px);
  line-height:1.02;
  letter-spacing:-2.5px;
  font-weight:950;
}

.hv2-catalog p{
  color:#64748b;
  font-size:17px;
  line-height:1.8;
  margin-bottom:28px;
}

/* =========================================================
   11. FINAL CTA
========================================================= */

.hv2-cta{
  padding:80px 0 110px;
}

.hv2-cta-box{
  position:relative;
  overflow:hidden;
  padding:74px;
  border-radius:44px;
  background:
    radial-gradient(circle at 88% 18%,rgba(56,189,248,.24),transparent 32%),
    linear-gradient(135deg,#020617,#07111f 70%,#0f2a48);
  box-shadow:
    0 46px 115px rgba(15,23,42,.26),
    inset 0 1px 0 rgba(255,255,255,.08);
  isolation:isolate;
}

.hv2-cta-box::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,#000,transparent 80%);
  pointer-events:none;
}

.hv2-cta h2{
  margin:18px 0;
  max-width:860px;
  color:#fff!important;
  font-size:clamp(44px,5vw,74px);
  line-height:1.02;
  letter-spacing:-2.7px;
  font-weight:950;
}

.hv2-cta p{
  max-width:760px;
  margin-bottom:34px;
  color:#cbd5e1!important;
  font-size:18px;
  line-height:1.8;
}

/* =========================================================
   12. PRODUCTS RESPONSIVE
========================================================= */

@media(max-width:1100px){

  .hv2-hero-box,
  .hv2-ai-box,
  .hv2-catalog-box{
    grid-template-columns:1fr;
  }

  .hv2-cat-grid,
  .hv2-industry-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .hv2-products-grid{
    grid-template-columns:1fr;
  }

  .hv2-head{
    display:block;
  }

  .hv2-head p{
    margin-top:18px;
  }
}

@media(max-width:768px){

  .hv2-wrap{
    padding-left:18px;
    padding-right:18px;
  }

  .hv2-hero{
    padding-top:32px;
    padding-bottom:58px;
  }

  .hv2-hero-box,
  .hv2-ai-box,
  .hv2-catalog-box,
  .hv2-cta-box{
    padding:34px 24px;
    border-radius:30px;
  }

  .hv2-hero h1{
    font-size:42px;
    letter-spacing:-2px;
  }

  .hv2-hero p,
  .hv2-cta p{
    font-size:16px;
  }

  .hv2-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .hv2-metrics{
    grid-template-columns:1fr;
  }

  .hv2-orbit{
    min-height:320px;
  }

  .hv2-glow{
    width:300px;
    height:300px;
  }

  .hv2-orbit::before{
    width:300px;
    height:300px;
  }

  .hv2-orbit::after{
    width:220px;
    height:220px;
  }

  .hv2-camera-mock{
    width:220px;
    height:280px;
  }

  .hv2-camera-mock::before{
    width:112px;
    height:112px;
  }

  .hv2-device{
    position:relative;
    inset:auto!important;
    width:100%;
    margin-top:12px;
  }

  .hv2-cat-grid,
  .hv2-industry-grid,
  .hv2-feature-list{
    grid-template-columns:1fr;
  }

  .hv2-section{
    padding:62px 0;
  }

  .hv2-product-visual{
    height:260px;
  }

  .hv2-ai-visual{
    min-height:300px;
  }

  .hv2-catalog-img{
    height:240px;
  }

  .hv2-catalog-img::after{
    inset:34px;
  }
}

/* =========================================================
   HACVIO Framework v3.0
   File 04 / 04 — Global Polish & Compatibility
   Final polish, legacy compatibility and responsive safety
========================================================= */



/* =========================================================
   PRODUCTS LEGACY ISOLATION / FINAL SAFETY
========================================================= */

/* =========================================================
   10. FINAL SAFETY OVERRIDES
========================================================= */

/* Avoid accidental old Products styles if they remain somewhere */
.hc-products-hero,
.hc-products-wrap,
.hc-product-grid,
.hc-product-card,
.hc-product-category-grid,
.hc-product-category-card,
.hc-ai-section,
.hc-products-industries,
.hc-download-band,
.hc-products-cta{
  all:unset;
}

/* Restore HTML layout display after unset only if old blocks still exist */
.hc-products-hero,
.hc-products-wrap,
.hc-ai-section,
.hc-products-industries,
.hc-download-band,
.hc-products-cta{
  display:block;
}

/* Ensure new Products v2 owns the page */
.hv2-products{
  display:block!important;
}


/* ===========================================================
   HACVIO PRODUCTS PREMIUM POLISH V1
   Corporate Design System
   =========================================================== */
/* ===========================================================
   PHASE A / 01 — HERO PREMIUM 4K
=========================================================== */

.hv2-hero{
  padding:72px 0 96px !important;
}

.hv2-hero-box{
  min-height:650px !important;
  padding:86px !important;
  border-radius:48px !important;
  background:
    radial-gradient(circle at 82% 20%, rgba(56,189,248,.34), transparent 30%),
    radial-gradient(circle at 18% 92%, rgba(37,99,235,.25), transparent 34%),
    linear-gradient(135deg,#020617 0%,#07111f 52%,#0b2742 100%) !important;
  box-shadow:
    0 55px 130px rgba(2,6,23,.34),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.hv2-hero-box::before{
  opacity:.75 !important;
  background-size:38px 38px !important;
}

.hv2-hero h1{
  max-width:760px !important;
  font-size:clamp(58px,6.4vw,104px) !important;
  line-height:.92 !important;
  letter-spacing:-4.8px !important;
  text-shadow:0 24px 80px rgba(0,0,0,.28);
}

.hv2-hero p{
  max-width:690px !important;
  font-size:20px !important;
  line-height:1.9 !important;
  color:#d7e3f3 !important;
}

.hv2-hero .hv2-pill{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

.hv2-hero .hv2-actions{
  margin-top:6px !important;
}

.hv2-hero .hv2-btn{
  min-height:60px !important;
  padding:0 34px !important;
  border-radius:18px !important;
}

.hv2-metrics{
  margin-top:54px !important;
}

.hv2-metric{
  padding:22px !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.hv2-metric strong{
  font-size:32px !important;
}

.hv2-orbit{
  min-height:480px !important;
}

.hv2-glow{
  width:500px !important;
  height:500px !important;
  opacity:.86 !important;
  filter:blur(10px) !important;
}

.hv2-camera-mock{
  width:340px !important;
  height:395px !important;
  border-radius:44px !important;
  box-shadow:
    0 68px 130px rgba(0,0,0,.52),
    0 0 90px rgba(56,189,248,.16),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
}

.hv2-camera-mock::before{
  top:42px !important;
  width:170px !important;
  height:170px !important;
  box-shadow:
    inset 0 0 0 18px #eef6ff,
    0 28px 70px rgba(15,23,42,.34),
    0 0 45px rgba(56,189,248,.20) !important;
}

.hv2-camera-mock::after{
  bottom:58px !important;
  font-size:15px !important;
}

.hv2-device{
  border-radius:22px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.06)) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:
    0 30px 75px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.14) !important;
}

.hv2-device.one{
  right:-18px !important;
  top:54px !important;
}

.hv2-device.two{
  left:-18px !important;
  bottom:58px !important;
}

@media(max-width:1100px){
  .hv2-hero-box{
    padding:58px !important;
  }

  .hv2-hero h1{
    font-size:58px !important;
  }
}

@media(max-width:768px){
  .hv2-hero{
    padding:36px 0 64px !important;
  }

  .hv2-hero-box{
    min-height:auto !important;
    padding:36px 24px !important;
    border-radius:32px !important;
  }

  .hv2-hero h1{
    font-size:42px !important;
    letter-spacing:-2.2px !important;
  }

  .hv2-hero p{
    font-size:16px !important;
  }

  .hv2-device{
    right:auto !important;
    left:auto !important;
  }
}/* HERO SIZE BALANCE FIX */

.hv2-hero{
  padding:42px 0 72px !important;
}

.hv2-hero-box{
  min-height:560px !important;
  padding:64px 76px !important;
}

.hv2-hero h1{
  font-size:clamp(50px,5.2vw,82px) !important;
  line-height:.96 !important;
  letter-spacing:-3.8px !important;
  max-width:680px !important;
}

.hv2-hero p{
  font-size:18px !important;
  line-height:1.75 !important;
  max-width:620px !important;
}

.hv2-orbit{
  min-height:400px !important;
}

.hv2-camera-mock{
  width:300px !important;
  height:350px !important;
}

.hv2-camera-mock::before{
  width:145px !important;
  height:145px !important;
}/* HERO FINAL BALANCE */

.hv2-hero-box{
  min-height:520px !important;
  padding:56px 68px !important;
}

.hv2-hero h1{
  font-size:clamp(44px,4.7vw,68px) !important;
  line-height:.97 !important;
  letter-spacing:-3px !important;
  max-width:560px !important;
}

.hv2-hero p{
  font-size:16.5px !important;
  line-height:1.7 !important;
  max-width:560px !important;
}

.hv2-metrics{
  margin-top:38px !important;
}

.hv2-metric{
  padding:18px !important;
}

.hv2-metric strong{
  font-size:26px !important;
}

.hv2-orbit{
  min-height:360px !important;
}

.hv2-camera-mock{
  width:270px !important;
  height:320px !important;
}

.hv2-camera-mock::before{
  width:130px !important;
  height:130px !important;
}/* HERO FINAL VIEWPORT FIT */

.hv2-hero{
  padding:34px 0 56px !important;
}

.hv2-hero-box{
  min-height:500px !important;
  padding:50px 64px !important;
}

.hv2-hero h1{
  font-size:clamp(42px,4.3vw,62px) !important;
  line-height:1 !important;
  max-width:540px !important;
}

.hv2-hero p{
  font-size:16px !important;
  line-height:1.65 !important;
  max-width:540px !important;
}

.hv2-orbit{
  min-height:330px !important;
  transform:translateY(-8px) !important;
}

.hv2-camera-mock{
  width:245px !important;
  height:290px !important;
}

.hv2-camera-mock::before{
  width:118px !important;
  height:118px !important;
}

.hv2-device.one{
  right:-8px !important;
  top:44px !important;
}

.hv2-device.two{
  left:-8px !important;
  bottom:42px !important;
}

.hv2-metrics{
  margin-top:32px !important;
}

/* ===========================================================
   PHASE A / 02 — PREMIUM BUTTONS + HOVER ENGINE
=========================================================== */

.hv2-btn{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  transform:translateZ(0);
}

.hv2-btn::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,.24),
    rgba(255,255,255,0) 42%
  );
  opacity:.9;
  pointer-events:none;
  z-index:-1;
}

.hv2-btn:hover{
  transform:translateY(-5px) scale(1.015) !important;
}

.hv2-btn:active{
  transform:translateY(-1px) scale(.99) !important;
}

.hv2-btn.ghost{
  color:#fff !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.045)) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 18px 46px rgba(2,6,23,.22) !important;
}

.hv2-btn.ghost:hover{
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.07)) !important;
  border-color:rgba(56,189,248,.34) !important;
}

/* Category gap balance */
.hv2-hero + .hv2-section{
  padding-top:46px !important;
}

.hv2-head{
  margin-bottom:32px !important;
}

/* ===========================================================
   PHASE A / 02 — PREMIUM BUTTONS + HOVER ENGINE PRO
=========================================================== */

.hv2-btn{
  position:relative !important;
  min-height:58px !important;
  padding:0 32px !important;
  border-radius:18px !important;
  font-weight:950 !important;
  letter-spacing:-.2px !important;
  background:
    linear-gradient(135deg,#2563eb 0%,#2f8df5 48%,#38bdf8 100%) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  box-shadow:
    0 18px 38px rgba(37,99,235,.28),
    0 8px 18px rgba(2,6,23,.14),
    inset 0 1px 0 rgba(255,255,255,.40),
    inset 0 -10px 22px rgba(2,6,23,.10) !important;
  overflow:hidden !important;
  isolation:isolate !important;
  transform:translateZ(0);
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    box-shadow .24s cubic-bezier(.2,.8,.2,1),
    filter .24s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-btn::before{
  content:"" !important;
  position:absolute !important;
  inset:-2px !important;
  z-index:-2 !important;
  background:
    linear-gradient(120deg,transparent 0%,rgba(255,255,255,.55) 42%,transparent 72%) !important;
  transform:translateX(-130%) skewX(-18deg) !important;
  transition:transform .85s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-btn::after{
  content:"" !important;
  position:absolute !important;
  inset:1px !important;
  z-index:-1 !important;
  border-radius:16px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,0) 46%) !important;
  pointer-events:none !important;
}

.hv2-btn:hover{
  transform:translateY(-5px) scale(1.018) !important;
  filter:saturate(1.12) brightness(1.03) !important;
  box-shadow:
    0 30px 72px rgba(37,99,235,.42),
    0 14px 30px rgba(2,6,23,.20),
    inset 0 1px 0 rgba(255,255,255,.48),
    inset 0 -12px 24px rgba(2,6,23,.12) !important;
}

.hv2-btn:hover::before{
  transform:translateX(130%) skewX(-18deg) !important;
}

.hv2-btn:active{
  transform:translateY(-1px) scale(.99) !important;
}

.hv2-btn.ghost{
  background:
    linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.045)) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:
    0 16px 40px rgba(2,6,23,.22),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -10px 24px rgba(2,6,23,.10) !important;
  backdrop-filter:blur(18px) saturate(1.2) !important;
}

.hv2-btn.ghost:hover{
  border-color:rgba(56,189,248,.42) !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.07)) !important;
  box-shadow:
    0 24px 60px rgba(2,6,23,.28),
    0 0 0 1px rgba(56,189,248,.10),
    inset 0 1px 0 rgba(255,255,255,.25) !important;
}

.hv2-product-card .hv2-btn{
  min-height:52px !important;
  padding:0 24px !important;
  border-radius:15px !important;
}

.hv2-catalog .hv2-btn,
.hv2-cta .hv2-btn{
  min-height:60px !important;
  padding:0 34px !important;
}

@media(max-width:768px){
  .hv2-btn{
    width:100% !important;
    min-height:56px !important;
  }
}

/* ===========================================================
   PHASE A / 03 — PRODUCT CARDS ULTRA
=========================================================== */

.hv2-products-grid{
  gap:34px !important;
  align-items:stretch !important;
}

.hv2-product-card{
  position:relative !important;
  min-height:100% !important;
  padding:30px !important;
  border-radius:38px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,251,255,.94)) !important;
  border:1px solid rgba(148,163,184,.26) !important;
  box-shadow:
    0 26px 80px rgba(15,23,42,.08),
    0 1px 0 rgba(255,255,255,.90) inset !important;
  overflow:hidden !important;
  isolation:isolate !important;
  transform:translateZ(0);
}

.hv2-product-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(56,189,248,.22),transparent 34%),
    radial-gradient(circle at 0% 100%,rgba(37,99,235,.14),transparent 38%) !important;
  opacity:0 !important;
  transition:opacity .35s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-product-card::after{
  content:"" !important;
  position:absolute !important;
  inset:1px !important;
  z-index:-1 !important;
  border-radius:36px !important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.54) 48%,rgba(238,246,255,.78)) !important;
  pointer-events:none !important;
}

.hv2-product-card:hover{
  transform:translateY(-12px) scale(1.012) !important;
  border-color:rgba(37,99,235,.38) !important;
  box-shadow:
    0 46px 110px rgba(37,99,235,.18),
    0 18px 45px rgba(15,23,42,.10),
    0 1px 0 rgba(255,255,255,.95) inset !important;
}

.hv2-product-card:hover::before{
  opacity:1 !important;
}

.hv2-product-card .hv2-tag{
  padding:8px 14px !important;
  border-radius:999px !important;
  background:
    linear-gradient(180deg,#eff6ff,#eaf4ff) !important;
  color:#2563eb !important;
  box-shadow:
    0 10px 24px rgba(37,99,235,.10),
    inset 0 1px 0 rgba(255,255,255,.85) !important;
}

.hv2-product-card h3{
  font-size:28px !important;
  line-height:1.12 !important;
  letter-spacing:-1.1px !important;
  margin-top:4px !important;
  margin-bottom:14px !important;
}

.hv2-product-card p{
  font-size:16.5px !important;
  line-height:1.78 !important;
  color:#64748b !important;
  margin-bottom:28px !important;
}

.hv2-product-visual{
  height:330px !important;
  border-radius:30px !important;
  margin-bottom:26px !important;
  background:
    radial-gradient(circle at 50% 46%,rgba(56,189,248,.30),transparent 36%),
    radial-gradient(circle at 70% 18%,rgba(255,255,255,.86),transparent 34%),
    linear-gradient(135deg,#eef6ff,#dbeafe) !important;
  box-shadow:
    0 22px 58px rgba(37,99,235,.11),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -24px 50px rgba(37,99,235,.06) !important;
  transition:
    transform .36s cubic-bezier(.2,.8,.2,1),
    box-shadow .36s cubic-bezier(.2,.8,.2,1),
    filter .36s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-product-card:hover .hv2-product-visual{
  transform:translateY(-4px) scale(1.018) !important;
  filter:saturate(1.08) brightness(1.02) !important;
  box-shadow:
    0 34px 78px rgba(37,99,235,.18),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -26px 52px rgba(37,99,235,.08) !important;
}

.hv2-product-visual::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  background:
    linear-gradient(115deg,transparent 0%,rgba(255,255,255,.42) 42%,transparent 68%) !important;
  transform:translateX(-130%) skewX(-16deg) !important;
  transition:transform .9s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-product-card:hover .hv2-product-visual::before{
  transform:translateX(130%) skewX(-16deg) !important;
}

.hv2-product-visual::after{
  z-index:1 !important;
  transition:
    transform .36s cubic-bezier(.2,.8,.2,1),
    box-shadow .36s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-product-card:hover .hv2-product-visual::after{
  transform:translate(-50%,-54%) scale(1.04) !important;
}

.hv2-product-card .hv2-btn{
  margin-top:auto !important;
}

/* Better equal card feel */
.hv2-product-card{
  display:flex !important;
  flex-direction:column !important;
}

.hv2-product-card p{
  flex:1 1 auto !important;
}

@media(max-width:1100px){
  .hv2-product-visual{
    height:300px !important;
  }
}

@media(max-width:768px){
  .hv2-products-grid{
    gap:24px !important;
  }

  .hv2-product-card{
    padding:24px !important;
    border-radius:30px !important;
  }

  .hv2-product-card::after{
    border-radius:28px !important;
  }

  .hv2-product-visual{
    height:245px !important;
    border-radius:24px !important;
  }

  .hv2-product-card h3{
    font-size:24px !important;
  }
}/* PRODUCT CARDS ULTRA — BALANCE FIX */

.hv2-product-card{
  padding:26px !important;
}

.hv2-product-visual{
  height:260px !important;
  margin-bottom:22px !important;
}

.hv2-product-visual::after{
  width:118px !important;
  height:118px !important;
}

.hv2-product-card h3{
  font-size:25px !important;
}

.hv2-product-card p{
  font-size:15.8px !important;
  line-height:1.72 !important;
  margin-bottom:24px !important;
}

.hv2-product-card .hv2-btn{
  width:max-content !important;
  min-width:150px !important;
  padding:0 24px !important;
  align-self:flex-start !important;
}

@media(max-width:1100px){
  .hv2-product-visual{
    height:240px !important;
  }
}

/* ===========================================================
   PHASE A / 04 — PRODUCT VISUAL ENGINE
   Premium CSS-built product renders for Featured Cards
=========================================================== */

/* Base render stage */
.hv2-product-visual{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.hv2-product-visual::before{
  z-index:5 !important;
}

.hv2-product-visual::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  transition:
    transform .36s cubic-bezier(.2,.8,.2,1),
    box-shadow .36s cubic-bezier(.2,.8,.2,1),
    filter .36s cubic-bezier(.2,.8,.2,1) !important;
}

/* Ambient floor shadow */
.hv2-product-visual-ai,
.hv2-product-visual-ptz,
.hv2-product-visual-solar{
  background:
    radial-gradient(circle at 50% 42%,rgba(56,189,248,.28),transparent 34%),
    radial-gradient(circle at 50% 78%,rgba(15,23,42,.12),transparent 28%),
    linear-gradient(135deg,#f2f8ff,#dbeafe) !important;
}

.hv2-product-visual-ai .x,
.hv2-product-visual-ptz .x,
.hv2-product-visual-solar .x{
  display:none;
}

/* AI Dome render */
.hv2-product-visual-ai::after{
  width:160px !important;
  height:160px !important;
  border-radius:50% !important;
  background:
    radial-gradient(circle at 50% 50%,#38bdf8 0 7%,#07111f 8% 28%,#0f172a 29% 44%,#111827 45% 100%) !important;
  box-shadow:
    inset 0 0 0 18px #f8fbff,
    inset 0 0 0 29px #e2eefc,
    0 34px 70px rgba(15,23,42,.22),
    0 0 42px rgba(56,189,248,.20) !important;
}

/* AI Dome outer cap */
.hv2-product-visual-ai{
  --render-light:rgba(255,255,255,.72);
}

.hv2-product-visual-ai::marker{
  display:none;
}

.hv2-product-visual-ai span{
  display:none;
}

/* PTZ render */
.hv2-product-visual-ptz::after{
  width:160px !important;
  height:188px !important;
  border-radius:38px 38px 48px 48px !important;
  background:
    radial-gradient(circle at 50% 42%,#38bdf8 0 7%,#020617 8% 30%,#111827 31% 100%) !important;
  box-shadow:
    inset 0 0 0 22px #ffffff,
    inset 0 -26px 35px rgba(15,23,42,.13),
    0 34px 72px rgba(15,23,42,.24),
    0 0 46px rgba(56,189,248,.18) !important;
}

.hv2-product-visual-ptz{
  background:
    radial-gradient(circle at 50% 35%,rgba(56,189,248,.25),transparent 34%),
    radial-gradient(circle at 50% 82%,rgba(15,23,42,.13),transparent 28%),
    linear-gradient(135deg,#f3f9ff,#dbeafe) !important;
}

/* Solar render */
.hv2-product-visual-solar::after{
  width:210px !important;
  height:146px !important;
  border-radius:28px !important;
  background:
    linear-gradient(90deg,#0f172a 0 47%,#f8fbff 48% 52%,#0f172a 53% 100%) !important;
  box-shadow:
    inset 0 0 0 14px #eaf2ff,
    inset 0 0 0 15px rgba(255,255,255,.7),
    0 34px 72px rgba(15,23,42,.22),
    0 0 42px rgba(56,189,248,.16) !important;
}

/* Solar lens */
.hv2-product-visual-solar{
  background:
    radial-gradient(circle at 50% 43%,rgba(56,189,248,.24),transparent 35%),
    radial-gradient(circle at 50% 80%,rgba(15,23,42,.14),transparent 30%),
    linear-gradient(135deg,#f2f8ff,#dbeafe) !important;
}

/* Add premium virtual details using box shadows */
.hv2-product-visual-ai{
  box-shadow:
    0 22px 58px rgba(37,99,235,.11),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -24px 50px rgba(37,99,235,.06) !important;
}

.hv2-product-visual-ptz{
  box-shadow:
    0 22px 58px rgba(37,99,235,.11),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -24px 50px rgba(37,99,235,.06) !important;
}

.hv2-product-visual-solar{
  box-shadow:
    0 22px 58px rgba(37,99,235,.11),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -24px 50px rgba(37,99,235,.06) !important;
}

/* Hover render motion */
.hv2-product-card:hover .hv2-product-visual-ai::after{
  transform:translate(-50%,-55%) scale(1.07) !important;
  box-shadow:
    inset 0 0 0 18px #f8fbff,
    inset 0 0 0 29px #e2eefc,
    0 44px 90px rgba(15,23,42,.28),
    0 0 58px rgba(56,189,248,.28) !important;
}

.hv2-product-card:hover .hv2-product-visual-ptz::after{
  transform:translate(-50%,-55%) scale(1.07) !important;
  box-shadow:
    inset 0 0 0 22px #ffffff,
    inset 0 -26px 35px rgba(15,23,42,.13),
    0 44px 90px rgba(15,23,42,.28),
    0 0 58px rgba(56,189,248,.26) !important;
}

.hv2-product-card:hover .hv2-product-visual-solar::after{
  transform:translate(-50%,-55%) scale(1.06) !important;
  box-shadow:
    inset 0 0 0 14px #eaf2ff,
    inset 0 0 0 15px rgba(255,255,255,.7),
    0 44px 90px rgba(15,23,42,.28),
    0 0 56px rgba(56,189,248,.24) !important;
}

/* Premium light reflection */
.hv2-product-visual-ai::before,
.hv2-product-visual-ptz::before,
.hv2-product-visual-solar::before{
  content:"" !important;
  position:absolute !important;
  inset:-30% !important;
  z-index:4 !important;
  background:
    linear-gradient(115deg,transparent 0%,rgba(255,255,255,.48) 42%,transparent 64%) !important;
  transform:translateX(-130%) skewX(-18deg) !important;
  transition:transform .95s cubic-bezier(.2,.8,.2,1) !important;
  pointer-events:none !important;
}

.hv2-product-card:hover .hv2-product-visual-ai::before,
.hv2-product-card:hover .hv2-product-visual-ptz::before,
.hv2-product-card:hover .hv2-product-visual-solar::before{
  transform:translateX(130%) skewX(-18deg) !important;
}

/* Mobile render balance */
@media(max-width:768px){
  .hv2-product-visual-ai::after{
    width:128px !important;
    height:128px !important;
  }

  .hv2-product-visual-ptz::after{
    width:128px !important;
    height:152px !important;
  }

  .hv2-product-visual-solar::after{
    width:168px !important;
    height:118px !important;
  }
}

/* ==========================================================
PHASE A / 05
CATEGORY CARD PREMIUM
HACVIO Framework v4
==========================================================*/

/* ===== Section ===== */

.hv2-categories{
position:relative;
padding-top:70px;
}

.hv2-categories::before{

content:"";

position:absolute;
left:50%;
top:-180px;

transform:translateX(-50%);

width:900px;
height:900px;

border-radius:50%;

background:

radial-gradient(circle,
rgba(59,130,246,.08),
transparent 72%);

filter:blur(40px);

pointer-events:none;

z-index:0;

}

/* ========================= */

.hv2-cat{

position:relative;

display:flex;
flex-direction:column;

justify-content:space-between;

overflow:hidden;

background:

linear-gradient(180deg,
#ffffff 0%,
#fbfdff 100%);

border:

1px solid rgba(207,220,236,.9);

border-radius:28px;

padding:34px;

min-height:285px;

transition:

transform .45s cubic-bezier(.2,.8,.2,1),

box-shadow .45s,

border-color .45s,

background .45s;

box-shadow:

0 20px 60px rgba(15,23,42,.06);

isolation:isolate;

}

/* ========================= */

.hv2-cat::before{

content:"";

position:absolute;

top:-180px;
right:-180px;

width:320px;
height:320px;

border-radius:50%;

background:

radial-gradient(circle,
rgba(59,130,246,.18),
transparent 72%);

opacity:0;

transition:.55s;

z-index:-1;

}

/* ========================= */

.hv2-cat::after{

content:"";

position:absolute;

left:-60%;
top:0;

width:45%;
height:100%;

background:

linear-gradient(
120deg,

transparent,

rgba(255,255,255,.75),

transparent);

transform:skewX(-22deg);

transition:1.1s;

}

/* ========================= */

.hv2-cat:hover{

transform:

translateY(-14px);

border-color:

rgba(59,130,246,.28);

background:

linear-gradient(
180deg,

#ffffff,

#f7fbff);

box-shadow:

0 28px 80px rgba(37,99,235,.12),

0 8px 30px rgba(15,23,42,.08);

}

.hv2-cat:hover::before{

opacity:1;

}

.hv2-cat:hover::after{

left:150%;

}

/* ========================= */

.hv2-num{

width:66px;
height:66px;

display:flex;
align-items:center;
justify-content:center;

font-size:19px;
font-weight:800;

color:#fff;

border-radius:22px;

background:

linear-gradient(
135deg,

#2563eb,

#38bdf8);

box-shadow:

0 18px 36px rgba(37,99,235,.28);

transition:.45s;

}

.hv2-cat:hover .hv2-num{

transform:

scale(1.08)

rotate(-6deg);

box-shadow:

0 24px 50px rgba(37,99,235,.38);

}

/* ========================= */

.hv2-cat h3{

margin-top:30px;

font-size:34px;

font-weight:800;

line-height:1.08;

letter-spacing:-1px;

color:#111827;

transition:.4s;

}

.hv2-cat:hover h3{

color:#2563eb;

}

/* ========================= */

.hv2-cat p{

margin-top:16px;

font-size:16px;

line-height:1.85;

color:#64748b;

max-width:92%;

}

/* ========================= */

.hv2-arrow{

display:flex;

align-items:center;

gap:10px;

margin-top:34px;

font-size:15px;

font-weight:700;

color:#2563eb;

transition:.35s;

}

.hv2-arrow::before{

content:"Explore";

}

.hv2-arrow::after{

content:"?";

font-size:18px;

transition:.35s;

}

.hv2-cat:hover .hv2-arrow{

transform:translateX(6px);

}

.hv2-cat:hover .hv2-arrow::after{

transform:translateX(6px);

}

/* ========================= */

.hv2-cat:hover{

cursor:pointer;

}

/* ========================= */

@media(max-width:1024px){

.hv2-cat{

min-height:260px;

padding:30px;

}

.hv2-cat h3{

font-size:29px;

}

}

/* ========================= */

@media(max-width:767px){

.hv2-cat{

padding:26px;

min-height:230px;

border-radius:22px;

}

.hv2-num{

width:58px;
height:58px;

font-size:17px;

}

.hv2-cat h3{

font-size:26px;

}

.hv2-cat p{

font-size:15px;

line-height:1.7;

}

}

/* ===========================================================
   PHASE A / 06 — AI SECTION LUXURY
=========================================================== */

.hv2-ai{
  position:relative !important;
  padding:90px 0 !important;
}

.hv2-ai::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:980px !important;
  height:620px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  background:
    radial-gradient(circle,rgba(37,99,235,.08),transparent 68%) !important;
  filter:blur(34px) !important;
  pointer-events:none !important;
}

.hv2-ai-box{
  position:relative !important;
  overflow:hidden !important;
  padding:72px !important;
  border-radius:44px !important;
  background:
    radial-gradient(circle at 20% 45%,rgba(56,189,248,.16),transparent 34%),
    radial-gradient(circle at 85% 15%,rgba(37,99,235,.10),transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#eef6ff 100%) !important;
  border:1px solid rgba(148,163,184,.24) !important;
  box-shadow:
    0 40px 110px rgba(15,23,42,.10),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  isolation:isolate !important;
}

.hv2-ai-box::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  background-image:
    linear-gradient(rgba(37,99,235,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(37,99,235,.045) 1px,transparent 1px) !important;
  background-size:42px 42px !important;
  mask-image:radial-gradient(circle at 28% 50%,#000,transparent 62%) !important;
  pointer-events:none !important;
}

.hv2-ai-box::after{
  content:"" !important;
  position:absolute !important;
  right:-120px !important;
  top:-120px !important;
  width:360px !important;
  height:360px !important;
  border-radius:50% !important;
  background:radial-gradient(circle,rgba(56,189,248,.20),transparent 70%) !important;
  filter:blur(18px) !important;
  pointer-events:none !important;
}

.hv2-ai-visual{
  position:relative !important;
  min-height:430px !important;
  border-radius:36px !important;
  background:
    radial-gradient(circle at 50% 45%,rgba(56,189,248,.22),transparent 38%),
    radial-gradient(circle at 50% 76%,rgba(15,23,42,.12),transparent 30%) !important;
  overflow:hidden !important;
}

.hv2-ai-visual::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:360px !important;
  height:360px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  border:1px solid rgba(37,99,235,.14) !important;
}

.hv2-ai-visual::after{
  content:"AI" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:84px !important;
  height:84px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:26px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#2563eb !important;
  font-size:26px !important;
  font-weight:950 !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(148,163,184,.22) !important;
  box-shadow:
    0 22px 55px rgba(37,99,235,.16),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  backdrop-filter:blur(16px) !important;
}

.hv2-ai-camera{
  width:255px !important;
  height:315px !important;
  border-radius:38px !important;
  background:
    linear-gradient(180deg,#ffffff,#eaf2ff) !important;
  box-shadow:
    0 42px 95px rgba(15,23,42,.24),
    0 0 70px rgba(56,189,248,.15),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}

.hv2-ai-camera::before{
  width:136px !important;
  height:136px !important;
  background:
    radial-gradient(circle,#38bdf8 0 8%,#020617 9% 42%,#111827 43% 100%) !important;
  box-shadow:
    inset 0 0 0 15px #f8fbff,
    0 24px 58px rgba(15,23,42,.20),
    0 0 45px rgba(56,189,248,.20) !important;
}

.hv2-ai h2{
  max-width:640px !important;
  font-size:clamp(40px,4.4vw,66px) !important;
  line-height:1.02 !important;
  letter-spacing:-2.4px !important;
}

.hv2-ai p{
  max-width:620px !important;
  color:#5b6b82 !important;
  font-size:17px !important;
  line-height:1.85 !important;
}

.hv2-feature-list{
  gap:18px !important;
  margin:34px 0 !important;
}

.hv2-feature{
  position:relative !important;
  overflow:hidden !important;
  padding:22px !important;
  border-radius:24px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,251,255,.92)) !important;
  border:1px solid rgba(148,163,184,.22) !important;
  box-shadow:
    0 18px 46px rgba(15,23,42,.06),
    inset 0 1px 0 rgba(255,255,255,.90) !important;
  transition:
    transform .3s cubic-bezier(.2,.8,.2,1),
    box-shadow .3s cubic-bezier(.2,.8,.2,1),
    border-color .3s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-feature::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:radial-gradient(circle at 100% 0%,rgba(56,189,248,.15),transparent 42%) !important;
  opacity:0 !important;
  transition:opacity .3s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-feature:hover{
  transform:translateY(-6px) !important;
  border-color:rgba(37,99,235,.28) !important;
  box-shadow:
    0 28px 70px rgba(37,99,235,.12),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}

.hv2-feature:hover::before{
  opacity:1 !important;
}

.hv2-feature b,
.hv2-feature span{
  position:relative !important;
  z-index:2 !important;
}

.hv2-feature b{
  font-size:16px !important;
  color:#0f172a !important;
}

.hv2-feature span{
  color:#64748b !important;
}

@media(max-width:1100px){
  .hv2-ai-box{
    padding:52px !important;
  }

  .hv2-ai-visual{
    min-height:340px !important;
  }
}

@media(max-width:768px){
  .hv2-ai{
    padding:64px 0 !important;
  }

  .hv2-ai-box{
    padding:30px 22px !important;
    border-radius:30px !important;
  }

  .hv2-ai-visual{
    min-height:280px !important;
    border-radius:26px !important;
  }

  .hv2-ai h2{
    font-size:34px !important;
    letter-spacing:-1.5px !important;
  }

  .hv2-feature{
    padding:18px !important;
  }
}/* AI SECTION LUXURY — BALANCE FIX */

.hv2-ai{
  padding:70px 0 !important;
}

.hv2-ai-box{
  padding:56px !important;
  border-radius:38px !important;
  grid-template-columns:.92fr 1.08fr !important;
}

.hv2-ai-visual{
  min-height:340px !important;
}

.hv2-ai-camera{
  width:210px !important;
  height:255px !important;
  border-radius:32px !important;
}

.hv2-ai-camera::before{
  width:112px !important;
  height:112px !important;
  top:48px !important;
}

.hv2-ai-visual::after{
  width:68px !important;
  height:68px !important;
  border-radius:22px !important;
  font-size:22px !important;
}

.hv2-ai h2{
  font-size:clamp(36px,3.7vw,54px) !important;
  line-height:1.05 !important;
  max-width:600px !important;
}

.hv2-feature-list{
  gap:16px !important;
  margin:28px 0 !important;
}

.hv2-feature{
  padding:18px !important;
  border-radius:20px !important;
}

.hv2-ai .hv2-btn{
  width:max-content !important;
  min-width:210px !important;
}

/* ===========================================================
   PHASE A / 07 — INDUSTRIES SECTION PREMIUM
=========================================================== */

.hv2-industry-grid{
  gap:28px !important;
}

.hv2-industry{
  position:relative !important;
  overflow:hidden !important;
  min-height:270px !important;
  padding:34px !important;
  border-radius:34px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.97),rgba(248,251,255,.94)) !important;
  border:1px solid rgba(148,163,184,.25) !important;
  box-shadow:
    0 26px 78px rgba(15,23,42,.075),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
  isolation:isolate !important;
  transition:
    transform .38s cubic-bezier(.2,.8,.2,1),
    box-shadow .38s cubic-bezier(.2,.8,.2,1),
    border-color .38s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-industry::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(56,189,248,.20),transparent 38%),
    radial-gradient(circle at 0% 100%,rgba(37,99,235,.12),transparent 42%) !important;
  opacity:0 !important;
  transition:opacity .38s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-industry::after{
  content:"" !important;
  position:absolute !important;
  inset:1px !important;
  z-index:-1 !important;
  border-radius:32px !important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.58),rgba(238,246,255,.80)) !important;
  pointer-events:none !important;
}

.hv2-industry:hover{
  transform:translateY(-12px) !important;
  border-color:rgba(37,99,235,.38) !important;
  box-shadow:
    0 42px 105px rgba(37,99,235,.16),
    0 14px 36px rgba(15,23,42,.10),
    inset 0 1px 0 rgba(255,255,255,.96) !important;
}

.hv2-industry:hover::before{
  opacity:1 !important;
}

.hv2-industry i{
  position:relative !important;
  z-index:2 !important;
  width:64px !important;
  height:64px !important;
  border-radius:21px !important;
  background:
    linear-gradient(135deg,#2563eb,#38bdf8) !important;
  color:#fff !important;
  box-shadow:
    0 20px 44px rgba(37,99,235,.28),
    inset 0 1px 0 rgba(255,255,255,.35) !important;
  transition:
    transform .36s cubic-bezier(.2,.8,.2,1),
    box-shadow .36s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-industry:hover i{
  transform:translateY(-4px) rotate(-5deg) scale(1.06) !important;
  box-shadow:
    0 28px 60px rgba(37,99,235,.38),
    inset 0 1px 0 rgba(255,255,255,.42) !important;
}

.hv2-industry h3{
  position:relative !important;
  z-index:2 !important;
  margin-top:30px !important;
  font-size:30px !important;
  line-height:1.08 !important;
  letter-spacing:-1.2px !important;
  transition:color .28s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-industry:hover h3{
  color:#2563eb !important;
}

.hv2-industry p{
  position:relative !important;
  z-index:2 !important;
  color:#64748b !important;
  font-size:16px !important;
  line-height:1.78 !important;
  max-width:94% !important;
}

/* Premium section spacing */
.hv2-industry-grid{
  margin-top:6px !important;
}

/* Hover light sweep */
.hv2-industry .hv2-sweep{
  display:none;
}

.hv2-industry > *{
  position:relative !important;
}

.hv2-industry:hover{
  cursor:default !important;
}

.hv2-industry:hover::after{
  background:
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.64),rgba(238,246,255,.86)) !important;
}

/* Responsive */
@media(max-width:1100px){
  .hv2-industry{
    min-height:245px !important;
    padding:30px !important;
  }

  .hv2-industry h3{
    font-size:27px !important;
  }
}

@media(max-width:768px){
  .hv2-industry-grid{
    gap:22px !important;
  }

  .hv2-industry{
    min-height:auto !important;
    padding:26px !important;
    border-radius:28px !important;
  }

  .hv2-industry::after{
    border-radius:26px !important;
  }

  .hv2-industry i{
    width:58px !important;
    height:58px !important;
    border-radius:19px !important;
  }

  .hv2-industry h3{
    font-size:25px !important;
    margin-top:24px !important;
  }

  .hv2-industry p{
    font-size:15.5px !important;
  }
}

/* ===========================================================
   PHASE A / 08 — DOWNLOAD + CTA PREMIUM
=========================================================== */

/* ===== Download Catalog Premium ===== */

.hv2-catalog{
  position:relative !important;
  padding:90px 0 70px !important;
}

.hv2-catalog::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:920px !important;
  height:520px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  background:radial-gradient(circle,rgba(37,99,235,.08),transparent 70%) !important;
  filter:blur(38px) !important;
  pointer-events:none !important;
}

.hv2-catalog-box{
  position:relative !important;
  overflow:hidden !important;
  padding:68px !important;
  border-radius:42px !important;
  background:
    radial-gradient(circle at 18% 50%,rgba(56,189,248,.18),transparent 34%),
    radial-gradient(circle at 90% 10%,rgba(37,99,235,.10),transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 55%,#eef6ff 100%) !important;
  border:1px solid rgba(148,163,184,.24) !important;
  box-shadow:
    0 40px 110px rgba(15,23,42,.10),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  isolation:isolate !important;
}

.hv2-catalog-box::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  background-image:
    linear-gradient(rgba(37,99,235,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(37,99,235,.04) 1px,transparent 1px) !important;
  background-size:42px 42px !important;
  mask-image:radial-gradient(circle at 22% 52%,#000,transparent 62%) !important;
  pointer-events:none !important;
}

.hv2-catalog-box::after{
  content:"" !important;
  position:absolute !important;
  right:-120px !important;
  top:-120px !important;
  width:360px !important;
  height:360px !important;
  border-radius:50% !important;
  background:radial-gradient(circle,rgba(56,189,248,.22),transparent 70%) !important;
  filter:blur(18px) !important;
  pointer-events:none !important;
}

.hv2-catalog-img{
  position:relative !important;
  height:340px !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 50% 44%,rgba(56,189,248,.24),transparent 36%),
    radial-gradient(circle at 50% 78%,rgba(15,23,42,.13),transparent 30%) !important;
  overflow:hidden !important;
}

.hv2-catalog-img::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:260px !important;
  height:260px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  border:1px solid rgba(37,99,235,.14) !important;
}

.hv2-catalog-img::after{
  content:"HACVIO\A CATALOG" !important;
  white-space:pre-line !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:220px !important;
  height:280px !important;
  transform:translate(-50%,-50%) rotate(-4deg) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  border-radius:28px !important;
  background:
    linear-gradient(180deg,#ffffff,#eef6ff) !important;
  color:#2563eb !important;
  font-size:25px !important;
  font-weight:950 !important;
  letter-spacing:1px !important;
  line-height:1.18 !important;
  box-shadow:
    0 32px 78px rgba(15,23,42,.18),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}

.hv2-catalog h2{
  font-size:clamp(40px,4.6vw,64px) !important;
  line-height:1.03 !important;
  letter-spacing:-2.3px !important;
  max-width:680px !important;
}

.hv2-catalog p{
  max-width:640px !important;
  font-size:17px !important;
  line-height:1.82 !important;
  color:#5b6b82 !important;
}

/* ===== Final CTA Premium ===== */

.hv2-cta{
  position:relative !important;
  padding:80px 0 120px !important;
}

.hv2-cta-box{
  position:relative !important;
  overflow:hidden !important;
  padding:78px !important;
  border-radius:46px !important;
  background:
    radial-gradient(circle at 88% 18%,rgba(56,189,248,.28),transparent 32%),
    radial-gradient(circle at 10% 100%,rgba(37,99,235,.22),transparent 36%),
    linear-gradient(135deg,#020617 0%,#07111f 58%,#0b2742 100%) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:
    0 52px 130px rgba(2,6,23,.32),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
  isolation:isolate !important;
}

.hv2-cta-box::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) !important;
  background-size:42px 42px !important;
  mask-image:linear-gradient(to bottom,#000,transparent 82%) !important;
  pointer-events:none !important;
}

.hv2-cta-box::after{
  content:"" !important;
  position:absolute !important;
  right:-100px !important;
  top:-100px !important;
  width:360px !important;
  height:360px !important;
  border-radius:50% !important;
  background:radial-gradient(circle,rgba(56,189,248,.26),transparent 70%) !important;
  filter:blur(18px) !important;
  pointer-events:none !important;
}

.hv2-cta h2{
  max-width:900px !important;
  font-size:clamp(44px,5.2vw,76px) !important;
  line-height:1.02 !important;
  letter-spacing:-3px !important;
}

.hv2-cta p{
  max-width:760px !important;
  color:#d7e3f3 !important;
  font-size:18px !important;
  line-height:1.85 !important;
}

.hv2-cta .hv2-actions{
  margin-top:34px !important;
}

.hv2-cta .hv2-btn.ghost{
  background:
    linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.045)) !important;
  border-color:rgba(255,255,255,.20) !important;
}

/* ===== Responsive ===== */

@media(max-width:1100px){
  .hv2-catalog-box{
    padding:52px !important;
  }

  .hv2-catalog-img{
    height:300px !important;
  }

  .hv2-cta-box{
    padding:58px !important;
  }
}

@media(max-width:768px){
  .hv2-catalog{
    padding:64px 0 48px !important;
  }

  .hv2-catalog-box,
  .hv2-cta-box{
    padding:30px 22px !important;
    border-radius:30px !important;
  }

  .hv2-catalog-img{
    height:240px !important;
    border-radius:26px !important;
  }

  .hv2-catalog-img::after{
    width:170px !important;
    height:220px !important;
    font-size:20px !important;
  }

  .hv2-catalog h2,
  .hv2-cta h2{
    font-size:34px !important;
    letter-spacing:-1.5px !important;
  }

  .hv2-cta{
    padding:60px 0 82px !important;
  }
}/* DOWNLOAD + CTA — FINAL BALANCE */

.hv2-catalog{
  padding-top:70px !important;
}

.hv2-catalog-box{
  padding:58px 68px !important;
}

.hv2-catalog-img::after{
  font-size:23px !important;
  letter-spacing:.5px !important;
}

.hv2-cta{
  padding-top:70px !important;
}

.hv2-cta-box{
  padding:68px 72px !important;
}

.hv2-cta h2{
  font-size:clamp(42px,4.7vw,68px) !important;
  max-width:760px !important;
}

.hv2-cta p{
  max-width:700px !important;
}

/* ===========================================================
   PHASE B / 01 — GLASS MORPHISM ENGINE
=========================================================== */

/* Global glass safety */
.hv2-products{
  --glass-bg:rgba(255,255,255,.68);
  --glass-bg-strong:rgba(255,255,255,.82);
  --glass-border:rgba(255,255,255,.58);
  --glass-line:rgba(148,163,184,.22);
  --glass-dark:rgba(15,23,42,.34);
  --glass-dark-border:rgba(255,255,255,.16);
}

/* Light glass cards */
.hv2-cat,
.hv2-product-card,
.hv2-industry,
.hv2-feature,
.hv2-catalog-box,
.hv2-ai-box{
  background:
    linear-gradient(180deg,rgba(255,255,255,.78),rgba(248,251,255,.62)) !important;
  border:1px solid var(--glass-line) !important;
  backdrop-filter:blur(22px) saturate(1.28) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.28) !important;
}

/* Inner glass shine */
.hv2-cat::after,
.hv2-product-card::after,
.hv2-industry::after{
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.92),
      rgba(255,255,255,.42) 46%,
      rgba(238,246,255,.58)
    ) !important;
}

/* Premium glass product visual */
.hv2-product-visual,
.hv2-ai-visual,
.hv2-catalog-img{
  background:
    radial-gradient(circle at 50% 42%,rgba(56,189,248,.24),transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.46),rgba(219,234,254,.46)) !important;
  border:1px solid rgba(255,255,255,.52) !important;
  backdrop-filter:blur(18px) saturate(1.18) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.18) !important;
}

/* Dark glass areas */
.hv2-hero-box,
.hv2-cta-box{
  border:1px solid rgba(255,255,255,.12) !important;
}

.hv2-device,
.hv2-metric,
.hv2-btn.ghost{
  background:
    linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.055)) !important;
  border:1px solid var(--glass-dark-border) !important;
  backdrop-filter:blur(22px) saturate(1.35) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.35) !important;
}

/* Glass edge highlight */
.hv2-cat,
.hv2-product-card,
.hv2-industry,
.hv2-ai-box,
.hv2-catalog-box,
.hv2-cta-box{
  position:relative !important;
}

.hv2-cat > *,
.hv2-product-card > *,
.hv2-industry > *,
.hv2-ai-box > *,
.hv2-catalog-box > *,
.hv2-cta-box > *{
  position:relative;
  z-index:2;
}

/* Top reflection line */
.hv2-cat .glass-line,
.hv2-product-card .glass-line,
.hv2-industry .glass-line{
  display:none;
}

.hv2-cat{
  box-shadow:
    0 28px 80px rgba(15,23,42,.075),
    inset 0 1px 0 rgba(255,255,255,.84),
    inset 0 -1px 0 rgba(255,255,255,.35) !important;
}

.hv2-product-card{
  box-shadow:
    0 30px 88px rgba(15,23,42,.085),
    inset 0 1px 0 rgba(255,255,255,.86),
    inset 0 -1px 0 rgba(255,255,255,.34) !important;
}

.hv2-industry{
  box-shadow:
    0 28px 80px rgba(15,23,42,.075),
    inset 0 1px 0 rgba(255,255,255,.86),
    inset 0 -1px 0 rgba(255,255,255,.35) !important;
}

/* Hover glass depth */
.hv2-cat:hover,
.hv2-product-card:hover,
.hv2-industry:hover,
.hv2-feature:hover{
  background:
    linear-gradient(180deg,rgba(255,255,255,.88),rgba(248,251,255,.72)) !important;
  border-color:rgba(37,99,235,.34) !important;
}

/* Soft blue glass wash behind major sections */
.hv2-section,
.hv2-ai,
.hv2-catalog{
  position:relative !important;
}

.hv2-section::before,
.hv2-ai::before,
.hv2-catalog::before{
  opacity:.9 !important;
}

/* Safari / low support fallback */
@supports not ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))){
  .hv2-cat,
  .hv2-product-card,
  .hv2-industry,
  .hv2-feature,
  .hv2-catalog-box,
  .hv2-ai-box{
    background:#ffffff !important;
  }

  .hv2-device,
  .hv2-metric,
  .hv2-btn.ghost{
    background:rgba(15,23,42,.72) !important;
  }
}

/* Mobile: reduce glass blur for performance */
@media(max-width:768px){
  .hv2-cat,
  .hv2-product-card,
  .hv2-industry,
  .hv2-feature,
  .hv2-catalog-box,
  .hv2-ai-box,
  .hv2-product-visual,
  .hv2-ai-visual,
  .hv2-catalog-img{
    backdrop-filter:blur(14px) saturate(1.16) !important;
    -webkit-backdrop-filter:blur(14px) saturate(1.16) !important;
  }
}

/* ===========================================================
   PHASE B / 01 — GLASS PERFORMANCE FIX
=========================================================== */

.hv2-cat,
.hv2-product-card,
.hv2-industry,
.hv2-feature,
.hv2-catalog-box,
.hv2-ai-box,
.hv2-product-visual,
.hv2-ai-visual,
.hv2-catalog-img,
.hv2-device,
.hv2-metric,
.hv2-btn.ghost{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.hv2-cat,
.hv2-product-card,
.hv2-industry,
.hv2-feature{
  background:linear-gradient(180deg,#ffffff,#f8fbff) !important;
}

.hv2-product-card:hover,
.hv2-cat:hover,
.hv2-industry:hover,
.hv2-feature:hover{
  transition-duration:.24s !important;
}

.hv2-product-visual::before,
.hv2-cat::after,
.hv2-industry::after{
  transition-duration:.55s !important;
}

/* ===========================================================
   PHASE B / 02 — FLOATING ELEMENTS
   Premium cinematic movement without heavy performance cost
=========================================================== */

/* ---------- Floating animation core ---------- */

@keyframes hvFloatSoft{
  0%,100%{
    transform:translate3d(0,0,0);
  }
  50%{
    transform:translate3d(0,-10px,0);
  }
}

@keyframes hvFloatSlow{
  0%,100%{
    transform:translate3d(0,0,0) rotate(0deg);
  }
  50%{
    transform:translate3d(0,-14px,0) rotate(-1.2deg);
  }
}

@keyframes hvGlowBreath{
  0%,100%{
    opacity:.55;
    filter:blur(18px);
  }
  50%{
    opacity:.85;
    filter:blur(24px);
  }
}

/* ---------- Hero floating objects ---------- */

.hv2-camera-mock{
  animation:hvFloatSlow 6.8s cubic-bezier(.45,0,.25,1) infinite !important;
  will-change:transform;
}

.hv2-device.one{
  animation:hvFloatSoft 5.8s cubic-bezier(.45,0,.25,1) infinite !important;
  animation-delay:.35s !important;
  will-change:transform;
}

.hv2-device.two{
  animation:hvFloatSoft 6.4s cubic-bezier(.45,0,.25,1) infinite !important;
  animation-delay:.9s !important;
  will-change:transform;
}

.hv2-glow{
  animation:hvGlowBreath 5.6s ease-in-out infinite !important;
}

/* ---------- Product visual floating ---------- */

.hv2-product-visual-ai::after,
.hv2-product-visual-ptz::after,
.hv2-product-visual-solar::after{
  animation:hvFloatSoft 6.2s cubic-bezier(.45,0,.25,1) infinite !important;
  will-change:transform;
}

.hv2-product-card:nth-child(2) .hv2-product-visual::after{
  animation-delay:.45s !important;
}

.hv2-product-card:nth-child(3) .hv2-product-visual::after{
  animation-delay:.85s !important;
}

/* ---------- AI section floating ---------- */

.hv2-ai-camera{
  animation:hvFloatSlow 6.8s cubic-bezier(.45,0,.25,1) infinite !important;
  will-change:transform;
}

.hv2-ai-visual::after{
  animation:hvFloatSoft 5.4s cubic-bezier(.45,0,.25,1) infinite !important;
}

/* ---------- Catalog floating ---------- */

.hv2-catalog-img::after{
  animation:hvFloatSlow 7.2s cubic-bezier(.45,0,.25,1) infinite !important;
  will-change:transform;
}

/* ---------- CTA depth glow ---------- */

.hv2-cta-box::after,
.hv2-catalog-box::after,
.hv2-ai-box::after{
  animation:hvGlowBreath 6.8s ease-in-out infinite !important;
}

/* ---------- Card hover lift refinement ---------- */

.hv2-cat:hover,
.hv2-product-card:hover,
.hv2-industry:hover,
.hv2-feature:hover{
  transform:translate3d(0,-10px,0) !important;
}

/* ---------- Premium section breathing space ---------- */

.hv2-section,
.hv2-ai,
.hv2-catalog,
.hv2-cta{
  transform:translateZ(0);
}

/* ---------- Reduced motion accessibility ---------- */

@media (prefers-reduced-motion: reduce){

  .hv2-camera-mock,
  .hv2-device.one,
  .hv2-device.two,
  .hv2-glow,
  .hv2-product-visual-ai::after,
  .hv2-product-visual-ptz::after,
  .hv2-product-visual-solar::after,
  .hv2-ai-camera,
  .hv2-ai-visual::after,
  .hv2-catalog-img::after,
  .hv2-cta-box::after,
  .hv2-catalog-box::after,
  .hv2-ai-box::after{
    animation:none !important;
  }
}

/* ---------- Mobile performance safety ---------- */

@media(max-width:768px){

  .hv2-device.one,
  .hv2-device.two,
  .hv2-glow,
  .hv2-cta-box::after,
  .hv2-catalog-box::after,
  .hv2-ai-box::after{
    animation:none !important;
  }

  .hv2-camera-mock,
  .hv2-product-visual-ai::after,
  .hv2-product-visual-ptz::after,
  .hv2-product-visual-solar::after,
  .hv2-ai-camera,
  .hv2-catalog-img::after{
    animation-duration:8s !important;
  }
}

/* ===========================================================
   PHASE B / 04 — MICRO INTERACTIONS
   Lightweight premium UI details
=========================================================== */

/* Buttons: tactile press + arrow motion */
.hv2-btn{
  cursor:pointer !important;
}

.hv2-btn:hover{
  letter-spacing:.1px !important;
}

.hv2-btn:active{
  transform:translateY(-1px) scale(.985) !important;
}

/* Text links / arrows */
.hv2-arrow{
  position:relative !important;
  width:max-content !important;
  max-width:100% !important;
  overflow:hidden !important;
}

.hv2-arrow::before{
  content:"Explore" !important;
}

.hv2-arrow::after{
  content:"?" !important;
  display:inline-block !important;
  margin-left:8px !important;
  transition:transform .22s ease !important;
}

.hv2-cat:hover .hv2-arrow::after{
  transform:translateX(6px) !important;
}

/* Fix category arrow overflow bug */
.hv2-cat .hv2-arrow{
  display:inline-flex !important;
  align-items:center !important;
  margin-top:auto !important;
  padding-top:22px !important;
  color:#2563eb !important;
  font-weight:900 !important;
}

.hv2-cat .hv2-arrow + .hv2-arrow{
  display:none !important;
}

/* Category: content lift */
.hv2-cat h3,
.hv2-cat p,
.hv2-cat .hv2-arrow{
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    color .28s cubic-bezier(.2,.8,.2,1),
    opacity .28s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-cat:hover h3{
  transform:translateY(-3px) !important;
}

.hv2-cat:hover p{
  transform:translateY(-2px) !important;
}

/* Product card: staged lift */
.hv2-product-card h3,
.hv2-product-card p,
.hv2-product-card .hv2-tag,
.hv2-product-card .hv2-btn{
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    color .28s cubic-bezier(.2,.8,.2,1),
    box-shadow .28s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-product-card:hover .hv2-tag{
  transform:translateY(-3px) !important;
}

.hv2-product-card:hover h3{
  transform:translateY(-3px) !important;
}

.hv2-product-card:hover p{
  transform:translateY(-2px) !important;
}

/* Product visual: subtle focus ring */
.hv2-product-card:hover .hv2-product-visual{
  outline:1px solid rgba(37,99,235,.18) !important;
  outline-offset:-1px !important;
}

/* Industry cards: icon pulse without heavy animation */
.hv2-industry i{
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    filter .28s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-industry:hover i{
  filter:brightness(1.08) saturate(1.15) !important;
}

/* AI features: small premium response */
.hv2-feature b,
.hv2-feature span{
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    color .24s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-feature:hover b{
  color:#2563eb !important;
  transform:translateY(-2px) !important;
}

.hv2-feature:hover span{
  transform:translateY(-1px) !important;
}

/* Pill premium response */
.hv2-pill{
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    box-shadow .24s cubic-bezier(.2,.8,.2,1),
    background .24s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-pill:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 12px 28px rgba(37,99,235,.12) !important;
}

/* Header menu micro underline */
.site-header nav a,
#header nav a{
  transition:color .22s ease, opacity .22s ease !important;
}

/* Make click targets feel more premium */
.hv2-cat,
.hv2-product-card,
.hv2-industry,
.hv2-feature{
  -webkit-tap-highlight-color:transparent;
}

/* Performance safety */
@media(max-width:768px){
  .hv2-cat:hover h3,
  .hv2-cat:hover p,
  .hv2-product-card:hover h3,
  .hv2-product-card:hover p,
  .hv2-product-card:hover .hv2-tag{
    transform:none !important;
  }
}/* CATEGORY ARROW — FINAL FIX */

.hv2-cat .hv2-arrow{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:128px !important;
  height:46px !important;
  margin-top:auto !important;
  padding:0 !important;
  border-radius:999px !important;
  overflow:hidden !important;
  background:linear-gradient(135deg,#2563eb,#38bdf8) !important;
  color:#fff !important;
  font-size:0 !important;
  box-shadow:0 16px 34px rgba(37,99,235,.24) !important;
}

.hv2-cat .hv2-arrow::before{
  content:"Explore" !important;
  font-size:14px !important;
  font-weight:900 !important;
  color:#fff !important;
}

.hv2-cat .hv2-arrow::after{
  content:"?" !important;
  font-size:16px !important;
  margin-left:8px !important;
  color:#fff !important;
}

.hv2-cat:hover .hv2-arrow{
  transform:translateY(-3px) !important;
  box-shadow:0 22px 48px rgba(37,99,235,.34) !important;
}

.hv2-cat:hover .hv2-arrow::after{
  transform:translateX(4px) !important;
}
   PHASE B / 05 — SCROLL REVEAL FIX
=========================================================== */

.hv2-products .hv-reveal{
  opacity:0 !important;
  transform:translateY(38px) !important;
  transition:
    opacity .7s cubic-bezier(.2,.8,.2,1),
    transform .7s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-products .hv-reveal.is-visible{
  opacity:1 !important;
  transform:translateY(0) !important;
}

.hv2-products .hv-reveal-delay-1{ transition-delay:.05s !important; }/* SCROLL REVEAL — REAL FIX */

.hv-reveal{
  animation:none !important;
}

.hv2-products .hv-reveal{
  opacity:0 !important;
  transform:translateY(44px) !important;
  transition:
    opacity .85s cubic-bezier(.2,.8,.2,1),
    transform .85s cubic-bezier(.2,.8,.2,1) !important;
}

.hv2-products .hv-reveal.is-visible{
  opacity:1 !important;
  transform:translateY(0) !important;
}

.hv2-products .hv-reveal-delay-1{ transition-delay:.04s !important; }
.hv2-products .hv-reveal-delay-2{ transition-delay:.12s !important; }
.hv2-products .hv-reveal-delay-3{ transition-delay:.20s !important; }
.hv2-products .hv-reveal-delay-4{ transition-delay:.28s !important; }

/* ===========================================================
   PHASE B / 06 — FINAL MOTION BALANCE
=========================================================== */

/* Global motion refinement */
.hv2-products{
  scroll-behavior:smooth;
}

/* Reduce excessive hover movement */
.hv2-cat:hover,
.hv2-product-card:hover,
.hv2-industry:hover,
.hv2-feature:hover{
  transform:translateY(-8px) !important;
}

/* Button hover: premium but controlled */
.hv2-btn:hover{
  transform:translateY(-3px) scale(1.01) !important;
}

/* Product render motion balance */
.hv2-product-card:hover .hv2-product-visual{
  transform:translateY(-3px) scale(1.01) !important;
}

/* Make floating animation calmer */
.hv2-camera-mock,
.hv2-ai-camera,
.hv2-catalog-img::after{
  animation-duration:8s !important;
}

.hv2-device.one,
.hv2-device.two{
  animation-duration:7.5s !important;
}

/* Scroll reveal smoother */
.hv2-products .hv-reveal{
  transition-duration:.78s !important;
}

.hv2-products .hv-reveal-delay-1{ transition-delay:.03s !important; }
.hv2-products .hv-reveal-delay-2{ transition-delay:.09s !important; }
.hv2-products .hv-reveal-delay-3{ transition-delay:.15s !important; }
.hv2-products .hv-reveal-delay-4{ transition-delay:.21s !important; }

/* Prevent hover jank */
.hv2-cat,
.hv2-product-card,
.hv2-industry,
.hv2-feature,
.hv2-btn,
.hv2-product-visual{
  will-change:transform;
}

/* Mobile performance */
@media(max-width:768px){
  .hv2-camera-mock,
  .hv2-ai-camera,
  .hv2-catalog-img::after,
  .hv2-product-visual-ai::after,
  .hv2-product-visual-ptz::after,
  .hv2-product-visual-solar::after{
    animation:none !important;
  }

  .hv2-cat:hover,
  .hv2-product-card:hover,
  .hv2-industry:hover,
  .hv2-feature:hover,
  .hv2-btn:hover{
    transform:none !important;
  }
}

/* ===========================================================
   PHASE C / 14 — DESKTOP POLISH
   Pixel-perfect refinement for large desktop screens
=========================================================== */

@media (min-width:1201px){

  .hv2-wrap{
    max-width:1240px !important;
  }

  /* Page rhythm */
  .hv2-hero{
    padding-top:48px !important;
    padding-bottom:72px !important;
  }

  .hv2-section{
    padding-top:82px !important;
    padding-bottom:82px !important;
  }

  .hv2-ai{
    padding-top:84px !important;
    padding-bottom:84px !important;
  }

  .hv2-catalog{
    padding-top:78px !important;
    padding-bottom:74px !important;
  }

  .hv2-cta{
    padding-top:76px !important;
    padding-bottom:118px !important;
  }

  /* Hero alignment */
  .hv2-hero-box{
    grid-template-columns:1fr .92fr !important;
    gap:54px !important;
    padding:54px 64px !important;
    min-height:505px !important;
  }

  .hv2-hero h1{
    max-width:560px !important;
    font-size:clamp(46px,4.15vw,64px) !important;
    line-height:1 !important;
    letter-spacing:-3px !important;
  }

  .hv2-hero p{
    max-width:560px !important;
  }

  .hv2-hero-visual{
    transform:translateX(6px) scale(.88) !important;
    transform-origin:center center;
}
  }

  /* Section heads */
  .hv2-head{
    align-items:flex-end !important;
    margin-bottom:42px !important;
  }

  .hv2-head h2{
    max-width:620px !important;
    letter-spacing:-2.4px !important;
  }

  .hv2-head p{
    max-width:560px !important;
    padding-bottom:10px !important;
  }

  /* Category cards */
  .hv2-cat-grid{
    gap:26px !important;
  }

  .hv2-cat{
    min-height:300px !important;
    padding:32px !important;
  }

  .hv2-cat h3{
    font-size:26px !important;
    margin-top:34px !important;
  }

  /* Featured products */
  .hv2-products-grid{
    gap:32px !important;
  }

  .hv2-product-card{
    padding:26px !important;
  }

  .hv2-product-visual{
    height:250px !important;
  }

  .hv2-product-card h3{
    font-size:25px !important;
  }

  /* AI section */
  .hv2-ai-box{
    grid-template-columns:.9fr 1.1fr !important;
    gap:54px !important;
    padding:56px 62px !important;
  }

  .hv2-ai h2{
    max-width:590px !important;
  }

  .hv2-ai-visual{
    min-height:340px !important;
  }

  /* Industries */
  .hv2-industry-grid{
    gap:26px !important;
  }

  .hv2-industry{
    min-height:250px !important;
    padding:32px !important;
  }

  /* Catalog */
  .hv2-catalog-box{
    grid-template-columns:.88fr 1.12fr !important;
    gap:56px !important;
    padding:58px 66px !important;
  }

  .hv2-catalog-img{
    height:310px !important;
  }

  .hv2-catalog h2{
    max-width:650px !important;
  }

  /* CTA */
  .hv2-cta-box{
    padding:68px 72px !important;
  }

  .hv2-cta h2{
    max-width:760px !important;
  }

/* Ultra-wide screen safety */
@media (min-width:1500px){

  .hv2-wrap{
    max-width:1320px !important;
  }

  .hv2-hero-box,
  .hv2-ai-box,
  .hv2-catalog-box,
  .hv2-cta-box{
    border-radius:48px !important;
  }

  .hv2-hero-box{
    padding-left:76px !important;
    padding-right:76px !important;
  }
}
.hv2-products .hv-reveal-delay-2{ transition-delay:.12s !important; }
.hv2-products .hv-reveal-delay-3{ transition-delay:.19s !important; }
.hv2-products .hv-reveal-delay-4{ transition-delay:.26s !important; }

@media(max-width:768px){
  .hv2-products .hv-reveal{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}/* FINAL OVERRIDE — HERO VISUAL DESKTOP BALANCE */
@media (min-width:1201px){

  .hv2-products .hv2-hero-visual{
    transform:translateX(-24px) scale(.82) !important;
    transform-origin:center center !important;
  }

  .hv2-products .hv2-orbit{
    min-height:360px !important;
  }

  .hv2-products .hv2-camera-mock{
    width:260px !important;
    height:310px !important;
  }

  .hv2-products .hv2-camera-mock::before{
    width:128px !important;
    height:128px !important;
    top:34px !important;
  }

  .hv2-products .hv2-camera-mock::after{
    bottom:42px !important;
  }

  .hv2-products .hv2-device.one{
    right:-12px !important;
    top:52px !important;
  }

  .hv2-products .hv2-device.two{
    left:-18px !important;
    bottom:58px !important;
  }
}

/* =========================================================
   DESKTOP HERO HEIGHT FINAL OVERRIDE
   ========================================================= */

@media (min-width:1201px){

  /* ?????? ??? ???? */
  .hv2-products .hv2-hero{
      padding-top:72px !important;
      padding-bottom:56px !important;
  }

  /* ???? ????? */
  .hv2-products .hv2-hero-box{
      min-height:620px !important;
      align-items:center !important;
  }

  /* ???? ??? */
  .hv2-products .hv2-hero-copy{
      justify-content:center !important;
  }

  /* ???? */
  .hv2-products .hv2-hero-copy h1{
      margin-bottom:22px !important;
      line-height:.96 !important;
  }

  /* ??? */
  .hv2-products .hv2-hero-copy p{
      margin-bottom:28px !important;
  }

  /* ???? ?? */
  .hv2-products .hv2-actions{
      margin-bottom:30px !important;
  }

  /* ???????? AI / 4G / Solar */
  .hv2-products .hv2-metrics{
      margin-top:0 !important;
      gap:18px !important;
  }

  /* ???? ????? */
  .hv2-products .hv2-hero-visual{
      display:flex;
      justify-content:center;
      align-items:center;
      transform:translateX(-48px) scale(.82) !important;
  }

  /* ???? ????? */
  .hv2-products .hv2-orbit{
      min-height:380px !important;
  }

}

/* =========================================================
   PHASE C / 15 — LAPTOP RESPONSIVE POLISH
   1200px to 1440px screens
========================================================= */

@media (min-width:1025px) and (max-width:1440px){

  .hv2-products .hv2-wrap{
    max-width:1140px !important;
  }

  .hv2-products .hv2-hero{
    padding-top:54px !important;
    padding-bottom:48px !important;
  }

  .hv2-products .hv2-hero-box{
    min-height:570px !important;
    padding:48px 58px !important;
    grid-template-columns:1.05fr .95fr !important;
    gap:38px !important;
  }

  .hv2-products .hv2-hero-copy h1{
    font-size:clamp(46px,4.6vw,58px) !important;
    line-height:.98 !important;
    letter-spacing:-2.8px !important;
    max-width:560px !important;
    margin-bottom:20px !important;
  }

  .hv2-products .hv2-hero-copy p{
    max-width:560px !important;
    font-size:15.5px !important;
    line-height:1.72 !important;
    margin-bottom:26px !important;
  }

  .hv2-products .hv2-btn{
    min-height:52px !important;
    padding:0 26px !important;
    border-radius:15px !important;
  }

  .hv2-products .hv2-actions{
    gap:14px !important;
    margin-bottom:26px !important;
  }

  .hv2-products .hv2-metrics{
    grid-template-columns:repeat(3,1fr) !important;
    gap:14px !important;
    margin-top:0 !important;
    max-width:520px !important;
  }

  .hv2-products .hv2-metric{
    padding:15px 16px !important;
    border-radius:18px !important;
  }

  .hv2-products .hv2-metric strong{
    font-size:24px !important;
  }

  .hv2-products .hv2-metric span{
    font-size:12px !important;
  }

  .hv2-products .hv2-hero-visual{
    transform:translateX(-36px) scale(.82) !important;
    transform-origin:center center !important;
  }

  .hv2-products .hv2-orbit{
    min-height:350px !important;
  }

  .hv2-products .hv2-camera-mock{
    width:250px !important;
    height:300px !important;
  }

  .hv2-products .hv2-camera-mock::before{
    width:122px !important;
    height:122px !important;
    top:34px !important;
  }

  .hv2-products .hv2-camera-mock::after{
    bottom:40px !important;
  }

  .hv2-products .hv2-device{
    padding:15px 17px !important;
    border-radius:18px !important;
  }

  .hv2-products .hv2-device.one{
    top:30px !important;
    right:-18px !important;
  }

  .hv2-products .hv2-device.two{
    left:-34px !important;
    bottom:34px !important;
  }

  /* Section rhythm on laptop */
  .hv2-products .hv2-section{
    padding-top:70px !important;
    padding-bottom:70px !important;
  }

  .hv2-products .hv2-head{
    margin-bottom:34px !important;
  }

  .hv2-products .hv2-head h2{
    font-size:clamp(36px,4vw,56px) !important;
    letter-spacing:-2px !important;
  }

  .hv2-products .hv2-head p{
    font-size:15.8px !important;
    line-height:1.72 !important;
    max-width:520px !important;
  }

  .hv2-products .hv2-cat{
    min-height:270px !important;
    padding:28px !important;
  }

  .hv2-products .hv2-cat h3{
    font-size:24px !important;
    margin-top:28px !important;
  }

  .hv2-products .hv2-cat p{
    font-size:15px !important;
    line-height:1.65 !important;
  }

  .hv2-products .hv2-product-visual{
    height:230px !important;
  }

  .hv2-products .hv2-product-card{
    padding:24px !important;
  }

  .hv2-products .hv2-product-card h3{
    font-size:24px !important;
  }

  .hv2-products .hv2-ai{
    padding-top:70px !important;
    padding-bottom:70px !important;
  }

  .hv2-products .hv2-ai-box{
    padding:48px 54px !important;
    gap:42px !important;
  }

  .hv2-products .hv2-ai-visual{
    min-height:310px !important;
  }

  .hv2-products .hv2-ai h2{
    font-size:clamp(34px,3.7vw,50px) !important;
  }

  .hv2-products .hv2-industry{
    min-height:230px !important;
    padding:28px !important;
  }

  .hv2-products .hv2-catalog{
    padding-top:68px !important;
    padding-bottom:64px !important;
  }

  .hv2-products .hv2-catalog-box{
    padding:50px 58px !important;
    gap:44px !important;
  }

  .hv2-products .hv2-catalog-img{
    height:280px !important;
  }

  .hv2-products .hv2-cta{
    padding-top:66px !important;
    padding-bottom:96px !important;
  }

  .hv2-products .hv2-cta-box{
    padding:58px 62px !important;
  }

  .hv2-products .hv2-cta h2{
    font-size:clamp(40px,4.6vw,60px) !important;
    max-width:720px !important;
  }
}/* LAPTOP FINAL BALANCE FIX */
@media (min-width:1025px) and (max-width:1440px){

  .hv2-products .hv2-ai{
    padding-top:56px !important;
    padding-bottom:56px !important;
  }

  .hv2-products .hv2-ai-box{
    padding:42px 52px !important;
    gap:34px !important;
  }

  .hv2-products .hv2-ai-visual{
    min-height:270px !important;
  }

  .hv2-products .hv2-ai-camera{
    width:205px !important;
    height:250px !important;
  }

  .hv2-products .hv2-ai h2{
    font-size:clamp(32px,3.4vw,46px) !important;
    line-height:1.04 !important;
  }

  .hv2-products .hv2-feature-list{
    gap:14px !important;
    margin:22px 0 !important;
  }

  .hv2-products .hv2-feature{
    padding:16px !important;
  }
}

/* =========================================================
   PHASE C / 16 — TABLET RESPONSIVE SYSTEM
   769px to 1024px
========================================================= */

@media (min-width:769px) and (max-width:1024px){

  .hv2-products .hv2-wrap{
    max-width:920px !important;
    padding-left:28px !important;
    padding-right:28px !important;
  }

  .hv2-products .hv2-hero{
    padding-top:42px !important;
    padding-bottom:48px !important;
  }

  .hv2-products .hv2-hero-box{
    grid-template-columns:1fr !important;
    min-height:auto !important;
    padding:50px 46px !important;
    gap:34px !important;
    border-radius:38px !important;
  }

  .hv2-products .hv2-hero-copy{
    text-align:left !important;
  }

  .hv2-products .hv2-hero-copy h1{
    max-width:680px !important;
    font-size:clamp(46px,7vw,64px) !important;
    line-height:.98 !important;
    letter-spacing:-2.8px !important;
    margin-bottom:20px !important;
  }

  .hv2-products .hv2-hero-copy p{
    max-width:700px !important;
    font-size:16.5px !important;
    line-height:1.76 !important;
    margin-bottom:28px !important;
  }

  .hv2-products .hv2-actions{
    gap:14px !important;
    margin-bottom:28px !important;
  }

  .hv2-products .hv2-btn{
    min-height:52px !important;
    padding:0 26px !important;
    border-radius:15px !important;
  }

  .hv2-products .hv2-metrics{
    grid-template-columns:repeat(3,1fr) !important;
    max-width:100% !important;
    gap:14px !important;
    margin-top:0 !important;
  }

  .hv2-products .hv2-metric{
    padding:16px !important;
    border-radius:18px !important;
  }

  .hv2-products .hv2-hero-visual{
    transform:none !important;
    display:flex !important;
    justify-content:center !important;
  }

  .hv2-products .hv2-orbit{
    min-height:330px !important;
    transform:scale(.86) !important;
  }

  .hv2-products .hv2-camera-mock{
    width:250px !important;
    height:300px !important;
  }

  .hv2-products .hv2-device.one{
    top:28px !important;
    right:-38px !important;
  }

  .hv2-products .hv2-device.two{
    left:-42px !important;
    bottom:34px !important;
  }

  /* Section rhythm */
  .hv2-products .hv2-section{
    padding-top:62px !important;
    padding-bottom:62px !important;
  }

  .hv2-products .hv2-head{
    display:block !important;
    margin-bottom:32px !important;
  }

  .hv2-products .hv2-head h2{
    max-width:720px !important;
    font-size:clamp(38px,6vw,54px) !important;
    line-height:1.04 !important;
    letter-spacing:-2px !important;
  }

  .hv2-products .hv2-head p{
    max-width:720px !important;
    margin-top:16px !important;
    font-size:16px !important;
    line-height:1.76 !important;
  }

  /* Category */
  .hv2-products .hv2-cat-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:22px !important;
  }

  .hv2-products .hv2-cat{
    min-height:260px !important;
    padding:28px !important;
    border-radius:30px !important;
  }

  .hv2-products .hv2-cat h3{
    font-size:25px !important;
    margin-top:28px !important;
  }

  .hv2-products .hv2-cat p{
    font-size:15.5px !important;
    line-height:1.7 !important;
  }

  /* Featured products */
  .hv2-products .hv2-products-grid{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  .hv2-products .hv2-product-card{
    display:grid !important;
    grid-template-columns:.9fr 1.1fr !important;
    gap:28px !important;
    align-items:center !important;
    padding:26px !important;
    border-radius:32px !important;
  }

  .hv2-products .hv2-product-visual{
    height:250px !important;
    margin-bottom:0 !important;
  }

  .hv2-products .hv2-product-card h3{
    font-size:26px !important;
  }

  /* AI */
  .hv2-products .hv2-ai{
    padding-top:62px !important;
    padding-bottom:62px !important;
  }

  .hv2-products .hv2-ai-box{
    grid-template-columns:1fr !important;
    padding:46px !important;
    gap:30px !important;
    border-radius:36px !important;
  }

  .hv2-products .hv2-ai-visual{
    min-height:270px !important;
  }

  .hv2-products .hv2-ai-camera{
    width:210px !important;
    height:255px !important;
  }

  .hv2-products .hv2-ai h2{
    font-size:clamp(36px,6vw,52px) !important;
  }

  .hv2-products .hv2-feature-list{
    grid-template-columns:repeat(2,1fr) !important;
    gap:14px !important;
  }

  /* Industries */
  .hv2-products .hv2-industry-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:22px !important;
  }

  .hv2-products .hv2-industry{
    min-height:220px !important;
    padding:28px !important;
    border-radius:30px !important;
  }

  /* Catalog */
  .hv2-products .hv2-catalog{
    padding-top:62px !important;
    padding-bottom:62px !important;
  }

  .hv2-products .hv2-catalog-box{
    grid-template-columns:1fr !important;
    padding:46px !important;
    gap:30px !important;
    border-radius:36px !important;
  }

  .hv2-products .hv2-catalog-img{
    height:260px !important;
  }

  .hv2-products .hv2-catalog h2{
    font-size:clamp(36px,6vw,54px) !important;
  }

  /* CTA */
  .hv2-products .hv2-cta{
    padding-top:62px !important;
    padding-bottom:84px !important;
  }

  .hv2-products .hv2-cta-box{
    padding:50px 46px !important;
    border-radius:38px !important;
  }

  .hv2-products .hv2-cta h2{
    font-size:clamp(38px,6.2vw,58px) !important;
    max-width:760px !important;
  }
}/* Tablet Final Balance */
@media (min-width:769px) and (max-width:1024px){

.hv2-products .hv2-hero-visual{
margin-top:24px !important;
}

.hv2-products .hv2-orbit{
transform:scale(.78)!important;
}

}

/* =========================================================
   PHASE C / 17 — MOBILE RESPONSIVE SYSTEM
   Premium mobile experience up to 768px
========================================================= */

@media (max-width:768px){

  .hv2-products{
    overflow:hidden !important;
  }

  .hv2-products .hv2-wrap{
    max-width:100% !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }

  /* Hero mobile */
  .hv2-products .hv2-hero{
    padding-top:34px !important;
    padding-bottom:42px !important;
  }

  .hv2-products .hv2-hero-box{
    display:block !important;
    min-height:auto !important;
    padding:30px 22px 34px !important;
    border-radius:30px !important;
  }

  .hv2-products .hv2-pill{
    font-size:10px !important;
    padding:8px 12px !important;
    letter-spacing:.9px !important;
  }

  .hv2-products .hv2-hero-copy h1{
    font-size:clamp(34px,10.5vw,46px) !important;
    line-height:.98 !important;
    letter-spacing:-1.8px !important;
    margin:18px 0 18px !important;
    max-width:100% !important;
  }

  .hv2-products .hv2-hero-copy p{
    font-size:15px !important;
    line-height:1.7 !important;
    margin-bottom:22px !important;
    max-width:100% !important;
  }

  .hv2-products .hv2-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-bottom:22px !important;
  }

  .hv2-products .hv2-btn{
    width:100% !important;
    min-height:50px !important;
    padding:0 20px !important;
    border-radius:15px !important;
    font-size:14px !important;
  }

  .hv2-products .hv2-metrics{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:0 !important;
    max-width:100% !important;
  }

  .hv2-products .hv2-metric{
    padding:15px 16px !important;
    border-radius:18px !important;
  }

  .hv2-products .hv2-metric strong{
    font-size:23px !important;
  }

  .hv2-products .hv2-metric span{
    font-size:12px !important;
  }

  .hv2-products .hv2-hero-visual{
    margin-top:28px !important;
    transform:none !important;
    display:flex !important;
    justify-content:center !important;
  }

  .hv2-products .hv2-orbit{
    min-height:260px !important;
    transform:scale(.72) !important;
  }

  .hv2-products .hv2-glow{
    width:280px !important;
    height:280px !important;
  }

  .hv2-products .hv2-orbit::before{
    width:300px !important;
    height:300px !important;
  }

  .hv2-products .hv2-orbit::after{
    width:210px !important;
    height:210px !important;
  }

  .hv2-products .hv2-camera-mock{
    width:220px !important;
    height:265px !important;
  }

  .hv2-products .hv2-camera-mock::before{
    width:108px !important;
    height:108px !important;
    top:30px !important;
  }

  .hv2-products .hv2-camera-mock::after{
    bottom:36px !important;
  }

  .hv2-products .hv2-device{
    position:absolute !important;
    width:auto !important;
    max-width:180px !important;
    padding:12px 14px !important;
    border-radius:16px !important;
  }

  .hv2-products .hv2-device b{
    font-size:10px !important;
  }

  .hv2-products .hv2-device span{
    font-size:11px !important;
    line-height:1.35 !important;
  }

  .hv2-products .hv2-device.one{
    top:42px !important;
    right:-32px !important;
  }

  .hv2-products .hv2-device.two{
    left:-38px !important;
    bottom:42px !important;
  }

  /* Section spacing */
  .hv2-products .hv2-section,
  .hv2-products .hv2-ai,
  .hv2-products .hv2-catalog{
    padding-top:52px !important;
    padding-bottom:52px !important;
  }

  .hv2-products .hv2-head{
    display:block !important;
    margin-bottom:28px !important;
  }

  .hv2-products .hv2-head h2{
    font-size:clamp(32px,10vw,42px) !important;
    line-height:1.04 !important;
    letter-spacing:-1.5px !important;
    max-width:100% !important;
  }

  .hv2-products .hv2-head p{
    margin-top:14px !important;
    max-width:100% !important;
    font-size:15px !important;
    line-height:1.7 !important;
  }

  /* Category mobile */
  .hv2-products .hv2-cat-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .hv2-products .hv2-cat{
    min-height:235px !important;
    padding:26px !important;
    border-radius:28px !important;
  }

  .hv2-products .hv2-num{
    width:52px !important;
    height:52px !important;
    border-radius:17px !important;
  }

  .hv2-products .hv2-cat h3{
    font-size:25px !important;
    margin-top:26px !important;
  }

  .hv2-products .hv2-cat p{
    font-size:15px !important;
    line-height:1.68 !important;
    padding-right:8px !important;
  }

  .hv2-products .hv2-cat .hv2-arrow{
    width:120px !important;
    height:44px !important;
    right:22px !important;
    bottom:22px !important;
  }

  /* Products mobile */
  .hv2-products .hv2-products-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  .hv2-products .hv2-product-card{
    display:block !important;
    padding:24px !important;
    border-radius:30px !important;
  }

  .hv2-products .hv2-product-visual{
    height:225px !important;
    margin-bottom:22px !important;
    border-radius:24px !important;
  }

  .hv2-products .hv2-product-card h3{
    font-size:24px !important;
    line-height:1.18 !important;
  }

  .hv2-products .hv2-product-card p{
    font-size:15px !important;
    line-height:1.68 !important;
    margin-bottom:22px !important;
  }

  /* AI mobile */
  .hv2-products .hv2-ai-box{
    display:block !important;
    padding:30px 22px !important;
    border-radius:30px !important;
  }

  .hv2-products .hv2-ai-visual{
    min-height:230px !important;
    margin-bottom:28px !important;
  }

  .hv2-products .hv2-ai-camera{
    width:180px !important;
    height:220px !important;
  }

  .hv2-products .hv2-ai-camera::before{
    width:100px !important;
    height:100px !important;
    top:44px !important;
  }

  .hv2-products .hv2-ai h2{
    font-size:clamp(32px,10vw,42px) !important;
    line-height:1.05 !important;
    letter-spacing:-1.5px !important;
  }

  .hv2-products .hv2-ai p{
    font-size:15px !important;
    line-height:1.7 !important;
  }

  .hv2-products .hv2-feature-list{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin:22px 0 !important;
  }

  .hv2-products .hv2-feature{
    padding:16px !important;
    border-radius:20px !important;
  }

  /* Industries mobile */
  .hv2-products .hv2-industry-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .hv2-products .hv2-industry{
    min-height:auto !important;
    padding:26px !important;
    border-radius:28px !important;
  }

  .hv2-products .hv2-industry i{
    width:52px !important;
    height:52px !important;
    margin-bottom:20px !important;
  }

  .hv2-products .hv2-industry h3{
    font-size:25px !important;
  }

  .hv2-products .hv2-industry p{
    font-size:15px !important;
    line-height:1.68 !important;
  }

  /* Catalog mobile */
  .hv2-products .hv2-catalog-box{
    display:block !important;
    padding:30px 22px !important;
    border-radius:30px !important;
  }

  .hv2-products .hv2-catalog-img{
    height:220px !important;
    margin-bottom:26px !important;
  }

  .hv2-products .hv2-catalog-img::after{
    inset:34px !important;
    font-size:18px !important;
  }

  .hv2-products .hv2-catalog h2{
    font-size:clamp(32px,10vw,42px) !important;
    line-height:1.05 !important;
    letter-spacing:-1.6px !important;
  }

  .hv2-products .hv2-catalog p{
    font-size:15px !important;
    line-height:1.7 !important;
  }

  /* CTA mobile */
  .hv2-products .hv2-cta{
    padding-top:52px !important;
    padding-bottom:72px !important;
  }

  .hv2-products .hv2-cta-box{
    padding:32px 22px !important;
    border-radius:30px !important;
  }

  .hv2-products .hv2-cta h2{
    font-size:clamp(34px,10.5vw,44px) !important;
    line-height:1.05 !important;
    letter-spacing:-1.7px !important;
  }

  .hv2-products .hv2-cta p{
    font-size:15px !important;
    line-height:1.7 !important;
  }

  /* Disable heavy hover behavior on mobile */
  .hv2-products .hv2-cat:hover,
  .hv2-products .hv2-product-card:hover,
  .hv2-products .hv2-industry:hover,
  .hv2-products .hv2-feature:hover,
  .hv2-products .hv2-btn:hover{
    transform:none !important;
  }
}/* MOBILE FINAL BALANCE — HERO VISUAL RESTORE */
@media (max-width:768px){

  .hv2-products .hv2-hero-visual{
    display:flex !important;
    margin-top:24px !important;
    min-height:210px !important;
    overflow:visible !important;
  }

  .hv2-products .hv2-orbit{
    min-height:210px !important;
    transform:scale(.58) !important;
  }

  .hv2-products .hv2-device{
    display:none !important;
  }

  .hv2-products .hv2-camera-mock{
    width:210px !important;
    height:250px !important;
  }

  .hv2-products .hv2-glow{
    width:240px !important;
    height:240px !important;
  }

  .hv2-products .hv2-hero-box{
    padding-bottom:28px !important;
  }

  .hv2-products .hv2-hero-copy h1{
    font-size:clamp(32px,10vw,42px) !important;
  }

  .hv2-products .hv2-metric{
    min-height:76px !important;
  }
}

/* =========================================================
   GLOBAL TYPOGRAPHY BALANCE — ALL DEVICES FINAL OVERRIDE
   ========================================================= */

/* ---------- Desktop / Large Screens ---------- */
@media (min-width:1201px){

  .hv2-products .hv2-hero-copy h1{
    font-size:clamp(44px,3.9vw,58px) !important;
    line-height:1.01 !important;
    letter-spacing:-2.6px !important;
    max-width:620px !important;
  }

  .hv2-products .hv2-head h2,
  .hv2-products .hv2-ai h2,
  .hv2-products .hv2-catalog h2,
  .hv2-products .hv2-cta h2{
    font-size:clamp(36px,3.9vw,56px) !important;
    line-height:1.06 !important;
    letter-spacing:-2px !important;
  }

  .hv2-products .hv2-cat h3{
    font-size:24px !important;
    line-height:1.18 !important;
  }

  .hv2-products .hv2-product-card h3{
    font-size:23px !important;
    line-height:1.2 !important;
  }

  .hv2-products .hv2-industry h3{
    font-size:23px !important;
  }

  .hv2-products p{
    font-size:16px !important;
    line-height:1.78 !important;
  }

  .hv2-products .hv2-btn{
    min-height:52px !important;
    padding:0 26px !important;
    font-size:14px !important;
  }
}

/* ---------- Laptop ---------- */
@media (min-width:1025px) and (max-width:1200px){

  .hv2-products .hv2-hero-copy h1{
    font-size:clamp(42px,4.2vw,54px) !important;
    line-height:1.01 !important;
    letter-spacing:-2.4px !important;
  }

  .hv2-products .hv2-head h2,
  .hv2-products .hv2-ai h2,
  .hv2-products .hv2-catalog h2,
  .hv2-products .hv2-cta h2{
    font-size:clamp(34px,4vw,50px) !important;
    line-height:1.07 !important;
    letter-spacing:-1.8px !important;
  }

  .hv2-products .hv2-cat h3,
  .hv2-products .hv2-product-card h3,
  .hv2-products .hv2-industry h3{
    font-size:22px !important;
  }

  .hv2-products p{
    font-size:15.5px !important;
    line-height:1.74 !important;
  }
}

/* ---------- Tablet ---------- */
@media (min-width:769px) and (max-width:1024px){

  .hv2-products .hv2-hero-copy h1{
    font-size:clamp(40px,6.2vw,56px) !important;
    line-height:1.02 !important;
    letter-spacing:-2.3px !important;
  }

  .hv2-products .hv2-head h2,
  .hv2-products .hv2-ai h2,
  .hv2-products .hv2-catalog h2,
  .hv2-products .hv2-cta h2{
    font-size:clamp(34px,5.2vw,48px) !important;
    line-height:1.07 !important;
    letter-spacing:-1.7px !important;
  }

  .hv2-products .hv2-cat h3,
  .hv2-products .hv2-product-card h3,
  .hv2-products .hv2-industry h3{
    font-size:23px !important;
  }

  .hv2-products p{
    font-size:15.5px !important;
    line-height:1.74 !important;
  }
}

/* ---------- Mobile ---------- */
@media (max-width:768px){

  .hv2-products .hv2-hero-copy h1{
    font-size:clamp(29px,8.8vw,38px) !important;
    line-height:1.03 !important;
    letter-spacing:-1.3px !important;
  }

  .hv2-products .hv2-head h2,
  .hv2-products .hv2-ai h2,
  .hv2-products .hv2-catalog h2,
  .hv2-products .hv2-cta h2{
    font-size:clamp(28px,8.2vw,36px) !important;
    line-height:1.08 !important;
    letter-spacing:-1.2px !important;
  }

  .hv2-products .hv2-cat h3{
    font-size:22px !important;
    line-height:1.18 !important;
  }

  .hv2-products .hv2-product-card h3{
    font-size:21px !important;
    line-height:1.2 !important;
  }

  .hv2-products .hv2-industry h3{
    font-size:22px !important;
  }

  .hv2-products p{
    font-size:14.5px !important;
    line-height:1.68 !important;
  }

  .hv2-products .hv2-btn{
    min-height:48px !important;
    font-size:13.5px !important;
  }

  .hv2-products .hv2-pill{
    font-size:9.5px !important;
  }
}/* MOBILE CATALOG VISUAL FINAL FIX */
@media (max-width:768px){

  .hv2-products .hv2-catalog-box{
    padding-top:24px !important;
  }

  .hv2-products .hv2-catalog-img{
    height:160px !important;
    margin-bottom:22px !important;
    border-radius:24px !important;
  }

  .hv2-products .hv2-catalog-img::after{
    inset:26px 54px !important;
    border-radius:22px !important;
    font-size:13px !important;
    letter-spacing:1px !important;
    transform:rotate(-3deg) !important;
  }

  .hv2-products .hv2-catalog-content{
    text-align:left !important;
  }
}

/* =========================================================
   PHASE D / 18 — PREMIUM TYPOGRAPHY SYSTEM
   Final text rhythm, optical balance, luxury readability
========================================================= */

.hv2-products{
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Headline polish */
.hv2-products h1,
.hv2-products h2,
.hv2-products h3{
  text-wrap:balance;
  font-feature-settings:"kern" 1, "liga" 1, "calt" 1;
}

/* Paragraph polish */
.hv2-products p,
.hv2-products span{
  font-feature-settings:"kern" 1, "liga" 1;
}

/* Premium paragraph rhythm */
.hv2-products p{
  color:#52627a !important;
  font-weight:500 !important;
}

/* Dark section paragraph clarity */
.hv2-products .hv2-hero p,
.hv2-products .hv2-cta p{
  color:rgba(226,232,240,.88) !important;
  font-weight:500 !important;
}

/* Small labels */
.hv2-products .hv2-pill,
.hv2-products .hv2-tag{
  letter-spacing:1px !important;
  font-weight:950 !important;
}

/* Button typography */
.hv2-products .hv2-btn{
  font-weight:900 !important;
  letter-spacing:-.05px !important;
}

/* Product/category text harmony */
.hv2-products .hv2-cat p,
.hv2-products .hv2-product-card p,
.hv2-products .hv2-industry p,
.hv2-products .hv2-feature span{
  color:#5b6b82 !important;
}

/* Desktop optical sizing */
@media(min-width:1201px){

  .hv2-products .hv2-hero-copy h1{
    letter-spacing:-2.3px !important;
  }

  .hv2-products .hv2-head h2,
  .hv2-products .hv2-ai h2,
  .hv2-products .hv2-catalog h2,
  .hv2-products .hv2-cta h2{
    letter-spacing:-1.8px !important;
  }

  .hv2-products p{
    line-height:1.76 !important;
  }
}

/* Tablet typography */
@media(min-width:769px) and (max-width:1024px){

  .hv2-products h1,
  .hv2-products h2{
    text-wrap:balance;
  }

  .hv2-products p{
    line-height:1.72 !important;
  }
}
/* =========================================================
   PHASE D / 19 — ACCESSIBILITY PREMIUM
   ========================================================= */

/* Smooth keyboard navigation */
html{
    scroll-behavior:smooth;
}

/* Premium Focus Ring */
.hv2-products a:focus-visible,
.hv2-products button:focus-visible{
    outline:none !important;
    box-shadow:
        0 0 0 3px rgba(255,255,255,.95),
        0 0 0 6px rgba(58,147,255,.45),
        0 12px 30px rgba(58,147,255,.25) !important;
    border-radius:18px;
    transition:.25s;
}

/* Better text selection */
.hv2-products ::selection{
    background:#3f9dff;
    color:#fff;
}

.hv2-products ::-moz-selection{
    background:#3f9dff;
    color:#fff;
}

/* Better tap feeling */
.hv2-products a,
.hv2-products button{
    -webkit-tap-highlight-color:transparent;
}

/* Prevent image dragging */
.hv2-products img,
.hv2-products .hv2-camera-mock,
.hv2-products .hv2-ai-camera,
.hv2-products .hv2-catalog-img{
    user-select:none;
    -webkit-user-drag:none;
}

/* Improve readability */
.hv2-products{
    text-size-adjust:100%;
    -webkit-text-size-adjust:100%;
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce){

    *,
    *::before,
    *::after{
        animation:none !important;
        transition:none !important;
        scroll-behavior:auto !important;
    }

}

/* Better touch targets */
@media (max-width:768px){

    .hv2-products .hv2-btn{
        min-height:50px !important;
    }

}

/* =========================================================
   PHASE D / 20 — PERFORMANCE OPTIMIZATION
   GPU, Paint, Hover, Motion & Mobile Safety
========================================================= */

/* GPU-safe transform targets */
.hv2-products .hv2-hero-box,
.hv2-products .hv2-cta-box,
.hv2-products .hv2-ai-box,
.hv2-products .hv2-catalog-box,
.hv2-products .hv2-cat,
.hv2-products .hv2-product-card,
.hv2-products .hv2-industry,
.hv2-products .hv2-feature,
.hv2-products .hv2-btn,
.hv2-products .hv2-product-visual,
.hv2-products .hv2-camera-mock,
.hv2-products .hv2-ai-camera,
.hv2-products .hv2-catalog-img{
  transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* Reduce paint cost */
.hv2-products .hv2-cat,
.hv2-products .hv2-product-card,
.hv2-products .hv2-industry,
.hv2-products .hv2-feature,
.hv2-products .hv2-ai-box,
.hv2-products .hv2-catalog-box,
.hv2-products .hv2-cta-box{
  contain:layout paint;
}

/* Limit will-change to interactive states */
.hv2-products .hv2-cat,
.hv2-products .hv2-product-card,
.hv2-products .hv2-industry,
.hv2-products .hv2-feature,
.hv2-products .hv2-btn{
  will-change:auto !important;
}

.hv2-products .hv2-cat:hover,
.hv2-products .hv2-product-card:hover,
.hv2-products .hv2-industry:hover,
.hv2-products .hv2-feature:hover,
.hv2-products .hv2-btn:hover{
  will-change:transform !important;
}

/* Scroll reveal GPU optimization */
.hv2-products .hv-reveal{
  transform:translate3d(0,28px,0) !important;
  will-change:opacity,transform;
}

.hv2-products .hv-reveal.is-visible{
  transform:translate3d(0,0,0) !important;
  will-change:auto;
}

/* Safer animations */
.hv2-products .hv2-camera-mock,
.hv2-products .hv2-ai-camera,
.hv2-products .hv2-glow{
  animation-timing-function:cubic-bezier(.45,0,.25,1) !important;
}

/* Remove expensive blur on small screens */
@media (max-width:768px){

  .hv2-products .hv2-device,
  .hv2-products .hv2-metric,
  .hv2-products .hv2-btn.ghost,
  .hv2-products .hv2-hero .hv2-pill,
  .hv2-products .hv2-cta .hv2-pill{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .hv2-products .hv2-glow{
    filter:none !important;
    opacity:.32 !important;
  }

  .hv2-products .hv2-hero-box,
  .hv2-products .hv2-cta-box{
    box-shadow:
      0 24px 70px rgba(2,6,23,.24),
      inset 0 1px 0 rgba(255,255,255,.08) !important;
  }

  .hv2-products .hv2-cat,
  .hv2-products .hv2-product-card,
  .hv2-products .hv2-industry,
  .hv2-products .hv2-feature,
  .hv2-products .hv2-ai-box,
  .hv2-products .hv2-catalog-box{
    box-shadow:
      0 18px 52px rgba(15,23,42,.07),
      inset 0 1px 0 rgba(255,255,255,.88) !important;
  }
}

/* Tablet performance balance */
@media (min-width:769px) and (max-width:1024px){

  .hv2-products .hv2-device,
  .hv2-products .hv2-metric,
  .hv2-products .hv2-btn.ghost{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
}

/* Disable heavy effects on touch devices */
@media (hover:none){

  .hv2-products .hv2-cat:hover,
  .hv2-products .hv2-product-card:hover,
  .hv2-products .hv2-industry:hover,
  .hv2-products .hv2-feature:hover,
  .hv2-products .hv2-btn:hover{
    transform:none !important;
  }

  .hv2-products .hv2-product-card:hover .hv2-product-visual::before,
  .hv2-products .hv2-btn:hover::before{
    transform:none !important;
  }
}

/* Prevent horizontal layout reflow */
.hv2-products,
.hv2-products .hv2-wrap,
.hv2-products .hv2-hero-box,
.hv2-products .hv2-ai-box,
.hv2-products .hv2-catalog-box,
.hv2-products .hv2-cta-box{
  max-width:100%;
}

/* Image placeholder rendering stability */
.hv2-products .hv2-product-visual,
.hv2-products .hv2-ai-visual,
.hv2-products .hv2-catalog-img{
  overflow:hidden;
  isolation:isolate;
}

/* Keep animations disabled for users who request reduced motion */
@media (prefers-reduced-motion: reduce){

  .hv2-products .hv2-camera-mock,
  .hv2-products .hv2-ai-camera,
  .hv2-products .hv2-glow,
  .hv2-products .hv2-product-visual::before,
  .hv2-products .hv2-btn::before{
    animation:none !important;
    transition:none !important;
  }

}

/* =========================================================
   PHASE D / 21 — FINAL PREMIUM POLISH
   Ultimate visual balance, luxury spacing, lighting & finish
========================================================= */

/* ---------- Page atmosphere ---------- */

.hv2-products{
  background:
    radial-gradient(circle at 12% 3%,rgba(37,99,235,.055),transparent 30%),
    radial-gradient(circle at 88% 8%,rgba(56,189,248,.065),transparent 32%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 52%,#ffffff 100%) !important;
}

/* ---------- Premium container rhythm ---------- */

.hv2-products .hv2-wrap{
  position:relative;
}

/* ---------- Hero final finish ---------- */

.hv2-products .hv2-hero-box{
  border:1px solid rgba(148,163,184,.18) !important;
  box-shadow:
    0 44px 120px rgba(2,6,23,.26),
    0 18px 55px rgba(37,99,235,.08),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.hv2-products .hv2-hero-box::before,
.hv2-products .hv2-cta-box::before{
  opacity:.72 !important;
}

/* ---------- Light cards final finish ---------- */

.hv2-products .hv2-cat,
.hv2-products .hv2-product-card,
.hv2-products .hv2-industry,
.hv2-products .hv2-feature,
.hv2-products .hv2-ai-box,
.hv2-products .hv2-catalog-box{
  border-color:rgba(148,163,184,.20) !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,251,255,.96)) !important;
}

/* ---------- Card hover premium but controlled ---------- */

@media (hover:hover){

  .hv2-products .hv2-cat:hover,
  .hv2-products .hv2-product-card:hover,
  .hv2-products .hv2-industry:hover,
  .hv2-products .hv2-feature:hover{
    border-color:rgba(37,99,235,.28) !important;
    box-shadow:
      0 34px 86px rgba(37,99,235,.115),
      0 12px 34px rgba(15,23,42,.055),
      inset 0 1px 0 rgba(255,255,255,.96) !important;
  }

}

/* ---------- Buttons final premium finish ---------- */

.hv2-products .hv2-btn{
  background:
    linear-gradient(135deg,#2563eb 0%,#2f8df8 45%,#38bdf8 100%) !important;
  box-shadow:
    0 18px 42px rgba(37,99,235,.30),
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -10px 22px rgba(2,6,23,.08) !important;
}

.hv2-products .hv2-btn.ghost{
  background:rgba(255,255,255,.075) !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 14px 38px rgba(2,6,23,.14) !important;
}

/* ---------- Pills/tags final polish ---------- */

.hv2-products .hv2-pill,
.hv2-products .hv2-tag{
  box-shadow:
    0 10px 26px rgba(37,99,235,.08),
    inset 0 1px 0 rgba(255,255,255,.70) !important;
}

/* ---------- Product visuals final polish ---------- */

.hv2-products .hv2-product-visual,
.hv2-products .hv2-ai-visual,
.hv2-products .hv2-catalog-img{
  background:
    radial-gradient(circle at center,rgba(56,189,248,.18),transparent 42%),
    linear-gradient(135deg,#f8fbff,#dbeafe) !important;
}

/* ---------- Optical alignment ---------- */

.hv2-products .hv2-head{
  align-items:flex-start !important;
}

.hv2-products .hv2-head p{
  padding-top:10px !important;
}

/* ---------- Desktop final spacing ---------- */

@media (min-width:1201px){

  .hv2-products .hv2-section{
    padding-top:76px !important;
    padding-bottom:76px !important;
  }

  .hv2-products .hv2-ai,
  .hv2-products .hv2-catalog{
    padding-top:76px !important;
    padding-bottom:76px !important;
  }

  .hv2-products .hv2-cta{
    padding-top:76px !important;
    padding-bottom:112px !important;
  }

  .hv2-products .hv2-cat-grid,
  .hv2-products .hv2-industry-grid{
    gap:24px !important;
  }

  .hv2-products .hv2-products-grid{
    gap:28px !important;
  }

  .hv2-products .hv2-hero-box,
  .hv2-products .hv2-ai-box,
  .hv2-products .hv2-catalog-box,
  .hv2-products .hv2-cta-box{
    border-radius:42px !important;
  }
}

/* ---------- Laptop final spacing ---------- */

@media (min-width:1025px) and (max-width:1440px){

  .hv2-products .hv2-section,
  .hv2-products .hv2-ai,
  .hv2-products .hv2-catalog{
    padding-top:62px !important;
    padding-bottom:62px !important;
  }

  .hv2-products .hv2-cta{
    padding-top:62px !important;
    padding-bottom:88px !important;
  }
}

/* ---------- Tablet final polish ---------- */

@media (min-width:769px) and (max-width:1024px){

  .hv2-products .hv2-hero-box,
  .hv2-products .hv2-ai-box,
  .hv2-products .hv2-catalog-box,
  .hv2-products .hv2-cta-box{
    border-radius:34px !important;
  }

  .hv2-products .hv2-section,
  .hv2-products .hv2-ai,
  .hv2-products .hv2-catalog{
    padding-top:56px !important;
    padding-bottom:56px !important;
  }
}

/* ---------- Mobile final premium polish ---------- */

@media (max-width:768px){

  .hv2-products .hv2-wrap{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .hv2-products .hv2-hero{
    padding-top:28px !important;
    padding-bottom:42px !important;
  }

  .hv2-products .hv2-hero-box,
  .hv2-products .hv2-ai-box,
  .hv2-products .hv2-catalog-box,
  .hv2-products .hv2-cta-box{
    border-radius:28px !important;
  }

  .hv2-products .hv2-section,
  .hv2-products .hv2-ai,
  .hv2-products .hv2-catalog{
    padding-top:46px !important;
    padding-bottom:46px !important;
  }

  .hv2-products .hv2-cta{
    padding-top:46px !important;
    padding-bottom:66px !important;
  }

  .hv2-products .hv2-cat,
  .hv2-products .hv2-product-card,
  .hv2-products .hv2-industry{
    border-radius:26px !important;
  }

  .hv2-products .hv2-btn{
    box-shadow:
      0 14px 32px rgba(37,99,235,.25),
      inset 0 1px 0 rgba(255,255,255,.40) !important;
  }

  .hv2-products .hv2-head{
    margin-bottom:24px !important;
  }

  .hv2-products .hv2-head p{
    padding-top:0 !important;
  }
}

/* ---------- Final safety ---------- */

.hv2-products *{
  -webkit-font-smoothing:antialiased;
}


/* =========================================================
   PRODUCT CATALOG SECTION WRAPPER
========================================================= */

.hv-product-catalog{
  padding-top:100px;
  padding-bottom:100px;
}

@media(max-width:768px){
  .hv-product-catalog{
    padding-top:64px;
    padding-bottom:64px;
  }
}

   FEATURED PRODUCTS — FINAL PREMIUM CARDS
========================================================= */

.hv2-premium-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:28px !important;
    align-items:stretch !important;
}

.hv2-premium-card{
    position:relative;
    display:flex !important;
    flex-direction:column !important;
    min-width:0;
    padding:24px !important;
    border-radius:36px !important;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.98),
            rgba(239,246,255,.94)
        ) !important;

    border:1px solid rgba(55,110,255,.12) !important;

    box-shadow:
        0 25px 65px rgba(30,75,150,.11) !important;

    overflow:hidden;
    transition:
        transform .4s ease,
        box-shadow .4s ease;
}

.hv2-premium-card:hover{
    transform:translateY(-8px);
    box-shadow:
        0 35px 80px rgba(30,75,150,.17) !important;
}

.hv2-premium-visual{
    position:relative;
    width:100%;
    height:280px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:24px;
    padding:18px;

    border-radius:30px;

    background:
        radial-gradient(
            circle at center,
            rgba(91,159,255,.22),
            rgba(227,239,255,.90) 70%
        );

    overflow:hidden;
    isolation:isolate;
}

.hv2-premium-visual::before{
    content:"";
    position:absolute;
    left:50%;
    top:50%;

    width:205px;
    height:205px;

    border-radius:50%;
    border:1px solid rgba(51,120,255,.15);

    box-shadow:
        0 0 42px rgba(51,120,255,.12);

    transform:translate(-50%,-50%);
    pointer-events:none;
}

.hv2-premium-visual img{
    position:relative;
    z-index:2;

    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;

    object-fit:contain;

    filter:
        drop-shadow(0 20px 25px rgba(20,70,150,.16))
        drop-shadow(0 0 20px rgba(50,145,255,.12));

    transition:transform .45s ease;
}

.hv2-premium-card:hover .hv2-premium-visual img{
    transform:scale(1.035);
}

/* Separate visual sizing for each real product image */

.hv2-card-wifi .hv2-premium-visual img{
    max-width:74%;
    max-height:94%;
}

.hv2-card-ptz .hv2-premium-visual img{
    max-width:90%;
    max-height:82%;
}

.hv2-card-solar .hv2-premium-visual img{
    max-width:94%;
    max-height:82%;
}

.hv2-premium-card .hv2-tag{
    display:inline-flex;
    width:max-content;
    margin-bottom:15px;
}

.hv2-premium-card h3{
    min-height:61px;
    margin:0 0 14px !important;

    font-size:25px !important;
    line-height:1.22 !important;
}

.hv2-premium-card > p{
    min-height:84px;
    margin:0 0 20px !important;

    color:#64748b !important;
    font-size:15px !important;
    line-height:1.75 !important;
}

.hv2-mini-features{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;

    margin-bottom:24px;
}

.hv2-mini-features span{
    position:relative;

    min-width:0;
    padding:11px 8px 11px 25px;

    border-radius:14px;

    background:rgba(255,255,255,.68);
    border:1px solid rgba(54,112,255,.10);

    color:#34445e;
    font-size:11px;
    font-weight:600;
    line-height:1.35;
}

.hv2-mini-features span::before{
    content:"";
    position:absolute;

    left:10px;
    top:50%;

    width:6px;
    height:6px;

    border-radius:50%;
    background:#2c7af5;

    transform:translateY(-50%);

    box-shadow:
        0 0 8px rgba(44,122,245,.55);
}

.hv2-premium-card .hv2-btn{
    display:flex !important;
    align-items:center;
    justify-content:center;

    width:100%;
    margin-top:auto;
}

@media(max-width:950px){

    .hv2-premium-grid{
        grid-template-columns:1fr !important;
    }

    .hv2-premium-visual{
        height:330px;
    }

    .hv2-card-wifi .hv2-premium-visual img{
        max-width:58%;
        max-height:94%;
    }

    .hv2-card-ptz .hv2-premium-visual img{
        max-width:76%;
        max-height:84%;
    }

    .hv2-card-solar .hv2-premium-visual img{
        max-width:82%;
        max-height:84%;
    }

}

@media(max-width:600px){

    .hv2-premium-card{
        padding:18px !important;
        border-radius:28px !important;
    }

    .hv2-premium-visual{
        height:250px;
        padding:14px;
        border-radius:24px;
    }

    .hv2-card-wifi .hv2-premium-visual img{
        max-width:74%;
        max-height:94%;
    }

    .hv2-card-ptz .hv2-premium-visual img{
        max-width:92%;
        max-height:82%;
    }

    .hv2-card-solar .hv2-premium-visual img{
        max-width:96%;
        max-height:80%;
    }

    .hv2-premium-card h3,
    .hv2-premium-card > p{
        min-height:0;
    }

    .hv2-mini-features{
        grid-template-columns:1fr;
    }

}

/* =========================================================
   FEATURED PRODUCT IMAGE SIZE — FINAL OVERRIDE
========================================================= */

.hv2-products .hv2-premium-card .hv2-premium-visual{
    height:280px !important;
    padding:18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
}

.hv2-products .hv2-premium-card .hv2-premium-visual img{
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
}

/* WiFi */
.hv2-products .hv2-card-wifi .hv2-premium-visual img{
    max-width:68% !important;
    max-height:92% !important;
}

/* PTZ */
.hv2-products .hv2-card-ptz .hv2-premium-visual img{
    max-width:94% !important;
    max-height:88% !important;
}

/* Solar */
.hv2-products .hv2-card-solar .hv2-premium-visual img{
    max-width:96% !important;
    max-height:88% !important;
}

@media(max-width:950px){

    .hv2-products .hv2-premium-card .hv2-premium-visual{
        height:320px !important;
    }

    .hv2-products .hv2-card-wifi .hv2-premium-visual img{
        max-width:58% !important;
        max-height:92% !important;
    }

    .hv2-products .hv2-card-ptz .hv2-premium-visual img{
        max-width:78% !important;
        max-height:86% !important;
    }

    .hv2-products .hv2-card-solar .hv2-premium-visual img{
        max-width:84% !important;
        max-height:86% !important;
    }

}

@media(max-width:600px){

    .hv2-products .hv2-premium-card .hv2-premium-visual{
        height:250px !important;
        padding:14px !important;
    }

    .hv2-products .hv2-card-wifi .hv2-premium-visual img{
        max-width:72% !important;
        max-height:92% !important;
    }

    .hv2-products .hv2-card-ptz .hv2-premium-visual img{
        max-width:94% !important;
        max-height:84% !important;
    }

    .hv2-products .hv2-card-solar .hv2-premium-visual img{
        max-width:98% !important;
        max-height:84% !important;
    }

}

/* =========================================================


/* =========================================================
   END — HACVIO Products CSS v1.0
========================================================= */
