/* =====================================================================
   BHESpecs site header, footer and home page (BHESpecs Site plugin).
   Every rule is scoped under .bhe-s so the theme's own styles do not leak in.
   ===================================================================== */
.bhe-s, .bhe-s *{box-sizing:border-box;}
.bhe-s{
  --bg:#0b0d12; --card:#12151c; --card-2:#171b24; --ink:#e9eef4; --muted:#9fb1c4; --rule:#223044;
  --accent:#ff9f1a; --accent-soft:rgba(255,159,26,.14); --accent-line:rgba(255,159,26,.55);
  --link:#ffd28a; --white:#fff; --on-accent:#1a1205;
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:15px; line-height:1.5; color:var(--ink); text-align:left;
}
.bhe-s a{color:var(--link);text-decoration:none;}
.bhe-s a:hover{color:#ffe1b3;}
.bhe-s :focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.bhe-s h1,.bhe-s h2,.bhe-s h3,.bhe-s h4,.bhe-s p,.bhe-s ul,.bhe-s li{margin:0;padding:0;}
.bhe-s h1,.bhe-s h2,.bhe-s h3,.bhe-s h4,.bhe-s input,.bhe-s button,.bhe-s summary{font-family:inherit;text-transform:none;}
.bhe-s ul{list-style:none;}
.bhe-s img{max-width:100%;height:auto;}
.bhe-s-wrap{max-width:1240px;margin:0 auto;padding-left:16px;padding-right:16px;}
body.bhe-site-chrome{background:#0b0d12;}

/* ---- header ---- */
.bhe-s-top{background:var(--card);position:relative;z-index:50;}
.bhe-s-util{border-bottom:1px solid var(--rule);font-size:13px;color:var(--muted);background:var(--bg);}
.bhe-s-util .bhe-s-wrap{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:4px 20px;padding-top:6px;padding-bottom:6px;}
.bhe-s-util b{color:var(--ink);font-weight:600;}
.bhe-s-hdr{position:sticky;top:0;z-index:50;background:rgba(18,21,28,.97);border-bottom:1px solid var(--rule);}
.admin-bar .bhe-s-hdr{top:32px;}
.bhe-s-hdr > .bhe-s-wrap{display:flex;align-items:center;gap:16px 28px;padding-top:12px;padding-bottom:12px;position:relative;}
.bhe-s-mark{display:flex;align-items:center;gap:14px;flex:none;}
.bhe-s-mark img{height:58px;width:auto;display:block;}
.bhe-s-mark small{font-size:12.5px;color:var(--muted);font-style:italic;line-height:1.25;max-width:17ch;}
.bhe-s-nav{display:flex;gap:4px;margin-left:auto;align-items:center;}
.bhe-s-nav > a,.bhe-s-nav summary{display:block;padding:8px 12px;border-radius:8px;color:var(--ink);font-weight:600;font-size:15px;cursor:pointer;list-style:none;}
.bhe-s-nav summary::-webkit-details-marker{display:none;}
.bhe-s-nav > a:hover,.bhe-s-nav summary:hover{background:var(--card-2);color:var(--white);}
.bhe-s-nav details{position:relative;}
.bhe-s-nav summary::after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:currentColor;transform:translateY(2px);}
.bhe-s-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:8px;display:flex;flex-direction:column;box-shadow:0 12px 30px rgba(0,0,0,.45);z-index:60;}
.bhe-s-menu a{padding:8px 10px;border-radius:8px;color:var(--ink);display:flex;justify-content:space-between;gap:12px;font-size:14px;}
.bhe-s-menu a span{color:var(--muted);font-variant-numeric:tabular-nums;}
.bhe-s-menu a:hover{background:var(--card-2);color:var(--white);}
.bhe-s-hsearch{flex:0 1 260px;min-width:0;position:relative;margin:0;}
.bhe-s input[type=search]{width:100%;border-radius:10px;border:1px solid var(--rule);background:var(--bg);color:var(--ink);font:inherit;margin:0;box-shadow:none;}
.bhe-s-hsearch input[type=search]{height:42px;padding:0 12px;font-size:14px;}
.bhe-s input[type=search]::placeholder{color:var(--muted);opacity:.85;}
.bhe-s-burger{display:none;margin-left:auto;height:42px;padding:0 14px;border-radius:10px;border:1px solid var(--rule);background:var(--card-2);color:var(--ink);font:inherit;font-weight:700;cursor:pointer;}

