/*
Theme Name:   Boston Marine
Theme URI:    https://bostonmarine.com
Description:  Child theme for Boston Marine LLC — a dark, editorial Yamaha-dealer design system layered on the Kadence parent theme. Design tokens (Midnight Marine Blue #086DA5, Bronze #BF8C57), Space Grotesk / Inter / IBM Plex Mono type, and all component styles are pre-wired. Built by Flowlab Media Services (JAMCOM Holdings).
Author:       Flowlab Media Services
Author URI:   https://flowlabmedia.com
Template:     kadence
Version:      1.4.5
Requires at least: 6.4
Requires PHP: 7.4
License:      GPL-2.0-or-later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  boston-marine
Tags:         marine, dealership, dark, business
*/

/* -------------------------------------------------------------------------
   The complete Boston Marine design system follows.
   It is enqueued automatically by functions.php (after the Kadence parent).
   Style pages by applying the component class names (.overline, .btn, .engine,
   .card, .stat, .tile, .quote, .acc, .post-card, …) in each block's
   Advanced -> CSS Class field.
   v1.1.0 — matched to the base44 original (steel #2C82AC borders, Inter 14px
   buttons/radius 2px, 128px section rhythm, 96px hero, tabular figures) and
   hardened for accessibility (focus-visible rings, reduced-motion, 48px targets).
   ------------------------------------------------------------------------- */

/* =========================================================================
   BOSTON MARINE — Global Design System
   Rebuilt for WordPress (Gutenberg / Kadence). Mirrors the base44 prototype.
   Fonts: Space Grotesk (display), Inter (body), IBM Plex Mono (technical labels)
   ========================================================================= */

/* ----- Design Tokens ----- */
:root{
  /* Core palette */
  --bm-navy:        #086DA5;   /* Midnight Marine Blue — brand + page bg */
  --bm-navy-2:      #075E8E;   /* raised panel */
  --bm-navy-3:      #06557F;   /* card / elevated panel */
  --bm-red:         #BF8C57;   /* Bronze — primary accent (formerly Yamaha Red) */
  --bm-red-dark:    #A6743F;
  --bm-on-accent:   #041019;   /* dark ink for text on bronze fills (buttons/logo/chips) */
  --bm-text:        #FFFFFF;   /* primary text (light slate) */
  --bm-text-soft:   #E8F1F8;
  --bm-text-mute:   #E6F0F8;   /* muted gray labels */
  --bm-white:       #FFFFFF;
  --bm-green:       #6EE6A0;   /* live/status */
  /* Borders match the original: solid steel hairline #2C82AC (slate-800) */
  --bm-line:        #2C82AC;
  --bm-line-soft:   #13618C;
  --bm-ink:         #FFFFFF;   /* former-red labels/links on the blue ground */
  --bm-accent-warm: #FFE4B0;   /* warm accent rules, bullets, marks, body links */

  /* Typography */
  --font-display: "Space Grotesk", system-ui, sans-serif;
  --font-body:    "Inter", system-ui, -apple-system, sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, monospace;

  /* Layout */
  --wrap: 1240px;
  --gutter: clamp(20px, 5vw, 48px);
  --radius: 2px;      /* buttons/inputs — original uses 2px */
  --radius-lg: 2px;   /* cards/panels — original is near-square */

  --header-h: 77px;
}

/* ----- Reset ----- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--bm-navy);
  color:var(--bm-text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* Respect reduced-motion (ui-ux-pro-max: reduced-motion) */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
  .reveal{opacity:1!important;transform:none!important;}
}
/* Visible keyboard focus on all interactive elements (ui-ux-pro-max: focus-states) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.chip:focus-visible,.acc__q:focus-visible{
  outline:2px solid var(--bm-ink);outline-offset:3px;border-radius:2px;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;transition:color .2s ease;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.05;margin:0;color:var(--bm-white);letter-spacing:-0.01em;}
p{margin:0 0 1rem;}
ul{margin:0;padding:0;list-style:none;}

/* ----- Layout helpers ----- */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);}
.section{padding:clamp(72px,10vw,128px) 0;position:relative;}
.section--alt{background:var(--bm-navy-2);}
.grid{display:grid;gap:28px;}
@media(min-width:700px){.g-2{grid-template-columns:repeat(2,1fr);} }
@media(min-width:900px){.g-3{grid-template-columns:repeat(3,1fr);} .g-4{grid-template-columns:repeat(4,1fr);} }

/* ----- Overline / eyebrow label (mono, tracked) ----- */
.overline{
  display:inline-flex;align-items:center;gap:14px;
  font-family:var(--font-mono);
  font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:var(--bm-ink);margin-bottom:22px;
}
.overline::before{content:"";width:36px;height:1px;background:var(--bm-accent-warm);}
.overline--mute{color:var(--bm-text-mute);}
.overline--mute::before{background:var(--bm-text-mute);}

/* ----- Section heading block ----- */
.sec-head{max-width:760px;margin-bottom:56px;}
.sec-head h2{font-size:clamp(30px,4.5vw,48px);}
.sec-head p{color:var(--bm-text-soft);font-size:18px;margin-top:20px;}
.sec-head--split{max-width:none;display:grid;gap:24px;align-items:end;}
@media(min-width:900px){.sec-head--split{grid-template-columns:1.3fr 1fr;} }

