/* ==========================================================================
   BROIL Sensotek — V5 shared layer
   Loaded after each page's inline <style>, so it overrides it.
   Device: "the flow channel" — a stream that reads as fluid in a measured pipe.
   ========================================================================== */

:root{
  --ink:#0F1B33;
  --ink-2:#17264A;
  --ink-3:#1E3358;
  --rail:#22345C;
  --stream:linear-gradient(90deg,#C8102E 0%,#E0662A 46%,#D99A2B 100%);
  --stream-soft:linear-gradient(90deg,rgba(200,16,46,.9),rgba(217,154,43,.9));
  --nav-h:66px;
  --util-h:34px;
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important;
  }
}

html{scroll-behavior:smooth;}

/* ==========================================================================
   HEADER
   ========================================================================== */
.bsite-header{position:sticky;top:0;z-index:400;}

/* --- utility rail --- */
.bs-util{
  background:var(--ink);
  color:#9FB0CE;
  font-size:12px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.bs-util-in{
  max-width:1360px;margin:0 auto;padding:0 clamp(16px,3.5vw,44px);
  height:var(--util-h);display:flex;align-items:center;gap:18px;
}
.bs-util a{color:#C3D0E6;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.bs-util a:hover{color:#fff;}
.bs-util .bs-util-sep{width:1px;height:14px;background:rgba(255,255,255,.14);flex:0 0 auto;}
.bs-util-spacer{flex:1;}
.bs-util-marks{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:#7E90B2;}
.bs-util-marks b{color:#D99A2B;font-weight:600;}
@media(max-width:1040px){ .bs-util-marks{display:none;} }
@media(max-width:620px){ .bs-util-in{gap:12px;font-size:11.5px;} .bs-util-hide-sm{display:none;} }

/* --- main bar --- */
.bs-bar{
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(14px) saturate(1.3);
  -webkit-backdrop-filter:blur(14px) saturate(1.3);
  border-bottom:1px solid var(--line-soft);
  transition:box-shadow .3s var(--ease), background .3s;
}
.bsite-header.is-stuck .bs-bar{
  box-shadow:0 10px 30px -18px rgba(15,27,51,.45);
  background:rgba(255,255,255,.97);
}
.bs-bar-in{
  max-width:1360px;margin:0 auto;padding:0 clamp(16px,3.5vw,44px);
  height:var(--nav-h);display:flex;align-items:center;gap:clamp(12px,2vw,30px);
  transition:height .28s var(--ease);
}
.bsite-header.is-stuck .bs-bar-in{height:58px;}

.bs-brand{flex:0 0 auto;display:flex;align-items:center;}
.bs-brand img{height:48px;width:auto;transition:height .28s var(--ease);}
.bsite-header.is-stuck .bs-brand img{height:40px;}

/* --- nav links --- */
.bs-nav{display:flex;align-items:center;gap:clamp(4px,1.2vw,14px);flex:1;height:100%;}
.bs-nav-item{position:relative;height:100%;display:flex;align-items:center;}
.bs-nav-link{
  font-size:14px;font-weight:550;color:var(--ink);letter-spacing:-.005em;
  padding:8px 10px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;
  transition:color .18s, background .18s;
}
.bs-nav-link:hover,.bs-nav-item:hover > .bs-nav-link{color:var(--red);background:rgba(200,16,46,.05);}
.bs-nav-link[aria-current="page"]{color:var(--red);}
.bs-nav-link[aria-current="page"]::after{
  content:"";position:absolute;left:10px;right:10px;bottom:12px;height:2px;border-radius:2px;background:var(--stream);
}
.bs-caret{width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
  transform:rotate(45deg) translate(-2px,-2px);opacity:.5;transition:transform .2s;}
.bs-nav-item:hover .bs-caret{transform:rotate(225deg) translate(-3px,-3px);opacity:.9;}

/* --- mega menu: products grouped by measurement principle --- */
.bs-mega{
  position:absolute;top:100%;left:-24px;
  width:min(760px,86vw);
  background:#fff;border:1px solid var(--line);border-radius:16px;
  box-shadow:0 30px 70px -28px rgba(15,27,51,.45), 0 2px 8px rgba(15,27,51,.06);
  padding:22px;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .2s var(--ease),transform .22s var(--ease),visibility .22s;
}
.bs-nav-item:hover .bs-mega,.bs-nav-item:focus-within .bs-mega{opacity:1;visibility:visible;transform:translateY(0);}
.bs-mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.bs-mega-col > h6{
  font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--text-faint);
  text-transform:uppercase;margin-bottom:4px;
}
.bs-mega-col > .bs-mega-sub{font-size:11.5px;color:var(--text-faint);margin-bottom:10px;line-height:1.4;display:block;}
.bs-mega a{
  display:block;padding:8px 10px;border-radius:9px;font-size:13.5px;color:var(--text);
  border-left:2px solid transparent;transition:background .15s,border-color .15s,padding-left .15s;
}
.bs-mega a small{display:block;font-size:11.5px;color:var(--text-faint);margin-top:1px;}
.bs-mega a:hover{background:var(--bg-alt);border-left-color:var(--red);padding-left:13px;}
.bs-mega-foot{
  margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft);
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
}
.bs-mega-foot p{font-size:12.5px;color:var(--text-dim);margin:0;max-width:44ch;}
.bs-mega-foot a{
  border:none;padding:9px 16px;border-radius:100px;background:var(--stream);color:#fff;
  font-size:12.5px;font-weight:600;white-space:nowrap;
}
.bs-mega-foot a:hover{padding-left:16px;background:var(--stream);opacity:.92;}
@media(max-width:880px){ .bs-mega{display:none;} }

/* --- actions --- */
.bs-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.bs-search-trigger{
  display:flex;align-items:center;gap:9px;
  height:38px;padding:0 12px 0 13px;
  border:1px solid var(--line);border-radius:100px;background:#fff;
  color:var(--text-faint);font-size:13px;font-family:var(--font-body);
  transition:border-color .2s,box-shadow .2s,color .2s;min-width:190px;
}
.bs-search-trigger:hover{border-color:var(--navy);color:var(--text-dim);box-shadow:var(--shadow-sm);}
.bs-search-trigger kbd{
  margin-left:auto;font-family:var(--font-mono);font-size:10.5px;
  border:1px solid var(--line);border-radius:5px;padding:2px 5px;color:var(--text-faint);background:var(--bg-alt);
}
.bs-icon{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;
  display:flex;align-items:center;justify-content:center;position:relative;color:var(--ink);
  transition:border-color .2s,transform .2s,background .2s;flex:0 0 auto;
}
.bs-icon:hover{border-color:var(--navy);transform:translateY(-1px);background:var(--bg-alt);}
.bs-icon svg{width:18px;height:18px;}
.bs-cart-badge{
  position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;font-size:10px;font-weight:700;
  min-width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 4px;
  box-shadow:0 0 0 2px #fff;
}
.bs-cta{
  font-weight:600;font-size:13.5px;color:#fff;background:var(--stream);
  padding:11px 20px;border-radius:100px;white-space:nowrap;
  box-shadow:0 4px 14px -4px rgba(200,16,46,.55);
  transition:box-shadow .22s,transform .2s;
}
.bs-cta:hover{box-shadow:0 8px 22px -6px rgba(200,16,46,.6);transform:translateY(-1px);}
@media(max-width:1180px){ .bs-search-trigger{min-width:0;} .bs-search-trigger span,.bs-search-trigger kbd{display:none;} .bs-search-trigger{width:38px;padding:0;justify-content:center;} }
@media(max-width:880px){ .bs-nav{display:none;} .bs-cta{display:none;} }

.bs-burger{
  display:none;width:40px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;
  position:relative;flex:0 0 auto;
}
.bs-burger i{position:absolute;left:11px;right:11px;height:1.8px;background:var(--ink);border-radius:2px;transition:transform .28s var(--ease),opacity .2s;}
.bs-burger i:nth-child(1){top:13px;} .bs-burger i:nth-child(2){top:18px;} .bs-burger i:nth-child(3){top:23px;}
.bs-burger.is-open i:nth-child(1){transform:translateY(5px) rotate(45deg);}
.bs-burger.is-open i:nth-child(2){opacity:0;}
.bs-burger.is-open i:nth-child(3){transform:translateY(-5px) rotate(-45deg);}
@media(max-width:880px){ .bs-burger{display:block;} }

/* --- flow channel: scroll progress reads as fluid filling a pipe --- */
.bs-channel{height:3px;background:#E9ECF2;position:relative;overflow:hidden;}
.bs-channel-fill{
  height:100%;width:0%;background:var(--stream);
  box-shadow:0 0 12px rgba(200,16,46,.45);
  transition:width .08s linear;position:relative;
}
.bs-channel-fill::after{
  content:"";position:absolute;right:0;top:0;bottom:0;width:36px;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.85));
}

/* ==========================================================================
   MOBILE DRAWER
   ========================================================================== */
.bs-drawer{
  position:fixed;inset:var(--nav-h) 0 0 0;background:#fff;z-index:390;
  transform:translateX(100%);transition:transform .34s var(--ease);
  overflow-y:auto;padding:22px clamp(18px,5vw,28px) 60px;
  visibility:hidden;
}
.bs-drawer.is-open{transform:translateX(0);visibility:visible;}
.bs-drawer-search{
  width:100%;height:46px;border:1px solid var(--line);border-radius:12px;padding:0 16px;
  font-size:15px;font-family:var(--font-body);margin-bottom:18px;background:var(--bg-alt);
}
.bs-drawer h6{
  font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--text-faint);
  text-transform:uppercase;margin:22px 0 8px;
}
.bs-drawer a{display:block;padding:12px 2px;font-size:16.5px;font-weight:550;border-bottom:1px solid var(--line-soft);color:var(--ink);}
.bs-drawer a:active{color:var(--red);}
.bs-drawer .bs-drawer-sub{font-size:14.5px;font-weight:450;color:var(--text-dim);padding:10px 2px;}
.bs-drawer-cta{
  display:flex;gap:10px;margin-top:26px;
}
.bs-drawer-cta a{
  flex:1;text-align:center;border:none;border-radius:100px;padding:13px 10px;font-size:14px;font-weight:600;
}
.bs-drawer-cta a:first-child{background:var(--stream);color:#fff;}
.bs-drawer-cta a:last-child{background:var(--bg-alt);color:var(--ink);border:1px solid var(--line);}

/* ==========================================================================
   SEARCH OVERLAY (rebuilt)
   ========================================================================== */
.bs-search{
  position:fixed;inset:0;z-index:600;
  background:rgba(12,18,32,.55);backdrop-filter:blur(4px);
  opacity:0;pointer-events:none;transition:opacity .2s;
}
.bs-search.is-open{opacity:1;pointer-events:auto;}
.bs-search-panel{
  max-width:680px;margin:min(10vh,90px) auto 0;background:#fff;border-radius:18px;
  box-shadow:0 40px 90px -30px rgba(8,14,28,.6);overflow:hidden;
  transform:translateY(-14px) scale(.985);transition:transform .25s var(--ease);
  display:flex;flex-direction:column;max-height:80vh;
}
.bs-search.is-open .bs-search-panel{transform:none;}
.bs-search-top{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line-soft);flex:0 0 auto;}
.bs-search-top svg{width:20px;height:20px;color:var(--text-faint);flex:0 0 auto;}
.bs-search-top input{
  flex:1;border:none;outline:none;font-family:var(--font-head);font-size:19px;color:var(--ink);
  background:transparent;min-width:0;
}
.bs-search-top input::placeholder{color:var(--text-faint);font-weight:500;}
.bs-search-esc{
  border:1px solid var(--line);background:var(--bg-alt);border-radius:7px;padding:4px 9px;
  font-family:var(--font-mono);font-size:11px;color:var(--text-faint);flex:0 0 auto;
}
.bs-search-esc:hover{border-color:var(--navy);color:var(--text);}
.bs-search-body{overflow-y:auto;padding:8px;flex:1;}
.bs-search-group{margin:6px 4px 2px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--text-faint);padding:8px 8px 4px;}
.bs-hit{
  display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;cursor:pointer;
  border:1px solid transparent;
}
.bs-hit:hover,.bs-hit.is-active{background:var(--bg-alt);border-color:var(--line-soft);}
.bs-hit-ic{
  width:34px;height:34px;border-radius:9px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-size:10px;font-weight:600;background:var(--navy-tint);color:var(--navy-2);
}
.bs-hit[data-tag="Shop"] .bs-hit-ic{background:var(--red-tint);color:var(--red);}
.bs-hit[data-tag="Blog"] .bs-hit-ic{background:var(--amber-tint);color:var(--amber-dim);}
.bs-hit[data-tag="Policy"] .bs-hit-ic{background:#EEF1F5;color:#5C6678;}
.bs-hit-txt{flex:1;min-width:0;}
.bs-hit-name{font-size:14px;font-weight:550;color:var(--ink);line-height:1.3;}
.bs-hit-name mark{background:rgba(217,154,43,.3);color:inherit;border-radius:3px;padding:0 1px;}
.bs-hit-meta{font-size:11.5px;color:var(--text-faint);margin-top:2px;}
.bs-hit-go{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);opacity:0;flex:0 0 auto;}
.bs-hit:hover .bs-hit-go,.bs-hit.is-active .bs-hit-go{opacity:1;}
.bs-search-empty{padding:34px 18px;text-align:center;}
.bs-search-empty p{font-size:14px;color:var(--text-dim);margin-bottom:14px;}
.bs-chip-row{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;}
.bs-chip{
  border:1px solid var(--line);background:#fff;border-radius:100px;padding:6px 13px;
  font-size:12.5px;color:var(--text-dim);font-family:var(--font-body);
}
.bs-chip:hover{border-color:var(--red);color:var(--red);background:var(--red-tint);}
.bs-search-foot{
  flex:0 0 auto;border-top:1px solid var(--line-soft);padding:9px 16px;
  display:flex;gap:16px;align-items:center;font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint);
}
.bs-search-foot b{border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-weight:500;background:var(--bg-alt);}
@media(max-width:620px){
  .bs-search-panel{margin:0;max-height:100vh;height:100%;border-radius:0;}
  .bs-search-foot{display:none;}
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.bsite-footer{
  background:var(--ink);color:#B9C6DC;position:relative;padding:0;border:none;
  overflow:hidden;
}
.bs-foot-band{display:block;width:100%;height:46px;}
.bs-foot-band path{vector-effect:non-scaling-stroke;}

.bs-foot-cta{
  border-bottom:1px solid rgba(255,255,255,.08);
}
.bs-foot-cta-in{
  max-width:1360px;margin:0 auto;padding:30px clamp(18px,3.5vw,44px);
  display:flex;align-items:center;gap:26px;flex-wrap:wrap;
}
.bs-foot-cta h3{color:#fff;font-size:21px;margin-bottom:5px;}
.bs-foot-cta p{color:#8FA0BE;font-size:13.5px;max-width:50ch;margin:0;}
.bs-foot-cta-btns{display:flex;gap:10px;margin-left:auto;flex-wrap:wrap;}
.bs-foot-btn{
  padding:12px 22px;border-radius:100px;font-size:13.5px;font-weight:600;white-space:nowrap;
  background:var(--stream);color:#fff;border:none;
  box-shadow:0 6px 20px -8px rgba(200,16,46,.8);
}
.bs-foot-btn.is-quiet{background:transparent;border:1px solid rgba(255,255,255,.22);color:#DCE4F0;box-shadow:none;}
.bs-foot-btn.is-quiet:hover{border-color:var(--amber);color:var(--amber);}

.bs-foot-main{
  max-width:1360px;margin:0 auto;padding:46px clamp(18px,3.5vw,44px) 30px;
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr;gap:clamp(24px,4vw,46px);
}
.bs-foot-main .bs-foot-logo{
  height:52px;margin-bottom:16px;
  /* No colors in the logo itself are touched -- this is a pure lighting effect
     (a soft halo) so the mark reads clearly against the dark footer. */
  filter:
    drop-shadow(0 0 1px rgba(255,255,255,.55))
    drop-shadow(0 0 16px rgba(217,154,43,.25))
    drop-shadow(0 2px 10px rgba(0,0,0,.4));
}
.bs-foot-main .bs-foot-about p{color:#8FA0BE;font-size:13px;line-height:1.65;max-width:34ch;margin:0 0 16px;}
.bs-foot-col h5{
  font-family:var(--font-mono);font-size:10px;letter-spacing:.09em;color:var(--amber);
  text-transform:uppercase;margin-bottom:15px;
}
.bs-foot-col a{display:block;font-size:13.5px;color:#B9C6DC;margin-bottom:10px;width:fit-content;position:relative;}
.bs-foot-col a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--amber);
  transition:right .25s var(--ease);
}
.bs-foot-col a:hover{color:#fff;}
.bs-foot-col a:hover::after{right:0;}
.bs-foot-contact strong{display:block;color:#fff;font-size:13.5px;font-weight:600;margin-bottom:3px;}
.bs-foot-contact address{font-style:normal;color:#8FA0BE;font-size:12.5px;line-height:1.65;margin-bottom:14px;}
.bs-foot-social{display:flex;gap:9px;margin-top:4px;}
.bs-foot-social a{
  width:36px;height:36px;border-radius:11px;border:1px solid rgba(255,255,255,.14);
  display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);
  color:#B9C6DC;margin:0;transition:border-color .2s,color .2s,transform .2s,background .2s;
}
.bs-foot-social a::after{display:none;}
.bs-foot-social a:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-2px);background:rgba(217,154,43,.1);}
.bs-foot-social svg{width:17px;height:17px;}
@media(max-width:940px){ .bs-foot-main{grid-template-columns:1fr 1fr;} }
@media(max-width:560px){ .bs-foot-main{grid-template-columns:1fr;} }

.bs-foot-legal{
  border-top:1px solid rgba(255,255,255,.08);
}
.bs-foot-legal-in{
  max-width:1360px;margin:0 auto;padding:16px clamp(18px,3.5vw,44px);
  display:flex;flex-wrap:wrap;gap:6px 20px;align-items:center;
}
.bs-foot-legal a{font-size:12px;color:#7E90B2;}
.bs-foot-legal a:hover{color:var(--amber);}
.bs-foot-bottom{
  border-top:1px solid rgba(255,255,255,.08);
}
.bs-foot-bottom-in{
  max-width:1360px;margin:0 auto;padding:16px clamp(18px,3.5vw,44px) 22px;
  display:flex;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;
  font-size:12px;color:#6F80A1;align-items:center;
}
.bs-foot-made{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:#6F80A1;}

.bs-top{
  position:absolute;right:clamp(18px,3.5vw,44px);bottom:76px;
  width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);color:#C3D0E6;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,transform .2s,border-color .2s;
}
.bs-top:hover{background:rgba(217,154,43,.14);border-color:var(--amber);color:var(--amber);transform:translateY(-3px);}
@media(max-width:940px){ .bs-top{display:none;} }

/* ==========================================================================
   FLOATING SUPPORT DOCK
   ========================================================================== */
.bs-dock{position:fixed;right:20px;bottom:20px;z-index:340;display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.bs-dock-items{display:flex;flex-direction:column;gap:10px;align-items:flex-end;
  opacity:0;transform:translateY(10px) scale(.94);pointer-events:none;transform-origin:bottom right;
  transition:opacity .22s var(--ease),transform .24s var(--ease);}
.bs-dock.is-open .bs-dock-items{opacity:1;transform:none;pointer-events:auto;}
.bs-dock-item{
  display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);
  border-radius:100px;padding:8px 16px 8px 9px;box-shadow:0 12px 30px -12px rgba(15,27,51,.4);
  font-size:13px;font-weight:550;color:var(--ink);white-space:nowrap;
  transition:transform .18s,box-shadow .18s;
}
.bs-dock-item:hover{transform:translateX(-3px);box-shadow:0 16px 36px -12px rgba(15,27,51,.5);}
.bs-dock-ic{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:#fff;}
.bs-dock-ic svg{width:16px;height:16px;}
.bs-dock-toggle{
  position:relative;
  width:56px;height:56px;border-radius:50%;border:none;background:var(--stream);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 34px -10px rgba(200,16,46,.75);
  transition:transform .26s var(--ease);
}
.bs-dock.is-open .bs-dock-toggle{transform:rotate(135deg);}
.bs-dock-toggle svg{width:24px;height:24px;}
.bs-dock-pip{
  position:absolute;top:2px;right:2px;width:11px;height:11px;border-radius:50%;background:#1E8A5F;
  box-shadow:0 0 0 2.5px #fff;
}
@media(max-width:560px){ .bs-dock{right:14px;bottom:14px;} }

/* ==========================================================================
   FEEDBACK / SUPPORT MODAL
   ========================================================================== */
.bs-modal{
  position:fixed;inset:0;z-index:620;background:rgba(12,18,32,.58);backdrop-filter:blur(4px);
  opacity:0;pointer-events:none;transition:opacity .22s;display:flex;align-items:center;justify-content:center;
  padding:20px;
}
.bs-modal.is-open{opacity:1;pointer-events:auto;}
.bs-modal-card{
  background:#fff;border-radius:20px;max-width:520px;width:100%;max-height:88vh;overflow-y:auto;
  box-shadow:0 40px 90px -30px rgba(8,14,28,.6);
  transform:translateY(16px) scale(.98);transition:transform .26s var(--ease);
}
.bs-modal.is-open .bs-modal-card{transform:none;}
.bs-modal-head{padding:24px 26px 0;position:relative;}
.bs-modal-head h3{font-size:21px;margin-bottom:6px;padding-right:34px;}
.bs-modal-head p{font-size:13.5px;color:var(--text-dim);margin:0;}
.bs-modal-x{
  position:absolute;top:18px;right:18px;width:32px;height:32px;border-radius:50%;
  border:1px solid var(--line);background:#fff;color:var(--text-faint);font-size:17px;line-height:1;
  display:flex;align-items:center;justify-content:center;
}
.bs-modal-x:hover{border-color:var(--navy);color:var(--text);}
.bs-modal-body{padding:20px 26px 26px;}

.bs-field{margin-bottom:15px;}
.bs-field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.bs-field input,.bs-field select,.bs-field textarea{
  width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 13px;
  font-family:var(--font-body);font-size:14px;color:var(--text);background:#fff;
  transition:border-color .18s,box-shadow .18s;
}
.bs-field textarea{min-height:104px;resize:vertical;}
.bs-field input:focus,.bs-field select:focus,.bs-field textarea:focus{
  outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(200,16,46,.1);
}
.bs-field.has-error input,.bs-field.has-error select,.bs-field.has-error textarea{border-color:var(--red);}
.bs-err{display:none;font-size:12px;color:var(--red);margin-top:5px;}
.bs-field.has-error .bs-err{display:block;}
.bs-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:480px){ .bs-row{grid-template-columns:1fr;} }

.bs-rate{display:flex;gap:7px;}
.bs-rate button{
  flex:1;border:1px solid var(--line);background:#fff;border-radius:11px;padding:11px 4px;
  font-size:19px;line-height:1;transition:border-color .16s,background .16s,transform .16s;
}
.bs-rate button:hover{transform:translateY(-2px);border-color:var(--amber);}
.bs-rate button.is-on{border-color:var(--red);background:var(--red-tint);}
.bs-rate-label{font-size:12px;color:var(--text-faint);margin-top:7px;min-height:16px;}

.bs-submit{
  width:100%;border:none;border-radius:100px;padding:14px;background:var(--stream);color:#fff;
  font-size:14.5px;font-weight:600;font-family:var(--font-body);
  box-shadow:0 8px 24px -8px rgba(200,16,46,.7);transition:transform .2s,box-shadow .2s,opacity .2s;
}
.bs-submit:hover{transform:translateY(-1px);box-shadow:0 12px 30px -8px rgba(200,16,46,.75);}
.bs-submit:disabled{opacity:.55;transform:none;cursor:not-allowed;}
.bs-note{font-size:11.5px;color:var(--text-faint);text-align:center;margin-top:12px;line-height:1.55;}
.bs-done{text-align:center;padding:14px 4px 6px;}
.bs-done-ic{
  width:60px;height:60px;border-radius:50%;background:rgba(30,138,95,.1);color:#1E8A5F;
  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;
}
.bs-done-ic svg{width:30px;height:30px;}
.bs-done h4{font-size:18px;margin-bottom:8px;}
.bs-done p{font-size:13.5px;color:var(--text-dim);margin-bottom:18px;}

/* toast */
.bs-toast{
  position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);z-index:700;
  background:var(--ink);color:#fff;border-radius:100px;padding:12px 22px;font-size:13.5px;
  box-shadow:0 20px 44px -16px rgba(8,14,28,.7);opacity:0;pointer-events:none;
  transition:opacity .25s,transform .25s var(--ease);display:flex;align-items:center;gap:9px;
}
.bs-toast.is-on{opacity:1;transform:translate(-50%,0);}
.bs-toast svg{width:17px;height:17px;color:#4ADE9B;flex:0 0 auto;}

/* ==========================================================================
   SHOP — search + highlight
   ========================================================================== */
.bs-shopbar{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;
}
.bs-shopsearch{position:relative;flex:1;min-width:230px;max-width:380px;}
.bs-shopsearch svg{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);width:17px;height:17px;
  color:var(--text-faint);pointer-events:none;
}
.bs-shopsearch input{
  width:100%;height:44px;border:1px solid var(--line);border-radius:100px;
  padding:0 40px 0 40px;font-size:14px;font-family:var(--font-body);background:#fff;
  transition:border-color .18s,box-shadow .18s;
}
.bs-shopsearch input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(200,16,46,.09);}
.bs-shopclear{
  position:absolute;right:7px;top:50%;transform:translateY(-50%);
  width:30px;height:30px;border-radius:50%;border:none;background:var(--bg-alt);color:var(--text-faint);
  display:none;align-items:center;justify-content:center;font-size:15px;line-height:1;
}
.bs-shopclear.is-on{display:flex;}
.bs-shopclear:hover{background:var(--red-tint);color:var(--red);}
.bs-shopcount{font-size:13px;color:var(--text-faint);white-space:nowrap;}
.bs-shopcount b{color:var(--ink);font-weight:600;}
.bs-shopsort{
  height:44px;border:1px solid var(--line);border-radius:100px;padding:0 16px;
  font-size:13.5px;font-family:var(--font-body);color:var(--text-dim);background:#fff;
}
.bs-shopsort:focus{outline:none;border-color:var(--navy);}

.bs-active-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.bs-active-filters:empty{display:none;}
.bs-tagchip{
  display:inline-flex;align-items:center;gap:7px;background:var(--red-tint);color:var(--red);
  border:1px solid rgba(200,16,46,.2);border-radius:100px;padding:5px 8px 5px 13px;font-size:12.5px;font-weight:550;
}
.bs-tagchip button{border:none;background:rgba(200,16,46,.14);color:var(--red);width:18px;height:18px;border-radius:50%;
  font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;}
.bs-tagchip button:hover{background:var(--red);color:#fff;}

.bs-noresults{
  grid-column:1/-1;padding:56px 20px;text-align:center;border:1px dashed var(--line);border-radius:16px;background:var(--bg-alt);
}
.bs-noresults h4{font-size:17px;margin-bottom:8px;}
.bs-noresults p{font-size:13.5px;color:var(--text-dim);margin-bottom:16px;}

@keyframes bs-flash{
  0%{box-shadow:0 0 0 0 rgba(200,16,46,.55);}
  70%{box-shadow:0 0 0 16px rgba(200,16,46,0);}
  100%{box-shadow:0 0 0 0 rgba(200,16,46,0);}
}
.bs-flash{animation:bs-flash 1.5s ease-out 2;border-color:var(--red) !important;}

/* ==========================================================================
   CERTIFICATE STRIP — larger, legible
   ========================================================================== */
.bs-certs{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;
  gap:clamp(12px,2.4vw,22px);
}
.bs-cert{
  display:flex;flex-direction:column;align-items:center;gap:11px;
  padding:20px clamp(14px,2vw,26px);border:1px solid var(--line-soft);border-radius:16px;
  background:#fff;min-width:130px;flex:0 1 auto;
  transition:transform .22s var(--ease),box-shadow .22s,border-color .22s;
}
.bs-cert:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line);}
.bs-cert img{height:clamp(74px,8vw,98px);width:auto;object-fit:contain;}
.bs-cert span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.05em;color:var(--text-dim);text-align:center;}

/* ==========================================================================
   ABOUT — the journey pipeline
   ========================================================================== */
.bs-journey{position:relative;padding:10px 0 0;}
.bs-journey-rail{
  position:absolute;left:50%;top:0;bottom:0;width:60px;transform:translateX(-50%);
  pointer-events:none;
}
.bs-journey-rail::before,.bs-journey-rail::after{
  content:"";position:absolute;top:0;bottom:0;width:2px;background:var(--line);
}
.bs-journey-rail::before{left:0;} .bs-journey-rail::after{right:0;}
.bs-journey-fluid{
  position:absolute;left:2px;right:2px;top:0;height:0;
  background:linear-gradient(180deg,rgba(200,16,46,.14),rgba(217,154,43,.2));
  border-radius:2px;transition:height .18s linear;
}
.bs-journey-fluid::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:60px;
  background:linear-gradient(180deg,rgba(217,154,43,0),rgba(217,154,43,.75));
}

