/* ===== v134 correct supplied product logos; original Product Line card layout restored ===== */
#bl-site [data-detail-panel="products"] .product-dropdown-lockup-title{
  width:100% !important;
  max-width:760px !important;
  margin:8px 0 18px !important;
  display:block !important;
  overflow:visible !important;
  background:transparent !important;
}
#bl-site [data-detail-panel="products"] .product-dropdown-lockup{
  display:block !important;
  width:min(100%,720px) !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  background:transparent !important;
}
#bl-site .product-action.quick-start-action{
  appearance:none !important;
  border:1px solid rgba(255,255,255,.22) !important;
  background:#11141a !important;
  color:#fff !important;
  cursor:pointer !important;
  font:inherit !important;
  font-size:.88rem !important;
  font-weight:850 !important;
}
#bl-site .product-action.quick-start-action:hover,
#bl-site .product-action.quick-start-action:focus-visible{
  border-color:rgba(255,115,123,.62) !important;
  background:#171a20 !important;
}
@media(max-width:700px){
  #bl-site [data-detail-panel="products"] .product-dropdown-lockup-title{margin:6px 0 16px !important;}
  #bl-site [data-detail-panel="products"] .product-dropdown-lockup{width:100% !important;}
}

#bl-site .qs-modal{position:fixed;inset:0;z-index:10000;display:none;}
#bl-site .qs-modal.is-open{display:block;}
#bl-site .qs-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px);}
#bl-site .qs-dialog{position:absolute;inset:clamp(14px,3vw,34px);max-width:1040px;margin:auto;background:#0b0c0d;border:1px solid rgba(255,255,255,.14);border-radius:18px;box-shadow:0 30px 100px rgba(0,0,0,.72);display:flex;flex-direction:column;overflow:hidden;}
#bl-site .qs-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid #2a2d30;background:#101216;}
#bl-site .qs-eyebrow{color:#ff6b72;font-size:.68rem;font-weight:950;letter-spacing:.13em;}
#bl-site .qs-topbar h2{margin:3px 0 0;font-size:clamp(1.45rem,3vw,2rem);letter-spacing:-.035em;}
#bl-site .qs-top-actions{display:flex;align-items:center;gap:10px;}
#bl-site .qs-pdf{display:inline-flex;min-height:38px;align-items:center;justify-content:center;padding:0 14px;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#fff;text-decoration:none;font-size:.78rem;font-weight:850;background:#17191d;}
#bl-site .qs-pdf:hover{border-color:rgba(255,115,123,.58);}
#bl-site .qs-close{width:40px;height:40px;border-radius:9px;border:1px solid rgba(255,255,255,.18);background:#17191d;color:#fff;font-size:1.55rem;line-height:1;cursor:pointer;}
#bl-site .qs-scroll{overflow:auto;overscroll-behavior:contain;}
#bl-site .qs-content{max-width:900px;margin:auto;padding:28px 30px 46px;color:#f3f3f3;line-height:1.55;}
#bl-site .qs-content h2{font-size:1.28rem;margin:31px 0 10px;color:#fff;letter-spacing:-.02em;}
#bl-site .qs-content h3{font-size:.95rem;margin:0 0 7px;color:#fff;}
#bl-site .qs-content p{margin:8px 0;color:#e7e7e7;}
#bl-site .qs-content ol,#bl-site .qs-content ul{padding-left:23px;margin:9px 0;}
#bl-site .qs-content li{margin:5px 0;}
#bl-site .qs-content code{font-family:Consolas,monospace;background:#202225;border:1px solid #303337;border-radius:4px;padding:2px 6px;}
#bl-site .qs-callout{border-left:4px solid var(--bl-red);padding:11px 14px;background:#161113;border-radius:5px;margin:10px 0 18px;}
#bl-site .qs-callout.qs-good{border-left-color:#3d9a68;background:#101713;}
#bl-site .qs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
#bl-site .qs-card{background:#151719;border:1px solid #2a2d30;border-radius:10px;padding:15px 17px;margin:13px 0;}
#bl-site .qs-card p{margin:0;}
#bl-site .qs-muted{color:#a9adb1 !important;}
#bl-site .qs-content hr{border:0;border-top:1px solid #2a2d30;margin:28px 0;}
#bl-site .qs-support{margin-top:34px;padding-top:18px;border-top:1px solid #2a2d30;color:#a9adb1;font-size:.82rem;}
#bl-site .qs-support a{color:#fff;}
body.bl-qs-open{overflow:hidden !important;}
@media(max-width:680px){
  #bl-site .qs-dialog{inset:8px;border-radius:13px;}
  #bl-site .qs-topbar{padding:15px 14px;align-items:flex-start;}
  #bl-site .qs-top-actions{gap:6px;}
  #bl-site .qs-pdf{padding:0 10px;font-size:.7rem;}
  #bl-site .qs-close{width:36px;height:36px;}
  #bl-site .qs-content{padding:22px 18px 38px;}
  #bl-site .qs-grid{grid-template-columns:1fr;}
}

/* ===== v135 Strip title sizing: ignore descender and match visual title scale ===== */
#bl-site #bl-products [data-expand-key="strip"] .product-card-title{
  overflow:hidden !important;
  min-height:50px !important;
}
#bl-site #bl-products [data-expand-key="strip"] .product-card-name-only{
  height:47px !important;
  max-height:47px !important;
  object-position:left top !important;
  transform:translateY(9px) !important;
}
@media (max-width: 900px){
  #bl-site #bl-products [data-expand-key="strip"] .product-card-title{
    min-height:44px !important;
  }
  #bl-site #bl-products [data-expand-key="strip"] .product-card-name-only{
    height:39px !important;
    max-height:39px !important;
    transform:translateY(7px) !important;
  }
}

/* ===== v136 expanded Product Line logo spacing: normalize all to Strip gap ===== */
#bl-site [data-detail-panel="products"] .product-dropdown-lockup-title{
  display:flex !important;
  align-items:flex-start !important;
  width:min(100%,520px) !important;
  max-width:520px !important;
  min-height:77px !important;
  margin:0 0 18px 0 !important;
  line-height:0 !important;
}
#bl-site [data-detail-panel="products"] .product-dropdown-lockup{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:left top !important;
  background:transparent !important;
}
@media (max-width:700px){
  #bl-site [data-detail-panel="products"] .product-dropdown-lockup-title{
    width:min(100%,390px) !important;
    min-height:58px !important;
    margin:0 0 16px 0 !important;
  }
}

/* ===== v137 canonical BoutLink prefix + corrected collapsed Strip visual scale ===== */
#bl-site #bl-products [data-expand-key="strip"] .product-card-title{
  min-height:60px !important;
  overflow:visible !important;
  align-items:flex-start !important;
}
#bl-site #bl-products [data-expand-key="strip"] .product-card-name-only{
  height:54px !important;
  max-height:54px !important;
  object-position:left top !important;
  transform:none !important;
  margin:0 !important;
}
@media (max-width:900px){
  #bl-site #bl-products [data-expand-key="strip"] .product-card-title{
    min-height:50px !important;
  }
  #bl-site #bl-products [data-expand-key="strip"] .product-card-name-only{
    height:46px !important;
    max-height:46px !important;
    transform:none !important;
  }
}



/* ===== v138 collapsed Strip: match Connect visual letter height, ignore p descender ===== */
#bl-site #bl-products [data-expand-key="strip"] .product-card-title{
  min-height:58px !important;
  align-items:flex-start !important;
  overflow:visible !important;
}
#bl-site #bl-products [data-expand-key="strip"] .product-card-name-only{
  height:50px !important;
  max-height:50px !important;
  width:auto !important;
  object-fit:contain !important;
  object-position:left top !important;
  transform:none !important;
  margin:0 !important;
}
@media (max-width:900px){
  #bl-site #bl-products [data-expand-key="strip"] .product-card-title{
    min-height:50px !important;
  }
  #bl-site #bl-products [data-expand-key="strip"] .product-card-name-only{
    height:42px !important;
    max-height:42px !important;
  }
}



/* ===== v140 lock unexpanded Strip card to approved reference appearance ===== */
#bl-site #bl-products [data-expand-key="strip"] .product-card-title{
  min-height:58px !important;
  align-items:flex-start !important;
  overflow:visible !important;
  margin:0 0 10px 0 !important;
}
#bl-site #bl-products [data-expand-key="strip"] .product-card-name-only{
  height:50px !important;
  max-height:50px !important;
  width:auto !important;
  object-fit:contain !important;
  object-position:left top !important;
  transform:none !important;
  margin:0 !important;
}
@media (max-width:900px){
  #bl-site #bl-products [data-expand-key="strip"] .product-card-title{
    min-height:50px !important;
    margin:0 0 8px 0 !important;
  }
  #bl-site #bl-products [data-expand-key="strip"] .product-card-name-only{
    height:42px !important;
    max-height:42px !important;
  }
}



/* ===== v142 LOCKED REFERENCES =====
   1) Collapsed Strip matches the user's approved Strip-card reference.
   2) Expanded Product Line restores the original large Strip geometry;
      all expanded product logos reserve that same vertical logo area.
*/

/* --- Collapsed Strip: approved reference --- */
#bl-site #bl-products [data-expand-key="strip"] .product-card-title{
  min-height:58px !important;
  align-items:flex-start !important;
  overflow:visible !important;
  margin:0 0 28px 0 !important;
}
#bl-site #bl-products [data-expand-key="strip"] .product-card-name-only{
  display:block !important;
  width:auto !important;
  height:57px !important;
  max-height:57px !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:left top !important;
  margin:0 !important;
  position:relative !important;
  transform:translateY(28px) !important;
}

/* --- Expanded Product Line: Strip is the spacing/size anchor --- */
#bl-site [data-detail-panel="products"] .product-dropdown-lockup-title{
  display:flex !important;
  align-items:flex-start !important;
  width:100% !important;
  max-width:760px !important;
  min-height:103px !important;
  margin:8px 0 18px 0 !important;
  line-height:0 !important;
  overflow:visible !important;
  background:transparent !important;
}
#bl-site [data-detail-panel="products"] .product-dropdown-lockup{
  display:block !important;
  width:min(100%,720px) !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:left top !important;
  background:transparent !important;
}

@media (max-width:900px){
  #bl-site #bl-products [data-expand-key="strip"] .product-card-title{
    min-height:50px !important;
    margin:0 0 24px 0 !important;
  }
  #bl-site #bl-products [data-expand-key="strip"] .product-card-name-only{
    height:48px !important;
    max-height:48px !important;
    transform:translateY(24px) !important;
  }
}

@media (max-width:700px){
  #bl-site [data-detail-panel="products"] .product-dropdown-lockup-title{
    width:100% !important;
    max-width:390px !important;
    min-height:56px !important;
    margin:6px 0 16px 0 !important;
  }
  #bl-site [data-detail-panel="products"] .product-dropdown-lockup{
    width:100% !important;
    max-width:390px !important;
  }
}



/* ===== v143 expanded Strip is two independent logos =====
   Canonical BoutLink remains untouched. Strip is positioned separately so
   the bottom of the S/main word aligns with the bottom of the BoutLink mark;
   only the p descender falls below that baseline.
*/
#bl-site [data-detail-panel="products"] .product-dropdown-lockup-title-strip{
  width:100% !important;
  max-width:760px !important;
  min-height:110px !important;
  overflow:visible !important;
}
#bl-site [data-detail-panel="products"] .expanded-strip-logo-pair{
  position:relative !important;
  display:block !important;
  width:min(100%,720px) !important;
  aspect-ratio:1030 / 157 !important;
  overflow:visible !important;
  flex:none !important;
}
#bl-site [data-detail-panel="products"] .expanded-strip-logo-brand,
#bl-site [data-detail-panel="products"] .expanded-strip-logo-product{
  position:absolute !important;
  display:block !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  background:transparent !important;
}
#bl-site [data-detail-panel="products"] .expanded-strip-logo-brand{
  left:0 !important;
  top:0 !important;
  width:60.970874% !important; /* 628 / 1030 */
}
#bl-site [data-detail-panel="products"] .expanded-strip-logo-product{
  left:62.718447% !important; /* (628 + 18) / 1030 */
  top:0 !important;
  width:37.281553% !important; /* 384 / 1030 */
  transform:translateY(-7.058824%) !important; /* -12 / 170: aligns S baseline */
  transform-origin:left top !important;
}
@media(max-width:700px){
  #bl-site [data-detail-panel="products"] .product-dropdown-lockup-title-strip{
    min-height:60px !important;
  }
  #bl-site [data-detail-panel="products"] .expanded-strip-logo-pair{
    width:min(100%,390px) !important;
  }
}



/* ===== v144 collapsed Product Line titles: standard website text ===== */
#bl-site #bl-products .product-card-title{
  display:block !important;
  min-height:0 !important;
  margin:14px 0 12px !important;
  overflow:visible !important;
  color:#fff !important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-size:1.28rem !important;
  font-weight:850 !important;
  font-style:normal !important;
  line-height:1.1 !important;
  letter-spacing:-.02em !important;
  transform:none !important;
}
#bl-site #bl-products [data-expand-key="strip"] .product-card-title{
  min-height:0 !important;
  margin:14px 0 12px !important;
  align-items:initial !important;
  overflow:visible !important;
}
#bl-site #bl-products .product-card-title img{display:none !important;}

/* ===== v144 every expanded product title is two independent logos ===== */
#bl-site [data-detail-panel="products"] .product-dropdown-lockup-title-split{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 0 18px 0 !important;
  overflow:visible !important;
  line-height:0 !important;
}
#bl-site [data-detail-panel="products"] .expanded-product-logo-pair{
  position:relative !important;
  display:block !important;
  width:var(--normalized-pair-width, min(100%,var(--pair-max))) !important;
  max-width:100% !important;
  aspect-ratio:var(--pair-ratio) !important;
  overflow:visible !important;
}
#bl-site [data-detail-panel="products"] .expanded-product-logo-brand,
#bl-site [data-detail-panel="products"] .expanded-product-logo-product{
  position:absolute !important;
  display:block !important;
  top:0 !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:left top !important;
  background:transparent !important;
}
#bl-site [data-detail-panel="products"] .expanded-product-logo-brand{
  left:0 !important;
  width:var(--brand-w) !important;
}
#bl-site [data-detail-panel="products"] .expanded-product-logo-product{
  left:var(--product-left) !important;
  width:var(--product-w) !important;
  transform:translateY(var(--product-shift)) !important;
  transform-origin:left top !important;
}
@media(max-width:700px){
  #bl-site #bl-products .product-card-title{
    font-size:1.18rem !important;
    margin:12px 0 10px !important;
  }
  #bl-site [data-detail-panel="products"] .product-dropdown-lockup-title-split{
    margin-bottom:16px !important;
  }
}



#bl-site {
  --bl-bg: #08090b;
  --bl-panel: #101216;
  --bl-panel-2: #15181d;
  --bl-line: rgba(255,255,255,.12);
  --bl-text: #f7f8fa;
  --bl-muted: #aeb4bf;
  --bl-red: #E30613;
  --bl-red-2: #E30613;
  --bl-green: #67dc8a;
  --bl-yellow: #f0c75e;
  --bl-max: 1180px;
  box-sizing: border-box;
  width: 100%;
  overflow: hidden;
  background:
    radial-gradient(circle at 75% 4%, rgba(229,9,20,.15), transparent 30rem),
    radial-gradient(circle at 12% 28%, rgba(255,255,255,.035), transparent 22rem),
    var(--bl-bg);
  color: var(--bl-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}
#bl-site *, #bl-site *::before, #bl-site *::after { box-sizing: border-box; }
#bl-site a { color: inherit; text-decoration: none; }
#bl-site .wrap { width: min(var(--bl-max), calc(100% - 40px)); margin: 0 auto; }
#bl-site .muted { color: var(--bl-muted); }
#bl-site .red { color: var(--bl-red-2); }
#bl-site .eyebrow {
  text-transform: uppercase; letter-spacing: .16em; font-weight: 800; font-size: .78rem;
  color: #d8dce3; display: flex; align-items: center; gap: 10px;
}
#bl-site .eyebrow::before {
  content: ""; width: 28px; height: 2px; background: var(--bl-red); display: inline-block;
}
#bl-site .btn {
  display: inline-flex; min-height: 48px; align-items: center; justify-content: center;
  padding: 0 20px; border-radius: 10px; border: 1px solid transparent; font-weight: 800;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
#bl-site .btn:hover { transform: translateY(-1px); }
#bl-site .btn-primary {
  background: linear-gradient(135deg, var(--bl-red), var(--bl-red-2)); color: white;
  box-shadow: 0 12px 34px rgba(229,9,20,.22);
}
#bl-site .btn-ghost { border-color: var(--bl-line); background: rgba(255,255,255,.035); }
#bl-site .status {
  display: inline-flex; align-items: center; gap: 7px; padding: 6px 9px; border-radius: 999px;
  border: 1px solid var(--bl-line); background: rgba(255,255,255,.03); color: #d6d9df;
  font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
}
#bl-site .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--bl-green); }
#bl-site .dot.preview { background: var(--bl-yellow); }
#bl-site .dot.dev { background: #9d8cff; }

#bl-site .nav {
  display: flex; align-items: center; justify-content: space-between; min-height: 76px;
  border-bottom: 1px solid var(--bl-line);
}
#bl-site .brand { display: inline-flex; align-items: center; min-width: 0; }
#bl-site .brand img { width: clamp(190px, 18vw, 250px); height: auto; display: block; object-fit: contain; }
#bl-site .navlinks { display: flex; align-items: center; gap: 20px; font-size: .88rem; color: #d2d6dc; }
#bl-site .navlinks a:hover { color: white; }

#bl-site .hero {
  display: grid; grid-template-columns: 1.08fr .92fr; gap: 54px; align-items: center;
  padding: 82px 0 74px;
}
#bl-site .hero h1 {
  margin: 18px 0 18px; font-size: clamp(3rem, 7vw, 6.3rem); line-height: .94;
  letter-spacing: -.065em; max-width: 850px;
}
#bl-site .hero p { font-size: clamp(1.05rem, 2vw, 1.32rem); color: var(--bl-muted); max-width: 720px; }
#bl-site .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
#bl-site .proofline { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }

#bl-site .hero-console {
  border: 1px solid var(--bl-line); border-radius: 20px; padding: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
  box-shadow: 0 30px 80px rgba(0,0,0,.38);
}
#bl-site .console-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 4px 2px 14px; }
#bl-site .console-title { font-weight: 900; letter-spacing: -.02em; }
#bl-site .lights { display: flex; gap: 6px; }
#bl-site .lights span { width: 8px; height: 8px; border-radius: 50%; background: #3e444d; }
#bl-site .lights span:nth-child(1) { background: #38d16a; box-shadow: 0 0 12px rgba(56,209,106,.6); }
#bl-site .scorebug {
  min-height: 174px; border-radius: 14px; padding: 16px; background:
  linear-gradient(90deg, rgba(229,9,20,.15), transparent 34%, transparent 66%, rgba(71,205,106,.12)),
  #070809; border: 1px solid rgba(255,255,255,.08);
}
#bl-site .score-top { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: #aab0b9; text-align: center; }
#bl-site .score-row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; margin-top: 18px; }
#bl-site .fencer { min-width: 0; }
#bl-site .fencer.right { text-align: right; }
#bl-site .fname { font-weight: 950; letter-spacing: -.035em; font-size: clamp(1rem, 2.2vw, 1.38rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#bl-site .club { color: #8d949f; font-size: .72rem; }
#bl-site .score { font-size: clamp(2.5rem, 6vw, 4rem); font-weight: 950; letter-spacing: -.06em; }
#bl-site .timer { text-align: center; }
#bl-site .timer strong { display: block; font-size: 1.48rem; }
#bl-site .timer small { color: #8d949f; }
#bl-site .console-controls { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 10px; }
#bl-site .mini-btn { padding: 11px 8px; border-radius: 10px; background: #15181d; border: 1px solid var(--bl-line); font-size: .78rem; font-weight: 850; text-align: center; }
#bl-site .mini-btn.active { background: rgba(229,9,20,.14); border-color: rgba(255,64,73,.4); color: #ff8c92; }

#bl-site .band {
  border-top: 1px solid var(--bl-line); border-bottom: 1px solid var(--bl-line); background: rgba(255,255,255,.018);
}
#bl-site .band-grid { display: grid; grid-template-columns: repeat(4,1fr); }
#bl-site .band-item { padding: 25px 18px; border-right: 1px solid var(--bl-line); }
#bl-site .band-item:last-child { border-right: 0; }
#bl-site .band-item b { display: block; font-size: .95rem; }
#bl-site .band-item span { display: block; color: var(--bl-muted); font-size: .82rem; margin-top: 3px; }

#bl-site section { padding: 82px 0; }
#bl-site .section-head { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; margin-bottom: 34px; align-items: end; }
#bl-site h2 { margin: 10px 0 0; font-size: clamp(2rem, 4vw, 3.65rem); letter-spacing: -.055em; line-height: 1.02; }
#bl-site .section-intro { color: var(--bl-muted); font-size: 1.04rem; max-width: 680px; }

#bl-site .cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
#bl-site .card {
  min-height: 245px; padding: 24px; border: 1px solid var(--bl-line); border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.018));
}
#bl-site .card .icon {
  width: 43px; height: 43px; border-radius: 11px; display: grid; place-items: center;
  background: rgba(229,9,20,.12); border: 1px solid rgba(255,66,76,.25); color: #ff737b; font-weight: 950;
}
#bl-site .card h3 { margin: 34px 0 9px; font-size: 1.12rem; letter-spacing: -.025em; }
#bl-site .card p { margin: 0; color: var(--bl-muted); font-size: .9rem; }
#bl-site .card .status { margin-top: 20px; }

#bl-site .flow {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; align-items: stretch; margin-top: 28px;
}
#bl-site .flow-step {
  position: relative; padding: 22px; min-height: 150px; border: 1px solid var(--bl-line); border-radius: 14px; background: #0d0f12;
}
#bl-site .flow-step:not(:last-child)::after {
  content: "→"; position: absolute; right: -18px; top: 50%; transform: translateY(-50%);
  color: #6e747e; font-size: 1.4rem; z-index: 2;
}
#bl-site .flow-num { color: #777f8b; font-size: .74rem; font-weight: 900; letter-spacing: .12em; }
#bl-site .flow-step b { display: block; margin-top: 18px; font-size: 1.02rem; }
#bl-site .flow-step p { color: var(--bl-muted); font-size: .82rem; margin: 6px 0 0; }

#bl-site .remen {
  display: grid; grid-template-columns: .92fr 1.08fr; gap: 16px; align-items: stretch;
}
#bl-site .remen-copy, #bl-site .demo-card {
  border: 1px solid var(--bl-line); border-radius: 18px; padding: 30px;
  background: linear-gradient(150deg, rgba(229,9,20,.08), rgba(255,255,255,.018) 48%);
}
#bl-site .remen-copy h3 { font-size: 1.75rem; margin: 15px 0 10px; letter-spacing: -.04em; }
#bl-site .checklist { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 11px; }
#bl-site .checklist li { display: flex; align-items: flex-start; gap: 10px; color: #dce0e6; }
#bl-site .checklist li::before { content: "✓"; color: var(--bl-green); font-weight: 950; }
#bl-site .demo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
#bl-site .demo-tile { padding: 16px; border-radius: 12px; border: 1px solid var(--bl-line); background: rgba(0,0,0,.24); }
#bl-site .demo-tile b { display: block; font-size: .9rem; }
#bl-site .demo-tile span { display: block; color: var(--bl-muted); font-size: .78rem; margin-top: 4px; }

#bl-site .products { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
#bl-site .product { padding: 23px; border: 1px solid var(--bl-line); border-radius: 15px; background: #0d0f12; }
#bl-site .product small { color: var(--bl-red-2); font-weight: 900; text-transform: uppercase; letter-spacing: .09em; }
#bl-site .product h3 { margin: 14px 0 8px; }
#bl-site .product p { color: var(--bl-muted); font-size: .84rem; margin: 0; }

#bl-site .cta {
  padding: 62px 0 76px;
}
#bl-site .cta-box {
  display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center;
  padding: 34px; border-radius: 20px; border: 1px solid rgba(255,71,80,.35);
  background: linear-gradient(120deg, rgba(229,9,20,.16), rgba(255,255,255,.035));
}
#bl-site .cta-box h2 { margin: 0 0 8px; font-size: clamp(2rem,4vw,3.1rem); }
#bl-site .cta-box p { margin: 0; color: var(--bl-muted); max-width: 700px; }
#bl-site footer {
  border-top: 1px solid var(--bl-line); padding: 26px 0 34px; color: #8f96a1; font-size: .79rem;
}
#bl-site .foot { display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
#bl-site .tagline { letter-spacing: .12em; text-transform: uppercase; font-weight: 900; color: #c4c9d0; }

@media (max-width: 900px) {
  #bl-site .navlinks a:not(.btn) { display: none; }
  #bl-site .hero, #bl-site .section-head, #bl-site .remen { grid-template-columns: 1fr; }
  #bl-site .hero { padding-top: 58px; }
  #bl-site .hero-console { max-width: 680px; }
  #bl-site .cards { grid-template-columns: repeat(2,1fr); }
  #bl-site .products { grid-template-columns: repeat(2,1fr); }
  #bl-site .band-grid { grid-template-columns: repeat(2,1fr); }
  #bl-site .band-item:nth-child(2) { border-right: 0; }
  #bl-site .band-item:nth-child(-n+2) { border-bottom: 1px solid var(--bl-line); }
  #bl-site .flow { grid-template-columns: repeat(2,1fr); }
  #bl-site .flow-step::after { display: none; }
  #bl-site .cta-box { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  #bl-site .wrap { width: min(var(--bl-max), calc(100% - 28px)); }
  #bl-site .nav { min-height: 66px; }
  #bl-site .brand img { width: 176px; height: auto; }
  #bl-site .nav .btn { min-height: 40px; padding: 0 13px; font-size: .78rem; }
  #bl-site .hero { padding: 48px 0 52px; gap: 34px; }
  #bl-site section { padding: 62px 0; }
  #bl-site .cards, #bl-site .products, #bl-site .flow, #bl-site .demo-grid { grid-template-columns: 1fr; }
  #bl-site .band-grid { grid-template-columns: 1fr; }
  #bl-site .band-item { border-right: 0; border-bottom: 1px solid var(--bl-line); }
  #bl-site .band-item:last-child { border-bottom: 0; }
  #bl-site .score-row { gap: 7px; }
  #bl-site .club { display: none; }
  #bl-site .console-controls { grid-template-columns: 1fr; }
  #bl-site .card { min-height: auto; }
}