/* ----- Buttons ----- (original: Inter 14px, weight 600, radius 2px, ~50px tall) */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--font-body);font-weight:600;font-size:14px;letter-spacing:0;
  min-height:48px;padding:14px 24px;border-radius:var(--radius);border:1px solid transparent;
  transition:transform .15s ease,background .2s ease,border-color .2s ease,color .2s ease;
  white-space:nowrap;touch-action:manipulation;
}
.btn svg{width:16px;height:16px;}
.btn--primary{background:var(--bm-red);color:var(--bm-on-accent);}
.btn--primary:hover{background:var(--bm-red-dark);transform:translateY(-2px);}
.btn--ghost{background:rgba(255,255,255,0.02);color:var(--bm-white);border-color:var(--bm-line);}
.btn--ghost:hover{border-color:#57A6C9;background:rgba(255,255,255,0.05);}
.btn--dark{background:var(--bm-navy-3);color:var(--bm-white);border-color:var(--bm-line);}
.btn--dark:hover{border-color:var(--bm-ink);color:#fff;}
.btn--block{width:100%;}
.btn:active{transform:translateY(0) scale(.985);}   /* press feedback (ui-ux-pro-max: scale-feedback) */
.btn .arrow{transition:transform .2s ease;}
.btn:hover .arrow{transform:translateX(4px);}

/* Section CTA (the "learn more" link to interior pages) */
.sec-cta{
  display:inline-flex;align-items:center;gap:12px;margin-top:36px;
  font-family:var(--font-mono);font-size:13px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--bm-white);border-bottom:1px solid var(--bm-accent-warm);padding-bottom:6px;
}
.sec-cta svg{width:16px;height:16px;color:var(--bm-ink);transition:transform .2s ease;}
.sec-cta:hover svg{transform:translateX(5px);}

/* =========================================================================
   HEADER / NAV
   ========================================================================= */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:var(--header-h);
  display:flex;align-items:center;
  background:rgba(8,109,165,0.65);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--bm-line);
  transition:background .3s ease,border-color .3s ease;
}
.site-header.scrolled{background:rgba(8,109,165,0.94);border-color:var(--bm-line);}
.site-header .wrap{display:flex;align-items:center;gap:24px;width:100%;}
.brand{display:flex;align-items:center;gap:14px;margin-right:auto;}
.brand__mark{
  width:44px;height:44px;border-radius:var(--radius);background:var(--bm-red);
  display:grid;place-items:center;font-family:var(--font-display);font-weight:700;
  color:var(--bm-on-accent);font-size:18px;letter-spacing:-.02em;flex-shrink:0;position:relative;
}
.brand__mark::after{content:"";position:absolute;bottom:7px;right:7px;width:6px;height:6px;border-radius:50%;background:var(--bm-on-accent);}
.brand__name{font-family:var(--font-display);font-weight:700;font-size:17px;color:#fff;letter-spacing:.02em;line-height:1.1;}
.brand__tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.24em;color:var(--bm-text-mute);text-transform:uppercase;margin-top:3px;}
.nav{display:none;align-items:center;gap:26px;}
.nav a{font-size:14px;font-weight:500;color:var(--bm-text);opacity:.82;padding:6px 2px;}
.nav a:hover,.nav a.active{opacity:1;color:#fff;}
.nav a.active{color:var(--bm-ink);}
.header-actions{display:none;align-items:center;gap:12px;}
.header-phone{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:14px;color:#fff;padding:11px 18px;border:1px solid var(--bm-line);border-radius:var(--radius);}
.header-phone svg{width:15px;height:15px;color:var(--bm-ink);}
.header-phone:hover{border-color:rgba(255,255,255,.3);}
@media(min-width:1120px){.nav{display:flex;} .header-actions{display:flex;} }

/* Mobile nav toggle */
.nav-toggle{display:inline-flex;flex-direction:column;gap:5px;background:none;border:none;padding:10px;margin-left:auto;}
.nav-toggle span{width:24px;height:2px;background:#fff;transition:.25s;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(min-width:1120px){.nav-toggle{display:none;} }
.mobile-nav{
  position:fixed;inset:var(--header-h) 0 0;z-index:99;
  background:var(--bm-navy);padding:32px var(--gutter);
  transform:translateX(100%);transition:transform .3s ease;overflow-y:auto;
}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav a{display:block;font-family:var(--font-display);font-size:22px;font-weight:600;color:#fff;padding:16px 0;border-bottom:1px solid var(--bm-line-soft);}
.mobile-nav a.active{color:var(--bm-ink);}
.mobile-nav .btn{margin-top:24px;}

/* =========================================================================
   HERO — tri-mode background (image / youtube / streaming video)
   ========================================================================= */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding-top:var(--header-h);}
.hero__bg{position:absolute;inset:0;z-index:0;background:#053E5C;}
.hero__bg img,.hero__bg video,.hero__bg iframe{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  min-width:100%;min-height:100%;width:auto;height:auto;object-fit:cover;border:0;
}
/* YouTube needs 16:9 sizing to cover */
.hero__bg--yt iframe{width:100vw;height:56.25vw;min-height:100vh;min-width:177.77vh;pointer-events:none;}
.hero__scrim{position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg, rgba(5,44,66,.94) 0%, rgba(5,44,66,.72) 42%, rgba(5,44,66,.35) 100%),
    linear-gradient(0deg, rgba(5,44,66,.9) 0%, rgba(5,44,66,0) 45%);
}
.hero .wrap{position:relative;z-index:2;width:100%;}
.hero__eyebrow{color:var(--bm-ink);}
.hero h1{font-size:clamp(48px,8.6vw,100px);line-height:1.0;margin:8px 0 26px;letter-spacing:-.025em;}
.hero__sub{font-size:clamp(17px,2.2vw,20px);color:var(--bm-text-soft);max-width:560px;margin-bottom:40px;}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;}
.hero__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center;margin-top:64px;padding-top:26px;border-top:1px solid var(--bm-line-soft);}
.hero__slides{display:flex;align-items:center;gap:16px;font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;color:var(--bm-text-mute);}
.hero__slides b{color:var(--bm-white);}
.hero__slides .bar{width:34px;height:2px;background:rgba(255,255,255,.18);}
.hero__slides .bar.on{background:var(--bm-accent-warm);}
.hero__tags{display:flex;gap:26px;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--bm-text-mute);text-transform:uppercase;}
.hero__tags span{display:inline-flex;align-items:center;gap:8px;}
.hero__tags .dot{width:6px;height:6px;border-radius:50%;background:var(--bm-accent-warm);}

