/* ============================================================
   ELVA — Home 5 (composed from Home 4 + Elva Home + Integrations)
   ============================================================

   COLLISION SAFETY NOTE — read before editing this file.

   Home 5 combines content from THREE previously-separate template
   families that were never designed to share a page:
     - Home 4 (hero, video, "AI Operating System")   -> .elva-pg wrapper
     - Elva Home (suite, Elva Brain, Why Elva)         -> .elva-pg wrapper
     - Integrations (trimmed hero)                     -> .elva-ins-sub wrapper

   Home 4 and Elva Home BOTH use the bare ".elva-pg" wrapper class, and
   their stylesheets both write plain ".elva-pg .X{...}" selectors with
   no further scoping. A full property-level audit (comparing every
   class both sides use) found that most shared "atom" classes (.btn,
   .eyebrow, .ico, .wrap-wide, etc.) are near-identical between the two
   stylesheets — harmless either way — but SIX classes had real,
   structural conflicts that would visibly corrupt one side's layout:
     .hero-visual-home, .partner, .partner-strip, .plogo-img  (Home-4 side)
     .pillar, .pillars, .pillar-grid, .pillar-ic               (Elva-Home side)
   Those have been renamed with an "h5-" prefix in THIS template's PHP
   (and correspondingly here), so neither stylesheet's competing rule can
   touch them. Do not remove the "h5-" prefix from those specific classes,
   and do not introduce a new class name here that already exists in
   elva-pages-home.css or elva-pages-home3.css/home4.css without checking
   first — same audit process, or the bug comes back.

   The trimmed Integrations hero is kept in its own isolated
   <div class="elva-ins-sub"> sibling (never nested inside the .elva-pg
   region), so insurance-sub.css/integrations.css rules never leak into
   the Home-4/Elva-Home region and vice versa.
   ============================================================ */

/* ---- protected classes, renamed from Home 4's hero (verbatim copy of
   elva-pages-home3.css's original rules, just under the new names) ---- */
.elva-pg .h5-hero-visual-home{ position:relative; height:480px; }
.elva-pg .h5-hero-visual-home::before{ content:''; position:absolute; inset:-30px -10px 20px; border-radius:40px; background:linear-gradient(135deg,rgba(155,92,255,.16),rgba(91,141,239,.12) 50%,rgba(63,184,168,.14)); filter:blur(30px); z-index:0; }
.elva-pg .h5-hero-visual-home .hero-img-single{
  position:relative; z-index:1; width:100%; height:100%;
  object-fit:contain; object-position:center; display:block;
  filter:drop-shadow(0 30px 60px rgba(20,20,30,.18));
}
.elva-pg .h5-partner-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.elva-pg .h5-partner{ display:flex; flex-direction:column; align-items:center; gap:9px; text-align:center; filter:none; opacity:1; transition:filter .3s, opacity .3s; }
.elva-pg .h5-partner:hover{ filter:none; opacity:1; }
.elva-pg .h5-plogo-img{ height:26px; width:auto; max-width:150px; object-fit:contain; }
.elva-pg .h5-partner .pcap{ font-size:13px; color:var(--ink-2); line-height:1.5; font-weight:500; }
@media (max-width:900px){
  .elva-pg .h5-hero-visual-home{ height:300px; }
  .elva-pg .h5-partner-strip{ grid-template-columns:repeat(2,1fr); gap:16px; }
}

/* ---- protected classes, renamed from Elva Home's Why-Elva pillars
   (verbatim copy of elva-pages-home.css's original rules) ---- */
