:root{
    /* Brand blue sampled from the Buffalo Mobile logo arc (#5180BE -> #53AED5).
       The logo blue itself only clears WCAG AA at large sizes on white (3.04:1),
       so --bm-blue is reserved for accents/gradients and --bm-blue-btn (4.60:1)
       carries anything with white text on it. */
    --bm-blue:#519BCB; --bm-blue-light:#53AED5; --bm-blue-deep:#5180BE;
    --bm-blue-btn:#2E7BAE; --bm-blue-d:#2A6F9E;
    --bm-navy:#0E3350; --bm-ink:#1F5C88;
    /* NuMobile dealer accent, sampled from the Connect More catalogue */
    --nu-red:#E30905; --nu-red-d:#B80704;
    /* Accent is the brand blue. The yellow was removed site-wide 2026-08-15;
       --bm-accent-lite is for accents sitting ON navy/blue surfaces. */
    --bm-accent:#2E7BAE; --bm-accent-d:#2A6F9E;
    --bm-accent-lite:#53AED5; --bm-on-accent:#fff;
    --bm-gray:#6b6b6b; --bm-line:#e2eaf2; --bm-soft:#f2f7fb; --bm-off:#EFEBEA;
}
body.bm-page{font-family:"Plus Jakarta Sans",system-ui,Arial,sans-serif;color:var(--bm-ink);margin:0;background:#fff;}
.bm-page *{box-sizing:border-box;}
/* Headings carry their own line-height: the design system used to inherit one
   from the Elementor kit, which no longer loads on templates that use the
   storefront chrome. Component rules with a tighter value still win. */
.bm-page h1,.bm-page h2,.bm-page h3,.bm-page h4,.bm-page h5,.bm-page h6{line-height:1.2;}
.bm-wrap{max-width:1200px;margin:0 auto;padding:0 24px;position:relative;}
.bm-page a{text-decoration:none;color:inherit;}
.bm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15px;border-radius:999px;padding:14px 28px;border:2px solid transparent;cursor:pointer;transition:.15s;}
.bm-btn--yellow{background:var(--bm-accent);color:var(--bm-on-accent);}
/* On the blue/navy surfaces a blue button would disappear, so it flips to white. */
.bm-hero .bm-btn--yellow,.bm-ctaband .bm-btn--yellow,.bm-employers .bm-btn--yellow,
.bm-pagehero .bm-btn--yellow,.bm-cookie .bm-btn--yellow{background:#fff;color:var(--bm-navy);}
.bm-hero .bm-btn--yellow:hover,.bm-ctaband .bm-btn--yellow:hover,.bm-employers .bm-btn--yellow:hover,
.bm-pagehero .bm-btn--yellow:hover,.bm-cookie .bm-btn--yellow:hover{background:#e8f1f8;color:var(--bm-navy);}
.bm-btn--yellow:hover{background:var(--bm-accent-d);}
.bm-btn--blue{background:var(--bm-blue-btn);color:#fff;}
.bm-btn--blue:hover{background:var(--bm-blue-d);}
.bm-btn--ghost{background:transparent;color:var(--bm-blue-btn);border-color:var(--bm-blue-btn);}
.bm-btn--ghost:hover{background:var(--bm-blue-btn);color:#fff;}
.bm-btn--ghostw{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.bm-btn--ghostw:hover{background:#fff;color:var(--bm-blue-btn);}

/* promo bar */
.bm-promo{background:var(--bm-navy);color:#fff;text-align:center;font-size:13.5px;font-weight:500;padding:9px 16px;}
.bm-promo b{color:var(--bm-accent-lite);}

/* header */
.bm-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--bm-line);}
.bm-header .bm-wrap{display:flex;align-items:center;justify-content:space-between;height:74px;}
.bm-logo{font-weight:800;font-size:24px;letter-spacing:-.5px;color:var(--bm-navy);display:inline-flex;align-items:center;}
.bm-logo span{color:var(--bm-blue-btn);}
.bm-logo i{width:9px;height:9px;border-radius:50%;background:var(--bm-accent);display:inline-block;margin-left:3px;align-self:flex-end;margin-bottom:6px;}
.bm-nav{display:flex;gap:30px;}
.bm-nav a{font-weight:600;font-size:15px;color:var(--bm-ink);}
.bm-nav a:hover,.bm-nav a.active{color:var(--bm-blue-btn);}
.bm-headcta{display:flex;align-items:center;gap:14px;}

/* cart / application counter */
.bm-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;color:var(--bm-navy);font-size:19px;border:1.5px solid var(--bm-line);}
.bm-cart:hover{border-color:var(--bm-blue-btn);color:var(--bm-blue-btn);}
.bm-cart__n{position:absolute;top:-7px;right:-7px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--nu-red);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;}

/* burger — desktop hides it, mobile relies on it.
   The parent theme paints bare <button> orange and rounds it, so these need
   !important to survive. */
.bm-burger{display:none;}
body.bm-page button.bm-burger{width:42px!important;height:42px!important;background:transparent!important;
    border:1.5px solid var(--bm-line)!important;border-radius:0!important;cursor:pointer;padding:0!important;
    align-items:center;justify-content:center;flex-direction:column;gap:4px;box-shadow:none!important;}
body.bm-page button.bm-burger:hover{border-color:var(--bm-blue-btn)!important;}
.bm-burger span{display:block;width:19px;height:2px;background:var(--bm-navy);transition:.18s;}
body.bm-nav-open .bm-burger span:nth-child(1){transform:translateY(6px) rotate(45deg);}
body.bm-nav-open .bm-burger span:nth-child(2){opacity:0;}
body.bm-nav-open .bm-burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

@media(max-width:980px){
    .bm-burger,body.bm-page button.bm-burger{display:flex!important;}
    .bm-headcta__btn{display:none;}
    /* Drops below the header rather than over it: .bm-nav lives inside
       .bm-header, whose z-index creates a stacking context the panel cannot
       escape, so a full-screen overlay would bury the logo and burger. */
    .bm-nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;gap:0;
            background:#fff;border-bottom:1px solid var(--bm-line);box-shadow:0 18px 34px rgba(14,51,80,.12);
            padding:4px 0 12px;max-height:calc(100vh - 120px);overflow-y:auto;
            opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s;}
    body.bm-nav-open .bm-nav{opacity:1;visibility:visible;transform:translateY(0);}
    .bm-nav a{padding:15px 24px;font-size:17px;border-bottom:1px solid var(--bm-line);}
    .bm-nav a:last-child{border-bottom:0;}
    /* the parent theme stretches bare images, which blows the logo up on narrow
       screens until it collides with the nav */
    .bm-header .bm-logo{flex:0 1 auto;min-width:0;}
    .bm-header .bm-logo-img{height:38px!important;width:auto!important;max-width:150px;object-fit:contain;}
    .bm-header .bm-wrap{height:64px;gap:12px;}
    .bm-headcta{gap:10px;}
}

/* outlined decorative wordmark */
.bm-outline-word{position:absolute;font-weight:800;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.14);text-stroke:2px rgba(255,255,255,.14);font-size:230px;line-height:1;letter-spacing:-6px;pointer-events:none;user-select:none;top:50%;left:-20px;transform:translateY(-50%);z-index:0;white-space:nowrap;}

/* hero (blue, StayGo-style) */
.bm-hero{background:linear-gradient(135deg,var(--bm-blue-light) 0%,var(--bm-blue) 45%,var(--bm-blue-deep) 100%);color:#fff;overflow:hidden;position:relative;}
.bm-hero .bm-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-top:60px;padding-bottom:60px;z-index:2;}
.bm-hero .bm-col-text{position:relative;z-index:2;}
.bm-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;color:#fff;}
.bm-badge i{width:8px;height:8px;border-radius:50%;background:#fff;display:inline-block;}
.bm-hero h1{font-size:56px;line-height:1.03;font-weight:800;letter-spacing:-1.5px;margin:18px 0 16px;color:#fff;}
.bm-hero h1 mark{background:#fff;color:var(--bm-navy);padding:0 8px;border-radius:8px;}
.bm-hero p.lead{font-size:18px;line-height:1.6;color:rgba(255,255,255,.88);max-width:520px;margin:0 0 26px;}
.bm-hero .bm-actions{display:flex;gap:14px;flex-wrap:wrap;}
.bm-trust{margin-top:20px;font-size:13.5px;color:rgba(255,255,255,.8);font-weight:600;}
.bm-trust b{color:#fff;}
@media(max-width:860px){.bm-hero .bm-wrap{grid-template-columns:1fr;}.bm-hero h1{font-size:38px;}.bm-outline-word{font-size:130px;}}

/* hero device visual */
.bm-herofig{position:relative;display:flex;justify-content:center;align-items:center;min-height:430px;z-index:2;}
.bm-herofig .blob{position:absolute;width:380px;height:380px;border-radius:50%;background:rgba(255,255,255,.14);}
.bm-phone{position:relative;width:215px;height:430px;background:#0c1733;border-radius:34px;padding:10px;box-shadow:0 30px 60px rgba(0,0,0,.35);}
.bm-phone .scr{width:100%;height:100%;background:linear-gradient(160deg,#16244f,#0a1228);border-radius:26px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;}
.bm-phone .scr .pill{align-self:flex-start;background:var(--bm-accent-lite);color:var(--bm-navy);font-weight:800;font-size:12px;border-radius:999px;padding:5px 12px;margin-bottom:auto;}
.bm-phone .scr h4{margin:0;font-size:20px;font-weight:800;}
.bm-phone .scr .mo{color:var(--bm-accent-lite);font-weight:800;font-size:26px;margin-top:4px;}
.bm-phone .scr small{color:#9fb0d6;}
.bm-hero-phone{position:relative;z-index:2;max-height:470px;width:auto;filter:drop-shadow(0 28px 50px rgba(0,0,0,.38));}
.bm-hero-pricechip{position:absolute;z-index:3;right:11%;bottom:9%;background:#fff;color:var(--bm-navy);font-weight:800;font-size:24px;line-height:1;padding:11px 16px;box-shadow:0 14px 34px rgba(0,0,0,.22);}
.bm-hero-pricechip span{font-size:12px;font-weight:600;color:#777;display:block;}
@media(max-width:860px){.bm-hero-phone{max-height:360px;}}

/* section heads */
.bm-section{padding:66px 0;}
.bm-eyebrow{display:flex;align-items:center;gap:8px;justify-content:center;color:var(--bm-blue-btn);font-weight:800;font-size:13px;letter-spacing:1px;text-transform:uppercase;}
.bm-h2{text-align:center;font-size:40px;font-weight:800;letter-spacing:-.5px;margin:10px 0 8px;color:var(--bm-navy);}
.bm-sub{text-align:center;color:#666;font-size:17px;max-width:620px;margin:0 auto 44px;}

/* steps */
.bm-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.bm-step{background:#fff;border:1.5px solid var(--bm-line);border-radius:0;padding:30px 26px;}
.bm-step .num{width:46px;height:46px;border-radius:0;background:var(--bm-accent);color:var(--bm-on-accent);font-weight:800;font-size:20px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.bm-step h3{font-size:20px;font-weight:800;margin:0 0 8px;color:var(--bm-navy);}
.bm-step p{color:#666;font-size:15px;line-height:1.6;margin:0;}
@media(max-width:860px){.bm-steps{grid-template-columns:1fr;}}

/* devices */
.bm-devsec{background:var(--bm-soft);}
.bm-devices{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.bm-dev{background:#fff;border:1.5px solid var(--bm-line);border-radius:0;padding:22px;text-align:center;transition:.15s;}
.bm-dev:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(81,155,203,.18);border-color:#b9d6e9;}
.bm-dev .img{height:185px;border-radius:0;background:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:#9fb0d6;font-weight:700;padding:8px;}
.bm-dev .img img{max-height:100%;max-width:100%;object-fit:contain;}
.bm-success{max-width:680px;margin:0 auto 20px;background:#e7f7ee;border:1.5px solid #79c79b;color:#176c3f;padding:16px 20px;font-weight:700;text-align:center;}
.bm-logo-img{height:46px;width:auto;display:block;}
.bm-foot-logo-img{height:44px;width:auto;display:block;margin-bottom:6px;}
.bm-dev h4{font-size:17px;font-weight:800;margin:0 0 4px;color:var(--bm-navy);}
.bm-dev .price{font-size:14px;color:#666;margin-bottom:14px;}
.bm-dev .price b{color:var(--bm-navy);font-size:20px;}
@media(max-width:980px){.bm-devices{grid-template-columns:repeat(2,1fr);}}

/* employers band */
.bm-employers{background:var(--bm-navy);color:#fff;border-radius:0;padding:54px;display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center;position:relative;overflow:hidden;}
.bm-employers h2{font-size:34px;font-weight:800;margin:0 0 12px;letter-spacing:-.5px;position:relative;z-index:2;}
.bm-employers h2 mark{background:#fff;color:var(--bm-navy);padding:0 8px;border-radius:8px;}
.bm-employers p{color:#c4cdec;font-size:16px;line-height:1.6;margin:0;position:relative;z-index:2;}
.bm-employers .cta{text-align:right;position:relative;z-index:2;}
@media(max-width:860px){.bm-employers{grid-template-columns:1fr;padding:34px;text-align:center;}.bm-employers .cta{text-align:center;}}

/* benefits */
.bm-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.bm-benefit{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1.5px solid var(--bm-line);border-radius:0;padding:20px;}
.bm-benefit .tick{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--bm-accent);color:var(--bm-on-accent);font-weight:800;display:flex;align-items:center;justify-content:center;}
.bm-benefit h4{margin:0 0 3px;font-size:15.5px;font-weight:800;color:var(--bm-navy);}
.bm-benefit p{margin:0;font-size:13.5px;color:#777;}
@media(max-width:980px){.bm-benefits{grid-template-columns:repeat(2,1fr);}}

/* ===== inner page components ===== */
.bm-pagehero{background:linear-gradient(135deg,var(--bm-blue-light),var(--bm-blue) 50%,var(--bm-blue-deep));color:#fff;padding:66px 0 60px;position:relative;overflow:hidden;}
.bm-pagehero .crumb{font-size:13px;color:rgba(255,255,255,.75);font-weight:600;margin-bottom:12px;position:relative;z-index:2;}
.bm-pagehero .crumb a:hover{color:#fff;}
.bm-pagehero h1{font-size:48px;font-weight:800;letter-spacing:-1px;margin:0 0 12px;position:relative;z-index:2;}
.bm-pagehero h1 mark{background:#fff;color:var(--bm-navy);padding:0 8px;border-radius:8px;}
.bm-pagehero p{font-size:18px;color:rgba(255,255,255,.88);max-width:640px;margin:0;line-height:1.6;position:relative;z-index:2;}
@media(max-width:860px){.bm-pagehero h1{font-size:34px;}}

.bm-twocol{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.bm-twocol h2{font-size:32px;font-weight:800;letter-spacing:-.5px;margin:0 0 16px;color:var(--bm-navy);}
.bm-twocol p{color:#555;font-size:16px;line-height:1.7;margin:0 0 14px;}
.bm-figbox{background:var(--bm-soft);border-radius:0;min-height:320px;display:flex;align-items:center;justify-content:center;color:#9fb0d6;font-weight:700;border:1.5px solid var(--bm-line);}
@media(max-width:860px){.bm-twocol{grid-template-columns:1fr;}}

.bm-faq{max-width:820px;margin:0 auto;}
.bm-faq details{background:#fff;border:1.5px solid var(--bm-line);border-radius:0;padding:18px 22px;margin-bottom:12px;}
.bm-faq summary{font-weight:700;font-size:16.5px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;color:var(--bm-navy);}
.bm-faq summary::-webkit-details-marker{display:none;}
.bm-faq summary::after{content:"+";color:var(--bm-blue-btn);font-size:24px;font-weight:800;}
.bm-faq details[open] summary::after{content:"\2013";}
.bm-faq p{color:#666;font-size:15px;line-height:1.65;margin:14px 0 0;}

.bm-formcard{max-width:680px;margin:0 auto;background:#fff;border:1.5px solid var(--bm-line);border-radius:0;padding:34px;box-shadow:0 20px 50px rgba(81,155,203,.14);}
.bm-formrow{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.bm-field{margin-bottom:16px;}
.bm-field label{display:block;font-size:13px;font-weight:700;color:#333;margin-bottom:6px;}
.bm-field input,.bm-field select,.bm-field textarea{width:100%;border:1.5px solid #d6deef;border-radius:0;padding:13px 15px;font-size:15px;font-family:inherit;outline:none;}
.bm-field input:focus,.bm-field select:focus,.bm-field textarea:focus{border-color:var(--bm-blue-btn);}
@media(max-width:600px){.bm-formrow{grid-template-columns:1fr;}}

.bm-ctaband{background:linear-gradient(135deg,var(--bm-blue-light),var(--bm-blue-deep));border-radius:0;padding:48px;text-align:center;color:#fff;position:relative;overflow:hidden;}
.bm-ctaband h2{font-size:34px;font-weight:800;margin:0 0 10px;position:relative;z-index:2;}
.bm-ctaband p{color:rgba(255,255,255,.9);font-size:17px;margin:0 0 24px;position:relative;z-index:2;}
.bm-ctaband .bm-actions{position:relative;z-index:2;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* footer */
.bm-footer{background:var(--bm-navy);color:#cbd4ee;padding:54px 0 26px;}
.bm-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;}
.bm-footer h5{color:#fff;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin:0 0 14px;}
.bm-footer a{display:block;color:#aab6dd;font-size:14px;padding:5px 0;}
.bm-footer a:hover{color:var(--bm-accent-lite);}
.bm-footer .foot-logo{font-weight:800;font-size:22px;color:#fff;}
.bm-footer .foot-logo span{color:var(--bm-accent-lite);}
.bm-footer .copy{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:20px;font-size:13px;color:#8a97c4;text-align:center;}
@media(max-width:860px){.bm-footer .cols{grid-template-columns:1fr 1fr;}}

/* cookie consent */
.bm-cookie[hidden],.bm-cookie-overlay[hidden],.bm-cookie-modal[hidden]{display:none!important;}
.bm-cookie{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--bm-navy);color:#fff;padding:18px 24px;display:flex;align-items:center;gap:20px;justify-content:space-between;flex-wrap:wrap;box-shadow:0 -6px 24px rgba(0,0,0,.18);}
.bm-cookie__msg{font-size:14px;max-width:760px;color:#dfe5f6;line-height:1.5;}
.bm-cookie__msg strong{color:#fff;}
.bm-cookie__actions{display:flex;gap:10px;flex-wrap:wrap;}
.bm-cookie .bm-btn{padding:11px 20px;font-size:14px;}
.bm-cookie .bm-btn--ghost{color:#fff;border-color:rgba(255,255,255,.6);}
.bm-cookie .bm-btn--ghost:hover{background:#fff;color:var(--bm-navy);}
.bm-cookie-overlay{position:fixed;inset:0;background:rgba(8,14,33,.55);z-index:210;}
.bm-cookie-modal{position:fixed;z-index:220;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,92vw);background:#fff;color:var(--bm-ink);padding:30px;box-shadow:0 30px 70px rgba(0,0,0,.3);max-height:90vh;overflow:auto;}
.bm-cookie-modal h3{margin:0 0 8px;font-size:22px;font-weight:800;color:var(--bm-navy);}
.bm-cookie-modal>p{color:#666;font-size:14px;margin:0 0 18px;}
.bm-ck{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1.5px solid var(--bm-line);padding:14px 16px;margin-bottom:10px;}
.bm-ck small{color:#888;}
.bm-ck input{width:20px;height:20px;accent-color:var(--bm-blue-btn);flex:0 0 auto;}
.bm-cookie-modal__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap;}
@media(max-width:600px){.bm-cookie{flex-direction:column;align-items:flex-start;}}

/* override conflicting theme/Elementor global button + input styles (affects <button>/<input>) */
.bm-page button.bm-btn{font-family:inherit;font-weight:700;}
.bm-page .bm-btn--yellow{background:var(--bm-accent)!important;color:var(--bm-on-accent)!important;border-color:transparent!important;}
.bm-page .bm-hero .bm-btn--yellow,.bm-page .bm-ctaband .bm-btn--yellow,
.bm-page .bm-employers .bm-btn--yellow,.bm-page .bm-pagehero .bm-btn--yellow{background:#fff!important;color:var(--bm-navy)!important;}
.bm-page .bm-btn--blue{background:var(--bm-blue-btn)!important;color:#fff!important;border-color:transparent!important;}
.bm-page .bm-btn--blue:hover{background:var(--bm-blue-d)!important;}
.bm-page .bm-btn--yellow:hover{background:var(--bm-accent-d)!important;}
.bm-page .bm-btn--ghost{background:transparent!important;color:var(--bm-blue-btn)!important;border-color:var(--bm-blue-btn)!important;}
.bm-page .bm-btn--ghost:hover{background:var(--bm-blue-btn)!important;color:#fff!important;}
.bm-page .bm-btn--ghostw{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.7)!important;}
.bm-page .bm-field input,.bm-page .bm-field select,.bm-page .bm-field textarea{background:#fff!important;color:var(--bm-ink)!important;border:1.5px solid #d6deef!important;border-radius:0!important;box-shadow:none!important;padding:13px 15px!important;height:auto!important;}
.bm-page .bm-field input:focus,.bm-page .bm-field select:focus,.bm-page .bm-field textarea:focus{border-color:var(--bm-blue-btn)!important;}
.bm-cookie .bm-btn--yellow{background:#fff!important;color:var(--bm-navy)!important;}
.bm-cookie .bm-btn--ghost{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.6)!important;}