/* Hero mode switcher (demo control — remove in production) */
.hero-switch{position:absolute;z-index:5;right:20px;bottom:20px;display:flex;gap:6px;
  background:rgba(5,44,66,.8);border:1px solid var(--bm-line);border-radius:var(--radius);padding:6px;backdrop-filter:blur(8px);}
.hero-switch button{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--bm-text-mute);background:none;border:none;padding:7px 11px;border-radius:3px;}
.hero-switch button.on{background:var(--bm-red);color:var(--bm-on-accent);}

/* =========================================================================
   IN-THE-SHOP STATUS TICKER
   ========================================================================= */
.shopbar{background:var(--bm-navy-3);border-top:1px solid var(--bm-line);border-bottom:1px solid var(--bm-line);}
.shopbar .wrap{display:flex;align-items:center;gap:18px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap;}
.shopbar__label{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--bm-text-mute);}
.shopbar__main{font-family:var(--font-display);font-weight:600;color:#fff;}
.shopbar__sub{color:var(--bm-text-soft);font-size:14px;}
.live{display:inline-flex;align-items:center;gap:8px;margin-left:auto;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;color:var(--bm-green);}
.live .dot{width:8px;height:8px;border-radius:50%;background:var(--bm-green);box-shadow:0 0 0 0 rgba(74,222,128,.6);animation:pulse 2s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.5);}70%{box-shadow:0 0 0 8px rgba(74,222,128,0);}100%{box-shadow:0 0 0 0 rgba(74,222,128,0);}}

/* =========================================================================
   STAT ROW
   ========================================================================= */
.stats{display:grid;gap:1px;background:var(--bm-line);border:1px solid var(--bm-line);border-radius:var(--radius-lg);overflow:hidden;}
@media(min-width:640px){.stats{grid-template-columns:repeat(2,1fr);} }
@media(min-width:960px){.stats{grid-template-columns:repeat(4,1fr);} }
.stat{background:var(--bm-navy-2);padding:34px 28px;}
.stat b{display:block;font-family:var(--font-display);font-size:clamp(34px,4vw,46px);color:#fff;line-height:1;font-variant-numeric:tabular-nums;}
.stat b .u{color:var(--bm-ink);}
.stat span{display:block;margin-top:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bm-text-mute);}

/* =========================================================================
   CARDS
   ========================================================================= */
.card{background:var(--bm-navy-3);border:1px solid var(--bm-line);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .25s ease,transform .25s ease;}
.card:hover{border-color:rgba(191,140,87,.5);transform:translateY(-4px);}

/* Engine cards */
.engine{display:flex;flex-direction:column;}
.engine__media{position:relative;aspect-ratio:4/3;background:linear-gradient(150deg,#f4f5f7,#dfe3e8);display:grid;place-items:center;}
.engine__media img{width:78%;height:78%;object-fit:contain;}
.engine__badge{position:absolute;top:14px;left:14px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--bm-ink);background:rgba(5,44,66,.82);padding:6px 10px;border-radius:3px;}
.engine__body{padding:24px;display:flex;flex-direction:column;gap:6px;flex:1;}
.engine__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.engine__name{font-family:var(--font-display);font-size:21px;font-weight:700;color:#fff;}
.engine__price{font-family:var(--font-display);font-size:21px;font-weight:700;color:var(--bm-ink);font-variant-numeric:tabular-nums;}
.engine__spec{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--bm-text-mute);text-transform:uppercase;}
.engine__msrp{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--bm-text-mute);}
.engine__desc{color:var(--bm-text-soft);font-size:14.5px;margin:10px 0 18px;}
.engine__actions{margin-top:auto;display:flex;gap:10px;}

/* Icon-list / service tiles */
.tile{background:var(--bm-navy-3);border:1px solid var(--bm-line);border-radius:var(--radius-lg);padding:26px;transition:border-color .25s ease,transform .25s ease;}
.tile:hover{border-color:rgba(191,140,87,.4);transform:translateY(-3px);}
.tile__ico{width:46px;height:46px;border-radius:var(--radius);background:rgba(191,140,87,.1);color:var(--bm-ink);display:grid;place-items:center;margin-bottom:18px;}
.tile__ico svg{width:22px;height:22px;}
.tile h3{font-size:19px;margin-bottom:8px;}
.tile p{color:var(--bm-text-soft);font-size:14.5px;margin:0;}
.tile__meta{display:flex;gap:16px;margin-top:16px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;color:var(--bm-text-mute);text-transform:uppercase;}
.tile__meta b{color:var(--bm-white);}