#bl-site .brand-master { display:grid; grid-template-columns:minmax(120px, .72fr) minmax(260px, 1.8fr); align-items:center; gap:0; max-width:620px; margin:0 0 28px; padding:12px 14px; background:#000; border:1px solid rgba(255,255,255,.08); border-radius:16px; overflow:hidden; }
#bl-site .brand-master .mark { width:112%; max-width:none; height:auto; display:block; margin-left:-9%; }
#bl-site .brand-master .wordmark { width:108%; max-width:none; height:auto; display:block; margin-left:-5%; }
#bl-site .footer-brand { display:flex; align-items:center; gap:12px; min-width:0; }
#bl-site .footer-brand img { width:54px; height:auto; display:block; background:#000; border-radius:50%; }
#bl-site .footer-brand-copy { display:flex; flex-direction:column; gap:2px; }
#bl-site .footer-tagline { font-size:.68rem; letter-spacing:.17em; color:#9fa5ae; text-transform:uppercase; font-weight:800; }
@media (max-width: 720px) {
  #bl-site .brand-master { grid-template-columns:100px 1fr; max-width:100%; padding:10px; }
  #bl-site .brand-master .mark { width:116%; margin-left:-12%; }
  #bl-site .brand-master .wordmark { width:108%; margin-left:-5%; }
}



/* ===== Simplified Smart Fencing Strip revision ===== */
#bl-site .hero-copy-simple { min-width:0; }
#bl-site .hero-mark { width:min(340px, 72%); margin:0 0 18px; overflow:hidden; background:#000; }
#bl-site .hero-mark img { width:100%; height:auto; display:block; }
#bl-site .hero-copy-simple h1 { margin:0; max-width:760px; }
#bl-site .simple-head { align-items:end; }
#bl-site .feature-five { grid-template-columns:repeat(5,1fr); }
#bl-site .feature-five .card { min-height:270px; }
#bl-site .feature-five .card h3 { margin-top:30px; }

#bl-site .default-skin-console { padding:14px; }
#bl-site .default-preview-head { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:2px 2px 12px; font-size:.76rem; color:#c9ced6; font-weight:800; }
#bl-site .default-preview-skin { color:#8e959f; font-size:.65rem; letter-spacing:.12em; }
#bl-site .default-bug { position:relative; overflow:hidden; border-radius:10px; border:1px solid rgba(255,255,255,.1); background:#000; box-shadow:0 10px 34px rgba(0,0,0,.34); }
#bl-site .default-bug-lamps { position:absolute; inset:0 0 auto 0; height:7px; z-index:4; pointer-events:none; }
#bl-site .default-bug-lamps span { position:absolute; top:0; height:7px; width:29%; }
#bl-site .default-bug-lamps .left-color { left:0; background:#ff302b; box-shadow:0 0 10px rgba(255,48,43,.75); }
#bl-site .default-bug-lamps .right-white { right:0; background:#fff; box-shadow:0 0 10px rgba(255,255,255,.7); }
#bl-site .default-bug-main { display:flex; min-height:132px; }
#bl-site .default-bug-logo { width:58px; flex:0 0 58px; background:#0a0a0a; display:flex; align-items:center; justify-content:center; padding-top:7px; font-size:.78rem; font-weight:950; color:#dfe3e8; letter-spacing:.04em; }
#bl-site .default-bug-center { flex:1; min-width:0; display:flex; flex-direction:column; }
#bl-site .default-bug-title { height:34px; display:flex; align-items:center; justify-content:center; padding:0 8px; background:linear-gradient(180deg,#2c2c2c,#161616); color:#fff; font-weight:850; font-size:.64rem; letter-spacing:.11em; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#bl-site .default-bug-body { flex:1; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; background:#000; padding:0 12px; gap:10px; }
#bl-site .default-bug-fencer { display:flex; align-items:center; justify-content:center; gap:7px; min-width:0; }
#bl-site .default-bug-fencer.right { flex-direction:row; }
#bl-site .default-bug-name { color:#fff; font-size:clamp(.72rem,1.65vw,1.06rem); font-weight:900; letter-spacing:.03em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#bl-site .default-bug-cards { display:flex; gap:2px; flex:0 0 auto; }
#bl-site .default-card { width:9px; height:14px; border-radius:2px; display:flex; align-items:center; justify-content:center; font-size:7px; line-height:1; font-weight:950; color:#fff; }
#bl-site .default-card.yellow { background:#ffd400; color:#171717; }
#bl-site .default-card.red { background:#e2001a; }
#bl-site .default-card.black { background:#1a1a1a; border:1px solid #4d4d4d; }
#bl-site .default-bug-cluster { display:flex; align-items:center; gap:12px; padding:0 4px; }
#bl-site .default-bug-score { min-width:30px; text-align:center; color:#fff; font-size:2.1rem; font-weight:950; line-height:1; font-variant-numeric:tabular-nums; }
#bl-site .default-bug-timebox { display:flex; flex-direction:column; align-items:center; gap:5px; min-width:64px; }
#bl-site .default-period-pips { display:flex; gap:4px; }
#bl-site .period-pip { width:7px; height:7px; border-radius:50%; border:1.5px solid #fff; background:transparent; }
#bl-site .period-pip.filled { background:#fff; }
#bl-site .default-bug-timer { color:#fff; font-size:1.22rem; font-weight:900; font-variant-numeric:tabular-nums; }
#bl-site .default-bug-tournament { min-height:26px; display:flex; align-items:center; justify-content:center; background:linear-gradient(180deg,#3a3a3a,#585858); color:#fff; font-size:.62rem; font-weight:850; letter-spacing:.1em; }

#bl-site .video-section { border-top:1px solid var(--bl-line); border-bottom:1px solid var(--bl-line); background:rgba(255,255,255,.015); }
#bl-site .video-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
#bl-site .video-placeholder { margin:0; }
#bl-site .video-screen { aspect-ratio:16/9; border:1px solid var(--bl-line); border-radius:16px; background:linear-gradient(145deg,#15181d,#090a0c); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; }
#bl-site .video-screen .play { width:60px; height:60px; border-radius:50%; display:grid; place-items:center; background:rgba(227,6,19,.14); border:1px solid rgba(255,75,84,.32); color:#ff747c; padding-left:3px; font-size:1.25rem; }
#bl-site .video-slot-label { color:#8e959f; font-size:.68rem; font-weight:900; letter-spacing:.14em; }
#bl-site .video-placeholder h3 { margin:16px 0 5px; font-size:1.12rem; }
#bl-site .video-placeholder p { margin:0; color:var(--bl-muted); font-size:.88rem; }
#bl-site .products-section { border-top:0; }

@media (max-width: 1050px) {
  #bl-site .feature-five { grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 900px) {
  #bl-site .feature-five { grid-template-columns:repeat(2,1fr); }
  #bl-site .hero-mark { width:min(300px,58%); }
}
@media (max-width: 600px) {
  #bl-site .feature-five, #bl-site .video-grid { grid-template-columns:1fr; }
  #bl-site .feature-five .card { min-height:auto; }
  #bl-site .hero-mark { width:min(260px,72%); }
  #bl-site .default-bug-main { min-height:116px; }
  #bl-site .default-bug-logo { width:42px; flex-basis:42px; font-size:.64rem; }
  #bl-site .default-bug-body { padding:0 7px; gap:5px; }
  #bl-site .default-bug-cluster { gap:6px; }
  #bl-site .default-bug-score { font-size:1.55rem; min-width:24px; }
  #bl-site .default-bug-timebox { min-width:50px; }
  #bl-site .default-bug-timer { font-size:1rem; }
  #bl-site .default-bug-cards { display:none; }
  #bl-site .default-bug-name { font-size:.7rem; }
  #bl-site .default-bug-title { font-size:.54rem; letter-spacing:.06em; }
}

/* ===== v3 hero + full-width overlay readability ===== */
#bl-site .hero {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  padding-bottom: 46px;
}
#bl-site .hero-copy-simple { max-width: 980px; }
#bl-site .hero-copy-simple h1 { max-width: 1000px; }
#bl-site .hero-mark {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#bl-site .hero > .hero-console { display:none !important; }
#bl-site .overlay-showcase {
  padding: 28px 0 78px;
  border-top: 1px solid var(--bl-line);
  border-bottom: 1px solid var(--bl-line);
  background: rgba(255,255,255,.012);
}
#bl-site .overlay-showcase-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:24px;
  margin-bottom:20px;
}
#bl-site .overlay-showcase-head h2 { margin:0; font-size:clamp(1.8rem,4vw,3.2rem); letter-spacing:-.045em; }
#bl-site .overlay-wide-console {
  display:block !important;
  width:100%;
  max-width:none !important;
  padding:20px;
}
#bl-site .overlay-wide-console .default-bug-main { min-height:164px; }
#bl-site .overlay-wide-console .default-bug-logo { width:78px; flex-basis:78px; font-size:.9rem; }
#bl-site .overlay-wide-console .default-bug-title { height:40px; font-size:.75rem; }
#bl-site .overlay-wide-console .default-bug-name { font-size:clamp(.95rem,2.3vw,1.4rem); }
#bl-site .overlay-wide-console .default-bug-score { font-size:clamp(2.5rem,5vw,3.7rem); min-width:48px; }
#bl-site .overlay-wide-console .default-bug-timer { font-size:1.55rem; }
#bl-site .overlay-wide-console .default-bug-timebox { min-width:78px; }
#bl-site .overlay-wide-console .default-card { width:11px; height:17px; font-size:8px; }
#bl-site .overlay-wide-console .default-bug-tournament { min-height:32px; font-size:.7rem; }
#bl-site #bl-features .simple-head { grid-template-columns:1fr; }

@media (max-width: 600px) {
  #bl-site .hero { padding-bottom:34px; }
  #bl-site .hero-mark { width:min(270px,82%); margin-bottom:14px; }
  #bl-site .hero h1 { font-size:clamp(2.75rem,14vw,4.2rem); line-height:.96; }
  #bl-site .overlay-showcase { padding:24px 0 54px; }
  #bl-site .overlay-showcase-head { display:block; margin-bottom:14px; }
  #bl-site .overlay-showcase-head .eyebrow { margin-bottom:8px; }
  #bl-site .overlay-wide-console { padding:9px; border-radius:14px; }
  #bl-site .overlay-wide-console .default-preview-head { padding:1px 2px 9px; font-size:.72rem; }
  #bl-site .overlay-wide-console .default-bug-main { min-height:128px; }
  #bl-site .overlay-wide-console .default-bug-logo { display:none; }
  #bl-site .overlay-wide-console .default-bug-title { height:30px; font-size:.58rem; letter-spacing:.055em; }
  #bl-site .overlay-wide-console .default-bug-body { padding:0 6px; gap:5px; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
  #bl-site .overlay-wide-console .default-bug-name { font-size:.78rem; }
  #bl-site .overlay-wide-console .default-bug-cluster { gap:5px; padding:0; }
  #bl-site .overlay-wide-console .default-bug-score { font-size:1.85rem; min-width:27px; }
  #bl-site .overlay-wide-console .default-bug-timebox { min-width:54px; gap:4px; }
  #bl-site .overlay-wide-console .default-bug-timer { font-size:1.08rem; }
  #bl-site .overlay-wide-console .default-period-pips { gap:3px; }
  #bl-site .overlay-wide-console .period-pip { width:6px; height:6px; }
  #bl-site .overlay-wide-console .default-bug-cards { display:none; }
  #bl-site .overlay-wide-console .default-bug-tournament { min-height:25px; font-size:.55rem; letter-spacing:.07em; }
}


/* ===== v4 cumulative website polish ===== */
#bl-site .hero-copy-simple {
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:clamp(22px,4vw,54px);
  width:100%;
  max-width:1180px;
}
#bl-site .hero-mark {
  flex:0 0 clamp(130px,20vw,250px);
  width:clamp(130px,20vw,250px) !important;
  max-width:250px;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
#bl-site .hero-mark img { width:100%; height:auto; display:block; }
#bl-site .hero-copy-simple h1 {
  flex:1 1 auto;
  margin:0 !important;
  max-width:820px !important;
  font-size:clamp(2.7rem,6vw,6rem);
}
#bl-site .overlay-showcase { padding-top:42px; }
#bl-site .overlay-wide-console { padding:18px; }
#bl-site .product-line-head { margin-bottom:20px; }
#bl-site .icon-monitor { position:relative; font-size:0; }
#bl-site .icon-monitor::before {
  content:"";
  width:22px;
  height:14px;
  border:2px solid currentColor;
  border-radius:2px;
  box-sizing:border-box;
}
#bl-site .icon-monitor::after {
  content:"";
  position:absolute;
  left:50%;
  bottom:8px;
  width:12px;
  height:2px;
  background:currentColor;
  transform:translateX(-50%);
  box-shadow:0 -4px 0 -0.5px currentColor;
}
@media (max-width:600px) {
  #bl-site .hero { padding-top:42px; padding-bottom:38px; }
  #bl-site .hero-copy-simple { gap:16px; align-items:center; }
  #bl-site .hero-mark {
    flex-basis:108px;
    width:108px !important;
    max-width:108px;
  }
  #bl-site .hero-copy-simple h1 {
    font-size:clamp(2rem,10vw,3rem);
    line-height:.94;
  }
  #bl-site .overlay-showcase { padding-top:18px; }
  #bl-site .overlay-wide-console { padding:8px; border-radius:12px; }
}


/* ===== v5 cumulative spacing + authentic Default overlay ===== */
#bl-site .nav {
  min-height:0;
  padding:18px 12px 18px;
  align-items:center;
}
#bl-site .brand { background:transparent !important; border:0 !important; box-shadow:none !important; }
#bl-site .brand img {
  width:clamp(205px,18vw,250px);
  height:auto;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
#bl-site .hero {
  padding-top:26px !important;
  padding-bottom:34px !important;
}
#bl-site .hero-copy-simple h1 { max-width:760px !important; }

/* Keep section headings close to the divider above them. */
#bl-site #bl-features { padding-top:26px !important; padding-bottom:56px !important; }
#bl-site #bl-features .section-head { margin-bottom:28px; }
#bl-site .video-section { padding-top:26px !important; padding-bottom:54px !important; }
#bl-site .video-section .section-head { margin-bottom:28px; }
#bl-site .products-section { padding-top:26px !important; padding-bottom:28px !important; }
#bl-site .products-section .section-head { margin-bottom:20px; }

#bl-site .overlay-showcase {
  padding-top:22px !important;
  padding-bottom:24px !important;
}
#bl-site .overlay-wide-console { padding:14px !important; }
#bl-site .default-bug-authentic { border-radius:0; }
#bl-site .default-bug-authentic .default-bug-main { min-height:150px; }
#bl-site .default-bug-authentic .default-bug-logo {
  width:92px; flex-basis:92px; padding-top:8px;
  background:#0a0a0a;
}
#bl-site .generic-club-mark {
  width:72px; height:72px; display:grid; place-items:center;
  border:2px solid rgba(255,255,255,.42); border-radius:50%;
  color:#fff; font-size:1.05rem; font-weight:950; letter-spacing:.06em;
}
#bl-site .default-bug-authentic .default-bug-title {
  height:38px; font-size:clamp(.68rem,1.3vw,.92rem); font-weight:800;
  letter-spacing:.09em;
}
#bl-site .default-bug-authentic .default-bug-body {
  padding:0 18px; gap:10px;
}
#bl-site .default-bug-authentic .default-bug-fencer { gap:9px; }
#bl-site .default-bug-authentic .default-bug-name {
  font-size:clamp(.88rem,2vw,1.3rem); font-weight:800;
}
#bl-site .default-bug-authentic .default-card {
  width:12px; height:18px; border-radius:2px; font-size:8px;
}
#bl-site .default-bug-authentic .default-bug-cluster { gap:18px; }
#bl-site .default-bug-authentic .default-bug-score {
  font-size:clamp(2.55rem,5vw,3.8rem); min-width:50px;
}
#bl-site .default-bug-authentic .default-bug-timebox { min-width:150px; gap:7px; }
#bl-site .default-bug-authentic .default-period-pips { gap:6px; }
#bl-site .default-bug-authentic .period-pip { width:10px; height:10px; border-width:2px; }
#bl-site .default-timer-challenge-row {
  display:grid; grid-template-columns:18px auto 18px; align-items:center;
  justify-content:center; column-gap:18px;
}
#bl-site .default-video-challenges {
  display:flex; flex-direction:column; gap:3px; align-items:center; justify-content:center;
}
#bl-site .default-challenge-pip {
  width:18px; height:10.125px; border:1px solid #fff; border-radius:1px;
  background:transparent; display:block;
}
#bl-site .default-challenge-pip.available { background:#fff; }
#bl-site .default-bug-authentic .default-bug-timer { font-size:1.55rem; }
#bl-site .default-bug-authentic .default-bug-tournament {
  min-height:30px; font-size:.72rem; letter-spacing:.1em;
}

@media (max-width:600px) {
  #bl-site .nav { padding:14px 8px 14px; }
  #bl-site .brand img { width:190px; }
  #bl-site .hero { padding-top:18px !important; padding-bottom:28px !important; }
  #bl-site .hero-copy-simple { gap:14px; }
  #bl-site .hero-mark { flex-basis:102px; width:102px !important; max-width:102px; }
  #bl-site .hero-copy-simple h1 { font-size:clamp(1.9rem,9.5vw,2.85rem); }
  #bl-site .overlay-showcase { padding-top:14px !important; padding-bottom:20px !important; }
  #bl-site .overlay-wide-console { padding:6px !important; }
  #bl-site .default-bug-authentic .default-bug-main { min-height:118px; }
  #bl-site .default-bug-authentic .default-bug-logo { display:none; }
  #bl-site .default-bug-authentic .default-bug-title { height:29px; font-size:.56rem; }
  #bl-site .default-bug-authentic .default-bug-body { padding:0 5px; gap:3px; }
  #bl-site .default-bug-authentic .default-bug-name { font-size:.68rem; }
  #bl-site .default-bug-authentic .default-bug-cards { display:none; }
  #bl-site .default-bug-authentic .default-bug-cluster { gap:4px; }
  #bl-site .default-bug-authentic .default-bug-score { font-size:1.68rem; min-width:26px; }
  #bl-site .default-bug-authentic .default-bug-timebox { min-width:90px; gap:4px; }
  #bl-site .default-bug-authentic .default-period-pips { gap:3px; }
  #bl-site .default-bug-authentic .period-pip { width:6px; height:6px; border-width:1px; }
  #bl-site .default-timer-challenge-row { grid-template-columns:12px auto 12px; column-gap:7px; }
  #bl-site .default-video-challenges { gap:2px; }
  #bl-site .default-challenge-pip { width:12px; height:6.75px; }
  #bl-site .default-bug-authentic .default-bug-timer { font-size:1.02rem; }
  #bl-site .default-bug-authentic .default-bug-tournament { min-height:23px; font-size:.52rem; }
  #bl-site #bl-features { padding-top:22px !important; padding-bottom:44px !important; }
  #bl-site .video-section { padding-top:22px !important; padding-bottom:44px !important; }
  #bl-site .products-section { padding-top:22px !important; padding-bottom:22px !important; }
}



/* ===== v6 responsive Default-skin demo + animated bout state ===== */
#bl-site .hero-copy-simple h1 { max-width:780px !important; }

/* Recording glyph: true centered record circle. */
#bl-site .icon-record { position:relative; display:grid !important; place-items:center !important; }
#bl-site .icon-record span {
  display:block; width:10.5px; height:10.5px; border-radius:50%; background:currentColor;
  margin:0; padding:0; transform:none;
}

/* Default-style lamp rail: two lamps per fencer. */
#bl-site .default-bug-lamps { height:8px; }
#bl-site .default-bug-lamps span {
  top:0; width:22%; height:8px; opacity:.08;
  transition:opacity .14s ease, box-shadow .14s ease;
}
#bl-site .default-bug-lamps .left-color { left:0; background:#ef2929; box-shadow:none; }
#bl-site .default-bug-lamps .left-white { left:22.5%; background:#fff; box-shadow:none; }
#bl-site .default-bug-lamps .right-white { right:22.5%; background:#fff; box-shadow:none; }
#bl-site .default-bug-lamps .right-color { right:0; background:#37d05d; box-shadow:none; }
#bl-site .default-bug-lamps .left-color.is-on { opacity:1; box-shadow:0 0 14px rgba(239,41,41,.9); }
#bl-site .default-bug-lamps .right-color.is-on { opacity:1; box-shadow:0 0 14px rgba(55,208,93,.9); }
#bl-site .default-bug-lamps .left-white.is-on,
#bl-site .default-bug-lamps .right-white.is-on { opacity:1; box-shadow:0 0 14px rgba(255,255,255,.9); }

/* Club-logo areas remain square at every width. */
#bl-site .default-bug-authentic .default-bug-logo {
  width:92px; flex:0 0 92px; aspect-ratio:1 / 1; min-height:92px;
  padding:8px; align-self:center;
}
#bl-site .generic-club-mark {
  width:72px; height:72px; aspect-ratio:1 / 1; border-radius:0 !important;
  border:2px solid rgba(255,255,255,.42); display:grid; place-items:center;
  font-size:1.05rem; line-height:1;
}
#bl-site .default-bug-authentic .default-bug-cards:empty { display:none; }

@keyframes blScoreAward {
  0% { transform:scale(1); }
  45% { transform:scale(1.24); text-shadow:0 0 14px rgba(255,255,255,.8); }
  100% { transform:scale(1); }
}
#bl-site .default-bug-score.score-award { animation:blScoreAward .42s ease; }

/* Mobile: preserve the actual overlay composition instead of hiding its parts. */
@media (max-width:600px) {
  #bl-site .overlay-showcase .wrap { width:calc(100% - 12px); }
  #bl-site .overlay-wide-console { padding:0 !important; border:0; background:transparent; box-shadow:none; }
  #bl-site .default-bug-authentic { width:100%; border-radius:0; }
  #bl-site .default-bug-authentic .default-bug-main { min-height:100px; align-items:center; }
  #bl-site .default-bug-authentic .default-bug-logo {
    display:flex !important; width:48px; flex-basis:48px; min-height:48px; aspect-ratio:1 / 1;
    padding:4px; align-self:center;
  }
  #bl-site .generic-club-mark {
    width:40px; height:40px; aspect-ratio:1 / 1; font-size:.72rem; border-width:1px;
  }
  #bl-site .default-bug-authentic .default-bug-title {
    height:25px; padding:0 4px; font-size:clamp(.43rem,2vw,.55rem); letter-spacing:.045em;
  }
  #bl-site .default-bug-authentic .default-bug-body {
    min-height:71px; padding:0 4px; gap:2px;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  }
  #bl-site .default-bug-authentic .default-bug-fencer { gap:3px; min-width:0; }
  #bl-site .default-bug-authentic .default-bug-fencer.left { justify-content:flex-end; }
  #bl-site .default-bug-authentic .default-bug-fencer.right { justify-content:flex-start; }
  #bl-site .default-bug-authentic .default-bug-name {
    font-size:clamp(.56rem,2.6vw,.69rem); letter-spacing:.01em; overflow:visible; text-overflow:clip;
  }
  #bl-site .default-bug-authentic .default-bug-cards { display:flex !important; gap:1px; }
  #bl-site .default-bug-authentic .default-bug-cards:empty { display:none !important; }
  #bl-site .default-bug-authentic .default-card { width:7px; height:11px; border-radius:1px; }
  #bl-site .default-bug-authentic .default-bug-cluster { gap:3px; padding:0; }
  #bl-site .default-bug-authentic .default-bug-score { font-size:1.42rem; min-width:22px; }
  #bl-site .default-bug-authentic .default-bug-timebox { min-width:72px; gap:3px; }
  #bl-site .default-bug-authentic .default-period-pips { gap:2px; }
  #bl-site .default-bug-authentic .period-pip { width:5px; height:5px; border-width:1px; }
  #bl-site .default-timer-challenge-row { grid-template-columns:10px auto 10px; column-gap:4px; }
  #bl-site .default-video-challenges { gap:1.5px; }
  #bl-site .default-challenge-pip { width:10px; height:5.625px; border-width:1px; }
  #bl-site .default-bug-authentic .default-bug-timer { font-size:.94rem; }
  #bl-site .default-bug-authentic .default-bug-tournament { min-height:20px; font-size:.44rem; letter-spacing:.055em; }
  #bl-site .default-bug-lamps, #bl-site .default-bug-lamps span { height:5px; }
}

@media (max-width:390px) {
  #bl-site .default-bug-authentic .default-bug-logo { width:44px; flex-basis:44px; min-height:44px; }
  #bl-site .generic-club-mark { width:36px; height:36px; }
  #bl-site .default-bug-authentic .default-bug-name { font-size:.54rem; }
  #bl-site .default-bug-authentic .default-bug-score { font-size:1.3rem; min-width:20px; }
  #bl-site .default-bug-authentic .default-bug-timebox { min-width:66px; }
  #bl-site .default-bug-authentic .default-bug-timer { font-size:.86rem; }
  #bl-site .default-timer-challenge-row { grid-template-columns:9px auto 9px; column-gap:3px; }
  #bl-site .default-challenge-pip { width:9px; height:5.0625px; }
}

@media (prefers-reduced-motion:reduce) {
  #bl-site .default-bug-lamps span { transition:none; }
  #bl-site .default-bug-score.score-award { animation:none; }
}



/* ===== v7 centered hero + shared lamps + mobile overlay ===== */
#bl-site .hero {
  padding-top: clamp(20px, 3vw, 34px) !important;
  padding-bottom: clamp(28px, 4vw, 48px) !important;
}
#bl-site .hero-copy-simple {
  width:100% !important;
  max-width:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(18px,3vw,42px) !important;
  text-align:left;
}
#bl-site .hero-mark {
  flex:0 0 clamp(118px,17vw,210px) !important;
  width:clamp(118px,17vw,210px) !important;
  max-width:210px !important;
}
#bl-site .hero-copy-simple h1 {
  flex:0 1 auto !important;
  width:auto !important;
  max-width:720px !important;
  font-size:clamp(2.55rem,5.6vw,5.5rem) !important;
  line-height:.93 !important;
}

