  /* Sports Bar Events — keep "View all" right-aligned on narrow screens */
  .ev-header.ev-header-b { flex-wrap: wrap; align-items: center; gap: 8px 12px; }
  .ev-header.ev-header-b .section-link {
    margin-left: auto;
    white-space: nowrap;
    align-self: center;
  }
  @media (max-width: 540px) {
    .ev-header.ev-header-b .section-link { font-size: .9rem; padding: 6px 10px; }
  }
  /* Open-state chevron must stay visible on solid blue background */
  .fixture-card.card-open .status-chevron { color: #fff !important; }


  /* ============ Bookvelt landing — visual + animation rich ============ */
  :root {
    --bv-blue: #499fd8;
    --bv-blue-2: #6cb6e3;
    --bv-orange: #f39220;
    --bv-green: #66b32e;
    --bv-bg: #0a0a0f;
    --bv-bg-2: #0d0d18;
    --bv-card: #14141f;
    --bv-card-2: #1a1a2e;
    --bv-border: #1f1f2e;
    --bv-text: #f5f5f7;
    --bv-text-dim: #a1a1aa;
    --bv-text-faint: #6b7280;
  }
  body { background: var(--bv-bg); }

  /* Animations */
  @keyframes bvFadeUp { from { opacity:0; transform:translate3d(0,24px,0); } to { opacity:1; transform:translate3d(0,0,0); } }
  @keyframes bvKenBurns { 0% { transform:scale(1.05) translate3d(0,0,0); } 100% { transform:scale(1.18) translate3d(-2%,-1%,0); } }
  @keyframes bvPulse { 0% { box-shadow:0 0 0 0 rgba(243,146,32,.7); } 70% { box-shadow:0 0 0 10px rgba(243,146,32,0); } 100% { box-shadow:0 0 0 0 rgba(243,146,32,0); } }
  @keyframes bvFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-6px); } }
  @keyframes bvChatIn { from { opacity:0; transform:translate3d(0,12px,0); } to { opacity:1; transform:translate3d(0,0,0); } }
  @keyframes bvTyping { 0%,60%,100% { opacity:.3; } 30% { opacity:1; } }
  @keyframes bvShine { 0% { transform:translateX(-100%); } 100% { transform:translateX(200%); } }
  @keyframes bvSlideIn { from { opacity:0; transform:translate3d(40px,0,0); } to { opacity:1; transform:translate3d(0,0,0); } }
  @keyframes bvBlink { 0%,100% { opacity:1; } 50% { opacity:.3; } }
  @keyframes bvGradient { 0% { background-position:0% 50%; } 50% { background-position:100% 50%; } 100% { background-position:0% 50%; } }

  .bv-reveal {
    opacity:0; transform:translate3d(0,32px,0);
    transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
    will-change: opacity, transform;
  }
  .bv-reveal.in { opacity:1; transform:translate3d(0,0,0); }
  .bv-reveal.delay-1 { transition-delay: .08s; }
  .bv-reveal.delay-2 { transition-delay: .16s; }
  .bv-reveal.delay-3 { transition-delay: .24s; }
  .bv-reveal.delay-4 { transition-delay: .32s; }
  .bv-reveal.delay-5 { transition-delay: .40s; }
  @media (prefers-reduced-motion: reduce) {
    .bv-reveal { opacity:1 !important; transform:none !important; transition:none !important; }
    *, *::before, *::after { animation-duration:.001s !important; transition-duration:.001s !important; }
  }

  /* ============ shared ============ */
  .bv-section { padding: 120px 0; }
  @media (max-width: 720px) { .bv-section { padding: 80px 0; } }
  .bv-section-head { text-align: center; max-width: 720px; margin: 0 auto 72px; }
  .bv-section-eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    font-size: .74rem; font-weight: 700; letter-spacing: .18em;
    color: var(--bv-blue); text-transform: uppercase; margin-bottom: 20px;
  }
  .bv-section-eyebrow::before { content: ''; width: 24px; height: 1px; background: var(--bv-blue); }
  .bv-section-eyebrow.orange { color: var(--bv-orange); }
  .bv-section-eyebrow.orange::before { background: var(--bv-orange); }
  .bv-section-head h2 {
    font-size: clamp(2rem, 4vw, 3rem); font-weight: 800;
    color: var(--bv-text); line-height: 1.1; letter-spacing: -.025em;
    margin: 0 0 18px;
  }
  .bv-section-head h2 .accent { color: var(--bv-blue); }
  .bv-section-head p { font-size: 1.08rem; color: var(--bv-text-dim); line-height: 1.6; margin: 0; }

  /* ============ HERO — animated mesh gradient (Linear/Stripe-style) ============ */
  @keyframes bvMesh1 {
    0%, 100% { transform: translate(0, 0) rotate(0deg) scale(1); }
    33% { transform: translate(8%, -6%) rotate(120deg) scale(1.1); }
    66% { transform: translate(-6%, 8%) rotate(240deg) scale(.95); }
  }
  @keyframes bvMesh2 {
    0%, 100% { transform: translate(0, 0) rotate(0deg) scale(1); }
    50% { transform: translate(-10%, 10%) rotate(-180deg) scale(1.15); }
  }
  @keyframes bvMesh3 {
    0%, 100% { transform: translate(0, 0) rotate(0deg) scale(1); }
    50% { transform: translate(8%, -8%) rotate(180deg) scale(.9); }
  }
  @keyframes bvGridShift {
    0% { background-position: 0 0; }
    100% { background-position: 40px 40px; }
  }

  .bv-hero {
    position: relative; min-height: 100vh; display: flex; align-items: center;
    overflow: hidden; isolation: isolate; background: #06060c;
  }
  .bv-hero-bg {
    position: absolute; inset: 0; z-index: -3; pointer-events: none;
    background:
      radial-gradient(ellipse 60% 50% at 20% 30%, rgba(73,159,216,.45) 0%, transparent 60%),
      radial-gradient(ellipse 50% 60% at 80% 70%, rgba(243,146,32,.28) 0%, transparent 60%),
      radial-gradient(ellipse 40% 50% at 50% 100%, rgba(124,58,237,.25) 0%, transparent 60%),
      #06060c;
    filter: blur(40px) saturate(1.1);
    animation: bvMesh1 22s ease-in-out infinite;
  }
  .bv-hero-bg::before {
    content: ''; position: absolute; inset: -10%;
    background:
      radial-gradient(circle 500px at 70% 20%, rgba(73,159,216,.3), transparent 60%),
      radial-gradient(circle 400px at 30% 80%, rgba(243,146,32,.2), transparent 60%);
    filter: blur(60px);
    animation: bvMesh2 28s ease-in-out infinite;
  }
  .bv-hero-bg::after {
    content: ''; position: absolute; inset: -10%;
    background:
      radial-gradient(circle 600px at 50% 50%, rgba(102,179,46,.12), transparent 60%);
    filter: blur(80px);
    animation: bvMesh3 32s ease-in-out infinite;
  }
  .bv-hero-grid {
    position: absolute; inset: 0; z-index: -2; pointer-events: none;
    opacity: .35;
    background-image:
      linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 40px 40px;
    mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 0%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 0%, transparent 80%);
    animation: bvGridShift 6s linear infinite;
  }
  .bv-hero-overlay {
    position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: linear-gradient(180deg, transparent 0%, transparent 60%, var(--bv-bg) 100%);
  }
  .bv-hero-inner { width: 100%; padding: 100px 0 80px; max-width: 880px; text-align: center; margin: 0 auto; }
  .bv-hero-inner .bv-eyebrow,
  .bv-hero-inner .bv-cta-row { display: inline-flex; }
  .bv-hero-inner .bv-h1 { margin-left: auto; margin-right: auto; max-width: 16ch; }
  .bv-hero-inner .bv-hero-sub { margin-left: auto; margin-right: auto; max-width: 620px; }
  .bv-hero-inner .bv-eyebrow {
    /* clean text-only on the hero, no background pill */
    background: transparent; border: none; padding: 0;
  }
  .bv-eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    font-size: .74rem; font-weight: 700; letter-spacing: .18em;
    color: var(--bv-blue); text-transform: uppercase; margin-bottom: 28px;
  }
  .bv-eyebrow::before { content: ''; width: 24px; height: 1px; background: var(--bv-blue); }
  .bv-h1 {
    font-size: clamp(2.6rem, 6.5vw, 5.2rem);
    font-weight: 800; line-height: 1.02; letter-spacing: -.035em;
    color: var(--bv-text); margin: 0 0 28px; max-width: 14ch;
  }
  .bv-h1 .accent {
    background: linear-gradient(135deg, var(--bv-blue), var(--bv-blue-2), var(--bv-blue));
    background-size: 200% auto;
    -webkit-background-clip: text; background-clip: text; color: transparent;
    animation: bvGradient 6s ease-in-out infinite;
  }
  .bv-hero-sub {
    font-size: clamp(1.05rem, 1.6vw, 1.3rem);
    color: rgba(245,245,247,.85); line-height: 1.55;
    margin: 0 0 44px; max-width: 540px;
  }
  .bv-cta-row { display: inline-flex; gap: 12px; flex-wrap: wrap; }
  .bv-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 14px 26px; font-size: .95rem; font-weight: 600;
    border-radius: 8px; text-decoration: none;
    transition: transform .2s cubic-bezier(.22,1,.36,1), background .2s, border-color .2s, box-shadow .3s;
    border: 1px solid transparent; cursor: pointer; position: relative; overflow: hidden;
  }
  .bv-btn :is(svg, img, .bookvelt-icon) { transition: transform .25s cubic-bezier(.22,1,.36,1); }
  .bv-btn:hover :is(svg, img, .bookvelt-icon) { transform: translateX(3px); }
  .bv-btn-primary { background: var(--bv-text); color: var(--bv-bg); }
  .bv-btn-primary:hover { background: #fff; transform: translateY(-2px); box-shadow: 0 14px 30px -8px rgba(245,245,247,.25); }
  .bv-btn-ghost { color: var(--bv-text); border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.03); backdrop-filter: blur(10px); }
  .bv-btn-ghost:hover { border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.08); transform: translateY(-2px); }
  .bv-hero .bv-eyebrow { opacity:0; animation: bvFadeUp .8s .1s cubic-bezier(.22,1,.36,1) forwards; }
  .bv-hero .bv-h1 { opacity:0; animation: bvFadeUp .9s .25s cubic-bezier(.22,1,.36,1) forwards; }
  .bv-hero .bv-hero-sub { opacity:0; animation: bvFadeUp .9s .4s cubic-bezier(.22,1,.36,1) forwards; }
  .bv-hero .bv-cta-row { opacity:0; animation: bvFadeUp .9s .55s cubic-bezier(.22,1,.36,1) forwards; }


  /* ============ TRUST STRIP ============ */
  .bv-trust { border-bottom: 1px solid var(--bv-border); padding: 56px 0; text-align: center; }
  .bv-trust-label {
    font-size: .72rem; font-weight: 700; letter-spacing: .2em;
    text-transform: uppercase; color: var(--bv-orange);
    margin-bottom: 18px; display: inline-flex; align-items: center; gap: 10px;
  }
  .bv-trust-label::before {
    content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--bv-orange);
    box-shadow: 0 0 0 0 rgba(243,146,32,.7); animation: bvPulse 2s infinite;
  }
  .bv-trust-line {
    font-size: clamp(1.1rem, 2vw, 1.45rem);
    color: var(--bv-text); font-weight: 500; letter-spacing: -.01em;
    max-width: 800px; margin: 0 auto;
  }
  .bv-trust-line a { color: var(--bv-blue); text-decoration: none; border-bottom: 1px solid rgba(73,159,216,.4); }

  /* ============ CHANNELS ============ */
  .bv-channels { padding: 120px 0; background: var(--bv-bg); }
  .bv-channels-grid {
    display: grid; grid-template-columns: repeat(6, 1fr);
    gap: 14px; max-width: 1100px; margin: 0 auto;
  }
  @media (max-width: 880px) { .bv-channels-grid { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 580px) { .bv-channels-grid { grid-template-columns: repeat(2, 1fr); } }
  .bv-channel {
    background: var(--bv-card); border: 1px solid var(--bv-border);
    border-radius: 14px; padding: 28px 18px; text-align: center;
    transition: transform .3s cubic-bezier(.22,1,.36,1), border-color .3s, box-shadow .3s;
    position: relative; overflow: hidden;
  }
  .bv-channel::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(135deg, transparent 30%, rgba(73,159,216,.05) 70%);
    opacity: 0; transition: opacity .3s;
  }
  .bv-channel:hover { transform: translateY(-4px); border-color: rgba(73,159,216,.3); box-shadow: 0 16px 32px -12px rgba(73,159,216,.2); }
  .bv-channel:hover::before { opacity: 1; }
  .bv-channel-icon { width: 44px; height: 44px; margin: 0 auto 14px; display: flex; align-items: center; justify-content: center; }
  .bv-channel-icon i { font-size: 28px; color: var(--bv-text); opacity: .9; }
  .bv-channel.brand-whatsapp .bv-channel-icon i { color: #25d366; opacity: 1; }
  .bv-channel-name { font-size: .88rem; font-weight: 600; color: var(--bv-text); }
  .bv-channel-meta { font-size: .72rem; color: var(--bv-text-faint); margin-top: 4px; }

  /* ============ DASHBOARD MOCKUP — matches /panel/orders styling ============ */
  .bv-dash { padding: 130px 0; background: var(--bv-bg-2); position: relative; overflow: hidden; }
  @media (max-width: 720px) { .bv-dash { padding: 80px 0; } }
  .bv-dash-window {
    background: var(--bv-card); border: 1px solid var(--bv-border);
    border-radius: 16px; overflow: hidden; max-width: 1100px; margin: 0 auto;
    box-shadow: 0 60px 120px -40px rgba(0,0,0,.6), 0 30px 60px -20px rgba(73,159,216,.15);
  }
  .bv-dash-bar {
    display: flex; align-items: center; gap: 12px; padding: 14px 18px;
    background: var(--bv-card-2); border-bottom: 1px solid var(--bv-border);
  }
  .bv-dash-dots { display: flex; gap: 6px; }
  .bv-dash-dots span { width: 11px; height: 11px; border-radius: 50%; background: #2a2a3e; }
  .bv-dash-dots span:nth-child(1) { background: #ef4444; }
  .bv-dash-dots span:nth-child(2) { background: #f39220; }
  .bv-dash-dots span:nth-child(3) { background: #66b32e; }
  .bv-dash-url { font-family: ui-monospace, monospace; font-size: .8rem; color: var(--bv-text-faint); }
  .bv-dash-body { display: grid; grid-template-columns: 220px 1fr; min-height: 460px; }
  @media (max-width: 880px) { .bv-dash-body { grid-template-columns: 1fr; min-height: 0; } .bv-dash-side { display: none; } }
  .bv-dash-side {
    background: var(--bv-card-2); border-right: 1px solid var(--bv-border);
    padding: 20px 14px; display: flex; flex-direction: column; gap: 4px;
  }
  .bv-dash-side-item {
    display: flex; align-items: center; gap: 10px; padding: 10px 12px;
    border-radius: 8px; color: var(--bv-text-dim); font-size: .85rem; cursor: default;
  }
  .bv-dash-side-item i { font-size: 14px; width: 16px; text-align: center; opacity: .7; }
  .bv-dash-side-item.active { background: rgba(73,159,216,.12); color: var(--bv-blue); }
  .bv-dash-side-item.active i { color: var(--bv-blue); opacity: 1; }
  .bv-dash-main { padding: 28px 22px; display: flex; flex-direction: column; gap: 22px; }
  @media (max-width: 580px) { .bv-dash-main { padding: 20px 14px; gap: 16px; } }
  .bv-dash-main-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 16px; }
  .bv-dash-main-head h4 { font-size: 1.15rem; color: var(--bv-text); margin: 0; font-weight: 700; line-height: 1.3; }
  .bv-dash-main-head .meta { font-size: .8rem; color: var(--bv-text-faint); }
  .bv-dash-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
  @media (max-width: 720px) { .bv-dash-stats { grid-template-columns: repeat(2, 1fr); } }
  .bv-dash-stat { background: var(--bv-bg); border: 1px solid var(--bv-border); border-radius: 10px; padding: 14px 16px; }
  .bv-dash-stat .v { font-size: 1.4rem; font-weight: 800; color: var(--bv-text); line-height: 1; }
  .bv-dash-stat .v .delta { font-size: .7rem; color: var(--bv-green); font-weight: 600; margin-left: 6px; vertical-align: middle; }
  .bv-dash-stat .v .delta.down { color: var(--bv-orange); }
  .bv-dash-stat .l { font-size: .72rem; color: var(--bv-text-faint); text-transform: uppercase; letter-spacing: .1em; margin-top: 6px; font-weight: 600; }

  /* Canonical /panel/orders row look — pills first, then guest name + meta, with right-aligned info */
  .bv-dash-list { display: flex; flex-direction: column; gap: 8px; }
  .bv-ord-row {
    background: var(--bv-bg); border: 1px solid var(--bv-border); border-radius: 10px;
    padding: 12px 14px; display: grid; grid-template-columns: 1fr auto; gap: 10px 16px; align-items: center;
  }
  .bv-ord-pills { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
  .bv-ord-pill {
    display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
    height: 22px; padding: 2px 9px 0; border-radius: 4px;
    font-size: .65rem; font-weight: 700; letter-spacing: .5px; line-height: 1; text-transform: uppercase;
  }
  .bv-ord-pill.evt    { background: rgba(74,161,217,.15);  color: #4aa1d9; border: 1px solid rgba(74,161,217,.35); }
  .bv-ord-pill.res    { background: rgba(102,179,46,.15);  color: #66b32e; border: 1px solid rgba(102,179,46,.35); }
  .bv-ord-pill.walkin { background: rgba(234,179,8,.15);   color: #eab308; border: 1px solid rgba(234,179,8,.35); }
  .bv-ord-pill.ref    { background: rgba(255,255,255,.04); color: #fff;     border: 1px dashed rgba(255,255,255,.35); font-family: ui-monospace, monospace; letter-spacing: .25px; }
  .bv-ord-guest { display: flex; flex-direction: column; gap: 2px; min-width: 0; grid-column: 1 / -1; }
  .bv-ord-name { font-size: .92rem; font-weight: 600; color: var(--bv-text); }
  .bv-ord-sub  { font-size: .72rem; color: var(--bv-text-faint); }
  .bv-ord-meta { display: flex; gap: 14px; align-items: center; color: var(--bv-text-dim); font-size: .78rem; white-space: nowrap; }
  .bv-ord-meta-cell { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 38px; }
  .bv-ord-meta-cell .v { font-weight: 700; color: var(--bv-text); font-size: .9rem; line-height: 1; }
  .bv-ord-meta-cell .l { font-size: .58rem; color: var(--bv-text-faint); text-transform: uppercase; letter-spacing: .1em; }
  @media (min-width: 581px) {
    .bv-ord-row { grid-template-columns: auto 1fr auto; }
    .bv-ord-guest { grid-column: auto; }
  }
  @media (max-width: 580px) {
    .bv-ord-meta { gap: 10px; }
    .bv-ord-meta-cell { min-width: 32px; }
  }

  /* ============ PILLARS ============ */
  .bv-pillars { background: var(--bv-bg); padding: 120px 0; }
  .bv-pillar-row { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; margin-bottom: 120px; }
  .bv-pillar-row:last-child { margin-bottom: 0; }
  .bv-pillar-row.reverse { direction: rtl; }
  .bv-pillar-row.reverse > * { direction: ltr; }
  @media (max-width: 880px) { .bv-pillar-row { grid-template-columns: 1fr; gap: 36px; margin-bottom: 80px; } .bv-pillar-row.reverse { direction: ltr; } }
  .bv-pillar-photo {
    aspect-ratio: 4/3; background-size: cover; background-position: center;
    border-radius: 16px; overflow: hidden; border: 1px solid var(--bv-border); position: relative;
    transition: transform .6s cubic-bezier(.22,1,.36,1), box-shadow .6s;
  }
  .bv-pillar-row:hover .bv-pillar-photo { transform: scale(1.015); box-shadow: 0 30px 60px -20px rgba(73,159,216,.25), 0 18px 36px -12px rgba(0,0,0,.5); }
  .bv-pillar-num { font-size: .74rem; font-weight: 700; letter-spacing: .2em; color: var(--bv-blue); text-transform: uppercase; margin-bottom: 22px; }
  .bv-pillar-content h3 { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 700; color: var(--bv-text); line-height: 1.15; letter-spacing: -.02em; margin: 0 0 20px; }
  .bv-pillar-content p { color: var(--bv-text-dim); line-height: 1.65; font-size: 1.04rem; margin: 0 0 24px; }
  .bv-pillar-content ul { list-style: none; padding: 0; margin: 0; color: var(--bv-text-dim); font-size: .95rem; line-height: 1.85; }
  .bv-pillar-content li { display: flex; align-items: flex-start; gap: 12px; }
  .bv-pillar-content li::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--bv-blue); margin-top: 12px; flex-shrink: 0; }

  /* ============ SPORTS / EVENTS ============ */
  .bv-sports { padding: 130px 0; background: var(--bv-bg-2); }
  .bv-sports-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: center; }
  @media (max-width: 880px) { .bv-sports-grid { grid-template-columns: 1fr; } }
  .bv-sports-mockup {
    background: var(--bv-card); border: 1px solid var(--bv-border);
    border-radius: 16px; padding: 24px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.5);
  }
  .bv-sports-mockup-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid var(--bv-border); margin-bottom: 20px; }
  .bv-sports-mockup-head h4 { font-size: .92rem; color: var(--bv-text); margin: 0; font-weight: 600; }
  .bv-sports-mockup-head .stamp { font-size: .66rem; padding: 4px 8px; border-radius: 4px; background: rgba(243,146,32,.14); color: var(--bv-orange); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
  .bv-zones { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .bv-zone { background: var(--bv-bg); border: 1px solid var(--bv-border); border-radius: 10px; padding: 14px; }
  .bv-zone-name { font-size: .7rem; color: var(--bv-text-faint); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 6px; font-weight: 700; }
  .bv-zone-event { font-size: .84rem; color: var(--bv-text); font-weight: 600; line-height: 1.3; margin-bottom: 8px; }
  .bv-zone-meta { font-size: .74rem; color: var(--bv-text-faint); display: flex; align-items: center; gap: 6px; }
  .bv-zone.live { border-color: rgba(102,179,46,.4); }
  .bv-zone.live .bv-zone-event { color: var(--bv-green); }
  .bv-zone-tables { margin-top: 10px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
  .bv-zone-table { aspect-ratio: 1; background: rgba(73,159,216,.18); border-radius: 4px; font-size: .6rem; display: flex; align-items: center; justify-content: center; color: var(--bv-blue); font-weight: 700; }
  .bv-zone-table.full { background: rgba(243,146,32,.25); color: var(--bv-orange); }
  .bv-zone-table.empty { background: rgba(255,255,255,.03); color: var(--bv-text-faint); }

  /* ============ LIVE ACTIVITY FEED ============ */
  .bv-feed { padding: 130px 0; background: var(--bv-bg); }
  .bv-feed-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
  @media (max-width: 880px) { .bv-feed-grid { grid-template-columns: 1fr; } }
  .bv-feed-list {
    background: var(--bv-card); border: 1px solid var(--bv-border);
    border-radius: 16px; overflow: hidden; box-shadow: 0 30px 60px -20px rgba(0,0,0,.5);
  }
  .bv-feed-head {
    padding: 16px 20px; background: var(--bv-card-2); border-bottom: 1px solid var(--bv-border);
    display: flex; align-items: center; gap: 10px; font-size: .8rem; font-weight: 600; color: var(--bv-text);
  }
  .bv-feed-head .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--bv-green); animation: bvBlink 1.6s infinite; }
  .bv-feed-row { display: flex; align-items: center; gap: 14px; padding: 14px 20px; border-top: 1px solid var(--bv-border); animation: bvSlideIn .5s cubic-bezier(.22,1,.36,1) forwards; opacity: 0; }
  .bv-feed-row:nth-child(2) { animation-delay: .1s; }
  .bv-feed-row:nth-child(3) { animation-delay: .25s; }
  .bv-feed-row:nth-child(4) { animation-delay: .4s; }
  .bv-feed-row:nth-child(5) { animation-delay: .55s; }
  .bv-feed-row:nth-child(6) { animation-delay: .7s; }
  .bv-feed-row:nth-child(7) { animation-delay: .85s; }
  .bv-feed-icon {
    width: 32px; height: 32px; border-radius: 8px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
  }
  .bv-feed-icon i { font-size: 16px; color: var(--bv-text); }
  .bv-feed-icon.evt { background: rgba(73,159,216,.15); }
  .bv-feed-icon.evt img { filter: invert(57%) sepia(58%) saturate(490%) hue-rotate(167deg) brightness(91%) contrast(90%); }
  .bv-feed-icon.res { background: rgba(102,179,46,.15); }
  .bv-feed-icon.res img { filter: invert(57%) sepia(78%) saturate(421%) hue-rotate(54deg) brightness(95%) contrast(81%); }
  .bv-feed-icon.walk { background: rgba(243,146,32,.15); }
  .bv-feed-icon.walk img { filter: invert(64%) sepia(67%) saturate(853%) hue-rotate(348deg) brightness(98%) contrast(94%); }
  .bv-feed-text { flex: 1; font-size: .88rem; color: var(--bv-text); }
  .bv-feed-text .who { font-weight: 600; }
  .bv-feed-text .what { color: var(--bv-text-dim); }
  .bv-feed-text .where { color: var(--bv-text-faint); font-size: .76rem; margin-top: 2px; display: block; }
  .bv-feed-time { font-size: .72rem; color: var(--bv-text-faint); flex-shrink: 0; font-variant-numeric: tabular-nums; }

  /* ============ AI CHAT ============ */
  .bv-ai { padding: 130px 0; background: var(--bv-bg-2); }
  .bv-ai-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
  @media (max-width: 880px) { .bv-ai-grid { grid-template-columns: 1fr; } }
  .bv-chat {
    max-width: 380px; margin: 0 auto;
    background: #1a1a2e; border: 1px solid var(--bv-border);
    border-radius: 24px; padding: 18px;
    box-shadow: 0 30px 60px -20px rgba(0,0,0,.6), 0 0 0 1px rgba(73,159,216,.1);
    animation: bvFloat 6s ease-in-out infinite;
  }
  .bv-chat-head { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--bv-border); margin-bottom: 16px; }
  .bv-chat-avatar {
    width: 38px; height: 38px; border-radius: 50%;
    background: linear-gradient(135deg, var(--bv-blue), var(--bv-blue-2));
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 800; font-size: .9rem;
  }
  .bv-chat-name { font-size: .92rem; font-weight: 600; color: var(--bv-text); margin: 0 0 2px; }
  .bv-chat-status { font-size: .72rem; color: var(--bv-green); display: inline-flex; align-items: center; gap: 5px; }
  .bv-chat-status::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--bv-green); }
  .bv-chat-msg { max-width: 78%; padding: 10px 14px; border-radius: 14px; font-size: .85rem; line-height: 1.4; margin-bottom: 8px; opacity: 0; animation: bvChatIn .5s forwards; }
  .bv-chat-msg.them { background: #2a2a3e; color: var(--bv-text); border-bottom-left-radius: 4px; }
  .bv-chat-msg.us { background: var(--bv-blue); color: #fff; margin-left: auto; border-bottom-right-radius: 4px; }
  .bv-chat-msg.delay-1 { animation-delay: .6s; }
  .bv-chat-msg.delay-2 { animation-delay: 1.2s; }
  .bv-chat-msg.delay-3 { animation-delay: 1.8s; }
  .bv-chat-msg.delay-4 { animation-delay: 2.4s; }
  .bv-chat-time { font-size: .65rem; opacity: .7; margin-top: 4px; display: block; }
  .bv-chat-typing { display: inline-flex; gap: 3px; }
  .bv-chat-typing span { width: 6px; height: 6px; border-radius: 50%; background: var(--bv-text-dim); animation: bvTyping 1.4s infinite; }
  .bv-chat-typing span:nth-child(2) { animation-delay: .2s; }
  .bv-chat-typing span:nth-child(3) { animation-delay: .4s; }

  /* ============ INTEGRATIONS / TECH ============ */
  .bv-integ { padding: 130px 0; background: var(--bv-bg); }
  .bv-tech-row { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 56px; }
  .bv-tech {
    display: inline-flex; align-items: center; gap: 10px;
    background: var(--bv-card); border: 1px solid var(--bv-border);
    border-radius: 10px; padding: 12px 20px;
    font-size: .9rem; font-weight: 600; color: var(--bv-text);
    transition: transform .25s cubic-bezier(.22,1,.36,1), border-color .25s, box-shadow .25s;
  }
  .bv-tech i { font-size: 20px; color: var(--bv-text); }
  .bv-tech:hover { transform: translateY(-3px); border-color: var(--bv-blue); box-shadow: 0 12px 30px -10px rgba(73,159,216,.25); }

  /* ============ WALLET CARDS — portrait pass shape (real Apple/Google Wallet style) ============ */
  .bv-wallet { padding: 130px 0; background: var(--bv-bg-2); }
  .bv-wallet-cards { display: grid; grid-template-columns: repeat(2, max-content); gap: 40px; justify-content: center; margin-top: 56px; }
  @media (max-width: 580px) { .bv-wallet-cards { grid-template-columns: 1fr; justify-items: center; gap: 32px; } }
  .bv-wallet-card {
    width: 320px; padding: 0; border-radius: 14px;
    display: flex; flex-direction: column;
    position: relative; overflow: hidden;
    transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s;
    box-shadow: 0 30px 60px -20px rgba(0,0,0,.55), 0 12px 24px -8px rgba(0,0,0,.4);
  }
  .bv-wallet-card:hover { transform: translateY(-6px) rotate(-1deg); box-shadow: 0 40px 70px -20px rgba(0,0,0,.7); }
  .bv-wallet-card.apple { background: linear-gradient(180deg, #15151b 0%, #0d0d12 100%); color: #fff; }
  .bv-wallet-card.google { background: linear-gradient(180deg, #f8f9fa 0%, #ffffff 100%); color: #202124; }

  /* Header — logo + brand + serial */
  .bv-wp-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 18px 20px 12px;
  }
  .bv-wp-brand { display: flex; align-items: center; gap: 10px; }
  .bv-wp-brand-icon { width: 28px; height: 28px; border-radius: 7px; display: flex; align-items: center; justify-content: center; }
  .bv-wallet-card.apple .bv-wp-brand-icon { background: linear-gradient(135deg, var(--bv-blue), var(--bv-blue-2)); }
  .bv-wallet-card.google .bv-wp-brand-icon { background: linear-gradient(135deg, var(--bv-blue), var(--bv-blue-2)); }
  .bv-wp-brand-icon span { font-weight: 800; color: #fff; font-size: .92rem; }
  .bv-wp-brand-name {
    font-size: .76rem; font-weight: 700; letter-spacing: .04em;
    line-height: 1.2;
  }
  .bv-wallet-card.apple .bv-wp-brand-name { color: rgba(255,255,255,.95); }
  .bv-wallet-card.google .bv-wp-brand-name { color: #202124; }
  .bv-wp-brand-sub {
    font-size: .65rem; opacity: .55; font-weight: 500; letter-spacing: .04em;
    text-transform: uppercase;
  }

  /* Strip image — venue/event hero */
  .bv-wp-strip {
    height: 130px; background-size: cover; background-position: center;
    position: relative; overflow: hidden;
  }
  .bv-wp-strip::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 100%);
  }
  .bv-wp-strip-title {
    position: absolute; bottom: 12px; left: 16px; right: 16px; z-index: 1;
    color: #fff; font-size: 1rem; font-weight: 800; line-height: 1.2;
    text-shadow: 0 2px 6px rgba(0,0,0,.6); letter-spacing: -.01em;
  }

  /* Primary fields strip — 4 columns: AREA | TABLE | SEATS | TIME */
  .bv-wp-fields {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 4px; padding: 16px 20px 14px;
  }
  .bv-wp-field { min-width: 0; }
  .bv-wp-field-label {
    font-size: .56rem; font-weight: 700; letter-spacing: .14em;
    text-transform: uppercase; opacity: .55;
    margin-bottom: 4px; line-height: 1;
  }
  .bv-wp-field-value {
    font-size: .94rem; font-weight: 700; line-height: 1; letter-spacing: -.01em;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .bv-wallet-card.apple .bv-wp-field-value { color: var(--bv-blue); }
  .bv-wallet-card.google .bv-wp-field-value { color: var(--bv-blue); }

  /* Footer — pass type + barcode */
  .bv-wp-foot {
    border-top: 1px solid rgba(255,255,255,.08);
    padding: 14px 20px 18px;
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
  }
  .bv-wallet-card.google .bv-wp-foot { border-top-color: rgba(0,0,0,.08); }
  .bv-wp-meta {
    font-size: .62rem; line-height: 1.3; opacity: .65;
    text-transform: uppercase; letter-spacing: .08em;
  }
  .bv-wp-meta .ref { font-family: ui-monospace, monospace; font-size: .68rem; opacity: .85; display: block; margin-top: 4px; letter-spacing: 0; }
  .bv-wp-barcode {
    width: 58px; height: 58px; border-radius: 6px; flex-shrink: 0;
    background:
      repeating-linear-gradient(0deg, currentColor 0, currentColor 2px, transparent 2px, transparent 4px),
      repeating-linear-gradient(90deg, currentColor 0, currentColor 2px, transparent 2px, transparent 4px);
    background-size: 100% 100%, 100% 100%;
    background-color: #fff;
    color: #202124; opacity: .9;
  }
  .bv-wallet-card.apple .bv-wp-barcode { background-color: #fff; color: #202124; }
  .bv-wp-shine {
    position: absolute; top: 0; left: 0; width: 30%; height: 100%; pointer-events: none;
    background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,.12) 50%, transparent 70%);
    transform: translateX(-100%); animation: bvShine 5s ease-in-out infinite; z-index: 2;
  }

  /* ============ SHOWCASE — live events list (sportsbar.app component) ============ */
  .bv-showcase { padding: 130px 0; background: var(--bv-bg); }
  .bv-events-wrapper {
    background: var(--bv-card); border: 1px solid var(--bv-border);
    border-radius: 16px; padding: 32px; max-width: 1100px; margin: 0 auto;
    box-shadow: 0 40px 80px -30px rgba(0,0,0,.6);
  }
  @media (max-width: 720px) { .bv-events-wrapper { padding: 22px 16px; } }
  .bv-events-header {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding-bottom: 24px; border-bottom: 1px solid var(--bv-border); margin-bottom: 20px;
    position: relative;
  }
  .bv-events-header::before {
    content: ''; position: absolute; left: 0; top: 4px; bottom: 24px;
    width: 3px; background: var(--bv-orange); border-radius: 2px;
  }
  .bv-events-header-meta { padding-left: 16px; }
  .bv-events-header-meta h3 { font-size: 1.4rem; font-weight: 800; color: var(--bv-text); margin: 0 0 6px; letter-spacing: -.01em; }
  .bv-events-header-meta p { color: var(--bv-text-dim); font-size: .9rem; margin: 0; }
  .bv-events-header-link { color: var(--bv-blue); text-decoration: none; font-size: .9rem; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: gap .2s; }
  .bv-events-header-link:hover { gap: 10px; }

  .bv-events-date {
    display: flex; align-items: center; justify-content: space-between;
    padding: 22px 6px 12px;
  }
  .bv-events-date-left {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: .76rem; font-weight: 700; letter-spacing: .12em;
    color: var(--bv-blue); text-transform: uppercase;
  }
  .bv-events-date-left img { width: 12px; height: 12px; filter: invert(57%) sepia(78%) saturate(421%) hue-rotate(167deg) brightness(95%) contrast(89%); }
  .bv-events-date-count {
    font-size: .72rem; font-weight: 600; color: var(--bv-text-faint);
    padding: 4px 10px; border-radius: 999px;
    border: 1px solid var(--bv-border); background: var(--bv-bg);
  }

  .bv-events-week {
    display: flex; align-items: center; gap: 16px;
    margin: 28px 6px 12px; color: var(--bv-text-faint);
    font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  }
  .bv-events-week::before, .bv-events-week::after {
    content: ''; flex: 1; height: 1px; background: var(--bv-border);
  }

  .bv-event-row {
    display: block; text-decoration: none;
    background: var(--bv-card-2); border: 1px solid var(--bv-border);
    border-radius: 12px; overflow: hidden;
    transition: transform .28s cubic-bezier(.22,1,.36,1), border-color .28s, box-shadow .28s;
  }
  .bv-event-row + .bv-event-row { margin-top: 10px; }
  .bv-event-row:hover {
    transform: translateY(-2px); border-color: rgba(73,159,216,.4);
    box-shadow: 0 12px 28px -10px rgba(73,159,216,.25);
  }
  .bv-event-row-main {
    display: grid; grid-template-columns: 70px 1fr 130px 1fr 70px;
    align-items: center; padding: 16px 14px;
  }
  @media (max-width: 720px) {
    .bv-event-row-main { grid-template-columns: 50px 1fr 100px 1fr 50px; padding: 14px 10px; }
  }
  .bv-event-league-badge {
    width: 56px; height: 56px; border-radius: 8px; overflow: hidden;
    background: var(--bv-bg); display: flex; align-items: center; justify-content: center;
    margin: 0 auto;
  }
  @media (max-width: 720px) { .bv-event-league-badge { width: 38px; height: 38px; } }
  .bv-event-league-badge img { max-width: 100%; max-height: 100%; }
  .bv-event-team { display: flex; flex-direction: column; align-items: center; gap: 8px; }
  .bv-event-team-badge {
    width: 56px; height: 56px; border-radius: 50%; overflow: hidden;
    background: var(--bv-bg); display: flex; align-items: center; justify-content: center;
    transition: transform .3s;
  }
  @media (max-width: 720px) { .bv-event-team-badge { width: 42px; height: 42px; } }
  .bv-event-row:hover .bv-event-team-badge { transform: scale(1.05); }
  .bv-event-team-badge img { max-width: 70%; max-height: 70%; }
  .bv-event-team-name {
    font-size: .76rem; font-weight: 700; color: var(--bv-text);
    text-transform: uppercase; letter-spacing: .04em; text-align: center;
    line-height: 1.15; max-width: 130px;
    overflow: hidden; text-overflow: ellipsis; display: -webkit-box;
    -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  }
  @media (max-width: 720px) { .bv-event-team-name { font-size: .64rem; max-width: 100px; } }
  .bv-event-time { text-align: center; }
  .bv-event-time-h { font-size: 1.2rem; font-weight: 800; color: var(--bv-text); letter-spacing: -.02em; line-height: 1; }
  @media (max-width: 720px) { .bv-event-time-h { font-size: 1rem; } }
  .bv-event-time-d {
    font-size: .68rem; color: var(--bv-text-faint); margin-top: 4px;
    text-transform: uppercase; letter-spacing: .12em; font-weight: 600;
  }
  .bv-event-actions { display: flex; flex-direction: column; align-items: center; gap: 6px; }
  .bv-event-live-dot {
    width: 8px; height: 8px; border-radius: 50%; background: var(--bv-orange);
    box-shadow: 0 0 0 0 rgba(243,146,32,.7); animation: bvPulse 2s infinite;
  }
  .bv-event-chevron {
    width: 26px; height: 26px; border-radius: 50%;
    background: rgba(73,159,216,.12); color: var(--bv-blue);
    display: flex; align-items: center; justify-content: center;
    font-size: .7rem; transition: background .25s, transform .25s;
  }
  .bv-event-row:hover .bv-event-chevron { background: var(--bv-blue); color: #fff; transform: translateY(2px); }
  .bv-event-foot {
    background: rgba(73,159,216,.18);
    color: var(--bv-text); padding: 10px 18px;
    font-size: .82rem; font-weight: 600;
    display: flex; align-items: center; gap: 8px;
  }
  .bv-event-foot i { font-size: 14px; color: var(--bv-text); opacity: .9; }
  .bv-showcase-cta { text-align: center; margin-top: 32px; }

  /* ============ AUTH ============ */
  .bv-auth { padding: 130px 0; background: var(--bv-bg); }
  .bv-auth-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; max-width: 880px; margin: 0 auto; }
  @media (max-width: 720px) { .bv-auth-grid { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 480px) { .bv-auth-grid { grid-template-columns: repeat(2, 1fr); } }
  .bv-auth-method {
    background: var(--bv-card); border: 1px solid var(--bv-border);
    border-radius: 14px; padding: 24px 16px; text-align: center;
    transition: transform .25s cubic-bezier(.22,1,.36,1), border-color .25s;
  }
  .bv-auth-method:hover { transform: translateY(-4px); border-color: var(--bv-blue); }
  .bv-auth-method i { font-size: 32px; margin: 0 auto 10px; display: block; text-align: center; color: var(--bv-text); }
  .bv-auth-method .name { font-size: .85rem; color: var(--bv-text); font-weight: 600; }

  /* ============ APPS ============ */
  .bv-apps { padding: 130px 0; background: var(--bv-bg-2); }
  .bv-apps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 1100px; margin: 0 auto; }
  @media (max-width: 880px) { .bv-apps-grid { grid-template-columns: repeat(2, 1fr); } }
  .bv-app {
    background: var(--bv-card); border: 1px solid var(--bv-border);
    border-radius: 16px; padding: 28px 24px;
    transition: transform .3s cubic-bezier(.22,1,.36,1), border-color .3s;
  }
  .bv-app:hover { transform: translateY(-6px); border-color: var(--bv-blue); }
  .bv-app-icon { width: 48px; height: 48px; border-radius: 12px; background: rgba(73,159,216,.12); display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
  .bv-app-icon i { font-size: 28px; color: var(--bv-text); opacity: .9; }
  .bv-app h3 { font-size: 1.05rem; color: var(--bv-text); margin: 0 0 8px; font-weight: 700; }
  .bv-app p { color: var(--bv-text-dim); font-size: .88rem; line-height: 1.55; margin: 0 0 14px; }
  .bv-app .platform-tag { display: inline-block; font-size: .7rem; font-weight: 600; background: rgba(73,159,216,.12); color: var(--bv-blue); padding: 3px 10px; border-radius: 4px; text-transform: uppercase; letter-spacing: .08em; }

  /* ============ LANGUAGES + REGIONS ============ */
  .bv-lang { padding: 100px 0; background: var(--bv-bg); border-top: 1px solid var(--bv-border); }
  .bv-lang-row { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; max-width: 800px; margin: 30px auto 0; }
  .bv-lang-tag {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--bv-card); border: 1px solid var(--bv-border);
    border-radius: 999px; padding: 7px 14px;
    font-size: .82rem; color: var(--bv-text-dim); font-weight: 500;
    transition: border-color .2s, color .2s;
  }
  .bv-lang-tag:hover { border-color: var(--bv-blue); color: var(--bv-text); }
  .bv-lang-tag img { width: 18px; height: 14px; border-radius: 2px; }

  /* ============ STORY ============ */
  .bv-story { background: var(--bv-bg-2); padding: 140px 0; }
  .bv-story-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; align-items: center; }
  @media (max-width: 880px) { .bv-story-grid { grid-template-columns: 1fr; } }
  .bv-story-photo {
    aspect-ratio: 4/5;
    background-image: url('/img/bookvelt-web/hero-6af56c6030.jpg');
    background-size: cover; background-position: center;
    border-radius: 16px; overflow: hidden; border: 1px solid var(--bv-border);
    filter: saturate(.9); transition: transform .7s cubic-bezier(.22,1,.36,1), filter .7s;
  }
  .bv-story-photo:hover { transform: scale(1.02); filter: saturate(1); }
  .bv-story-eyebrow { font-size: .74rem; font-weight: 700; letter-spacing: .2em; color: var(--bv-orange); text-transform: uppercase; margin-bottom: 24px; }
  .bv-story h2 { font-size: clamp(1.9rem, 3.6vw, 2.8rem); font-weight: 700; color: var(--bv-text); line-height: 1.15; letter-spacing: -.025em; margin: 0 0 24px; }
  .bv-story p { font-size: clamp(1rem, 1.4vw, 1.15rem); color: var(--bv-text-dim); line-height: 1.65; margin: 0 0 18px; }
  .bv-story-quote { margin-top: 36px; padding: 28px 32px; background: rgba(73,159,216,.06); border-left: 3px solid var(--bv-blue); border-radius: 0 12px 12px 0; }
  .bv-story-quote blockquote { font-size: 1.04rem; color: var(--bv-text); line-height: 1.55; margin: 0 0 12px; }
  .bv-story-quote cite { font-size: .84rem; color: var(--bv-text-faint); font-style: normal; font-weight: 500; }

  /* ============ FAQ ============ */
  .bv-faq { padding: 130px 0; background: var(--bv-bg); }
  .bv-faq-list { max-width: 780px; margin: 0 auto; }
  .bv-faq-item { border-bottom: 1px solid var(--bv-border); }
  .bv-faq-item summary {
    list-style: none; cursor: pointer; padding: 24px 0;
    display: flex; align-items: center; justify-content: space-between;
    color: var(--bv-text); font-weight: 600; font-size: 1.02rem;
  }
  .bv-faq-item summary::-webkit-details-marker { display: none; }
  .bv-faq-item summary::after {
    content: '+'; color: var(--bv-blue); font-size: 1.6rem; font-weight: 300;
    transition: transform .3s;
  }
  .bv-faq-item[open] summary::after { transform: rotate(45deg); }
  .bv-faq-item p { color: var(--bv-text-dim); line-height: 1.65; padding: 0 0 24px; margin: 0; max-width: 90%; }

  /* ============ CTA ============ */
  .bv-cta { padding: 140px 0; text-align: center; position: relative; overflow: hidden; background: var(--bv-bg); }
  .bv-cta-photo { position: absolute; inset: 0; z-index: -2; background-image: url('/img/bookvelt-web/hero-1730bea41c.jpg'); background-size: cover; background-position: center; opacity: .25; filter: saturate(.7); }
  .bv-cta-overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--bv-bg) 0%, rgba(10,10,15,.7) 50%, var(--bv-bg) 100%); }
  .bv-cta h2 { font-size: clamp(2rem, 4.5vw, 3.2rem); font-weight: 700; color: var(--bv-text); line-height: 1.1; letter-spacing: -.025em; margin: 0 auto 22px; max-width: 14ch; }
  .bv-cta p { color: var(--bv-text-dim); font-size: 1.1rem; margin: 0 auto 40px; }

  /* ============ MOBILE RESPONSIVENESS PASS (2026-05-11) ============ */
  /* Sports + events mockup: 3 zones side-by-side → stack on mobile */
  @media (max-width: 720px) {
    .bv-zones { grid-template-columns: 1fr !important; gap: 8px; }
  }
  /* Sport-event mockup row layout shrinks aggressively on small phones */
  @media (max-width: 540px) {
    .bv-event-row-main { grid-template-columns: 40px 1fr 80px 1fr 40px !important; padding: 10px 8px !important; gap: 6px; }
    .bv-event-league-badge { width: 32px !important; height: 32px !important; }
    .bv-event-team-badge { width: 36px !important; height: 36px !important; }
    .bv-event-team-name { font-size: .58rem !important; max-width: 80px !important; }
    .bv-event-time-h { font-size: .9rem !important; }
  }
  /* Tech-row pills smaller on phones */
  @media (max-width: 540px) {
    .bv-tech { padding: 8px 10px; font-size: .78rem; gap: 8px; }
    .bv-tech i { font-size: 16px; }
  }
  /* Channel cards: tighter padding */
  @media (max-width: 540px) {
    .bv-channel { padding: 18px 12px; }
    .bv-channel-name { font-size: .92rem; }
    .bv-channel-meta { font-size: .72rem; }
  }
  /* Feed rows */
  @media (max-width: 540px) {
    .bv-feed-row { padding: 12px 10px; gap: 10px; }
    .bv-feed-meta { font-size: .72rem; }
  }
  /* Hero, tighter on mobile so CTAs land above the fold */
  @media (max-width: 720px) {
    .bv-hero { padding-top: 80px; padding-bottom: 60px; }
    .bv-h1 { font-size: clamp(1.9rem, 9vw, 2.7rem) !important; line-height: 1.05; letter-spacing: -.02em; max-width: 100%; margin-bottom: 18px; }
    .bv-hero-sub { font-size: .94rem !important; line-height: 1.5; margin-bottom: 22px; padding: 0 4px; }
    .bv-hero-inner .bv-eyebrow,
    .bv-eyebrow { font-size: .62rem; letter-spacing: .12em; margin-bottom: 16px; padding: 0 4px; line-height: 1.4; }
    .bv-cta-row { flex-direction: column; gap: 10px; align-items: stretch; }
    .bv-cta-row .bv-btn { width: 100%; justify-content: center; }
  }
  @media (max-width: 380px) {
    .bv-h1 { font-size: 1.7rem !important; }
    }
  /* Section eyebrow + heading sizes */
  @media (max-width: 540px) {
    .bv-section-head h2 { font-size: clamp(1.4rem, 6vw, 2rem) !important; }
    .bv-section-head p  { font-size: .92rem; }
  }
  /* Wallet pass mockups: scale down */
  @media (max-width: 480px) {
    .bv-wallet-card { width: 280px !important; }
  }
  /* App icons: 2-col on phone (already 2-col on tablet via 880px rule) */
  @media (max-width: 540px) {
    .bv-apps-grid { gap: 12px; }
    .bv-app-card { padding: 18px 14px; }
  }
  /* Story + Founder + CTA — let h2 wrap */
  @media (max-width: 540px) {
    .bv-story-grid h2, .bv-founder h2, .bv-cta h2 { font-size: clamp(1.5rem, 6vw, 2rem) !important; }
  }
  /* General container side padding on mobile */
  @media (max-width: 540px) {
    .bv-container { padding-left: 16px !important; padding-right: 16px !important; }
    .bv-section, section.bv-channels, section.bv-dash, section.bv-pillars,
    section.bv-sports, section.bv-feed, section.bv-ai, section.bv-integ,
    section.bv-wallet, section.bv-auth, section.bv-apps, section.bv-langs,
    section.bv-story, section.bv-faq, section.bv-cta { padding-top: 60px !important; padding-bottom: 60px !important; }
  }

  /* ============ TWO PRODUCTS ============ */
  .bv-products { padding: 130px 0; background: var(--bv-bg); }
  @media (max-width: 720px) { .bv-products { padding: 70px 0; } }
  .bv-prod-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; max-width: 1100px; margin: 56px auto 0; }
  @media (max-width: 880px) { .bv-prod-grid { grid-template-columns: 1fr; gap: 20px; margin-top: 40px; } }
  .bv-prod-card {
    background: var(--bv-card); border: 1px solid var(--bv-border); border-radius: 16px;
    padding: 32px 28px; display: flex; flex-direction: column; gap: 22px;
    transition: transform .4s cubic-bezier(.22,1,.36,1), border-color .3s, box-shadow .4s;
  }
  .bv-prod-card:hover { transform: translateY(-4px); border-color: var(--bv-blue); box-shadow: 0 30px 60px -20px rgba(73,159,216,.2); }
  @media (max-width: 540px) { .bv-prod-card { padding: 22px 18px; gap: 16px; } }
  .bv-prod-eyebrow { font-size: .74rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--bv-blue); margin-bottom: 8px; }
  .bv-prod-head h3 { font-size: clamp(1.3rem, 2.4vw, 1.7rem); font-weight: 700; color: var(--bv-text); margin: 0; line-height: 1.2; letter-spacing: -.015em; }
  .bv-prod-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px; }
  .bv-prod-list li { display: flex; align-items: flex-start; gap: 10px; color: var(--bv-text-dim); font-size: .94rem; line-height: 1.5; }
  .bv-prod-list li i { font-size: 16px; color: var(--bv-blue); margin-top: 3px; flex-shrink: 0; }
  .bv-prod-list li span { flex: 1; }
  .bv-prod-foot { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--bv-border); }
  .bv-prod-pill {
    display: inline-block; padding: 6px 12px; border-radius: 6px;
    font-size: .78rem; font-weight: 600; line-height: 1.3;
  }
  .bv-prod-pill-green { background: rgba(102,179,46,.12); color: #66b32e; border: 1px solid rgba(102,179,46,.3); }
  .bv-prod-foot-showcase { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
  .bv-prod-showcase-label { font-size: .7rem; text-transform: uppercase; letter-spacing: .15em; color: var(--bv-text-faint); font-weight: 600; }
  .bv-prod-showcase-link { display: inline-block; transition: opacity .2s; }
  .bv-prod-showcase-link:hover { opacity: .8; }
  .bv-prod-showcase-logo { height: 32px; width: auto; display: block; }

  /* ============ EVENT TICKETING DASHBOARD ============ */
  .bv-dash-tickets { background: var(--bv-bg); }
  .bv-dash-showcase {
    max-width: 1100px; margin: 32px auto 0; display: flex; flex-wrap: wrap; gap: 14px;
    align-items: center; justify-content: center; padding: 20px 24px;
    background: var(--bv-card); border: 1px solid var(--bv-border); border-radius: 14px;
  }
  .bv-dash-showcase-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .15em; color: var(--bv-text-faint); font-weight: 700; }
  .bv-dash-showcase-tag { color: var(--bv-text-dim); font-size: .88rem; }
  @media (max-width: 540px) { .bv-dash-showcase { flex-direction: column; gap: 10px; padding: 16px; text-align: center; } .bv-dash-showcase-tag { font-size: .82rem; } }

  /* ============ SMALL-BUSINESS WARMTH POLISH ============ */
  .bv-prod-card, .bv-dash-window, .bv-dash-showcase {
    box-shadow: 0 1px 0 rgba(255,255,255,.03) inset,
                0 30px 60px -30px rgba(0,0,0,.5);
  }
  .bv-section-head .bv-section-eyebrow { position: relative; display: inline-block; padding-left: 14px; }
  .bv-section-head .bv-section-eyebrow::before {
    content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
    width: 6px; height: 6px; border-radius: 50%;
    background: linear-gradient(135deg, var(--bv-blue), var(--bv-orange));
  }

  /* ============ TWO PRODUCTS — premium hero cards ============ */
  .bv-prod-card {
    overflow: hidden;
    padding: 0 !important;
    gap: 0 !important;
  }
  .bv-prod-visual {
    position: relative;
    aspect-ratio: 16/9;
    background-size: cover; background-position: center;
    border-bottom: 1px solid var(--bv-border);
    overflow: hidden;
  }
  .bv-prod-visual-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(10,10,15,.45) 0%, rgba(10,10,15,.78) 65%, rgba(10,10,15,.95) 100%);
  }
  /* Floating mockup card (floor plan / wallet pass) */
  .bv-prod-mockup {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -54%);
    background: rgba(20,20,32,.92); backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.08); border-radius: 12px;
    padding: 14px 16px; min-width: 280px; max-width: 86%;
    box-shadow: 0 24px 60px -20px rgba(0,0,0,.7), 0 0 0 1px rgba(73,159,216,.06);
  }
  .bv-prod-mockup-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 10px; }
  .bv-prod-mockup-eyebrow { font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--bv-text); }
  .bv-prod-mockup-meta { font-size: .68rem; color: var(--bv-text-faint); font-family: ui-monospace, monospace; }
  /* Floor-plan tables grid */
  .bv-prod-mockup-tables { display: grid; grid-template-columns: repeat(8, 1fr); gap: 4px; margin-bottom: 10px; }
  .bv-prod-mockup-tables .t {
    aspect-ratio: 1; border-radius: 4px; display: flex; align-items: center; justify-content: center;
    font-size: .58rem; font-weight: 700; line-height: 1;
  }
  .bv-prod-mockup-tables .t.free    { background: rgba(102,179,46,.18); color: #66b32e; }
  .bv-prod-mockup-tables .t.booked  { background: rgba(74,161,217,.22); color: #4aa1d9; }
  .bv-prod-mockup-tables .t.held    { background: rgba(245,158,11,.22); color: #f59e0b; }
  .bv-prod-mockup-tables .t.walkin  { background: rgba(234,179,8,.22);  color: #eab308; }
  .bv-prod-mockup-tables .t.blocked { background: rgba(120,120,130,.2); color: #9ca3af; }
  .bv-prod-mockup-legend { display: flex; flex-wrap: wrap; gap: 10px; font-size: .62rem; color: var(--bv-text-dim); }
  .bv-prod-mockup-legend span { display: inline-flex; align-items: center; gap: 4px; }
  .bv-prod-mockup-legend .dot { width: 7px; height: 7px; border-radius: 2px; display: inline-block; }
  .bv-prod-mockup-legend .dot.free { background: #66b32e; }
  .bv-prod-mockup-legend .dot.booked { background: #4aa1d9; }
  .bv-prod-mockup-legend .dot.held { background: #f59e0b; }
  .bv-prod-mockup-legend .dot.walkin { background: #eab308; }

  /* Wallet pass mockup */
  .bv-prod-mockup-pass { padding: 0; background: transparent; border: 0; box-shadow: none; backdrop-filter: none; }
  .bv-prod-pass {
    width: 240px; padding: 14px 16px; border-radius: 14px;
    background: linear-gradient(155deg, #0f172a 0%, #1e293b 100%);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 30px 70px -20px rgba(0,0,0,.8), 0 0 0 1px rgba(73,159,216,.08);
    color: #fff; display: flex; flex-direction: column; gap: 12px;
  }
  .bv-prod-pass-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
  .bv-prod-pass-org { font-size: .7rem; color: rgba(255,255,255,.7); font-weight: 600; }
  .bv-prod-pass-tag { font-size: .58rem; letter-spacing: .15em; color: rgba(255,255,255,.55); }
  .bv-prod-pass-event { font-size: 1rem; font-weight: 700; line-height: 1.2; }
  .bv-prod-pass-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
  .bv-prod-pass-meta div { display: flex; flex-direction: column; gap: 2px; }
  .bv-prod-pass-meta .l { font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); }
  .bv-prod-pass-meta .v { font-size: .8rem; font-weight: 700; }
  .bv-prod-pass-barcode { display: flex; align-items: center; gap: 12px; padding-top: 10px; border-top: 1px dashed rgba(255,255,255,.15); }
  .bv-prod-pass-barcode .qr { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; width: 44px; height: 44px; }
  .bv-prod-pass-barcode .qr span:nth-child(odd)  { background: #fff; }
  .bv-prod-pass-barcode .qr span:nth-child(3n)   { background: #fff; }
  .bv-prod-pass-barcode .qr span:nth-child(7n)   { background: #fff; }
  .bv-prod-pass-barcode .qr span:nth-child(11n)  { background: #fff; }
  .bv-prod-pass-barcode .qr span { background: rgba(255,255,255,.08); border-radius: 1px; }
  .bv-prod-pass-barcode .ref { font-family: ui-monospace, monospace; font-size: .68rem; color: rgba(255,255,255,.65); letter-spacing: .1em; }

  /* Devices/payment chips ribbon at bottom of visual */
  .bv-prod-devices {
    position: absolute; left: 0; right: 0; bottom: 12px;
    display: flex; flex-wrap: wrap; justify-content: center; gap: 6px;
    padding: 0 14px; pointer-events: none;
  }
  .bv-prod-devices span {
    display: inline-flex; align-items: center; gap: 5px;
    background: rgba(20,20,32,.7); backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,.08); border-radius: 999px;
    padding: 5px 10px; font-size: .68rem; color: rgba(255,255,255,.85); font-weight: 600;
  }
  .bv-prod-devices i { font-size: 11px; color: var(--bv-blue); }

  /* Body section under the visual */
  .bv-prod-body { padding: 28px; display: flex; flex-direction: column; gap: 16px; }
  @media (max-width: 540px) { .bv-prod-body { padding: 22px 18px; gap: 14px; } }
  .bv-prod-body .bv-prod-eyebrow { margin-bottom: 0; }
  .bv-prod-lead { color: var(--bv-text-dim); font-size: .96rem; line-height: 1.55; margin: 0; }

  @media (max-width: 540px) {
    .bv-prod-mockup { min-width: 0; max-width: 92%; padding: 10px 12px; }
    .bv-prod-mockup-tables { grid-template-columns: repeat(8, 1fr); gap: 3px; }
    .bv-prod-mockup-tables .t { font-size: .5rem; }
    .bv-prod-pass { width: 200px; padding: 12px 14px; }
    .bv-prod-pass-event { font-size: .9rem; }
    .bv-prod-devices { display: none; }
    .bv-prod-visual { aspect-ratio: 4/3; }
  }

  /* Use-case chip row under the Event Ticketing lead */
  .bv-prod-usecases {
    display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 4px;
  }
  .bv-prod-usecases span {
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(73,159,216,.08); border: 1px solid rgba(73,159,216,.22);
    border-radius: 999px; padding: 5px 11px;
    font-size: .76rem; color: var(--bv-text); font-weight: 500;
  }
  .bv-prod-usecases i { font-size: 12px; color: var(--bv-blue); }

  /* Compact in-section showcase strip (under Two Products head) */
  .bv-products-trust {
    max-width: 880px; margin: 40px auto 8px;
    display: flex; align-items: center; gap: 22px;
    padding: 18px 26px;
    background: var(--bv-card); border: 1px solid var(--bv-border); border-radius: 14px;
  }
  .bv-products-trust-logo { flex-shrink: 0; display: inline-block; transition: opacity .2s; }
  .bv-products-trust-logo:hover { opacity: .8; }
  .bv-products-trust-logo img { height: 28px; width: auto; display: block; }
  .bv-products-trust-text { flex: 1; min-width: 0; }
  .bv-products-trust-label {
    font-size: .68rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
    color: var(--bv-orange); margin-bottom: 4px;
    display: inline-flex; align-items: center; gap: 8px;
  }
  .bv-products-trust-label::before {
    content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--bv-orange);
    box-shadow: 0 0 0 0 rgba(243,146,32,.7); animation: bvPulse 2s infinite;
  }
  .bv-products-trust-line { color: var(--bv-text-dim); font-size: .92rem; line-height: 1.5; }
  .bv-products-trust-line a { color: var(--bv-blue); text-decoration: none; border-bottom: 1px solid rgba(73,159,216,.35); }
  @media (max-width: 540px) {
    .bv-products-trust { flex-direction: column; align-items: flex-start; gap: 12px; padding: 16px 18px; }
    .bv-products-trust-logo img { height: 22px; }
    .bv-products-trust-line { font-size: .85rem; }
  }

  /* Tighten gap between Two Products and the Sports Bar Events fixture browser */
  .bv-products:has(+ .fixture-browser) { padding-bottom: 40px; }
  .bv-products + .fixture-browser { padding-top: 8px; }
  @media (max-width: 720px) {
    .bv-products:has(+ .fixture-browser) { padding-bottom: 30px; }
  }


  /* ============ Stock photo backdrops (channels + story) ============ */
  .bv-channels { position: relative; overflow: hidden; }
  .bv-channels::before {
    content: ''; position: absolute; inset: 0; z-index: -2;
    background-image: url('/img/bookvelt-web/hero-4e28db0442.jpg');
    background-size: cover; background-position: center; opacity: .08; filter: saturate(.7);
  }
  .bv-channels::after {
    content: ''; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, var(--bv-bg) 0%, transparent 25%, transparent 75%, var(--bv-bg) 100%);
  }
  .bv-story { position: relative; overflow: hidden; }
  .bv-story::before {
    content: ''; position: absolute; inset: 0; z-index: -2;
    background-image: url('/img/bookvelt-web/hero-866cf4701a.jpg');
    background-size: cover; background-position: center; opacity: .12; filter: saturate(.6);
  }
  .bv-story::after {
    content: ''; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, var(--bv-bg) 0%, rgba(10,10,15,.7) 50%, var(--bv-bg) 100%);
  }
  .bv-sports { position: relative; }
  .bv-sports::before {
    content: ''; position: absolute; inset: 0; z-index: 0;
    background-image: url('/img/bookvelt-web/hero-d948020baf.jpg');
    background-size: cover; background-position: center; opacity: .07; filter: saturate(.7);
    pointer-events: none;
  }
  .bv-sports > .bv-container { position: relative; z-index: 1; }

  /* ============ Customer CRM dashboard ============ */
  .bv-crm { padding: 130px 0; background: var(--bv-bg); position: relative; overflow: hidden; }
  @media (max-width: 720px) { .bv-crm { padding: 80px 0; } }
  .bv-crm-window {
    background: var(--bv-card); border: 1px solid var(--bv-border);
    border-radius: 16px; max-width: 1100px; margin: 0 auto;
    box-shadow: 0 30px 80px -20px rgba(0,0,0,.6); overflow: hidden;
  }
  .bv-crm-bar {
    display: flex; align-items: center; gap: 14px;
    padding: 14px 20px; background: var(--bv-card-2); border-bottom: 1px solid var(--bv-border);
  }
  .bv-crm-bar-url { font-family: ui-monospace, monospace; font-size: .8rem; color: var(--bv-text-faint); }
  .bv-crm-body {
    padding: 28px 32px; display: grid; grid-template-columns: 280px 1fr; gap: 32px; min-height: 420px;
  }
  @media (max-width: 720px) { .bv-crm-body { grid-template-columns: 1fr; padding: 22px 18px; gap: 22px; min-height: 0; } }
  .bv-crm-profile {
    display: flex; flex-direction: column; align-items: center;
    padding: 22px 16px; background: var(--bv-card-2); border-radius: 12px; border: 1px solid var(--bv-border);
  }
  .bv-crm-avatar {
    width: 96px; height: 96px; border-radius: 50%;
    background: linear-gradient(135deg, var(--bv-blue), var(--bv-green));
    display: flex; align-items: center; justify-content: center;
    font-size: 36px; font-weight: 800; color: white; margin-bottom: 14px;
    letter-spacing: -.02em;
  }
  .bv-crm-name { font-size: 1.1rem; font-weight: 700; color: var(--bv-text); }
  .bv-crm-handle { font-size: .82rem; color: var(--bv-text-faint); font-family: ui-monospace, monospace; margin-top: 2px; }
  .bv-crm-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; justify-content: center; }
  .bv-crm-tag {
    background: rgba(73,159,216,.15); color: var(--bv-blue);
    font-size: .65rem; font-weight: 600; padding: 3px 8px; border-radius: 4px; text-transform: uppercase; letter-spacing: .08em;
  }
  .bv-crm-tag.gold { background: rgba(243,146,32,.18); color: var(--bv-orange); }
  .bv-crm-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; width: 100%; }
  .bv-crm-stat { text-align: center; padding: 10px 6px; background: var(--bv-bg); border: 1px solid var(--bv-border); border-radius: 8px; }
  .bv-crm-stat .v { font-size: 1.1rem; font-weight: 800; color: var(--bv-text); line-height: 1; }
  .bv-crm-stat .l { font-size: .58rem; color: var(--bv-text-faint); text-transform: uppercase; letter-spacing: .1em; margin-top: 4px; font-weight: 600; }
  .bv-crm-main { display: flex; flex-direction: column; gap: 16px; }
  .bv-crm-block { background: var(--bv-bg); border: 1px solid var(--bv-border); border-radius: 10px; padding: 16px 18px; }
  .bv-crm-block h5 {
    font-size: .68rem; color: var(--bv-text-faint); text-transform: uppercase; letter-spacing: .12em;
    margin: 0 0 12px; font-weight: 700;
  }
  .bv-crm-visit {
    display: flex; justify-content: space-between; align-items: center;
    padding: 9px 0; border-top: 1px solid var(--bv-border); font-size: .87rem; color: var(--bv-text);
  }
  .bv-crm-visit:first-of-type { border-top: none; }
  .bv-crm-visit .meta { color: var(--bv-text-faint); font-size: .76rem; }
  .bv-crm-visit .amt { color: var(--bv-text); font-weight: 700; font-family: ui-monospace, monospace; font-size: .82rem; }
  .bv-crm-note {
    padding: 10px 14px; background: rgba(243,146,32,.08); border-left: 3px solid var(--bv-orange);
    margin-top: 10px; font-size: .85rem; color: var(--bv-text-dim); border-radius: 0 6px 6px 0;
    font-style: italic;
  }

  /* ============ Calendar week-view dashboard ============ */
  .bv-cal { padding: 130px 0; background: var(--bv-bg-2); position: relative; overflow: hidden; }
  @media (max-width: 720px) { .bv-cal { padding: 80px 0; } }
  .bv-cal-window {
    background: var(--bv-card); border: 1px solid var(--bv-border);
    border-radius: 16px; max-width: 1180px; margin: 0 auto;
    box-shadow: 0 30px 80px -20px rgba(0,0,0,.6); overflow: hidden;
  }
  .bv-cal-bar {
    padding: 14px 22px; background: var(--bv-card-2); border-bottom: 1px solid var(--bv-border);
    display: flex; align-items: center; justify-content: space-between;
  }
  .bv-cal-bar-title { font-size: .9rem; font-weight: 700; color: var(--bv-text); }
  .bv-cal-bar-url { font-family: ui-monospace, monospace; font-size: .78rem; color: var(--bv-text-faint); }
  .bv-cal-grid {
    padding: 18px; display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px;
  }
  @media (max-width: 880px) { .bv-cal-grid { grid-template-columns: repeat(4, 1fr); gap: 6px; padding: 12px; } }
  @media (max-width: 540px) { .bv-cal-grid { grid-template-columns: repeat(2, 1fr); } }
  .bv-cal-day {
    background: var(--bv-bg); border: 1px solid var(--bv-border); border-radius: 8px;
    padding: 12px 10px; min-height: 240px; display: flex; flex-direction: column; gap: 5px;
  }
  .bv-cal-day.today { border-color: var(--bv-blue); box-shadow: 0 0 0 1px var(--bv-blue) inset; }
  .bv-cal-dayhead {
    font-size: .65rem; color: var(--bv-text-faint); text-transform: uppercase;
    letter-spacing: .12em; font-weight: 700;
  }
  .bv-cal-day.today .bv-cal-dayhead { color: var(--bv-blue); }
  .bv-cal-daynum {
    font-size: 1.3rem; font-weight: 800; color: var(--bv-text); line-height: 1;
    margin-bottom: 6px;
  }
  .bv-cal-event {
    padding: 5px 8px; border-radius: 4px; font-size: .68rem; font-weight: 600; line-height: 1.35;
    overflow: hidden;
  }
  .bv-cal-event .t { font-family: ui-monospace, monospace; font-size: .6rem; opacity: .7; display: block; }
  .bv-cal-event.evt    { background: rgba(74,161,217,.18); color: #4aa1d9; border-left: 2px solid #4aa1d9; }
  .bv-cal-event.res    { background: rgba(102,179,46,.16); color: #66b32e; border-left: 2px solid #66b32e; }
  .bv-cal-event.walkin { background: rgba(234,179,8,.16); color: #eab308; border-left: 2px solid #eab308; }
  .bv-cal-event.priv   { background: rgba(124,58,237,.18); color: #a87cff; border-left: 2px solid #a87cff; }



  /* ============ Mobile staff app mockup ============ */
  .bv-mobile { padding: 130px 0; background: var(--bv-bg); position: relative; overflow: hidden; }
  @media (max-width: 720px) { .bv-mobile { padding: 80px 0; } }
  .bv-mobile-grid {
    display: grid; grid-template-columns: 320px 1fr; gap: 60px;
    max-width: 1100px; margin: 0 auto; align-items: center;
  }
  @media (max-width: 880px) { .bv-mobile-grid { grid-template-columns: 1fr; gap: 32px; } .bv-phone { margin: 0 auto; } }
  .bv-phone {
    width: 300px; height: 600px; background: #0a0a0f; border-radius: 38px;
    border: 8px solid #1a1a22; box-shadow: 0 30px 80px -20px rgba(0,0,0,.7);
    position: relative; overflow: hidden; padding: 14px;
  }
  .bv-phone::before {
    content: ''; position: absolute; top: 14px; left: 50%; transform: translateX(-50%);
    width: 100px; height: 24px; background: #1a1a22; border-radius: 16px;
  }
  .bv-phone-screen { background: var(--bv-card); border-radius: 24px; height: 100%; padding: 50px 14px 14px; display: flex; flex-direction: column; gap: 8px; }
  .bv-phone-head { display: flex; justify-content: space-between; align-items: baseline; padding: 0 4px 8px; }
  .bv-phone-head .l { font-size: .7rem; color: var(--bv-text-faint); }
  .bv-phone-head .h { font-size: 1.05rem; font-weight: 700; color: var(--bv-text); }
  .bv-phone-row {
    display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 8px;
    padding: 10px 8px; background: var(--bv-bg); border: 1px solid var(--bv-border); border-radius: 8px;
  }
  .bv-phone-row .a { width: 28px; height: 28px; border-radius: 50%; background: linear-gradient(135deg, var(--bv-blue), var(--bv-green)); display:flex; align-items:center; justify-content:center; font-size: .68rem; font-weight: 700; color: white; }
  .bv-phone-row .n { font-size: .82rem; color: var(--bv-text); font-weight: 600; }
  .bv-phone-row .m { font-size: .65rem; color: var(--bv-text-faint); margin-top: 1px; }
  .bv-phone-row .t { font-size: .68rem; font-weight: 700; color: var(--bv-text); font-family: ui-monospace, monospace; }
  .bv-phone-foot { margin-top: auto; display: flex; justify-content: space-around; padding-top: 10px; border-top: 1px solid var(--bv-border); }
  .bv-phone-tab { font-size: .62rem; color: var(--bv-text-faint); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
  .bv-phone-tab.active { color: var(--bv-blue); }

  /* ============ Email confirmation preview mockup ============ */
  .bv-email { padding: 130px 0; background: var(--bv-bg-2); position: relative; overflow: hidden; }
  @media (max-width: 720px) { .bv-email { padding: 80px 0; } }
  .bv-email-window {
    background: var(--bv-card); border: 1px solid var(--bv-border);
    border-radius: 16px; max-width: 720px; margin: 0 auto;
    box-shadow: 0 30px 80px -20px rgba(0,0,0,.6); overflow: hidden;
  }
  .bv-email-bar {
    display: flex; align-items: center; gap: 14px; padding: 14px 20px;
    background: var(--bv-card-2); border-bottom: 1px solid var(--bv-border);
  }
  .bv-email-bar-url { font-family: ui-monospace, monospace; font-size: .78rem; color: var(--bv-text-faint); }
  .bv-email-body { padding: 32px 36px; background: #ffffff; color: #111; line-height: 1.55; }
  @media (max-width: 540px) { .bv-email-body { padding: 22px 18px; } }
  .bv-email-from { font-size: .82rem; color: #666; padding-bottom: 14px; border-bottom: 1px solid #e5e7eb; margin-bottom: 22px; }
  .bv-email-h1 { font-size: 1.4rem; font-weight: 800; color: #111; margin: 0 0 6px; }
  .bv-email-sub { font-size: .92rem; color: #555; margin: 0 0 22px; }
  .bv-email-card {
    background: #f5f7fa; border: 1px solid #e5e7eb; border-radius: 10px;
    padding: 20px; margin: 0 0 22px;
  }
  .bv-email-card-row { display: flex; justify-content: space-between; padding: 7px 0; font-size: .9rem; }
  .bv-email-card-row .l { color: #666; }
  .bv-email-card-row .v { color: #111; font-weight: 600; }
  .bv-email-card-row .v.ref { font-family: ui-monospace, monospace; background: rgba(73,159,216,.12); color: #2b6fa5; padding: 2px 8px; border-radius: 4px; font-size: .82rem; }
  .bv-email-cta { display: inline-block; background: #499fd8; color: white; padding: 12px 28px; border-radius: 8px; font-weight: 700; font-size: .92rem; text-decoration: none; margin: 6px 0; }
  .bv-email-wallets { display: flex; gap: 10px; margin: 18px 0; flex-wrap: wrap; }
  .bv-email-wallet { background: #111; color: white; padding: 9px 14px; border-radius: 6px; font-size: .78rem; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }
  .bv-email-footer { padding-top: 18px; border-top: 1px solid #e5e7eb; font-size: .74rem; color: #999; margin-top: 22px; }



  /* ============ DIFFERENTIATORS STRIP ============ */
  .bv-diff { padding: 100px 0; background: var(--bv-bg-2); }
  @media (max-width: 720px) { .bv-diff { padding: 70px 0; } }
  .bv-diff-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
    max-width: 1100px; margin: 0 auto;
  }
  @media (max-width: 880px) { .bv-diff-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 540px) { .bv-diff-grid { grid-template-columns: 1fr; } }
  .bv-diff-card {
    background: var(--bv-card); border: 1px solid var(--bv-border);
    border-radius: 12px; padding: 26px 22px; position: relative; overflow: hidden;
    transition: transform .25s cubic-bezier(.22,1,.36,1), border-color .25s, box-shadow .25s;
  }
  .bv-diff-card:hover { transform: translateY(-4px); border-color: var(--bv-blue); box-shadow: 0 18px 40px -16px rgba(73,159,216,.25); }
  .bv-diff-card::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--bv-blue), var(--bv-green));
  }
  .bv-diff-card h3 { font-size: 1.05rem; font-weight: 700; color: var(--bv-text); margin: 0 0 10px; line-height: 1.3; }
  .bv-diff-card p { font-size: .88rem; color: var(--bv-text-dim); line-height: 1.55; margin: 0; }
  .bv-diff-card .tag {
    display: inline-block; font-size: .62rem; font-weight: 700; color: var(--bv-orange);
    text-transform: uppercase; letter-spacing: .12em; background: rgba(243,146,32,.12);
    padding: 3px 8px; border-radius: 4px; margin-bottom: 12px;
  }

  /* ============ VS DUCT-TAPE STACK ============ */
  .bv-vs { padding: 130px 0; background: var(--bv-bg); }
  @media (max-width: 720px) { .bv-vs { padding: 80px 0; } }
  .bv-vs-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
    max-width: 1000px; margin: 0 auto;
  }
  @media (max-width: 720px) { .bv-vs-grid { grid-template-columns: 1fr; } }
  .bv-vs-col {
    background: var(--bv-card); border: 1px solid var(--bv-border); border-radius: 14px;
    padding: 32px 28px; position: relative;
  }
  .bv-vs-col.bad { opacity: .85; }
  .bv-vs-col.good { border-color: var(--bv-blue); box-shadow: 0 0 0 1px var(--bv-blue) inset; }
  .bv-vs-col h3 {
    font-size: .82rem; color: var(--bv-text-faint); text-transform: uppercase;
    letter-spacing: .14em; font-weight: 700; margin: 0 0 6px;
  }
  .bv-vs-col h4 { font-size: 1.25rem; font-weight: 700; color: var(--bv-text); margin: 0 0 22px; line-height: 1.3; }
  .bv-vs-col.good h4 { color: var(--bv-blue); }
  .bv-vs-col ul { list-style: none; padding: 0; margin: 0; }
  .bv-vs-col li {
    padding: 10px 0 10px 28px; position: relative;
    font-size: .92rem; color: var(--bv-text-dim); border-top: 1px solid var(--bv-border); line-height: 1.5;
  }
  .bv-vs-col li:first-child { border-top: none; }
  .bv-vs-col.bad li::before {
    content: '✕'; position: absolute; left: 0; top: 9px;
    color: #ef4444; font-weight: 700; font-size: 1rem;
  }
  .bv-vs-col.good li::before {
    content: '✓'; position: absolute; left: 0; top: 9px;
    color: #22c55e; font-weight: 700; font-size: 1rem;
  }

  /* Live pulse dot — adds "life" */
  /* Subtle ambient drift on the hero — keeps the page feeling alive */
  

  /* Atmospheric color orbs — Bookvelt brand glow */
  .bv-hero-orb {
    position: absolute; border-radius: 50%; filter: blur(80px);
    pointer-events: none; z-index: 0;
  }
  .bv-hero-orb-1 {
    width: 520px; height: 520px;
    background: radial-gradient(circle, rgba(73,159,216,.45), transparent 65%);
    top: -120px; left: -60px;
    animation: bvHeroOrb1 22s ease-in-out infinite;
  }
  .bv-hero-orb-2 {
    width: 420px; height: 420px;
    background: radial-gradient(circle, rgba(102,179,46,.22), transparent 65%);
    bottom: -100px; right: -40px;
    animation: bvHeroOrb2 28s ease-in-out infinite;
  }
  .bv-hero-orb-3 {
    width: 360px; height: 360px;
    background: radial-gradient(circle, rgba(243,146,32,.14), transparent 65%);
    top: 30%; left: 45%;
    animation: bvHeroOrb3 32s ease-in-out infinite;
  }
  @keyframes bvHeroOrb1 {
    0%, 100% { transform: translate(0,0); }
    50%      { transform: translate(60px, 30px); }
  }
  @keyframes bvHeroOrb2 {
    0%, 100% { transform: translate(0,0); }
    50%      { transform: translate(-40px, -20px); }
  }
  @keyframes bvHeroOrb3 {
    0%, 100% { transform: translate(0,0); }
    50%      { transform: translate(-30px, 40px); }
  }

  /* Subtle film grain for premium feel */
  .bv-hero-grain {
    position: absolute; inset: 0; z-index: 1; pointer-events: none;
    opacity: .35; mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  /* Content wrapper sits above everything */
  .bv-hero > .bv-container { position: relative; z-index: 2; }
  .bv-hero-inner {
    max-width: 880px; margin: 0 auto; text-align: center;
    padding: 0 24px;
  }

  /* Tag — small pill with a green dot, single clean line */
  .bv-hero-tag {
    display: inline-flex; align-items: center; gap: 10px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    color: rgba(228,228,231,.78);
    font-size: .78rem; font-weight: 500; letter-spacing: .01em;
    padding: 7px 16px 7px 13px; border-radius: 999px;
    margin-bottom: 36px;
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  }
  .bv-hero-tag-dot {
    width: 7px; height: 7px; border-radius: 50%; background: #66b32e;
    box-shadow: 0 0 12px #66b32e;
    animation: bvHeroDot 2.4s ease-in-out infinite;
  }
  @keyframes bvHeroDot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%      { opacity: .55; transform: scale(.85); }
  }
  @media (max-width: 540px) {
    .bv-hero-tag { font-size: .68rem; padding: 6px 13px 6px 11px; margin-bottom: 24px; }
  }

  /* Title — premium editorial sans, refined tracking */
  .bv-hero-title {
    font-size: clamp(2.6rem, 6.5vw, 5.4rem);
    font-weight: 700; line-height: 1.04; letter-spacing: -.035em;
    color: #f4f5f8; margin: 0 0 26px;
  }
  .bv-hero-accent {
    background: linear-gradient(110deg, #66b32e 0%, #4aa1d9 50%, #66b32e 100%);
    background-size: 200% auto;
    -webkit-background-clip: text; background-clip: text; color: transparent;
    animation: bvHeroAccent 8s ease-in-out infinite;
  }
  @keyframes bvHeroAccent {
    0%, 100% { background-position: 0% 50%; }
    50%      { background-position: 100% 50%; }
  }
  @media (max-width: 540px) {
    .bv-hero-title { font-size: clamp(2rem, 9vw, 2.8rem); margin-bottom: 18px; }
  }

  /* Lead — calm, generous line-height */
  .bv-hero-lead {
    font-size: 1.15rem; line-height: 1.55; font-weight: 400;
    color: rgba(228,228,231,.7); max-width: 560px;
    margin: 0 auto 42px;
  }
  @media (max-width: 540px) {
    .bv-hero-lead { font-size: .98rem; margin-bottom: 30px; }
  }

  /* Actions row — primary gradient button + minimal text link */
  .bv-hero-actions {
    display: flex; align-items: center; justify-content: center; gap: 18px;
    flex-wrap: wrap; margin-bottom: 56px;
  }
  .bv-hero-cta {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 14px 26px; border-radius: 999px;
    background: linear-gradient(135deg, #4aa1d9, #5fb8ee);
    color: #07070b; font-size: .98rem; font-weight: 600;
    text-decoration: none; letter-spacing: -.005em;
    box-shadow:
      0 1px 0 rgba(255,255,255,.35) inset,
      0 -1px 0 rgba(0,0,0,.15) inset,
      0 10px 28px -8px rgba(73,159,216,.55);
    transition: transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s, filter .25s;
  }
  .bv-hero-cta:hover {
    transform: translateY(-2px);
    box-shadow:
      0 1px 0 rgba(255,255,255,.4) inset,
      0 -1px 0 rgba(0,0,0,.18) inset,
      0 18px 44px -10px rgba(73,159,216,.65);
    filter: brightness(1.08);
  }
  .bv-hero-cta-arrow { transition: transform .25s; }
  .bv-hero-cta:hover .bv-hero-cta-arrow { transform: translateX(4px); }

  .bv-hero-link {
    color: rgba(228,228,231,.85); text-decoration: none;
    font-size: .94rem; font-weight: 500;
    padding: 12px 18px; border-radius: 999px;
    transition: color .25s, background .25s;
  }
  .bv-hero-link:hover { color: #fff; background: rgba(255,255,255,.04); }
  @media (max-width: 540px) {
    .bv-hero-actions { gap: 8px; margin-bottom: 36px; }
    .bv-hero-cta { width: 100%; justify-content: center; padding: 14px 22px; }
    .bv-hero-link { width: 100%; text-align: center; }
  }

  /* Meta row — thin inline credibility line */
  .bv-hero-meta {
    display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px;
    font-size: .82rem; color: rgba(228,228,231,.55); font-weight: 400;
    padding: 12px 22px; border-top: 1px solid rgba(255,255,255,.05);
    border-bottom: 1px solid rgba(255,255,255,.05);
  }
  .bv-hero-meta strong { color: rgba(228,228,231,.9); font-weight: 600; }
  .bv-hero-meta-sep {
    width: 1px; height: 14px; background: rgba(255,255,255,.1);
  }
  @media (max-width: 720px) {
    .bv-hero-meta { gap: 10px; font-size: .74rem; padding: 10px 14px; }
    .bv-hero-meta-sep { display: none; }
    .bv-hero-meta > span:not(.bv-hero-meta-sep) {
      flex: 1 1 calc(50% - 10px); text-align: center;
      padding: 4px 0;
    }
  }



  /* ============ HERO V3 — split layout, live mockup ============ */
  .bv-hero-v3 {
    position: relative; overflow: hidden;
    padding: 110px 0 100px;
    background: #07070b;
  }
  @media (max-width: 980px) { .bv-hero-v3 { padding: 80px 0 70px; } }

  .bv-hero-v3-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
  .bv-hero-v3-glow {
    position: absolute; border-radius: 50%; filter: blur(100px);
  }
  .bv-hero-v3-glow-1 {
    width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(73,159,216,.32), transparent 70%);
    top: -200px; left: -150px;
  }
  .bv-hero-v3-glow-2 {
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(102,179,46,.16), transparent 70%);
    bottom: -150px; right: -100px;
  }

  .bv-hero-v3 > .bv-container { position: relative; z-index: 1; }

  .bv-hero-v3-grid {
    display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px;
    align-items: center; max-width: 1180px; margin: 0 auto;
  }
  @media (max-width: 980px) {
    .bv-hero-v3-grid { grid-template-columns: 1fr; gap: 48px; }
  }

  /* ---- LEFT COPY ---- */
  .bv-hero-v3-copy { max-width: 560px; }
  @media (max-width: 980px) { .bv-hero-v3-copy { max-width: 100%; text-align: left; } }

  .bv-hero-v3-tag {
    display: inline-flex; align-items: center; gap: 9px;
    background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08);
    color: rgba(228,228,231,.78); font-size: .78rem; font-weight: 500;
    padding: 6px 14px 6px 11px; border-radius: 999px; margin-bottom: 28px;
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  }
  .bv-hero-v3-tag-dot {
    width: 6px; height: 6px; border-radius: 50%; background: #66b32e;
    box-shadow: 0 0 10px #66b32e;
    animation: bvV3Dot 2.4s ease-in-out infinite;
  }
  @keyframes bvV3Dot {
    0%,100% { opacity:1; transform:scale(1); }
    50%     { opacity:.5; transform:scale(.85); }
  }

  .bv-hero-v3-title {
    font-size: clamp(1.9rem, 6.2vw, 4rem); font-weight: 700;
    line-height: 1.08; letter-spacing: -.035em;
    color: #f4f5f8; margin: 0 0 24px;
    text-wrap: balance;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: none;
  }
  .bv-hero-v3-accent {
    display: inline-block;
    background: linear-gradient(110deg, #66b32e 0%, #4aa1d9 50%, #66b32e 100%);
    background-size: 200% auto;
    -webkit-background-clip: text; background-clip: text; color: transparent;
    animation: bvV3Accent 8s ease-in-out infinite;
  }
  @media (min-width: 720px) {
    .bv-hero-v3-accent { display: block; }
  }
  @keyframes bvV3Accent {
    0%,100% { background-position: 0% 50%; }
    50%     { background-position: 100% 50%; }
  }

  .bv-hero-v3-lead {
    font-size: 1.08rem; line-height: 1.55; color: rgba(228,228,231,.7);
    font-weight: 400; margin: 0 0 32px;
  }

  .bv-hero-v3-cta-row {
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 22px;
  }
  .bv-hero-v3-cta {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 13px 22px; border-radius: 999px;
    background: linear-gradient(135deg, #4aa1d9, #5fb8ee);
    color: #07070b; font-size: .95rem; font-weight: 600;
    text-decoration: none;
    box-shadow:
      0 1px 0 rgba(255,255,255,.35) inset,
      0 -1px 0 rgba(0,0,0,.15) inset,
      0 10px 28px -8px rgba(73,159,216,.55);
    transition: transform .25s, box-shadow .25s, filter .25s;
  }
  .bv-hero-v3-cta:hover {
    transform: translateY(-2px);
    box-shadow:
      0 1px 0 rgba(255,255,255,.4) inset,
      0 -1px 0 rgba(0,0,0,.18) inset,
      0 18px 44px -10px rgba(73,159,216,.65);
    filter: brightness(1.08);
  }
  .bv-hero-v3-cta svg { transition: transform .25s; }
  .bv-hero-v3-cta:hover svg { transform: translateX(3px); }

  .bv-hero-v3-link {
    color: rgba(228,228,231,.85); text-decoration: none;
    font-size: .92rem; font-weight: 500;
    padding: 12px 16px; border-radius: 999px;
    transition: color .25s, background .25s;
  }
  .bv-hero-v3-link:hover { color: #fff; background: rgba(255,255,255,.04); }

  .bv-hero-v3-trust {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    font-size: .78rem; color: rgba(228,228,231,.45);
  }
  .bv-hero-v3-trust-dot {
    width: 3px; height: 3px; border-radius: 50%; background: rgba(255,255,255,.2);
  }

  /* ---- RIGHT MOCKUP ---- */
  .bv-hero-v3-mockup { position: relative; }

  .bv-hero-v3-window {
    background: #0f0f15; border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px; overflow: hidden;
    box-shadow: 0 30px 80px -20px rgba(0,0,0,.6), 0 0 0 1px rgba(73,159,216,.08);
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    transform: perspective(1200px) rotateY(-3deg) rotateX(2deg);
    transform-origin: center;
  }
  @media (max-width: 980px) {
    .bv-hero-v3-window { transform: none; }
  }

  .bv-hero-v3-window-bar {
    display: flex; align-items: center; gap: 7px;
    padding: 11px 14px; background: rgba(255,255,255,.02);
    border-bottom: 1px solid rgba(255,255,255,.05);
  }
  .bv-hero-v3-window-bar > span {
    width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.08);
  }
  .bv-hero-v3-window-bar > span:first-child { background: #ff5f57; }
  .bv-hero-v3-window-bar > span:nth-child(2) { background: #febc2e; }
  .bv-hero-v3-window-bar > span:nth-child(3) { background: #28c840; }
  .bv-hero-v3-window-url {
    margin-left: 12px; font-family: ui-monospace, monospace;
    font-size: .72rem; color: rgba(228,228,231,.45);
  }

  .bv-hero-v3-window-body { padding: 22px; }
  .bv-hero-v3-window-head {
    display: flex; justify-content: space-between; align-items: flex-start;
    margin-bottom: 18px;
  }
  .bv-hero-v3-window-h { font-size: 1rem; font-weight: 700; color: #f4f5f8; }
  .bv-hero-v3-window-meta { font-size: .74rem; color: rgba(228,228,231,.5); margin-top: 3px; }
  .bv-hero-v3-window-pulse {
    font-size: .68rem; font-weight: 600; color: #8fd357;
    padding: 4px 9px; background: rgba(102,179,46,.12);
    border: 1px solid rgba(102,179,46,.3); border-radius: 999px;
    letter-spacing: .04em;
  }

  .bv-hero-v3-rows { display: flex; flex-direction: column; gap: 8px; }
  .bv-hero-v3-row {
    display: grid; grid-template-columns: auto 1fr auto;
    gap: 12px; align-items: center;
    padding: 12px 14px; background: rgba(255,255,255,.02);
    border: 1px solid rgba(255,255,255,.05); border-radius: 9px;
    opacity: 0; transform: translateY(8px);
    animation: bvV3Row .6s cubic-bezier(.22,1,.36,1) forwards;
  }
  .bv-hero-v3-row-1 { animation-delay: .3s; }
  .bv-hero-v3-row-2 { animation-delay: .45s; }
  .bv-hero-v3-row-3 { animation-delay: .6s; }
  .bv-hero-v3-row-4 { animation-delay: .75s; }
  @keyframes bvV3Row {
    to { opacity: 1; transform: translateY(0); }
  }

  .bv-hero-v3-pill {
    font-size: .62rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
    padding: 4px 9px; border-radius: 5px; line-height: 1;
  }
  .bv-hero-v3-pill-res {
    background: rgba(102,179,46,.14); color: #8fd357;
    border: 1px solid rgba(102,179,46,.3);
  }
  .bv-hero-v3-pill-evt {
    background: rgba(73,159,216,.14); color: #6db4e3;
    border: 1px solid rgba(73,159,216,.3);
  }
  .bv-hero-v3-pill-walk {
    background: rgba(243,146,32,.14); color: #f5a85a;
    border: 1px solid rgba(243,146,32,.3);
  }

  .bv-hero-v3-row-name { font-size: .88rem; font-weight: 600; color: #e4e4e7; line-height: 1.2; }
  .bv-hero-v3-row-sub { font-size: .72rem; color: rgba(228,228,231,.5); margin-top: 2px; }
  .bv-hero-v3-row-time {
    font-size: .82rem; font-weight: 600; color: #e4e4e7;
    font-family: ui-monospace, monospace;
  }

  /* Floating notification card */
  .bv-hero-v3-notif {
    position: absolute; bottom: -28px; left: -32px;
    display: flex; align-items: center; gap: 12px;
    background: #14141c; border: 1px solid rgba(102,179,46,.3);
    border-radius: 12px; padding: 12px 18px 12px 14px;
    box-shadow: 0 20px 50px -15px rgba(0,0,0,.7), 0 0 0 1px rgba(102,179,46,.15);
    opacity: 0; transform: translateY(10px);
    animation: bvV3Notif .6s 1s cubic-bezier(.22,1,.36,1) forwards;
  }
  @keyframes bvV3Notif {
    to { opacity: 1; transform: translateY(0); }
  }
  .bv-hero-v3-notif-icon {
    width: 32px; height: 32px; border-radius: 8px;
    background: rgba(102,179,46,.18); color: #8fd357;
    display: flex; align-items: center; justify-content: center;
  }
  .bv-hero-v3-notif-title { font-size: .8rem; font-weight: 700; color: #e4e4e7; line-height: 1.1; }
  .bv-hero-v3-notif-sub { font-size: .7rem; color: rgba(228,228,231,.55); margin-top: 3px; }
  @media (max-width: 980px) {
    .bv-hero-v3-notif { left: 50%; transform: translateX(-50%) translateY(10px); bottom: -22px; }
    @keyframes bvV3Notif {
      to { opacity: 1; transform: translateX(-50%) translateY(0); }
    }
  }

  /* Mobile fine-tuning */
  @media (max-width: 540px) {
    .bv-hero-v3-title { font-size: clamp(1.55rem, 7.6vw, 2.3rem); line-height: 1.12; }
    .bv-hero-v3-lead { font-size: .96rem; }
    .bv-hero-v3-cta { width: 100%; justify-content: center; }
    .bv-hero-v3-link { width: 100%; text-align: center; padding: 12px; }
    .bv-hero-v3-cta-row { flex-direction: column; align-items: stretch; }
    .bv-hero-v3-window-body { padding: 16px; }
  }



  /* ============ HERO V3 — life additions (cycling rows, drifting orbs, micro-interactions) ============ */

  /* Smooth slide-in / slide-out for booking rows */
  .bv-hero-v3-row {
    transition: transform .42s cubic-bezier(.22,1,.36,1), opacity .42s ease;
  }
  .bv-hero-v3-row-in {
    opacity: 0; transform: translateY(14px);
  }
  .bv-hero-v3-row-out {
    opacity: 0 !important; transform: translateY(-12px) scale(.985); pointer-events: none;
  }

  /* Drifting hero glow orbs (subtle, slow, Stripe-style) */
  .bv-hero-v3-glow-1 { animation: bvV3Glow1 24s ease-in-out infinite; }
  .bv-hero-v3-glow-2 { animation: bvV3Glow2 30s ease-in-out infinite; }
  @keyframes bvV3Glow1 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50%      { transform: translate(80px, 40px) scale(1.08); }
  }
  @keyframes bvV3Glow2 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50%      { transform: translate(-60px, -30px) scale(1.05); }
  }
  @media (prefers-reduced-motion: reduce) {
    .bv-hero-v3-glow-1, .bv-hero-v3-glow-2 { animation: none; }
  }

  /* Notification pop pulse when new booking arrives */
  .bv-hero-v3-notif-pop {
    animation: bvV3NotifPop .6s cubic-bezier(.22,1,.36,1);
  }
  @keyframes bvV3NotifPop {
    0%   { transform: translateY(0) scale(1); box-shadow: 0 20px 50px -15px rgba(0,0,0,.7), 0 0 0 1px rgba(102,179,46,.15); }
    35%  { transform: translateY(-6px) scale(1.04); box-shadow: 0 28px 70px -15px rgba(0,0,0,.75), 0 0 0 2px rgba(102,179,46,.55), 0 0 40px rgba(102,179,46,.35); }
    100% { transform: translateY(0) scale(1); box-shadow: 0 20px 50px -15px rgba(0,0,0,.7), 0 0 0 1px rgba(102,179,46,.15); }
  }
  @media (max-width: 980px) {
    @keyframes bvV3NotifPop {
      0%   { transform: translateX(-50%) translateY(0) scale(1); }
      35%  { transform: translateX(-50%) translateY(-6px) scale(1.04); }
      100% { transform: translateX(-50%) translateY(0) scale(1); }
    }
  }

  /* CTA premium micro-interaction — light sweep on hover */
  .bv-hero-v3-cta {
    position: relative; overflow: hidden;
  }
  .bv-hero-v3-cta::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,.4) 50%, transparent 70%);
    transform: translateX(-100%); pointer-events: none;
    transition: transform .9s cubic-bezier(.22,1,.36,1);
  }
  .bv-hero-v3-cta:hover::after { transform: translateX(100%); }

  /* Scroll-driven reveal — uses modern CSS Scroll-driven Animations API where supported */
  @supports (animation-timeline: view()) {
    .bv-reveal {
      opacity: 0; transform: translateY(20px);
      animation: bvScrollReveal linear both;
      animation-timeline: view();
      animation-range: entry 0% cover 30%;
    }
    .bv-reveal.delay-1 { animation-range: entry 5% cover 35%; }
    .bv-reveal.delay-2 { animation-range: entry 10% cover 40%; }
    .bv-reveal.delay-3 { animation-range: entry 15% cover 45%; }
    .bv-reveal.delay-4 { animation-range: entry 20% cover 50%; }
  }
  @keyframes bvScrollReveal {
    to { opacity: 1; transform: translateY(0); }
  }

  /* Pillar cards — convert from photo-row layout to bento card grid */
  .bv-pillars { background: var(--bv-bg); padding: 110px 0; }
  @media (max-width: 720px) { .bv-pillars { padding: 70px 0; } }
  .bv-pillars .bv-section-head { max-width: 720px; margin: 0 auto 56px; text-align: center; }

  .bv-pillar-bento {
    display: grid; gap: 18px; max-width: 1180px; margin: 0 auto;
    grid-template-columns: repeat(3, 1fr);
  }
  @media (max-width: 880px) { .bv-pillar-bento { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 540px) { .bv-pillar-bento { grid-template-columns: 1fr; } }

  .bv-bento-card {
    background: var(--bv-card); border: 1px solid var(--bv-border);
    border-radius: 16px; padding: 28px 24px; position: relative; overflow: hidden;
    min-height: 200px;
    display: flex; flex-direction: column;
    transition: transform .3s cubic-bezier(.22,1,.36,1), border-color .3s, box-shadow .3s;
  }
  .bv-bento-card::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(73,159,216,.4), transparent);
    opacity: 0; transition: opacity .3s;
  }
  .bv-bento-card:hover {
    transform: translateY(-4px);
    border-color: rgba(73,159,216,.3);
    box-shadow: 0 30px 60px -20px rgba(73,159,216,.18), 0 0 0 1px rgba(73,159,216,.08);
  }
  .bv-bento-card:hover::before { opacity: 1; }

  .bv-bento-card-icon {
    width: 36px; height: 36px; border-radius: 9px;
    background: linear-gradient(135deg, rgba(73,159,216,.15), rgba(102,179,46,.1));
    border: 1px solid rgba(73,159,216,.25); color: #6db4e3;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 18px;
  }
  .bv-bento-card h3 {
    font-size: 1.15rem; font-weight: 700; color: var(--bv-text);
    margin: 0 0 10px; line-height: 1.25; letter-spacing: -.01em;
  }
  .bv-bento-card p {
    font-size: .92rem; color: var(--bv-text-dim); line-height: 1.5; margin: 0;
  }
  /* Featured card spans 2 cols (only on desktop) for visual rhythm */
  .bv-bento-card.feat { grid-column: span 2; background: linear-gradient(135deg, var(--bv-card), rgba(73,159,216,.05)); }
  @media (max-width: 880px) { .bv-bento-card.feat { grid-column: span 2; } }
  @media (max-width: 540px) { .bv-bento-card.feat { grid-column: span 1; } }



  /* Lock hero mockup height so cycling rows don't push the page around */
  .bv-hero-v3-rows {
    min-height: 320px; max-height: 320px;
    overflow: hidden; position: relative;
  }
  @media (max-width: 540px) {
    .bv-hero-v3-rows { min-height: 280px; max-height: 280px; }
  }

