/* ============================================================
   Feature pages v8 - "know your edge" design system.
   Scoped under .vbfp so its generic selectors and CSS
   variables cannot leak into header-v2 / footer-v2 or other
   pages (which use their own --ink-900 / --brand tokens).
   Mirrors the homepage .vblp language for visual consistency.
   ============================================================ */
.vbfp{
  --ink:#0a0e12;--ink2:#5b6670;--line:#e7eaec;--paper:#fbfcfc;
  --panel:#f3f5f6;--panel2:#eceff1;--accent:#0fb6cf;--accent-deep:#0a8aa0;
  --accent-ink:#063b45;--accent-wash:#e6f7fa;--green:#10b981;--red:#ef4444;--orange:#f97316;
  --mono:'IBM Plex Mono',ui-monospace,monospace;--sans:'Inter',-apple-system,system-ui,sans-serif;
  --maxw:1120px;
  font-family:var(--sans);color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;line-height:1.5;font-feature-settings:"cv05","cv11";
}
.vbfp *{box-sizing:border-box;margin:0;padding:0}
.vbfp a{color:inherit;text-decoration:none}
.vbfp .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.vbfp .mono{font-family:var(--mono)}

/* buttons */
.vbfp .btn{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:14.5px;border:none;cursor:pointer;padding:12px 20px;border-radius:11px;transition:.15s;font-family:var(--sans)}
.vbfp .btn-dark{background:var(--ink);color:#fff}.vbfp .btn-dark:hover{background:#1c2530}
.vbfp .btn-line{background:#fff;color:var(--ink);border:1px solid var(--line)}.vbfp .btn-line:hover{border-color:#c8d0d3}
.vbfp .btn-light{background:#fff;color:var(--ink);font-weight:600}.vbfp .btn-light:hover{background:#e7eaec}
.vbfp .btn-lg{padding:15px 26px;font-size:16px;border-radius:13px}

/* terminal chrome */
.vbfp .term{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 30px 70px -42px rgba(10,40,50,.4)}
.vbfp .tbar{display:flex;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid var(--line)}
.vbfp .dots{display:flex;gap:6px}.vbfp .dots i{width:10px;height:10px;border-radius:50%;background:#dfe4e6;display:block}
.vbfp .tbar .t{font-weight:500;font-size:14px}
.vbfp .tlive{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--green);display:flex;align-items:center;gap:6px}
.vbfp .tlive i{width:6px;height:6px;border-radius:50%;background:var(--green);animation:vbfpPulse 1.8s infinite}
@keyframes vbfpPulse{0%,100%{opacity:1}50%{opacity:.35}}
.vbfp .term img{display:block;width:100%;height:auto}

/* hero */
.vbfp .fhero{background:var(--panel);border-bottom:1px solid var(--line);padding:70px 0 78px}
.vbfp .fhero h1{font-size:52px;line-height:1.06;font-weight:600;letter-spacing:-.035em;max-width:760px;margin:18px 0 0}
.vbfp .fhero h1 .m{color:#6b7680;font-weight:400}
.vbfp .fhero .lead{margin:20px 0 0;font-size:19px;line-height:1.6;color:var(--ink2);max-width:620px}
.vbfp .fcta{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
.vbfp .stat-strip{margin-top:38px;display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);padding-top:24px;max-width:720px}
.vbfp .stat{padding-right:36px;margin-right:36px;border-right:1px solid var(--line)}
.vbfp .stat:last-child{border-right:none;margin-right:0;padding-right:0}
.vbfp .stat .statn{font-family:var(--mono);font-size:30px;font-weight:500;letter-spacing:-.03em;line-height:1}
.vbfp .stat .statl{font-size:13px;color:var(--ink2);margin-top:8px}
.vbfp .hero-frame{margin-top:46px}

/* sections */
.vbfp section{padding:84px 0}
.vbfp .sec-head{max-width:680px;margin:0 0 44px}
.vbfp .sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.vbfp h2{font-size:38px;line-height:1.12;font-weight:600;letter-spacing:-.03em;margin-top:16px}
.vbfp h2 .m{color:#9aa4ab;font-weight:400}
.vbfp .lead{font-size:18px;color:var(--ink2);line-height:1.6}
.vbfp .sec-head .lead{margin-top:14px}
.vbfp .gray{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* regime cards (reused for any 4-up qualitative grid) */
.vbfp .pulse{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.vbfp .pcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}
.vbfp .pcard .ph{font-family:var(--mono);font-size:11.5px;color:#9aa4ab;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.vbfp .pcard .ph .dot{width:8px;height:8px;border-radius:50%;flex:none}
.vbfp .pcard.g .ph .dot{background:var(--green)}.vbfp .pcard.y .ph .dot{background:#f5b53d}
.vbfp .pcard.r .ph .dot{background:var(--red)}.vbfp .pcard.b .ph .dot{background:var(--accent)}
.vbfp .pcard.o .ph .dot{background:var(--orange)}
.vbfp .pcard h4{font-size:18px;font-weight:600;letter-spacing:-.01em}
.vbfp .pcard p{margin-top:8px;font-size:14px;color:var(--ink2)}

/* split rows */
.vbfp .split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.vbfp .split h2{margin-top:14px;font-size:32px}
.vbfp .split p{margin-top:16px;font-size:16px;color:var(--ink2);line-height:1.65}
.vbfp .split .frame{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 24px 60px -40px rgba(10,40,50,.35)}
.vbfp .split .frame img{display:block;width:100%;height:auto}
.vbfp .list{margin-top:18px;list-style:none;display:flex;flex-direction:column;gap:12px}
.vbfp .list li{display:flex;gap:11px;font-size:15.5px;color:var(--ink2);line-height:1.5}
.vbfp .list li svg{flex:none;margin-top:3px;color:var(--ink)}
.vbfp .list li strong{color:var(--ink);font-weight:600}

/* qualitative "why it matters" band (replaces leaky data table) */
.vbfp .band{background:var(--ink);color:#fff;border-radius:24px;padding:48px}
.vbfp .band h2{color:#fff;margin-top:14px}
.vbfp .band .lead{color:#aab4bb;margin-top:14px;max-width:620px}
.vbfp .band-grid{margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vbfp .bcard{background:#11171d;border:1px solid #232c34;border-radius:14px;padding:24px}
.vbfp .bcard h4{font-size:16px;font-weight:600;color:#fff}
.vbfp .bcard p{margin-top:8px;font-size:14px;color:#aab4bb;line-height:1.6}

/* testimonials */
.vbfp .tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vbfp .tcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}
.vbfp .tcard .q{font-size:16px;line-height:1.55;color:var(--ink)}
.vbfp .tcard .who{margin-top:16px;font-size:14px;font-weight:600}
.vbfp .tcard .role{font-size:13px;color:var(--ink2)}

/* video frame (centered, terminal-chromed iframe) */
.vbfp .vframe{max-width:880px;margin:0 auto}
.vbfp .vframe .vid{position:relative;width:100%;padding-top:56.25%;background:#000}
.vbfp .vframe .vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

/* 3-up feature grid (links out to each feature page) */
.vbfp .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.vbfp .fcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.15s}
.vbfp .fcard:hover{border-color:#c8d0d3;box-shadow:0 18px 44px -34px rgba(10,40,50,.4)}
.vbfp .fcard .fcimg{aspect-ratio:16/10;background:var(--panel);overflow:hidden}
.vbfp .fcard .fcimg img{display:block;width:100%;height:100%;object-fit:cover}
.vbfp .fcard .fcbody{padding:20px 22px 22px}
.vbfp .fcard h3{font-size:17px;font-weight:600;letter-spacing:-.01em}
.vbfp .fcard p{margin-top:8px;font-size:14px;color:var(--ink2);line-height:1.55}
.vbfp .fcard .more{margin-top:14px;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px;color:var(--ink)}

/* use-case cards */
.vbfp .ucard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}
.vbfp .ucard h3{font-size:18px;font-weight:600;letter-spacing:-.01em}
.vbfp .ucard p{margin-top:8px;font-size:14px;color:var(--ink2);line-height:1.55}
.vbfp .ucard ul{margin-top:14px;list-style:none;display:flex;flex-direction:column;gap:8px}
.vbfp .ucard li{position:relative;padding-left:18px;font-size:13.5px;color:var(--ink2)}
.vbfp .ucard li:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--accent)}

/* pricing grid (3-up; middle card featured/dark, cyan accents like landing) */
.vbfp .prgrid{display:grid;grid-template-columns:1fr 1.16fr 1fr;gap:18px;align-items:center;max-width:1040px;margin:0 auto;text-align:left}
.vbfp .plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px}
.vbfp .plan.feat{background:var(--ink);border-color:var(--ink);color:#fff}
.vbfp .plan.feat{padding:40px 34px;transform:scale(1.05);box-shadow:0 24px 60px rgba(20,25,30,.28);z-index:2}
.vbfp .plan.feat .amt{font-size:52px}
@media(max-width:760px){.vbfp .prgrid{grid-template-columns:1fr}.vbfp .plan.feat{transform:none}}
.vbfp .plan .pchip{position:absolute;top:18px;right:18px;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--accent);border:1px solid #2a3a40;border-radius:999px;padding:4px 9px}
.vbfp .plan .pname{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink2)}
.vbfp .plan.feat .pname{color:var(--accent)}
.vbfp .plan .pdesc{margin-top:10px;font-size:14px;color:var(--ink2);line-height:1.5;min-height:60px}
.vbfp .plan.feat .pdesc{color:#aab4bb}
.vbfp .plan .amt{font-size:46px;font-weight:600;letter-spacing:-.03em;margin-top:14px}
.vbfp .plan .amt span{font-size:16px;color:#8b969d;font-weight:400}
.vbfp .plan .pcta{display:flex;justify-content:center;width:100%;margin-top:20px}
.vbfp .plan ul{list-style:none;margin:24px 0 0;display:grid;gap:11px;border-top:1px solid var(--line);padding-top:22px}
.vbfp .plan.feat ul{border-top-color:#232c34}
.vbfp .plan li{display:flex;gap:10px;font-size:14.5px;color:var(--ink2);line-height:1.45}
.vbfp .plan.feat li{color:#cdd5da}
.vbfp .plan li svg{flex:none;margin-top:3px;color:var(--ink)}
.vbfp .plan.feat li svg{color:var(--accent)}

/* faq (mirrors landing .vblp pattern) */
.vbfp .faq{max-width:780px;margin:0 auto}
.vbfp .qa{border-top:1px solid var(--line);padding:24px 4px}
.vbfp .qa:last-child{border-bottom:1px solid var(--line)}
.vbfp .qa h4{font-size:18px;font-weight:600;letter-spacing:-.01em;display:flex;justify-content:space-between;gap:16px}
.vbfp .qa h4 span{color:var(--accent-deep)}
.vbfp .qa p{margin-top:10px;font-size:15.5px;color:var(--ink2);max-width:680px;line-height:1.6}

/* legal pages */
.vbfp .legal-head{padding:70px 0 0}
.vbfp .legal-updated{font-family:var(--mono);font-size:12px;color:var(--ink2);margin-top:10px}
.vbfp .legal-content{max-width:720px;font-size:16px;line-height:1.75;color:var(--ink2)}
.vbfp .legal-content h2{font-size:24px;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:48px 0 16px}
.vbfp .legal-content h3{font-size:17px;font-weight:600;color:var(--ink);margin:32px 0 12px}
.vbfp .legal-content p{margin:0 0 16px}
.vbfp .legal-content a{color:var(--accent-deep);font-weight:600}
.vbfp .legal-content ul{padding-left:24px;margin:0 0 16px}
.vbfp .legal-content li{margin-bottom:8px}
.vbfp .legal-content strong{color:var(--ink)}
.vbfp .legal-content .disclaimer{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px;margin:24px 0}
.vbfp .legal-content .disclaimer p:last-child{margin-bottom:0}

/* final CTA */
.vbfp .final{text-align:center;padding:96px 0}
.vbfp .final h2{font-size:46px}
.vbfp .final .lead{max-width:540px;margin:16px auto 0}
.vbfp .final .fcta{justify-content:center}

@media(max-width:900px){
  .vbfp .split{grid-template-columns:1fr;gap:36px}
  .vbfp .split.rev .frame{order:-1}
  .vbfp .pulse,.vbfp .band-grid,.vbfp .tgrid,.vbfp .grid3,.vbfp .prgrid{grid-template-columns:1fr}
  .vbfp .fhero h1{font-size:38px}.vbfp h2{font-size:30px}.vbfp .final h2{font-size:34px}
  .vbfp .band{padding:32px}
  .vbfp .stat{padding-right:24px;margin-right:24px}
}
@media(max-width:600px){
  .vbfp .wrap{padding:0 24px}
  .vbfp section{padding:54px 0}
  .vbfp .fhero{padding:40px 0 46px}
  .vbfp .fhero h1{font-size:32px;letter-spacing:-.02em}
  .vbfp .fhero .lead{font-size:17px}
  .vbfp h2{font-size:26px}
  .vbfp .split h2{font-size:26px}
  .vbfp .split{gap:28px}
  .vbfp .sec-head{margin-bottom:30px}
  /* CTA: full-width primary button, secondary becomes a text link below it */
  .vbfp .fcta{flex-direction:column;gap:10px;align-items:center}
  .vbfp .fcta .btn-dark{width:100%;max-width:340px;justify-content:center}
  .vbfp .fcta .btn-line,.vbfp .fcta .btn-line:hover{background:transparent;border:none;color:var(--accent-deep);text-decoration:underline;padding:4px;width:auto;font-size:15px;font-weight:500}
  /* Stat strip: drop dividers, clean wrap so numbers never collide */
  .vbfp .stat-strip{margin-top:28px;padding-top:20px;gap:18px 30px}
  .vbfp .stat{border-right:none;padding-right:0;margin-right:0}
  .vbfp .stat .statn{font-size:26px}
  .vbfp .band{padding:26px 22px;border-radius:18px}
  .vbfp .final{padding:64px 0}
  .vbfp .final h2{font-size:28px}
}