/* The real display uses the same left/right lamp area for colored OR white. */
#bl-site .default-bug-authentic .default-bug-lamps {
  height:9px !important;
}
#bl-site .default-bug-authentic .demo-lamp {
  position:absolute;
  top:0;
  width:31%;
  height:9px;
  opacity:.09;
  background:#25282d;
  transition:background .12s ease, opacity .12s ease, box-shadow .12s ease;
}
#bl-site .default-bug-authentic .demo-lamp.left { left:0; }
#bl-site .default-bug-authentic .demo-lamp.right { right:0; }
#bl-site .default-bug-authentic .demo-lamp[data-state="red"] {
  background:#ef2929; opacity:1; box-shadow:0 0 15px rgba(239,41,41,.9);
}
#bl-site .default-bug-authentic .demo-lamp[data-state="green"] {
  background:#37d05d; opacity:1; box-shadow:0 0 15px rgba(55,208,93,.9);
}
#bl-site .default-bug-authentic .demo-lamp[data-state="white"] {
  background:#fff; opacity:1; box-shadow:0 0 15px rgba(255,255,255,.92);
}
#bl-site .default-bug-authentic .demo-lamp[data-state="off"] {
  background:#25282d; opacity:.09; box-shadow:none;
}

#bl-site .default-bug-authentic .default-bug-logo {
  width:92px !important;
  flex:0 0 92px !important;
  height:92px !important;
  min-height:92px !important;
  aspect-ratio:1 / 1 !important;
  padding:7px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#08090b !important;
}
#bl-site .generic-club-svg {
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:1 / 1;
}
#bl-site .default-bug-title [data-demo-event] { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* Keep the overlay proportioned as a unit on phones instead of hiding content. */
@media (max-width:600px) {
  #bl-site .hero-copy-simple {
    gap:14px !important;
    padding-inline:4px;
  }
  #bl-site .hero-mark {
    flex-basis:96px !important;
    width:96px !important;
  }
  #bl-site .hero-copy-simple h1 {
    font-size:clamp(2rem,10vw,3.05rem) !important;
    max-width:245px !important;
  }
  #bl-site .overlay-wide-console { padding:5px !important; overflow:hidden; }
  #bl-site .default-bug-authentic .default-bug-main { min-height:104px !important; }
  #bl-site .default-bug-authentic .default-bug-logo {
    width:54px !important; flex-basis:54px !important; height:54px !important; min-height:54px !important; padding:4px !important;
  }
  #bl-site .default-bug-authentic .default-bug-title {
    height:25px !important; font-size:clamp(.44rem,2.15vw,.58rem) !important; letter-spacing:.035em !important;
  }
  #bl-site .default-bug-authentic .default-bug-body {
    min-height:79px !important; padding:0 4px !important; gap:2px !important;
  }
  #bl-site .default-bug-authentic .default-bug-fencer { gap:3px !important; }
  #bl-site .default-bug-authentic .default-bug-name { font-size:clamp(.55rem,2.3vw,.68rem) !important; }
  #bl-site .default-bug-authentic .default-bug-cards { display:flex !important; }
  #bl-site .default-bug-authentic .default-card { width:7px !important; height:11px !important; }
  #bl-site .default-bug-authentic .default-bug-cluster { gap:4px !important; }
  #bl-site .default-bug-authentic .default-bug-score { font-size:1.55rem !important; min-width:23px !important; }
  #bl-site .default-bug-authentic .default-bug-timebox { min-width:72px !important; gap:3px !important; }
  #bl-site .default-bug-authentic .default-bug-timer { font-size:.91rem !important; }
  #bl-site .default-bug-authentic .default-period-pips { gap:3px !important; }
  #bl-site .default-bug-authentic .period-pip { width:6px !important; height:6px !important; }
  #bl-site .default-timer-challenge-row { grid-template-columns:10px auto 10px !important; column-gap:3px !important; }
  #bl-site .default-video-challenges { gap:2px !important; }
  #bl-site .default-challenge-pip { width:8px !important; height:4.5px !important; border-width:1px !important; }
  #bl-site .default-bug-authentic .default-bug-tournament { min-height:22px !important; font-size:.5rem !important; letter-spacing:.06em !important; }
  #bl-site .default-bug-authentic .demo-lamp, #bl-site .default-bug-authentic .default-bug-lamps { height:6px !important; }
}
@media (max-width:390px) {
  #bl-site .hero-mark { flex-basis:84px !important; width:84px !important; }
  #bl-site .hero-copy-simple h1 { font-size:clamp(1.82rem,9.4vw,2.55rem) !important; max-width:220px !important; }
  #bl-site .default-bug-authentic .default-bug-logo { width:48px !important; flex-basis:48px !important; height:48px !important; min-height:48px !important; }
  #bl-site .default-bug-authentic .default-bug-name { font-size:.53rem !important; }
  #bl-site .default-bug-authentic .default-bug-score { font-size:1.35rem !important; min-width:20px !important; }
  #bl-site .default-bug-authentic .default-bug-timebox { min-width:66px !important; }
}


#bl-site .club-logo-img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  aspect-ratio:1 / 1;
  border-radius:4px;
}
#bl-site .default-bug-person {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
}
#bl-site .default-bug-fencer.right .default-bug-person {
  align-items:flex-end;
  text-align:right;
}
#bl-site .default-bug-club {
  display:block;
  color:#aab0b9;
  font-size:clamp(.48rem,1.05vw,.64rem);
  font-weight:700;
  letter-spacing:.03em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
#bl-site .default-bug-authentic .default-bug-fencer {
  justify-content:space-between;
}
#bl-site .default-bug-authentic .default-bug-fencer.left {
  justify-content:flex-start;
}
#bl-site .default-bug-authentic .default-bug-fencer.right {
  justify-content:flex-end;
}
@media (max-width:600px) {
  #bl-site .default-bug-club {
    font-size:clamp(.42rem,1.85vw,.54rem) !important;
  }
  #bl-site .default-bug-person {
    gap:1px !important;
  }
}


/* ===== v9 overlay bar/layout refinement ===== */
#bl-site .default-bug-authentic .default-bug-main {
  display:grid !important;
  grid-template-columns:92px minmax(0,1fr) 92px !important;
  grid-template-rows:34px 1fr !important;
  min-height:132px !important;
  align-items:stretch !important;
}
#bl-site .default-bug-authentic .default-bug-title {
  grid-column:1 / 4 !important;
  grid-row:1 !important;
  width:100% !important;
  background:linear-gradient(180deg,#3a3a3a,#5a5a5a) !important;
}
#bl-site .default-bug-authentic .default-bug-logo.left { grid-column:1 !important; grid-row:2 !important; }
#bl-site .default-bug-authentic .default-bug-logo.right { grid-column:3 !important; grid-row:2 !important; }
#bl-site .default-bug-authentic .default-bug-center {
  grid-column:2 !important;
  grid-row:2 !important;
  min-width:0 !important;
}
#bl-site .default-bug-authentic .default-bug-logo {
  align-self:center !important;
  justify-self:center !important;
}
#bl-site .default-bug-authentic .default-bug-body {
  min-height:98px !important;
}
@media (max-width:600px) {
  #bl-site .default-bug-authentic .default-bug-main {
    grid-template-columns:54px minmax(0,1fr) 54px !important;
    grid-template-rows:25px 1fr !important;
    min-height:104px !important;
  }
}
@media (max-width:390px) {
  #bl-site .default-bug-authentic .default-bug-main {
    grid-template-columns:48px minmax(0,1fr) 48px !important;
  }
}


/* ===== v11 authentic Default-style website demo layout ===== */
#bl-site .overlay-wide-console,
#bl-site .default-skin-console {
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
#bl-site .default-bug-authentic {
  border-radius:0 !important;
  border:0 !important;
  background:#000 !important;
  overflow:hidden !important;
  box-shadow:0 10px 34px rgba(0,0,0,.34) !important;
}
#bl-site .default-bug-authentic .default-bug-title {
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 10px !important;
  background:linear-gradient(180deg,#2c2c2c,#161616) !important;
  color:#fff !important;
  font-weight:850 !important;
  font-size:.72rem !important;
  letter-spacing:.08em !important;
  z-index:6 !important;
}
#bl-site .default-bug-authentic .default-bug-middle {
  position:relative !important;
  display:flex !important;
  align-items:stretch !important;
  width:100% !important;
  min-height:116px !important;
  background:#000 !important;
}
#bl-site .default-bug-authentic .default-bug-center {
  flex:1 1 auto !important;
  min-width:0 !important;
  display:flex !important;
  align-items:stretch !important;
}
#bl-site .default-bug-authentic .default-bug-body {
  flex:1 1 auto !important;
  min-height:116px !important;
  height:116px !important;
  padding:10px 16px 0 !important;
  background:#000 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:10px !important;
}
#bl-site .default-bug-authentic .default-bug-logo {
  flex:0 0 106px !important;
  width:106px !important;
  height:116px !important;
  min-height:116px !important;
  padding:10px 6px 6px !important;
  background:#0a0a0a !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:stretch !important;
}
#bl-site .default-bug-authentic .club-logo-img {
  width:94px !important;
  height:94px !important;
  max-width:94px !important;
  max-height:94px !important;
  aspect-ratio:1/1 !important;
  object-fit:cover !important;
  border-radius:3px !important;
}
#bl-site .default-bug-authentic .default-bug-lamps {
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  height:10px !important;
  z-index:5 !important;
  pointer-events:none !important;
}
#bl-site .default-bug-authentic .demo-lamp {
  top:0 !important;
  height:10px !important;
  width:31% !important;
}
#bl-site .default-bug-authentic .default-bug-tournament {
  min-height:32px !important;
  height:32px !important;
  width:100% !important;
  background:linear-gradient(180deg,#3a3a3a,#585858) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#fff !important;
  font-size:.72rem !important;
  font-weight:850 !important;
  letter-spacing:.1em !important;
}
#bl-site .default-bug-authentic .default-challenge-pip.available {
  background:#fff !important;
  border-color:#fff !important;
}
@media (max-width:600px) {
  #bl-site .default-bug-authentic .default-bug-title { height:27px !important; font-size:.55rem !important; }
  #bl-site .default-bug-authentic .default-bug-middle { min-height:86px !important; }
  #bl-site .default-bug-authentic .default-bug-logo {
    flex-basis:74px !important; width:74px !important; height:86px !important; min-height:86px !important; padding:7px 4px 4px !important;
  }
  #bl-site .default-bug-authentic .club-logo-img { width:70px !important; height:70px !important; max-width:70px !important; max-height:70px !important; }
  #bl-site .default-bug-authentic .default-bug-body { min-height:86px !important; height:86px !important; padding:7px 5px 0 !important; gap:3px !important; }
  #bl-site .default-bug-authentic .default-bug-tournament { min-height:24px !important; height:24px !important; font-size:.52rem !important; }
  #bl-site .default-bug-authentic .default-bug-lamps,
  #bl-site .default-bug-authentic .demo-lamp { height:7px !important; }
  #bl-site .default-bug-authentic .default-bug-club { font-size:clamp(.39rem,1.7vw,.5rem) !important; }
}
@media (max-width:390px) {
  #bl-site .default-bug-authentic .default-bug-logo { flex-basis:62px !important; width:62px !important; height:78px !important; min-height:78px !important; padding:6px 3px 3px !important; }
  #bl-site .default-bug-authentic .club-logo-img { width:58px !important; height:58px !important; max-width:58px !important; max-height:58px !important; }
  #bl-site .default-bug-authentic .default-bug-middle,
  #bl-site .default-bug-authentic .default-bug-body { min-height:78px !important; height:78px !important; }
}


/* ===== v12 lamps overlay the event bar ===== */
#bl-site .default-bug-authentic {
  position:relative !important;
}
#bl-site .default-bug-authentic > .default-bug-lamps {
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  height:10px !important;
  z-index:20 !important;
  pointer-events:none !important;
}
#bl-site .default-bug-authentic > .default-bug-lamps .demo-lamp {
  position:absolute !important;
  top:0 !important;
  height:10px !important;
  width:31% !important;
  z-index:21 !important;
}
#bl-site .default-bug-authentic > .default-bug-lamps .demo-lamp.left { left:0 !important; }
#bl-site .default-bug-authentic > .default-bug-lamps .demo-lamp.right { right:0 !important; }
#bl-site .default-bug-authentic .default-bug-title {
  position:relative !important;
  z-index:10 !important;
  margin:0 !important;
}
@media (max-width:600px) {
  #bl-site .default-bug-authentic > .default-bug-lamps,
  #bl-site .default-bug-authentic > .default-bug-lamps .demo-lamp {
    height:7px !important;
  }
}



/* ===== v13 section hierarchy + feature-card header layout ===== */
#bl-site .section-label {
  font-size: clamp(.96rem, 1.35vw, 1.16rem);
  line-height: 1.15;
  letter-spacing: .185em;
  font-weight: 950;
  color: #f3f5f8;
}
#bl-site .section-label::before {
  width: 38px;
  height: 3px;
  border-radius: 999px;
  box-shadow: 0 0 16px rgba(227,6,19,.24);
}
#bl-site #bl-features .section-head,
#bl-site .video-section .section-head,
#bl-site .products-section .section-head {
  margin-bottom: 24px;
}
#bl-site .feature-five .card {
  min-height: 225px;
  padding: 22px;
}
#bl-site .feature-five .card .card-title-row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 43px;
}
#bl-site .feature-five .card .card-title-row .icon {
  flex: 0 0 43px;
}
#bl-site .feature-five .card .card-title-row h3 {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.16;
  letter-spacing: -.025em;
}
#bl-site .feature-five .card > p {
  margin-top: 20px;
  line-height: 1.58;
}
@media (max-width: 600px) {
  #bl-site .section-label { font-size: .94rem; }
  #bl-site .feature-five .card { padding: 20px; }
  #bl-site .feature-five .card > p { margin-top: 17px; }
}


/* ===== v14 desktop width optimization ===== */
#bl-site {
  --bl-max: 1700px;
}
#bl-site .wrap {
  width: min(var(--bl-max), calc(100vw - 64px)) !important;
}
#bl-site .nav {
  min-height: 84px;
}
#bl-site .brand img {
  width: clamp(220px, 18vw, 310px);
}
#bl-site .hero {
  padding-top: 70px !important;
  padding-bottom: 54px !important;
}
#bl-site .hero-copy-simple {
  max-width: 1320px !important;
}
#bl-site .hero-copy-simple h1 {
  max-width: 1320px !important;
  font-size: clamp(3.25rem, 6.6vw, 7.25rem) !important;
}
#bl-site .hero-mark {
  width: min(420px, 34vw) !important;
  margin-bottom: 24px !important;
}
#bl-site .overlay-showcase {
  padding-top: 50px !important;
  padding-bottom: 82px !important;
}
#bl-site .overlay-showcase .wrap {
  width: min(var(--bl-max), calc(100vw - 64px)) !important;
}
#bl-site .overlay-showcase-head {
  margin-bottom: 28px !important;
}
#bl-site .overlay-wide-console {
  padding: 26px !important;
}
#bl-site .overlay-wide-console .default-bug-main {
  min-height: 186px !important;
}
#bl-site .overlay-wide-console .default-bug-logo {
  width: 92px !important;
  flex-basis: 92px !important;
}
#bl-site .overlay-wide-console .default-bug-name {
  font-size: clamp(1.05rem, 1.65vw, 1.65rem) !important;
}
#bl-site .overlay-wide-console .default-bug-club {
  font-size: clamp(.72rem, .9vw, .96rem) !important;
}
#bl-site .overlay-wide-console .default-bug-score {
  font-size: clamp(3rem, 4.6vw, 4.4rem) !important;
  min-width: 56px !important;
}
#bl-site .overlay-wide-console .default-bug-timer {
  font-size: clamp(1.45rem, 1.8vw, 1.9rem) !important;
}
#bl-site .overlay-wide-console .default-bug-tournament,
#bl-site .overlay-wide-console .default-bug-title {
  font-size: .78rem !important;
}
#bl-site .section-head {
  gap: 52px;
}
#bl-site #bl-features .section-head,
#bl-site .video-section .section-head,
#bl-site .products-section .section-head {
  margin-bottom: 30px !important;
}
#bl-site .feature-five {
  gap: 18px !important;
}
#bl-site .feature-five .card {
  min-height: 235px !important;
}
#bl-site .video-grid {
  gap: 24px !important;
}
#bl-site .products {
  gap: 18px !important;
}
#bl-site .cta {
  padding-top: 74px;
}
#bl-site footer {
  padding-top: 32px;
}

@media (max-width: 1200px) {
  #bl-site .wrap,
  #bl-site .overlay-showcase .wrap {
    width: min(var(--bl-max), calc(100vw - 40px)) !important;
  }
}

@media (max-width: 600px) {
  #bl-site .wrap,
  #bl-site .overlay-showcase .wrap {
    width: min(var(--bl-max), calc(100vw - 28px)) !important;
  }
}


/* ===== v15 alignment, spacing, and product-line refinement ===== */
#bl-site .hero-copy-simple {
  align-items: center !important;
  gap: clamp(24px, 2.6vw, 44px) !important;
}
#bl-site .hero-mark {
  transform: translateY(8px) !important;
}
#bl-site .hero-copy-simple h1 {
  line-height: 0.94 !important;
}

#bl-site .feature-five {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(18px, 1.15vw, 24px) !important;
}
#bl-site .feature-five .card {
  min-height: 236px !important;
  padding: 28px 28px 26px !important;
}
#bl-site .feature-five .card h3 {
  margin-top: 0 !important;
}
#bl-site .feature-five .card p {
  margin-top: 18px !important;
}
#bl-site .feature-five .card > div:first-child {
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
}

#bl-site .products {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(16px, 1.05vw, 22px) !important;
}
#bl-site .product {
  padding: 24px !important;
  min-height: 228px !important;
}
#bl-site .product h3 {
  margin: 12px 0 10px !important;
}
#bl-site .product p {
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
}

@media (max-width: 1600px) {
  #bl-site .feature-five,
  #bl-site .products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1024px) {
  #bl-site .feature-five,
  #bl-site .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  #bl-site .hero-mark {
    transform: none !important;
  }
  #bl-site .feature-five,
  #bl-site .products {
    grid-template-columns: 1fr !important;
  }
}


/* ===== v16 hero alignment and margin correction ===== */
#bl-site .hero {
  padding-top: 62px !important;
  padding-bottom: 54px !important;
}
#bl-site .hero-copy-simple {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: clamp(220px, 17vw, 290px) minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: stretch !important;
  column-gap: clamp(30px, 3vw, 60px) !important;
  text-align: left !important;
}
#bl-site .hero-mark {
  width: 100% !important;
  max-width: 290px !important;
  margin: 0 !important;
  justify-self: start !important;
  transform: translateY(18px) !important;
}
#bl-site .hero-copy-simple h1 {
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
  font-size: clamp(3.35rem, 6.25vw, 7rem) !important;
  line-height: 0.92 !important;
}

@media (max-width: 900px) {
  #bl-site .hero-copy-simple {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #bl-site .hero-mark {
    transform: none !important;
  }
}


/* ===== v17 preserve single-row feature/product layouts when practical ===== */
#bl-site .feature-five,
#bl-site .products {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

/* Keep all five cards on one horizontal row through normal desktop/laptop widths. */
@media (min-width: 1100px) {
  #bl-site .feature-five,
  #bl-site .products {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
  #bl-site .feature-five .card,
  #bl-site .product {
    min-width: 0 !important;
  }
}

/* Only begin wrapping when five readable columns are no longer practical. */
@media (min-width: 760px) and (max-width: 1099px) {
  #bl-site .feature-five,
  #bl-site .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 759px) {
  #bl-site .feature-five,
  #bl-site .products {
    grid-template-columns: 1fr !important;
  }
}


/* ===== v18 hero: true centered group + exact vertical center ===== */
#bl-site .hero-copy-simple {
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(34px, 3vw, 58px) !important;
  text-align: left !important;
}

#bl-site .hero-mark {
  flex: 0 0 clamp(220px, 15vw, 270px) !important;
  width: clamp(220px, 15vw, 270px) !important;
  max-width: 270px !important;
  margin: 0 !important;
  transform: none !important;
  justify-self: auto !important;
}

#bl-site .hero-mark img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

#bl-site .hero-copy-simple h1 {
  flex: 0 1 auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  font-size: clamp(3.2rem, 5.75vw, 6.45rem) !important;
  line-height: .92 !important;
  white-space: nowrap !important;
  justify-self: auto !important;
}

/* Preserve five-card rows on practical desktop widths. */
@media (min-width: 1100px) {
  #bl-site .feature-five,
  #bl-site .products {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

/* At widths where the hero can no longer remain balanced, stack it cleanly. */
@media (max-width: 1099px) {
  #bl-site .hero-copy-simple {
    flex-direction: column !important;
    gap: 20px !important;
    text-align: center !important;
  }
  #bl-site .hero-mark {
    width: min(250px, 58vw) !important;
    flex-basis: auto !important;
  }
  #bl-site .hero-copy-simple h1 {
    white-space: normal !important;
    text-align: center !important;
  }
}


/* ===== v19 YouTube embed ===== */
#bl-site .video-screen.video-embed {
  position: relative !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: #000 !important;
}
#bl-site .video-screen.video-embed iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block !important;
}


/* ===== v23 centered transparent hero mark + placeholders restored ===== */
#bl-site .hero-copy-simple {
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(34px, 3vw, 60px) !important;
  text-align: left !important;
}

#bl-site .hero-mark {
  flex: 0 0 clamp(235px, 16vw, 290px) !important;
  width: clamp(235px, 16vw, 290px) !important;
  max-width: 290px !important;
  margin: 0 !important;
  transform: none !important;
}

#bl-site .hero-mark img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

#bl-site .hero-copy-simple h1 {
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  font-size: clamp(3.25rem, 5.9vw, 6.6rem) !important;
  line-height: 0.92 !important;
  white-space: nowrap !important;
}

@media (max-width: 1099px) {
  #bl-site .hero-copy-simple {
    flex-direction: column !important;
    gap: 22px !important;
    text-align: center !important;
  }
  #bl-site .hero-copy-simple h1 {
    white-space: normal !important;
    text-align: center !important;
  }
}


/* ===== v28 overlay card spacing/alignment ===== */
#bl-site .default-bug-fencer {
  align-items: flex-start !important;
  gap: 12px !important;
}

#bl-site .default-bug-fencer.left {
  justify-content: flex-start !important;
}

#bl-site .default-bug-fencer.right {
  justify-content: flex-end !important;
}

#bl-site .default-bug-cards {
  gap: 3px !important;
  margin-top: 2px !important; /* align cards with the name row rather than the name+club block center */
}

#bl-site .default-bug-person {
  justify-content: flex-start !important;
}


/* ===== v29 cards live on the fencer-name row ===== */
#bl-site .default-bug-fencer {
  align-items: center !important;
  gap: 0 !important;
}

#bl-site .default-bug-person {
  width: 100% !important;
}

#bl-site .default-bug-name-row {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
  width: 100% !important;
}

#bl-site .default-bug-fencer.left .default-bug-name-row {
  justify-content: flex-start !important;
}

#bl-site .default-bug-fencer.right .default-bug-name-row {
  justify-content: flex-end !important;
}

#bl-site .default-bug-name-row .default-bug-cards {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
  margin-top: 0 !important;
  flex: 0 0 auto !important;
}

#bl-site .default-bug-fencer.left .default-bug-cards {
  margin-left: 16px !important;
}

#bl-site .default-bug-fencer.right .default-bug-cards {
  margin-right: 16px !important;
}

#bl-site .default-bug-name-row .default-bug-cards:empty {
  display: none !important;
}


/* ===== v30 fictional club rotation ===== */
#bl-site .club-logo-img {
  object-fit: contain !important;
  background: #fff !important;
}


/* ===== v33 responsive club-logo-to-text breathing room ===== */
/*
   The logo itself stays the same size.
   On roomy desktop layouts, double the current 16px inner gutter to 32px.
   As the viewport narrows, the gutter contracts back toward the existing spacing.
   Existing small/mobile overrides remain authoritative when truly compressed.
*/
@media (min-width: 601px) {
  #bl-site .default-bug-authentic .default-bug-body {
    padding-left: clamp(16px, 1.75vw, 32px) !important;
    padding-right: clamp(16px, 1.75vw, 32px) !important;
  }
}

@media (min-width: 1400px) {
  #bl-site .default-bug-authentic .default-bug-body {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
}


/* ===== v34 feature copy/order/icon refinement ===== */
#bl-site .feature-five .card .icon svg {
  width: 24px;
  height: 24px;
  display: block;
  overflow: visible;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#bl-site .feature-five .card .icon-replay svg {
  width: 23px;
  height: 23px;
}

#bl-site .feature-five .card .icon-gears svg {
  width: 25px;
  height: 25px;
}

#bl-site .feature-five .card .icon-camera svg,
#bl-site .feature-five .card .icon-bars svg {
  width: 24px;
  height: 24px;
}

#bl-site .feature-five .card .icon-bars svg rect {
  fill: currentColor;
  stroke: none;
}

#bl-site .feature-five .card .icon-record span {
  width: 10.5px;
  height: 10.5px;
}

#bl-site .feature-five .card .card-title-row {
  align-items: center;
}


/* ===== v35 club-logo edge gutter ===== */
/*
   Add an outer left/right gutter so the club-logo boxes do not sit flush
   against the overlay edges. Match this gutter to the visual breathing room
   above and below the square logo boxes.
*/
#bl-site .default-bug-authentic .default-bug-main {
  padding-left: 8px !important;
  padding-right: 8px !important;
  align-items: center !important;
}

@media (max-width: 600px) {
  #bl-site .default-bug-authentic .default-bug-main {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
}


/* ===== v36 correct club-logo outer inset ===== */
/*
   Undo v35's main-row side padding.
   Keep the top event bar and bottom tournament bar spanning the full overlay width.
   Instead, inset only the left/right club-logo boxes by the same visual amount
   as the padding above and below the square logo boxes.
*/
#bl-site .default-bug-authentic .default-bug-main {
  padding-left: 0 !important;
  padding-right: 0 !important;
  align-items: stretch !important;
}

#bl-site .default-bug-authentic .default-bug-logo.left {
  margin-left: 7px !important;
}

#bl-site .default-bug-authentic .default-bug-logo.right {
  margin-right: 7px !important;
}

@media (max-width: 600px) {
  #bl-site .default-bug-authentic .default-bug-main {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #bl-site .default-bug-authentic .default-bug-logo.left {
    margin-left: 4px !important;
  }

  #bl-site .default-bug-authentic .default-bug-logo.right {
    margin-right: 4px !important;
  }
}


/* ===== v39 feature icon refinement ===== */
#bl-site .feature-five .card .icon-gears svg {
  width: 27px;
  height: 27px;
}