/* suggestions (header and home search) */
.bhe-s-sugg{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:6px;z-index:70;box-shadow:0 14px 34px rgba(0,0,0,.5);min-width:280px;}
.bhe-s-sugg a{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:8px;color:var(--ink);font-size:14.5px;}
.bhe-s-sugg a:hover,.bhe-s-sugg a[aria-selected="true"]{background:var(--card-2);color:var(--white);}
.bhe-s-sugg a span{color:var(--muted);font-size:13px;text-align:right;}
.bhe-s-sugg .bhe-s-all{border-top:1px solid var(--rule);margin-top:4px;color:var(--link);font-weight:700;}

/* ---- home ---- */
.bhe-s-home{background:var(--bg);}
.bhe-s-hero{padding-top:56px;padding-bottom:40px;background:radial-gradient(1100px 380px at 20% -10%,rgba(255,159,26,.13),transparent 70%);}
.bhe-s-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;align-items:center;}
.bhe-s-hero-text{min-width:0;}
.bhe-s-hero-img{margin:0;padding:0;min-width:0;}
.bhe-s-hero-img img{display:block;width:100%;height:auto;max-width:640px;margin-left:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45));}
.bhe-s-hero h1{font-size:46px;line-height:1.06;color:var(--white);font-weight:800;max-width:18ch;letter-spacing:-.01em;text-wrap:balance;}
.bhe-s-hero h1 em{font-style:normal;color:var(--accent);}
.bhe-s-lead{margin-top:14px!important;color:var(--muted);font-size:17px;max-width:58ch;}
.bhe-s-big{position:relative;margin-top:26px;max-width:760px;}
.bhe-s-bigform{display:flex;gap:10px;position:relative;margin:0;}
.bhe-s-bigform input[type=search]{flex:1;min-width:0;height:58px;border-color:var(--accent-line);background:var(--card);color:var(--white);padding:0 18px;font-size:18px;}
.bhe-s-bigform button{height:58px;padding:0 24px;border-radius:12px;border:0;background:var(--accent);color:var(--on-accent);font:inherit;font-weight:800;font-size:16px;cursor:pointer;}
.bhe-s-bigform .bhe-s-sugg{right:auto;width:calc(100% - 0px);}
.bhe-s-tries{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:var(--muted);}
.bhe-s-tries a{border:1px solid var(--rule);border-radius:999px;padding:5px 12px;color:var(--ink);background:var(--card);}
.bhe-s-tries a:hover{border-color:var(--accent-line);}
.bhe-s-stats{display:flex;flex-wrap:wrap;gap:12px 36px;margin-top:34px;padding-top:22px;border-top:1px solid var(--rule);}
.bhe-s-stats div{display:flex;flex-direction:column;}
.bhe-s-stats b{font-size:26px;color:var(--white);font-variant-numeric:tabular-nums;line-height:1.1;}
.bhe-s-stats span{font-size:13px;color:var(--muted);}
.bhe-s-block{padding-top:40px;padding-bottom:40px;}
.bhe-s-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:18px;}
.bhe-s-head h2{font-size:24px;color:var(--white);font-weight:800;}
.bhe-s-head a{font-weight:700;font-size:14px;}
.bhe-s-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
.bhe-s-type{background:var(--card);border:1px solid var(--rule);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;min-width:0;}
.bhe-s-type:hover{border-color:var(--accent-line);}
.bhe-s-type-main{display:flex;flex-direction:column;gap:4px;padding:18px 18px 12px;color:var(--ink)!important;}
.bhe-s-type-count{font-size:13px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;}
.bhe-s-type-main h3{font-size:20px;color:var(--white);font-weight:800;}
.bhe-s-type-main p{font-size:13.5px;color:var(--muted);}
.bhe-s-type-subs{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 18px;margin-top:auto;}
.bhe-s-type-subs a{font-size:12.5px;border:1px solid var(--rule);border-radius:999px;padding:3px 9px;color:var(--ink);background:var(--bg);}
.bhe-s-type-subs a span{color:var(--muted);}
.bhe-s-type-subs a:hover{border-color:var(--accent-line);color:var(--white);}
.bhe-s-other{margin-top:12px!important;font-size:13.5px;color:var(--muted);}
.bhe-s-brands{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;}
.bhe-s-brand{border:1px solid var(--rule);background:var(--card);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:2px;color:var(--ink)!important;}
.bhe-s-brand:hover{border-color:var(--accent-line);}
.bhe-s-brand b{font-size:16px;color:var(--white);}
.bhe-s-brand span{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums;}
.bhe-s-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.bhe-s-trust div{border-top:2px solid var(--accent-line);padding-top:14px;}
.bhe-s-trust h3{margin-bottom:6px!important;font-size:16px;color:var(--white);font-weight:700;}
.bhe-s-trust p{color:var(--muted);font-size:14px;}