.bs-stop{
  position:relative;display:grid;grid-template-columns:1fr 60px 1fr;gap:0;align-items:center;
  padding:11px 0;
}
.bs-stop-card{
  background:#fff;border:1px solid var(--line-soft);border-radius:14px;padding:18px 20px;
  box-shadow:var(--shadow-sm);
  opacity:0;transform:translateY(18px);
  transition:opacity .5s var(--ease),transform .5s var(--ease),box-shadow .25s,border-color .25s;
}
.bs-stop.is-in .bs-stop-card{opacity:1;transform:none;}
.bs-stop-card:hover{box-shadow:var(--shadow-md);border-color:var(--line);}
.bs-stop:nth-child(odd) .bs-stop-card{grid-column:1;margin-right:26px;text-align:right;}
.bs-stop:nth-child(even) .bs-stop-card{grid-column:3;margin-left:26px;}
.bs-stop-year{
  font-family:var(--font-head);font-size:13px;font-weight:700;color:var(--red);
  letter-spacing:.02em;margin-bottom:6px;display:block;
}
.bs-stop-card h4{font-size:15.5px;margin-bottom:6px;line-height:1.35;}
.bs-stop-card p{font-size:13.5px;color:var(--text-dim);line-height:1.65;margin:0;}
.bs-stop-card .bs-stop-tag{
  display:inline-block;margin-top:10px;font-family:var(--font-mono);font-size:10px;
  letter-spacing:.05em;color:var(--navy-2);background:var(--navy-tint);border-radius:100px;padding:3px 9px;
}
.bs-stop-node{
  grid-column:2;justify-self:center;position:relative;z-index:2;
  width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--line);
  transition:border-color .35s,box-shadow .35s,transform .35s var(--ease);
}
.bs-stop.is-in .bs-stop-node{
  border-color:var(--red);transform:scale(1.15);
  box-shadow:0 0 0 5px rgba(200,16,46,.11);
}
.bs-stop.is-major .bs-stop-node{width:22px;height:22px;}
.bs-stop.is-major.is-in .bs-stop-node{background:var(--stream);border-color:transparent;box-shadow:0 0 0 6px rgba(217,154,43,.16);}
.bs-stop.is-major .bs-stop-card{border-left:3px solid var(--red);}
.bs-stop:nth-child(odd).is-major .bs-stop-card{border-left:none;border-right:3px solid var(--red);}