#bl-site .feature-five .card .icon-gears svg rect {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
}

#bl-site .feature-five .card .icon-camera svg {
  width: 26px;
  height: 26px;
}


/* ===== v40 icon style closer to supplied references ===== */
#bl-site .feature-five .card .icon-gears svg {
  width: 28px;
  height: 28px;
  stroke: none;
  fill: currentColor;
}

#bl-site .feature-five .card .icon-gears .gear-hole {
  fill: rgba(20, 7, 10, 0.92);
}

#bl-site .feature-five .card .icon-camera svg {
  width: 28px;
  height: 28px;
  stroke: none;
  fill: currentColor;
}

#bl-site .feature-five .card .icon-camera .camera-body,
#bl-site .feature-five .card .icon-camera .camera-lens {
  fill: currentColor;
}


/* ===== v41 rebuilt scoring-gear icon ===== */
#bl-site .feature-five .card .icon-gears svg {
  width: 28px;
  height: 28px;
  fill: currentColor;
  stroke: none;
  overflow: visible;
}

#bl-site .feature-five .card .icon-gears .gear-hole {
  fill: rgba(18, 8, 10, 0.96);
}


/* ===== v42 exact user-supplied gear icon ===== */
#bl-site .feature-five .card .icon-gears .gear-icon-img {
  width: 29px;
  height: 29px;
  display: block;
  object-fit: contain;
}


/* ===== v45 expandable feature / product prototype ===== */
#bl-site .expandable-card {
  position: relative;
  cursor: pointer;
  transition: border-color .2s ease, transform .2s ease, background .2s ease, box-shadow .2s ease;
  outline: none;
}
#bl-site .expandable-card:hover,
#bl-site .expandable-card:focus-visible {
  border-color: rgba(255,115,123,.58) !important;
  transform: translateY(-2px);
}
#bl-site .expandable-card.is-open {
  border-color: rgba(255,115,123,.72) !important;
  background: linear-gradient(180deg, rgba(229,9,20,.09), rgba(255,255,255,.025)) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}
#bl-site .expand-arrow {
  position: absolute;
  right: 16px;
  bottom: 14px;
  width: 31px;
  height: 31px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  background: rgba(255,255,255,.045);
  color: #e9edf2;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
  z-index: 2;
}
#bl-site .expand-arrow span {
  display: block;
  font-size: 1.35rem;
  line-height: 1;
  transform: translateY(-2px);
  transition: transform .22s ease;
}
#bl-site .expandable-card.is-open .expand-arrow {
  background: rgba(229,9,20,.15);
  border-color: rgba(255,115,123,.5);
}
#bl-site .expandable-card.is-open .expand-arrow span {
  transform: translateY(1px) rotate(180deg);
}
#bl-site .feature-five .card,
#bl-site .product-card-expand {
  padding-bottom: 62px !important;
}

#bl-site .expand-detail-shell {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-8px);
  transition: max-height .42s ease, opacity .24s ease, transform .32s ease, margin-top .32s ease;
  margin-top: 0;
}
#bl-site .expand-detail-shell.is-open {
  max-height: 1100px;
  opacity: 1;
  transform: translateY(0);
  margin-top: 18px;
}
#bl-site .expand-detail {
  width: 100%;
  border: 1px solid var(--bl-line);
  border-radius: 18px;
  background:
    radial-gradient(circle at 12% 0%, rgba(229,9,20,.12), transparent 34%),
    linear-gradient(180deg, #101216, #0b0d10);
  padding: clamp(24px, 3vw, 44px);
  box-shadow: 0 22px 60px rgba(0,0,0,.25);
}
#bl-site .detail-grid {
  display: grid;
  grid-template-columns: minmax(0,.92fr) minmax(340px,1.08fr);
  gap: clamp(28px,4vw,64px);
  align-items: center;
}
#bl-site .detail-kicker {
  color: var(--bl-red-2);
  font-size: .73rem;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}
#bl-site .detail-copy h3 {
  margin: 8px 0 13px;
  color: #fff;
  font-size: clamp(1.7rem,3vw,2.7rem);
  line-height: 1;
  letter-spacing: -.045em;
}
#bl-site .detail-copy > p {
  margin: 0;
  color: #c7cbd2;
  font-size: clamp(.94rem,1.25vw,1.05rem);
  line-height: 1.68;
  max-width: 700px;
}
#bl-site .detail-points {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 22px;
}
#bl-site .detail-point {
  min-height: 78px;
  padding: 14px 15px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.085);
  background: rgba(255,255,255,.03);
}
#bl-site .detail-point b {
  display: block;
  color: #fff;
  font-size: .85rem;
  margin-bottom: 4px;
}
#bl-site .detail-point span {
  color: #9ea5af;
  font-size: .77rem;
  line-height: 1.42;
}
#bl-site .detail-visual {
  min-height: 310px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.1);
  background: #080a0d;
  overflow: hidden;
  position: relative;
  display: grid;
  place-items: center;
}
#bl-site .detail-visual::after {
  content: "DEMO VISUAL";
  position: absolute;
  top: 13px;
  right: 14px;
  color: rgba(255,255,255,.35);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .12em;
}
#bl-site .mock-window {
  width: min(88%,620px);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 14px;
  background: #11141a;
  box-shadow: 0 18px 50px rgba(0,0,0,.36);
  overflow: hidden;
}
#bl-site .mock-top {
  height: 30px;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 11px;
  background: #181b21;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
#bl-site .mock-dot { width: 7px; height: 7px; border-radius: 50%; background: #555b65; }
#bl-site .mock-body { padding: 16px; }
#bl-site .mock-video {
  aspect-ratio: 16/8.3;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(229,9,20,.18), transparent 40%),
    linear-gradient(180deg,#232832,#11141a);
  position: relative;
  overflow: hidden;
}
#bl-site .mock-video::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  bottom: 22%;
  height: 6px;
  border-radius: 3px;
  background: linear-gradient(90deg,#d0d3d8 0 48%,#707781 48% 52%,#d0d3d8 52%);
  opacity: .72;
}
#bl-site .mock-video::after {
  content: "▶";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 2rem;
  opacity: .85;
}
#bl-site .mock-controls {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 7px;
  margin-top: 10px;
}
#bl-site .mock-control {
  height: 27px;
  border-radius: 6px;
  background: #1b1f26;
  border: 1px solid rgba(255,255,255,.06);
}
#bl-site .mock-score {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  padding: 16px;
}
#bl-site .mock-fencer { height: 72px; border-radius: 8px; background: #1b1f26; position:relative; }
#bl-site .mock-fencer::before { content:""; position:absolute; inset:auto 12px 13px; height:7px; border-radius:4px; background:#525965; }
#bl-site .mock-fencer.left::after, #bl-site .mock-fencer.right::after { content:""; position:absolute; top:0; left:0; right:0; height:7px; opacity:.85; }
#bl-site .mock-fencer.left::after { background:#e6292f; }
#bl-site .mock-fencer.right::after { background:#39c963; }
#bl-site .mock-timer { font-size: 1.45rem; font-weight: 950; color:#fff; }
#bl-site .mock-bars { display:flex; align-items:flex-end; justify-content:center; gap:12px; height:180px; padding:28px 20px 22px; }
#bl-site .mock-bar { width:32px; border-radius:6px 6px 2px 2px; background:linear-gradient(180deg,#ff737b,#9c1219); }
#bl-site .mock-bar:nth-child(1){height:42%}.mock-bar:nth-child(2){height:73%}.mock-bar:nth-child(3){height:56%}.mock-bar:nth-child(4){height:88%}.mock-bar:nth-child(5){height:66%}
#bl-site .mock-recording { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; padding:18px; }
#bl-site .mock-file { height:68px; border-radius:8px; background:#1a1e24; border:1px solid rgba(255,255,255,.06); padding:10px; }
#bl-site .mock-file::before { content:""; display:block; width:56%; height:7px; border-radius:4px; background:#626975; margin-bottom:8px; }
#bl-site .mock-file::after { content:""; display:block; width:78%; height:5px; border-radius:4px; background:#353b45; }
#bl-site .mock-connect { display:flex; align-items:center; justify-content:center; gap:20px; height:210px; }
#bl-site .mock-machine { width:120px; height:76px; border-radius:10px; background:#20252c; border:1px solid rgba(255,255,255,.1); position:relative; }
#bl-site .mock-machine::before { content:""; position:absolute; top:15px; left:15px; width:13px; height:13px; border-radius:50%; background:#e6292f; box-shadow:28px 0 #39c963, 56px 0 #fff; }
#bl-site .mock-machine::after { content:""; position:absolute; left:16px; right:16px; bottom:15px; height:8px; border-radius:4px; background:#59616d; }
#bl-site .mock-link { width:82px; height:3px; background:linear-gradient(90deg,#ff737b,#606772); position:relative; }
#bl-site .mock-link::after { content:"›"; position:absolute; right:-4px; top:50%; transform:translateY(-55%); color:#ff737b; font-size:1.5rem; }
#bl-site .mock-app { width:105px; height:105px; border-radius:16px; background:#171b21; border:1px solid rgba(255,255,255,.1); display:grid; place-items:center; color:#ff737b; font-size:2rem; font-weight:950; }

#bl-site .product-detail .detail-grid { align-items: stretch; }
#bl-site .product-buybox {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 310px;
  padding: clamp(22px,3vw,34px);
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.11);
  background: linear-gradient(145deg, rgba(229,9,20,.1), rgba(255,255,255,.025) 50%);
}
#bl-site .product-buybox small { color:#8f969f; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
#bl-site .product-buybox h4 { margin:8px 0 8px; font-size:1.55rem; color:#fff; letter-spacing:-.035em; }
#bl-site .product-buybox p { color:#aeb4bd; line-height:1.55; font-size:.88rem; }
#bl-site .product-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
#bl-site .product-action {
  min-height: 42px;
  padding: 0 16px;
  border-radius: 9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:900;
  font-size:.82rem;
  border:1px solid rgba(255,255,255,.12);
  cursor:pointer;
}
#bl-site .product-action.primary { color:#fff; background:var(--bl-red); border-color:var(--bl-red); }
#bl-site .product-action.secondary { color:#fff; background:rgba(255,255,255,.04); }
#bl-site .link-demo-note { margin-top:12px; color:#777f8a; font-size:.72rem; line-height:1.4; }

@media (max-width: 850px) {
  #bl-site .detail-grid { grid-template-columns: 1fr; }
  #bl-site .detail-visual { min-height: 260px; }
}
@media (max-width: 600px) {
  #bl-site .expand-detail { padding:20px; border-radius:14px; }
  #bl-site .detail-points { grid-template-columns:1fr; }
  #bl-site .expand-arrow { width:29px; height:29px; right:13px; bottom:12px; }
  #bl-site .feature-five .card, #bl-site .product-card-expand { padding-bottom:56px !important; }
}


/* ===== v46 restore exact scoring-machine gear asset ===== */
#bl-site .feature-five .card .icon-gears .gear-icon-img {
  width: 29px !important;
  height: 29px !important;
  object-fit: contain !important;
  display: block !important;
}


/* ===== v47 simplified expand arrows ===== */
#bl-site .expand-arrow {
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #aeb4bd !important;
  right: 14px !important;
  bottom: 12px !important;
  padding: 0 !important;
}

#bl-site .expand-arrow:hover,
#bl-site .expandable-card:hover .expand-arrow,
#bl-site .expandable-card:focus-visible .expand-arrow {
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
}

#bl-site .expandable-card.is-open .expand-arrow {
  background: transparent !important;
  border: 0 !important;
  color: #ff737b !important;
}

#bl-site .expand-arrow span {
  font-size: 1.45rem !important;
  line-height: 1 !important;
  transform: translateY(-2px) !important;
}

#bl-site .expandable-card.is-open .expand-arrow span {
  transform: translateY(1px) rotate(180deg) !important;
}


/* ===== v50 footer social links ===== */
#bl-site .footer-socials {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}

#bl-site .social-link {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  position: relative;
  color: #d9dde3;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 9px;
  text-decoration: none;
  transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

#bl-site a.social-link:hover,
#bl-site a.social-link:focus-visible {
  color: #fff;
  border-color: rgba(255,115,123,.48);
  background: rgba(229,9,20,.09);
  transform: translateY(-1px);
  outline: none;
}

#bl-site .social-link svg {
  width: 20px;
  height: 20px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#bl-site .social-link .social-fill {
  fill: currentColor;
  stroke: none;
}

#bl-site .social-link.youtube svg {
  fill: currentColor;
  stroke: none;
}

#bl-site .social-link.youtube .social-cut {
  fill: #0d0f12;
}

#bl-site .social-link.coming-soon {
  opacity: .42;
  cursor: default;
}

#bl-site .social-coming-label {
  position: absolute;
  top: -6px;
  right: -7px;
  padding: 2px 4px;
  border-radius: 4px;
  background: #25282e;
  border: 1px solid rgba(255,255,255,.1);
  color: #aab0b9;
  font-size: .45rem;
  font-weight: 950;
  letter-spacing: .06em;
}


/* ===== v54 purpose-built mobile website layout ===== */

#bl-site .mobile-title-break,
#bl-site .mobile-overlay-shell {
  display: none;
}

/*
  Desktop/tablet continues to use the normal site.
  Phones switch to a tighter hero and a purpose-built overlay rather than
  reflowing the desktop scorebug into an unreadable shape.
*/
@media (max-width: 700px) {
  html, body {
    overflow-x: hidden;
  }

  #bl-site .wrap {
    width: min(100% - 24px, 1700px) !important;
  }

  /* ----- Mobile hero ----- */
  #bl-site .hero {
    min-height: 0 !important;
    height: auto !important;
    padding: 34px 0 46px !important;
    display: block !important;
  }

  #bl-site .hero-copy-simple {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 22px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  #bl-site .hero-mark {
    flex: 0 0 auto !important;
    width: clamp(190px, 50vw, 225px) !important;
    max-width: 225px !important;
    height: auto !important;
    margin: 0 auto !important;
    transform: none !important;
    overflow: visible !important;
  }

  #bl-site .hero-mark img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    transform: none !important;
  }

  #bl-site .hero-copy-simple h1 {
    width: 100% !important;
    max-width: 390px !important;
    margin: 0 auto !important;
    white-space: normal !important;
    text-align: center !important;
    font-size: clamp(2.55rem, 12.2vw, 3.55rem) !important;
    line-height: .92 !important;
    letter-spacing: -.062em !important;
  }

  #bl-site .mobile-title-break {
    display: inline;
  }

  /* ----- Mobile animated overlay ----- */
  #bl-site .overlay-showcase {
    padding: 22px 0 42px !important;
  }

  #bl-site .overlay-showcase .wrap {
    width: calc(100% - 16px) !important;
  }

  #bl-site .overlay-wide-console {
    display: none !important;
  }

  #bl-site .mobile-overlay-shell {
    display: block;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
  }

  #bl-site .mobile-overlay-demo {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #000;
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 16px 42px rgba(0,0,0,.34);
  }

  #bl-site .mobile-demo-lamps {
    position: absolute;
    inset: 0 0 auto;
    height: 7px;
    pointer-events: none;
    z-index: 5;
  }

  #bl-site .mobile-demo-lamp {
    position: absolute;
    top: 0;
    width: 50%;
    height: 7px;
    background: transparent;
  }

  #bl-site .mobile-demo-lamp.left { left: 0; }
  #bl-site .mobile-demo-lamp.right { right: 0; }

  #bl-site .mobile-demo-lamp[data-state="red"] {
    background: #e71922;
    box-shadow: 0 0 13px rgba(231,25,34,.78);
  }
  #bl-site .mobile-demo-lamp[data-state="green"] {
    background: #28bf62;
    box-shadow: 0 0 13px rgba(40,191,98,.72);
  }
  #bl-site .mobile-demo-lamp[data-state="white"] {
    background: #e9edf2;
    box-shadow: 0 0 13px rgba(255,255,255,.75);
  }

  #bl-site .mobile-demo-event {
    min-height: 31px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 7px 8px 5px;
    background: linear-gradient(180deg,#2b2c2e,#18191b);
    border-bottom: 1px solid rgba(255,255,255,.08);
    color: #f4f5f7;
    font-size: clamp(.66rem, 2.7vw, .82rem);
    font-weight: 900;
    letter-spacing: .025em;
    text-align: center;
    box-sizing: border-box;
  }

  #bl-site .mobile-demo-main {
    min-height: 88px;
    display: grid;
    grid-template-columns:
      clamp(46px, 13vw, 58px)
      minmax(0, 1fr)
      clamp(23px, 6.5vw, 29px)
      clamp(50px, 14vw, 60px)
      clamp(23px, 6.5vw, 29px)
      minmax(0, 1fr)
      clamp(46px, 13vw, 58px);
    gap: clamp(2px, .8vw, 4px);
    align-items: center;
    padding: 7px 4px;
    box-sizing: border-box;
    background: #030303;
  }

  #bl-site .mobile-demo-logo {
    aspect-ratio: 1 / 1;
    width: 100%;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #fff;
  }

  #bl-site .mobile-demo-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  #bl-site .mobile-demo-fencer {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
  }

  #bl-site .mobile-demo-fencer.left {
    align-items: flex-start;
    text-align: left;
  }

  #bl-site .mobile-demo-fencer.right {
    align-items: flex-end;
    text-align: right;
  }

  #bl-site .mobile-demo-name-row {
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 3px;
  }

  #bl-site .mobile-demo-fencer.right .mobile-demo-name-row {
    justify-content: flex-end;
  }

  #bl-site .mobile-demo-name {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #fff;
    font-size: clamp(.62rem, 2.55vw, .76rem);
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.015em;
  }

  #bl-site .mobile-demo-club {
    display: block;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #8d939b;
    font-size: clamp(.39rem, 1.55vw, .49rem);
    line-height: 1.05;
    font-weight: 750;
  }

  #bl-site .mobile-demo-score {
    color: #fff;
    font-size: clamp(1.52rem, 7vw, 2rem);
    line-height: 1;
    font-weight: 950;
    text-align: center;
    font-variant-numeric: tabular-nums;
  }

  #bl-site .mobile-demo-timebox {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
  }

  #bl-site .mobile-demo-pips {
    min-height: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
  }

  #bl-site .mobile-demo-pips .period-pip {
    width: 5px !important;
    height: 5px !important;
    border-width: 1px !important;
  }

  #bl-site .mobile-demo-timer {
    color: #fff;
    font-size: clamp(.82rem, 3.9vw, 1.02rem);
    line-height: 1;
    font-weight: 950;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
  }

  #bl-site .mobile-demo-cards {
    display: inline-flex;
    gap: 2px;
    flex: 0 0 auto;
  }

  #bl-site .mobile-demo-cards .default-card {
    width: 5px !important;
    height: 9px !important;
    min-width: 5px !important;
    border-width: 0 !important;
    font-size: 0 !important;
  }

  #bl-site .mobile-demo-tournament {
    min-height: 27px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    background: linear-gradient(180deg,#5d5d5f,#39393b);
    color: #fff;
    font-size: clamp(.57rem, 2.3vw, .7rem);
    line-height: 1;
    font-weight: 950;
    letter-spacing: .11em;
    text-align: center;
    box-sizing: border-box;
  }
}

@media (max-width: 390px) {
  #bl-site .hero {
    padding-top: 28px !important;
  }

  #bl-site .hero-mark {
    width: 184px !important;
  }

  #bl-site .hero-copy-simple h1 {
    max-width: 330px !important;
    font-size: clamp(2.3rem, 12vw, 2.9rem) !important;
  }

  #bl-site .mobile-demo-main {
    grid-template-columns:
      44px minmax(0,1fr) 22px 48px 22px minmax(0,1fr) 44px;
    gap: 2px;
    padding-left: 3px;
    padding-right: 3px;
  }
}


/* ===== v56 mobile inline expandable details ===== */
@media (max-width: 700px) {
  #bl-site .expandable-grid > .expand-detail-shell {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* A collapsed shell that remains parked beside the last tapped card should
     not create an empty grid row or extra gap. */
  #bl-site .expandable-grid > .expand-detail-shell:not(.is-open) {
    display: none !important;
  }

  #bl-site .expandable-grid > .expand-detail-shell.is-open {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 2px !important;
  }

  #bl-site .expandable-grid > .expand-detail-shell .expand-detail {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}


/* ===== v57 larger mobile hero mark + stacked mobile title ===== */
#bl-site .hero-title-line {
  display: inline;
}
#bl-site .hero-title-line + .hero-title-line::before {
  content: " ";
}

@media (max-width: 700px) {
  #bl-site .hero-copy-simple {
    gap: 16px !important;
  }

  #bl-site .hero-mark {
    width: clamp(285px, 75vw, 338px) !important;
    max-width: 338px !important;
    flex-basis: auto !important;
  }

  #bl-site .hero-copy-simple h1 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  #bl-site .hero-title-line {
    display: block !important;
  }

  #bl-site .hero-title-line + .hero-title-line::before {
    content: none !important;
  }
}

@media (max-width: 390px) {
  #bl-site .hero-mark {
    width: min(276px, 78vw) !important;
    max-width: 276px !important;
  }
}


/* ===== v58 larger desktop hero mark + wider mobile title ===== */

/* Non-mobile: enlarge the red-circle/fencer mark by 50% from the prior
   ~235–290px range, while preserving its exact geometry. */
@media (min-width: 701px) {
  #bl-site .hero-copy-simple {
    gap: clamp(42px, 4vw, 74px) !important;
  }

  #bl-site .hero-mark {
    flex: 0 0 clamp(353px, 24vw, 435px) !important;
    width: clamp(353px, 24vw, 435px) !important;
    max-width: 435px !important;
  }
}

/* Mobile: keep the larger mark from v57 and make each stacked word
   visually 50% wider without changing its height. */
@media (max-width: 700px) {
  #bl-site .hero-copy-simple h1 {
    width: 100% !important;
    overflow: visible !important;
  }

  #bl-site .hero-title-line {
    transform: none !important;
    white-space: nowrap !important;
  }
}


/* ===== v59 proportional 50% larger mobile title ===== */
@media (max-width: 700px) {
  #bl-site .hero-copy-simple h1 {
    font-size: clamp(3.825rem, 18.3vw, 5.325rem) !important;
    line-height: .92 !important;
  }

  #bl-site .hero-title-line {
    transform: none !important;
    letter-spacing: -.062em !important;
  }
}

@media (max-width: 390px) {
  #bl-site .hero-copy-simple h1 {
    font-size: clamp(3.45rem, 18vw, 4.35rem) !important;
  }
}


/* ===== v60 compact desktop hero + mobile logo/name breathing room ===== */

/*
  Keep the non-mobile hero artwork visually 50% larger, but don't let the
  enlarged image force the whole hero row to become 50% taller.
*/
@media (min-width: 701px) {
  #bl-site .hero {
    padding-top: 58px !important;
    padding-bottom: 18px !important;
  }

  #bl-site .hero-copy-simple {
    gap: clamp(92px, 6vw, 120px) !important;
  }

  #bl-site .hero-mark {
    flex: 0 0 clamp(235px, 16vw, 290px) !important;
    width: clamp(235px, 16vw, 290px) !important;
    max-width: 290px !important;
    overflow: visible !important;
  }

  #bl-site .hero-mark img {
    transform: scale(1.5) !important;
    transform-origin: center center !important;
  }
}

/* Give club logos and fencer identity blocks a little more separation on phones. */
@media (max-width: 700px) {
  #bl-site .mobile-demo-fencer.left {
    padding-left: 6px !important;
    box-sizing: border-box !important;
  }

  #bl-site .mobile-demo-fencer.right {
    padding-right: 6px !important;
    box-sizing: border-box !important;
  }
}


/* ===== v61 balanced hero spacing using tightly cropped transparent mark ===== */

/* Desktop/tablet: equal breathing room above and below the visible logo.
   The cropped image removes invisible canvas that was making the spacing
   look uneven even when the CSS box was mathematically centered. */
@media (min-width: 701px) {
  #bl-site .hero {
    padding-top: 46px !important;
    padding-bottom: 46px !important;
  }

  #bl-site .hero-copy-simple {
    align-items: center !important;
  }

  #bl-site .hero-mark {
    flex: 0 0 clamp(310px, 21vw, 385px) !important;
    width: clamp(310px, 21vw, 385px) !important;
    max-width: 385px !important;
    overflow: visible !important;
  }

  #bl-site .hero-mark img {
    transform: none !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }
}

/* Mobile: remove the extra empty space around the logo and tighten the gap
   between the mark and stacked headline. */
@media (max-width: 700px) {
  #bl-site .hero {
    padding-top: 22px !important;
    padding-bottom: 28px !important;
  }

  #bl-site .hero-copy-simple {
    gap: 8px !important;
  }

  #bl-site .hero-mark {
    width: clamp(245px, 67vw, 305px) !important;
    max-width: 305px !important;
    margin: 0 auto !important;
  }

  #bl-site .hero-mark img {
    transform: none !important;
    width: 100% !important;
    height: auto !important;
  }
}

@media (max-width: 390px) {
  #bl-site .hero {
    padding-top: 18px !important;
    padding-bottom: 24px !important;
  }

  #bl-site .hero-mark {
    width: min(250px, 70vw) !important;
    max-width: 250px !important;
  }
}


/* ===== v62 mobile footer vertical alignment ===== */
@media (max-width: 700px) {
  #bl-site .footer-brand {
    align-items: center !important;
  }

  #bl-site .footer-socials {
    margin-top: 0 !important;
    align-self: center !important;
  }

  #bl-site .footer-brand-copy {
    min-height: 36px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-self: center !important;
  }

  #bl-site .footer-brand-copy > div {
    line-height: 1.25 !important;
  }
}


/* ===== v63 footer copyright aligned to right edge on desktop + mobile ===== */
#bl-site .footer-brand {
  width: 100% !important;
}

#bl-site .footer-brand-copy {
  margin-left: auto !important;
  text-align: right !important;
  align-items: flex-end !important;
}


/* ===== v64 desktop hero rebalance: reduce top-heavy empty space ===== */
@media (min-width: 701px) {
  #bl-site .hero {
    min-height: 0 !important;
    padding-top: 28px !important;
    padding-bottom: 34px !important;
    display: flex !important;
    align-items: center !important;
  }

  #bl-site .hero-copy-simple {
    transform: translateY(-14px) !important;
  }
}


/* ===== v65 true tight logo crop + symmetric mobile hero spacing ===== */

/* The logo file itself is now tightly cropped to visible artwork. */
#bl-site .hero-mark img {
  object-fit: contain !important;
}