/* ---- footer ---- */
.bhe-s-ftr{border-top:1px solid var(--rule);background:var(--card);}
.bhe-s-cols{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:28px;padding-top:36px;padding-bottom:36px;}
.bhe-s-ftr h4{margin-bottom:10px!important;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;}
.bhe-s-ftr ul{display:flex;flex-direction:column;gap:6px;font-size:14px;}
.bhe-s-ftr ul a{color:var(--ink);}
.bhe-s-ftr ul a:hover{color:var(--link);}
.bhe-s-about img{height:52px;width:auto;display:block;margin-bottom:12px;}
.bhe-s-about p{margin-bottom:10px!important;color:var(--muted);font-size:14px;max-width:34ch;}
.bhe-s-about .bhe-s-contact{color:var(--ink);margin-bottom:6px!important;}
.bhe-s-ftr a.bhe-s-footcta{display:inline-block;padding:8px 14px;border:1px solid var(--accent);border-radius:10px;color:var(--ink);font-weight:700;}
.bhe-s-ftr a.bhe-s-footcta:hover{background:var(--accent);color:var(--on-accent,#1a1205);}
.bhe-s-contact span{display:block;color:var(--muted);font-size:12.5px;}
.bhe-s-legal{border-top:1px solid var(--rule);font-size:12.5px;color:var(--muted);}
.bhe-s-legal .bhe-s-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:14px;padding-bottom:14px;}

@media (max-width:980px){
  .bhe-s-hero-grid{grid-template-columns:minmax(0,1fr);}
  .bhe-s-hero-img img{max-width:520px;margin:8px auto 0;}
  .bhe-s-nav,.bhe-s-hsearch{display:none;}
  .bhe-s-burger{display:inline-block;}
  .bhe-s-hdr.is-open .bhe-s-nav{display:flex;flex-direction:column;align-items:stretch;position:absolute;left:0;right:0;top:100%;background:var(--card);border-bottom:1px solid var(--rule);padding:8px 16px 14px;margin:0;}
  .bhe-s-hdr.is-open .bhe-s-menu{position:static;box-shadow:none;border:0;padding:0 0 0 10px;background:transparent;}
  .bhe-s-cols{grid-template-columns:repeat(2,minmax(0,1fr));}
  .bhe-s-trust{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:782px){ .admin-bar .bhe-s-hdr{top:46px;} }
@media (max-width:600px){
  .bhe-s-mark img{height:46px;}
  .bhe-s-mark small{display:none;}
  .bhe-s-util .bhe-s-wrap{justify-content:center;}
  .bhe-s-hero{padding-top:36px;padding-bottom:28px;}
  .bhe-s-hero h1{font-size:32px;}
  .bhe-s-bigform{flex-direction:column;}
  .bhe-s-bigform input[type=search]{flex:none;height:54px;font-size:16px;}
  .bhe-s-bigform button{height:50px;}
  .bhe-s-cols{grid-template-columns:minmax(0,1fr);}
}

/* ---- the theme styles bare h1/h2/details with !important; put ours back ---- */
.bhe-s h1,.bhe-s h2,.bhe-s h3,.bhe-s h4{letter-spacing:normal!important;border:0!important;padding:0!important;text-transform:none!important;
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;}
.bhe-s h1{color:var(--white)!important;margin:0!important;}
.bhe-s h1 em{color:var(--accent)!important;}
.bhe-s h2{color:var(--white)!important;margin:0!important;font-size:24px!important;}
.bhe-s h3{color:var(--white)!important;}
.bhe-s-ftr h4{letter-spacing:.06em!important;color:var(--muted)!important;}
.bhe-s{font-weight:400;}
.bhe-s p,.bhe-s li,.bhe-s span,.bhe-s a{font-weight:inherit;}
.bhe-s b,.bhe-s strong{font-weight:700;}
.bhe-s-stats b{font-weight:800;}
.bhe-s-nav details{border:0!important;background:none!important;padding:0!important;margin:0!important;border-radius:0!important;}
.bhe-s-nav summary{border:0!important;background:none;margin:0!important;}
.bhe-s-nav summary:hover{background:var(--card-2);}

/* =====================================================================
   Content pages (About, Contact): page content wrapped in .bhe-s-page
   ===================================================================== */
.bhe-s-page{background:var(--bg);}
.bhe-s-pagehead{padding-top:48px;padding-bottom:28px;background:radial-gradient(1000px 320px at 15% -20%,rgba(255,159,26,.12),transparent 70%);border-bottom:1px solid var(--rule);}
.bhe-s-kicker{color:var(--accent);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12.5px;margin-bottom:10px!important;}
.bhe-s-page h1{font-size:40px!important;line-height:1.1;font-weight:800;max-width:22ch;text-wrap:balance;}
.bhe-s-page .bhe-s-lead{max-width:68ch;}
.bhe-s-page h2{margin-bottom:14px!important;}
.bhe-s-page p{color:var(--ink);margin-bottom:12px!important;max-width:70ch;}
.bhe-s-page strong{color:var(--white);}
.bhe-s-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.bhe-s-btn{display:inline-flex;align-items:center;padding:12px 18px;border-radius:10px;font-weight:700;border:1px solid var(--rule);background:var(--card);color:var(--ink)!important;}
.bhe-s-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)!important;}
.bhe-s-btn:hover{filter:brightness(1.08);}
.bhe-s-two{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px;align-items:start;}
.bhe-s-figures{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:14px;overflow:hidden;}
.bhe-s-figures div{background:var(--card);padding:16px 18px;display:flex;flex-direction:column;}
.bhe-s-figures b{font-size:28px;font-weight:800;color:var(--white);font-variant-numeric:tabular-nums;line-height:1.1;}
.bhe-s-figures span{font-size:13px;color:var(--muted);}
.bhe-s-depts{display:flex;flex-direction:column;gap:14px;min-width:0;}
.bhe-s-depts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.bhe-s-dept{background:var(--card);border:1px solid var(--rule);border-top:3px solid var(--accent-line);border-radius:12px;padding:18px;}
.bhe-s-dept h3{font-size:17px;margin-bottom:6px!important;}
.bhe-s-dept p{font-size:14px;color:var(--muted)!important;margin-bottom:12px!important;}
.bhe-s-dept ul{display:flex;flex-direction:column;gap:6px;font-size:14px;}
.bhe-s-dept li{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;color:var(--ink);overflow-wrap:anywhere;}
.bhe-s-dept li span{color:var(--muted);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;padding-top:2px;}
.bhe-s-contact-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start;}
.bhe-s-formcard{background:var(--card);border:1px solid var(--rule);border-radius:14px;padding:24px;min-width:0;}
.bhe-s-note{font-size:13.5px;color:var(--muted)!important;}
.bhe-s-map{border:1px solid var(--rule);border-radius:14px;overflow:hidden;aspect-ratio:21 / 7;max-width:100%;background:var(--card);}
.bhe-s-map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.3) brightness(.9);}
.bhe-s-mapblock{padding-top:0!important;}

