/* ============================================================
   BVSDesigns — High-Fidelity One-Page Website
   Scoped design system. All rules live under .bvs-site so the
   stylesheet is safe to drop into WordPress / Elementor without
   colliding with theme styles.
   Brand palette = index.theme fallback (no index.theme supplied).
   ============================================================ */

.bvs-site {
  /* ---- Brand tokens ---- */
  --bvs-navy:      #06142B;
  --bvs-deep:      #020B1A;
  --bvs-blue:      #004AAD;
  --bvs-electric:  #4F75F2;
  --bvs-cyan:      #00B7FF;
  --bvs-ice:       #F4F8FF;
  --bvs-white:     #FFFFFF;
  --bvs-dark-text: #0E1726;

  /* ---- Derived surfaces ---- */
  --surface-1: rgba(255,255,255,.04);
  --surface-2: rgba(255,255,255,.06);
  --glass-bg:  rgba(13,30,58,.55);
  --glass-brd: rgba(120,170,255,.18);
  --glass-brd-strong: rgba(120,170,255,.38);
  --ink:       #E8F0FF;
  --ink-soft:  #A9BBD8;
  --ink-mute:  #7C8DAE;

  --glow-cyan: 0 0 0 1px rgba(0,183,255,.25), 0 18px 50px -18px rgba(0,183,255,.55);
  --glow-blue: 0 0 0 1px rgba(79,117,242,.30), 0 22px 60px -22px rgba(79,117,242,.6);
  --shadow-card: 0 24px 60px -28px rgba(0,0,0,.75);

  --radius-s: 12px;
  --radius:   18px;
  --radius-l: 26px;

  --container: 1200px;
  --gutter: clamp(18px, 4vw, 44px);

  --font: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;

  position: relative;
  font-family: var(--font);
  color: var(--ink);
  background: var(--bvs-deep);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}

/* Site-wide deep gradient + grid backdrop */
.bvs-site::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(1200px 800px at 78% -8%, rgba(0,183,255,.18), transparent 60%),
    radial-gradient(1000px 700px at 8% 12%, rgba(79,117,242,.16), transparent 55%),
    radial-gradient(900px 900px at 50% 120%, rgba(0,74,173,.18), transparent 60%),
    linear-gradient(180deg, var(--bvs-deep), #04102a 40%, var(--bvs-deep));
}
.bvs-site .bvs-grid-overlay {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .5;
  background-image:
    linear-gradient(rgba(120,170,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120,170,255,.05) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(circle at 50% 30%, #000 0%, transparent 78%);
          mask-image: radial-gradient(circle at 50% 30%, #000 0%, transparent 78%);
}

.bvs-site * { box-sizing: border-box; }
.bvs-site > * { position: relative; z-index: 1; }

/* ---- Base typography ---- */
.bvs-site h1, .bvs-site h2, .bvs-site h3, .bvs-site h4 {
  margin: 0 0 .5em;
  line-height: 1.08;
  letter-spacing: -.02em;
  font-weight: 800;
  color: #fff;
}
.bvs-site h1 { font-size: clamp(2.3rem, 5.2vw, 4rem); }
.bvs-site h2 { font-size: clamp(1.7rem, 3.4vw, 2.7rem); }
.bvs-site h3 { font-size: clamp(1.15rem, 1.8vw, 1.4rem); }
.bvs-site p  { margin: 0 0 1rem; color: var(--ink-soft); }
.bvs-site a  { color: inherit; text-decoration: none; }
.bvs-site img { max-width: 100%; display: block; }
/* safety net: any inline SVG without an explicit size rule defaults to a sane inline-icon size.
   :where() has 0 specificity, so every other SVG rule in this file still wins. */
.bvs-site :where(svg) { width: 1.15em; height: 1.15em; flex-shrink: 0; }

.bvs-site .bvs-ilink { color: var(--bvs-cyan); font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(0,183,255,.4); transition: color .2s, border-color .2s; }
.bvs-site .bvs-ilink:hover { color: #6fd2ff; border-color: var(--bvs-cyan); }
.bvs-site .bvs-band--light .bvs-ilink { color: var(--bvs-blue); border-color: rgba(0,74,173,.4); }
.bvs-site .bvs-band--light .bvs-ilink:hover { color: #0066e0; border-color: var(--bvs-blue); }

.bvs-site .accent {
  background: linear-gradient(100deg, var(--bvs-cyan), var(--bvs-electric) 55%, #8fb4ff);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

/* ---- Layout helpers ---- */
.bvs-site .bvs-wrap { width: min(var(--container), 100% - (var(--gutter) * 2)); margin-inline: auto; }
.bvs-site .bvs-section { padding: clamp(64px, 9vw, 120px) 0; position: relative; }
.bvs-site .bvs-section--tight { padding: clamp(40px, 6vw, 72px) 0; }

.bvs-site .bvs-eyebrow {
  display: inline-flex; align-items: center; gap: .55rem;
  font-size: .76rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: var(--bvs-cyan);
  padding: .5rem .9rem; border-radius: 999px;
  background: rgba(0,183,255,.08);
  border: 1px solid rgba(0,183,255,.28);
}
.bvs-site .bvs-eyebrow .dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--bvs-cyan); box-shadow: 0 0 12px 2px var(--bvs-cyan);
  animation: bvs-pulse 2.4s infinite;
}
@keyframes bvs-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.45;transform:scale(.7)} }

.bvs-site .bvs-section-head { max-width: 760px; margin-bottom: clamp(34px, 5vw, 56px); }
.bvs-site .bvs-section-head.center { margin-inline: auto; text-align: center; }
.bvs-site .bvs-section-head h2 { margin-top: .65rem; }
.bvs-site .bvs-section-head p { font-size: 1.06rem; }

.bvs-site .bvs-lead { font-size: clamp(1.05rem, 1.4vw, 1.2rem); color: var(--ink-soft); max-width: 60ch; }

/* ============================================================
   HEADER / NAV
   ============================================================ */
.bvs-site .bvs-header {
  position: sticky; top: 0; z-index: 50;
  transition: background .35s ease, box-shadow .35s ease, backdrop-filter .35s;
}
.bvs-site .bvs-header.is-stuck {
  background: rgba(4,12,30,.78);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  border-bottom: 1px solid var(--glass-brd);
  box-shadow: 0 12px 40px -22px rgba(0,0,0,.9);
}
.bvs-site .bvs-nav { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; padding: 14px 0; }
.bvs-site .bvs-brand { display: flex; align-items: center; gap: .6rem; flex-shrink: 0; }
.bvs-site .bvs-brand img {
  height: 38px; width: auto;
  /* crisp white outline (stacked hard shadows) + soft glow so the logo lifts off the navy header */
  filter:
    drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff)
    drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff)
    drop-shadow(0 0 9px rgba(150,205,255,.6));
  transition: filter .3s ease, transform .3s ease;
}
.bvs-site .bvs-brand:hover img {
  filter:
    drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff)
    drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff)
    drop-shadow(0 0 16px rgba(0,183,255,.9));
  transform: translateY(-1px);
}
.bvs-site .bvs-menu { display: flex; align-items: center; gap: .35rem; }
.bvs-site .bvs-menu a {
  font-size: .92rem; font-weight: 600; color: var(--ink-soft);
  padding: .55rem .85rem; border-radius: 10px; transition: color .2s, background .2s;
}
.bvs-site .bvs-menu a:hover { color: #fff; background: var(--surface-2); }
.bvs-site .bvs-menu a.active { color: #fff; }
.bvs-site .bvs-menu a.active::after {
  content: ""; display:block; height:2px; margin-top:4px; border-radius:2px;
  background: linear-gradient(90deg, var(--bvs-cyan), var(--bvs-electric));
}

.bvs-site .bvs-btn {
  --b1: var(--bvs-electric); --b2: var(--bvs-cyan);
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  font-weight: 700; font-size: .95rem; line-height: 1;
  padding: .85rem 1.4rem; border-radius: 12px; cursor: pointer;
  border: 1px solid transparent; position: relative; overflow: hidden;
  transition: transform .18s ease, box-shadow .25s ease, filter .2s;
  white-space: nowrap;
}
.bvs-site .bvs-btn--primary {
  color: #04122e;
  background: linear-gradient(120deg, var(--bvs-cyan), var(--bvs-electric));
  box-shadow: var(--glow-blue);
}
.bvs-site .bvs-btn--primary:hover { transform: translateY(-2px); filter: brightness(1.06); }
.bvs-site .bvs-btn--ghost {
  color: #dce8ff; background: var(--surface-2);
  border-color: var(--glass-brd-strong); backdrop-filter: blur(6px);
}
.bvs-site .bvs-btn--ghost:hover { transform: translateY(-2px); border-color: var(--bvs-cyan); color:#fff; }
.bvs-site .bvs-btn--sm { padding: .6rem 1rem; font-size: .85rem; }
/* button shimmer */
.bvs-site .bvs-btn--primary::after {
  content:""; position:absolute; top:0; left:-120%; width:60%; height:100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent);
  transform: skewX(-18deg); transition: none;
}
.bvs-site .bvs-btn--primary:hover::after { animation: bvs-shimmer 1.1s ease; }
@keyframes bvs-shimmer { to { left: 130%; } }

.bvs-site .bvs-nav-toggle {
  display: none; background: var(--surface-2); border: 1px solid var(--glass-brd);
  color: #fff; width: 44px; height: 42px; border-radius: 10px; cursor: pointer;
  font-size: 1.2rem; align-items: center; justify-content: center;
}

/* ============================================================
   HERO
   ============================================================ */
.bvs-site .bvs-hero { padding: clamp(48px, 8vw, 96px) 0 clamp(56px, 8vw, 104px); overflow: hidden; position: relative; }
.bvs-site .bvs-hero-video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; z-index: 0; opacity: 0.32; pointer-events: none;
}
.bvs-site .bvs-hero-video-overlay {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, rgba(2,11,26,.82) 0%, rgba(6,20,43,.65) 55%, rgba(2,11,26,.9) 100%);
}
.bvs-site .bvs-hero-grid {
  display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px, 4vw, 56px);
  align-items: center;
}
.bvs-site .bvs-hero h1 { margin: 1rem 0 1.1rem; }
.bvs-site .bvs-hero .bvs-lead { margin-bottom: 1.8rem; }
.bvs-site .bvs-hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: 2.2rem; }