.bs-stop.is-now .bs-stop-card{
  background:linear-gradient(135deg,#fff,var(--amber-tint));border-color:rgba(217,154,43,.4);
}
.bs-pulse{
  display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10.5px;
  letter-spacing:.05em;color:#1E8A5F;margin-top:10px;
}
.bs-pulse i{width:7px;height:7px;border-radius:50%;background:#1E8A5F;animation:bs-blip 2s infinite;}
@keyframes bs-blip{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(30,138,95,.5);}50%{opacity:.6;box-shadow:0 0 0 6px rgba(30,138,95,0);}}

@media(max-width:780px){
  .bs-journey-rail{left:14px;transform:none;width:30px;}
  .bs-stop{grid-template-columns:30px 1fr;padding:9px 0;}
  .bs-stop-node{grid-column:1;}
  .bs-stop:nth-child(odd) .bs-stop-card,
  .bs-stop:nth-child(even) .bs-stop-card{grid-column:2;margin:0 0 0 20px;text-align:left;}
  .bs-stop:nth-child(odd).is-major .bs-stop-card{border-right:none;border-left:3px solid var(--red);}
}

/* about hero counters + marquee reach */
.bs-reach{display:flex;flex-wrap:wrap;gap:8px;}
.bs-reach span{
  font-size:12.5px;border:1px solid var(--line);padding:7px 14px;color:var(--text-dim);
  border-radius:100px;background:#fff;transition:border-color .2s,color .2s,transform .2s;
}
.bs-reach span:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px);}