/* On phones, use equal spacing to the two hero dividers. */
@media (max-width: 700px) {
  #bl-site .hero {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  #bl-site .hero-copy-simple {
    gap: 8px !important;
    transform: none !important;
  }

  #bl-site .hero-mark {
    width: clamp(245px, 67vw, 305px) !important;
    max-width: 305px !important;
    margin: 0 auto !important;
  }

  #bl-site .hero-mark img {
    width: 100% !important;
    height: auto !important;
    transform: none !important;
  }
}

@media (max-width: 390px) {
  #bl-site .hero {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  #bl-site .hero-mark {
    width: min(250px, 70vw) !important;
    max-width: 250px !important;
  }
}


/* ===== v66 desktop spacing correction + mobile circle centering ===== */

/* Remove any visible box behind the transparent logo. */
#bl-site .hero-mark {
  background: transparent !important;
}

/* Desktop / non-mobile:
   Make the gap from the top of the red circle to the upper divider
   visually match the gap from the bottom of the headline to the lower divider. */
@media (min-width: 701px) {
  #bl-site .hero {
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    padding-top: 54px !important;
    padding-bottom: 10px !important;
  }

  #bl-site .hero-copy-simple {
    transform: none !important;
    align-items: center !important;
    gap: clamp(72px, 5vw, 112px) !important;
  }

  #bl-site .hero-mark {
    flex: 0 0 clamp(320px, 21vw, 390px) !important;
    width: clamp(320px, 21vw, 390px) !important;
    max-width: 390px !important;
    margin: 0 !important;
    overflow: visible !important;
    justify-self: start !important;
  }

  #bl-site .hero-mark img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    transform: none !important;
    object-fit: contain !important;
  }

  #bl-site .hero-copy-simple h1 {
    margin: 0 !important;
    line-height: 0.92 !important;
  }
}

/* Mobile:
   keep the current good vertical spacing, but ensure the red circle itself
   is horizontally centered within the hero mark asset. */
@media (max-width: 700px) {
  #bl-site .hero {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  #bl-site .hero-copy-simple {
    gap: 8px !important;
    transform: none !important;
  }

  #bl-site .hero-mark {
    width: clamp(245px, 67vw, 305px) !important;
    max-width: 305px !important;
    margin: 0 auto !important;
    overflow: visible !important;
  }

  #bl-site .hero-mark img {
    width: 100% !important;
    height: auto !important;
    transform: none !important;
    object-fit: contain !important;
  }
}

@media (max-width: 390px) {
  #bl-site .hero {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  #bl-site .hero-mark {
    width: min(250px, 70vw) !important;
    max-width: 250px !important;
  }
}

/* ===== v67 desktop hero optical centering ===== */
/* Desktop only: move the entire visible hero group upward ~16px.
   Mobile remains exactly as in v66. */
@media (min-width: 701px) {
  #bl-site .hero-copy-simple {
    transform: translateY(-16px) !important;
  }
}


/* ===== v68 final desktop hero optical balance ===== */
/* v67 was ~18px too high. Move the desktop hero group down 18px.
   Mobile remains unchanged. */
@media (min-width: 701px) {
  #bl-site .hero-copy-simple {
    transform: translateY(2px) !important;
  }
}


/* ===== v69 measured desktop hero optical balance ===== */
/*
  Measured from the supplied v68 screenshot:
  upper divider -> red-circle top ≈ 74px
  Smarter bottom -> lower divider ≈ 65px
  Shift the complete desktop hero group upward 5px to equalize them.
  Mobile is untouched.
*/
@media (min-width: 701px) {
  #bl-site .hero-copy-simple {
    transform: translateY(-3px) !important;
  }
}


/* ===== v70 desktop hero/overlay divider removal ===== */
@media (min-width: 601px) {
  #bl-site .overlay-showcase {
    border-top: 0 !important;
  }
}


/* v71: match desktop overlay background to hero area */
@media (min-width: 601px) {
  #bl-site .overlay-showcase {
    background: transparent !important;
  }
}



/* ===== v72 desktop overlay bottom spacing ===== */
@media (min-width: 701px) {
  #bl-site .overlay-showcase {
    padding-bottom: 56px !important;
  }
}


/* ===== v73 intermediate hero layout for narrow desktop / tablet ===== */
/*
  Wide desktop (>1200px): current single-line headline.
  701–1200px: logo stays left; headline stacks vertically to its right.
  <=700px: existing mobile layout remains in control.
*/
@media (min-width: 701px) and (max-width: 1200px) {
  #bl-site .hero {
    min-height: 0 !important;
  }

  #bl-site .hero-copy-simple {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(30px, 5vw, 58px) !important;
    text-align: left !important;
    transform: none !important;
  }

  #bl-site .hero-mark {
    flex: 0 0 clamp(220px, 28vw, 320px) !important;
    width: clamp(220px, 28vw, 320px) !important;
    max-width: 320px !important;
    margin: 0 !important;
    transform: none !important;
  }

  #bl-site .hero-copy-simple h1 {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    white-space: normal !important;
    font-size: clamp(3rem, 7.4vw, 5.15rem) !important;
    line-height: .86 !important;
    letter-spacing: -.055em !important;
  }

  #bl-site .hero-title-line {
    display: block !important;
    white-space: nowrap !important;
    transform: none !important;
  }

  #bl-site .hero-title-line + .hero-title-line::before {
    content: none !important;
  }
}


/* ===== v75 simplified Product Line dropdowns ===== */
#bl-site .product-detail-simple {
  align-items: center !important;
}

#bl-site .product-detail-simple .detail-copy {
  align-self: center;
}

#bl-site .product-sales-link {
  min-height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

#bl-site .product-sales-link .product-action {
  min-width: min(280px, 100%);
  min-height: 50px;
  padding: 0 24px;
  font-size: .9rem;
}

@media (max-width: 850px) {
  #bl-site .product-sales-link {
    min-height: 0;
    justify-content: flex-start;
    padding: 6px 0 0;
  }

  #bl-site .product-sales-link .product-action {
    width: 100%;
    min-width: 0;
  }
}


/* ===== v76 consistent What BoutLink Does expanded-panel height ===== */
/* Desktop/tablet widths where the media panel sits to the right:
   every feature dropdown uses the same row height, and both columns stretch
   to fill it. Mobile/stacked behavior remains unchanged. */
@media (min-width: 851px) {
  #bl-site [data-detail-panel="features"] .detail-grid {
    height: 400px !important;
    min-height: 400px !important;
    align-items: stretch !important;
  }

  #bl-site [data-detail-panel="features"] .detail-copy {
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  #bl-site [data-detail-panel="features"] .detail-visual {
    height: 100% !important;
    min-height: 0 !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }
}


/* ===== v77 Product Line BoutLink brand-color titles ===== */
#bl-site #bl-products .brand-bout {
  color: #fff !important;
}

#bl-site #bl-products .brand-link {
  color: var(--bl-red) !important;
}


/* ===== v79 Product Line title treatment ===== */
/* Main Product Line cards remain plain white text. */
#bl-site #bl-products .products .brand-bout,
#bl-site #bl-products .products .brand-link {
  color: #fff !important;
}

/* Expanded product title uses the exact BoutLink wordmark + white product name. */
#bl-site .product-brand-title {
  margin: 10px 0 15px;
  display: flex;
  align-items: center;
  gap: clamp(10px, 1.1vw, 16px);
  min-width: 0;
}

#bl-site .product-brand-title img {
  display: block;
  width: clamp(190px, 20vw, 285px);
  height: auto;
  flex: 0 0 auto;
}

#bl-site .product-brand-title .product-brand-suffix {
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(1.75rem, 2.7vw, 2.65rem);
  font-weight: 850;
  line-height: 1;
  letter-spacing: -.045em;
  white-space: nowrap;
}

@media (max-width: 700px) {
  #bl-site .product-brand-title {
    gap: 9px;
    flex-wrap: nowrap;
  }

  #bl-site .product-brand-title img {
    width: clamp(145px, 45vw, 205px);
  }

  #bl-site .product-brand-title .product-brand-suffix {
    font-size: clamp(1.35rem, 6.5vw, 1.8rem);
  }
}


/* ===== v80 final hero centering + display-type spacing polish ===== */

/*
  The centered-circle hero asset intentionally contains extra transparent
  canvas on its left so the red circle itself is centered inside the image.
  Compensate for that invisible canvas when centering the visible logo +
  headline as a unit.
*/
@media (min-width: 1201px) {
  #bl-site .hero-copy-simple {
    transform: translate(-30px, -3px) !important;
  }
}

@media (min-width: 701px) and (max-width: 1200px) {
  #bl-site .hero-copy-simple {
    transform: translateX(clamp(-30px, -2vw, -18px)) !important;
  }
}

/* Slightly more natural tracking for the site's large/title typography. */
#bl-site .hero-copy-simple h1,
#bl-site .hero-title-line {
  letter-spacing: -0.035em !important;
}

#bl-site h2,
#bl-site .overlay-showcase-head h2 {
  letter-spacing: -0.032em !important;
}

#bl-site .card h3,
#bl-site .feature-five .card .card-title-row h3,
#bl-site .product h3 {
  letter-spacing: -0.008em !important;
}

#bl-site .detail-copy h3,
#bl-site .remen-copy h3,
#bl-site .product-buybox h4 {
  letter-spacing: -0.018em !important;
}

#bl-site .product-brand-title .product-brand-suffix {
  letter-spacing: -0.018em !important;
}

/* Preserve the established mobile hero geometry; only the tracking changes. */
@media (max-width: 700px) {
  #bl-site .hero-copy-simple {
    transform: none !important;
  }
}


/* ===== v81 dropdown overflow fix + product suffix logo matching ===== */

/* Never let an expanded dropdown clip its own contents. */
#bl-site .expand-detail-shell.is-open {
  max-height: 2400px !important;
}

/*
  Feature dropdowns:
  keep a consistent minimum desktop height, but allow the row to grow if
  any copy needs more room. Grid stretch then makes the visual match the
  text column's actual height instead of clipping the copy to a fixed box.
*/
@media (min-width: 1051px) {
  #bl-site [data-detail-panel="features"] .detail-grid {
    height: auto !important;
    min-height: 470px !important;
    align-items: stretch !important;
  }

  #bl-site [data-detail-panel="features"] .detail-copy {
    height: auto !important;
    min-height: 0 !important;
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  #bl-site [data-detail-panel="features"] .detail-visual {
    height: auto !important;
    min-height: 470px !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }
}

/* Stack the feature dropdown sooner rather than squeezing/cropping copy. */
@media (min-width: 851px) and (max-width: 1050px) {
  #bl-site [data-detail-panel="features"] .detail-grid {
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: 0 !important;
    align-items: stretch !important;
  }

  #bl-site [data-detail-panel="features"] .detail-copy {
    height: auto !important;
    min-height: 0 !important;
  }

  #bl-site [data-detail-panel="features"] .detail-visual {
    height: auto !important;
    min-height: 320px !important;
  }
}

/*
  Product dropdown suffixes: visually follow the slanted, wide BoutLink
  wordmark instead of using an upright UI heading face.
*/
#bl-site .product-brand-title .product-brand-suffix {
  color: #fff !important;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
  font-weight: 800 !important;
  font-style: italic !important;
  font-size: clamp(1.8rem, 2.8vw, 2.75rem) !important;
  line-height: .96 !important;
  letter-spacing: -0.05em !important;
  white-space: nowrap !important;
  display: inline-block !important;
  transform: scaleX(1.08) skewX(-2deg) !important;
  transform-origin: left center !important;
}


/* ===== v82 product dropdown title optical alignment ===== */
#bl-site .product-brand-title {
  align-items: center !important;
}

#bl-site .product-brand-title .product-brand-suffix {
  font-size: clamp(2.0rem, 3.05vw, 3.05rem) !important;
  line-height: 1 !important;
  align-self: center !important;
  transform: translateY(1px) scaleX(1.08) skewX(-2deg) !important;
  transform-origin: left center !important;
}

@media (max-width: 700px) {
  #bl-site .product-brand-title .product-brand-suffix {
    font-size: clamp(1.55rem, 7vw, 2.05rem) !important;
    transform: translateY(1px) scaleX(1.06) skewX(-2deg) !important;
  }
}


/* ===== v83 optical correction for lowercase t in product dropdown titles ===== */
#bl-site .product-brand-title .product-brand-t {
  position: relative;
  top: -0.025em;
}


/* ===== v84 Event Services header dropdown ===== */
#bl-site .nav {
  position: relative;
  z-index: 50;
}

#bl-site .event-services-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

#bl-site .event-services-toggle {
  appearance: none;
  border: 0;
  background: transparent;
  color: #d2d6dc;
  font: inherit;
  font-weight: 700;
  padding: 10px 2px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

#bl-site .event-services-toggle:hover,
#bl-site .event-services-toggle:focus-visible,
#bl-site .event-services-wrap.is-open .event-services-toggle {
  color: #fff;
}

#bl-site .event-services-chevron {
  display: inline-block;
  font-size: .9em;
  line-height: 1;
  transform: translateY(-1px);
  transition: transform .16s ease;
}

#bl-site .event-services-wrap.is-open .event-services-chevron {
  transform: translateY(1px) rotate(180deg);
}

#bl-site .event-services-menu {
  position: absolute;
  top: calc(100% + 12px);
  right: -12px;
  width: min(390px, calc(100vw - 40px));
  padding: 22px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: #101216;
  box-shadow: 0 24px 60px rgba(0,0,0,.52);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-7px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
  z-index: 100;
}

#bl-site .event-services-menu::before {
  content: "";
  position: absolute;
  top: -6px;
  right: 42px;
  width: 11px;
  height: 11px;
  border-left: 1px solid rgba(255,255,255,.12);
  border-top: 1px solid rgba(255,255,255,.12);
  background: #101216;
  transform: rotate(45deg);
}

#bl-site .event-services-wrap.is-open .event-services-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}


#bl-site .event-services-title {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: -.015em;
  line-height: 1.15;
  margin-bottom: 8px;
}

#bl-site .event-services-menu p {
  margin: 0 0 16px;
  color: #aeb4bd;
  font-size: .9rem;
  line-height: 1.5;
}


/* Preserve the established compact header at narrower widths. */
@media (max-width: 900px) {
  #bl-site .event-services-wrap {
    display: none !important;
  }
}


/* ===== v88 header nav spacing + neutral Event Services ===== */

/* Give the navigation links a little more separation from the Contact Us CTA. */
@media (min-width: 901px) {
  #bl-site .navlinks > .btn-primary {
    margin-left: 14px !important;
  }
}

/* Event Services should read exactly like the other ordinary nav links. */
#bl-site .event-services-toggle {
  color: inherit !important;
  font-weight: inherit !important;
}

#bl-site .event-services-toggle:hover,
#bl-site .event-services-toggle:focus-visible {
  color: #fff !important;
}

#bl-site .event-services-wrap.is-open .event-services-toggle {
  color: inherit !important;
}


/* ===== v89 footer alignment ===== */
#bl-site .foot {
  width: 100% !important;
}

#bl-site .footer-brand {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: auto auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
}

#bl-site .footer-brand > img {
  align-self: center !important;
  margin: 0 !important;
}

#bl-site .footer-socials {
  margin: 0 !important;
  align-self: center !important;
}

#bl-site .footer-brand-copy {
  margin: 0 !important;
  justify-self: end !important;
  align-self: center !important;
  min-height: 54px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-end !important;
  text-align: right !important;
}

#bl-site .footer-brand-copy > div {
  line-height: 1.25 !important;
}

@media (max-width: 700px) {
  #bl-site .footer-brand {
    grid-template-columns: auto auto minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  #bl-site .footer-brand-copy {
    min-height: 54px !important;
  }
}


/* ===== v90 footer edge inset ===== */
/* Pull both sides slightly toward center so nothing rides the viewport edge. */
#bl-site .footer-brand {
  box-sizing: border-box !important;
  padding-left: clamp(18px, 2.2vw, 36px) !important;
  padding-right: clamp(18px, 2.2vw, 36px) !important;
}

@media (max-width: 700px) {
  #bl-site .footer-brand {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}


/* ===== v91 footer logo cleanup + Event Services triangle ===== */
#bl-site .event-services-toggle {
  gap: 8px !important;
}

#bl-site .event-services-chevron {
  display: inline-block !important;
  width: 0 !important;
  height: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  border-left: 5px solid transparent !important;
  border-right: 5px solid transparent !important;
  border-top: 6px solid currentColor !important;
  transform: none !important;
  margin-top: 1px !important;
  flex: 0 0 auto !important;
}

#bl-site .event-services-wrap.is-open .event-services-chevron {
  transform: rotate(180deg) !important;
}

#bl-site .footer-brand img,
#bl-site .footer-brand > img {
  width: 54px !important;
  height: 54px !important;
  display: block !important;
  object-fit: contain !important;
  background: transparent !important;
  border-radius: 0 !important;
}


/* ===== v92 unified dropdown triangles + section divider spacing ===== */

/* Use the same clean CSS triangle as Event Services on all feature/product cards. */
#bl-site .expand-arrow span {
  display: block !important;
  width: 0 !important;
  height: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  border-left: 5px solid transparent !important;
  border-right: 5px solid transparent !important;
  border-top: 6px solid currentColor !important;
  transform: none !important;
  transition: transform .18s ease !important;
}

#bl-site .expandable-card.is-open .expand-arrow span {
  transform: rotate(180deg) !important;
}

/*
  Product Line is the vertical-spacing reference.
  Match What It Does and BoutLink in Action to its divider spacing.
*/
#bl-site #bl-features,
#bl-site .video-section {
  padding-top: 26px !important;
  padding-bottom: 28px !important;
}

@media (max-width: 600px) {
  #bl-site #bl-features,
  #bl-site .video-section {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }
}


/* ===== v93 smallest-mobile overlay lamp width ===== */
/* At the smallest layout, reduce each scoring-light bar by 33% in width. */
@media (max-width: 390px) {
  #bl-site .mobile-demo-lamp {
    width: 33.5% !important;
  }
}


/* ===== v94 narrow-mobile overlay lamp width fix ===== */
/* The mobile overlay is already active above 390px, so apply the reduction
   across the actual narrow-mobile range. */
@media (max-width: 600px) {
  #bl-site .mobile-overlay-shell .mobile-demo-lamps .mobile-demo-lamp {
    width: 33.333% !important;
    max-width: 33.333% !important;
  }
}


/* ===== Strip + Event purchase presentation framework ===== */
#bl-site .product-purchase-stack {
  width: min(300px, 100%);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}
#bl-site .product-price {
  color: #fff;
  font-size: 1.42rem;
  font-weight: 900;
  letter-spacing: -.035em;
  text-align: center;
}
#bl-site .product-purchase-stack .product-action {
  width: 100%;
  min-width: 0;
}
#bl-site .product-event-pass {
  color: #c4c9d0;
  font-size: .76rem;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
}
#bl-site .product-event-pass:hover,
#bl-site .product-event-pass:focus-visible {
  color: #fff;
  text-decoration: underline;
}
@media (max-width: 850px) {
  #bl-site .product-purchase-stack { width: 100%; }
  #bl-site .product-price { text-align: left; }
  #bl-site .product-event-pass { text-align: left; }
}



/* ===== v96 Product Line product-name typography correction ===== */
/* Keep the real BoutLink wordmark unchanged. The product suffix is a clean
   UI/display label rather than a synthetic imitation of the wordmark. */
#bl-site .product-brand-title .product-brand-suffix {
  color: #fff !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 800 !important;
  font-style: normal !important;
  font-size: clamp(1.82rem, 2.7vw, 2.72rem) !important;
  line-height: 1 !important;
  letter-spacing: -0.035em !important;
  white-space: nowrap !important;
  display: inline-block !important;
  transform: translateY(1px) !important;
  transform-origin: left center !important;
}

#bl-site .product-brand-title .product-brand-t {
  position: static !important;
  top: auto !important;
}

@media (max-width: 700px) {
  #bl-site .product-brand-title .product-brand-suffix {
    font-size: clamp(1.42rem, 6.4vw, 1.9rem) !important;
    transform: translateY(1px) !important;
  }
}



/* ===== v97 official product identifier assets + development buttons ===== */
#bl-site .product-card-title,
#bl-site .product-brand-title {
  display: flex !important;
  align-items: flex-end !important;
  gap: clamp(10px, 1.1vw, 16px) !important;
  min-width: 0 !important;
  flex-wrap: nowrap !important;
}

#bl-site .product-card-title {
  margin: 0 !important;
}

#bl-site .product-card-title .product-card-wordmark,
#bl-site .product-brand-title .product-brand-wordmark {
  display: block !important;
  height: auto !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
}

#bl-site .product-card-title .product-card-wordmark {
  width: clamp(170px, 20vw, 260px) !important;
}

#bl-site .product-brand-title .product-brand-wordmark {
  width: clamp(190px, 20vw, 285px) !important;
}

#bl-site .product-card-title .product-card-edition,
#bl-site .product-brand-title .product-brand-edition {
  display: block !important;
  width: auto !important;
  flex: 0 0 auto !important;
}

#bl-site .product-card-title .product-card-edition {
  height: clamp(22px, 2.65vw, 34px) !important;
  margin-bottom: clamp(2px, .22vw, 4px) !important;
}

#bl-site .product-brand-title .product-brand-edition {
  height: clamp(28px, 3vw, 40px) !important;
  margin-bottom: clamp(1px, .15vw, 3px) !important;
}

#bl-site .product-action.development {
  color: var(--bl-red) !important;
  background: #05070a !important;
  border: 1px solid var(--bl-red) !important;
  font-style: italic !important;
  cursor: default !important;
  pointer-events: none !important;
}

#bl-site .product-development-stack {
  width: min(300px, 100%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
}

@media (max-width: 850px) {
  #bl-site .product-card-title .product-card-wordmark {
    width: clamp(150px, 46vw, 210px) !important;
  }

  #bl-site .product-card-title .product-card-edition {
    height: clamp(18px, 5.3vw, 26px) !important;
  }

  #bl-site .product-brand-title .product-brand-wordmark {
    width: clamp(155px, 45vw, 220px) !important;
  }

  #bl-site .product-brand-title .product-brand-edition {
    height: clamp(22px, 6vw, 30px) !important;
  }

  #bl-site .product-development-stack { width: 100%; }
}



/* ===== v98 unified transparent product-identifier system ===== */
#bl-site .product-card-title,
#bl-site .product-brand-title {
  display: flex !important;
  align-items: flex-end !important;
  gap: clamp(12px, 1.25vw, 18px) !important;
  min-width: 0 !important;
  flex-wrap: nowrap !important;
}

#bl-site .product-card-title {
  margin: 0 !important;
}

#bl-site .product-card-title .product-card-wordmark,
#bl-site .product-brand-title .product-brand-wordmark {
  display: block !important;
  height: auto !important;
  width: auto !important;
  min-width: 0 !important;
  flex: 0 1 auto !important;
}

#bl-site .product-card-title .product-card-wordmark {
  height: clamp(58px, 5.8vw, 80px) !important;
}

#bl-site .product-brand-title .product-brand-wordmark {
  height: clamp(64px, 6.2vw, 88px) !important;
}

#bl-site .product-card-title .product-card-edition,
#bl-site .product-brand-title .product-brand-edition {
  display: block !important;
  width: auto !important;
  flex: 0 0 auto !important;
}

/* 25% larger than the previous test sizing */
#bl-site .product-card-title .product-card-edition {
  height: clamp(28px, 3.35vw, 43px) !important;
  margin-bottom: clamp(4px, .35vw, 6px) !important;
}

#bl-site .product-brand-title .product-brand-edition {
  height: clamp(35px, 3.8vw, 50px) !important;
  margin-bottom: clamp(4px, .35vw, 6px) !important;
}

#bl-site .product-action.development {
  color: var(--bl-red) !important;
  background: #05070a !important;
  border: 1px solid var(--bl-red) !important;
  font-style: italic !important;
  cursor: default !important;
  pointer-events: none !important;
}

#bl-site .product-development-stack {
  width: min(300px, 100%);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

@media (max-width: 850px) {
  #bl-site .product-card-title .product-card-wordmark {
    height: clamp(42px, 9.5vw, 56px) !important;
  }

  #bl-site .product-card-title .product-card-edition {
    height: clamp(22px, 5.9vw, 31px) !important;
    margin-bottom: 4px !important;
  }

  #bl-site .product-brand-title .product-brand-wordmark {
    height: clamp(48px, 11vw, 62px) !important;
  }

  #bl-site .product-brand-title .product-brand-edition {
    height: clamp(26px, 6.9vw, 36px) !important;
    margin-bottom: 4px !important;
  }

  #bl-site .product-development-stack { width: 100%; }
}



/* ===== v99 product logo proportion + collapsed-card scaling repair ===== */
/* Expanded product lockup: never flex-shrink the BoutLink wordmark. */
#bl-site .product-brand-title {
  display: flex !important;
  align-items: flex-end !important;
  gap: clamp(12px, 1.25vw, 18px) !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
}

#bl-site .product-brand-title .product-brand-wordmark {
  display: block !important;
  width: clamp(300px, 31vw, 420px) !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  object-fit: contain !important;
  aspect-ratio: auto !important;
}

#bl-site .product-brand-title .product-brand-edition {
  display: block !important;
  width: auto !important;
  height: clamp(35px, 3.8vw, 50px) !important;
  max-width: min(44%, 340px) !important;
  flex: 0 1 auto !important;
  object-fit: contain !important;
  object-position: left bottom !important;
  margin-bottom: clamp(3px, .25vw, 5px) !important;
}

/* Collapsed cards: show only the identifier, sized to the available card. */
#bl-site .product-card-title {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

#bl-site .product-card-title .product-card-wordmark {
  display: none !important;
}

#bl-site .product-card-title .product-card-edition {
  display: block !important;
  width: auto !important;
  height: clamp(24px, 2.15vw, 34px) !important;
  max-width: 92% !important;
  max-height: 42px !important;
  flex: 0 1 auto !important;
  object-fit: contain !important;
  object-position: left center !important;
  margin: 0 !important;
}

@media (max-width: 1350px) {
  #bl-site .product-card-title .product-card-edition {
    height: clamp(22px, 2.25vw, 30px) !important;
    max-width: 90% !important;
  }
}

@media (max-width: 1050px) {
  #bl-site .product-brand-title .product-brand-wordmark {
    width: clamp(250px, 36vw, 350px) !important;
  }
  #bl-site .product-brand-title .product-brand-edition {
    height: clamp(31px, 4vw, 43px) !important;
    max-width: 42% !important;
  }
  #bl-site .product-card-title .product-card-edition {
    height: clamp(21px, 3vw, 29px) !important;
    max-width: 88% !important;
  }
}