/* Contact Form 7 */
.bhe-s .wpcf7{margin:0;}
.bhe-s .bhe-cf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin-top:6px;}
.bhe-s .bhe-cf-full{grid-column:1 / -1;}
.bhe-s .bhe-cf label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:600;color:var(--label,#c9d6e6);margin:0;}
.bhe-s .wpcf7-form-control-wrap{display:block;}
.bhe-s .wpcf7 input[type=text],.bhe-s .wpcf7 input[type=email],.bhe-s .wpcf7 input[type=tel],.bhe-s .wpcf7 select,.bhe-s .wpcf7 textarea{
  width:100%;box-sizing:border-box;background:var(--bg)!important;color:var(--white)!important;border:1px solid var(--rule)!important;border-radius:10px!important;
  padding:11px 12px!important;font:inherit;font-size:15px;font-weight:400;height:auto;margin:0;box-shadow:none!important;}
.bhe-s .wpcf7 textarea{min-height:140px;resize:vertical;}
.bhe-s .wpcf7 select{appearance:auto;}
.bhe-s .wpcf7 input:focus,.bhe-s .wpcf7 select:focus,.bhe-s .wpcf7 textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)!important;}
.bhe-s .wpcf7 ::placeholder{color:var(--muted);opacity:.8;}
.bhe-s .wpcf7 input[type=submit]{background:var(--accent)!important;color:var(--on-accent)!important;border:0!important;border-radius:10px!important;padding:13px 22px!important;font:inherit;font-weight:800;font-size:15px;cursor:pointer;width:auto;}
.bhe-s .wpcf7 input[type=submit]:hover{filter:brightness(1.08);}
.bhe-s .bhe-cf-send{display:flex;align-items:center;gap:12px;}
.bhe-s .wpcf7-spinner{margin:0;}
.bhe-s .wpcf7-not-valid-tip{color:#ff8a80;font-size:13px;font-weight:600;margin-top:4px;}
.bhe-s .wpcf7 form .wpcf7-response-output{margin:16px 0 0!important;padding:12px 14px!important;border-radius:10px;border:1px solid var(--rule)!important;color:var(--ink);font-size:14px;}
.bhe-s .wpcf7 form.sent .wpcf7-response-output{border-color:#4caf50!important;background:rgba(76,175,80,.1);}
.bhe-s .wpcf7 form.invalid .wpcf7-response-output,.bhe-s .wpcf7 form.failed .wpcf7-response-output{border-color:#ff8a80!important;background:rgba(255,138,128,.08);}

@media (max-width:900px){
  .bhe-s-two,.bhe-s-contact-grid{grid-template-columns:minmax(0,1fr);}
  .bhe-s-map{aspect-ratio:4 / 3;}
}
@media (max-width:600px){
  .bhe-s-page h1{font-size:30px!important;}
  .bhe-s .bhe-cf{grid-template-columns:minmax(0,1fr);}
  .bhe-s-formcard{padding:18px;}
}
.bhe-s-ftr h4{text-transform:uppercase!important;}
.bhe-s-page .bhe-s-kicker{color:var(--accent)!important;}
.bhe-s-page .bhe-s-lead{color:var(--muted)!important;}
.bhe-s .wpcf7 input[type=submit]{height:auto!important;line-height:1.2;}
.bhe-s .wpcf7 form.init .wpcf7-response-output,.bhe-s .wpcf7 form.resetting .wpcf7-response-output,.bhe-s .wpcf7 form.submitting .wpcf7-response-output{display:none;}

/* equipment-type card pictures */
.bhe-s-type-icon{display:block;width:96px;height:96px;object-fit:contain;margin:0 0 10px -6px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.4));transition:transform .2s ease;}
.bhe-s-type:hover .bhe-s-type-icon{transform:translateY(-2px) scale(1.04);}
@media (prefers-reduced-motion:reduce){.bhe-s-type-icon{transition:none}.bhe-s-type:hover .bhe-s-type-icon{transform:none}}