/* ==========================================================================
   LEGAL / ARTICLE PAGES
   ========================================================================== */
.bs-doc{max-width:820px;margin:0 auto;padding:44px clamp(18px,4vw,40px) 80px;}
.bs-doc-kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.07em;color:var(--red);margin-bottom:12px;}
.bs-doc h1{font-size:clamp(28px,4.4vw,42px);line-height:1.1;margin-bottom:14px;}
.bs-doc-lede{font-size:16px;color:var(--text-dim);line-height:1.7;margin-bottom:10px;}
.bs-doc-meta{
  display:flex;flex-wrap:wrap;gap:8px 18px;padding:14px 0 0;margin-bottom:30px;
  border-top:1px solid var(--line-soft);font-family:var(--font-mono);font-size:11px;color:var(--text-faint);
}
.bs-doc h2{font-size:22px;margin:38px 0 12px;scroll-margin-top:110px;}
.bs-doc h3{font-size:17px;margin:26px 0 10px;scroll-margin-top:110px;}
.bs-doc p{font-size:15px;line-height:1.78;color:var(--text-dim);margin-bottom:14px;}
.bs-doc ul,.bs-doc ol{margin:0 0 16px 0;padding-left:22px;color:var(--text-dim);font-size:15px;line-height:1.8;}
.bs-doc li{margin-bottom:7px;}
.bs-doc strong{color:var(--text);font-weight:600;}
.bs-doc a:not(.bs-doc-btn){color:var(--red);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}
.bs-doc a:not(.bs-doc-btn):hover{color:var(--red-dim);}
.bs-doc-callout{
  background:var(--bg-alt);border-left:3px solid var(--red);border-radius:0 12px 12px 0;
  padding:18px 22px;margin:22px 0;
}
.bs-doc-callout p:last-child{margin-bottom:0;}
.bs-doc-callout p{font-size:14px;}
.bs-doc-table{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0 20px;}
.bs-doc-table th{
  text-align:left;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--text-faint);padding:10px 12px;border-bottom:1px solid var(--line);font-weight:500;
}
.bs-doc-table td{padding:12px;border-bottom:1px solid var(--line-soft);color:var(--text-dim);vertical-align:top;}
.bs-doc-table td:first-child{color:var(--text);font-weight:550;width:34%;}
.bs-doc-toc{
  background:var(--bg-alt);border:1px solid var(--line-soft);border-radius:14px;padding:20px 24px;margin-bottom:34px;
}
.bs-doc-toc h6{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:11px;}
.bs-doc-toc ol{margin:0;padding-left:18px;font-size:13.5px;line-height:1.9;}
.bs-doc-toc a{color:var(--text-dim);text-decoration:none;}
.bs-doc-toc a:hover{color:var(--red);}
.bs-doc-next{
  display:flex;gap:14px;flex-wrap:wrap;margin-top:44px;padding-top:26px;border-top:1px solid var(--line-soft);
}
.bs-doc-btn{
  padding:11px 20px;border-radius:100px;font-size:13.5px;font-weight:600;
  background:var(--stream);color:#fff;border:none;
}
.bs-doc-btn.is-quiet{background:#fff;color:var(--text);border:1px solid var(--line);}
.bs-doc-btn.is-quiet:hover{border-color:var(--navy);background:var(--bg-alt);}

.bs-related{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:18px;
}
.bs-related a{
  border:1px solid var(--line-soft);border-radius:13px;padding:17px 19px;background:#fff;
  transition:border-color .2s,transform .2s,box-shadow .2s;text-decoration:none !important;color:inherit !important;
}
.bs-related a:hover{border-color:var(--red);transform:translateY(-3px);box-shadow:var(--shadow-md);}
.bs-related strong{display:block;font-size:14px;margin-bottom:5px;font-weight:600;color:var(--text);}
.bs-related span{font-size:12.5px;color:var(--text-faint);}

/* ==========================================================================
   HOME HERO — instrument plate
   ========================================================================== */
.bs-hero-stage{
  position:relative;min-height:440px;display:flex;align-items:center;justify-content:center;
  border-radius:var(--radius);overflow:hidden;
  background:
    radial-gradient(120% 90% at 78% 18%, rgba(217,154,43,.13) 0%, rgba(217,154,43,0) 55%),
    radial-gradient(95% 80% at 18% 88%, rgba(200,16,46,.10) 0%, rgba(200,16,46,0) 58%),
    linear-gradient(160deg,#FBFCFE 0%,#F2F5F9 100%);
}
.bs-hero-stage::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(15,27,51,.045) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(15,27,51,.045) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:radial-gradient(75% 65% at 50% 50%,#000 30%,transparent 100%);
  -webkit-mask-image:radial-gradient(75% 65% at 50% 50%,#000 30%,transparent 100%);
}
.bs-hero-stage svg{position:relative;width:100%;height:auto;max-height:440px;}
.bs-hero-cap{
  position:absolute;left:20px;bottom:16px;z-index:2;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--text-faint);
  display:flex;align-items:center;gap:8px;
}
.bs-hero-cap i{width:6px;height:6px;border-radius:50%;background:#1E8A5F;animation:bs-blip 2.4s infinite;}

/* live readout numerals inside the hero SVG */
.bs-ro{font-family:'IBM Plex Mono',monospace;font-weight:600;}

/* ==========================================================================
   APPLICATIONS — industry explorer
   The navy gradient below is the support-page treatment, reused so the
   application surfaces read as one family.
   ========================================================================== */
.app-hero,.bs-navy-hero{
  position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(150deg,#0F1B33 0%,#17264A 55%,#1E3358 100%);
}
.app-hero::after,.bs-navy-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle at 78% 22%, rgba(217,154,43,.22), transparent 55%),
                   radial-gradient(circle at 12% 90%, rgba(200,16,46,.24), transparent 55%);
}
.app-hero-in,.bs-navy-hero-in{
  position:relative;z-index:1;max-width:1280px;margin:0 auto;
  padding:60px clamp(20px,4vw,56px) 64px;
}
.app-hero-in h1{color:#fff;font-size:clamp(30px,5vw,50px);max-width:20ch;margin-top:14px;}
.app-hero-in p{color:#B9C6DC;margin-top:18px;max-width:62ch;font-size:16px;line-height:1.7;}

/* --- industry tabs --- */
.app-tabs{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;
  margin:-34px 0 34px;position:relative;z-index:3;
}
.app-tab{
  display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;
  padding:16px 10px;border:1px solid var(--line);border-radius:14px;background:#fff;
  font-family:var(--font-body);font-size:12.5px;font-weight:550;color:var(--text-dim);
  box-shadow:0 8px 24px -16px rgba(15,27,51,.5);
  transition:transform .2s var(--ease),border-color .2s,color .2s,box-shadow .2s;
}
.app-tab-ic{width:24px;height:24px;color:var(--text-faint);transition:color .2s,transform .25s var(--ease);}
.app-tab:hover{transform:translateY(-3px);border-color:var(--navy);color:var(--text);box-shadow:var(--shadow-md);}
.app-tab:hover .app-tab-ic{color:var(--red);transform:scale(1.08);}
.app-tab.active{
  border-color:transparent;color:#fff;
  background:linear-gradient(150deg,#17264A,#0F1B33);
  box-shadow:0 12px 30px -12px rgba(15,27,51,.6);
}
.app-tab.active .app-tab-ic{color:var(--amber);}

/* --- panel --- */
.app-panel-head{
  display:grid;grid-template-columns:1.6fr 1fr;gap:34px;align-items:start;
  padding-bottom:30px;margin-bottom:12px;border-bottom:1px solid var(--line-soft);
}
.app-panel-head h2{font-size:clamp(23px,3.2vw,32px);margin-bottom:10px;}
.app-panel-head > div > p{color:var(--text-dim);font-size:15.5px;line-height:1.7;max-width:58ch;}
.app-panel-cta{display:flex;flex-direction:column;gap:10px;}
.app-panel-cta .btn{text-align:center;}
@media(max-width:860px){ .app-panel-head{grid-template-columns:1fr;gap:22px;} }

.app-media-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px;}
.app-media-label{
  font-family:var(--font-mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--text-faint);margin-right:4px;
}
.app-media{
  font-size:12.5px;padding:5px 12px;border-radius:100px;
  background:var(--navy-tint);color:var(--navy-2);border:1px solid rgba(46,95,163,.16);
}

.app-sec{padding:30px 0 6px;}
.app-sec h3{font-size:19px;margin-bottom:5px;}
.app-sec-sub{color:var(--text-faint);font-size:13.5px;margin-bottom:18px;}

.app-tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;}
.app-tech{
  display:block;padding:20px 22px;border:1px solid var(--line-soft);border-radius:14px;background:#fff;
  border-left:3px solid var(--red);
  transition:transform .2s var(--ease),box-shadow .2s,border-color .2s;
}
.app-tech:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.app-tech-kind{
  display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--text-faint);margin-bottom:7px;
}
.app-tech strong{display:block;font-family:var(--font-head);font-size:15.5px;color:var(--text);line-height:1.35;margin-bottom:9px;}
.app-tech-go{font-size:12.5px;color:var(--red);font-weight:550;}

.app-prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;}
.app-prod{
  display:flex;gap:14px;align-items:center;padding:12px;border:1px solid var(--line-soft);
  border-radius:13px;background:#fff;transition:transform .2s,box-shadow .2s,border-color .2s;
}
.app-prod:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--line);}
.app-prod-img{
  width:62px;height:62px;flex:0 0 auto;border-radius:10px;overflow:hidden;background:var(--bg-alt);
  display:flex;align-items:center;justify-content:center;
}
.app-prod-img img{width:100%;height:100%;object-fit:contain;}
.app-prod-txt{min-width:0;}
.app-prod-cat{
  display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-faint);margin-bottom:3px;
}
.app-prod strong{display:block;font-size:13.5px;line-height:1.35;color:var(--text);margin-bottom:4px;}
.app-prod-price{font-family:var(--font-head);font-size:13.5px;font-weight:700;color:var(--red);}