@media (max-width: 700px) {
  #bl-site .product-brand-title {
    gap: 10px !important;
  }
  #bl-site .product-brand-title .product-brand-wordmark {
    width: clamp(190px, 52vw, 270px) !important;
  }
  #bl-site .product-brand-title .product-brand-edition {
    height: clamp(25px, 7vw, 34px) !important;
    max-width: 38% !important;
  }
  #bl-site .product-card-title .product-card-edition {
    height: clamp(23px, 7vw, 31px) !important;
    max-width: 82% !important;
  }
}

@media (max-width: 430px) {
  #bl-site .product-brand-title .product-brand-wordmark {
    width: clamp(155px, 50vw, 205px) !important;
  }
  #bl-site .product-brand-title .product-brand-edition {
    height: clamp(21px, 6.2vw, 27px) !important;
    max-width: 40% !important;
  }
  #bl-site .product-card-title .product-card-edition {
    height: 24px !important;
    max-width: 78% !important;
  }
}



/* ===== v101 product identifier consistency + dropdown spacing ===== */
/* Collapsed product cards: use one natural scale for every product label.
   With normalized source canvases, equal max-height = equal text size. */
#bl-site .product-card-title .product-card-edition {
  width: auto !important;
  height: auto !important;
  max-height: 30px !important;
  max-width: 90% !important;
  object-fit: contain !important;
  object-position: left center !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}

/* Expanded dropdown lockups: BoutLink wordmark is 10% smaller than v99.
   Product identifiers share one scale; long names are no longer squeezed
   smaller than Strip/Event on normal desktop widths. */
#bl-site .product-brand-title {
  margin: 10px 0 30px !important; /* doubles previous 15px logo-to-copy gap */
  gap: clamp(12px, 1.2vw, 18px) !important;
  overflow: visible !important;
}

#bl-site .product-brand-title .product-brand-wordmark {
  width: clamp(270px, 27.9vw, 378px) !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  object-fit: contain !important;
}

#bl-site .product-brand-title .product-brand-edition {
  width: auto !important;
  height: auto !important;
  max-height: 44px !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  object-fit: contain !important;
  object-position: left bottom !important;
  margin: 0 0 4px !important;
}

@media (max-width: 1350px) {
  #bl-site .product-card-title .product-card-edition {
    max-height: 28px !important;
    max-width: 88% !important;
  }
}

@media (max-width: 1050px) and (min-width: 851px) {
  #bl-site .product-brand-title .product-brand-wordmark {
    width: 225px !important;
  }
  #bl-site .product-brand-title .product-brand-edition {
    max-height: 30px !important;
  }
  #bl-site .product-card-title .product-card-edition {
    max-height: 27px !important;
    max-width: 86% !important;
  }
}

@media (max-width: 850px) {
  #bl-site .product-brand-title {
    margin-bottom: 30px !important;
  }
  #bl-site .product-brand-title .product-brand-wordmark {
    width: clamp(171px, 46.8vw, 243px) !important;
  }
  #bl-site .product-brand-title .product-brand-edition {
    max-height: 32px !important;
  }
  #bl-site .product-card-title .product-card-edition {
    max-height: 27px !important;
    max-width: 84% !important;
  }
}

@media (max-width: 430px) {
  #bl-site .product-brand-title .product-brand-wordmark {
    width: clamp(140px, 45vw, 185px) !important;
  }
  #bl-site .product-brand-title .product-brand-edition {
    max-height: 25px !important;
  }
  #bl-site .product-card-title .product-card-edition {
    max-height: 24px !important;
    max-width: 80% !important;
  }
}



/* ===== v102 collapsed product-card label balance ===== */
/* Shorter product names looked visually larger at the same image height.
   Normalize perceived lettering size in the collapsed cards so STRIP,
   EVENT, and CENTER match the apparent size of CONNECT and ATHLETE. */
#bl-site [data-expand-key="connect"] .product-card-edition,
#bl-site [data-expand-key="athlete"] .product-card-edition {
  height: 27px !important;
  max-height: 27px !important;
  max-width: 82% !important;
}

#bl-site [data-expand-key="center"] .product-card-edition {
  height: 24px !important;
  max-height: 24px !important;
  max-width: 82% !important;
}

#bl-site [data-expand-key="strip"] .product-card-edition,
#bl-site [data-expand-key="event"] .product-card-edition {
  height: 23px !important;
  max-height: 23px !important;
  max-width: 82% !important;
}

@media (max-width: 1350px) {
  #bl-site [data-expand-key="connect"] .product-card-edition,
  #bl-site [data-expand-key="athlete"] .product-card-edition {
    height: 26px !important;
    max-height: 26px !important;
  }
  #bl-site [data-expand-key="center"] .product-card-edition {
    height: 23px !important;
    max-height: 23px !important;
  }
  #bl-site [data-expand-key="strip"] .product-card-edition,
  #bl-site [data-expand-key="event"] .product-card-edition {
    height: 22px !important;
    max-height: 22px !important;
  }
}

@media (max-width: 850px) {
  #bl-site [data-expand-key="connect"] .product-card-edition,
  #bl-site [data-expand-key="athlete"] .product-card-edition {
    height: 24px !important;
    max-height: 24px !important;
  }
  #bl-site [data-expand-key="center"] .product-card-edition {
    height: 22px !important;
    max-height: 22px !important;
  }
  #bl-site [data-expand-key="strip"] .product-card-edition,
  #bl-site [data-expand-key="event"] .product-card-edition {
    height: 21px !important;
    max-height: 21px !important;
  }
}



/* ===== v103 expanded dropdown kicker-to-logo spacing ===== */
/* Increase the space between the red product descriptor (detail kicker)
   and the BoutLink/product lockup in all expanded product dropdown cards. */
#bl-site .product-detail .detail-kicker {
  margin-bottom: 20px !important;
}

#bl-site .product-brand-title {
  margin-top: 0 !important;
}

@media (max-width: 850px) {
  #bl-site .product-detail .detail-kicker {
    margin-bottom: 18px !important;
  }
}



/* ===== v104 product dropdown CTA positioning ===== */
/* In expanded product dropdowns, make the left content column wide enough
   to contain the BoutLink + product lockup naturally. This lets the CTA area
   begin after the visible product text, so Buy / In Development buttons can
   center within the remaining right-side space of the bubble. */
@media (min-width: 851px) {
  #bl-site [data-detail-panel="products"] .detail-grid.product-detail-simple {
    grid-template-columns: minmax(0, 1.22fr) minmax(300px, 0.78fr) !important;
    gap: clamp(22px, 3vw, 44px) !important;
    align-items: center !important;
  }

  #bl-site [data-detail-panel="products"] .detail-copy {
    max-width: none !important;
  }

  #bl-site [data-detail-panel="products"] .product-sales-link {
    justify-self: stretch !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px 12px 20px 8px !important;
    box-sizing: border-box !important;
  }

  #bl-site [data-detail-panel="products"] .product-purchase-stack,
  #bl-site [data-detail-panel="products"] .product-development-stack {
    margin: 0 auto !important;
  }
}



/* ===== v105 responsive expanded product dropdowns ===== */
/* Keep every element inside the dropdown bubble at narrow/tablet widths. */
#bl-site [data-detail-panel="products"] .product-detail-simple,
#bl-site [data-detail-panel="products"] .detail-copy,
#bl-site [data-detail-panel="products"] .product-brand-title,
#bl-site [data-detail-panel="products"] .product-sales-link,
#bl-site [data-detail-panel="products"] .product-purchase-stack,
#bl-site [data-detail-panel="products"] .product-development-stack {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 850px) {
  #bl-site [data-detail-panel="products"] .detail-grid.product-detail-simple {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: stretch !important;
  }

  #bl-site [data-detail-panel="products"] .detail-copy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* The combined lockup always fits the available row. The BoutLink wordmark
     keeps its natural aspect ratio and the product identifier uses the space
     that remains, scaling down rather than clipping. */
  #bl-site [data-detail-panel="products"] .product-brand-title {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-end !important;
    gap: clamp(8px, 2.2vw, 12px) !important;
    overflow: hidden !important;
    margin: 0 0 24px !important;
  }

  #bl-site [data-detail-panel="products"] .product-brand-wordmark {
    width: auto !important;
    height: auto !important;
    max-width: 52% !important;
    max-height: none !important;
    flex: 0 1 52% !important;
    object-fit: contain !important;
    object-position: left bottom !important;
  }

  #bl-site [data-detail-panel="products"] .product-brand-edition {
    width: auto !important;
    height: auto !important;
    max-width: 44% !important;
    max-height: 34px !important;
    flex: 0 1 44% !important;
    object-fit: contain !important;
    object-position: left bottom !important;
    margin: 0 0 2px !important;
  }

  #bl-site [data-detail-panel="products"] .detail-kicker {
    margin-bottom: 18px !important;
  }

  #bl-site [data-detail-panel="products"] .detail-copy > p {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(.91rem, 3.6vw, 1rem) !important;
    line-height: 1.6 !important;
    overflow-wrap: anywhere !important;
  }

  #bl-site [data-detail-panel="products"] .product-sales-link {
    width: 100% !important;
    min-height: 0 !important;
    padding: 4px 0 0 !important;
    display: flex !important;
    justify-content: stretch !important;
    align-items: stretch !important;
  }

  #bl-site [data-detail-panel="products"] .product-purchase-stack,
  #bl-site [data-detail-panel="products"] .product-development-stack {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  #bl-site [data-detail-panel="products"] .product-action {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 48px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    text-align: center !important;
  }

  #bl-site [data-detail-panel="products"] .product-price,
  #bl-site [data-detail-panel="products"] .product-event-pass {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }
}

@media (max-width: 600px) {
  #bl-site [data-detail-panel="products"].expand-detail {
    padding: 22px 20px !important;
  }

  #bl-site [data-detail-panel="products"] .product-detail-simple {
    gap: 18px !important;
  }

  #bl-site [data-detail-panel="products"] .detail-kicker {
    font-size: .68rem !important;
    margin-bottom: 16px !important;
  }

  #bl-site [data-detail-panel="products"] .product-brand-title {
    gap: 8px !important;
    margin-bottom: 20px !important;
  }

  #bl-site [data-detail-panel="products"] .product-brand-wordmark {
    max-width: 50% !important;
    flex-basis: 50% !important;
  }

  #bl-site [data-detail-panel="products"] .product-brand-edition {
    max-width: 46% !important;
    max-height: 29px !important;
    flex-basis: 46% !important;
  }

  #bl-site [data-detail-panel="products"] .detail-copy > p {
    font-size: .92rem !important;
    line-height: 1.55 !important;
  }

  #bl-site [data-detail-panel="products"] .product-price {
    font-size: 1.18rem !important;
  }

  #bl-site [data-detail-panel="products"] .product-event-pass {
    font-size: .72rem !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 430px) {
  #bl-site [data-detail-panel="products"].expand-detail {
    padding: 19px 16px !important;
    border-radius: 14px !important;
  }

  #bl-site [data-detail-panel="products"] .product-brand-title {
    gap: 6px !important;
    margin-bottom: 18px !important;
  }

  #bl-site [data-detail-panel="products"] .product-brand-wordmark {
    max-width: 49% !important;
    flex-basis: 49% !important;
  }

  #bl-site [data-detail-panel="products"] .product-brand-edition {
    max-width: 47% !important;
    max-height: 25px !important;
    flex-basis: 47% !important;
  }

  #bl-site [data-detail-panel="products"] .detail-copy > p {
    font-size: .88rem !important;
  }

  #bl-site [data-detail-panel="products"] .product-action {
    min-height: 46px !important;
    font-size: .82rem !important;
  }
}



/* ===== v106 product-name italic angle match ===== */
/* Match the product-name slant more closely to the BoutLink wordmark.
   Apply consistently in both the collapsed product cards and expanded
   product dropdown lockups. */
#bl-site {
  --bl-product-name-slant: -7.4deg;
}

#bl-site .product-card-edition,
#bl-site .product-brand-edition {
  transform: skewX(var(--bl-product-name-slant)) !important;
  transform-origin: left bottom !important;
}

/* Keep baseline alignment visually consistent after the slant change. */
#bl-site .product-card-title .product-card-edition {
  margin-bottom: 1px !important;
}

#bl-site .product-brand-title .product-brand-edition {
  margin-bottom: 3px !important;
}

@media (max-width: 850px) {
  #bl-site .product-brand-title .product-brand-edition {
    margin-bottom: 2px !important;
  }
}



/* ===== v108 standardized 13% product identifiers ===== */
/* Rebuild all product-name graphics from one upright base with a true final
   13% shear. Use the same standardized assets in both collapsed cards and
   expanded dropdown lockups. Neutralize the old additive CSS skew and the old
   per-product collapsed sizing differences. */
#bl-site .product-card-edition,
#bl-site .product-brand-edition {
  transform: none !important;
  transform-origin: left bottom !important;
}

/* Collapsed product cards: one consistent lettering height for every product. */
#bl-site [data-expand-key="strip"] .product-card-edition,
#bl-site [data-expand-key="connect"] .product-card-edition,
#bl-site [data-expand-key="event"] .product-card-edition,
#bl-site [data-expand-key="center"] .product-card-edition,
#bl-site [data-expand-key="athlete"] .product-card-edition {
  width: auto !important;
  height: 24px !important;
  max-height: 24px !important;
  max-width: 84% !important;
  object-fit: contain !important;
  object-position: left center !important;
  margin: 0 !important;
}

@media (max-width: 1350px) {
  #bl-site [data-expand-key="strip"] .product-card-edition,
  #bl-site [data-expand-key="connect"] .product-card-edition,
  #bl-site [data-expand-key="event"] .product-card-edition,
  #bl-site [data-expand-key="center"] .product-card-edition,
  #bl-site [data-expand-key="athlete"] .product-card-edition {
    height: 23px !important;
    max-height: 23px !important;
    max-width: 82% !important;
  }
}

@media (max-width: 850px) {
  #bl-site [data-expand-key="strip"] .product-card-edition,
  #bl-site [data-expand-key="connect"] .product-card-edition,
  #bl-site [data-expand-key="event"] .product-card-edition,
  #bl-site [data-expand-key="center"] .product-card-edition,
  #bl-site [data-expand-key="athlete"] .product-card-edition {
    height: 22px !important;
    max-height: 22px !important;
    max-width: 82% !important;
  }
}

@media (max-width: 430px) {
  #bl-site [data-expand-key="strip"] .product-card-edition,
  #bl-site [data-expand-key="connect"] .product-card-edition,
  #bl-site [data-expand-key="event"] .product-card-edition,
  #bl-site [data-expand-key="center"] .product-card-edition,
  #bl-site [data-expand-key="athlete"] .product-card-edition {
    height: 20px !important;
    max-height: 20px !important;
    max-width: 80% !important;
  }
}

/* Expanded dropdown lockups: one consistent product-name height. */
#bl-site .product-brand-title .product-brand-edition {
  width: auto !important;
  height: auto !important;
  max-height: 42px !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: left bottom !important;
  flex: 0 0 auto !important;
  margin: 0 0 3px !important;
}

@media (max-width: 1050px) and (min-width: 851px) {
  #bl-site .product-brand-title .product-brand-edition {
    max-height: 34px !important;
  }
}

@media (max-width: 850px) {
  #bl-site [data-detail-panel="products"] .product-brand-edition {
    max-width: 44% !important;
    max-height: 31px !important;
    flex: 0 1 44% !important;
    margin: 0 0 2px !important;
  }
}

@media (max-width: 430px) {
  #bl-site [data-detail-panel="products"] .product-brand-edition {
    max-width: 44% !important;
    max-height: 24px !important;
    flex: 0 1 44% !important;
  }
}


/* ===== v111 verified right-leaning 13% product shear ===== */
/* All five product identifiers are regenerated from the same upright base.
   Their FINAL shear is exactly 13% toward the right/forward direction.
   The same assets are used in both collapsed and expanded product cards.
   Existing standardized sizing from v108 is preserved. */


/* ===== v112 header mark + fencing hero motion + exact dropdown lockups ===== */
/* Header now owns the exact original-geometry red-circle/fencer mark. */
#bl-site .brand {
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  overflow:visible !important;
}
#bl-site .brand .brand-mark {
  width:78px !important;
  height:auto !important;
  flex:0 0 78px !important;
  object-fit:contain !important;
  background:transparent !important;
}
#bl-site .brand .brand-wordmark {
  width:clamp(180px,17vw,238px) !important;
  height:auto !important;
  flex:0 1 auto !important;
  object-fit:contain !important;
  background:transparent !important;
}

/* Hero is now carried entirely by the tagline. */
#bl-site .hero {
  min-height:clamp(300px,38vw,470px) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
#bl-site .hero-copy-simple {
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  text-align:center !important;
  transform:none !important;
}
#bl-site .hero-mark { display:none !important; }
#bl-site .hero-copy-simple h1 {
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  max-width:none !important;
  margin:0 auto !important;
  text-align:center !important;
  font-size:clamp(4.45rem,7.55vw,7.65rem) !important;
  line-height:.92 !important;
  letter-spacing:-.045em !important;
  white-space:normal !important;
}
#bl-site .hero-title-line {
  position:relative !important;
  display:inline-block !important;
  white-space:nowrap !important;
  opacity:0;
  transform:translateX(-14px);
  clip-path:inset(0 100% 0 0);
  animation:bl112TitleReveal .52s cubic-bezier(.2,.75,.2,1) forwards;
}
#bl-site .hero-title-line + .hero-title-line::before {
  content:" " !important;
  white-space:pre !important;
}
#bl-site .hero-title-line:nth-child(1){animation-delay:.30s;}
#bl-site .hero-title-line:nth-child(2){animation-delay:.43s;}
#bl-site .hero-title-line:nth-child(3){animation-delay:.56s;}

/* A single fencing-blade-like sweep crosses the hero, then disappears. */
#bl-site .hero-blade-sweep {
  position:absolute;
  z-index:1;
  left:8%;
  top:52%;
  width:84%;
  height:2px;
  border-radius:999px;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.28) 8%,
    rgba(255,255,255,.92) 46%,
    rgba(227,6,19,.95) 92%,
    rgba(227,6,19,0) 100%);
  box-shadow:0 0 8px rgba(255,255,255,.18),0 0 13px rgba(227,6,19,.12);
  transform:scaleX(0);
  transform-origin:left center;
  opacity:0;
  animation:bl112BladeSweep 1.12s cubic-bezier(.18,.7,.18,1) .06s forwards;
}
#bl-site .hero-blade-sweep::after {
  content:"";
  position:absolute;
  right:-2px;
  top:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  transform:translateY(-50%);
  background:#fff;
  box-shadow:0 0 8px rgba(255,255,255,.85),0 0 12px rgba(227,6,19,.75);
}
@keyframes bl112BladeSweep {
  0%{transform:scaleX(0);opacity:0;}
  10%{opacity:.95;}
  72%{transform:scaleX(1);opacity:.9;}
  100%{transform:scaleX(1);opacity:0;}
}
@keyframes bl112TitleReveal {
  0%{opacity:0;transform:translateX(-14px);clip-path:inset(0 100% 0 0);}
  100%{opacity:1;transform:translateX(0);clip-path:inset(0 0 0 0);}
}

/* Use the exact supplied full BoutLink + product PNG in expanded Product Line cards. */
#bl-site [data-detail-panel="products"] .product-dropdown-lockup-title {
  display:block !important;
  width:min(100%,520px) !important;
  max-width:520px !important;
  margin:0 !important;
  line-height:0 !important;
}
#bl-site [data-detail-panel="products"] .product-dropdown-lockup {
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:left center !important;
  background:transparent !important;
}

@media (max-width:900px){
  #bl-site .hero-copy-simple h1{
    font-size:clamp(3.25rem,10vw,5.25rem) !important;
    line-height:.88 !important;
  }
  #bl-site .hero-title-line{
    display:block !important;
  }
  #bl-site .hero-title-line + .hero-title-line::before{content:none !important;}
  #bl-site .hero-blade-sweep{left:14%;width:72%;top:51%;}
}
@media (max-width:700px){
  #bl-site .brand{gap:4px !important;}
  #bl-site .brand .brand-mark{width:54px !important;flex-basis:54px !important;}
  #bl-site .brand .brand-wordmark{width:158px !important;}
  #bl-site .hero{min-height:310px !important;}
  #bl-site .hero-copy-simple h1{
    font-size:clamp(3.45rem,17.5vw,5.15rem) !important;
    line-height:.90 !important;
  }
  #bl-site [data-detail-panel="products"] .product-dropdown-lockup-title{
    width:min(100%,390px) !important;
  }
}
@media (max-width:390px){
  #bl-site .brand .brand-mark{width:46px !important;flex-basis:46px !important;}
  #bl-site .brand .brand-wordmark{width:142px !important;}
  #bl-site .hero-copy-simple h1{
    font-size:clamp(3.05rem,16.8vw,4.35rem) !important;
  }
}
@media (prefers-reduced-motion:reduce){
  #bl-site .hero-blade-sweep{display:none !important;animation:none !important;}
  #bl-site .hero-title-line{
    opacity:1 !important;
    transform:none !important;
    clip-path:none !important;
    animation:none !important;
  }
}

/* ===== v113 hero fit + spacing correction ===== */
#bl-site .hero{
  min-height:clamp(160px,14vw,240px) !important;
  padding-top:22px !important;
  padding-bottom:18px !important;
}
#bl-site .hero-copy-simple{
  max-width:1420px !important;
  padding-left:22px !important;
  padding-right:22px !important;
}
#bl-site .hero-copy-simple h1{
  font-size:clamp(3.1rem,5.9vw,6.35rem) !important;
  line-height:.94 !important;
  letter-spacing:-.038em !important;
}
#bl-site .hero-blade-sweep{
  top:54% !important;
  left:10% !important;
  width:80% !important;
}
@media (max-width:1200px){
  #bl-site .hero{
    min-height:clamp(180px,20vw,260px) !important;
    padding-top:18px !important;
    padding-bottom:16px !important;
  }
  #bl-site .hero-copy-simple h1{
    font-size:clamp(3rem,6.6vw,5.5rem) !important;
  }
}
@media (max-width:900px){
  #bl-site .hero{
    min-height:250px !important;
    padding-top:20px !important;
    padding-bottom:18px !important;
  }
  #bl-site .hero-copy-simple{
    padding-left:18px !important;
    padding-right:18px !important;
  }
  #bl-site .hero-copy-simple h1{
    font-size:clamp(3.1rem,10.2vw,5rem) !important;
  }
  #bl-site .hero-blade-sweep{
    left:14% !important;
    width:72% !important;
    top:52% !important;
  }
}
@media (max-width:700px){
  #bl-site .hero{
    min-height:290px !important;
  }
}

/* ===== v114 exact uploaded product suffixes + consistent collapsed-card scale ===== */
/* Collapsed Product Line cards now use the exact product-name lettering cropped
   from the user-supplied BoutLink + product PNGs. Every product uses the same
   image height, so Strip / Connect / Event / Center / Athlete have one
   consistent lettering scale rather than per-product optical overrides. */
#bl-site #bl-products .product-card-title .product-card-edition,
#bl-site #bl-products [data-expand-key] .product-card-edition {
  display:block !important;
  width:auto !important;
  height:30px !important;
  max-height:30px !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  flex:0 0 auto !important;
  margin:0 0 1px 0 !important;
  transform:none !important;
}
@media (max-width:850px){
  #bl-site #bl-products .product-card-title .product-card-edition,
  #bl-site #bl-products [data-expand-key] .product-card-edition {
    height:26px !important;
    max-height:26px !important;
  }
}
@media (max-width:430px){
  #bl-site #bl-products .product-card-title .product-card-edition,
  #bl-site #bl-products [data-expand-key] .product-card-edition {
    height:23px !important;
    max-height:23px !important;
  }
}


/* ===== v115 hero descender + spacing + larger header mark ===== */
/* Scale the exact existing mark only; geometry remains untouched. */
#bl-site .brand .brand-mark{
  width:118px !important;
  flex-basis:118px !important;
  height:auto !important;
}

/* The hero now has literal equal space above and below the headline. */
#bl-site .hero{
  min-height:0 !important;
  height:auto !important;
  padding-top:68px !important;
  padding-bottom:68px !important;
}
#bl-site .hero-copy-simple{
  width:100% !important;
  max-width:1480px !important;
  padding-left:28px !important;
  padding-right:28px !important;
  overflow:visible !important;
}
#bl-site .hero-copy-simple h1{
  line-height:.96 !important;
  overflow:visible !important;
}
/* The old reveal clipped to the line box, which cut the descender of the g in
   Fencing. Give the animated clipping rectangle extra vertical breathing room. */
#bl-site .hero-title-line{
  overflow:visible !important;
  padding-bottom:.16em !important;
  margin-bottom:-.16em !important;
  clip-path:inset(-24% 100% -34% 0);
}
@keyframes bl112TitleReveal{
  0%{
    opacity:0;
    transform:translateX(-14px);
    clip-path:inset(-24% 100% -34% 0);
  }
  100%{
    opacity:1;
    transform:translateX(0);
    clip-path:inset(-24% 0 -34% 0);
  }
}
/* Let hero spacing, not section padding, determine the gap below the headline. */
#bl-site .overlay-showcase{
  padding-top:0 !important;
}

@media (max-width:1200px){
  #bl-site .brand .brand-mark{
    width:104px !important;
    flex-basis:104px !important;
  }
  #bl-site .hero{
    min-height:0 !important;
    padding-top:58px !important;
    padding-bottom:58px !important;
  }
}
@media (max-width:900px){
  #bl-site .brand .brand-mark{
    width:92px !important;
    flex-basis:92px !important;
  }
  #bl-site .hero{
    min-height:0 !important;
    padding-top:46px !important;
    padding-bottom:46px !important;
  }
  #bl-site .hero-copy-simple{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}
@media (max-width:700px){
  #bl-site .brand .brand-mark{
    width:78px !important;
    flex-basis:78px !important;
  }
  #bl-site .hero{
    min-height:0 !important;
    padding-top:40px !important;
    padding-bottom:40px !important;
  }
}
@media (max-width:390px){
  #bl-site .brand .brand-mark{
    width:66px !important;
    flex-basis:66px !important;
  }
  #bl-site .hero{
    padding-top:34px !important;
    padding-bottom:34px !important;
  }
}


