/* BJS v2 interactive service page components */
.bv{--teal:#3196B3;--teal-d:#247a93;--navy:#123f56;--navy-2:#175472;--gold:#CCAE68;--light:#F4F8FA;--ink:#24323a;--body:#4f5b62;--line:#dfe8ed;--r:18px;font-family:Poppins,system-ui,sans-serif;color:var(--body);line-height:1.65}
.bv *,.bv *::before,.bv *::after{box-sizing:border-box}
.bv h1,.bv h2,.bv h3,.bv h4{font-family:Poppins,system-ui,sans-serif;color:var(--ink);line-height:1.2;margin:0 0 20px 0}
.bv p{margin:0 0 1em}
.bv-wrap{max-width:1600px;margin:0 auto;padding:0 4%}
.bv-sec{padding:110px 0;position:relative;overflow:hidden}
.bv-sec.alt{background:var(--light)}
.bv-eye{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}
.bv-h2{font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:600;letter-spacing:-.01em}
.bv-lead{font-size:1.1rem;max-width:640px}
.bv-head{margin-bottom:56px}
.bv-head.center{text-align:center}.bv-head.center .bv-lead{margin:16px auto 0}
.bv-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:60px;font-weight:600;font-size:.98rem;text-decoration:none!important;transition:transform .25s,box-shadow .25s,background .25s,color .25s;border:2px solid transparent;cursor:pointer}
.bv-btn.gold{background:var(--gold);color:#1d2a31!important}
.bv-btn.gold:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(204,174,104,.4)}
.bv-btn.teal{background:var(--teal);color:#fff!important}
.bv-btn.teal:hover{background:var(--navy-2);transform:translateY(-2px)}
.bv-btn.ghost{border-color:rgba(255,255,255,.55);color:#fff!important}
.bv-btn.ghost:hover{background:#fff;color:var(--navy)!important}
.bv-btn.line{border-color:var(--teal);color:var(--teal)!important}
.bv-btn.line:hover{background:var(--teal);color:#fff!important}
.bv a:focus-visible,.bv button:focus-visible,.bv input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
/* Keyboard-only focus ring for custom checkbox/radio cards (no ring on mouse click) */
.bv-q input:focus-visible+.bx,.bv-opt input:focus-visible+.bx{outline:3px solid var(--gold);outline-offset:3px}
.bv-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* reveal */
.bv [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.bv [data-reveal].in{opacity:1;transform:none}
.bv [data-reveal="2"]{transition-delay:.12s}.bv [data-reveal="3"]{transition-delay:.24s}.bv [data-reveal="4"]{transition-delay:.36s}

/* ---------- HERO ---------- */
.bv-hero{background:radial-gradient(1200px 600px at 85% 10%,#1f6f8f 0,transparent 60%),linear-gradient(160deg,#0f3447 0%,#123f56 55%,#175472 100%);color:#fff;padding:250px 0 110px;position:relative;overflow:hidden}
.bv-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(180deg,#000 0,transparent 90%)}
.bv-hero .bv-wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;position:relative}
.bv-hero h1{color:var(--gold);font-size:.95rem;font-weight:400;letter-spacing:.06em;margin-bottom:18px}
.bv-hero .bv-title{font-size:clamp(2.2rem,4.6vw,3.9rem);font-weight:600;line-height:1.1;color:#fff;margin:0 0 30px;letter-spacing:-.02em}
.bv-rot{display:inline-grid;vertical-align:bottom;color:var(--gold)}
.bv-rot span{grid-area:1/1;opacity:0;transform:translateY(.4em);transition:opacity .5s,transform .5s}
.bv-rot span.on{opacity:1;transform:none}
.bv-hero .bv-sub{font-size:1.12rem;color:rgba(255,255,255,.82);max-width:540px;margin-bottom:32px}
.bv-hero .bv-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:38px}
.bv-trust{display:flex;gap:28px;flex-wrap:wrap;font-size:.88rem;color:rgba(255,255,255,.75)}
.bv-trust b{display:block;font-size:1.6rem;color:#fff;font-weight:600;line-height:1.1}
.bv-browser{background:#fff;border-radius:14px;box-shadow:0 40px 80px rgba(0,0,0,.45);overflow:hidden;transform:perspective(1400px) rotateY(-8deg) rotateX(3deg);transition:transform .6s}
.bv-browser:hover{transform:perspective(1400px) rotateY(0) rotateX(0)}
.bv-bar{height:38px;background:#eef2f4;display:flex;align-items:center;gap:7px;padding:0 14px}
.bv-bar i{width:11px;height:11px;border-radius:50%;background:#ff6058}.bv-bar i:nth-child(2){background:#ffbd2e}.bv-bar i:nth-child(3){background:#29c940}
.bv-url{margin-left:12px;flex:1;background:#fff;border-radius:6px;height:22px;font-size:.72rem;color:#7b8a92;display:flex;align-items:center;padding:0 10px;font-family:monospace}
.bv-screen{height:420px;overflow:hidden;position:relative;background:#f3f3f3}
.bv-screen img{width:100%;display:block;position:absolute;top:0;left:0;opacity:0;transition:opacity .6s}
.bv-screen img.on{opacity:1;animation:bvscroll 16s ease-in-out infinite alternate}
.bv-paused .bv-screen img.on{animation-play-state:paused}
@keyframes bvscroll{0%,8%{transform:translateY(0)}92%,100%{transform:translateY(calc(-100% + 420px))}}
.bv-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px;align-items:center}
.bv-tab{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:40px;padding:8px 16px;font:500 .84rem Poppins,sans-serif;cursor:pointer;transition:.25s}
.bv-tab[aria-selected="true"],.bv-tab:hover{background:var(--gold);border-color:var(--gold);color:#1d2a31}
.bv-pause{margin-left:auto;background:none;border:0;color:rgba(255,255,255,.7);font:500 .8rem Poppins,sans-serif;cursor:pointer;text-decoration:underline}

/* ---------- QUIZ ---------- */
.bv-quiz{display:grid;grid-template-columns:1.25fr .9fr;gap:40px;align-items:start}
.bv-qlist{display:grid;gap:14px}
.bv-q{display:flex;align-items:center;gap:16px;background:#fff;border:2px solid var(--line);border-radius:14px;padding:18px 20px;cursor:pointer;transition:.25s;position:relative}
.bv-q input{position:absolute;opacity:0}
.bv-q .bx{flex:0 0 28px;height:28px;border-radius:8px;border:2px solid #b7c6ce;display:grid;place-items:center;transition:.25s}
.bv-q .bx svg{width:16px;opacity:0;transform:scale(.4);transition:.25s}
.bv-q:hover{border-color:var(--teal)}
.bv-q:has(input:checked){border-color:var(--teal);background:#eef8fb}
.bv-q:has(input:checked) .bx{background:var(--teal);border-color:var(--teal)}
.bv-q:has(input:checked) .bx svg{opacity:1;transform:none}
.bv-q span.t{font-weight:500;color:var(--ink)}
.bv-score{position:sticky;top:110px;background:var(--navy);color:#fff;border-radius:var(--r);padding:38px 34px;text-align:center;box-shadow:0 30px 60px rgba(18,63,86,.25)}
.bv-ring{width:170px;height:170px;margin:0 auto 18px;position:relative}
.bv-ring svg{transform:rotate(-90deg)}
.bv-ring circle{fill:none;stroke-width:12}
.bv-ring .bg{stroke:rgba(255,255,255,.12)}
.bv-ring .fg{stroke:var(--gold);stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.2,.7,.2,1),stroke .4s}
.bv-ring .num{position:absolute;inset:0;display:grid;place-items:center;font-size:2.6rem;font-weight:600}
.bv-ring .num small{display:block;font-size:.75rem;font-weight:400;opacity:.7;margin-top:-6px}
.bv-score h3{color:#fff;font-size:1.3rem;margin-bottom:10px}
.bv-score p{color:rgba(255,255,255,.8);font-size:.95rem;min-height:4.8em}

/* ---------- FEATURE TABS ---------- */
.bv-feat{display:grid;grid-template-columns:340px 1fr;gap:40px;align-items:stretch}
.bv-flist{display:flex;flex-direction:column;gap:6px}
.bv-fbtn{text-align:left;background:none;border:0;border-left:3px solid var(--line);padding:16px 20px;cursor:pointer;font:500 1.02rem Poppins,sans-serif;color:var(--body);transition:.25s;display:flex;gap:14px;align-items:center}
.bv-fbtn .n{font-size:.78rem;color:#9fb0b8;font-weight:600}
.bv-fbtn[aria-selected="true"]{border-color:var(--teal);color:var(--ink);background:linear-gradient(90deg,#eaf6fa,transparent)}
.bv-fbtn[aria-selected="true"] .n{color:var(--teal)}
.bv-fpanel{background:#fff;border-radius:var(--r);box-shadow:0 20px 50px rgba(18,63,86,.1);padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;min-height:380px}
.bv-fpanel[hidden]{display:none}
.bv-fpanel.show{animation:bvfade .45s ease}
@keyframes bvfade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.bv-fpanel h3{font-size:1.6rem;margin-bottom:25px}
.bv-fpanel ul{margin:0;padding:0;list-style:none}
.bv-fpanel li{padding-left:28px;position:relative;margin-bottom:15px;font-size:1rem}
.bv-fpanel li::before{content:"";position:absolute;left:0;top:.35em;width:16px;height:16px;border-radius:50%;background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' stroke='%23fff' stroke-width='2' fill='none'/%3E%3C/svg%3E") center/12px no-repeat}
.bv-viz{background:var(--light);border-radius:14px;height:280px;position:relative;display:grid;place-items:center;overflow:hidden}
/* viz: speed gauge */
.bv-gauge{width:200px;text-align:center}
.bv-gauge .arc{width:200px;height:100px;border-radius:200px 200px 0 0;background:conic-gradient(from 270deg at 50% 100%,#e5554f 0 60deg,#f1b33d 60deg 120deg,#2fb36b 120deg 180deg,transparent 180deg);position:relative;-webkit-mask:radial-gradient(circle at 50% 100%,transparent 62px,#000 63px);mask:radial-gradient(circle at 50% 100%,transparent 62px,#000 63px)}
.bv-needle{position:absolute;left:50%;bottom:0;width:4px;height:84px;background:var(--ink);transform-origin:bottom center;transform:translateX(-50%) rotate(-88deg);border-radius:4px;transition:transform 1.6s cubic-bezier(.2,.9,.2,1)}
.bv-fpanel.show .bv-needle{transform:translateX(-50%) rotate(72deg)}
.bv-gauge .sc{font-size:2.2rem;font-weight:600;color:#2fb36b;margin-top:8px}
/* viz: phone */
.bv-phone{width:150px;height:250px;border:8px solid var(--ink);border-radius:26px;background:#fff;padding:14px 10px;display:flex;flex-direction:column;gap:8px}
.bv-phone i{display:block;height:12px;border-radius:6px;background:#dbe7ec}.bv-phone i.h{height:60px;background:linear-gradient(135deg,var(--teal),var(--navy))}.bv-phone i.b{height:30px;background:var(--gold);width:70%;margin:6px auto 0;border-radius:30px}
.bv-fpanel.show .bv-phone i{animation:bvgrow .6s both}.bv-phone i:nth-child(2){animation-delay:.1s!important}.bv-phone i:nth-child(3){animation-delay:.2s!important}.bv-phone i:nth-child(4){animation-delay:.3s!important}.bv-phone i:nth-child(5){animation-delay:.4s!important}
@keyframes bvgrow{from{transform:scaleX(0);transform-origin:left}to{transform:none}}
/* viz: editor */
.bv-edit{width:82%;background:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:18px;font-size:.85rem}
.bv-edit .row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}
.bv-edit .typ{color:var(--teal);font-weight:600;border-right:2px solid var(--teal);white-space:nowrap;overflow:hidden;width:0;display:inline-block;vertical-align:bottom}
.bv-fpanel.show .bv-edit .typ{animation:bvtype 2s steps(18) .4s forwards,bvcaret .8s step-end infinite}
@keyframes bvtype{to{width:9.5em}}@keyframes bvcaret{50%{border-color:transparent}}
/* viz: serp */
.bv-serp{width:88%;display:grid;gap:10px}
.bv-serp div{background:#fff;border-radius:10px;padding:12px 14px;box-shadow:0 4px 14px rgba(0,0,0,.05);font-size:.78rem}
.bv-serp b{display:block;color:#1a0dab;font-size:.92rem;font-weight:500}
.bv-serp .you{outline:2px solid var(--gold)}
.bv-fpanel.show .bv-serp .you{animation:bvrise .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes bvrise{from{transform:translateY(130px);opacity:.4}to{transform:none;opacity:1}}
/* viz: a11y */
.bv-a11y{display:grid;gap:12px;width:80%}
.bv-a11y .chip{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:10px;padding:12px 16px;font-size:.85rem;box-shadow:0 4px 14px rgba(0,0,0,.05)}
.bv-a11y .ok{background:#2fb36b;color:#fff;border-radius:30px;padding:2px 12px;font-size:.75rem;font-weight:600;transform:scale(0);transition:transform .4s}
.bv-fpanel.show .bv-a11y .ok{transform:scale(1)}
.bv-a11y .chip:nth-child(2) .ok{transition-delay:.25s}.bv-a11y .chip:nth-child(3) .ok{transition-delay:.5s}.bv-a11y .chip:nth-child(4) .ok{transition-delay:.75s}
/* viz: uptime */
.bv-up{width:84%}
.bv-up .bars{display:flex;gap:4px;align-items:flex-end;height:120px}
.bv-up .bars i{flex:1;background:#2fb36b;border-radius:3px;height:0;transition:height .6s}
.bv-fpanel.show .bv-up .bars i{height:var(--h)}
.bv-up .lbl{display:flex;justify-content:space-between;font-size:.8rem;margin-top:10px}

/* ---------- WORK SLIDER ---------- */
.bv-work{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.bv-card{position:relative;border-radius:var(--r);overflow:hidden;min-height:460px;color:#fff;text-decoration:none!important;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.bv-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;z-index:-2;transition:transform 1.2s ease}
.bv-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,63,86,.05) 20%,rgba(15,52,71,.94) 75%);z-index:-1;transition:.4s}
.bv-card:hover img{transform:scale(1.06)}
.bv-card .in{padding:30px}
.bv-card .tag{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:600}
.bv-card h3{color:#fff;font-size:1.35rem;margin:8px 0 14px}
.bv-stat{font-size:3rem;font-weight:600;line-height:1;color:#fff}
.bv-stat small{font-size:.95rem;font-weight:400;display:block;opacity:.8;margin-top:6px}
.bv-card .more{display:inline-block;margin-top:16px;font-size:.88rem;font-weight:600;color:var(--gold);transform:translateY(8px);opacity:0;transition:.35s}
.bv-card:hover .more,.bv-card:focus-visible .more{opacity:1;transform:none}

/* ---------- COMPARE ---------- */
.bv-seg{display:inline-flex;background:#e7eef2;border-radius:50px;padding:5px;margin:0 auto 40px;position:relative}
.bv-seg button{border:0;background:none;padding:11px 24px;border-radius:50px;font:600 .92rem Poppins,sans-serif;color:var(--body);cursor:pointer;position:relative;z-index:1;transition:color .3s}
.bv-seg button[aria-pressed="true"]{color:#fff}
.bv-seg .pill{position:absolute;top:5px;bottom:5px;left:5px;border-radius:50px;background:var(--teal);transition:transform .4s cubic-bezier(.2,.7,.2,1),width .4s}
.bv-cmp{max-width:1200px;margin:0 auto;background:#fff;border-radius:var(--r);box-shadow:0 20px 50px rgba(18,63,86,.08);overflow:hidden}
.bv-cmp .r{display:grid;grid-template-columns:1.1fr 1fr 1fr;border-top:1px solid var(--line)}
.bv-cmp .r:first-child{border-top:0}
.bv-cmp .r>div{padding:18px 24px;font-size:.95rem;display:flex;align-items:center;gap:10px}
.bv-cmp .hd>div{font-weight:600;color:var(--ink);font-size:1rem}
.bv-cmp .us{background:#eef8fb;color:var(--ink);font-weight:500}
.bv-cmp .hd .us{background:var(--teal);color:#fff}
.bv-cmp .them{transition:opacity .3s}
.bv-cmp.swap .them{opacity:0}
.bv-ic{flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;color:#fff;font-weight:700}
.bv-ic.y{background:#2fb36b}.bv-ic.n{background:#d9534f}.bv-ic.m{background:#e9a93b}

/* ---------- TIMELINE ---------- */
.bv-tl{position:relative;max-width:900px;margin:0 auto}
.bv-tl::before{content:"";position:absolute;left:31px;top:0;bottom:0;width:3px;background:var(--line);border-radius:3px}
.bv-tl .fill{position:absolute;left:31px;top:0;width:3px;height:0;background:linear-gradient(var(--teal),var(--gold));border-radius:3px}
.bv-step{display:grid;grid-template-columns:66px 1fr;gap:26px;padding-bottom:46px;position:relative}
.bv-step .dot{width:66px;height:66px;border-radius:50%;background:#fff;border:3px solid var(--line);display:grid;place-items:center;font-weight:600;font-size:1.1rem;color:#9fb0b8;transition:.45s;position:relative;z-index:1}
.bv-step.on .dot{border-color:var(--teal);background:var(--teal);color:#fff;box-shadow:0 0 0 8px rgba(49,150,179,.15)}
.bv-step .card{background:#fff;border-radius:14px;padding:24px 28px;box-shadow:0 8px 26px rgba(18,63,86,.06);transition:.45s;opacity:.55}
.bv-step.on .card{opacity:1;transform:translateX(6px)}
.bv-step h3{font-size:1.2rem;margin-bottom:6px}
.bv-step .wk{float:right;font-size:.78rem;font-weight:600;color:var(--teal);background:#eaf6fa;border-radius:30px;padding:3px 12px}
.bv-step p{margin:0;font-size:.96rem}

/* ---------- ESTIMATOR ---------- */
.bv-est{display:grid;grid-template-columns:1.3fr .9fr;gap:40px;align-items:start}
.bv-fs{border:0;padding:0;margin:0 0 30px}
.bv-fs legend{font-weight:600;color:var(--ink);font-size:1.05rem;margin-bottom:14px;padding:0}
.bv-types{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.bv-opt{position:relative;cursor:pointer}
.bv-opt input{position:absolute;opacity:0}
.bv-opt .bx{display:block;border:2px solid var(--line);border-radius:14px;padding:18px;background:#fff;transition:.25s;height:100%}
.bv-opt .bx b{display:block;color:var(--ink);font-size:.98rem;margin-bottom:4px}
.bv-opt .bx small{font-size:.82rem;line-height:1.45;display:block}
.bv-opt input:checked+.bx{border-color:var(--teal);background:#eef8fb;box-shadow:0 0 0 4px rgba(49,150,179,.12)}
.bv-opt input:focus-visible+.bx{outline:3px solid var(--gold);outline-offset:2px}
.bv-range{width:100%;accent-color:var(--teal)}
.bv-rv{display:flex;justify-content:space-between;font-size:.85rem}
.bv-adds{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bv-adds .bx{padding:14px 16px;display:flex;gap:10px;align-items:center}
.bv-adds .bx::before{content:"";flex:0 0 20px;height:20px;border-radius:6px;border:2px solid #b7c6ce;transition:.2s}
.bv-adds input:checked+.bx::before{background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' stroke='%23fff' stroke-width='2' fill='none'/%3E%3C/svg%3E") center/13px no-repeat;border-color:var(--teal)}
.bv-total{position:sticky;top:110px;background:linear-gradient(160deg,#123f56,#175472);color:#fff;border-radius:var(--r);padding:40px 34px;box-shadow:0 30px 60px rgba(18,63,86,.25)}
.bv-total .lbl{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:600}
.bv-total .amt{font-size:clamp(2rem,3.4vw,2.7rem);font-weight:600;margin:10px 0 4px;color:#fff}
.bv-total .tm{color:rgba(255,255,255,.8);margin-bottom:22px}
.bv-total ul{list-style:none;padding:0;margin:0 0 26px;font-size:.92rem;color:rgba(255,255,255,.85)}
.bv-total li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.bv-total .fine{font-size:.8rem;color:rgba(255,255,255,.6);margin-top:16px}

/* ---------- NOTE ---------- */
.bv-note{display:grid;grid-template-columns:320px 1fr;gap:60px;align-items:center}
.bv-photo{position:relative}
.bv-photo img{width:100%;border-radius:50% 50% 24px 24px;background:linear-gradient(160deg,var(--teal),var(--navy));display:block}
.bv-photo::after{content:"Since 2004";position:absolute;right:-14px;bottom:40px;background:var(--gold);color:#1d2a31;font-weight:600;font-size:.85rem;padding:10px 18px;border-radius:40px;box-shadow:0 10px 24px rgba(0,0,0,.15)}
.bv-note blockquote{margin:0;font-size:1.28rem;line-height:1.6;color:var(--ink);font-weight:400}
.bv-note blockquote p{margin-bottom:.9em}
.bv-sig{font-family:"Brush Script MT","Segoe Script",cursive;font-size:2.4rem;color:var(--teal);line-height:1}
.bv-sig+small{display:block;font-size:.88rem;margin-top:4px}

/* ---------- REVIEWS ---------- */
.bv-rev{position:relative;max-width:860px;margin:0 auto;text-align:center}
.bv-slide{display:none}
.bv-slide.on{display:block;animation:bvfade .5s ease}
.bv-stars{color:var(--gold);font-size:1.3rem;letter-spacing:4px}
.bv-slide blockquote{margin:18px 0 24px;font-size:clamp(1.2rem,2.2vw,1.6rem);line-height:1.5;color:var(--ink);font-weight:500}
.bv-who{display:flex;align-items:center;justify-content:center;gap:14px}
.bv-who img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.bv-who b{display:block;color:var(--ink)}
.bv-ctrl{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:34px}
.bv-ctrl button.arr{width:48px;height:48px;border-radius:50%;border:2px solid var(--line);background:#fff;cursor:pointer;font-size:1.2rem;color:var(--ink);transition:.25s}
.bv-ctrl button.arr:hover{border-color:var(--teal);color:var(--teal)}
.bv-dots{display:flex;gap:8px}
.bv-dots button{width:10px;height:10px;border-radius:10px;border:0;background:#c9d6dc;cursor:pointer;padding:0;transition:.3s}
.bv-dots button[aria-current="true"]{width:28px;background:var(--teal)}

/* ---------- FAQ ---------- */
.bv-faq{max-width:880px;margin:0 auto}
.bv-faq details{border-bottom:1px solid var(--line)}
.bv-faq summary{list-style:none;cursor:pointer;padding:24px 50px 24px 0;font-weight:600;font-size:1.08rem;color:var(--ink);position:relative}
.bv-faq summary::-webkit-details-marker{display:none}
.bv-faq summary::after{content:"";position:absolute;right:6px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;background:#eaf6fa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3v10M3 8h10' stroke='%233196B3' stroke-width='2'/%3E%3C/svg%3E") center/12px no-repeat;transition:transform .3s}
.bv-faq details[open] summary::after{transform:rotate(45deg)}
.bv-faq .a{padding:0 40px 24px 0;font-size:1rem}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
 .bv-hero .bv-wrap,.bv-quiz,.bv-feat,.bv-est,.bv-note{grid-template-columns:1fr}
 .bv-browser{transform:none}
 .bv-score,.bv-total{position:static}
 .bv-work{grid-template-columns:1fr 1fr}
 .bv-flist{flex-direction:row;overflow-x:auto;gap:4px;padding-bottom:6px}
 .bv-fbtn{border-left:0;border-bottom:3px solid var(--line);white-space:nowrap;padding:12px 16px}
 .bv-fbtn[aria-selected="true"]{background:none}
 .bv-note{text-align:center}.bv-photo{max-width:280px;margin:0 auto}
}
@media (max-width:767px){
 .bv-sec{padding:70px 0}.bv-hero{padding:120px 0 70px}
 .bv-screen{height:300px}
 @keyframes bvscroll{0%,8%{transform:translateY(0)}92%,100%{transform:translateY(calc(-100% + 300px))}}
 .bv-work{grid-template-columns:1fr}.bv-card{min-height:380px}
 .bv-fpanel{grid-template-columns:1fr;padding:28px}
 .bv-types,.bv-adds{grid-template-columns:1fr}
 .bv-cmp .r{grid-template-columns:1fr 1fr}
 .bv-cmp .r>div:first-child{grid-column:1/-1;background:var(--light);padding:10px 18px;font-weight:600;color:var(--ink)}
 .bv-cmp .hd>div:first-child{display:none}
 .bv-cmp .r>div{padding:14px 16px;font-size:.88rem}
 .bv-card .more{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
 .bv *{animation:none!important;transition:none!important}
 .bv [data-reveal]{opacity:1;transform:none}
}
.bv fieldset{border:0;padding:0;margin:0 0 30px 0;min-width:0}
.bv-rot{white-space:nowrap}
@media (max-width:767px){
 .bv-seg{display:flex;width:100%;max-width:420px}
 .bv-seg button{flex:1;padding:10px 8px;font-size:.82rem}
 .bv-hero .bv-title{font-size:2.15rem}
 .bv-tabs{justify-content:flex-start}
}

/* ===== Shared simple grid ===== */
.bv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.bv-grid.g4{grid-template-columns:repeat(4,1fr)}.bv-grid.g2{grid-template-columns:repeat(2,1fr)}
.bv-tile{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;transition:transform .3s,box-shadow .3s,border-color .3s}
.bv-tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(18,63,86,.1);border-color:transparent}
.bv-tile .ico{width:52px;height:52px;border-radius:14px;background:#eaf6fa;color:var(--teal);display:grid;place-items:center;margin-bottom:18px}
.bv-tile .ico svg{width:26px;height:26px}
.bv-tile h3{font-size:1.12rem;margin-bottom:8px}
.bv-tile p{font-size:.95rem;margin:0}
.bv-sec.dark{background:linear-gradient(160deg,#0f3447,#175472);color:rgba(255,255,255,.85)}
.bv-sec.dark .bv-h2,.bv-sec.dark h3{color:#fff}.bv-sec.dark .bv-eye{color:var(--gold)}
.bv-sec.dark .bv-tile{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.8)}
.bv-sec.dark .bv-tile .ico{background:rgba(204,174,104,.15);color:var(--gold)}
.bv-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.bv-hero-vis{position:relative}

/* ===== Before / after ===== */
.bv-ba{position:relative;border-radius:var(--r);overflow:hidden;background:#fff;box-shadow:0 30px 70px rgba(0,0,0,.35);aspect-ratio:4/3;--pos:50%}
.bv-ba .side{position:absolute;inset:0;display:grid;place-items:center;padding:8%}
.bv-ba .side img{max-width:100%;max-height:100%;object-fit:contain}
.bv-ba .before{background:#f1efe9}.bv-ba .after{background:#fff;clip-path:inset(0 0 0 var(--pos))}
.bv-ba .tag{position:absolute;top:14px;font:600 .72rem Poppins,sans-serif;letter-spacing:.12em;text-transform:uppercase;background:rgba(18,63,86,.85);color:#fff;padding:6px 12px;border-radius:30px;z-index:3}
.bv-ba .tag.l{left:14px}.bv-ba .tag.r{right:14px;background:var(--gold);color:#1d2a31}
.bv-ba .handle{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;background:var(--gold);z-index:2;transform:translateX(-50%);pointer-events:none}
.bv-ba .handle::after{content:"\2194";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:var(--gold);color:#1d2a31;display:grid;place-items:center;font-size:1.2rem;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.bv-ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4;margin:0}
.bv-ba input:focus-visible~.handle{box-shadow:0 0 0 4px rgba(204,174,104,.6)}

/* ===== Logo wall ===== */
.bv-logos{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.bv-logo{background:#fff;border:1px solid var(--line);border-radius:14px;aspect-ratio:1.4;display:grid;place-items:center;padding:20px;transition:.35s;position:relative;overflow:hidden}
.bv-logo img{max-width:100%;max-height:70px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:.35s}
.bv-logo:hover img,.bv-logo:focus-within img{filter:none;opacity:1;transform:scale(1.06)}
.bv-logo:hover{box-shadow:0 14px 30px rgba(18,63,86,.1)}

/* ===== Brand explorer ===== */
.bv-brand{display:grid;grid-template-columns:260px 1fr;gap:34px}
.bv-bpanel{background:#fff;border-radius:var(--r);box-shadow:0 20px 50px rgba(18,63,86,.1);padding:36px;display:grid;grid-template-columns:1fr 1.2fr;gap:30px}
.bv-bpanel[hidden]{display:none}.bv-bpanel.show{animation:bvfade .45s ease}
.bv-blogo{background:var(--light);border-radius:14px;display:grid;place-items:center;padding:24px;min-height:220px}
.bv-blogo img{max-width:100%;max-height:200px;object-fit:contain}
.bv-sw{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 20px}
.bv-sw button{width:74px;border:0;padding:0;background:none;cursor:pointer;text-align:left;font:500 .72rem monospace;color:var(--body)}
.bv-sw button span{display:block;height:64px;border-radius:12px;margin-bottom:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:transform .25s}
.bv-sw button:hover span{transform:translateY(-3px)}
.bv-apps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bv-apps img{width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:10px}
.bv-copied{font-size:.82rem;color:var(--teal);font-weight:600;min-height:1.3em}

/* ===== Map pack simulator ===== */
.bv-map{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}
.bv-sigs{display:grid;gap:12px}
.bv-pack{background:#fff;border-radius:var(--r);box-shadow:0 24px 60px rgba(18,63,86,.14);overflow:hidden}
.bv-pack .mapimg{height:150px;background:linear-gradient(135deg,#dfeee2 0,#cfe3ea 100%);position:relative;overflow:hidden}
.bv-pack .mapimg::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(35deg,transparent 0 38px,rgba(255,255,255,.7) 38px 44px),repeating-linear-gradient(-55deg,transparent 0 60px,rgba(255,255,255,.55) 60px 64px)}
.bv-pin{position:absolute;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#e5554f;box-shadow:0 4px 10px rgba(0,0,0,.25)}
.bv-pin.you{background:var(--gold);transition:left .8s,top .8s}
.bv-pack .q{padding:12px 18px;font-size:.85rem;border-bottom:1px solid var(--line);color:#5f6b70}
.bv-list{position:relative;height:calc(4 * 74px)}
.bv-li{position:absolute;left:0;right:0;height:74px;padding:12px 18px;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:center;transition:top .8s cubic-bezier(.2,.8,.2,1),background .4s;top:calc(var(--i) * 74px);background:#fff}
.bv-li .rk{width:28px;height:28px;border-radius:50%;background:#eef2f4;display:grid;place-items:center;font-weight:600;font-size:.85rem;flex:0 0 28px}
.bv-li b{display:block;color:#1a0dab;font-weight:500}.bv-li small{color:#70757a}
.bv-li.you{background:#fffaf0}.bv-li.you .rk{background:var(--gold);color:#1d2a31}
.bv-li .st{color:#e7a500;letter-spacing:1px}

/* ===== Filter gallery ===== */
.bv-filt{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:34px}
.bv-filt button{border:2px solid var(--line);background:#fff;border-radius:40px;padding:9px 20px;font:600 .88rem Poppins,sans-serif;color:var(--body);cursor:pointer;transition:.25s}
.bv-filt button[aria-pressed="true"],.bv-filt button:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.bv-gal{columns:3 280px;column-gap:18px}
.bv-gi{break-inside:avoid;margin:0 0 18px;border-radius:14px;overflow:hidden;position:relative;display:block;width:100%;border:0;padding:0;background:none;cursor:zoom-in;transition:opacity .4s,transform .4s}
.bv-gi img{width:100%;display:block;transition:transform .6s}
.bv-gi:hover img{transform:scale(1.04)}
.bv-gi .cap{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 14px;background:linear-gradient(transparent,rgba(15,52,71,.85));color:#fff;font-size:.86rem;font-weight:500;text-align:left;opacity:0;transition:.3s}
.bv-gi:hover .cap,.bv-gi:focus-visible .cap{opacity:1}
.bv-gi.hide{display:none}
.bv-lb{border:0;padding:0;background:transparent;max-width:min(1100px,92vw);max-height:92vh}
.bv-lb::backdrop{background:rgba(10,30,40,.85)}
.bv-lb img{max-width:100%;max-height:82vh;display:block;border-radius:12px}
.bv-lb p{color:#fff;text-align:center;margin-top:12px;font-family:Poppins,sans-serif}
.bv-lb button{position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;font-size:1.3rem;cursor:pointer}

/* ===== Email ===== */
.bv-emw{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.bv-modes{display:inline-flex;gap:6px;background:#e7eef2;border-radius:40px;padding:5px;margin-bottom:22px}
.bv-modes button{border:0;background:none;border-radius:40px;padding:9px 18px;font:600 .85rem Poppins,sans-serif;color:var(--body);cursor:pointer}
.bv-modes button[aria-pressed="true"]{background:var(--teal);color:#fff}
.bv-mail{margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(18,63,86,.16);overflow:hidden;transition:max-width .5s,background .4s,color .4s;max-width:560px;font-size:.9rem;color:#333}
.bv-mail.m{max-width:320px}
.bv-mail .bnr{height:130px;background:linear-gradient(135deg,var(--teal),var(--navy));display:grid;place-items:center;color:#fff;font-weight:600;font-size:1.3rem;text-align:center;padding:10px}
.bv-mail .bd{padding:22px}
.bv-mail .bd h4{font-size:1.15rem;margin-bottom:8px;color:inherit}
.bv-mail .cta{display:inline-block;background:var(--gold);color:#1d2a31;border-radius:30px;padding:10px 22px;font-weight:600;margin-top:6px}
.bv-mail .row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.bv-mail.m .row{grid-template-columns:1fr}
.bv-mail .row div{background:#f2f6f8;border-radius:10px;height:70px}
.bv-mail.dk{background:#1d2328;color:#e6e9eb}.bv-mail.dk .row div{background:#2b3238}
.bv-inbox{background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.08);margin-bottom:16px;padding:14px 18px;font-size:.85rem}
.bv-inbox b{display:block;color:var(--ink)}
.bv-calc{display:grid;grid-template-columns:1.2fr .9fr;gap:40px;align-items:start}
.bv-sl{margin-bottom:24px}
.bv-sl label{display:flex;justify-content:space-between;font-weight:600;color:var(--ink);margin-bottom:8px}
.bv-sl output{color:var(--teal)}

/* ===== Hosting ===== */
.bv-dash{background:#0d2a39;border-radius:var(--r);padding:26px;box-shadow:0 40px 80px rgba(0,0,0,.45);color:#cfe1e8;font-size:.85rem}
.bv-dash .top{display:flex;justify-content:space-between;margin-bottom:18px}
.bv-dash .live{display:inline-flex;align-items:center;gap:8px;color:#5ee39a;font-weight:600}
.bv-dash .live i{width:9px;height:9px;border-radius:50%;background:#5ee39a;animation:bvpulse 1.6s infinite}
@keyframes bvpulse{0%{box-shadow:0 0 0 0 rgba(94,227,154,.6)}70%{box-shadow:0 0 0 10px rgba(94,227,154,0)}100%{box-shadow:0 0 0 0 rgba(94,227,154,0)}}
.bv-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.bv-kpis div{background:rgba(255,255,255,.06);border-radius:12px;padding:14px}
.bv-kpis b{display:block;color:#fff;font-size:1.4rem}
.bv-spark{height:90px;background:rgba(255,255,255,.04);border-radius:12px;position:relative;overflow:hidden}
.bv-spark svg{position:absolute;inset:0;width:100%;height:100%}
.bv-spark path{stroke:var(--gold);stroke-width:2.5;fill:none;stroke-dasharray:600;stroke-dashoffset:600;animation:bvdraw 3s ease forwards .5s}
@keyframes bvdraw{to{stroke-dashoffset:0}}
.bv-logrow{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid rgba(255,255,255,.08);opacity:0;animation:bvin .5s forwards}
.bv-logrow:nth-child(1){animation-delay:1s}.bv-logrow:nth-child(2){animation-delay:1.6s}.bv-logrow:nth-child(3){animation-delay:2.2s}
@keyframes bvin{to{opacity:1}}
.bv-logrow em{font-style:normal;color:#5ee39a}
.bv-finder{display:grid;grid-template-columns:1.3fr .9fr;gap:40px;align-items:start}
.bv-rec{position:sticky;top:110px;background:#fff;border-radius:var(--r);box-shadow:0 24px 60px rgba(18,63,86,.14);padding:36px;border-top:6px solid var(--gold)}
.bv-rec .lbl{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);font-weight:600}
.bv-rec h3{font-size:1.7rem;margin:8px 0 10px}
.bv-rec ul{list-style:none;padding:0;margin:16px 0 24px}
.bv-rec li{padding:6px 0 6px 26px;position:relative;font-size:.94rem}
.bv-rec li::before{content:"\2713";position:absolute;left:0;color:var(--teal);font-weight:700}
.bv-psi{display:flex;gap:10px;max-width:640px;margin:0 auto;flex-wrap:wrap}
.bv-psi input{flex:1 1 280px;border:2px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;border-radius:50px;padding:15px 24px;font:500 1rem Poppins,sans-serif}
.bv-psi input::placeholder{color:rgba(255,255,255,.6)}

/* ===== Accessibility ===== */
.bv-sim{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center}
.bv-simctl{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.bv-simctl button{border:2px solid var(--line);background:#fff;border-radius:30px;padding:8px 16px;font:600 .84rem Poppins,sans-serif;color:var(--body);cursor:pointer}
.bv-simctl button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.bv-demo{background:#fff;border-radius:var(--r);box-shadow:0 24px 60px rgba(18,63,86,.14);overflow:hidden;transition:filter .5s}
.bv-demo.blur{filter:blur(2.2px)}.bv-demo.mono{filter:grayscale(1)}.bv-demo.cvd{filter:url(#bv-protan)}
.bv-demo .dh{background:#7fb8c9;color:#e9f6fa;padding:16px 20px;font-weight:600;display:flex;justify-content:space-between}
.bv-demo .db{padding:22px}
.bv-demo .db h4{color:#a8b4ba;font-size:1.05rem;margin-bottom:8px}
.bv-demo .db p{color:#b3bcc0;font-size:.9rem}
.bv-demo .fake{display:inline-block;background:#e6f3f7;color:#9ccbd9;padding:10px 18px;border-radius:30px;font-weight:600;font-size:.85rem}
.bv-demo .err{color:#f29b9b;font-size:.8rem}
.bv-demo.fixed .dh{background:var(--navy);color:#fff}
.bv-demo.fixed .db h4{color:var(--ink)}.bv-demo.fixed .db p{color:var(--body)}
.bv-demo.fixed .fake{background:var(--teal);color:#fff;outline:3px solid var(--gold);outline-offset:3px}
.bv-demo.fixed .err{color:#b3261e}
.bv-sr-out{margin-top:16px;background:#0d2a39;color:#bde3ef;border-radius:12px;padding:14px 18px;font:500 .82rem/1.6 monospace;min-height:94px}
.bv-cc{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.bv-ccin{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bv-ccin label{font-weight:600;color:var(--ink);font-size:.9rem;display:grid;gap:8px}
.bv-ccin .pair{display:flex;gap:8px;align-items:center}
.bv-ccin input[type=color]{width:52px;height:46px;border:0;border-radius:10px;background:none;padding:0;cursor:pointer}
.bv-ccin input[type=text]{flex:1;border:2px solid var(--line);border-radius:10px;padding:10px 12px;font:500 .95rem monospace;width:100%}
.bv-ccprev{border-radius:var(--r);padding:34px;box-shadow:0 20px 50px rgba(18,63,86,.1)}
.bv-ccprev .big{font-size:1.6rem;font-weight:600;margin-bottom:6px}
.bv-ratio{font-size:2.6rem;font-weight:600;color:var(--ink);margin:10px 0}
.bv-badges{display:flex;gap:8px;flex-wrap:wrap}
.bv-badges span{border-radius:30px;padding:6px 14px;font-size:.8rem;font-weight:600;background:#eef2f4;color:var(--body)}
.bv-badges span.pass{background:#e3f6ec;color:#17784a}.bv-badges span.fail{background:#fde8e7;color:#b3261e}
.bv-cd{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.bv-cdc{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:30px}
.bv-cdc .days{font-size:3.2rem;font-weight:600;color:var(--gold);line-height:1}
.bv-cdc h3{font-size:1.1rem;margin:10px 0 6px}
.bv-cdc p{font-size:.92rem;margin:0}

/* ===== Custom dev ===== */
.bv-code{background:#0d1f29;border-radius:var(--r);box-shadow:0 40px 80px rgba(0,0,0,.45);overflow:hidden;font:500 .86rem/1.75 "SFMono-Regular",Menlo,Consolas,monospace}
.bv-code .bar{background:#132d3b;padding:10px 16px;display:flex;gap:7px;align-items:center;color:#7fa3b3;font-size:.78rem}
.bv-code .bar i{width:11px;height:11px;border-radius:50%;background:#ff6058}.bv-code .bar i:nth-child(2){background:#ffbd2e}.bv-code .bar i:nth-child(3){background:#29c940}
.bv-code pre{margin:0;padding:22px 24px;color:#cfe1e8;white-space:pre-wrap;min-height:300px}
.bv-code .k{color:#ff9e64}.bv-code .s{color:#9ece6a}.bv-code .c{color:#5d7d8c}.bv-code .f{color:#7dcfff}
.bv-code .cur{display:inline-block;width:8px;height:1.1em;background:var(--gold);vertical-align:text-bottom;animation:bvcaret .8s step-end infinite}
.bv-flips{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.bv-flip{perspective:1200px;min-height:300px}
.bv-flip .in{position:relative;width:100%;height:100%;min-height:300px;transition:transform .7s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}
.bv-flip.on .in{transform:rotateY(180deg)}
.bv-flip .fc{position:absolute;inset:0;backface-visibility:hidden;border-radius:var(--r);padding:30px;display:flex;flex-direction:column}
.bv-flip .front{background:#fff;border:1px solid var(--line)}
.bv-flip .back{background:linear-gradient(160deg,#123f56,#175472);color:rgba(255,255,255,.88);transform:rotateY(180deg)}
.bv-flip .back h4{color:#fff;margin-bottom:8px;font-size:1.05rem}
.bv-flip .back p{font-size:.92rem}
.bv-flip .front h3{font-size:1.2rem;margin:16px 0 8px}
.bv-flip .front p{font-size:.94rem}
.bv-flip .tg{margin-top:auto;align-self:flex-start;background:none;border:0;color:var(--teal);font:600 .88rem Poppins,sans-serif;cursor:pointer;padding:0}
.bv-flip .back .tg{color:var(--gold)}
.bv-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.bv-chips span{background:#fff;border:1px solid var(--line);border-radius:40px;padding:10px 18px;font-weight:500;font-size:.9rem;color:var(--ink);transition:.3s}
.bv-chips span:hover{border-color:var(--teal);color:var(--teal);transform:translateY(-2px)}

@media (max-width:1024px){
 .bv-split,.bv-brand,.bv-bpanel,.bv-map,.bv-emw,.bv-calc,.bv-finder,.bv-sim,.bv-cc{grid-template-columns:1fr}
 .bv-grid,.bv-grid.g4{grid-template-columns:1fr 1fr}
 .bv-logos{grid-template-columns:repeat(3,1fr)}
 .bv-flips{grid-template-columns:1fr 1fr}
 .bv-rec{position:static}
}
@media (max-width:767px){
 .bv-grid,.bv-grid.g4,.bv-grid.g2,.bv-flips,.bv-cd,.bv-ccin{grid-template-columns:1fr}
 .bv-logos{grid-template-columns:repeat(2,1fr)}
 .bv-kpis{grid-template-columns:1fr 1fr 1fr}
 .bv-apps{grid-template-columns:1fr 1fr}
 .bv-bpanel{padding:22px}
}
.bv-ba .side img{position:absolute;inset:0;margin:auto;max-width:78%;max-height:78%;width:auto!important;height:auto!important}
/* hero stacked brand cards */
.bv-stack{position:relative;height:460px}
.bv-stack .c{position:absolute;border-radius:16px;box-shadow:0 30px 60px rgba(0,0,0,.35);overflow:hidden;background:#fff;animation:bvfloat 7s ease-in-out infinite}
.bv-stack .c img{width:100%;height:100%;object-fit:cover;display:block}
.bv-stack .c1{width:58%;height:62%;left:0;top:6%;background:#111}.bv-stack .c1 img{object-fit:contain;padding:18px}
.bv-stack .c2{width:50%;height:50%;right:0;top:0;animation-delay:-2s}
.bv-stack .c3{width:62%;height:26%;right:4%;bottom:2%;display:flex;animation-delay:-4s}
.bv-stack .c3 span{flex:1;display:grid;align-items:end;padding:10px;font:600 .7rem monospace;color:rgba(255,255,255,.9)}
.bv-stack .c4{width:34%;height:34%;left:6%;bottom:0;animation-delay:-1s}
@keyframes bvfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (max-width:767px){.bv-stack{height:340px}}
.bv-edit .typ.w2{--tw:13em}
.bv-fpanel.show .bv-edit .typ.w2{animation:bvtype2 2.2s steps(24) .4s forwards,bvcaret .8s step-end infinite}
@keyframes bvtype2{to{width:13em}}
.bv-pack .rk{width:26px;height:26px}
.bv-collage{display:grid;grid-template-columns:1fr 1fr;gap:14px;transform:rotate(-3deg)}
.bv-collage img{width:100%;height:190px;object-fit:cover;border-radius:14px;box-shadow:0 20px 40px rgba(0,0,0,.35);animation:bvfloat 8s ease-in-out infinite}
.bv-collage img:nth-child(2){animation-delay:-2s;margin-top:30px}.bv-collage img:nth-child(3){animation-delay:-4s;margin-top:-30px}.bv-collage img:nth-child(4){animation-delay:-6s}
@media (max-width:767px){.bv-collage img{height:130px}}
.bv .bv-wrap{box-sizing:content-box}

/* ===== Brand teal theme (replaces navy). White text contrast: #27788F 5.0:1, #22697D 6.2:1, #1F6577 6.6:1 (WCAG 2.1 AA) ===== */
.bv{--navy:#1F6577;--navy-2:#22697D;--t1:#27788F;--t2:#22697D;--t3:#1F6577;--pale:#F4E4BC}
.bv-hero{background:radial-gradient(900px 520px at 88% 18%,rgba(49,150,179,.55) 0,transparent 62%),linear-gradient(135deg,var(--t1) 0%,var(--t2) 55%,var(--t3) 100%)}
.bv-hero::before{background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px)}
.bv-hero h1{color:#fff}
.bv-rot{color:var(--pale)}
.bv-hero .bv-sub,.bv-trust,.bv-hero p{color:#fff!important}
.bv-tab{background:rgba(0,0,0,.14);border-color:rgba(255,255,255,.35)}
.bv-pause{color:#fff}
.bv-sec.dark{background:linear-gradient(135deg,var(--t1) 0%,var(--t2) 60%,var(--t3) 100%);color:#fff}
.bv-sec.dark .bv-eye{color:#fff}
.bv-sec.dark p,.bv-sec.dark small,.bv-sec.dark .bv-lead{color:#fff!important}
.bv-sec.dark .bv-tile{background:rgba(0,0,0,.12);border-color:rgba(255,255,255,.18);color:#fff}
.bv-sec.dark .bv-tile .ico{background:rgba(255,255,255,.14);color:var(--pale)}
.bv-score,.bv-total{background:linear-gradient(160deg,var(--t1),var(--t3));box-shadow:0 30px 60px rgba(31,101,119,.28)}
.bv-score p,.bv-total .tm,.bv-total ul,.bv-total .fine,.bv-total .lbl{color:#fff}
.bv-total li{border-color:rgba(255,255,255,.2)}
.bv-cdc{background:rgba(0,0,0,.12);border-color:rgba(255,255,255,.2)}
.bv-cdc .days{color:var(--pale)}
.bv-card::after{background:linear-gradient(180deg,rgba(31,101,119,.05) 18%,rgba(31,101,119,.96) 72%)}
.bv-card .tag,.bv-card .more{color:var(--pale)}
.bv-flip .back{background:linear-gradient(160deg,var(--t1),var(--t3));color:#fff}
.bv-flip .back .tg{color:#fff;text-decoration:underline}
.bv-psi input{background:rgba(0,0,0,.15);border-color:rgba(255,255,255,.5)}
.bv-psi input::placeholder{color:rgba(255,255,255,.85)}
.bv-dash{background:#184B5A}.bv-dash .bv-kpis div{background:rgba(255,255,255,.08)}
.bv-code{background:#163F4B}.bv-code .bar{background:#1D5160}.bv-code .c{color:#9cc3cf}
.bv-sr-out{background:#184B5A;color:#fff}
.bv-cmp .hd .us{background:var(--t2)}
.bv-seg .pill{background:var(--t2)}
.bv-btn.teal{background:var(--t2)}
.bv-step.on .dot{background:var(--t2);border-color:var(--t2)}
.bv-q:has(input:checked) .bx,.bv-adds input:checked+.bx::before{background-color:var(--t2);border-color:var(--t2)}
/* Teal text on light backgrounds: #27788F gives 5.0:1 on white (brand #3196B3 is only 3.4:1) */
.bv-eye,.bv-step .wk,.bv-fbtn[aria-selected="true"] .n,.bv-rec .lbl,.bv-sl output,.bv-copied,.bv-flip .tg{color:var(--t1)}
.bv-btn.line{color:var(--t1)!important;border-color:var(--t1)}
.bv-btn.line:hover{background:var(--t1);color:#fff!important}
.bv a[style*="3196B3"]{color:var(--t1)!important}
.bv-filt button[aria-pressed="true"],.bv-filt button:hover,.bv-modes button[aria-pressed="true"]{background:var(--t2);border-color:var(--t2)}
.bv-sec.dark .bv-eye,.bv-hero .bv-eye{color:#fff}
.bv-flip .back .tg{color:#fff}
.bv-fbtn .n{color:#5f6f77}
.bv-li small,.bv-pack small{color:#5f6368!important}
.bv-a11y .ok{background:#17784A}
.bv-demo.fixed .fake{background:var(--t2)}
.bv-demo.fixed .db p{color:var(--body)}
.bv-gauge .sc{color:#17784A}
.bv .bv-up .lbl b,.bv-edit [style*="2fb36b"],.bv-a11y [style*="2fb36b"]{color:#17784A!important}
.bv-demo.fixed .db p{color:var(--body)!important}

/* ---------- Wider intro column: Accessibility + SEO heroes ---------- */
@media (min-width:1025px){
 .page-id-10718 .bv-hero .bv-wrap,.page-id-2324 .bv-hero .bv-wrap{grid-template-columns:2fr 1fr;gap:56px}
 .page-id-10718 .bv-hero .bv-sub,.page-id-2324 .bv-hero .bv-sub{max-width:700px}
}

/* ===== Sticky reasons (Why Us) ===== */
.bv-sec.no-clip{overflow:visible}
.bv-sticky{display:grid;grid-template-columns:5fr 7fr;gap:70px;align-items:start}
.bv-sticky .side{position:sticky;top:130px}
.bv-sticky .side .bv-lead{margin-bottom:28px}
.bv-sticky .side .ctas{display:flex;gap:12px;flex-wrap:wrap}
.bv-reason{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:36px 34px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--r);margin-bottom:22px;transition:border-color .4s,box-shadow .4s,transform .4s}
.bv-reason.on{border-left-color:var(--t1);box-shadow:0 18px 44px rgba(31,101,119,.12);transform:translateX(4px)}
.bv-reason .num{font-size:2.6rem;font-weight:600;line-height:1;color:#c9d6dc;transition:color .4s}
.bv-reason.on .num{color:var(--t1)}
.bv-reason h3{font-size:1.35rem;margin:0 0 10px}
.bv-reason p{margin:0 0 14px;font-size:1rem}
.bv-reason .proof{display:inline-flex;align-items:center;gap:8px;background:#eaf6fa;color:var(--t1);font-weight:600;font-size:.82rem;border-radius:40px;padding:6px 14px}
.bv-reason .proof svg{width:16px;height:16px}
/* Service area */
.bv-area{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
.bv-cities{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.bv-cities a,.bv-cities span{border:2px solid var(--line);border-radius:40px;padding:9px 18px;font-weight:600;font-size:.92rem;color:var(--ink);text-decoration:none;background:#fff;transition:.25s}
.bv-cities a{border-color:var(--t1);color:var(--t1)}
.bv-cities a:hover{background:var(--t1);color:#fff}
.bv-areamap{position:relative;text-align:center}
.bv-areamap img{max-width:100%;opacity:.9}
.bv-areamap .since{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(2.4rem,4.5vw,3.8rem);font-weight:300;color:var(--t1);letter-spacing:.06em;white-space:nowrap}
@media (max-width:1024px){.bv-sticky,.bv-area{grid-template-columns:1fr}.bv-sticky .side{position:static}}
@media (max-width:767px){.bv-reason{grid-template-columns:1fr;gap:10px;padding:26px 22px}}
.bv-reason ul{margin:0 0 6px;padding-left:20px}.bv-reason li{margin-bottom:6px}
.bv-reason p:last-child{margin-bottom:0}
a.bv-tile{text-decoration:none!important;color:inherit;display:block}
a.bv-tile .more{display:inline-block;margin-top:14px;font-weight:600;font-size:.88rem;color:var(--t1)}
.bv-reason .num{color:#7d939b}
.bv-reason a,.bv-faq .a a{color:var(--t1);text-decoration:underline}
/* Local client logo rows (city pages) */
.bv-logos.loc{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.bv-logos.loc .bv-logo{flex:0 0 calc((100% - 80px)/6);aspect-ratio:auto;min-height:150px;padding:24px}
.bv-logos.loc .bv-logo img{max-height:98px;max-width:100%;width:auto;height:auto}
@media (max-width:1024px){.bv-logos.loc .bv-logo{flex-basis:calc((100% - 32px)/3)}}
@media (max-width:767px){.bv-logos.loc .bv-logo{flex-basis:calc((100% - 16px)/2);min-height:120px;padding:18px}.bv-logos.loc .bv-logo img{max-height:70px}}
.bv-logos.loc .bv-logo{padding:22px 14px}
/* Local logo row: smaller, borderless */
.bv-logos.loc .bv-logo{border:0;background:transparent;box-shadow:none;min-height:120px;padding:16px 22px}
.bv-logos.loc .bv-logo:hover{box-shadow:none}
.bv-logos.loc .bv-logo img{max-height:72px;max-width:82%}
@media (max-width:767px){.bv-logos.loc .bv-logo{min-height:96px;padding:12px 16px}.bv-logos.loc .bv-logo img{max-height:56px}}

/* Local SEO tab: your listing sits on top, highlight without the rise animation */
.bv-fpanel.show .bv-serp .you{animation:bvfade .6s ease both}
.bv-pin.you{transition:none}
/* Reviews: stack all slides in one grid cell so the carousel holds the tallest review's height */
.bv-rev{display:grid;grid-template-columns:minmax(0,1fr)}
.bv-rev .bv-slide{display:block;grid-row:1;grid-column:1;align-self:center;visibility:hidden;opacity:0;pointer-events:none}
.bv-rev .bv-slide.on{visibility:visible;opacity:1;pointer-events:auto}
/* Logo Design page: larger logos in the work grid on desktop */
@media (min-width:1025px){.page-id-1889 .bv-logos:not(.loc) .bv-logo{padding:14px}.page-id-1889 .bv-logos:not(.loc) .bv-logo img{max-height:104px}}

/* ==========================================================================
   Contact page (native Elementor layout) + Project Inquiry form (.bjs-gf, Gravity Forms #6)
   ========================================================================== */
/* hide the footer "Let's talk about your project" band on contact pages, the form is right here */
body.page-id-293 .elementor-element-6122ced{display:none}

/* ---------- Project Inquiry form ---------- */
.bjs-gf_wrapper.gform_wrapper{--gold:#CCAE68;--ink:#24323a;--line:#dfe8ed;--f-teal:#22697D;--f-teal-l:#E8F3F6;--f-line:#d6e1e6;--f-ink:#24323a;--f-muted:#5d6970;margin:0!important;font-family:Poppins,system-ui,sans-serif}
.bjs-gf_wrapper.gform_wrapper.gravity-theme .gform_fields{row-gap:26px;column-gap:16px}
/* step indicator */
.bjs-gf_wrapper .gf_page_steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 30px!important;padding:0!important;border:0!important}
.bjs-gf_wrapper .gf_step{display:flex!important;flex-direction:column;gap:8px;margin:0!important;padding:0!important;font-size:.8rem;font-weight:500;color:var(--f-muted);opacity:1!important;height:auto!important}
.bjs-gf_wrapper .gf_step::before{content:"";display:block;height:5px;border-radius:5px;background:#e3ebef;transition:background .4s}
.bjs-gf_wrapper .gf_step_active::before,.bjs-gf_wrapper .gf_step_completed::before{background:linear-gradient(90deg,#3196B3,#22697D)}
.bjs-gf_wrapper .gf_step_number{display:none!important}
.bjs-gf_wrapper .gf_step_active .gf_step_label{color:var(--f-ink);font-weight:600}
.bjs-gf_wrapper .gf_step_label{padding:0!important;display:block!important}
/* labels */
.bjs-gf_wrapper.gravity-theme .gfield_label,.bjs-gf_wrapper.gravity-theme legend.gfield_label{font-size:1rem!important;font-weight:600!important;color:var(--f-ink);margin:0 0 10px!important;padding:0!important}
.bjs-gf_wrapper.gravity-theme .bjs-tiles>.gfield_label,.bjs-gf_wrapper.gravity-theme .bjs-tiles>legend.gfield_label,.bjs-gf_wrapper.gravity-theme .gfield--type-checkbox:first-of-type legend{font-size:1.3rem!important;letter-spacing:-.01em}
.bjs-gf_wrapper .gfield_required{color:#b3402d!important;margin-left:3px}
.bjs-gf_wrapper.gravity-theme .gfield_description{font-size:.88rem;color:var(--f-muted);padding:0 0 12px!important;margin:-4px 0 0}
.bjs-gf_wrapper.gravity-theme .gform-field-label--type-sub{font-size:.78rem;color:var(--f-muted)}
.bjs-gf_wrapper.gravity-theme .ginput_complex .gform-field-label--type-sub{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* text inputs */
.bjs-gf_wrapper.gravity-theme input[type=text],.bjs-gf_wrapper.gravity-theme input[type=email],.bjs-gf_wrapper.gravity-theme input[type=tel],.bjs-gf_wrapper.gravity-theme input[type=url],.bjs-gf_wrapper.gravity-theme textarea,.bjs-gf_wrapper.gravity-theme select{width:100%;font:inherit;font-size:1rem!important;color:var(--f-ink);background:#fff;border:1.5px solid var(--f-line)!important;border-radius:12px!important;padding:14px 16px!important;min-height:52px;box-shadow:none!important;transition:border-color .2s,box-shadow .2s;appearance:none}
.bjs-gf_wrapper.gravity-theme textarea{min-height:120px;height:auto!important;resize:vertical;line-height:1.55}
.bjs-gf_wrapper.gravity-theme select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2322697D' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 16px center!important;padding-right:44px!important}
.bjs-gf_wrapper.gravity-theme ::placeholder{color:#8a969c;opacity:1}
.bjs-gf_wrapper.gravity-theme input:hover,.bjs-gf_wrapper.gravity-theme textarea:hover,.bjs-gf_wrapper.gravity-theme select:hover{border-color:#a9c3cd!important}
.bjs-gf_wrapper.gravity-theme input:focus,.bjs-gf_wrapper.gravity-theme textarea:focus,.bjs-gf_wrapper.gravity-theme select:focus{outline:none;border-color:var(--f-teal)!important;box-shadow:0 0 0 4px rgba(49,150,179,.18)!important}
.bjs-gf_wrapper.gravity-theme .ginput_container_name.gform-grid-row{column-gap:12px}
/* selectable tiles (services, starting point) */
.bjs-gf_wrapper .bjs-tiles .gfield_checkbox,.bjs-gf_wrapper .bjs-tiles .gfield_radio{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bjs-gf_wrapper .bjs-tiles--3 .gfield_radio{grid-template-columns:repeat(3,minmax(0,1fr))}
.bjs-gf_wrapper .bjs-tiles .gchoice,.bjs-gf_wrapper .bjs-chips .gchoice{position:relative;margin:0!important;display:block!important}
.bjs-gf_wrapper .bjs-tiles input.gfield-choice-input,.bjs-gf_wrapper .bjs-tiles .gchoice input,.bjs-gf_wrapper .bjs-chips .gchoice input{position:absolute!important;opacity:0;width:1px!important;height:1px!important;margin:0!important;pointer-events:none}
.bjs-gf_wrapper .bjs-tiles .gchoice label{display:flex!important;align-items:center;gap:12px;width:100%;max-width:none!important;min-height:58px;height:100%;margin:0!important;padding:14px 16px!important;border:1.5px solid var(--f-line);border-radius:14px;background:#fff;color:var(--f-ink);font-size:.95rem!important;font-weight:500;line-height:1.35;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s,transform .15s;user-select:none}
.bjs-gf_wrapper .bjs-tiles .gchoice label::before{content:"";flex:none;width:22px;height:22px;border-radius:7px;border:1.5px solid #b9cbd2;background:#fff center/14px no-repeat;transition:background-color .2s,border-color .2s}
.bjs-gf_wrapper .bjs-tiles .gfield_radio .gchoice label::before{border-radius:50%}
.bjs-gf_wrapper .bjs-tiles--3 .gchoice label{flex-direction:column;align-items:flex-start;justify-content:center;min-height:96px;gap:10px}
.bjs-gf_wrapper .bjs-tiles .gchoice label:hover{border-color:#a9c3cd;transform:translateY(-1px)}
.bjs-gf_wrapper .bjs-tiles .gchoice input:checked+label{border-color:var(--f-teal);background:var(--f-teal-l);box-shadow:inset 0 0 0 1px var(--f-teal)}
.bjs-gf_wrapper .bjs-tiles .gchoice input:checked+label::before{border-color:var(--f-teal);background-color:var(--f-teal);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3L12.5 5' stroke='%23fff' stroke-width='2.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")}
/* pill chips (timeline, budget, contact method) */
.bjs-gf_wrapper .bjs-chips .gfield_radio,.bjs-gf_wrapper .bjs-chips .gfield_checkbox{display:flex!important;flex-wrap:wrap;gap:8px}
.bjs-gf_wrapper .bjs-chips .gchoice label{display:inline-flex!important;align-items:center;max-width:none!important;margin:0!important;padding:10px 18px!important;border:1.5px solid var(--f-line);border-radius:40px;background:#fff;color:var(--f-ink);font-size:.92rem!important;font-weight:500;line-height:1.3;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.bjs-gf_wrapper .bjs-chips .gchoice label:hover{border-color:#a9c3cd}
.bjs-gf_wrapper .bjs-chips .gchoice input:checked+label{background:var(--f-teal);border-color:var(--f-teal);color:#fff}
.bjs-gf_wrapper .bjs-tiles .gchoice input:focus-visible+label,.bjs-gf_wrapper .bjs-chips .gchoice input:focus-visible+label{outline:3px solid var(--gold);outline-offset:2px}
/* buttons */
.bjs-gf_wrapper.gravity-theme .gform_page_footer,.bjs-gf_wrapper.gravity-theme .gform_footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:32px 0 0!important;padding:0!important}
.bjs-gf_wrapper.gravity-theme .gform_next_button,.bjs-gf_wrapper.gravity-theme .gform_button{flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;padding:16px 30px!important;min-height:54px;border:0!important;border-radius:60px!important;background:linear-gradient(135deg,#27788F,#1F6577)!important;color:#fff!important;font:600 1rem/1 Poppins,system-ui,sans-serif!important;letter-spacing:.01em;cursor:pointer;box-shadow:0 10px 24px rgba(31,101,119,.28);transition:transform .2s,box-shadow .2s;margin:0!important;width:auto!important}
.bjs-gf_wrapper.gravity-theme .gform_next_button::after{content:"\2192";font-size:1.1em}
.bjs-gf_wrapper.gravity-theme .gform_next_button:hover,.bjs-gf_wrapper.gravity-theme .gform_button:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(31,101,119,.34)}
.bjs-gf_wrapper.gravity-theme .gform_previous_button{margin:0 auto 0 0!important;padding:14px 6px!important;background:none!important;border:0!important;color:var(--f-muted)!important;font:500 .95rem Poppins,system-ui,sans-serif!important;cursor:pointer;box-shadow:none!important;width:auto!important}
.bjs-gf_wrapper.gravity-theme .gform_previous_button::before{content:"\2190  "}
.bjs-gf_wrapper.gravity-theme .gform_previous_button:hover{color:var(--f-ink)!important}
.bjs-gf_wrapper.gravity-theme .gform_page_footer button:focus-visible,.bjs-gf_wrapper.gravity-theme .gform_footer button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.bjs-gf_wrapper .gform_ajax_spinner{margin-left:8px;width:20px!important}
/* validation */
.bjs-gf_wrapper.gravity-theme .gform_validation_errors{border:0!important;border-radius:12px!important;background:#fdf1ee!important;box-shadow:none!important;padding:14px 16px!important;margin:0 0 22px!important}
.bjs-gf_wrapper.gravity-theme .gform_validation_errors h2{font-size:.95rem!important;color:#9b3423!important;font-weight:600!important}
.bjs-gf_wrapper.gravity-theme .gform_validation_errors h2 .gform-icon{display:none}
.bjs-gf_wrapper.gravity-theme .gfield_error input,.bjs-gf_wrapper.gravity-theme .gfield_error textarea{border-color:#c4533f!important}
.bjs-gf_wrapper.gravity-theme .bjs-tiles.gfield_error .gchoice label{border-color:#e3a497}
.bjs-gf_wrapper.gravity-theme .gfield_validation_message{background:none!important;border:0!important;padding:8px 0 0!important;margin:0!important;color:#9b3423!important;font-size:.86rem!important}
/* page transition */
.bjs-gf_wrapper .gform_page{animation:bjsGfIn .45s ease both}
@keyframes bjsGfIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* confirmation */
.bjs-thanks{text-align:left;animation:bjsGfIn .5s ease both}
.bjs-thanks__ico{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#27788F,#1F6577);color:#fff;font-size:1.5rem;margin-bottom:18px}
.bjs-thanks h3{font-size:1.4rem;margin:0 0 10px;color:var(--ink,#24323a)}
.bjs-thanks ol{margin:18px 0;padding-left:20px;display:grid;gap:8px}
.bjs-thanks__alt{font-size:.92rem;color:#5d6970}
.bjs-thanks a{color:#22697D;font-weight:600}
@media (max-width:767px){
 .bjs-gf_wrapper .bjs-tiles .gfield_checkbox,.bjs-gf_wrapper .bjs-tiles .gfield_radio,.bjs-gf_wrapper .bjs-tiles--3 .gfield_radio{grid-template-columns:minmax(0,1fr)}
 .bjs-gf_wrapper .bjs-tiles--3 .gchoice label{flex-direction:row;align-items:center;min-height:58px}
 .bjs-gf_wrapper.gravity-theme .gfield--width-half{grid-column:span 12!important}
 .bjs-gf_wrapper.gravity-theme .gform_next_button,.bjs-gf_wrapper.gravity-theme .gform_button{flex:1 1 auto;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.bjs-gf_wrapper .gform_page,.bjs-thanks{animation:none}.bjs-gf_wrapper .bjs-tiles .gchoice label:hover{transform:none}}
/* form polish */
.bjs-gf_wrapper.gravity-theme textarea{height:130px!important;min-height:110px}
.bjs-gf_wrapper .gform_anchor{display:block;position:relative;top:-170px;height:0}
@media (max-width:767px){
 .bjs-gf_wrapper .bjs-tiles .gfield_checkbox{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .bjs-gf_wrapper .bjs-tiles .gfield_checkbox .gchoice label{padding:12px!important;gap:10px;font-size:.86rem!important;min-height:64px}
 .bjs-gf_wrapper .bjs-tiles .gfield_checkbox .gchoice label::before{width:20px;height:20px}
}

/* ==========================================================================
   Native Elementor version of the Website Accessibility page (.bvx)
   Elementor handles layout and typography. These rules cover what the
   interactive tools and the scroll-driven timeline need.
   ========================================================================== */
.bvx{--teal:#3196B3;--navy:#123f56;--navy-2:#175472;--gold:#CCAE68;--light:#F4F8FA;--ink:#24323a;--body:#4f5b62;--line:#dfe8ed;--r:18px;--t1:#27788F;--t2:#22697D;--t3:#1F6577;--pale:#F4E4BC}
.bvx .bv{font-family:Poppins,system-ui,sans-serif;color:var(--body)}
.e-con.bv-sim,.e-con.bv-cc{display:flex!important}
.bvx-lbl{font-weight:600;color:var(--ink);margin:0!important}
/* timeline */
.bvx .e-con.bv-tl{position:relative;max-width:900px;margin:0 auto;width:100%}
.bvx .e-con.bv-tl::before{content:""!important;position:absolute!important;left:31px!important;top:0!important;bottom:0!important;width:3px!important;height:auto!important;background:var(--line)!important;border-radius:3px;opacity:1!important;z-index:0}
.bvx .bv-tl>.e-con.fill{position:absolute!important;left:31px;top:0;width:3px!important;min-height:0!important;height:0;padding:0!important;background:linear-gradient(var(--teal),var(--gold));border-radius:3px;z-index:0}
.bvx .e-con.bv-step{display:grid!important;grid-template-columns:66px 1fr;gap:26px;padding:0 0 46px!important;position:relative;z-index:1}
.bvx .bv-step>.e-con.dot{display:grid!important;place-items:center;width:66px!important;height:66px;min-height:66px;padding:0!important;border-radius:50%;background:#fff;border:3px solid var(--line);color:#9fb0b8;transition:.45s}
.bvx .bv-step .dot .elementor-heading-title{color:inherit!important}
.bvx .bv-step.on>.e-con.dot{border-color:var(--t2);background:var(--t2);color:#fff;box-shadow:0 0 0 8px rgba(49,150,179,.15)}
.bvx .bv-step>.e-con.card{background:#fff;border-radius:14px;padding:24px 28px!important;box-shadow:0 8px 26px rgba(18,63,86,.06);transition:.45s;opacity:.55}
.bvx .bv-step.on>.e-con.card{opacity:1;transform:translateX(6px)}
.bvx .bv-step .wk{background:#eaf6fa;border-radius:30px;padding:3px 12px;white-space:nowrap;flex:none}
@media (max-width:767px){.bvx .e-con.bv-step{grid-template-columns:48px 1fr;gap:14px}.bvx .bv-step>.e-con.dot{width:48px!important;height:48px;min-height:48px}.bvx .e-con.bv-tl::before,.bvx .bv-tl>.e-con.fill{left:22px!important}.bvx .bv-step>.e-con.card{padding:18px 18px!important}}
@media (prefers-reduced-motion:reduce){.bvx .bv-step>.e-con.card,.bvx .bv-step>.e-con.dot{transition:none}}
/* audience tiles */
.bvx .e-con.bvx-tile{transition:transform .3s,box-shadow .3s,border-color .3s}
.bvx .e-con.bvx-tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(18,63,86,.1);border-color:transparent!important}
/* reviews carousel: keep the height steady between slides */
.bvx-reviews .swiper-wrapper{align-items:stretch}
.bvx-reviews .swiper-slide{height:auto}
.bvx-reviews .elementor-testimonial__content{min-height:7.5em;display:flex;align-items:center;justify-content:center}
/* native logo wall cards (Logo Design page) */
.bvx .e-con.bvx-logo{transition:box-shadow .35s;overflow:hidden}
.bvx .e-con.bvx-logo img{filter:grayscale(1);opacity:.7;transition:filter .35s,opacity .35s,transform .35s}
.bvx .e-con.bvx-logo:hover{box-shadow:0 14px 30px rgba(18,63,86,.1)}
.bvx .e-con.bvx-logo:hover img{filter:none;opacity:1;transform:scale(1.06)}
/* integration pills (native Custom Development page) */
.bvx .e-con.bvx-chip{--width:auto;width:auto!important;flex:0 0 auto!important;transition:border-color .25s,background .25s}
.bvx .e-con.bvx-chip:hover{border-color:#3196B3!important;background:#eaf6fa!important}
/* timeline: keep upcoming steps readable (WCAG contrast) while still dimmed */
.bv-step .card,.bvx .bv-step>.e-con.card{opacity:.85}
/* Custom Development flip cards: no hover lift/shadow on the icon wrapper */
.page-id-1459 .bv-flip .bv-tile:hover{transform:none;box-shadow:none}
/* subtle white button with teal text (for use on teal panels) */
.bv-btn.soft{background:rgba(255,255,255,.94);color:#1F6577!important;border-color:transparent}
.bv-btn.soft:hover{background:#fff;color:#123f56!important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.16)}
/* native Web Design page: case study cards + note photo */
.bvx .e-con.bvx-card{overflow:hidden;text-decoration:none!important;isolation:isolate}
.bvx .e-con.bvx-card::before{transition:transform 1.2s ease}
.bvx .e-con.bvx-card{background-size:cover;transition:background-size 1.2s ease}
.bvx .e-con.bvx-card .more{opacity:0;transform:translateY(8px);transition:.35s}
.bvx .e-con.bvx-card:hover .more,.bvx .e-con.bvx-card:focus-visible .more{opacity:1;transform:none}
@media (max-width:767px){.bvx .e-con.bvx-card .more{opacity:1;transform:none}}
.bvx .bvx-stat .elementor-counter{flex-direction:column-reverse;align-items:flex-start;gap:6px}
.bvx .bvx-stat .elementor-counter-number-wrapper{justify-content:flex-start}
.bvx .e-con.bvx-photo{position:relative}
.bvx .bvx-photo img{border-radius:50% 50% 24px 24px;background:linear-gradient(160deg,#3196B3,#123f56);display:block}
.bvx .e-con.bvx-photo::after{content:'Since 2004';position:absolute;right:-14px;bottom:40px;background:#CCAE68;color:#1d2a31;font-weight:600;font-size:.85rem;padding:10px 18px;border-radius:40px;box-shadow:0 10px 24px rgba(0,0,0,.15);font-family:Poppins,sans-serif}
.bv-tabrow{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.bv-tabrow .bv-tabs{margin:0}
.bv-tabrow{margin-top:22px}
.bv-tabrow .bv-tabs{flex:0 1 auto}
.bv-tabrow{flex-wrap:nowrap}.bv-tabrow .bv-pause{flex:none;padding:0 2px}
/* Home (new) */
.bvx .e-con.bvh-svc{transition:transform .3s ease,box-shadow .3s ease;text-decoration:none!important}
.bvx .e-con.bvh-svc:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(18,63,86,.12)}
.bvx .e-con.bvh-svc:focus-visible,.bvx .e-con.bvx-card:focus-visible{outline:3px solid #1D2A31;outline-offset:3px}
.bvx .bvh-mock img{max-height:330px;width:auto!important;margin:0 auto;display:block}
@media (prefers-reduced-motion:reduce){.bvx .e-con.bvh-svc,.bvx .e-con.bvh-svc:hover{transition:none;transform:none}}
@media (max-width:767px){
.bvx .bvh-mock img{max-height:210px}
.bvx .e-con.bvh-svc:not(.bvh-big){padding-right:56px}
.bvx .bvh-svc:not(.bvh-big) .bvh-desc,.bvx .bvh-svc:not(.bvh-big) .bvh-more{display:none}
.bvx .bvh-svc:not(.bvh-big) .elementor-widget-heading:nth-child(2) .elementor-heading-title{margin:0}
.bvx .e-con.bvh-svc:not(.bvh-big)::after{content:"\2192";position:absolute;right:24px;top:50%;transform:translateY(-50%);color:#27788F;font-size:20px;font-weight:600}
.bvx .e-con.bvh-work{flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:-5.6vw;padding-right:5.6vw}
.bvx .e-con.bvh-work::-webkit-scrollbar{display:none}
.bvx .e-con.bvh-work>.e-con{display:contents}
.bvx .e-con.bvh-work .e-con.bvx-card{flex:0 0 84%!important;width:84%!important;scroll-snap-align:start}
.bvx .bvh-point .elementor-icon-box-description{display:none}
.bvx .bvh-point .elementor-icon-box-title{margin-bottom:0!important}
.bvx .bvh-lab .e-loop-item:nth-child(n+3){display:none}
}
.bvx .bvh-svc .bvh-more{margin-top:auto}
/* Home (new): team mosaic */
.bvx .e-con.bvh-team{position:relative;align-content:start}
.bvx .e-con.bvh-mem{position:relative;overflow:hidden;border-radius:999px 999px 18px 18px;background:#1d2a31;isolation:isolate;box-shadow:0 14px 30px rgba(18,63,86,.14)}
.bvx .e-con.bvh-mem:nth-child(3n+2){transform:translateY(44px)}
.bvx .bvh-mem img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 18%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.bvx .bvh-mem:hover img{transform:scale(1.06)}
.bvx .bvh-mem .bvh-chip{position:absolute!important;left:8px;right:8px;bottom:8px;width:auto!important;z-index:1}
.bvx .bvh-mem .bvh-chip .elementor-heading-title{background:rgba(255,255,255,.95);border-radius:12px;padding:7px 10px;line-height:1.25;font-family:Poppins,sans-serif;font-size:13px;color:#24323A}
.bvx .bvh-mem .bvh-chip b{display:block;font-weight:600}
.bvx .bvh-mem .bvh-chip span{display:block;font-size:11.5px;color:#4F5B62}
.bvx .e-con.bvh-team::after{content:"Since 2004";position:absolute;right:-12px;top:-14px;z-index:2;background:#CCAE68;color:#1d2a31;font-weight:600;font-size:.85rem;padding:10px 18px;border-radius:40px;box-shadow:0 10px 24px rgba(0,0,0,.15);font-family:Poppins,sans-serif;transform:rotate(4deg)}
@media (max-width:767px){
.bvx .e-con.bvh-mem:nth-child(3n+2){transform:translateY(24px)}
.bvx .bvh-mem .bvh-chip{left:5px;right:5px;bottom:5px}
.bvx .bvh-mem .bvh-chip .elementor-heading-title{padding:4px 6px;font-size:11.5px;text-align:center;border-radius:9px}
.bvx .bvh-mem .bvh-chip span{display:none}
.bvx .e-con.bvh-team::after{right:-4px;top:-12px;font-size:.75rem;padding:7px 13px}
}
/* Home (new): 239 Lab flask, always bubbling */
.bvx .bvh-flask .elementor-icon{display:inline-flex;align-items:center;justify-content:center;width:132px;height:132px;border-radius:50%;background:#F4F8FA;box-shadow:inset 0 0 0 2px #DFE8ED}
.bvx .bvh-flask svg{overflow:visible;width:auto;height:108px;transform-origin:50% 88%;animation:bvhTilt 4.2s ease-in-out infinite}
.bvx .bvh-flask svg .bjsf-wave,.bvx .bvh-flask svg .bjsf-wave2{animation:bvhWave 2.6s linear infinite}
.bvx .bvh-flask svg .bjsf-wave2{animation-duration:3.8s;animation-direction:reverse}
.bvx .bvh-flask svg .bjsf-b,.bvx .bvh-flask svg .bjsf-o{transform-box:fill-box;transform-origin:center}
.bvx .bvh-flask svg .bjsf-b{animation:bvhRise 2.6s ease-in infinite}
.bvx .bvh-flask svg .bjsf-b2{animation-delay:.7s}.bvx .bvh-flask svg .bjsf-b3{animation-delay:1.3s}.bvx .bvh-flask svg .bjsf-b4{animation-delay:1.9s}
.bvx .bvh-flask svg .bjsf-o{animation:bvhPop 2.2s ease-out infinite}
.bvx .bvh-flask svg .bjsf-o2{animation-delay:.75s}.bvx .bvh-flask svg .bjsf-o3{animation-delay:1.45s}
.bvx .bvh-flask:hover svg{animation-duration:1.4s}
@keyframes bvhTilt{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(6deg)}}
@keyframes bvhWave{from{transform:translateX(0)}to{transform:translateX(25px)}}
@keyframes bvhRise{0%{transform:translateY(0);opacity:0}15%{opacity:.9}80%{opacity:.8}100%{transform:translateY(-26px);opacity:0}}
@keyframes bvhPop{0%{transform:translateY(6px) scale(.6);opacity:0}30%{opacity:1}100%{transform:translateY(-22px) scale(1.1);opacity:0}}
@media (max-width:767px){.bvx .bvh-flask .elementor-icon{width:88px;height:88px}.bvx .bvh-flask svg{height:70px}}
@media (prefers-reduced-motion:reduce){.bvx .bvh-flask svg,.bvx .bvh-flask svg *{animation:none!important}.bvx .bvh-mem img{transition:none}}
/* Accessibility simulator: framed sample site (Nov 2026) */
.bv-demo-wrap{margin:0;border-radius:var(--r);background:#fff;box-shadow:0 24px 60px rgba(18,63,86,.14);overflow:hidden;border:1px solid #d9e1e5}
.bv-demo-wrap .bv-demo{border-radius:0;box-shadow:none}
.bv-demo-bar{display:flex;align-items:center;gap:12px;background:#eef1f3;border-bottom:1px solid #d9e1e5;padding:10px 14px}
.bv-demo-bar .dots{display:flex;gap:6px;flex:none}
.bv-demo-bar .dots i{width:10px;height:10px;border-radius:50%;background:#c9d1d6;display:block}
.bv-demo-bar .url{flex:1;min-width:0;background:#fff;border:1px solid #d9e1e5;border-radius:20px;padding:4px 12px;font:500 .78rem/1.4 Poppins,sans-serif;color:#4F5B62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bv-demo-state{flex:none;font:600 .74rem/1 Poppins,sans-serif;letter-spacing:.3px;padding:6px 10px;border-radius:20px;background:#fde8e6;color:#9b1c1c}
.bv-demo-state.ok{background:#e1f3e8;color:#1b5e3f}
.bv-demo-cap{margin:0;padding:10px 16px;background:#f6f8f9;border-top:1px solid #e3e9ec;font:400 .78rem/1.5 Poppins,sans-serif;color:#4F5B62}
/* sample clinic gets its own green palette so it never reads as our site */
.bv-demo .dh{background:#9fcbb2;color:#eef7f1}
.bv-demo.fixed .dh{background:#1f5c44;color:#fff}
.bv-demo .fake{background:#e6f2eb;color:#9cc7ae}
.bv-demo.fixed .fake{background:#1f6b4d;color:#fff;outline:3px solid #e2a33c;outline-offset:3px}
.bv-demo .db .ph{background:#e9eeea;height:110px;border-radius:10px;margin:12px 0}
.bv-demo .db .lbl{margin-top:14px;font-size:.8rem;color:#9aa6ab}
.bv-demo.fixed .db .lbl{color:var(--body)}
.bv-demo .db .in{border:1px solid #d5dde1;border-radius:8px;height:36px}
.bv-demo.fixed .db .in{border-color:#6b7a80}
@media (max-width:767px){.bv-demo-bar .url{font-size:.72rem}.bv-demo-state{font-size:.7rem;padding:5px 8px}}