.bvs-site .bvs-hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 540px; }
.bvs-site .bvs-stat {
  padding: 1rem 1.1rem; border-radius: var(--radius-s);
  background: var(--glass-bg); border: 1px solid var(--glass-brd);
  backdrop-filter: blur(8px);
}
.bvs-site .bvs-stat b { display:block; font-size: 1.5rem; color:#fff; font-weight: 800; letter-spacing: -.02em; }
.bvs-site .bvs-stat span { font-size: .78rem; color: var(--ink-mute); }

/* Hero visual — framed poster (never cropped) */
.bvs-site .bvs-hero-visual { position: relative; }
.bvs-site .bvs-hero-frame {
  position: relative; border-radius: var(--radius-l); overflow: hidden;
  border: 1px solid var(--glass-brd-strong);
  background: linear-gradient(160deg, rgba(0,74,173,.25), rgba(2,11,26,.6));
  box-shadow: var(--shadow-card), var(--glow-cyan);
}
.bvs-site .bvs-hero-frame img { width: 100%; height: auto; display: block; }
.bvs-site .bvs-hero-frame::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background: linear-gradient(180deg, transparent 60%, rgba(2,11,26,.35));
  mix-blend-mode: multiply;
}
.bvs-site .bvs-hero-badge {
  position: absolute; left: 14px; bottom: 14px; z-index: 3;
  display: flex; align-items: center; gap: .5rem;
  font-size: .74rem; font-weight: 700; letter-spacing: .06em;
  padding: .5rem .8rem; border-radius: 999px; color: #eaf4ff;
  background: rgba(4,12,30,.7); border: 1px solid var(--glass-brd-strong);
  backdrop-filter: blur(8px);
}
.bvs-site .bvs-hero-badge .dot { width:8px;height:8px;border-radius:50%;background:var(--bvs-cyan);box-shadow:0 0 10px var(--bvs-cyan); }

.bvs-site .bvs-float-chip {
  position: absolute; right: -10px; top: 28px; z-index: 4;
  max-width: 220px; padding: .85rem 1rem; border-radius: 14px;
  background: rgba(8,20,44,.82); border: 1px solid var(--glass-brd-strong);
  box-shadow: var(--shadow-card); backdrop-filter: blur(10px);
  animation: bvs-float 6s ease-in-out infinite;
}
.bvs-site .bvs-float-chip b { color:#fff; font-size:.86rem; display:block; margin-bottom:2px; }
.bvs-site .bvs-float-chip span { color: var(--ink-soft); font-size:.76rem; }
@keyframes bvs-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }

/* ---- Custom glass browser mockup (hero focal visual — no baked-in text) ---- */
.bvs-site .bvs-mockup {
  position: relative; border-radius: 18px; overflow: hidden;
  border: 1px solid var(--glass-brd-strong);
  background: #0a1730;
  box-shadow: var(--shadow-card), var(--glow-cyan);
  animation: bvs-float 7s ease-in-out infinite;
}
.bvs-site .bvs-mockup-bar { display:flex; align-items:center; gap:7px; padding:11px 14px; background:rgba(255,255,255,.04); border-bottom:1px solid var(--glass-brd); }
.bvs-site .bvs-mockup-bar i { width:11px; height:11px; border-radius:50%; display:block; }
.bvs-site .bvs-mockup-bar i:nth-child(1){ background:#ff5f57; }
.bvs-site .bvs-mockup-bar i:nth-child(2){ background:#febc2e; }
.bvs-site .bvs-mockup-bar i:nth-child(3){ background:#28c840; }
.bvs-site .bvs-mockup-url { margin-left:8px; flex:1; font-size:.7rem; color:var(--ink-soft); background:rgba(2,11,26,.6); border:1px solid var(--glass-brd); border-radius:8px; padding:5px 11px; display:flex; align-items:center; gap:7px; }
.bvs-site .bvs-mockup-url svg { width:12px; height:12px; color:var(--bvs-cyan); flex-shrink:0; }
.bvs-site .bvs-mockup-screen { padding:20px; background: radial-gradient(130% 110% at 82% -10%, rgba(0,74,173,.4), transparent 58%), linear-gradient(180deg,#08152e,#0a1832); }
.bvs-site .mk-nav { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.bvs-site .mk-nav img { height:17px; width:auto; filter: drop-shadow(0 2px 8px rgba(0,140,255,.4)); }
.bvs-site .mk-links { display:flex; gap:9px; }
.bvs-site .mk-links span { width:24px; height:6px; border-radius:3px; background:rgba(255,255,255,.16); }
.bvs-site .mk-links span:last-child { width:40px; background:linear-gradient(90deg,var(--bvs-cyan),var(--bvs-electric)); }
.bvs-site .mk-badge { display:inline-block; font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:var(--bvs-cyan); background:rgba(0,183,255,.1); border:1px solid rgba(0,183,255,.32); padding:4px 9px; border-radius:999px; margin-bottom:13px; }
.bvs-site .mk-h { height:13px; border-radius:6px; background:linear-gradient(90deg,#fff,rgba(255,255,255,.45)); width:88%; margin-bottom:9px; }
.bvs-site .mk-h.mid { width:66%; }
.bvs-site .mk-h.accent { width:52%; background:linear-gradient(90deg,var(--bvs-cyan),var(--bvs-electric)); }
.bvs-site .mk-btns { display:flex; gap:9px; margin:16px 0 20px; }
.bvs-site .mk-btns i { height:28px; width:104px; border-radius:8px; background:linear-gradient(120deg,var(--bvs-cyan),var(--bvs-electric)); box-shadow:0 8px 20px -8px rgba(0,183,255,.7); }
.bvs-site .mk-btns i.ghost { width:88px; background:rgba(255,255,255,.06); border:1px solid var(--glass-brd); box-shadow:none; }
.bvs-site .mk-tiles { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-bottom:14px; }
.bvs-site .mk-tile { padding:11px 12px; border-radius:11px; background:rgba(255,255,255,.045); border:1px solid var(--glass-brd); }
.bvs-site .mk-tile b { display:block; font-size:1.05rem; font-weight:800; color:#fff; letter-spacing:-.02em; }
.bvs-site .mk-tile.cyan b { color:var(--bvs-cyan); }
.bvs-site .mk-tile span { font-size:.58rem; color:var(--ink-mute); }
.bvs-site .mk-chart { display:flex; align-items:flex-end; gap:7px; height:60px; padding:12px; border-radius:11px; background:rgba(2,11,26,.5); border:1px solid var(--glass-brd); }
.bvs-site .mk-chart i { flex:1; border-radius:5px 5px 0 0; background:linear-gradient(180deg,var(--bvs-cyan),rgba(79,117,242,.25)); transform-origin:bottom; animation: mk-bars 3.2s ease-in-out infinite alternate; }
.bvs-site .mk-chart i:nth-child(1){ height:40%; animation-delay:0s }
.bvs-site .mk-chart i:nth-child(2){ height:62%; animation-delay:.2s }
.bvs-site .mk-chart i:nth-child(3){ height:48%; animation-delay:.4s }
.bvs-site .mk-chart i:nth-child(4){ height:78%; animation-delay:.6s }
.bvs-site .mk-chart i:nth-child(5){ height:58%; animation-delay:.8s }
.bvs-site .mk-chart i:nth-child(6){ height:90%; animation-delay:1s }
.bvs-site .mk-chart i:nth-child(7){ height:70%; animation-delay:1.2s }
@keyframes mk-bars { from{ transform:scaleY(.7) } to{ transform:scaleY(1) } }
.bvs-site .bvs-secure-chip {
  position:absolute; left:-14px; bottom:54px; z-index:5;
  display:flex; align-items:center; gap:.5rem; padding:.6rem .85rem; border-radius:12px;
  background:rgba(8,20,44,.9); border:1px solid var(--glass-brd-strong); box-shadow:var(--shadow-card);
  animation: bvs-float 6.5s ease-in-out infinite; animation-delay:.4s;
}
.bvs-site .bvs-secure-chip svg { width:24px; height:24px; color:var(--bvs-cyan); }
.bvs-site .bvs-secure-chip b { display:block; font-size:.78rem; color:#fff; }
.bvs-site .bvs-secure-chip span { font-size:.66rem; color:var(--ink-soft); }

/* Trust strip under hero */
.bvs-site .bvs-trust-strip {
  margin-top: clamp(40px, 6vw, 64px);
  display: flex; flex-wrap: wrap; gap: 1.4rem 2.4rem; align-items: center; justify-content: center;
  padding-top: 26px; border-top: 1px solid var(--glass-brd);
  color: var(--ink-mute); font-size: .85rem; font-weight: 600; letter-spacing: .04em;
}
.bvs-site .bvs-trust-strip span { display: inline-flex; align-items: center; gap: .5rem; }
.bvs-site .bvs-trust-strip svg { width: 18px; height: 18px; color: var(--bvs-cyan); }

/* ============================================================
   CARDS — shared
   ============================================================ */
.bvs-site .bvs-card {
  position: relative; padding: 1.6rem; border-radius: var(--radius);
  background: var(--glass-bg); border: 1px solid var(--glass-brd);
  backdrop-filter: blur(10px);
  transition: transform .3s cubic-bezier(.2,.7,.2,1), border-color .3s, box-shadow .3s;
  overflow: hidden;
}
.bvs-site .bvs-card::before {
  content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; pointer-events:none;
  background: linear-gradient(140deg, rgba(0,183,255,.5), transparent 40%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; opacity:0; transition: opacity .3s;
}
.bvs-site .bvs-card:hover { transform: translateY(-7px); border-color: var(--glass-brd-strong); box-shadow: var(--shadow-card); }
.bvs-site .bvs-card:hover::before { opacity:1; }

.bvs-site .bvs-card-icon {
  width: 50px; height: 50px; border-radius: 13px; display: grid; place-items: center;
  margin-bottom: 1rem; color: var(--bvs-cyan);
  background: radial-gradient(120% 120% at 30% 20%, rgba(0,183,255,.25), rgba(79,117,242,.12));
  border: 1px solid rgba(0,183,255,.3);
}
.bvs-site .bvs-card-icon svg { width: 24px; height: 24px; }
.bvs-site .bvs-card h3 { margin-bottom: .4rem; }
.bvs-site .bvs-card p { margin: 0; font-size: .95rem; }

/* ============================================================
   NEWS
   ============================================================ */
.bvs-site .bvs-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.bvs-site .bvs-news-card { display: flex; flex-direction: column; }
.bvs-site .bvs-news-tag {
  align-self: flex-start; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color: var(--bvs-cyan); padding:.3rem .6rem; border-radius:6px; background: rgba(0,183,255,.1);
  margin-bottom: .9rem;
}
.bvs-site .bvs-news-card h3 { font-size: 1.15rem; }
.bvs-site .bvs-news-readmore { margin-top: 1rem; font-weight:700; font-size:.85rem; color: var(--bvs-cyan); display:inline-flex; gap:.4rem; align-items:center; }
.bvs-site .bvs-news-readmore svg { width:15px;height:15px; transition: transform .2s; }
.bvs-site .bvs-news-card:hover .bvs-news-readmore svg { transform: translateX(4px); }

/* ============================================================
   ABOUT
   ============================================================ */
.bvs-site .bvs-about-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap: clamp(30px,4vw,60px); align-items:center; }
.bvs-site .bvs-about-media { position: relative; border-radius: var(--radius-l); overflow: hidden; border:1px solid var(--glass-brd-strong); box-shadow: var(--shadow-card); }
.bvs-site .bvs-about-media img { width:100%; height:100%; object-fit: cover; min-height: 320px; }
.bvs-site .bvs-about-media .bvs-hero-badge { left: 14px; bottom: 14px; }
.bvs-site .bvs-ticks { list-style:none; padding:0; margin: 1.4rem 0 0; display:grid; gap: .7rem; }
.bvs-site .bvs-ticks li { display:flex; gap:.7rem; align-items:flex-start; color: var(--ink-soft); font-size:.96rem; }
.bvs-site .bvs-ticks svg { width:22px;height:22px;flex-shrink:0;color:var(--bvs-cyan); margin-top:1px; }
.bvs-site .bvs-about-callout {
  margin-top: 1.5rem; padding: 1.1rem 1.3rem; border-radius: 14px;
  background: linear-gradient(120deg, rgba(0,74,173,.22), rgba(0,183,255,.08));
  border: 1px solid var(--glass-brd-strong); color: var(--ink); font-size:.95rem;
}
.bvs-site .bvs-about-callout strong { color:#fff; }

/* ============================================================
   PARTNER PATHWAYS (InfuzedIT + accelIT)
   ============================================================ */
.bvs-site .bvs-pathways { display:grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.bvs-site .bvs-pathway {
  padding: clamp(1.5rem, 2.4vw, 2.2rem); border-radius: var(--radius-l);
  background: var(--glass-bg); border:1px solid var(--glass-brd); backdrop-filter: blur(10px);
  position: relative; overflow:hidden;
}
.bvs-site .bvs-pathway::after {
  content:""; position:absolute; right:-40px; top:-40px; width:180px; height:180px; border-radius:50%;
  background: radial-gradient(circle, rgba(0,183,255,.18), transparent 70%); pointer-events:none;
}
.bvs-site .bvs-pathway-tag {
  display:inline-flex; align-items:center; gap:.5rem; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:#04122e; background: linear-gradient(120deg, var(--bvs-cyan), var(--bvs-electric));
  padding:.35rem .7rem; border-radius:999px; margin-bottom:1rem;
}
.bvs-site .bvs-pathway-tag svg { width:15px; height:15px; flex-shrink:0; }
.bvs-site .bvs-pathway h3 { font-size: clamp(1.3rem,2vw,1.7rem); }
.bvs-site .bvs-pathway-list { list-style:none; padding:0; margin:1.2rem 0 0; display:grid; gap:.6rem; }
.bvs-site .bvs-pathway-list li { display:flex; gap:.6rem; align-items:center; font-size:.92rem; color:var(--ink-soft); }
.bvs-site .bvs-pathway-list svg { width:18px;height:18px;color:var(--bvs-cyan);flex-shrink:0; }
.bvs-site .bvs-pathway .bvs-note { margin-top:1.2rem; font-size:.82rem; color: var(--ink-mute); }

/* IT infrastructure capability grid (accelIT cards) */
.bvs-site .bvs-cap-grid { display:grid; grid-template-columns: repeat(4,1fr); gap:16px; margin-top: 28px; }
.bvs-site .bvs-cap {
  padding: 1.2rem; border-radius: var(--radius-s); text-align:left;
  background: var(--surface-1); border:1px solid var(--glass-brd);
  transition: transform .25s, border-color .25s, background .25s;
}
.bvs-site .bvs-cap:hover { transform: translateY(-5px); border-color: var(--glass-brd-strong); background: var(--surface-2); }
.bvs-site .bvs-cap-icon { width:40px;height:40px;border-radius:11px;display:grid;place-items:center;margin-bottom:.7rem;color:var(--bvs-cyan);background:rgba(0,183,255,.1);border:1px solid rgba(0,183,255,.25); }
.bvs-site .bvs-cap-icon svg { width:20px;height:20px; }
.bvs-site .bvs-cap h4 { color:#fff; font-size:.98rem; margin:0 0 .25rem; }
.bvs-site .bvs-cap p { font-size:.82rem; margin:0; color: var(--ink-mute); }

/* Metrics row with counters + progress bars */
.bvs-site .bvs-metrics { display:grid; grid-template-columns: 1.1fr .9fr; gap: 28px; margin-top: 36px; align-items:center; }
.bvs-site .bvs-counters { display:grid; grid-template-columns: repeat(2,1fr); gap:16px; }
.bvs-site .bvs-counter {
  padding: 1.3rem 1.2rem; border-radius: var(--radius-s);
  background: var(--glass-bg); border:1px solid var(--glass-brd); text-align:center;
}
.bvs-site .bvs-counter b { display:block; font-size: clamp(2rem,3.4vw,2.7rem); font-weight:800; color:#fff; letter-spacing:-.03em; }
.bvs-site .bvs-counter b .suffix { color: var(--bvs-cyan); }
.bvs-site .bvs-counter span { font-size:.8rem; color: var(--ink-mute); }
.bvs-site .bvs-bars { display:grid; gap: 1.1rem; }
.bvs-site .bvs-bar-row .bvs-bar-label { display:flex; justify-content:space-between; font-size:.86rem; margin-bottom:.4rem; color: var(--ink-soft); }
.bvs-site .bvs-bar-row .bvs-bar-label b { color:#fff; }
.bvs-site .bvs-bar-track { height:9px; border-radius:999px; background: rgba(255,255,255,.07); overflow:hidden; }
.bvs-site .bvs-bar-fill { height:100%; width:0; border-radius:999px; background: linear-gradient(90deg, var(--bvs-electric), var(--bvs-cyan)); box-shadow: 0 0 14px rgba(0,183,255,.6); transition: width 1.4s cubic-bezier(.2,.8,.2,1); }

/* ============================================================
   CUSTOM SOFTWARE — bento
   ============================================================ */
.bvs-site .bvs-bento { display:grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 1fr; gap:16px; }
.bvs-site .bvs-bento .bvs-card { display:flex; flex-direction:column; }
.bvs-site .bvs-bento .span-2 { grid-column: span 2; }
.bvs-site .bvs-bento .row-2 { grid-row: span 2; }
.bvs-site .bvs-bento .bvs-feature {
  background: linear-gradient(150deg, rgba(0,74,173,.35), rgba(2,11,26,.5));
  justify-content: flex-end;
}
.bvs-site .bvs-chiplist { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.bvs-site .bvs-chiplist span { font-size:.78rem; padding:.35rem .7rem; border-radius:999px; background: rgba(255,255,255,.05); border:1px solid var(--glass-brd); color: var(--ink-soft); }
.bvs-site .bvs-software-cta { margin-top: 28px; padding: 1.4rem 1.6rem; border-radius: var(--radius); background: var(--glass-bg); border:1px solid var(--glass-brd-strong); display:flex; flex-wrap:wrap; gap:1rem 1.4rem; align-items:center; justify-content:space-between; }
.bvs-site .bvs-software-cta p { margin:0; }

/* ============================================================
   PORTFOLIO
   ============================================================ */
.bvs-site .bvs-portfolio-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:22px; }
.bvs-site .bvs-portfolio-card { display:flex; flex-direction:column; padding:0; overflow:hidden; }
.bvs-site .bvs-portfolio-top {
  position: relative; aspect-ratio: 16/10; overflow:hidden;
  background: linear-gradient(150deg, rgba(0,74,173,.4), rgba(2,11,26,.7));
  display:grid; place-items:center;
}
.bvs-site .bvs-portfolio-top img { width:100%; height:100%; object-fit:cover; opacity:.85; transition: transform .5s, opacity .3s; }
.bvs-site .bvs-portfolio-card:hover .bvs-portfolio-top img { transform: scale(1.06); opacity:1; }
.bvs-site .bvs-portfolio-emblem { position:absolute; inset:0; display:grid; place-items:center; color: rgba(255,255,255,.9); }
.bvs-site .bvs-portfolio-emblem svg { width:56px;height:56px; filter: drop-shadow(0 6px 18px rgba(0,183,255,.5)); }
.bvs-site .bvs-portfolio-cat { position:absolute; top:12px; left:12px; font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#eaf4ff; padding:.3rem .6rem; border-radius:6px; background:rgba(4,12,30,.7); border:1px solid var(--glass-brd-strong); }
.bvs-site .bvs-portfolio-body { padding: 1.3rem 1.4rem 1.5rem; display:flex; flex-direction:column; flex:1; }
.bvs-site .bvs-portfolio-body h3 { font-size:1.12rem; }
.bvs-site .bvs-portfolio-body ul { list-style:none; padding:0; margin:.6rem 0 1.1rem; display:grid; gap:.35rem; }
.bvs-site .bvs-portfolio-body li { font-size:.85rem; color:var(--ink-mute); display:flex; gap:.45rem; align-items:center; }
.bvs-site .bvs-portfolio-body li::before { content:""; width:5px;height:5px;border-radius:50%;background:var(--bvs-cyan);flex-shrink:0; }
.bvs-site .bvs-portfolio-body .bvs-btn { margin-top:auto; align-self:flex-start; }

/* ---- Portfolio mini-UI mockups (custom, asset-free) ---- */
.bvs-site .bvs-pf-ui {
  position:absolute; inset:13px; border-radius:11px; overflow:hidden;
  background:linear-gradient(180deg,#0b1a36,#08142b); border:1px solid var(--glass-brd);
  display:flex; flex-direction:column; box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.bvs-site .bvs-portfolio-card:hover .bvs-pf-ui { transform: translateY(-4px) scale(1.015); }
.bvs-site .pf-bar { display:flex; gap:5px; align-items:center; padding:7px 9px; background:rgba(255,255,255,.04); border-bottom:1px solid var(--glass-brd); }
.bvs-site .pf-bar i { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.22); }
.bvs-site .pf-bar.tl i:nth-child(1){ background:#ff5f57 } .bvs-site .pf-bar.tl i:nth-child(2){ background:#febc2e } .bvs-site .pf-bar.tl i:nth-child(3){ background:#28c840 }
.bvs-site .pf-bar .pf-url { margin-left:6px; flex:1; height:11px; border-radius:5px; background:rgba(2,11,26,.6); border:1px solid var(--glass-brd); }
.bvs-site .pf-body { padding:11px; display:flex; flex-direction:column; gap:6px; flex:1; }
.bvs-site .pf-line { height:7px; border-radius:4px; background:rgba(255,255,255,.16); }
.bvs-site .pf-line.title { height:9px; background:rgba(255,255,255,.55); }
.bvs-site .pf-line.accent { background:linear-gradient(90deg,var(--bvs-cyan),var(--bvs-electric)); }
.bvs-site .pf-line.soft { background:rgba(255,255,255,.1); }
.bvs-site .w30{width:30%}.bvs-site .w40{width:40%}.bvs-site .w50{width:50%}.bvs-site .w60{width:60%}.bvs-site .w70{width:70%}.bvs-site .w85{width:85%}
.bvs-site .pf-imgrow { display:flex; gap:6px; margin-top:auto; }
.bvs-site .pf-imgrow span { flex:1; height:30px; border-radius:6px; background:rgba(0,183,255,.13); border:1px solid rgba(0,183,255,.22); }
.bvs-site .pf-btn { width:62px; height:15px; border-radius:5px; background:linear-gradient(120deg,var(--bvs-cyan),var(--bvs-electric)); box-shadow:0 6px 14px -6px rgba(0,183,255,.7); }
/* dashboard rows */
.bvs-site .pf-row { display:flex; align-items:center; gap:8px; padding:5px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.bvs-site .pf-row:last-child{ border-bottom:0 }
.bvs-site .pf-rank { width:17px; height:17px; border-radius:6px; flex-shrink:0; background:rgba(0,183,255,.16); border:1px solid rgba(0,183,255,.32); display:grid; place-items:center; font-size:.5rem; font-weight:800; color:var(--bvs-cyan); }
.bvs-site .pf-row .pf-line { flex:1 }
.bvs-site .pf-pill { font-size:.5rem; font-weight:700; padding:2px 6px; border-radius:999px; background:rgba(0,183,255,.14); color:var(--bvs-cyan); flex-shrink:0; }
.bvs-site .pf-pill.win { background:rgba(40,200,64,.15); color:#5fe08a; }
/* terminal */
.bvs-site .bvs-pf-ui.pf-term { background:#040d1f; }
.bvs-site .pf-term .pf-body { gap:7px; font-family: ui-monospace, "SFMono-Regular", Menlo, monospace; }
.bvs-site .pf-log { display:flex; align-items:center; gap:7px; }
.bvs-site .pf-log .dotok { width:6px; height:6px; border-radius:50%; background:#28c840; flex-shrink:0; box-shadow:0 0 7px #28c840; }
.bvs-site .pf-log .dotwarn { background:#febc2e; box-shadow:0 0 7px #febc2e; }
.bvs-site .pf-status { margin-top:auto; display:flex; align-items:center; gap:7px; padding:7px 9px; border-radius:8px; background:rgba(0,183,255,.08); border:1px solid rgba(0,183,255,.25); }
.bvs-site .pf-status svg { width:16px; height:16px; color:var(--bvs-cyan); flex-shrink:0; }
.bvs-site .pf-status .pf-line { flex:1 }
/* app window (sidebar + content + chart) */
.bvs-site .pf-app { flex-direction:row; }
.bvs-site .pf-side { width:34px; background:rgba(255,255,255,.04); border-right:1px solid var(--glass-brd); padding:9px 7px; display:flex; flex-direction:column; gap:7px; }
.bvs-site .pf-side i { height:7px; border-radius:3px; background:rgba(255,255,255,.14); }
.bvs-site .pf-side i:first-child { background:linear-gradient(90deg,var(--bvs-cyan),var(--bvs-electric)); }
.bvs-site .pf-main { flex:1; padding:11px; display:flex; flex-direction:column; gap:7px; }
.bvs-site .pf-chart { display:flex; align-items:flex-end; gap:5px; margin-top:auto; height:42px; }
.bvs-site .pf-chart i { flex:1; border-radius:4px 4px 0 0; background:linear-gradient(180deg,var(--bvs-cyan),rgba(79,117,242,.25)); }
.bvs-site .pf-chart i:nth-child(1){height:45%}.bvs-site .pf-chart i:nth-child(2){height:68%}.bvs-site .pf-chart i:nth-child(3){height:52%}.bvs-site .pf-chart i:nth-child(4){height:82%}.bvs-site .pf-chart i:nth-child(5){height:64%}

/* ============================================================
   PRICING
   ============================================================ */
.bvs-site .bvs-pricing-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:22px; align-items:stretch; }
.bvs-site .bvs-price {
  display:flex; flex-direction:column; padding: 1.8rem; border-radius: var(--radius-l);
  background: var(--glass-bg); border:1px solid var(--glass-brd); backdrop-filter: blur(10px);
  position: relative; transition: transform .3s, border-color .3s, box-shadow .3s;
}
.bvs-site .bvs-price:hover { transform: translateY(-8px); box-shadow: var(--shadow-card); border-color: var(--glass-brd-strong); }
.bvs-site .bvs-price.is-featured {
  border-color: var(--bvs-cyan);
  background: linear-gradient(180deg, rgba(0,74,173,.3), rgba(2,11,26,.55));
  box-shadow: var(--glow-cyan), var(--shadow-card);
}
.bvs-site .bvs-price-badge {
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#04122e;
  padding:.35rem .9rem; border-radius:999px; background: linear-gradient(120deg, var(--bvs-cyan), var(--bvs-electric));
  box-shadow: 0 8px 22px -8px rgba(0,183,255,.8);
}
.bvs-site .bvs-price h3 { font-size:1.35rem; margin-bottom:.2rem; }
.bvs-site .bvs-price .bvs-price-for { font-size:.84rem; color: var(--ink-mute); margin-bottom: 1rem; min-height: 2.6em; }
.bvs-site .bvs-price-tag { font-size: clamp(1.5rem,2.4vw,1.95rem); font-weight:800; color:#fff; letter-spacing:-.02em; }
.bvs-site .bvs-price-tag small { display:block; font-size:.72rem; font-weight:600; color:var(--bvs-cyan); letter-spacing:.04em; margin-top:.2rem; }
.bvs-site .bvs-price-list { list-style:none; padding:0; margin:1.3rem 0; display:grid; gap:.6rem; flex:1; }
.bvs-site .bvs-price-list li { display:flex; gap:.6rem; font-size:.88rem; color:var(--ink-soft); align-items:flex-start; }
.bvs-site .bvs-price-list svg { width:18px;height:18px;color:var(--bvs-cyan);flex-shrink:0;margin-top:1px; }
.bvs-site .bvs-price-actions { display:grid; gap:.6rem; margin-top:auto; }
.bvs-site .bvs-price-actions .bvs-btn { width:100%; }
.bvs-site .bvs-flyer-link { background:none;border:none;cursor:pointer; font-size:.82rem; font-weight:700; color:var(--bvs-cyan); display:inline-flex;gap:.4rem;align-items:center;justify-content:center; padding:.4rem; }
.bvs-site .bvs-flyer-link svg { width:15px;height:15px; }
.bvs-site .bvs-hosting-note { margin-top: 26px; text-align:center; font-size:.92rem; color: var(--ink-soft); padding: 1rem 1.2rem; border-radius: 14px; background: var(--surface-1); border:1px dashed var(--glass-brd-strong); }
.bvs-site .bvs-hosting-note strong { color:#fff; }
.bvs-site .bvs-hosting-note svg { width:18px; height:18px; vertical-align:-4px; flex-shrink:0; }

/* ============================================================
   FULL-BLEED CTA BAND (light acrylic — breaks up the dark theme)
   ============================================================ */
.bvs-site .bvs-band { position:relative; padding: clamp(52px,7vw,88px) 0; overflow:hidden; }
.bvs-site .bvs-band--light {
  background: linear-gradient(135deg, #eaf1ff 0%, #ffffff 52%, #e6eeff 100%);
  color: var(--bvs-dark-text);
}
/* soft brand glow + hairline edges so the band reads as designed, not a blank slab */
.bvs-site .bvs-band--light::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(760px 420px at 86% 18%, rgba(0,74,173,.12), transparent 60%),
    radial-gradient(680px 420px at 4% 92%, rgba(0,183,255,.12), transparent 60%);
}
.bvs-site .bvs-band--light::after {
  content:""; position:absolute; left:0; right:0; top:0; height:1px; pointer-events:none;
  background: linear-gradient(90deg, transparent, rgba(0,183,255,.55), rgba(79,117,242,.55), transparent);
}
.bvs-site .bvs-band-inner { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:clamp(1.6rem,4vw,3rem); flex-wrap:wrap; }
.bvs-site .bvs-band-copy { max-width: 620px; }
.bvs-site .bvs-band-eyebrow {
  display:inline-flex; align-items:center; gap:.5rem; font-size:.74rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  color: var(--bvs-blue); background: rgba(0,74,173,.08); border:1px solid rgba(0,74,173,.2);
  padding:.45rem .85rem; border-radius:999px; margin-bottom:1rem;
}
.bvs-site .bvs-band-eyebrow .dot { width:7px; height:7px; border-radius:50%; background:var(--bvs-cyan); box-shadow:0 0 10px var(--bvs-cyan); }
.bvs-site .bvs-band--light h2 { color: var(--bvs-navy); font-size: clamp(1.7rem,3.1vw,2.5rem); margin-bottom:.6rem; }
.bvs-site .bvs-band--light h2 .accent { -webkit-text-fill-color: transparent; background: linear-gradient(100deg, var(--bvs-blue), var(--bvs-cyan)); -webkit-background-clip:text; background-clip:text; }
.bvs-site .bvs-band--light p { color:#42526e; font-size:1.05rem; margin:0; }
.bvs-site .bvs-band-actions { display:flex; gap:.8rem; flex-wrap:wrap; flex-shrink:0; }
/* solid button variant for light backgrounds (ghost button is invisible on white) */
.bvs-site .bvs-btn--dark { color:#fff; background: linear-gradient(120deg, var(--bvs-blue), #06245f); box-shadow: 0 16px 34px -16px rgba(0,74,173,.7); }
.bvs-site .bvs-btn--dark:hover { transform: translateY(-2px); filter: brightness(1.08); }

/* ---- Value strip (light band, "Why BVSDesigns") ---- */
.bvs-site .bvs-valuestrip-head { text-align:center; max-width:680px; margin:0 auto clamp(28px,4vw,46px); }
.bvs-site .bvs-valuestrip-head .bvs-band-eyebrow { margin-bottom:.9rem; }
.bvs-site .bvs-valuestrip-head h2 { color: var(--bvs-navy); font-size: clamp(1.6rem,2.8vw,2.2rem); margin:0; }
.bvs-site .bvs-value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.bvs-site .bvs-value {
  background:#ffffff; border:1px solid #dbe6fb; border-radius:16px; padding:1.5rem 1.35rem;
  box-shadow:0 20px 44px -30px rgba(6,20,43,.55); transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, border-color .3s;
}
.bvs-site .bvs-value:hover { transform:translateY(-6px); box-shadow:0 28px 52px -26px rgba(0,74,173,.5); border-color:#bcd3f7; }
.bvs-site .bvs-value-icon { width:48px; height:48px; border-radius:14px; display:grid; place-items:center; color:#fff; margin-bottom:1rem; background:linear-gradient(120deg,var(--bvs-blue),var(--bvs-cyan)); box-shadow:0 12px 24px -10px rgba(0,74,173,.75); }
.bvs-site .bvs-value-icon svg { width:23px; height:23px; }
.bvs-site .bvs-value h4 { color:var(--bvs-navy); font-size:1.04rem; margin:0 0 .35rem; }
.bvs-site .bvs-value p { color:#52617c; font-size:.87rem; margin:0; line-height:1.55; }

/* ---- Dark-neon band variant ---- */
.bvs-site .bvs-band--neon {
  background: var(--bvs-navy);
  color: var(--ink);
  border-top: 1px solid rgba(0,183,255,.14);
  border-bottom: 1px solid rgba(0,183,255,.14);
}
.bvs-site .bvs-band--neon::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(800px 420px at 78% 20%, rgba(0,183,255,.07), transparent 65%),
    radial-gradient(600px 380px at 12% 88%, rgba(79,117,242,.06), transparent 65%);
}
.bvs-site .bvs-band--neon .bvs-band-eyebrow {
  color: var(--bvs-cyan);
  background: rgba(0,183,255,.08);
  border-color: rgba(0,183,255,.28);
}
.bvs-site .bvs-band--neon .bvs-valuestrip-head h2,
.bvs-site .bvs-band--neon h2 { color: var(--ink); }
.bvs-site .bvs-band--neon h2 .accent {
  -webkit-text-fill-color: transparent;
  background: linear-gradient(100deg, var(--bvs-cyan), var(--bvs-electric));
  -webkit-background-clip: text; background-clip: text;
}
.bvs-site .bvs-band--neon .bvs-band-copy p { color: var(--ink-soft); font-size: 1.05rem; margin: 0; }
.bvs-site .bvs-band--neon .bvs-value {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(0,183,255,.18);
  box-shadow: none;
}
.bvs-site .bvs-band--neon .bvs-value:hover {
  border-color: rgba(0,183,255,.48);
  box-shadow: 0 0 28px rgba(0,183,255,.12), inset 0 0 0 1px rgba(0,183,255,.1);
  transform: translateY(-6px);
}
.bvs-site .bvs-band--neon .bvs-value h4 { color: var(--ink); }
.bvs-site .bvs-band--neon .bvs-value p { color: var(--ink-soft); }
.bvs-site .bvs-band--neon .bvs-value-icon {
  background: none; box-shadow: none; border-radius: 0;
  width: auto; height: auto; margin-bottom: .85rem;
  color: var(--bvs-cyan);
  filter: drop-shadow(0 0 7px rgba(0,183,255,.7));
}
.bvs-site .bvs-band--neon .bvs-value-icon svg { width: 30px; height: 30px; }
.bvs-site .bvs-band--neon .bvs-ilink { color: var(--bvs-cyan); border-color: rgba(0,183,255,.4); }
.bvs-site .bvs-band--neon .bvs-ilink:hover { color: #6fd2ff; border-color: var(--bvs-cyan); }
.bvs-site .bvs-band-video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; z-index: 0; opacity: 0.13; pointer-events: none;
}

/* ============================================================
   DRONE MEDIA
   ============================================================ */
.bvs-site .bvs-drone-section { overflow:hidden; }
.bvs-site .bvs-drone-grid { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(30px,4vw,56px); align-items:center; }
.bvs-site .bvs-drone-stage {
  position: relative; min-height: 360px; border-radius: var(--radius-l);
  background: radial-gradient(120% 90% at 50% 10%, rgba(0,74,173,.4), rgba(2,11,26,.2) 70%);
  border:1px solid var(--glass-brd); overflow:hidden; display:grid; place-items:center;
}
.bvs-site .bvs-drone-stage::before {
  content:""; position:absolute; inset:0; background-image:
    linear-gradient(rgba(0,183,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,183,255,.08) 1px, transparent 1px);
  background-size: 40px 40px; -webkit-mask-image: radial-gradient(circle at 50% 60%, #000, transparent 75%); mask-image: radial-gradient(circle at 50% 60%, #000, transparent 75%);
}
.bvs-site .bvs-drone-craft { position: relative; width: min(78%, 360px); animation: bvs-hover 5.5s ease-in-out infinite; will-change: transform; z-index:2; }
.bvs-site .bvs-drone-craft img { width:100%; height:auto; border-radius: 14px; filter: drop-shadow(0 24px 28px rgba(0,0,0,.6)); }
.bvs-site .bvs-drone-shadow { position:absolute; bottom: 40px; left:50%; transform: translateX(-50%); width: 46%; height: 26px; border-radius:50%; background: radial-gradient(ellipse, rgba(0,183,255,.55), transparent 70%); filter: blur(6px); animation: bvs-shadow 5.5s ease-in-out infinite; z-index:1; }
@keyframes bvs-hover { 0%,100%{transform:translateY(0) rotate(-.5deg)} 50%{transform:translateY(-22px) rotate(.5deg)} }
@keyframes bvs-shadow { 0%,100%{transform:translateX(-50%) scale(1);opacity:.6} 50%{transform:translateX(-50%) scale(.8);opacity:.35} }
.bvs-site .bvs-drone-badge { position:absolute; bottom:16px; left:16px; z-index:3; font-size:.72rem; font-weight:700; letter-spacing:.08em; color:#eaf4ff; padding:.45rem .8rem; border-radius:999px; background:rgba(4,12,30,.7); border:1px solid var(--glass-brd-strong); }
.bvs-site .bvs-drone-uses { list-style:none; padding:0; margin:1.4rem 0 0; display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.bvs-site .bvs-drone-uses li { display:flex; gap:.55rem; align-items:center; font-size:.9rem; color:var(--ink-soft); }
.bvs-site .bvs-drone-uses svg { width:18px;height:18px;color:var(--bvs-cyan);flex-shrink:0; }

/* ============================================================
   TESTIMONIALS / TRUST SIGNALS
   ============================================================ */
.bvs-site .bvs-trust-banner {
  border-radius: 14px; overflow: hidden; height: 200px; margin-bottom: 2rem;
}
.bvs-site .bvs-trust-banner img {
  width: 100%; height: 100%; object-fit: cover; opacity: .8;
}
.bvs-site .bvs-trust-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:20px; }
.bvs-site .bvs-trust-card { padding: 1.5rem; }
.bvs-site .bvs-trust-card .bvs-card-icon { margin-bottom:.9rem; }
.bvs-site .bvs-trust-icon-wrap {
  display: inline-flex; background: rgba(0,183,255,.1); border-radius: 50%;
  padding: .9rem; margin-bottom: 1rem;
}
.bvs-site .bvs-trust-card h3 { font-size:1.05rem; }
.bvs-site .bvs-trust-note { text-align:center; margin-top:22px; font-size:.85rem; color:var(--ink-mute); }

/* ============================================================
   CONTACT / FOOTER
   ============================================================ */
.bvs-site .bvs-contact { padding-top: clamp(64px,9vw,120px); }
.bvs-site .bvs-contact-grid { display:grid; grid-template-columns: 1fr 1.05fr; gap: clamp(30px,4vw,56px); align-items:start; }
.bvs-site .bvs-contact-info h2 { margin-bottom: .8rem; }
.bvs-site .bvs-contact-meta { list-style:none; padding:0; margin: 1.4rem 0 0; display:grid; gap:.8rem; }
.bvs-site .bvs-contact-meta li { display:flex; gap:.7rem; align-items:center; color:var(--ink-soft); font-size:.95rem; }
.bvs-site .bvs-contact-meta svg { width:20px;height:20px;color:var(--bvs-cyan);flex-shrink:0; }
.bvs-site .bvs-contact-meta a:hover { color:#fff; }
.bvs-site .bvs-map { position:relative; margin-top:1.6rem; border-radius:16px; overflow:hidden; border:1px solid var(--glass-brd-strong); box-shadow: var(--shadow-card); }
.bvs-site .bvs-map-canvas {
  position:relative; height:200px;
  background:
    radial-gradient(120% 120% at 50% 40%, rgba(0,183,255,.16), transparent 60%),
    repeating-linear-gradient(115deg, transparent 0 38px, rgba(120,170,255,.07) 38px 40px),
    repeating-linear-gradient(25deg, transparent 0 52px, rgba(120,170,255,.06) 52px 54px),
    linear-gradient(180deg, #0a1830, #08142b);
}
.bvs-site .bvs-map-canvas::before {
  content:""; position:absolute; inset:0;
  background-image: linear-gradient(rgba(120,170,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(120,170,255,.06) 1px, transparent 1px);
  background-size: 28px 28px;
  -webkit-mask-image: radial-gradient(circle at 50% 45%, #000, transparent 78%); mask-image: radial-gradient(circle at 50% 45%, #000, transparent 78%);
}
.bvs-site .bvs-map-ping { position:absolute; left:50%; top:44%; transform:translate(-50%,-50%); color:var(--bvs-cyan); z-index:2; }
.bvs-site .bvs-map-ping svg { width:30px; height:30px; filter: drop-shadow(0 6px 14px rgba(0,183,255,.6)); }
.bvs-site .bvs-map-ping::after { content:""; position:absolute; left:50%; top:38%; transform:translate(-50%,-50%); width:14px; height:14px; border-radius:50%; border:2px solid var(--bvs-cyan); animation: bvs-ping 2.6s ease-out infinite; }
@keyframes bvs-ping { 0%{ width:14px;height:14px;opacity:.9 } 100%{ width:90px;height:90px;opacity:0 } }
.bvs-site .bvs-map::after { content:""; position:absolute; inset:0; pointer-events:none; box-shadow: inset 0 0 0 1px rgba(120,170,255,.12), inset 0 -40px 60px -30px rgba(2,11,26,.9); }
.bvs-site .bvs-map-pin { position:absolute; left:12px; bottom:12px; z-index:3; display:inline-flex; align-items:center; gap:.45rem; font-size:.78rem; font-weight:700; color:#eaf4ff; padding:.45rem .8rem; border-radius:999px; background:rgba(4,12,30,.82); border:1px solid var(--glass-brd-strong); backdrop-filter:blur(8px); }
.bvs-site .bvs-map-pin svg { width:16px; height:16px; color:var(--bvs-cyan); }

.bvs-site .bvs-form-card {
  padding: clamp(1.5rem, 2.6vw, 2.2rem); border-radius: var(--radius-l);
  background: var(--glass-bg); border:1px solid var(--glass-brd-strong); backdrop-filter: blur(12px);
  box-shadow: var(--shadow-card);
}
.bvs-site .bvs-form { display:grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.bvs-site .bvs-field { display:flex; flex-direction:column; gap:.4rem; }
.bvs-site .bvs-field.wide { grid-column: 1 / -1; }
.bvs-site .bvs-field label { font-size:.8rem; font-weight:600; color: var(--ink-soft); letter-spacing:.02em; }
.bvs-site .bvs-field input,
.bvs-site .bvs-field select,
.bvs-site .bvs-field textarea {
  width:100%; padding:.8rem .95rem; border-radius:11px; font-family:inherit; font-size:.92rem;
  color:#fff; background: rgba(2,11,26,.55); border:1px solid var(--glass-brd);
  transition: border-color .2s, box-shadow .2s; outline:none;
}
.bvs-site .bvs-field input::placeholder, .bvs-site .bvs-field textarea::placeholder { color: var(--ink-mute); }
.bvs-site .bvs-field input:focus, .bvs-site .bvs-field select:focus, .bvs-site .bvs-field textarea:focus {
  border-color: var(--bvs-cyan); box-shadow: 0 0 0 3px rgba(0,183,255,.18);
}
.bvs-site .bvs-field select { appearance:none; -webkit-appearance:none; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2300B7FF' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position: right 14px center; padding-right: 2.2rem; }
.bvs-site .bvs-field textarea { resize: vertical; min-height: 120px; }
.bvs-site .bvs-form .bvs-btn { grid-column:1/-1; width:100%; padding:1rem; font-size:1rem; }
.bvs-site .bvs-form-success { grid-column:1/-1; display:none; padding:.9rem 1rem; border-radius:11px; background:rgba(0,183,255,.12); border:1px solid var(--bvs-cyan); color:#eaf4ff; font-size:.9rem; }
.bvs-site .bvs-form-success.show { display:block; }

.bvs-site .bvs-footer { margin-top: clamp(60px,8vw,90px); padding: 40px 0; border-top:1px solid var(--glass-brd); }
.bvs-site .bvs-footer-inner { display:flex; flex-wrap:wrap; gap:1.2rem; align-items:center; justify-content:space-between; }
.bvs-site .bvs-footer img {
  height:34px;
  /* match the header logo: crisp white outline + soft glow so it lifts off the dark footer */
  filter:
    drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff)
    drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff)
    drop-shadow(0 0 8px rgba(150,205,255,.55));
}
.bvs-site .bvs-footer p { margin:0; font-size:.85rem; color:var(--ink-mute); max-width: 52ch; }
.bvs-site .bvs-footer-socials { display:flex; gap:.6rem; }
.bvs-site .bvs-footer-socials a { width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--glass-brd);color:var(--ink-soft);transition:.2s; }
.bvs-site .bvs-footer-socials a:hover { color:#fff;border-color:var(--bvs-cyan);transform:translateY(-2px); }
.bvs-site .bvs-footer-socials svg { width:18px;height:18px; }
.bvs-site .bvs-copyright { margin-top: 22px; font-size:.78rem; color:var(--ink-mute); text-align:center; }

/* ============================================================
   FLYER MODAL (lightbox)
   ============================================================ */
.bvs-site .bvs-modal { position: fixed; inset:0; z-index:200; display:none; align-items:center; justify-content:center; padding: 24px; }
.bvs-site .bvs-modal.open { display:flex; }
.bvs-site .bvs-modal-backdrop { position:absolute; inset:0; background: rgba(2,8,20,.82); backdrop-filter: blur(6px); }
.bvs-site .bvs-modal-body { position:relative; z-index:1; max-width: min(560px, 92vw); max-height: 90vh; display:flex; flex-direction:column; align-items:center; gap: 14px; }
.bvs-site .bvs-modal-body img { width:100%; height:auto; max-height: 80vh; object-fit: contain; border-radius: 14px; box-shadow: var(--shadow-card); border:1px solid var(--glass-brd-strong); }
.bvs-site .bvs-modal-close { position:absolute; top:-14px; right:-14px; width:42px;height:42px;border-radius:50%;border:1px solid var(--glass-brd-strong); background: var(--bvs-navy); color:#fff; font-size:1.3rem; cursor:pointer; display:grid; place-items:center; }
.bvs-site .bvs-modal-cta { display:flex; gap:.6rem; }

/* ============================================================
   FX TOGGLE
   ============================================================ */
.bvs-site .bvs-fx-toggle {
  position: fixed; right: 18px; bottom: 18px; z-index: 120;
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.6rem .9rem; border-radius:999px; cursor:pointer; font-size:.78rem; font-weight:700;
  color:#dce8ff; background: rgba(8,20,44,.8); border:1px solid var(--glass-brd-strong);
  backdrop-filter: blur(8px); box-shadow: var(--shadow-card);
}
.bvs-site .bvs-fx-toggle svg { width:16px;height:16px;color:var(--bvs-cyan); }
.bvs-site.fx-off .bvs-particles, .bvs-site.fx-off .bvs-grid-overlay { display:none !important; }
.bvs-site.fx-off .bvs-drone-craft, .bvs-site.fx-off .bvs-drone-shadow, .bvs-site.fx-off .bvs-float-chip { animation:none !important; }

.bvs-site .bvs-particles { position:absolute; inset:0; z-index:2; pointer-events:none; }
.bvs-site .bvs-hero .bvs-wrap { position: relative; z-index: 3; }

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.bvs-site .reveal { opacity:0; transform: translateY(26px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.bvs-site .reveal.is-in { opacity:1; transform:none; }
.bvs-site .reveal.d1 { transition-delay:.08s; }
.bvs-site .reveal.d2 { transition-delay:.16s; }
.bvs-site .reveal.d3 { transition-delay:.24s; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .bvs-site .bvs-hero-grid { grid-template-columns: 1fr; }
  .bvs-site .bvs-float-chip,
  .bvs-site .bvs-secure-chip { display:none; }
  .bvs-site .bvs-mockup { margin-top: 8px; }
  .bvs-site .bvs-cap-grid { grid-template-columns: repeat(2,1fr); }
  .bvs-site .bvs-value-grid { grid-template-columns: repeat(2,1fr); }
  .bvs-site .bvs-bento { grid-template-columns: repeat(2,1fr); }
  .bvs-site .bvs-bento .span-2 { grid-column: span 2; }
  .bvs-site .bvs-metrics { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .bvs-site .bvs-menu { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:.2rem; padding:14px var(--gutter); background:#040b1c; box-shadow:0 24px 50px -20px rgba(0,0,0,.9); border-bottom:1px solid var(--glass-brd-strong); }
  .bvs-site .bvs-menu.open { display:flex; }
  .bvs-site .bvs-nav-toggle { display:inline-flex; }
  .bvs-site .bvs-nav .bvs-btn--primary { display:none; }
  .bvs-site .bvs-news-grid,
  .bvs-site .bvs-portfolio-grid,
  .bvs-site .bvs-pricing-grid,
  .bvs-site .bvs-trust-grid { grid-template-columns: 1fr; }
  .bvs-site .bvs-about-grid,
  .bvs-site .bvs-pathways,
  .bvs-site .bvs-drone-grid,
  .bvs-site .bvs-contact-grid { grid-template-columns: 1fr; }
  .bvs-site .bvs-drone-uses { grid-template-columns:1fr; }
  .bvs-site .bvs-form { grid-template-columns: 1fr; }
  .bvs-site .bvs-price.is-featured { order:-1; }
}
@media (max-width: 560px) {
  .bvs-site .bvs-hero-stats { grid-template-columns:1fr; }
  .bvs-site .bvs-cap-grid { grid-template-columns:1fr; }
  .bvs-site .bvs-value-grid { grid-template-columns:1fr; }
  .bvs-site .bvs-bento { grid-template-columns:1fr; }
  .bvs-site .bvs-bento .span-2 { grid-column: span 1; }
  .bvs-site .bvs-hero-actions .bvs-btn { flex:1 1 100%; }
  .bvs-site .bvs-band-actions { width:100%; }
  .bvs-site .bvs-band-actions .bvs-btn { flex:1 1 100%; }
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  .bvs-site *, .bvs-site *::before, .bvs-site *::after { animation: none !important; transition: none !important; }
  .bvs-site .reveal { opacity:1 !important; transform:none !important; }
}

/* ============================================================
   NEWS — extended styles (dates, screenshots, TTC pricing)
   ============================================================ */
.bvs-site .bvs-news-card--wide {
  grid-column: 1 / -1;
  display: grid; grid-template-columns: 1fr 320px; gap: 2rem; align-items: start;
}
.bvs-site .bvs-news-card--wide .bvs-news-card-img {
  width: 100%; height: 200px; object-fit: cover; border-radius: 10px;
  border: 1px solid var(--glass-brd); display: block; align-self: start;
}
.bvs-site .bvs-news-card-thumb {
  width: 100%; height: 160px; object-fit: cover; border-radius: 10px;
  border: 1px solid var(--glass-brd); display: block; margin-bottom: 1rem;
}
.bvs-site .bvs-news-meta {
  display: flex; align-items: center; gap: .6rem; margin-bottom: .9rem; flex-wrap: wrap;
}
.bvs-site .bvs-news-date {
  font-size: .72rem; color: var(--ink-mute); font-weight: 500; letter-spacing: .04em;
}
.bvs-site .bvs-news-screenshots {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 1.4rem;
}
.bvs-site .bvs-news-screenshots img {
  width: 100%; border-radius: 8px; object-fit: cover; aspect-ratio: 16/10;
  border: 1px solid var(--glass-brd); display: block;
  transition: transform .25s ease, box-shadow .25s ease;
}
.bvs-site .bvs-news-screenshots img:hover {
  transform: scale(1.03); box-shadow: var(--shadow-card);
}
.bvs-site .bvs-news-ttc-pricing {
  margin-top: 1.2rem; padding: 1rem 1.2rem; border-radius: 12px;
  background: rgba(255,255,255,.04); border: 1px solid var(--glass-brd);
  display: flex; flex-direction: column; gap: .6rem;
}
.bvs-site .bvs-news-price-row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: .9rem; gap: 1rem; flex-wrap: wrap;
}
.bvs-site .bvs-news-price-row strong { color: var(--ink); }
.bvs-site .bvs-news-price-row span { color: var(--bvs-cyan); font-weight: 700; white-space: nowrap; }
.bvs-site .bvs-news-price-row--sub { padding-top: .5rem; border-top: 1px solid var(--glass-brd); }
.bvs-site .bvs-news-contact-cta {
  font-size: .8rem; color: var(--ink-soft); margin-top: .2rem;
}
.bvs-site .bvs-news-contact-cta:hover { color: var(--bvs-cyan); }

/* ============================================================
   TEAL BAND — capability grid accent
   ============================================================ */
.bvs-site .bvs-teal-band {
  background: linear-gradient(135deg, rgba(0,183,255,.07) 0%, rgba(79,117,242,.09) 100%);
  border-top: 1px solid rgba(0,183,255,.15);
  border-bottom: 1px solid rgba(0,183,255,.15);
  margin: 2.5rem -2rem; padding: 2.5rem 2rem;
}

/* ============================================================
   OUR PRODUCTS — grid + cards
   ============================================================ */
.bvs-site .bvs-products-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px;
}
.bvs-site .bvs-product-card.is-full {
  grid-column: 1 / -1; display: grid;
  grid-template-columns: 1fr 220px; gap: 2rem; align-items: start;
}
.bvs-site .bvs-product-card.is-full .bvs-product-footer {
  grid-column: 1; margin-top: 0;
}
.bvs-site .bvs-product-card { display: flex; flex-direction: column; }
.bvs-site .bvs-product-header {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: .5rem; margin-bottom: 1rem;
}
.bvs-site .bvs-product-platforms { display: flex; gap: .4rem; flex-wrap: wrap; }
.bvs-site .bvs-platform-tag {
  font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  padding: .25rem .55rem; border-radius: 5px;
}
.bvs-site .bvs-pt-pc    { background: rgba(79,117,242,.2); color: var(--bvs-electric); border: 1px solid rgba(79,117,242,.35); }
.bvs-site .bvs-pt-android { background: rgba(61,220,132,.15); color: #3ddc84; border: 1px solid rgba(61,220,132,.3); }
.bvs-site .bvs-pt-ios   { background: rgba(255,255,255,.08); color: var(--ink-soft); border: 1px solid var(--glass-brd); }
.bvs-site .bvs-product-status {
  font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: .28rem .65rem; border-radius: 6px; white-space: nowrap;
}
.bvs-site .bvs-ps-coming { background: rgba(232,130,10,.15); color: #E8820A; border: 1px solid rgba(232,130,10,.3); }
.bvs-site .bvs-ps-free   { background: rgba(61,220,132,.15); color: #3ddc84; border: 1px solid rgba(61,220,132,.3); }
/* HOT / most-wanted treatment */
.bvs-site .bvs-pt-hot { background: rgba(255,71,102,.16); color: #ff6781; border: 1px solid rgba(255,71,102,.4); }
.bvs-site .bvs-product-card.is-hot {
  border-color: rgba(255,71,102,.38);
  box-shadow: 0 0 0 1px rgba(255,71,102,.22), 0 22px 50px -24px rgba(255,71,102,.5);
}
.bvs-site .bvs-product-card h3 { font-size: 1.35rem; margin: 0 0 .25rem; }
.bvs-site .bvs-product-tagline {
  font-size: .85rem; color: var(--ink-mute); font-style: italic; margin: 0 0 .9rem;
}
.bvs-site .bvs-product-features {
  list-style: none; margin: .8rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .45rem;
}
.bvs-site .bvs-product-features li {
  font-size: .88rem; color: var(--ink-soft); padding-left: 1.1rem; position: relative;
}
.bvs-site .bvs-product-features li::before {
  content: '›'; position: absolute; left: 0; color: var(--bvs-cyan); font-weight: 700;
}
.bvs-site .bvs-product-screen {
  max-width: 160px; height: 280px; object-fit: cover; border-radius: 22px;
  margin: 1rem auto 0; display: block;
  box-shadow: 0 8px 24px rgba(0,0,0,.4); border: 1px solid var(--glass-brd);
}
.bvs-site .bvs-product-footer {
  margin-top: auto; padding-top: 1.2rem; border-top: 1px solid var(--glass-brd); display: flex;
  flex-direction: column; gap: .5rem;
}
.bvs-site .bvs-product-price {
  font-size: 1.5rem; font-weight: 800; color: var(--bvs-white);
}
.bvs-site .bvs-product-price span { font-size: .8rem; font-weight: 400; color: var(--ink-mute); }
.bvs-site .bvs-price-free { color: #3ddc84; }
.bvs-site .bvs-product-mobile-note {
  display: flex; align-items: center; gap: .4rem; font-size: .78rem; color: var(--ink-mute);
}
.bvs-site .bvs-product-mobile-note svg { width: 14px; height: 14px; flex-shrink: 0; }

/* ============================================================
   PORTFOLIO — badge + FreightShield image card
   ============================================================ */
.bvs-site .bvs-pf-badge {
  font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  background: rgba(79,117,242,.2); color: var(--bvs-electric);
  padding: .2rem .5rem; border-radius: 4px; vertical-align: middle; margin-left: .4rem;
}
.bvs-site .bvs-pf-img-top img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}

/* ============================================================
   AFFILIATES STRIP — full-bleed section
   ============================================================ */
.bvs-site .bvs-affiliates-section {
  background: var(--bvs-deep-navy, #07091a);
  border-top: 1px solid var(--glass-brd); border-bottom: 1px solid var(--glass-brd);
  padding: 2.5rem 0; width: 100%;
}
.bvs-site .bvs-affiliates-section .bvs-affiliates {
  max-width: 1200px; margin: 0 auto; padding: 0 2rem;
}
.bvs-site .bvs-affiliates {
  margin-top: 0; padding: 0;
}
.bvs-site .bvs-affiliates-head { margin-bottom: 1.8rem; }
.bvs-site .bvs-affiliates-row {
  display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: center; gap: 1.6rem 1.8rem;
}
.bvs-site .bvs-affiliate {
  display: flex; flex-direction: column; align-items: center; gap: .6rem; text-align: center;
}
/* Uniform logo tile — real brand colours read cleanly on the dark site.
   (Replaces the old brightness(0) invert(1) filter that forced every logo
   to a white silhouette — the "black & white" look.) */
.bvs-site .bvs-affiliate-logo {
  height: 70px; min-width: 150px; max-width: 210px; padding: 12px 20px;
  display: flex; align-items: center; justify-content: center;
  background: #ffffff; border-radius: 14px;
  border: 1px solid rgba(255,255,255,.7); box-shadow: 0 14px 30px -16px rgba(0,0,0,.6);
  transition: transform .25s ease, box-shadow .25s ease;
}
.bvs-site .bvs-affiliate:hover .bvs-affiliate-logo {
  transform: translateY(-4px); box-shadow: 0 20px 38px -16px rgba(0,183,255,.45);
}
.bvs-site .bvs-affiliate-logo img { max-height: 46px; max-width: 100%; width: auto; object-fit: contain; display: block; }
/* Dark tile for logos drawn in white/light artwork (e.g. accelIT) so they stay visible */
.bvs-site .bvs-affiliate-logo.is-dark { background: var(--bvs-navy); border: 1px solid var(--glass-brd-strong); }
/* Styled wordmark for partners with no single-file logo */
.bvs-site .bvs-affiliate-wordmark {
  font-size: 1.2rem; font-weight: 900; letter-spacing: .04em; line-height: 1.05;
  text-transform: uppercase; color: var(--bvs-navy); text-align: center;
}
.bvs-site .bvs-affiliate-wordmark small {
  display: block; font-size: .5rem; letter-spacing: .2em; font-weight: 700; opacity: .7; margin-top: 3px;
}
.bvs-site .bvs-affiliate-wordmark .accent { color: #f5821f; }
.bvs-site .bvs-affiliate-name {
  font-size: .7rem; color: var(--ink-mute); letter-spacing: .04em;
}

/* ============================================================
   FOUNDER BIO
   ============================================================ */
.bvs-site .bvs-founder-bio {
  display: grid; grid-template-columns: 220px 1fr; gap: 3rem; align-items: start;
}
.bvs-site .bvs-founder-photo {
  width: 220px; height: 280px; border-radius: var(--radius);
  overflow: hidden; border: 1px solid var(--glass-brd-strong);
  background: var(--surface-2); flex-shrink: 0; align-self: flex-start;
}
.bvs-site .bvs-founder-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bvs-site .bvs-founder-photo-placeholder {
  width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
  color: var(--ink-mute);
}
.bvs-site .bvs-founder-photo-placeholder svg { width: 80px; height: 80px; }
.bvs-site .bvs-founder-copy { display: flex; flex-direction: column; gap: .9rem; }
.bvs-site .bvs-founder-copy h2 { margin: 0; font-size: 2rem; }
.bvs-site .bvs-founder-title {
  font-size: .9rem; color: var(--bvs-cyan); font-weight: 600; letter-spacing: .02em;
  margin-top: -.4rem;
}
.bvs-site .bvs-founder-copy p { color: var(--ink-soft); line-height: 1.7; margin: 0; }
.bvs-site .bvs-founder-chips {
  display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .3rem;
}
.bvs-site .bvs-founder-chips span {
  font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: .3rem .7rem; border-radius: 6px;
  background: var(--surface-1); border: 1px solid var(--glass-brd); color: var(--ink-mute);
}
.bvs-site .bvs-news-screens-note {
  font-size: .85rem; color: var(--ink-mute); font-style: italic; margin-top: 1rem;
  padding: .8rem 1rem; border-radius: 8px; background: var(--surface-1);
  border: 1px solid var(--glass-brd);
}

/* ============================================================
   RESPONSIVE — new sections
   ============================================================ */
@media (max-width: 900px) {
  .bvs-site .bvs-product-card.is-full { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .bvs-site .bvs-news-card--wide { grid-template-columns: 1fr; }
  .bvs-site .bvs-news-screenshots { grid-template-columns: 1fr; }
  .bvs-site .bvs-products-grid { grid-template-columns: 1fr; }
  .bvs-site .bvs-team-grid { grid-template-columns: 1fr; max-width: 320px; }
  .bvs-site .bvs-affiliates-row { gap: 1.8rem 2rem; }
  .bvs-site .bvs-founder-bio { grid-template-columns: 1fr; gap: 2rem; }
  .bvs-site .bvs-founder-photo { width: 160px; height: 200px; }
}
@media (max-width: 560px) {
  .bvs-site .bvs-news-price-row { flex-direction: column; align-items: flex-start; gap: .2rem; }
}