/* Knowledge hub / topic cards */
.topic{background:var(--bm-navy-3);border:1px solid var(--bm-line);border-radius:var(--radius-lg);padding:28px;}
.topic__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.topic h3{font-size:20px;}
.topic__count{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;color:var(--bm-ink);text-transform:uppercase;}
.topic li{padding:11px 0;border-top:1px solid var(--bm-line-soft);color:var(--bm-text-soft);font-size:14.5px;display:flex;align-items:center;gap:10px;}
.topic li::before{content:"";width:5px;height:5px;background:var(--bm-accent-warm);border-radius:50%;flex-shrink:0;}

/* =========================================================================
   TABS (compare / service selector) + accordion (FAQ)
   ========================================================================= */
.chip{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  padding:10px 16px;border-radius:100px;border:1px solid var(--bm-line);color:var(--bm-text-soft);background:transparent;transition:.2s;}
.chip:hover{border-color:rgba(255,255,255,.3);color:#fff;}
.chip.on{background:var(--bm-red);border-color:var(--bm-red);color:var(--bm-on-accent);}
.chips{display:flex;flex-wrap:wrap;gap:10px;}

.accordion{border:1px solid var(--bm-line);border-radius:var(--radius-lg);overflow:hidden;}
.acc{border-bottom:1px solid var(--bm-line);}
.acc:last-child{border-bottom:none;}
.acc__q{width:100%;display:flex;align-items:center;gap:18px;text-align:left;background:var(--bm-navy-3);border:none;padding:24px 26px;color:#fff;}
.acc__q .cat{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;color:var(--bm-ink);text-transform:uppercase;min-width:96px;}
.acc__q .q{font-family:var(--font-display);font-weight:600;font-size:17px;flex:1;}
.acc__q .pm{width:22px;height:22px;flex-shrink:0;position:relative;}
.acc__q .pm::before,.acc__q .pm::after{content:"";position:absolute;background:var(--bm-accent-warm);top:50%;left:50%;transform:translate(-50%,-50%);}
.acc__q .pm::before{width:14px;height:2px;}
.acc__q .pm::after{width:2px;height:14px;transition:transform .25s ease;}
.acc.open .pm::after{transform:translate(-50%,-50%) scaleY(0);}
.acc__a{max-height:0;overflow:hidden;transition:max-height .3s ease;background:var(--bm-navy-2);}
.acc__a p{padding:0 26px 24px 140px;color:var(--bm-text-soft);margin:0;}
@media(max-width:640px){.acc__a p{padding-left:26px;} .acc__q .cat{display:none;} }

/* =========================================================================
   COMPARE TABLE
   ========================================================================= */
.ctable{width:100%;border-collapse:collapse;font-size:14.5px;}
.ctable th,.ctable td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--bm-line-soft);}
.ctable thead th{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bm-text-mute);}
.ctable tbody th{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bm-text-mute);font-weight:500;}
.ctable td{color:var(--bm-text);}
.ctable .best{color:var(--bm-ink);font-weight:600;}
.ctable__wrap{overflow-x:auto;border:1px solid var(--bm-line);border-radius:var(--radius-lg);background:var(--bm-navy-3);}

/* =========================================================================
   FINANCING CALCULATOR
   ========================================================================= */