/* ===== v116 fencing-line outward hero reveal ===== */
/* First complete the blade/piste-line draw. Then reveal the headline outward
   from that exact horizontal axis — upward and downward simultaneously. */
#bl-site .hero-title-line{
  opacity:1 !important;
  transform:none !important;
  clip-path:none !important;
  animation:none !important;
}

/* Keep generous clip bounds so descenders such as the g in Fencing remain intact. */
#bl-site .hero-copy-simple h1{
  opacity:0;
  overflow:visible !important;
  clip-path:inset(50% -10% 50% -10%);
  transform-origin:center center;
  animation:bl116OutwardReveal .72s cubic-bezier(.16,.82,.22,1) .82s forwards;
  will-change:clip-path,opacity;
}

/* The line finishes drawing first, stays visible momentarily as the reveal begins,
   then fades away under the completed lettering. */
#bl-site .hero-blade-sweep{
  animation:bl116BladeDraw 1.08s cubic-bezier(.18,.70,.18,1) .05s forwards !important;
}
@keyframes bl116BladeDraw{
  0%   {transform:scaleX(0);opacity:0;}
  10%  {opacity:.95;}
  70%  {transform:scaleX(1);opacity:.95;}
  82%  {transform:scaleX(1);opacity:.95;}
  100% {transform:scaleX(1);opacity:0;}
}
@keyframes bl116OutwardReveal{
  0%{
    opacity:1;
    clip-path:inset(50% -10% 50% -10%);
  }
  100%{
    opacity:1;
    clip-path:inset(-28% -10% -38% -10%);
  }
}

@media (prefers-reduced-motion:reduce){
  #bl-site .hero-copy-simple h1{
    opacity:1 !important;
    clip-path:none !important;
    animation:none !important;
  }
}


/* ===== v117 smoother + slower fencing hero reveal ===== */
#bl-site .hero-copy-simple h1{
  animation-duration:1.02s !important;
  animation-delay:1.02s !important;
  animation-timing-function:cubic-bezier(.18,.72,.18,1) !important;
}
#bl-site .hero-blade-sweep{
  animation-duration:1.48s !important;
  animation-delay:.08s !important;
  animation-timing-function:cubic-bezier(.16,.68,.16,1) !important;
}
@keyframes bl116BladeDraw{
  0%   {transform:scaleX(0);opacity:0;}
  8%   {opacity:.88;}
  68%  {transform:scaleX(1);opacity:.95;}
  84%  {transform:scaleX(1);opacity:.88;}
  100% {transform:scaleX(1);opacity:0;}
}
@keyframes bl116OutwardReveal{
  0%{
    opacity:1;
    clip-path:inset(50% -10% 50% -10%);
  }
  18%{
    opacity:1;
    clip-path:inset(43% -10% 43% -10%);
  }
  72%{
    opacity:1;
    clip-path:inset(5% -10% 3% -10%);
  }
  100%{
    opacity:1;
    clip-path:inset(-28% -10% -38% -10%);
  }
}


/* ===== v118 smooth GPU-masked hero reveal + shared optical axis ===== */
/*
   The headline itself no longer animates clip-path. Instead, two solid covers
   retract away from the blade line using compositor-friendly transforms.
   This keeps the glyphs stationary and should render much more smoothly.
*/
#bl-site .hero-copy-simple{
  --bl118-reveal-axis:56%;
  overflow:visible !important;
}

#bl-site .hero-copy-simple h1{
  position:relative !important;
  overflow:visible !important;
  opacity:1 !important;
  clip-path:none !important;
  animation:none !important;
  will-change:auto !important;
  isolation:isolate;
}

/* Covers start joined at the blade axis, then peel away in opposite directions. */
#bl-site .hero-copy-simple h1::before,
#bl-site .hero-copy-simple h1::after{
  content:"";
  position:absolute;
  left:-8%;
  right:-8%;
  z-index:4;
  display:block;
  pointer-events:none;
  background:var(--bl-bg, #08090b);
  backface-visibility:hidden;
  transform:translate3d(0,0,0);
  will-change:transform;
}

/* Extend beyond the text box so ascenders/descenders never peek around the masks. */
#bl-site .hero-copy-simple h1::before{
  top:-40%;
  height:calc(var(--bl118-reveal-axis) + 40%);
  animation:bl118RevealUp 1.12s cubic-bezier(.18,.72,.16,1) 1.08s forwards;
}
#bl-site .hero-copy-simple h1::after{
  top:var(--bl118-reveal-axis);
  bottom:-45%;
  animation:bl118RevealDown 1.12s cubic-bezier(.18,.72,.16,1) 1.08s forwards;
}

@keyframes bl118RevealUp{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(0,-102%,0);}
}
@keyframes bl118RevealDown{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(0,102%,0);}
}

/* The blade and the opening seam now share exactly the same optical axis. */
#bl-site .hero-blade-sweep{
  top:var(--bl118-reveal-axis) !important;
  z-index:6 !important;
  transform-origin:left center !important;
  will-change:transform,opacity;
  backface-visibility:hidden;
  animation:bl118BladeDraw 1.62s cubic-bezier(.16,.68,.14,1) .08s forwards !important;
}
@keyframes bl118BladeDraw{
  0%   {transform:translate3d(0,0,0) scaleX(0);opacity:0;}
  8%   {opacity:.9;}
  68%  {transform:translate3d(0,0,0) scaleX(1);opacity:.96;}
  82%  {transform:translate3d(0,0,0) scaleX(1);opacity:.9;}
  100% {transform:translate3d(0,0,0) scaleX(1);opacity:0;}
}

/* The three title spans are static; the masks above perform the reveal. */
#bl-site .hero-title-line{
  opacity:1 !important;
  transform:none !important;
  clip-path:none !important;
  animation:none !important;
}

/* Stacked layouts use a true geometric center through the middle line. */
@media (max-width:900px){
  #bl-site .hero-copy-simple{
    --bl118-reveal-axis:50%;
  }
}

/* No covers or blade animation for reduced-motion users. */
@media (prefers-reduced-motion:reduce){
  #bl-site .hero-copy-simple h1::before,
  #bl-site .hero-copy-simple h1::after{
    display:none !important;
    animation:none !important;
  }
  #bl-site .hero-blade-sweep{
    display:none !important;
    animation:none !important;
  }
}


/* ===== v119 contain hero reveal masks above the scoring demo ===== */
/* The downward black reveal cover must never escape the hero into the demo. */
#bl-site .hero{
  position:relative !important;
  z-index:1 !important;
  overflow:hidden !important;
  isolation:isolate !important;
}

/* Keep the entire demo section in a separate, higher paint layer as a safeguard. */
#bl-site .overlay-showcase{
  position:relative !important;
  z-index:5 !important;
  isolation:isolate !important;
}
#bl-site .overlay-showcase .wrap,
#bl-site .overlay-showcase .hero-console,
#bl-site .overlay-showcase .default-bug{
  position:relative !important;
  z-index:6 !important;
}


/* ===== v120 synchronize text reveal with blade fade ===== */
/* Blade fade begins at ~82% of the 1.62s sweep after its .08s delay:
   .08 + (1.62 * .82) ≈ 1.41s. Start the outward text reveal there. */
#bl-site .hero-copy-simple h1::before,
#bl-site .hero-copy-simple h1::after{
  animation-delay:1.40s !important;
}



/* ===== v121 clean hero background behind headline ===== */
/* Remove the boxed-looking maroon glow behind the hero title and keep only a
   much subtler page-level tint so the headline sits on a cleaner field. */
#bl-site{
  background:
    radial-gradient(circle at 78% 5%, rgba(229,9,20,.07), transparent 22rem),
    radial-gradient(circle at 12% 28%, rgba(255,255,255,.026), transparent 20rem),
    var(--bl-bg) !important;
}
#bl-site .hero,
#bl-site .hero-copy-simple,
#bl-site .hero-copy-simple h1{
  background:transparent !important;
  box-shadow:none !important;
}


/* ===== v125 collapsed Product Line: product names only, optically normalized ===== */
#bl-site #bl-products .product-card-title .product-card-wordmark,
#bl-site #bl-products [data-expand-key] .product-card-wordmark{
  display:none !important;
}

#bl-site #bl-products .product-card-title .product-card-edition,
#bl-site #bl-products [data-expand-key] .product-card-edition{
  display:block !important;
  width:auto !important;
  height:30px !important;
  max-height:30px !important;
  max-width:92% !important;
  object-fit:contain !important;
  object-position:left center !important;
  flex:0 0 auto !important;
  margin:0 0 1px 0 !important;
  transform:none !important;
}

@media (max-width:850px){
  #bl-site #bl-products .product-card-title .product-card-edition,
  #bl-site #bl-products [data-expand-key] .product-card-edition{
    height:26px !important;
    max-height:26px !important;
  }
}

@media (max-width:430px){
  #bl-site #bl-products .product-card-title .product-card-edition,
  #bl-site #bl-products [data-expand-key] .product-card-edition{
    height:23px !important;
    max-height:23px !important;
  }
}


/* ===== v128 collapsed Product Line: equal visible product-name heights ===== */
#bl-site #bl-products .product-card-title{
  display:flex !important;
  align-items:center !important;
  min-height:44px !important;
}
#bl-site #bl-products .product-card-title .product-card-name-only{
  display:block !important;
  width:auto !important;
  height:40px !important;
  max-height:40px !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:left center !important;
  margin:0 !important;
}
#bl-site #bl-products .product-card-title .product-card-wordmark,
#bl-site #bl-products .product-card-title .product-card-edition:not(.product-card-name-only){
  display:none !important;
}
@media (max-width: 900px){
  #bl-site #bl-products .product-card-title .product-card-name-only{
    height:34px !important;
    max-height:34px !important;
  }
}


/* ===== v129 card corrections: Strip cap-height + Athlete leading A ===== */
#bl-site #bl-products [data-expand-key="strip"] .product-card-title{
  align-items:flex-start !important;
  min-height:48px !important;
}
#bl-site #bl-products [data-expand-key="strip"] .product-card-name-only{
  height:48px !important;
  max-height:48px !important;
  object-position:left top !important;
  margin:0 0 -8px 0 !important;
}
#bl-site #bl-products [data-expand-key="athlete"] .product-card-name-only{
  object-position:left center !important;
}
@media (max-width: 900px){
  #bl-site #bl-products [data-expand-key="strip"] .product-card-name-only{
    height:40px !important;
    max-height:40px !important;
    margin:0 0 -6px 0 !important;
  }
}

/* ===== v130 final product-title baseline corrections ===== */
#bl-site #bl-products .product-card-title{
  display:flex !important;
  align-items:flex-end !important;
  min-height:50px !important;
  overflow:visible !important;
}
#bl-site #bl-products .product-card-title .product-card-name-only{
  display:block !important;
  width:auto !important;
  height:38px !important;
  max-height:38px !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:left bottom !important;
  margin:0 !important;
  position:relative !important;
  transform:none !important;
}
#bl-site #bl-products [data-expand-key="strip"] .product-card-name-only{
  height:41px !important;
  max-height:41px !important;
  transform:translateY(7px) !important;
  object-position:left bottom !important;
}
#bl-site #bl-products [data-expand-key="athlete"] .product-card-name-only{
  height:38px !important;
  max-height:38px !important;
  object-position:left bottom !important;
  transform:none !important;
}
@media (max-width: 900px){
  #bl-site #bl-products .product-card-title{ min-height:44px !important; }
  #bl-site #bl-products .product-card-title .product-card-name-only{
    height:32px !important;
    max-height:32px !important;
  }
  #bl-site #bl-products [data-expand-key="strip"] .product-card-name-only{
    height:35px !important;
    max-height:35px !important;
    transform:translateY(5px) !important;
  }
}



/* ===== v145 final collapsed Product Line title alignment =====
   Keep all five standard text titles on the same vertical baseline. */
#bl-site #bl-products .product-card-title,
#bl-site #bl-products [data-expand-key="strip"] .product-card-title{
  display:flex !important;
  align-items:flex-end !important;
  min-height:50px !important;
  margin:14px 0 12px !important;
  overflow:visible !important;
  color:#fff !important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-size:1.28rem !important;
  font-weight:850 !important;
  font-style:normal !important;
  line-height:1.1 !important;
  letter-spacing:-.02em !important;
  transform:none !important;
}
#bl-site #bl-products .product-card-title img{
  display:none !important;
}
@media(max-width:700px){
  #bl-site #bl-products .product-card-title,
  #bl-site #bl-products [data-expand-key="strip"] .product-card-title{
    min-height:44px !important;
    margin:12px 0 10px !important;
    font-size:1.18rem !important;
  }
}


/* v149: BoutLink in Action YouTube embed */
#bl-site .video-screen.video-embed{
  padding:0 !important;
  overflow:hidden !important;
  background:#000 !important;
}
#bl-site .video-screen.video-embed iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:100%;
  border:0;
}


/* v152: remove stray red source fragment at the extreme left edge of the
   Athlete suffix artwork without changing its size, placement, or geometry. */
#bl-site .expanded-product-logo-product[alt="Athlete"]{
  clip-path: inset(0 0 0 14px);
}

/* ===== v155 expanded product lockup normalization =====
   All expanded lockups share one responsive scale factor derived from the
   widest approved pair. BoutLink renders at the same size in every dropdown,
   and each product suffix scales at exactly the same rate as its BoutLink half. */
\n\n/* ===== v157 collapsed Product Line: short names at exactly 2x v145 type size ===== */\n#bl-site #bl-products .product-card-title,\n#bl-site #bl-products [data-expand-key="strip"] .product-card-title{\n  min-height:88px !important;\n  margin:14px 0 12px !important;\n  font-size:2.56rem !important; /* 2 × 1.28rem */\n  line-height:1.02 !important;\n  letter-spacing:-.025em !important;\n}\n@media(max-width:700px){\n  #bl-site #bl-products .product-card-title,\n  #bl-site #bl-products [data-expand-key="strip"] .product-card-title{\n    min-height:76px !important;\n    margin:12px 0 10px !important;\n    font-size:2.36rem !important; /* 2 × 1.18rem */\n  }\n}\n

/* ===== v160 expanded Athlete lockup stacking =====
   Preserve the approved geometry and sizing. The product suffix is painted
   above the canonical BoutLink artwork so the Athlete wordmark owns any
   intentional overlap area. */
#bl-site [data-detail-panel="products"] .expanded-product-logo-brand{
  z-index:1 !important;
}
#bl-site [data-detail-panel="products"] .expanded-product-logo-product[alt="Athlete"]{
  z-index:2 !important;
}


/* ===== v161 collapsed Product Line product-logo treatment =====
   Connect / Event / Center / Athlete are normalized by visible lettering height.
   Strip is intentionally measured by the S/t/r/i/main-p body; its p descender
   is allowed to fall below the shared baseline without making Strip smaller. */

#bl-site #bl-products .product-card-title.product-card-title-logo,
#bl-site #bl-products [data-expand-key="strip"] .product-card-title.product-card-title-logo{
  display:block !important;
  position:relative !important;
  height:58px !important;
  min-height:58px !important;
  margin:14px 0 12px !important;
  overflow:visible !important;
  font-size:0 !important;
  line-height:0 !important;
}

#bl-site #bl-products .product-card-title.product-card-title-logo img.collapsed-product-logo{
  display:block !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:auto !important;
  max-width:92% !important;
  object-fit:contain !important;
  object-position:left top !important;
  margin:0 !important;
  transform:none !important;
}

/* Shared visible letter body: 42px from top to baseline. */
#bl-site #bl-products [data-expand-key="connect"] .collapsed-product-logo,
#bl-site #bl-products [data-expand-key="event"] .collapsed-product-logo,
#bl-site #bl-products [data-expand-key="center"] .collapsed-product-logo,
#bl-site #bl-products [data-expand-key="athlete"] .collapsed-product-logo{
  height:42px !important;
  max-height:42px !important;
}

/* Strip source geometry:
   cropped source height = 158px; the non-descender body is 120px high.
   55.3px total render height makes that 120px body exactly 42px tall.
   The p descender then extends ~13px below the common baseline. */
#bl-site #bl-products [data-expand-key="strip"] .collapsed-product-logo-strip{
  height:55.3px !important;
  max-height:55.3px !important;
}

/* Expanded Athlete: show the full A, remove the old destructive crop,
   and keep Athlete above BoutLink where the two overlap. */
#bl-site [data-detail-panel="products"] .expanded-product-logo-product[alt="Athlete"]{
  clip-path:none !important;
  z-index:2 !important;
}

@media(max-width:700px){
  #bl-site #bl-products .product-card-title.product-card-title-logo,
  #bl-site #bl-products [data-expand-key="strip"] .product-card-title.product-card-title-logo{
    height:52px !important;
    min-height:52px !important;
    margin:12px 0 10px !important;
  }

  #bl-site #bl-products [data-expand-key="connect"] .collapsed-product-logo,
  #bl-site #bl-products [data-expand-key="event"] .collapsed-product-logo,
  #bl-site #bl-products [data-expand-key="center"] .collapsed-product-logo,
  #bl-site #bl-products [data-expand-key="athlete"] .collapsed-product-logo{
    height:37.5px !important;
    max-height:37.5px !important;
  }

  #bl-site #bl-products [data-expand-key="strip"] .collapsed-product-logo-strip{
    height:49.4px !important;
    max-height:49.4px !important;
  }
}



/* ===== v164 Instant Replay dropdown YouTube media =====
   Uses the same hidden-controls + restart-on-end behavior as the existing
   BoutLink in Action embed. Preserve the video's native 16:9 frame. */
#bl-site [data-detail-panel="features"] .detail-visual.detail-visual-video{
  background:#000 !important;
  overflow:hidden !important;
}

#bl-site [data-detail-panel="features"] .detail-visual.detail-visual-video::after{
  display:none !important;
}

#bl-site .instant-replay-video-embed{
  position:relative;
  width:100%;
  max-width:100%;
  aspect-ratio:16 / 9;
  background:#000;
  overflow:hidden;
}

#bl-site .instant-replay-video-embed iframe{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  border:0;
}



/* ===== v165 Feature dropdown videos =====
   Instant Replay and Video Production both use the same 16:9 presentation,
   hidden YouTube controls, and shared restart-on-end helper. */
#bl-site .feature-video-embed{
  position:relative;
  width:100%;
  max-width:100%;
  aspect-ratio:16 / 9;
  background:#000;
  overflow:hidden;
}

#bl-site .feature-video-embed iframe{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  border:0;
}




/* ===== v169 Product sales dropdown media format =====
   Wide: copy + commercial controls on left, 16:9 product-video slot on right.
   Narrow/mobile: copy + controls first, product-video slot below. */
#bl-site [data-detail-panel="products"] .detail-grid.product-detail-with-media{
  grid-template-columns:minmax(0,1fr) minmax(360px,1fr) !important;
  gap:clamp(28px,3.6vw,54px) !important;
  align-items:center !important;
}

#bl-site [data-detail-panel="products"] .product-detail-with-media .detail-copy{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  align-self:center !important;
}

#bl-site [data-detail-panel="products"] .product-sales-link.product-sales-link-inline{
  width:100% !important;
  min-height:0 !important;
  padding:20px 0 0 !important;
  margin:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  box-sizing:border-box !important;
}

#bl-site [data-detail-panel="products"] .product-sales-link-inline .product-purchase-stack,
#bl-site [data-detail-panel="products"] .product-sales-link-inline .product-development-stack{
  width:min(300px,100%) !important;
  margin:0 !important;
  align-items:stretch !important;
}

#bl-site [data-detail-panel="products"] .product-sales-link-inline > .product-action{
  width:min(300px,100%) !important;
  min-width:0 !important;
}

#bl-site [data-detail-panel="products"] .product-sales-link-inline .product-price,
#bl-site [data-detail-panel="products"] .product-sales-link-inline .product-event-pass{
  text-align:left !important;
}

#bl-site [data-detail-panel="products"] .product-video-placeholder{
  width:100% !important;
  min-height:0 !important;
  aspect-ratio:16 / 9 !important;
  align-self:center !important;
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:linear-gradient(145deg,#15181d,#090a0c) !important;
  overflow:hidden !important;
  position:relative !important;
  display:grid !important;
  place-items:center !important;
}

#bl-site [data-detail-panel="products"] .product-video-placeholder::after{
  display:none !important;
}

#bl-site [data-detail-panel="products"] .product-video-placeholder-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
}

#bl-site [data-detail-panel="products"] .product-video-play{
  width:60px;
  height:60px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(227,6,19,.14);
  border:1px solid rgba(255,75,84,.32);
  color:#ff747c;
  padding-left:3px;
  font-size:1.25rem;
  line-height:1;
}

#bl-site [data-detail-panel="products"] .product-video-placeholder .video-slot-label{
  color:#8e959f;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.14em;
}

@media (max-width:1050px){
  #bl-site [data-detail-panel="products"] .detail-grid.product-detail-with-media{
    grid-template-columns:minmax(0,1fr) !important;
    gap:24px !important;
    align-items:stretch !important;
  }

  #bl-site [data-detail-panel="products"] .product-video-placeholder{
    width:100% !important;
    max-width:760px !important;
    justify-self:start !important;
  }
}

@media (max-width:850px){
  #bl-site [data-detail-panel="products"] .product-sales-link.product-sales-link-inline{
    padding:18px 0 0 !important;
    justify-content:flex-start !important;
  }

  #bl-site [data-detail-panel="products"] .product-sales-link-inline .product-purchase-stack,
  #bl-site [data-detail-panel="products"] .product-sales-link-inline .product-development-stack,
  #bl-site [data-detail-panel="products"] .product-sales-link-inline > .product-action{
    width:100% !important;
    max-width:100% !important;
  }

  #bl-site [data-detail-panel="products"] .product-sales-link-inline .product-price,
  #bl-site [data-detail-panel="products"] .product-sales-link-inline .product-event-pass{
    text-align:center !important;
  }
}

@media (max-width:600px){
  #bl-site [data-detail-panel="products"] .detail-grid.product-detail-with-media{
    gap:20px !important;
  }

  #bl-site [data-detail-panel="products"] .product-video-play{
    width:52px;
    height:52px;
    font-size:1.05rem;
  }
}



/* ===== v170 Strip product sales video ===== */
#bl-site [data-detail-panel="products"] .product-video-placeholder.product-video-embed{
  padding:0 !important;
  overflow:hidden !important;
  background:#000 !important;
}

#bl-site [data-detail-panel="products"] .product-video-placeholder.product-video-embed iframe{
  width:100% !important;
  height:100% !important;
  display:block !important;
  border:0 !important;
  border-radius:inherit !important;
}



/* ===== v173 Center all product sales/status controls =====
   Product descriptive copy remains left-aligned.
   Price/status/CTA area is centered in the left product-copy column. */
#bl-site [data-detail-panel="products"] .product-sales-link.product-sales-link-inline{
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
}

#bl-site [data-detail-panel="products"] .product-sales-link-inline .product-purchase-stack,
#bl-site [data-detail-panel="products"] .product-sales-link-inline .product-development-stack{
  width:min(450px,100%) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  align-items:stretch !important;
  text-align:center !important;
}

#bl-site [data-detail-panel="products"] .product-sales-link-inline > .product-action{
  width:min(450px,100%) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

#bl-site [data-detail-panel="products"] .product-sales-link-inline .product-price,
#bl-site [data-detail-panel="products"] .product-sales-link-inline .product-event-pass{
  width:100% !important;
  text-align:center !important;
}

#bl-site [data-detail-panel="products"] .product-sales-link-inline .product-action,
#bl-site [data-detail-panel="products"] .product-sales-link-inline .product-development,
#bl-site [data-detail-panel="products"] .product-sales-link-inline a,
#bl-site [data-detail-panel="products"] .product-sales-link-inline button{
  margin-left:auto !important;
  margin-right:auto !important;
}


/* ===== v174 hero headline centering lock =====
   Keep "Smarter Fencing Strips" optically centered at every responsive width.
   This deliberately overrides older breakpoint-era left alignment rules while
   leaving the v118/v120 blade/reveal animation and v121 background untouched. */
#bl-site .hero-copy-simple,
#bl-site .hero-copy-simple h1 {
  text-align: center !important;
}
#bl-site .hero-copy-simple h1 {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  justify-content: center !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
#bl-site .hero-title-line {
  flex: 0 0 auto !important;
  text-align: center !important;
}
@media (max-width: 900px) {
  #bl-site .hero-copy-simple h1 {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }
}


/* ===== v176 approved Product Line card balance =====
   Connect +10%, Athlete +5%, with Connect/Event/Center/Athlete wordmark
   bottoms locked to the same exact line. Strip keeps its approved p descender. */
#bl-site #bl-products [data-expand-key="connect"] .collapsed-product-logo-connect,
#bl-site #bl-products [data-expand-key="event"] .collapsed-product-logo-event,
#bl-site #bl-products [data-expand-key="center"] .collapsed-product-logo-center,
#bl-site #bl-products [data-expand-key="athlete"] .collapsed-product-logo-athlete{
  top:auto !important;
  bottom:0 !important;
  transform:none !important;
}

#bl-site #bl-products [data-expand-key="connect"] .collapsed-product-logo-connect{
  height:46.2px !important;
  max-height:46.2px !important;
}

#bl-site #bl-products [data-expand-key="event"] .collapsed-product-logo-event,
#bl-site #bl-products [data-expand-key="center"] .collapsed-product-logo-center{
  height:42px !important;
  max-height:42px !important;
}

#bl-site #bl-products [data-expand-key="athlete"] .collapsed-product-logo-athlete{
  height:44.1px !important;
  max-height:44.1px !important;
}

@media(max-width:700px){
  #bl-site #bl-products [data-expand-key="connect"] .collapsed-product-logo-connect{
    height:41.25px !important;
    max-height:41.25px !important;
  }

  #bl-site #bl-products [data-expand-key="event"] .collapsed-product-logo-event,
  #bl-site #bl-products [data-expand-key="center"] .collapsed-product-logo-center{
    height:37.5px !important;
    max-height:37.5px !important;
  }

  #bl-site #bl-products [data-expand-key="athlete"] .collapsed-product-logo-athlete{
    height:39.375px !important;
    max-height:39.375px !important;
  }
}


/* ===== v177 expanded Product Line spacing + lockup centering =====
   Preserve left-aligned kicker/body copy, but center the combined BoutLink +
   product lockup inside the copy column. Add clearly visible breathing room
   between the descriptive paragraph and price/status/CTA block. */
#bl-site [data-detail-panel="products"] .product-dropdown-lockup-title-split{
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