.elva-pg .h5-pillars{ padding:24px 0 20px; }
.elva-pg .h5-pillar-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.elva-pg .h5-pillar{
  background:#fff; border:1px solid var(--cream-2); border-radius:var(--r-xl);
  padding:22px; box-shadow:var(--sh-1);
  transition:transform var(--dur-med,.32s) var(--ease-out), box-shadow var(--dur-med,.32s) var(--ease-out);
}
.elva-pg .h5-pillar:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); }
.elva-pg .h5-pillar-ic{ width:38px; height:38px; border-radius:11px; background:var(--cream-0); border:1px solid var(--cream-2); display:grid; place-items:center; color:var(--ink-0); margin-bottom:16px; }
.elva-pg .h5-pillar-ic.c-blue{ background:var(--info-tint); border-color:transparent; color:var(--info); }
.elva-pg .h5-pillar-ic.c-purple{ background:var(--ai-tint); border-color:transparent; color:#7a48c4; }
.elva-pg .h5-pillar-ic.c-green{ background:var(--sage-tint,rgba(63,184,168,.14)); border-color:transparent; color:#1e8a72; }
.elva-pg .h5-pillar-ic.c-gold{ background:rgba(224,166,58,.16); border-color:transparent; color:#a97a1a; }
.elva-pg .h5-pillar h3{ font-size:20px; line-height:1.3; }
.elva-pg .h5-pillar p{ font-size:14.5px; line-height:1.6; color:var(--ink-2); margin-top:12px; }
@media (max-width:900px){
  .elva-pg .h5-pillar-grid{ grid-template-columns:1fr; }
  .elva-pg .h5-pillar{ padding:24px 22px 28px; }
}

/* ---- section spacing fixes ---- */
.elva-pg .h5-why-elva{ padding-top:150px; }
.h5-integ-wrap{ padding-bottom:150px; }

/* ============================================================
   NEW: stats CTA box (section 4) — dark, full-width, 6 stats + CTA
   Fresh, unique class names — no dependency on any other stylesheet.
   ============================================================ */
.elva-pg .h5-stats-box{
  position:relative; overflow:hidden; margin:80px 0; border-radius:28px;
  background:linear-gradient(120deg,#2A1466 0%,#3B1F8A 55%,#2A1466 100%);
  padding:52px 56px; display:flex; align-items:center; gap:44px; flex-wrap:wrap;
  box-shadow:0 40px 90px -50px rgba(43,20,102,.7);
}
.elva-pg .h5-stats-box::before{
  content:''; position:absolute; top:-160px; left:-100px; width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle,rgba(155,92,255,.35),transparent 70%); filter:blur(60px); pointer-events:none;
}
.elva-pg .h5-stats-copy{ position:relative; flex:0 0 260px; }
.elva-pg .h5-stats-copy h2{ color:#fff; font-family:var(--font-display); font-weight:600; letter-spacing:-.03em; font-size:clamp(24px,2.6vw,30px); line-height:1.18; margin:0; }
.elva-pg .h5-stats-copy p{ color:rgba(255,255,255,.55); font-family:var(--font-mono); font-size:12.5px; letter-spacing:.01em; margin-top:10px; }
.elva-pg .h5-stats-grid{ position:relative; flex:1 1 480px; display:grid; grid-template-columns:repeat(3,1fr); gap:26px 36px; }
.elva-pg .h5-stat{ text-align:center; }
.elva-pg .h5-stat .n{ display:block; color:#fff; font-family:var(--font-display); font-weight:700; letter-spacing:-.02em; font-size:clamp(22px,2.4vw,28px); }
.elva-pg .h5-stat .l{ display:block; color:rgba(255,255,255,.5); font-family:var(--font-mono); font-size:11px; letter-spacing:.01em; margin-top:6px; line-height:1.4; }
.elva-pg .h5-stats-cta{ position:relative; flex:0 0 auto; }
.elva-pg .h5-stats-cta .btn{
  background:#fff; color:#1D1D1F; border:none; display:inline-flex; align-items:center; gap:9px;
  padding:15px 26px; border-radius:999px; font-family:var(--font-mono); font-weight:600; font-size:13px;
  letter-spacing:.06em; text-transform:uppercase; box-shadow:0 18px 40px -18px rgba(0,0,0,.5);
  transition:transform .16s, box-shadow .16s;
}
.elva-pg .h5-stats-cta .btn:hover{ transform:translateY(-2px); box-shadow:0 24px 50px -18px rgba(0,0,0,.6); color:#1D1D1F; }
.elva-pg .h5-stats-cta .btn .ico{ width:15px; height:15px; }
.elva-pg .h5-stats-trust{
  position:relative; width:100%; margin-top:34px; padding-top:22px; border-top:1px solid rgba(255,255,255,.14);
  display:flex; flex-wrap:wrap; align-items:center; gap:6px;
  font-family:var(--font-mono); font-size:11.5px; color:rgba(255,255,255,.45);
}
.elva-pg .h5-stats-trust b{ color:rgba(255,255,255,.7); font-weight:500; display:inline-flex; align-items:center; gap:5px; }
.elva-pg .h5-stats-trust b svg{ width:11px; height:11px; stroke:rgba(255,255,255,.6); fill:none; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.elva-pg .h5-stats-trust .sep{ color:rgba(255,255,255,.25); margin:0 2px; }
@media (max-width:1080px){
  .elva-pg .h5-stats-box{ padding:40px 36px; }
  .elva-pg .h5-stats-copy{ flex-basis:100%; }
  .elva-pg .h5-stats-grid{ flex-basis:100%; grid-template-columns:repeat(3,1fr); }
  .elva-pg .h5-stats-cta{ flex-basis:100%; }
  .elva-pg .h5-stats-cta .btn{ width:100%; justify-content:center; }
}
@media (max-width:640px){
  .elva-pg .h5-stats-box{ margin:56px 0; padding:32px 24px; border-radius:22px; }
  .elva-pg .h5-stats-grid{ grid-template-columns:repeat(2,1fr); gap:22px; }
}