.calc{background:var(--bm-navy-3);border:1px solid var(--bm-line);border-radius:var(--radius-lg);padding:34px;}
.calc__field{margin-bottom:24px;}
.calc__field label{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bm-text-mute);margin-bottom:12px;}
.calc__field label b{color:#fff;}
input[type=range]{-webkit-appearance:none;width:100%;height:3px;background:var(--bm-line);border-radius:3px;outline:none;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--bm-red);cursor:pointer;border:3px solid var(--bm-navy);}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--bm-red);cursor:pointer;border:3px solid var(--bm-navy);}
.calc__out{margin-top:30px;padding-top:26px;border-top:1px solid var(--bm-line);}
.calc__out span{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bm-text-mute);}
.calc__out b{display:block;font-family:var(--font-display);font-size:44px;color:#fff;margin-top:8px;font-variant-numeric:tabular-nums;}
.calc__out b em{color:var(--bm-ink);font-style:normal;font-size:22px;}
.calc__note{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;color:var(--bm-text-mute);margin-top:10px;}

/* =========================================================================
   GALLERY
   ========================================================================= */
.gallery{display:grid;gap:16px;grid-template-columns:repeat(2,1fr);}
@media(min-width:800px){.gallery{grid-template-columns:repeat(3,1fr);} }
.gitem{position:relative;aspect-ratio:1/1;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--bm-line);}
.gitem.tall{grid-row:span 2;aspect-ratio:auto;}
.gitem img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.gitem:hover img{transform:scale(1.06);}
.gitem__tag{position:absolute;top:14px;left:14px;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(5,44,66,.7);padding:6px 10px;border-radius:3px;z-index:2;}
.gitem__cap{position:absolute;left:0;right:0;bottom:0;padding:18px;background:linear-gradient(0deg,rgba(5,44,66,.9),transparent);font-family:var(--font-display);font-weight:600;color:#fff;z-index:2;}

/* =========================================================================
   TESTIMONIALS
   ========================================================================= */
.quote{background:var(--bm-navy-3);border:1px solid var(--bm-line);border-radius:var(--radius-lg);padding:40px;position:relative;}
.quote::before{content:"\201C";font-family:var(--font-display);font-size:90px;color:var(--bm-ink);opacity:.25;position:absolute;top:14px;left:24px;line-height:1;}
.quote p{font-size:19px;color:var(--bm-text);line-height:1.6;position:relative;margin:24px 0 26px;}
.quote__by{display:flex;align-items:center;gap:14px;}
.quote__av{width:48px;height:48px;border-radius:50%;background:var(--bm-red);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;color:var(--bm-on-accent);}
.quote__by b{display:block;color:#fff;font-family:var(--font-display);}
.quote__by span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;color:var(--bm-text-mute);text-transform:uppercase;}
.stars{color:var(--bm-ink);letter-spacing:3px;font-size:14px;}

/* =========================================================================
   CONTACT / FORMS
   ========================================================================= */
.field{margin-bottom:20px;}
.field label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bm-text-mute);margin-bottom:9px;}
.field input,.field select,.field textarea{
  width:100%;background:var(--bm-navy);border:1px solid var(--bm-line);border-radius:var(--radius);
  color:#fff;font-family:var(--font-body);font-size:15px;padding:14px 16px;transition:border-color .2s ease;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--bm-ink);}
.field textarea{min-height:130px;resize:vertical;}
.dropzone{border:1px dashed var(--bm-line);border-radius:var(--radius);padding:30px;text-align:center;color:var(--bm-text-mute);font-size:14px;}
.info-line{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--bm-line-soft);}
.info-line svg{width:20px;height:20px;color:var(--bm-ink);flex-shrink:0;margin-top:2px;}
.info-line b{display:block;color:#fff;font-family:var(--font-display);}
.info-line span{color:var(--bm-text-soft);font-size:14.5px;}

/* =========================================================================
   VIDEO CARDS
   ========================================================================= */
.vcard{position:relative;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--bm-line);}
.vcard img{width:100%;height:100%;object-fit:cover;opacity:.7;transition:.3s;}
.vcard:hover img{opacity:.9;transform:scale(1.04);}
.vcard__play{position:absolute;inset:0;display:grid;place-items:center;}
.vcard__play span{width:56px;height:56px;border-radius:50%;background:rgba(191,140,87,.92);display:grid;place-items:center;}
.vcard__play svg{width:20px;height:20px;color:var(--bm-on-accent);margin-left:3px;}
.vcard__t{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(0deg,rgba(5,44,66,.92),transparent);z-index:2;}
.vcard__t b{color:#fff;font-family:var(--font-display);font-size:15px;}
.vcard__dur{position:absolute;top:12px;right:12px;font-family:var(--font-mono);font-size:11px;color:#fff;background:rgba(5,44,66,.75);padding:4px 8px;border-radius:3px;z-index:2;}

/* =========================================================================
   PAGE HERO (interior pages)
   ========================================================================= */
.pagehero{position:relative;padding:calc(var(--header-h) + 80px) 0 80px;overflow:hidden;border-bottom:1px solid var(--bm-line);}
.pagehero__bg{position:absolute;inset:0;z-index:0;}
.pagehero__bg img{width:100%;height:100%;object-fit:cover;opacity:.35;}
.pagehero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--bm-navy),rgba(5,44,66,.55));}
.pagehero .wrap{position:relative;z-index:2;}
.pagehero h1{font-size:clamp(42px,7vw,88px);margin:10px 0 20px;}
.pagehero p{color:var(--bm-text-soft);font-size:19px;max-width:620px;}
.crumbs{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bm-text-mute);}
.crumbs a:hover{color:var(--bm-ink);}
.crumbs span{color:var(--bm-ink);}

/* =========================================================================
   BM HERO (v1.4.2) — reusable hero: image OR video, real overlay, one knob
   -------------------------------------------------------------------------
   v1.4.2 fixes vs 1.4.1: default vertical alignment is CENTER (not bottom);
   inner is force-widened and given its own padding so it works with OR without
   the .wrap helper; z-index stack lifted (media 0 / overlay 1 / inner 10) to
   beat Kadence content-container ancestors.

   Markup:
     <section class="bm-hero" style="--bm-hero-overlay-opacity:.55;">
       <div class="bm-hero__media">
         <img src="..." alt="">            (or <video>, or <iframe>)
       </div>
       <div class="bm-hero__overlay"></div>
       <div class="bm-hero__inner">
         <p class="crumbs">Home / About</p>
         <h1>About Boston Marine</h1>
         <p>Subhead...</p>
       </div>
     </section>

   Knobs (inline on the wrapper, no CSS edits):
     --bm-hero-overlay-opacity : 0-1   (default .55)
     --bm-hero-overlay-color   : color (default hero base)
     --bm-hero-media-opacity   : 0-1   (default 1)
     --bm-hero-min-height      : e.g. 60vh (default 60vh)
     --bm-hero-align-v         : flex-start | center | flex-end (default center)
     --bm-hero-align-h         : left | center (default left)

   Modifiers: .bm-hero--tall / --short / --center / --bottom / --top
              .bm-hero--dark (overlay .75) / --light (overlay .30) / --scrim
   ========================================================================= */