#bl-site [data-detail-panel="products"] .expanded-product-logo-pair{
  margin-left:auto !important;
  margin-right:auto !important;
}

#bl-site [data-detail-panel="products"] .product-sales-link.product-sales-link-inline{
  padding-top:42px !important;
}

@media (max-width:1050px){
  #bl-site [data-detail-panel="products"] .product-sales-link.product-sales-link-inline{
    padding-top:34px !important;
  }
}

@media (max-width:700px){
  #bl-site [data-detail-panel="products"] .product-sales-link.product-sales-link-inline{
    padding-top:28px !important;
  }
}


/* ===== v178 product dropdown cleanup =====
   Remove expanded-panel kicker labels (BASICS/HARDWARE/etc.) and use that
   space for more breathing room between the centered BoutLink+product lockup
   and the body description on every product dropdown card. */
#bl-site [data-detail-panel="products"] .detail-kicker{
  display:none !important;
}

#bl-site [data-detail-panel="products"] .product-dropdown-lockup-title-split{
  margin-top:0 !important;
  margin-bottom:26px !important;
}

#bl-site [data-detail-panel="products"] .detail-copy > p{
  margin-top:0 !important;
}

@media (max-width:700px){
  #bl-site [data-detail-panel="products"] .product-dropdown-lockup-title-split{
    margin-bottom:22px !important;
  }
}


/* ===== v179 Product Line visual alignment =====
   Raise the Connect collapsed wordmark slightly so its visible lower edge
   aligns with the neighboring Event / Center / Athlete wordmarks.
   Center expanded product description copy beneath each centered lockup. */
#bl-site #bl-products [data-expand-key="connect"] .collapsed-product-logo-connect{
  bottom:3px !important;
}

#bl-site [data-detail-panel="products"] .detail-copy > p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:700px){
  #bl-site #bl-products [data-expand-key="connect"] .collapsed-product-logo-connect{
    bottom:3px !important;
  }
}


/* ===== v180 Connect collapsed-card sizing =====
   Scale Connect down exactly 5% from the v176/v179 size while keeping its
   bottom edge aligned with Event / Center / Athlete. Intrinsic aspect ratio
   means reducing the rendered height by 5% also reduces width by 5%. */
#bl-site #bl-products [data-expand-key="connect"] .collapsed-product-logo-connect{
  height:43.89px !important;
  max-height:43.89px !important;
  bottom:0 !important;
}

@media(max-width:700px){
  #bl-site #bl-products [data-expand-key="connect"] .collapsed-product-logo-connect{
    height:39.1875px !important;
    max-height:39.1875px !important;
    bottom:0 !important;
  }
}


/* ===== v181 restore approved collapsed Product Line logo balance =====
   Restore the pre-v180 optical balance: Connect is intentionally slightly
   taller than Event/Center, Athlete is lowered to the shared baseline, and
   Connect/Event/Center/Athlete all share the same bottom line. */
#bl-site #bl-products [data-expand-key="connect"] .collapsed-product-logo-connect,
#bl-site #bl-products [data-expand-key="event"] .collapsed-product-logo-event,
#bl-site #bl-products [data-expand-key="center"] .collapsed-product-logo-center,
#bl-site #bl-products [data-expand-key="athlete"] .collapsed-product-logo-athlete{
  top:auto !important;
  bottom:0 !important;
  transform:none !important;
}

#bl-site #bl-products [data-expand-key="connect"] .collapsed-product-logo-connect{
  height:46.2px !important;
  max-height:46.2px !important;
}

#bl-site #bl-products [data-expand-key="event"] .collapsed-product-logo-event,
#bl-site #bl-products [data-expand-key="center"] .collapsed-product-logo-center{
  height:42px !important;
  max-height:42px !important;
}

#bl-site #bl-products [data-expand-key="athlete"] .collapsed-product-logo-athlete{
  height:44.1px !important;
  max-height:44.1px !important;
}

@media(max-width:700px){
  #bl-site #bl-products [data-expand-key="connect"] .collapsed-product-logo-connect{
    height:41.25px !important;
    max-height:41.25px !important;
  }
  #bl-site #bl-products [data-expand-key="event"] .collapsed-product-logo-event,
  #bl-site #bl-products [data-expand-key="center"] .collapsed-product-logo-center{
    height:37.5px !important;
    max-height:37.5px !important;
  }
  #bl-site #bl-products [data-expand-key="athlete"] .collapsed-product-logo-athlete{
    height:39.375px !important;
    max-height:39.375px !important;
  }
}


/* ===== v182 homepage hierarchy + custom video controls ===== */
/* Header: social links take the former BoutLink lockup position. */
#bl-site .header-socials{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  flex:0 0 auto !important;
}
#bl-site .header-socials .social-link{
  width:42px !important;
  height:42px !important;
  margin:0 !important;
}
#bl-site .header-socials .social-link svg{
  width:23px !important;
  height:23px !important;
}

/* Hero: exact existing BoutLink mark + wordmark, with equal visual space above
   the wordmark and below CONNECT / REPLAY / RECORD. The overlay contributes no
   additional top padding so the two gaps stay normalized. */
#bl-site .hero.hero-logo-stage{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:0 !important;
  height:auto !important;
  padding-top:64px !important;
  /* The overlay console adds 26px before its visible title bar. 38px here
     makes the visible tagline-to-overlay gap match the 64px divider-to-B gap. */
  padding-bottom:38px !important;
  margin:0 !important;
}
#bl-site .hero-brand-lockup{
  width:min(100%,1060px) !important;
  max-width:1060px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  margin:0 auto !important;
  padding:0 !important;
  text-decoration:none !important;
  line-height:0 !important;
}
#bl-site .hero-brand-mark{
  display:block !important;
  width:min(27vw,330px) !important;
  height:auto !important;
  flex:0 1 auto !important;
  object-fit:contain !important;
  background:transparent !important;
}
#bl-site .hero-brand-wordmark{
  display:block !important;
  width:min(60vw,700px) !important;
  height:auto !important;
  flex:0 1 auto !important;
  object-fit:contain !important;
  background:transparent !important;
}
#bl-site .hero-copy-simple,
#bl-site .hero-blade-sweep,
#bl-site .hero-title-line{
  display:none !important;
  animation:none !important;
}
#bl-site .overlay-showcase{
  padding-top:0 !important;
}

/* New two-panel explainer directly below the scoring overlay. */
#bl-site .overview-section{
  padding:48px 0 56px !important;
  border-bottom:1px solid var(--bl-line);
  background:rgba(255,255,255,.012);
}
#bl-site .overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
#bl-site .overview-card{
  min-width:0;
  padding:clamp(24px,3vw,38px);
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.022));
}
#bl-site .overview-card h2{
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(1.45rem,2.25vw,2.05rem);
  line-height:1.05;
  letter-spacing:-.035em;
}
#bl-site .overview-card p{
  margin:0;
  color:var(--bl-muted);
  font-size:clamp(.98rem,1.25vw,1.08rem);
  line-height:1.68;
}
#bl-site .overview-requirements{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:18px;
}
#bl-site .overview-requirements li{
  position:relative;
  padding-left:20px;
  color:var(--bl-muted);
  line-height:1.5;
}
#bl-site .overview-requirements li::before{
  content:"";
  position:absolute;
  left:0;
  top:.64em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--bl-red,#e30613);
}
#bl-site .overview-requirements strong{
  display:block;
  color:#fff;
  font-size:1.02rem;
  margin-bottom:3px;
}
#bl-site .overview-requirements span{
  display:block;
  color:var(--bl-muted);
  font-size:.93rem;
}

/* Custom YouTube presentation. The iframe is deliberately interaction-free;
   the BoutLink layer owns play/pause, scrub, and mute behavior. */
#bl-site .bl-custom-video{
  position:relative;
  width:100%;
  height:100%;
  min-height:0;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:#000;
  border-radius:inherit;
  isolation:isolate;
}
#bl-site .bl-video-player,
#bl-site .bl-video-player iframe{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  border:0 !important;
  display:block !important;
}
#bl-site .bl-video-player{z-index:1;}
/* v191: cover YouTube's initial native thumbnail/chrome before first playback.
   The cover goes away as soon as the YouTube API reports actual playback. */
#bl-site .bl-video-poster{
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background-color:#08090b;
  background-position:center;
  background-size:cover;
  opacity:1;
  visibility:visible;
}
#bl-site .bl-custom-video.bl-video-has-started .bl-video-poster{
  opacity:0;
  visibility:hidden;
}

#bl-site .bl-video-click-target{
  position:absolute;
  z-index:3;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
#bl-site .bl-video-click-target:focus-visible{
  outline:2px solid rgba(255,255,255,.92);
  outline-offset:-4px;
}
#bl-site .bl-video-click-target:disabled{cursor:wait;}
#bl-site .bl-video-center-feedback{
  position:absolute;
  z-index:5;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) scale(.92);
  width:72px;
  height:72px;
  border-radius:50%;
  display:grid;
  place-items:center;
  pointer-events:none;
  opacity:0;
  background:rgba(7,8,10,.74);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 10px 34px rgba(0,0,0,.42);
  transition:opacity .18s ease,transform .18s ease;
}
#bl-site .bl-video-center-feedback.is-visible{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}
#bl-site .bl-video-feedback-icon{
  position:relative;
  display:block;
  width:28px;
  height:32px;
}
#bl-site .bl-video-feedback-play::before{
  content:"";
  position:absolute;
  left:6px;
  top:3px;
  width:0;
  height:0;
  border-top:13px solid transparent;
  border-bottom:13px solid transparent;
  border-left:21px solid #fff;
}
#bl-site .bl-video-feedback-pause::before,
#bl-site .bl-video-feedback-pause::after{
  content:"";
  position:absolute;
  top:3px;
  width:8px;
  height:26px;
  border-radius:2px;
  background:#fff;
}
#bl-site .bl-video-feedback-pause::before{left:4px;}
#bl-site .bl-video-feedback-pause::after{right:4px;}

#bl-site .bl-video-mute{
  position:absolute;
  z-index:7;
  right:12px;
  bottom:11px;
  width:42px;
  height:42px;
  padding:0;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(5,6,8,.74);
  color:#fff;
  cursor:pointer;
  display:block;
  transition:background .16s ease,border-color .16s ease;
}
#bl-site .bl-video-mute:hover,
#bl-site .bl-video-mute:focus-visible{
  background:rgba(15,17,21,.92);
  border-color:rgba(255,255,255,.42);
  outline:none;
}
#bl-site .bl-video-speaker{
  position:absolute;
  left:10px;
  top:15px;
  width:8px;
  height:12px;
  border-radius:2px 0 0 2px;
  background:#fff;
}
#bl-site .bl-video-speaker::after{
  content:"";
  position:absolute;
  left:6px;
  top:-4px;
  width:0;
  height:0;
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  border-right:0;
  border-left:9px solid #fff;
}
#bl-site .bl-video-sound-waves::before,
#bl-site .bl-video-sound-waves::after{
  content:"";
  position:absolute;
  border:2px solid #fff;
  border-left:0;
  border-top-color:transparent;
  border-bottom-color:transparent;
  border-radius:0 999px 999px 0;
}
#bl-site .bl-video-sound-waves::before{
  left:24px;
  top:14px;
  width:5px;
  height:14px;
}
#bl-site .bl-video-sound-waves::after{
  left:27px;
  top:10px;
  width:8px;
  height:22px;
}
#bl-site .bl-video-muted-slash{
  display:none;
  position:absolute;
  left:9px;
  top:20px;
  width:25px;
  height:2px;
  border-radius:2px;
  background:#fff;
  transform:rotate(-45deg);
  transform-origin:center;
  box-shadow:0 0 0 2px rgba(5,6,8,.38);
}
#bl-site .bl-video-mute.is-muted .bl-video-sound-waves{display:none;}
#bl-site .bl-video-mute.is-muted .bl-video-muted-slash{display:block;}

#bl-site .bl-video-scrub{
  position:absolute;
  z-index:8;
  left:14px;
  right:64px;
  bottom:15px;
  height:34px;
  display:flex;
  align-items:center;
  opacity:0;
  visibility:hidden;
  transform:translateY(5px);
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;
}
#bl-site .bl-video-scrub.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
  transition:opacity .2s ease,transform .2s ease,visibility 0s linear 0s;
}
#bl-site .bl-video-scrub input[type="range"]{
  width:100%;
  height:28px;
  margin:0;
  padding:0;
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  cursor:pointer;
}
#bl-site .bl-video-scrub input[type="range"]::-webkit-slider-runnable-track{
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg,#e30613 0 var(--bl-video-progress,0%),rgba(255,255,255,.38) var(--bl-video-progress,0%) 100%);
}
#bl-site .bl-video-scrub input[type="range"]::-moz-range-track{
  height:5px;
  border-radius:999px;
  background:rgba(255,255,255,.38);
}
#bl-site .bl-video-scrub input[type="range"]::-moz-range-progress{
  height:5px;
  border-radius:999px;
  background:#e30613;
}
#bl-site .bl-video-scrub input[type="range"]::-webkit-slider-thumb{
  appearance:none;
  -webkit-appearance:none;
  width:14px;
  height:14px;
  margin-top:-4.5px;
  border:2px solid #fff;
  border-radius:50%;
  background:#e30613;
  box-shadow:0 1px 4px rgba(0,0,0,.45);
}
#bl-site .bl-video-scrub input[type="range"]::-moz-range-thumb{
  width:12px;
  height:12px;
  border:2px solid #fff;
  border-radius:50%;
  background:#e30613;
  box-shadow:0 1px 4px rgba(0,0,0,.45);
}

/* Dynamic feature/product video shells already own 16:9 geometry. */
#bl-site .feature-video-embed .bl-custom-video,
#bl-site [data-detail-panel="products"] .product-video-embed .bl-custom-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

@media (max-width:700px){
  #bl-site .header-socials{gap:8px !important;}
  #bl-site .header-socials .social-link{width:38px !important;height:38px !important;}
  #bl-site .hero.hero-logo-stage{
    padding-top:36px !important;
    padding-bottom:36px !important;
  }
  #bl-site .hero-brand-lockup{
    width:100% !important;
    gap:6px !important;
  }
  #bl-site .hero-brand-mark{width:min(27vw,155px) !important;}
  #bl-site .hero-brand-wordmark{width:min(60vw,360px) !important;}
  #bl-site .overview-section{padding:32px 0 38px !important;}
  #bl-site .overview-grid{grid-template-columns:1fr;gap:14px;}
  #bl-site .overview-card{padding:23px 20px;border-radius:16px;}
  #bl-site .bl-video-center-feedback{width:62px;height:62px;}
  #bl-site .bl-video-mute{right:9px;bottom:8px;width:40px;height:40px;}
  #bl-site .bl-video-scrub{left:10px;right:58px;bottom:11px;}
}

@media (prefers-reduced-motion:reduce){
  #bl-site .bl-video-center-feedback,
  #bl-site .bl-video-scrub{transition:none !important;}
}


/* ===== v183 header mark + wordmark-only hero =====
   Move the red BoutLink circle mark into the upper-left header, immediately
   before Instagram. Keep only the BoutLink + CONNECT / REPLAY / RECORD
   wordmark in the hero area formerly occupied by Smarter Fencing Strips. */
#bl-site .header-mark-link{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:58px !important;
  height:58px !important;
  flex:0 0 58px !important;
  margin:0 2px 0 0 !important;
  padding:0 !important;
  text-decoration:none !important;
  line-height:0 !important;
}
#bl-site .header-mark-logo{
  display:block !important;
  width:58px !important;
  height:58px !important;
  object-fit:contain !important;
  background:transparent !important;
}
#bl-site .hero-brand-lockup{
  width:min(100%,760px) !important;
  max-width:760px !important;
  gap:0 !important;
}
#bl-site .hero-brand-mark{
  display:none !important;
}
#bl-site .hero-brand-wordmark{
  width:min(72vw,700px) !important;
  max-width:700px !important;
  margin:0 auto !important;
}
@media (max-width:700px){
  #bl-site .header-socials{gap:8px !important;}
  #bl-site .header-mark-link{
    width:46px !important;
    height:46px !important;
    flex-basis:46px !important;
    margin-right:0 !important;
  }
  #bl-site .header-mark-logo{
    width:46px !important;
    height:46px !important;
  }
  #bl-site .hero-brand-lockup{
    width:100% !important;
  }
  #bl-site .hero-brand-wordmark{
    width:min(78vw,420px) !important;
  }
}


/* ===== v184 speaker icon + flat hero wordmark =====
   Use a conventional speaker-with-waves SVG for unmuted state and a
   speaker-with-X SVG for muted state. The hero wordmark asset itself is now
   flat solid white + BoutLink red, so no texture/shadow treatment is present. */
#bl-site .bl-video-mute{
  display:grid !important;
  place-items:center !important;
  color:#fff !important;
}
#bl-site .bl-video-icon{
  width:25px !important;
  height:25px !important;
  display:block;
  overflow:visible;
  pointer-events:none;
}
#bl-site .bl-video-icon-muted{display:none;}
#bl-site .bl-video-mute.is-muted .bl-video-icon-sound{display:none;}
#bl-site .bl-video-mute.is-muted .bl-video-icon-muted{display:block;}


/* ===== v185 hero wordmark depth pass =====
   Preserve the v184 flat solid white/red artwork. Add dimensionality only
   through alpha-following shadows so the fills stay clean and untextured. */
#bl-site .hero-brand-wordmark{
  filter:
    drop-shadow(0 1px 0 rgba(255,255,255,.10))
    drop-shadow(0 4px 1px rgba(0,0,0,.72))
    drop-shadow(0 12px 18px rgba(0,0,0,.52)) !important;
}


/* ===== v186 requirements cleanup + overview spacing + product title optical alignment ===== */
#bl-site .overview-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
#bl-site .overview-card-content{
  width:100%;
  margin:auto 0;
}
#bl-site .overview-card h2{
  margin:0 0 14px !important;
}
#bl-site .overview-copy-card p{
  line-height:1.58 !important;
}
#bl-site .overview-requirements{
  gap:17px !important;
}
#bl-site .overview-requirements li{
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
  min-height:0;
  padding:0 0 0 18px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#fff;
}
#bl-site .overview-requirements li::before{
  display:block !important;
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--bl-red,#e30613);
  transform:translateY(-50%);
}
#bl-site .overview-requirements strong{
  display:block;
  margin:0 !important;
  color:#fff;
  font-size:1.03rem;
  line-height:1.25;
}
#bl-site .overview-info{
  position:relative;
  flex:0 0 auto;
}
#bl-site .overview-info summary{
  list-style:none;
  width:15px;
  height:15px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  background:transparent;
  color:#cfd4db;
  font-size:9px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  user-select:none;
}
#bl-site .overview-info summary span{display:inline !important;color:inherit !important;font-size:inherit !important;line-height:1 !important;}
#bl-site .overview-info summary::-webkit-details-marker{display:none;}
#bl-site .overview-info summary::marker{content:"";}
#bl-site .overview-info summary:hover,
#bl-site .overview-info summary:focus-visible,
#bl-site .overview-info[open] summary{
  border-color:rgba(227,6,19,.85);
  color:#fff;
  background:rgba(227,6,19,.10);
  outline:none;
}
#bl-site .overview-info-popover{
  position:absolute;
  z-index:50;
  left:50%;
  bottom:calc(100% + 10px);
  width:min(330px,72vw);
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  background:#111318;
  box-shadow:0 14px 34px rgba(0,0,0,.42);
  color:#d8dce2;
  font-size:.86rem;
  line-height:1.48;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,5px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
}
#bl-site .overview-info-popover::after{
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  width:9px;
  height:9px;
  background:#111318;
  border-right:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
  transform:translate(-50%,-5px) rotate(45deg);
}
#bl-site .overview-info:hover .overview-info-popover,
#bl-site .overview-info:focus-within .overview-info-popover,
#bl-site .overview-info[open] .overview-info-popover{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}

/* Scale Event and Center exactly 5% while holding their current image-box tops.
   The compensating negative bottom offset lets only the lower edge grow. */
#bl-site #bl-products [data-expand-key="event"] .collapsed-product-logo-event,
#bl-site #bl-products [data-expand-key="center"] .collapsed-product-logo-center{
  height:44.1px !important;
  max-height:44.1px !important;
  top:auto !important;
  bottom:-2.1px !important;
  width:auto !important;
  transform:none !important;
}
@media(max-width:700px){
  #bl-site .overview-card{padding:22px 20px !important;}
  #bl-site .overview-card h2{margin-bottom:13px !important;}
  #bl-site .overview-info-popover{
    left:auto;
    right:-8px;
    width:min(290px,76vw);
    transform:translateY(5px);
  }
  #bl-site .overview-info-popover::after{left:auto;right:15px;transform:translateY(-5px) rotate(45deg);}
  #bl-site .overview-info:hover .overview-info-popover,
  #bl-site .overview-info:focus-within .overview-info-popover,
  #bl-site .overview-info[open] .overview-info-popover{transform:translateY(0);}
  #bl-site #bl-products [data-expand-key="event"] .collapsed-product-logo-event,
  #bl-site #bl-products [data-expand-key="center"] .collapsed-product-logo-center{
    height:39.375px !important;
    max-height:39.375px !important;
    bottom:-1.875px !important;
  }
}


/* ===== v187 blurred hero-video background + product logo flatten/rebalance ===== */
#bl-site .hero-video-stage{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#08090b;
}
#bl-site .hero-background-video{
  position:absolute;
  z-index:0;
  inset:-12px;
  width:calc(100% + 24px);
  height:calc(100% + 24px);
  object-fit:cover;
  object-position:center 48%;
  display:block;
  opacity:.9;
  background:#08090b;
}
#bl-site .hero-background-shade{
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 73% 23%, rgba(123,0,10,.22), transparent 38%),
    linear-gradient(180deg, rgba(4,5,7,.52) 0%, rgba(4,5,7,.61) 48%, rgba(4,5,7,.72) 100%);
}
#bl-site .hero-video-stage > .wrap,
#bl-site .hero-video-stage > .overlay-showcase{
  position:relative;
  z-index:2;
}
#bl-site .hero-video-stage .overlay-showcase{
  background:rgba(5,6,8,.10) !important;
}

/* Keep the currently approved top-edge relationship while evening out optical weight:
   Strip +7%, Connect -5%; Event / Center / Athlete unchanged from v186. */
#bl-site #bl-products [data-expand-key="strip"] .collapsed-product-logo-strip{
  height:59.171px !important;
  max-height:59.171px !important;
  top:0 !important;
  bottom:auto !important;
  width:auto !important;
  transform:none !important;
}
#bl-site #bl-products [data-expand-key="connect"] .collapsed-product-logo-connect{
  height:43.89px !important;
  max-height:43.89px !important;
  bottom:2.31px !important;
  top:auto !important;
  width:auto !important;
  transform:none !important;
}

/* Slightly cleaner popup rhythm after the earlier Event Services spacing complaint. */
#bl-site .event-services-title{margin-bottom:10px !important;}
#bl-site .event-services-menu p{line-height:1.46 !important;}

@media(max-width:700px){
  #bl-site .hero-background-video{display:none !important;}
  #bl-site .hero-video-stage{
    background-image:
      radial-gradient(circle at 73% 23%, rgba(123,0,10,.18), transparent 40%),
      linear-gradient(180deg, rgba(4,5,7,.64), rgba(4,5,7,.76)),
      url('/assets/img/website-background-poster-v188.webp');
    background-size:cover;
    background-position:center 48%;
  }
  #bl-site .hero-background-shade{display:none;}
  #bl-site #bl-products [data-expand-key="strip"] .collapsed-product-logo-strip{
    height:52.858px !important;
    max-height:52.858px !important;
    top:0 !important;
    bottom:auto !important;
  }
  #bl-site #bl-products [data-expand-key="connect"] .collapsed-product-logo-connect{
    height:39.188px !important;
    max-height:39.188px !important;
    bottom:2.062px !important;
    top:auto !important;
  }
}

@media (prefers-reduced-motion: reduce){
  #bl-site .hero-background-video{display:none !important;}
  #bl-site .hero-video-stage{
    background-image:
      radial-gradient(circle at 73% 23%, rgba(123,0,10,.18), transparent 40%),
      linear-gradient(180deg, rgba(4,5,7,.64), rgba(4,5,7,.76)),
      url('/assets/img/website-background-poster-v188.webp');
    background-size:cover;
    background-position:center 48%;
  }
  #bl-site .hero-background-shade{display:none;}
}


/* ===== v189 overview heading hierarchy, top alignment, superscript info icons ===== */
#bl-site .overview-grid{
  align-items:stretch !important;
}
#bl-site .overview-card{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}
#bl-site .overview-card-content{
  width:100% !important;
  margin:0 !important;
}
#bl-site .overview-card h2{
  margin:0 0 16px !important;
  color:#f3f5f8 !important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-size:clamp(1.52rem,2.2vw,2rem) !important;
  font-weight:950 !important;
  line-height:1.05 !important;
  letter-spacing:-.025em !important;
}
#bl-site .overview-requirements li{
  align-items:center !important;
}
#bl-site .overview-requirements strong{
  display:inline-block !important;
}
#bl-site .overview-info{
  display:inline-flex !important;
  position:relative !important;
  top:-0.34em !important;
  margin-left:5px !important;
  vertical-align:super !important;
}
#bl-site .overview-info summary{
  width:13px !important;
  height:13px !important;
  font-size:8px !important;
  line-height:1 !important;
}
@media (max-width:700px){
  #bl-site .overview-card h2{margin-bottom:14px !important;}
}


/* ===== v191 showroom scoreboard club-logo edge gutter =====
   The photograph remains opaque. The padding/margin framing around it must
   inherit the scorebug's true black, not the old #0a0a0a charcoal patch.
   Applies to both club logos at desktop and responsive breakpoints. */
#bl-site .default-bug-authentic .default-bug-logo,
#bl-site .default-bug-authentic .default-bug-logo.left,
#bl-site .default-bug-authentic .default-bug-logo.right{
  background:transparent !important;
  background-color:transparent !important;
}

/* v192: Event Demo alone uses full native YouTube UI (including scrub bar). */
#bl-site .bl-native-youtube-video {position:relative;width:100%;height:100%;min-height:0;aspect-ratio:16/9;background:#000;overflow:hidden;border-radius:inherit;}
#bl-site .bl-native-youtube-video iframe {position:absolute;inset:0;display:block;width:100%;height:100%;border:0;pointer-events:auto;}
/* R2 native HTML5 video underneath BoutLink's own play/mute/scrub layer. */
#bl-site .bl-video-player video {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;background:#000;pointer-events:none;}