/* ==========================================================================
   SHOP — application filter bar
   ========================================================================== */
.bs-appbar{
  padding:18px 20px;margin-bottom:18px;border-radius:14px;
  background:linear-gradient(150deg,#0F1B33,#1E3358);
}
.bs-appbar-label{
  display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--amber);margin-bottom:11px;
}
.bs-appbar-chips{display:flex;flex-wrap:wrap;gap:7px;}
.app-filter{
  border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:#C3D0E6;
  border-radius:100px;padding:7px 14px;font-size:12.5px;font-family:var(--font-body);
  transition:background .18s,border-color .18s,color .18s,transform .18s;
}
.app-filter:hover{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.34);transform:translateY(-1px);}
.app-filter.active{background:var(--stream);border-color:transparent;color:#fff;font-weight:600;}

/* ==========================================================================
   HOME — applications first
   ========================================================================== */
.home-apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;}
.home-app{
  position:relative;display:block;padding:24px 22px 20px;border:1px solid var(--line-soft);
  border-radius:16px;background:#fff;overflow:hidden;
  transition:transform .22s var(--ease),box-shadow .22s,border-color .22s;
}
.home-app::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--stream);
  transform:scaleY(0);transform-origin:top;transition:transform .3s var(--ease);
}
.home-app:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--line);}
.home-app:hover::before{transform:scaleY(1);}
.home-app-ic{
  width:40px;height:40px;border-radius:11px;background:var(--navy-tint);color:var(--navy-2);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;
  transition:background .22s,color .22s;
}
.home-app-ic svg{width:21px;height:21px;}
.home-app:hover .home-app-ic{background:var(--red-tint);color:var(--red);}
.home-app h4{font-size:16px;margin-bottom:7px;line-height:1.3;}
.home-app p{color:var(--text-dim);font-size:13.5px;line-height:1.6;margin-bottom:14px;}
.home-app-meta{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:13px;border-top:1px solid var(--line-soft);
}
.home-app-count{font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint);letter-spacing:.03em;}
.home-app-go{font-size:12.5px;font-weight:600;color:var(--red);}