.bm-hero{
  --bm-hero-overlay-opacity: .55;
  --bm-hero-overlay-color: var(--bm-hero-base, #053E5C);
  --bm-hero-media-opacity: 1;
  --bm-hero-min-height: 60vh;
  --bm-hero-align-v: center;
  --bm-hero-align-h: left;
  position:relative;
  display:flex;
  align-items:var(--bm-hero-align-v);
  justify-content:stretch;
  min-height:var(--bm-hero-min-height);
  padding:calc(var(--header-h, 80px) + 40px) 0 40px;
  overflow:hidden;
  border-bottom:1px solid var(--bm-line);
  isolation:isolate;
  background:var(--bm-hero-base, #053E5C);
}
.bm-hero__media{
  position:absolute; inset:0; z-index:0;
  pointer-events:none;
  overflow:hidden;
}
.bm-hero__media > img,
.bm-hero__media > video,
.bm-hero__media > iframe{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  opacity:var(--bm-hero-media-opacity);
  border:0;
  display:block;
}
.bm-hero__media > iframe{
  min-width:100%; min-height:100%;
}
.bm-hero__overlay{
  position:absolute; inset:0; z-index:1;
  background:var(--bm-hero-overlay-color);
  opacity:var(--bm-hero-overlay-opacity);
  pointer-events:none;
  transition:opacity .3s ease;
}
.bm-hero__inner{
  position:relative;
  z-index:10;
  flex:1 1 auto;
  width:100%;
  max-width:var(--wrap, 1200px);
  margin:0 auto;
  padding:0 var(--gutter, 24px);
  text-align:var(--bm-hero-align-h);
  color:#fff;
}
.bm-hero__inner > *{position:relative; z-index:10;}
.bm-hero__inner h1{
  font-family:var(--font-display);
  font-size:clamp(42px, 7vw, 88px);
  line-height:1.02;
  letter-spacing:-.025em;
  margin:10px 0 20px;
  color:#fff;
}
.bm-hero__inner p{
  color:var(--bm-text-soft);
  font-size:19px;
  max-width:620px;
  margin:0;
}
.bm-hero__inner .crumbs{color:var(--bm-text-mute); margin-bottom:0;}
.bm-hero__inner .crumbs a:hover,
.bm-hero__inner .crumbs span{color:#fff;}
/* Center variant: center the copy block AND its own paragraph */
.bm-hero[style*="--bm-hero-align-h: center"] .bm-hero__inner p,
.bm-hero[style*="--bm-hero-align-h:center"] .bm-hero__inner p,
.bm-hero--center .bm-hero__inner p{margin-left:auto; margin-right:auto;}

/* Modifiers */
.bm-hero--tall{   --bm-hero-min-height: 82vh; }
.bm-hero--short{  --bm-hero-min-height: 42vh; }
.bm-hero--top{    --bm-hero-align-v: flex-start; }
.bm-hero--bottom{ --bm-hero-align-v: flex-end;   }
.bm-hero--center{ --bm-hero-align-h: center; }
.bm-hero--dark{   --bm-hero-overlay-opacity: .75; }
.bm-hero--light{  --bm-hero-overlay-opacity: .30; }
.bm-hero--scrim .bm-hero__overlay{
  background:linear-gradient(0deg, var(--bm-navy) 0%, rgba(0,0,0,0) 70%);
  opacity:1;
}

/* Neutralize Kadence content-container wrapping — .bm-hero should span full width
   even when placed inside .entry-content / .content-container. */
.entry-content > .bm-hero,
.content-container > .bm-hero,
.wp-block-html > .bm-hero{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

@media (prefers-reduced-motion: reduce){
  .bm-hero__media > video{ display:none; }
}
   BLOG
   ========================================================================= */
.post-card{background:var(--bm-navy-3);border:1px solid var(--bm-line);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s ease,transform .25s ease;}
.post-card:hover{border-color:rgba(191,140,87,.5);transform:translateY(-4px);}
.post-card__media{aspect-ratio:16/10;overflow:hidden;}
.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.post-card:hover .post-card__media img{transform:scale(1.05);}
.post-card__body{padding:26px;display:flex;flex-direction:column;flex:1;}
.post-card__cat{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bm-ink);margin-bottom:12px;}
.post-card h3{font-size:21px;line-height:1.2;margin-bottom:12px;}
.post-card p{color:var(--bm-text-soft);font-size:14.5px;flex:1;}
.post-card__meta{display:flex;gap:16px;margin-top:18px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--bm-text-mute);}
.post-feature{display:grid;gap:0;border:1px solid var(--bm-line);border-radius:var(--radius-lg);overflow:hidden;background:var(--bm-navy-3);}
@media(min-width:900px){.post-feature{grid-template-columns:1.1fr 1fr;} }
.post-feature__media{min-height:340px;background-size:cover;background-position:center;}
.post-feature__body{padding:clamp(30px,4vw,54px);display:flex;flex-direction:column;justify-content:center;}
.post-feature__body h2{font-size:clamp(28px,3.5vw,40px);margin:14px 0 18px;}

/* Blog layout w/ sidebar */
.blog-layout{display:grid;gap:44px;}
@media(min-width:960px){.blog-layout{grid-template-columns:1fr 300px;} }
.side-block{background:var(--bm-navy-3);border:1px solid var(--bm-line);border-radius:var(--radius-lg);padding:26px;margin-bottom:24px;}
.side-block h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bm-text-mute);margin-bottom:18px;}
.side-block li a{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--bm-line-soft);color:var(--bm-text-soft);font-size:14.5px;}
.side-block li a:hover{color:#fff;}
.side-block li a span{color:var(--bm-text-mute);font-family:var(--font-mono);font-size:12px;}

/* Single post article */
.article{max-width:760px;margin:0 auto;}
.article__body{font-size:17px;line-height:1.8;color:var(--bm-text);}
.article__body h2{font-size:30px;margin:44px 0 18px;}
.article__body h3{font-size:23px;margin:34px 0 14px;}
.article__body p{margin:0 0 22px;color:var(--bm-text-soft);}
.article__body ul.bullets{margin:0 0 22px;padding-left:0;}
.article__body ul.bullets li{position:relative;padding:8px 0 8px 24px;color:var(--bm-text-soft);}
.article__body ul.bullets li::before{content:"";position:absolute;left:0;top:16px;width:6px;height:6px;background:var(--bm-accent-warm);border-radius:50%;}
.article__body blockquote{border-left:3px solid var(--bm-accent-warm);padding:6px 0 6px 24px;margin:30px 0;font-family:var(--font-display);font-size:22px;color:#fff;font-weight:500;}
.article__body img{border-radius:var(--radius-lg);margin:30px 0;border:1px solid var(--bm-line);}
.pill{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bm-ink);border:1px solid rgba(191,140,87,.4);border-radius:100px;padding:6px 14px;}

/* =========================================================================
   FOOTER
   ========================================================================= */
.site-footer{background:var(--bm-navy);border-top:1px solid var(--bm-line);padding-top:80px;}
.foot-grid{display:grid;gap:40px;padding-bottom:56px;}
@media(min-width:760px){.foot-grid{grid-template-columns:1.6fr repeat(2,1fr);} }
@media(min-width:1040px){.foot-grid{grid-template-columns:1.8fr repeat(4,1fr);} }
.foot-brand .brand{margin-bottom:20px;}
.foot-brand p{color:var(--bm-text-soft);font-size:14.5px;max-width:340px;}
.foot-contact{margin:22px 0;display:flex;flex-direction:column;gap:12px;}
.foot-contact span{display:flex;gap:11px;align-items:center;color:var(--bm-text-soft);font-size:14px;}
.foot-contact svg{width:15px;height:15px;color:var(--bm-ink);flex-shrink:0;}
.foot-social{display:flex;gap:10px;}
.foot-social a{width:38px;height:38px;border-radius:var(--radius);background:var(--bm-navy-3);border:1px solid var(--bm-line);display:grid;place-items:center;color:var(--bm-text-soft);}
.foot-social a:hover{border-color:var(--bm-ink);color:#fff;}
.foot-social svg{width:16px;height:16px;}
.foot-col h5{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bm-ink);margin:0 0 18px;}
.foot-col li{margin-bottom:11px;}
.foot-col a{color:var(--bm-text-soft);font-size:14px;}
.foot-col a:hover{color:#fff;}
.foot-status{border-top:1px solid var(--bm-line);padding:22px 0;display:flex;flex-wrap:wrap;gap:16px;align-items:center;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bm-text-mute);}
.foot-status .anchor{color:var(--bm-ink);}
.foot-status .r{margin-left:auto;display:flex;gap:26px;flex-wrap:wrap;}
.foot-bar{border-top:1px solid var(--bm-line);padding:24px 0;display:flex;flex-wrap:wrap;gap:16px;align-items:center;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--bm-text-mute);}
.foot-bar .r{margin-left:auto;display:flex;gap:24px;}
.foot-bar a:hover{color:#fff;}

/* ----- Utility ----- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
.text-red{color:var(--bm-ink);}
.mono{font-family:var(--font-mono);}
.center{text-align:center;}
.mt-0{margin-top:0;}

/* =========================================================================
   HOME IMPORT — full-bleed / unboxed / no page-title fix   (v1.3.0 — #bmHome breakout)
   Kadence wraps a Page in a boxed, max-width, titled container. These rules
   neutralise that ONLY on pages that contain the #bmHome import wrapper, so
   the landing design renders full-width exactly like the base44 original.
   Scoped with :has() so no other page/post is affected.
   ========================================================================= */
body:has(#bmHome){overflow-x:hidden;}
/* Break the whole imported page out of Kadence's boxed content container (fixed
   width:1144px on .content-container / main.wrap) to true full viewport width.
   This is what makes the hero video and every section run edge-to-edge. */
body:has(#bmHome) #bmHome{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);}
/* zero Kadence vertical padding so the hero sits flush */
body:has(#bmHome) .content-container.site-container,
body:has(#bmHome) .site-main,
body:has(#bmHome) .content-wrap,
body:has(#bmHome) .entry-content-wrap{padding-top:0!important;padding-bottom:0!important;}
/* strip the boxed white card */
body:has(#bmHome) article.entry.content-bg,
body:has(#bmHome) .content-bg{background:transparent!important;box-shadow:none!important;border-radius:0!important;border:0!important;}
/* hide the auto "Home" page-title banner */
body:has(#bmHome) .entry-hero.page-hero-section,
body:has(#bmHome) header.entry-header.page-title{display:none!important;}


/* =====================================================================
   BLOG DESIGN-SYSTEM ALIGNMENT  (added v1.3.1, 2026-08-29)
   Aligns the WordPress blog index, category/tag/author archives, and
   single posts with the site design system. Kadence otherwise renders
   them with default light "boxed" styling (light hero box + white cards
   with white, invisible title text). Body already inherits dark tokens;
   only these archive/single-specific pieces need overriding.
   ===================================================================== */


/* --- Archive hero: kill the light box, use the pagehero look --- */
body.blog .entry-hero-container-inner,
body.archive .entry-hero-container-inner{
  background:transparent !important; box-shadow:none !important; border-radius:0 !important;
}
body.blog .post-archive-hero-section,
body.archive .post-archive-hero-section{
  background:#086DA5 !important; border-bottom:1px solid #2C82AC !important;
}
body.blog .entry-header.post-archive-title,
body.archive .entry-header.post-archive-title{
  min-height:0 !important; padding:132px 0 52px !important;
}
body.blog .archive-title,
body.archive .archive-title{
  color:#ffffff !important;
  font-family:"Space Grotesk",system-ui,sans-serif !important;
  font-size:clamp(42px,7vw,80px) !important;
  font-weight:700 !important; letter-spacing:-.02em !important; line-height:1.05 !important;
}
body.blog .archive-description,
body.archive .archive-description{ color:#E6F0F8 !important; }

/* --- Loop cards --- */
body.blog article.entry.content-bg,
body.archive article.entry.content-bg{
  background:#06557F !important; border:1px solid #2C82AC !important;
  border-radius:2px !important; box-shadow:none !important; overflow:hidden;
}
body.blog article.entry .entry-content-wrap,
body.archive article.entry .entry-content-wrap{ padding:26px 26px 30px !important; }

/* card title */
body.blog article.entry .entry-title,
body.archive article.entry .entry-title{
  font-family:"Space Grotesk",system-ui,sans-serif !important;
  font-size:21px !important; line-height:1.22 !important; margin:0 0 12px !important;
}
body.blog article.entry .entry-title a,
body.archive article.entry .entry-title a{
  color:#F5F7FA !important; -webkit-text-fill-color:#F5F7FA !important; text-decoration:none !important;
}
body.blog article.entry .entry-title a:hover,
body.archive article.entry .entry-title a:hover{
  color:#FFE4B0 !important; -webkit-text-fill-color:#FFE4B0 !important;
}

/* category overline */
body.blog .entry-taxonomies .category-links a,
body.archive .entry-taxonomies .category-links a{
  color:#FFFFFF !important;
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:11px !important; font-weight:500 !important;
  text-transform:uppercase !important; letter-spacing:.18em !important; text-decoration:none !important;
}
body.blog .entry-taxonomies,
body.archive .entry-taxonomies{ margin-bottom:14px !important; }

/* meta */
body.blog article.entry .entry-meta,
body.archive article.entry .entry-meta,
body.blog article.entry .entry-meta a,
body.archive article.entry .entry-meta a,
body.blog article.entry .entry-meta .meta-label,
body.archive article.entry .entry-meta .meta-label{
  color:#E6F0F8 !important; font-size:13px !important; text-decoration:none !important;
}
body.blog article.entry .entry-meta a:hover,
body.archive article.entry .entry-meta a:hover{ color:#FFFFFF !important; }

/* excerpt */
body.blog article.entry .entry-summary,
body.archive article.entry .entry-summary,
body.blog article.entry .entry-summary p,
body.archive article.entry .entry-summary p{ color:#C7CED6 !important; }

/* read more */
body.blog article.entry .post-more-link,
body.archive article.entry .post-more-link,
body.blog article.entry .post-more-tag,
body.archive article.entry .post-more-tag{
  color:#FFFFFF !important;
  font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:12px !important; font-weight:500 !important;
  text-transform:uppercase !important; letter-spacing:.14em !important; text-decoration:none !important;
}

/* pagination */
body.blog .navigation .page-numbers,
body.archive .navigation .page-numbers{
  color:#FFFFFF !important; border:1px solid #2C82AC !important;
  background:transparent !important; border-radius:2px !important;
}
body.blog .navigation .page-numbers.current,
body.blog .navigation .page-numbers:hover,
body.archive .navigation .page-numbers.current,
body.archive .navigation .page-numbers:hover{
  background:#BF8C57 !important; border-color:#BF8C57 !important; color:#041019 !important;
}

/* --- Single post --- */
body.single-post article.entry.content-bg{
  background:transparent !important; border:0 !important; box-shadow:none !important;
}
body.single-post .entry-title{
  color:#ffffff !important; -webkit-text-fill-color:#ffffff !important;
  font-family:"Space Grotesk",system-ui,sans-serif !important; letter-spacing:-.015em !important;
}
body.single-post .entry-taxonomies .category-links a{
  color:#FFFFFF !important; font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  font-size:11px !important; font-weight:500 !important; text-transform:uppercase !important;
  letter-spacing:.18em !important; text-decoration:none !important;
}
body.single-post .entry-meta,
body.single-post .entry-meta a,
body.single-post .entry-meta .meta-label{ color:#E6F0F8 !important; }
body.single-post .entry-content{ color:#FFFFFF !important; }
body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4{
  color:#ffffff !important; font-family:"Space Grotesk",system-ui,sans-serif !important;
}
body.single-post .entry-content a{ color:#FFE4B0 !important; }
body.single-post .entry-content blockquote{ border-left:3px solid #FFE4B0 !important; color:#C7CED6 !important; }
body.single-post .entry-content strong{ color:#F5F7FA !important; }
body.single-post .entry-footer,
body.single-post .entry-tags a{ color:#E6F0F8 !important; }


/* =========================================================================
   PROMO BANNER (v1.4.4): full width strip above the top header navigation.
   Bronze fill with bold white text (about 2.9:1 contrast, below AA, per client request). Edit text in functions.php.
   ========================================================================= */
.bm-promo-banner{
  width:100%;position:relative;z-index:101;
  background:var(--bm-red);color:#fff;
  text-align:center;padding:10px 16px;
}
.bm-promo-banner__text{
  margin:0;font-family:var(--font-mono);font-weight:700;
  font-size:13px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;
}
@media (max-width:600px){
  .bm-promo-banner{padding:8px 12px;}
  .bm-promo-banner__text{font-size:11px;letter-spacing:.1em;}
}
