@layer reset, tokens, base, layout, chrome, components, utilities, responsive;

@layer reset{
  *,*::before,*::after{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:120px}
  body,h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}
  ul[class],ol[class]{list-style:none;padding:0}
  img,svg{max-width:100%;display:block}
  img{height:auto}
  a{color:inherit;text-decoration:none}
  button{font:inherit;cursor:pointer}
  table{border-collapse:collapse;width:100%}
}
@layer tokens{
  :root{
    --paper:#f7f9fc; --surface:#ffffff; --ink:#16233a; --ink-2:#33445c; --muted:#5b6b82;
    --line:#dbe3ee; --brand:#1f5fae; --brand-d:#17498a; --tint:#eef4fc; --ok:#1e8e5a;
    --gold:#b07a1e; --dark:#13233c; --dark-2:#1b3050;
    --sh-s:0 1px 2px rgba(19,35,60,.06),0 2px 10px rgba(19,35,60,.05);
    --sh-m:0 10px 30px rgba(19,35,60,.12);
    --read:760px; --wide:1140px; --r:10px; --r-s:7px;
    --serif:"Roboto Serif",Georgia,serif; --sans:"Libre Franklin",system-ui,-apple-system,Segoe UI,sans-serif;
    --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  }
}
@layer base{
  body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.68;font-size:1.02rem;-webkit-font-smoothing:antialiased;padding-bottom:72px}
  h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.18;letter-spacing:-.01em}
  h1{font-size:clamp(2rem,4.4vw,3rem);font-weight:700}
  h2{font-size:clamp(1.5rem,3vw,2.05rem)}
  h3{font-size:clamp(1.15rem,1.9vw,1.35rem)}
  p{margin-top:1rem}
  a{color:var(--brand);transition:color .15s}
  a:hover{color:var(--brand-d)}
  strong{color:var(--ink)}
  :focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:3px}
  ::selection{background:var(--tint)}
}
@layer layout{
  .bgv-read{width:100%;max-width:var(--read);margin-inline:auto;padding-inline:clamp(1rem,4vw,1.5rem)}
  .bgv-wide{width:100%;max-width:var(--wide);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
  .bgv-section{padding-block:clamp(2.6rem,5vw,4rem)}
  .bgv-section--tint{background:var(--surface);border-block:1px solid var(--line)}
  .bgv-section--dark{background:var(--dark);color:#dfe8f4}
  .bgv-section--dark h2,.bgv-section--dark h3{color:#fff}
}
@layer chrome{
  .bgv-skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.7rem 1rem;z-index:200;border-radius:0 0 8px 0}
  .bgv-skip:focus{left:0}
  .bgv-topbar{background:var(--dark);color:#cdd9ea;font-size:.8rem;text-align:center;padding:.45rem 1rem;letter-spacing:.01em}
  .bgv-topbar b{color:#fff}
  .bgv-masthead{position:sticky;top:0;z-index:100;background:rgba(247,249,252,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  .bgv-masthead__in{display:flex;align-items:center;gap:1rem;min-height:64px}
  .bgv-brand{display:flex;align-items:center;gap:.55rem;font-family:var(--serif);font-weight:700;font-size:1.24rem;color:var(--ink)}
  .bgv-brand__mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--sh-s)}
  .bgv-brand small{display:block;font-family:var(--sans);font-weight:600;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .bgv-nav{margin-left:auto;display:flex;align-items:center;gap:.2rem}
  .bgv-nav a{padding:.5rem .75rem;border-radius:6px;font-size:.92rem;font-weight:500;color:var(--ink-2)}
  .bgv-nav a:hover{background:var(--tint);color:var(--brand-d)}
  .bgv-buy{background:var(--brand);color:#fff;border-radius:var(--r-s);padding:.6rem 1.1rem;font-weight:600;font-size:.92rem;box-shadow:var(--sh-s)}
  .bgv-buy:hover{background:var(--brand-d);color:#fff}
  .bgv-menu-btn{display:none;margin-left:auto;width:42px;height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;flex-direction:column;gap:4px;align-items:center;justify-content:center}
  .bgv-menu-btn span{width:19px;height:2px;background:var(--ink);border-radius:2px}
  .bgv-review-strip{background:var(--tint);border-bottom:1px solid var(--line);font-size:.82rem;color:var(--ink-2)}
  .bgv-review-strip .bgv-wide{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;padding-block:.55rem}
  .bgv-review-strip b{color:var(--ink)}
  .bgv-footer{background:var(--dark);color:#a9bad2;padding-block:3rem 2rem;font-size:.9rem}
  .bgv-footer h4{color:#eaf1fb;font-family:var(--sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.7rem}
  .bgv-footer a{color:#c3d2e8}
  .bgv-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2rem}
  .bgv-footer address{font-style:normal;line-height:1.8;margin-top:.6rem;color:#93a6c2}
  .bgv-footer li{margin-bottom:.45rem}
  .bgv-disc{margin-top:2rem;padding-top:1.3rem;border-top:1px solid #2a3f5e;font-size:.78rem;color:#8698b6;line-height:1.7}
  .bgv-disc+.bgv-disc{margin-top:.8rem;padding-top:0;border-top:0}
}
@layer components{
  .bgv-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;padding:.9rem 1.6rem;border-radius:var(--r-s);border:1px solid transparent;line-height:1.1;text-align:center;transition:.16s}
  .bgv-btn--primary{background:var(--brand);color:#fff;box-shadow:var(--sh-s)}
  .bgv-btn--primary:hover{background:var(--brand-d);color:#fff;transform:translateY(-1px)}
  .bgv-btn--ghost{background:#fff;border-color:var(--line);color:var(--ink)}
  .bgv-btn--ghost:hover{border-color:var(--brand);color:var(--brand-d)}
  .bgv-btn--lg{padding:1.05rem 2rem;font-size:1.06rem}
  .bgv-btn--block{width:100%}
  .bgv-btn small{font-weight:500;opacity:.85}

  .bgv-eyebrow{font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.13em;font-size:.74rem;color:var(--brand);margin-bottom:.6rem}
  .bgv-num{font-family:var(--mono);color:var(--brand);font-size:.9rem;font-weight:600;display:block;margin-bottom:.2rem}
  .bgv-lede{font-size:1.14rem;color:var(--ink-2)}

  .bgv-hero{background:linear-gradient(180deg,var(--tint),var(--paper) 70%)}
  .bgv-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2.4rem;align-items:center;padding-block:clamp(2.2rem,5vw,3.6rem)}
  .bgv-hero__title{margin:.4rem 0 0}
  .bgv-hero__title .u-mark{color:var(--brand)}
  .bgv-hero__sub{margin-top:1rem;font-size:1.14rem;color:var(--ink-2);max-width:34rem}
  .bgv-hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}
  .bgv-hero__media{position:relative;display:grid;place-items:center}
  .bgv-hero__media::before{content:"";position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(31,95,174,.14),transparent 68%)}
  .bgv-hero__img{position:relative;width:min(300px,78%);filter:drop-shadow(0 18px 28px rgba(19,35,60,.22))}
  .bgv-rating-inline{display:flex;align-items:center;gap:.6rem;margin-top:1.3rem;font-size:.92rem;color:var(--ink-2)}
  .bgv-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.3rem}
  .bgv-badge{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.36rem .8rem;font-size:.78rem;font-weight:500;color:var(--ink-2);box-shadow:var(--sh-s)}
  .bgv-badge::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--ok)}
  .bgv-stars{color:#e0a52b;letter-spacing:.04em}

  .bgv-answer{background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:0 var(--r) var(--r) 0;padding:1.3rem 1.5rem;box-shadow:var(--sh-s)}
  .bgv-answer h2{font-size:1.2rem}
  .bgv-answer p{margin-top:.5rem}
  .bgv-answer .bgv-btn{margin-top:1rem}

  .bgv-tldr{background:var(--tint);border:1px solid #cddffb;border-radius:var(--r);padding:1.4rem 1.6rem}
  .bgv-tldr h2{font-family:var(--sans);font-size:.95rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:var(--brand-d);margin-bottom:.5rem}
  .bgv-tldr p{margin:0}

  .bgv-keyfacts{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;box-shadow:var(--sh-s)}
  .bgv-keyfacts caption,.bgv-kf-cap{background:var(--dark);color:#fff;text-align:left;padding:.8rem 1.3rem;font-family:var(--sans);font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:.9rem}
  .bgv-keyfacts th,.bgv-keyfacts td{text-align:left;padding:.7rem 1.3rem;border-top:1px solid var(--line);font-size:.95rem;vertical-align:top}
  .bgv-keyfacts th{width:40%;color:var(--muted);font-weight:600}
  .bgv-keyfacts td .m{font-family:var(--mono);font-size:.86em;color:var(--brand-d)}

  .bgv-prose{max-width:var(--read)}
  .bgv-prose h2{margin-top:0}
  .bgv-prose h3{margin-top:1.7rem}
  .bgv-prose ul{margin-top:1rem;padding-left:1.2rem;list-style:disc}
  .bgv-prose li{margin-top:.45rem}
  .bgv-cite a{font-family:var(--mono);font-size:.62em;color:var(--brand);font-weight:600;padding-left:1px}
  .bgv-cite a::before{content:"["}
  .bgv-cite a::after{content:"]"}

  .bgv-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-s);margin-top:1.4rem}
  .bgv-table{background:#fff;font-size:.93rem;min-width:34rem}
  .bgv-table th,.bgv-table td{padding:.72rem 1rem;border-top:1px solid var(--line);text-align:left}
  .bgv-table thead th{background:var(--tint);border-top:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}
  .bgv-table .dose{font-family:var(--mono);font-weight:600;color:var(--brand-d);white-space:nowrap}
  .bgv-table .yes{color:var(--ok);font-weight:600}

  .bgv-verdict{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem;box-shadow:var(--sh-s)}
  .bgv-verdict__score{display:flex;align-items:baseline;gap:.6rem}
  .bgv-verdict__n{font-family:var(--serif);font-size:2.8rem;font-weight:700;color:var(--brand)}
  .bgv-scorebars{display:grid;gap:.55rem;margin-top:1.2rem}
  .bgv-bar{display:grid;grid-template-columns:9rem 1fr 2.4rem;align-items:center;gap:.7rem;font-size:.88rem}
  .bgv-bar__t{height:.6rem;background:var(--paper);border:1px solid var(--line);border-radius:999px;overflow:hidden}
  .bgv-bar__f{height:100%;background:var(--brand);border-radius:999px}

  .bgv-quote{background:var(--tint);border-radius:var(--r);padding:1.6rem 1.8rem;border-left:4px solid var(--brand)}
  .bgv-quote blockquote{font-family:var(--serif);font-size:1.16rem;font-style:italic;color:var(--ink)}
  .bgv-byline{display:flex;align-items:center;gap:.7rem;margin-top:1rem;font-size:.9rem}
  .bgv-byline__av{width:44px;height:44px;border-radius:50%;background:var(--dark);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-weight:600}
  .bgv-byline b{color:var(--ink)}
  .bgv-byline span{color:var(--muted)}

  .bgv-pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;align-items:start}
  .bgv-plan{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem;box-shadow:var(--sh-s);display:flex;flex-direction:column;gap:.45rem;position:relative}
  .bgv-plan--featured{border-color:var(--brand);box-shadow:0 14px 36px rgba(31,95,174,.2);transform:translateY(-8px)}
  .bgv-plan__flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--brand);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.32rem .9rem;border-radius:999px;white-space:nowrap}
  .bgv-plan__tag{font-weight:600;color:var(--brand-d);font-size:.88rem}
  .bgv-plan__name{font-family:var(--serif);font-size:1.3rem;font-weight:600}
  .bgv-plan__img{height:150px;display:grid;place-items:end center;margin:.2rem 0}
  .bgv-plan__img img{max-height:150px;width:auto;filter:drop-shadow(0 7px 10px rgba(19,35,60,.2))}
  .bgv-plan__price{font-family:var(--serif);font-size:2.7rem;font-weight:700;line-height:1}
  .bgv-plan__price small{font-family:var(--sans);font-size:.85rem;color:var(--muted);font-weight:500}
  .bgv-plan__totals{font-size:.92rem;color:var(--muted)}
  .bgv-plan__was{text-decoration:line-through;opacity:.7}
  .bgv-plan__now{color:var(--ink);font-weight:700}
  .bgv-plan__save{color:var(--brand-d);font-weight:600;font-size:.9rem}
  .bgv-plan ul{border-top:1px dashed var(--line);padding-top:.8rem;margin-top:.3rem;display:grid;gap:.4rem;font-size:.9rem}
  .bgv-plan li{display:flex;gap:.5rem}
  .bgv-plan li::before{content:"\2713";color:var(--ok);font-weight:700}
  .bgv-plan .bgv-btn{margin-top:auto}

  .bgv-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
  .bgv-review{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;box-shadow:var(--sh-s)}
  .bgv-review__head{display:flex;align-items:center;gap:.65rem;margin-bottom:.5rem}
  .bgv-avatar{width:40px;height:40px;border-radius:50%;background:var(--tint);color:var(--brand-d);display:grid;place-items:center;font-family:var(--serif);font-weight:600}
  .bgv-review__who{font-weight:600;font-size:.94rem;line-height:1.2}
  .bgv-review__meta{font-size:.76rem;color:var(--muted)}
  .bgv-vb{color:var(--ok);font-weight:600}
  .bgv-review p{font-size:.93rem;margin-top:.4rem}

  .bgv-faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:1rem 1.3rem;box-shadow:var(--sh-s);margin-top:.8rem}
  .bgv-faq summary{font-family:var(--serif);font-weight:600;font-size:1.06rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}
  .bgv-faq summary::-webkit-details-marker{display:none}
  .bgv-faq summary::after{content:"+";color:var(--brand);font-weight:700}
  .bgv-faq details[open] summary::after{content:"\2013"}
  .bgv-faq details[open] summary{margin-bottom:.6rem}

  .bgv-takeaways{background:var(--tint);border:1px solid #cddffb;border-radius:var(--r);padding:1.5rem 1.7rem}
  .bgv-takeaways h2{font-family:var(--sans);font-size:.95rem;text-transform:uppercase;letter-spacing:.09em;color:var(--brand-d);font-weight:700;margin-bottom:.8rem}
  .bgv-takeaways ul{display:grid;gap:.55rem}
  .bgv-takeaways li{display:flex;gap:.55rem}
  .bgv-takeaways li::before{content:"\2713";color:var(--ok);font-weight:700}

  .bgv-callout{background:#fff;border:1px dashed var(--line);border-radius:var(--r);padding:1.3rem 1.5rem}
  .bgv-note{font-size:.86rem;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);padding:.9rem 1.1rem;margin-top:1.4rem}
  .bgv-updated{font-size:.82rem;color:var(--muted);font-style:italic;margin-top:1rem}

  .bgv-final{background:var(--dark);color:#e4ecf7;text-align:center}
  .bgv-final h2{color:#fff}
  .bgv-final p{color:#b9c8de;max-width:40rem;margin-inline:auto}
  .bgv-final .bgv-btn{margin-top:1.4rem}

  .bgv-refs{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.4rem}
  .bgv-refs ol{margin-top:1rem;display:grid;gap:.6rem;counter-reset:r}
  .bgv-refs li{font-size:.84rem;color:var(--ink-2);padding-left:1.7rem;position:relative}
  .bgv-refs li::before{counter-increment:r;content:counter(r);position:absolute;left:0;font-family:var(--mono);color:var(--brand);font-weight:600}
  .bgv-refs a{word-break:break-word}

  .bgv-sticky{position:fixed;left:0;right:0;bottom:0;z-index:120;background:linear-gradient(90deg,#12233c,#20375c);box-shadow:0 -6px 22px rgba(19,35,60,.30)}
  .bgv-sticky.is-hidden{display:none}
  .bgv-sticky__in{display:flex;align-items:center;gap:.9rem;max-width:var(--wide);margin-inline:auto;padding:.55rem clamp(.8rem,4vw,2rem)}
  .bgv-sticky__link{display:flex;align-items:center;gap:.9rem;flex:1;min-width:0;color:#fff}
  .bgv-sticky__chip{background:#f5b301;color:#12233c;font-weight:800;font-size:.8rem;letter-spacing:.03em;padding:.36rem .7rem;border-radius:6px;white-space:nowrap;animation:bgvpulse 1.9s ease-in-out infinite}
  .bgv-sticky__txt{color:#e9f0fa;font-size:.94rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bgv-sticky__txt strong{color:#fff}
  .bgv-sticky__btn{background:#fff;color:var(--brand-d);font-weight:700;padding:.6rem 1.2rem;border-radius:var(--r-s);white-space:nowrap;box-shadow:var(--sh-s);transition:.15s}
  .bgv-sticky__link:hover .bgv-sticky__btn{background:var(--brand);color:#fff;transform:translateY(-1px)}
  .bgv-sticky__x{background:transparent;border:0;color:#8aa0c0;font-size:1.4rem;line-height:1;padding:.1rem .5rem}
  .bgv-sticky__x:hover{color:#fff}
  @keyframes bgvpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
}
@layer utilities{
  .u-mt-1{margin-top:1rem}.u-mt-2{margin-top:1.6rem}.u-mt-3{margin-top:2.4rem}
  .u-center{text-align:center}.u-mx{margin-inline:auto}
  .u-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;align-items:center}
  .u-hairline{height:1px;background:var(--line);border:0;margin-block:2.4rem}
}
@layer responsive{
  @media(max-width:900px){
    .bgv-hero__grid,.u-grid-2{grid-template-columns:1fr}
    .bgv-hero__media{order:-1}
    .bgv-pricing,.bgv-reviews-grid{grid-template-columns:1fr}
    .bgv-plan--featured{transform:none}
    .bgv-footer__grid{grid-template-columns:1fr}
    .bgv-bar{grid-template-columns:7rem 1fr 2.4rem}
  }
  @media(max-width:760px){
    .bgv-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:.6rem 1rem 1rem;box-shadow:var(--sh-m);transform:translateY(-8px);opacity:0;visibility:hidden;transition:transform .2s ease,opacity .2s ease,visibility 0s linear .2s}
    .bgv-nav.is-open{transform:translateY(0);opacity:1;visibility:visible;transition:transform .2s ease,opacity .2s ease,visibility 0s}
    .bgv-nav a{padding:.8rem}
    .bgv-menu-btn{display:flex}
    .bgv-buy--nav{display:none}
  }
  @media(max-width:600px){
    .bgv-sticky__txt{display:none}
    .bgv-sticky__link{gap:.6rem}
    .bgv-sticky__btn{flex:1;text-align:center;padding:.7rem 1rem}
  }
  @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
}