/* home hero on the navy treatment */
.home-hero-navy{position:relative;overflow:hidden;
  background:linear-gradient(150deg,#0F1B33 0%,#17264A 55%,#1E3358 100%);}
.home-hero-navy::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle at 80% 18%, rgba(217,154,43,.2), transparent 55%),
                   radial-gradient(circle at 10% 88%, rgba(200,16,46,.22), transparent 55%);
}
.home-hero-navy .wrap{position:relative;z-index:1;}
.home-hero-navy h1{color:#fff;}
.home-hero-navy .phero-info p,.home-hero-navy .lede{color:#B9C6DC;}
.home-hero-navy .eyebrow{color:var(--amber);}
.home-hero-navy .bs-hero-stage{
  background:rgba(255,255,255,.965);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.6);
}
.home-hero-navy .bs-hero-cap{color:#7E8CA6;}

.home-stat{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;
  background:rgba(255,255,255,.1);border-radius:14px;overflow:hidden;margin-top:34px;
}
.home-stat div{background:rgba(255,255,255,.04);padding:18px 16px;}
.home-stat b{display:block;font-family:var(--font-head);font-size:21px;color:#fff;margin-bottom:4px;}
.home-stat span{font-family:var(--font-mono);font-size:10px;color:#93A5C4;letter-spacing:.04em;}

/* ==========================================================================
   PRODUCT PAGE — configurator + markets spotlight
   ========================================================================== */
.pmarkets{
  position:relative;overflow:hidden;color:#fff;border-radius:var(--radius);
  background:linear-gradient(150deg,#0F1B33 0%,#17264A 55%,#1E3358 100%);
  padding:36px clamp(22px,3.5vw,42px);margin:8px 0 6px;
}
.pmarkets::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle at 85% 15%, rgba(217,154,43,.2), transparent 55%),
                   radial-gradient(circle at 8% 92%, rgba(200,16,46,.22), transparent 55%);
}
.pmarkets > *{position:relative;z-index:1;}
.pmarkets .sec-tag{color:var(--amber);}
.pmarkets .sec-tag .dot{background:var(--amber);}
.pmarkets h3{color:#fff;font-size:clamp(21px,3vw,28px);margin-bottom:12px;}
.pmarkets > p{color:#B9C6DC;font-size:15px;line-height:1.75;max-width:78ch;margin-bottom:24px;}
.pmarket-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;}
.pmarket{
  display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  color:#DCE4F0;font-size:13.5px;font-weight:550;
  transition:background .2s,border-color .2s,transform .2s;
}
.pmarket:hover{background:rgba(217,154,43,.12);border-color:var(--amber);color:#fff;transform:translateY(-2px);}
.pmarket svg{width:20px;height:20px;color:var(--amber);flex:0 0 auto;}
.pmarket-note{color:#8FA0BE;font-size:12.5px;margin-top:18px;}
.pmarket-note a{color:var(--amber);text-decoration:underline;text-underline-offset:2px;}

/* configurator */
.pconf{
  display:grid;grid-template-columns:1.25fr 1fr;gap:30px;align-items:start;
  background:var(--bg-alt);border:1px solid var(--line-soft);border-radius:18px;
  padding:30px clamp(20px,3vw,32px);
}
@media(max-width:900px){ .pconf{grid-template-columns:1fr;gap:22px;} }
.pconf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:520px){ .pconf-grid{grid-template-columns:1fr;} }
.pconf-field label{
  display:block;font-size:12px;font-weight:600;color:var(--ink);margin-bottom:6px;
}
.pconf-field label span{font-weight:400;color:var(--text-faint);}
.pconf-field select,.pconf-field input,.pconf-field textarea{
  width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;
  font-family:var(--font-body);font-size:13.5px;color:var(--text);background:#fff;
  transition:border-color .18s,box-shadow .18s;
}
.pconf-field textarea{min-height:76px;resize:vertical;}
.pconf-field select:focus,.pconf-field input:focus,.pconf-field textarea:focus{
  outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(200,16,46,.1);
}
.pconf-field.has-error select,.pconf-field.has-error input,.pconf-field.has-error textarea{border-color:var(--red);}
.pconf-err{display:none;font-size:11.5px;color:var(--red);margin-top:4px;}
.pconf-field.has-error .pconf-err{display:block;}
.pconf-field.is-full{grid-column:1 / -1;}

.pconf-summary{
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 20px;
  position:sticky;top:110px;
}
.pconf-summary h4{font-size:16px;margin-bottom:4px;}
.pconf-summary > p{color:var(--text-faint);font-size:12.5px;margin-bottom:16px;}
.pconf-code{
  font-family:var(--font-mono);font-size:15px;font-weight:600;color:var(--ink);
  background:var(--bg-alt);border:1px dashed var(--line);border-radius:10px;
  padding:13px 14px;margin-bottom:16px;word-break:break-all;line-height:1.5;
}
.pconf-code em{color:var(--text-faint);font-style:normal;}
.pconf-list{list-style:none;margin:0 0 18px;padding:0;}
.pconf-list li{
  display:flex;justify-content:space-between;gap:12px;padding:7px 0;
  border-bottom:1px solid var(--line-soft);font-size:12.5px;
}
.pconf-list li:last-child{border-bottom:none;}
.pconf-list span:first-child{color:var(--text-faint);}
.pconf-list span:last-child{color:var(--text);font-weight:550;text-align:right;}
.pconf-note{font-size:11.5px;color:var(--text-faint);text-align:center;margin-top:11px;line-height:1.55;}
