/* ============================================================
   BuyCloudAccess Orbital :: components, sections, templates
   ============================================================ */

/* ===== 5. HERO ===== */
.bca-hero{
  position:relative;
  min-height:calc(100svh - var(--header-h));
  display:flex;align-items:center;
  padding-block:clamp(48px,7vw,84px);
  overflow:hidden;
  background:
    radial-gradient(1000px 640px at 80% 40%, rgba(34,211,238,.07), transparent 66%),
    radial-gradient(820px 560px at 10% 6%, rgba(255,106,31,.065), transparent 64%),
    var(--bg);
}
.bca-hero__grid{
  display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  gap:clamp(24px,4vw,56px);align-items:center;width:100%;
}
.bca-hero__copy{max-width:700px;}
/* The homepage headline is a long product phrase, so it is set a step down
   from the global H1 scale to hold two lines at desktop. */
.bca-hero h1{font-size:clamp(1.85rem,3.2vw,2.6rem);}
.bca-art{width:100%;height:100%;display:block;object-fit:cover;}
.bca-art--wide{aspect-ratio:16/10;}
.bca-hero h1{margin-bottom:20px;}
.bca-hero h1 .bca-hl{color:var(--accent);}
.bca-hero__lede{font-size:clamp(1rem,1.25vw,1.14rem);line-height:1.65;color:var(--ink-muted);max-width:52ch;margin-bottom:32px;}
.bca-hero__cta{display:flex;flex-wrap:wrap;gap:12px;}
.bca-hero__stage{position:relative;aspect-ratio:1/1;width:100%;max-width:600px;margin-inline:auto;}
.bca-hero__stage canvas,.bca-hero__stage svg{width:100%;height:100%;display:block;}
.bca-orbit-fallback{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%, rgba(34,211,238,.16), transparent 66%);
}

/* Provider marquee under the hero.
   The track is duplicated in markup and translated by exactly half its width,
   so the loop is seamless. Motion is transform only, pauses on hover and on
   keyboard focus, and stops entirely under reduced motion. */
.bca-strip{
  border-block:1px solid var(--edge-soft);
  background:linear-gradient(90deg,rgba(16,23,51,.16),rgba(16,23,51,.62),rgba(16,23,51,.16));
  position:relative;overflow:hidden;
}
.bca-strip::before,.bca-strip::after{
  content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none;
}
.bca-strip::before{left:0;background:linear-gradient(90deg,var(--bg),transparent);}
.bca-strip::after{right:0;background:linear-gradient(270deg,var(--bg),transparent);}
.bca-strip__viewport{overflow:hidden;padding-block:20px;}
.bca-strip__track{
  display:flex;align-items:center;gap:44px;width:max-content;
  animation:bca-marquee 46s linear infinite;
  will-change:transform;
}
.bca-strip:hover .bca-strip__track,
.bca-strip:focus-within .bca-strip__track{animation-play-state:paused;}
@keyframes bca-marquee{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(-50%,0,0);}
}
.bca-strip__item{
  display:flex;align-items:center;gap:10px;flex-shrink:0;
  padding:7px 15px;border-radius:var(--r-pill);
  border:1px solid transparent;background:transparent;
  opacity:.66;
  transition:opacity .24s var(--ease),transform .24s var(--ease),border-color .24s var(--ease),background-color .24s var(--ease);
}
.bca-strip__item:hover,.bca-strip__item:focus-visible{
  opacity:1;transform:translateY(-2px) scale(1.05);
  border-color:var(--edge);background:rgba(24,32,74,.7);
}
.bca-strip__item svg,.bca-strip__item img{width:22px;height:22px;object-fit:contain;}
.bca-strip__item span{font-size:.86rem;font-weight:600;color:var(--ink-muted);white-space:nowrap;transition:color .24s var(--ease);}
.bca-strip__item:hover span{color:var(--ink);}
/* Each mark carries a soft halo that only shows on hover. */
.bca-strip__mark{
  position:relative;display:flex;align-items:center;justify-content:center;
}
.bca-strip__mark::after{
  content:"";position:absolute;inset:-8px;border-radius:50%;
  background:radial-gradient(circle,rgba(34,211,238,.32),transparent 68%);
  opacity:0;transition:opacity .28s var(--ease);
}
.bca-strip__item:hover .bca-strip__mark::after{opacity:1;}

/* ===== 6. SECTION HEADS ===== */
.bca-shead{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-bottom:var(--s-lg);flex-wrap:wrap;}
.bca-shead__l{max-width:640px;}
.bca-shead h2{margin-bottom:12px;}
.bca-shead p{margin:0;max-width:56ch;}

/* ===== 7. PROVIDER ECOSYSTEM (asymmetric bento) ===== */
.bca-eco{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.bca-eco__cell{
  background:var(--surface);border:1px solid var(--edge);border-radius:var(--r-md);
  padding:22px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;
  transition:border-color .2s var(--ease),transform .2s var(--ease);
}
.bca-eco__cell:hover{border-color:var(--signal);transform:translateY(-3px);}
.bca-eco__cell--wide{grid-column:span 2;}
.bca-eco__cell--tall{grid-row:span 2;}
.bca-eco__cell--feature{
  grid-column:span 2;grid-row:span 2;justify-content:flex-end;min-height:290px;
  background:linear-gradient(160deg,rgba(26,34,78,.92),rgba(15,22,49,.94));
}
.bca-eco__logo{
  width:44px;height:44px;border-radius:var(--r-sm);border:1px solid var(--edge);
  background:var(--surface-2);display:flex;align-items:center;justify-content:center;
  position:relative;flex-shrink:0;
  transition:border-color .26s var(--ease),background-color .26s var(--ease),transform .3s var(--ease);
}
/* Halo sits behind the mark so the logo itself is never tinted or distorted. */
.bca-eco__logo::before{
  content:"";position:absolute;inset:-10px;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,rgba(34,211,238,.26),transparent 68%);
  opacity:0;transition:opacity .3s var(--ease);
}
.bca-eco__cell:hover .bca-eco__logo{
  transform:translateY(-2px) scale(1.06);
  border-color:rgba(34,211,238,.55);background:var(--surface-3);
}
.bca-eco__cell:hover .bca-eco__logo::before{opacity:1;}
.bca-eco__logo img,.bca-eco__logo svg{width:24px;height:24px;object-fit:contain;}
.bca-eco__name{font-family:var(--font-display);font-weight:700;font-size:1.02rem;color:var(--ink);}
.bca-eco__meta{font-size:.84rem;color:var(--ink-dim);margin:0;}
.bca-eco__from{margin-top:auto;font-size:.9rem;color:var(--accent);font-weight:700;}

/* ===== 8. PRODUCT CARD ===== */
.bca-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:20px;}
.bca-card{
  position:relative;display:flex;flex-direction:column;
  background:var(--surface);border:1px solid var(--edge);border-radius:var(--r-md);
  overflow:hidden;
  transition:transform .26s var(--ease),border-color .26s var(--ease),box-shadow .26s var(--ease);
}
.bca-card:hover,.bca-card:focus-within{
  transform:translateY(-6px);
  border-color:rgba(34,211,238,.62);
  box-shadow:0 22px 46px -26px rgba(4,6,15,.95);
}
/* Light sweep. A single translated gradient, so it stays on the compositor. */
.bca-card__sweep{
  position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;
  overflow:hidden;opacity:0;transition:opacity .2s var(--ease);
}
.bca-card__sweep::before{
  content:"";position:absolute;top:-60%;bottom:-60%;left:-70%;width:45%;
  background:linear-gradient(100deg,transparent,rgba(214,238,255,.14),transparent);
  transform:translateX(0) skewX(-14deg);
}
.bca-card:hover .bca-card__sweep{opacity:1;}
.bca-card:hover .bca-card__sweep::before{animation:bca-sweep .85s var(--ease) forwards;}
@keyframes bca-sweep{
  from{transform:translateX(0) skewX(-14deg);}
  to{transform:translateX(340%) skewX(-14deg);}
}
.bca-card__media{
  position:relative;aspect-ratio:16/10;overflow:hidden;
  background:linear-gradient(150deg,var(--surface-2),var(--surface));
  border-bottom:1px solid var(--edge);
}
.bca-card__media img,.bca-card__media .bca-art{
  width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);
}
.bca-card:hover .bca-card__media img,
.bca-card:hover .bca-card__media .bca-art{transform:scale(1.055);}
.bca-card__badge{
  position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:7px;
  background:rgba(7,11,24,.78);border:1px solid var(--edge);border-radius:var(--r-sm);
  padding:5px 10px;backdrop-filter:blur(6px);z-index:2;
  transition:border-color .26s var(--ease),background-color .26s var(--ease);
}
.bca-card:hover .bca-card__badge{border-color:rgba(34,211,238,.55);background:rgba(7,11,24,.9);}
.bca-card__badgemark{display:flex;transition:transform .3s var(--ease);}
.bca-card:hover .bca-card__badgemark{transform:scale(1.18) rotate(-4deg);}
.bca-card__badge img,.bca-card__badge svg{width:15px;height:15px;object-fit:contain;}
.bca-card__badge span{font-size:.72rem;font-weight:700;color:var(--ink);letter-spacing:.01em;}
.bca-card__count{
  position:absolute;top:12px;right:12px;z-index:2;
  font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--signal);background:rgba(7,11,24,.72);border:1px solid rgba(34,211,238,.3);
  border-radius:var(--r-sm);padding:4px 8px;
  opacity:0;transform:translateY(-4px);
  transition:opacity .26s var(--ease),transform .26s var(--ease);
}
.bca-card:hover .bca-card__count{opacity:1;transform:none;}
/* Above the hover sweep (z-index 3), so the light passes behind the product
   name rather than washing across it. The sweep is pointer-events:none, so
   nothing here changes what is clickable. */
.bca-card__body{padding:18px;display:flex;flex-direction:column;gap:11px;flex:1;position:relative;z-index:4;}
.bca-card__title{font-family:var(--font-display);font-size:1.06rem;font-weight:700;color:var(--ink);margin:0;line-height:1.18;}
/* Product name emphasis: a gradient wash that wipes in on hover. The text
   itself never changes, only how it is painted. */
.bca-card__titletext{
  background-image:linear-gradient(90deg,var(--ink),var(--ink));
  background-size:0% 100%;background-repeat:no-repeat;
  transition:background-size .5s var(--ease),color .3s var(--ease);
}
/* Painted only where the clip is actually supported. Without the guard a
   browser that ignores background-clip:text would still honour the transparent
   fill and the product name would vanish on hover. */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .bca-card:hover .bca-card__titletext{
    background-image:linear-gradient(90deg,#FFD3B8,var(--accent));
    background-size:100% 100%;
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
  }
}
.bca-card__desc{font-size:.86rem;line-height:1.55;color:var(--ink-muted);margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.bca-card__specs{display:flex;flex-wrap:wrap;gap:6px;}
.bca-chip{
  font-size:.72rem;font-weight:600;color:var(--ink-muted);
  background:var(--surface-2);border:1px solid var(--edge);border-radius:var(--r-sm);
  padding:4px 9px;white-space:nowrap;
}
.bca-chip--signal{color:var(--signal);border-color:rgba(34,211,238,.34);background:var(--signal-soft);}
.bca-card__foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--edge-soft);
  display:flex;align-items:center;justify-content:space-between;gap:12px;}
.bca-card__price{display:flex;flex-direction:column;line-height:1.15;}
.bca-card__price em{font-style:normal;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);}
.bca-card__price b{
  font-family:var(--font-display);font-size:1.28rem;color:var(--accent);font-weight:700;
  display:inline-block;transform-origin:left center;
  transition:transform .26s var(--ease),color .26s var(--ease);
}
.bca-card:hover .bca-card__price b{transform:scale(1.09);color:#FF8A45;}
.bca-card__cta{overflow:hidden;}
.bca-card__ctaicon{width:14px;height:14px;opacity:0;max-width:0;transition:opacity .24s var(--ease),max-width .24s var(--ease),transform .24s var(--ease);}
.bca-card:hover .bca-card__ctaicon{opacity:1;max-width:20px;transform:translateX(2px);}
.bca-card__actions{display:flex;align-items:center;gap:8px;}
.bca-cmp{display:inline-flex;align-items:center;gap:7px;cursor:pointer;user-select:none;font-size:.76rem;color:var(--ink-dim);font-weight:600;}
.bca-cmp input{appearance:none;width:16px;height:16px;border:1px solid var(--edge);border-radius:4px;background:var(--surface-2);cursor:pointer;position:relative;flex-shrink:0;padding:0;}
.bca-cmp input:checked{background:var(--signal);border-color:var(--signal);}
.bca-cmp input:checked::after{content:"";position:absolute;left:5px;top:1.5px;width:4px;height:9px;border:solid #04060F;border-width:0 2px 2px 0;transform:rotate(45deg);}
.bca-cmp:hover{color:var(--ink-muted);}

/* ===== 9. COMPARE ===== */
.bca-cmpbar{
  position:fixed;left:0;right:0;bottom:0;z-index:300;
  background:rgba(9,13,30,.96);border-top:1px solid var(--edge);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transform:translateY(110%);transition:transform .3s var(--ease);
}
.bca-cmpbar.is-open{transform:translateY(0);}
.bca-cmpbar__inner{display:flex;align-items:center;gap:14px;padding-block:14px;flex-wrap:wrap;}
.bca-cmpbar__items{display:flex;gap:9px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;}
.bca-cmpbar__items::-webkit-scrollbar{display:none;}
.bca-cmpbar__pill{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--edge);border-radius:var(--r-pill);padding:6px 8px 6px 12px;font-size:.82rem;font-weight:600;color:var(--ink);white-space:nowrap;}
.bca-cmpbar__x{background:none;border:none;color:var(--ink-dim);cursor:pointer;font-size:1.05rem;line-height:1;padding:2px 4px;border-radius:50%;}
.bca-cmpbar__x:hover{color:var(--accent);}
.bca-cmptable-wrap{overflow-x:auto;border:1px solid var(--edge);border-radius:var(--r-md);background:var(--surface);}
.bca-cmptable{width:100%;border-collapse:collapse;min-width:680px;}
.bca-cmptable th,.bca-cmptable td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--edge-soft);font-size:.9rem;vertical-align:top;}
.bca-cmptable thead th{background:var(--surface-2);color:var(--ink);font-family:var(--font-display);font-size:.95rem;position:sticky;top:0;}
.bca-cmptable tbody th{color:var(--ink-dim);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;width:190px;background:rgba(24,32,74,.4);}
.bca-cmptable td{color:var(--ink-muted);}
.bca-cmptable .is-price{color:var(--accent);font-weight:700;font-family:var(--font-display);font-size:1.05rem;}
/* Comparison guide directory */
.bca-cmpdir{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;}
.bca-cmpdir__item{
  display:flex;align-items:center;gap:13px;padding:14px 16px;
  background:var(--surface);border:1px solid var(--edge);border-radius:var(--r-md);
  transition:transform .22s var(--ease),border-color .22s var(--ease),background-color .22s var(--ease);
}
.bca-cmpdir__item:hover{
  transform:translateY(-3px);border-color:rgba(34,211,238,.5);background:var(--surface-2);
}
.bca-cmpdir__mark{
  width:34px;height:34px;flex-shrink:0;border-radius:var(--r-sm);
  border:1px solid var(--edge);background:var(--surface-2);
  display:flex;align-items:center;justify-content:center;color:var(--ink-dim);
  transition:border-color .22s var(--ease),transform .22s var(--ease);
}
.bca-cmpdir__mark svg{width:18px;height:18px;}
.bca-cmpdir__item:hover .bca-cmpdir__mark{border-color:var(--signal);transform:scale(1.06);}
.bca-cmpdir__txt{display:flex;flex-direction:column;min-width:0;line-height:1.3;}
.bca-cmpdir__pair{font-family:var(--font-display);font-weight:700;font-size:.94rem;color:var(--ink);}
.bca-cmpdir__sub{
  font-size:.78rem;color:var(--ink-dim);margin-top:3px;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}
.bca-cmpdir__go{margin-left:auto;color:var(--ink-dim);opacity:0;transform:translateX(-4px);transition:opacity .2s var(--ease),transform .2s var(--ease);}
.bca-cmpdir__go svg{width:15px;height:15px;}
.bca-cmpdir__item:hover .bca-cmpdir__go{opacity:1;transform:none;color:var(--accent);}

.bca-cmpempty{border:1px dashed var(--edge);border-radius:var(--r-md);padding:52px 26px;text-align:center;background:var(--surface);}
.bca-cmpempty h3{margin-bottom:8px;}

/* ===== 10. HOW IT WORKS (rail, not cards) ===== */
.bca-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--edge);border-radius:var(--r-md);overflow:hidden;background:var(--surface);}
.bca-step{padding:26px 22px;border-right:1px solid var(--edge-soft);display:flex;flex-direction:column;gap:9px;}
.bca-step:last-child{border-right:none;}
.bca-step__n{font-family:var(--font-display);font-size:2.1rem;font-weight:700;color:var(--signal);line-height:1;opacity:.5;}
.bca-step h3{font-size:1.02rem;margin:0;}
.bca-step p{font-size:.87rem;margin:0;}

/* ===== 11. FAQ ===== */
.bca-faq{border-top:1px solid var(--edge);}
.bca-faq__q{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  padding:20px 4px;background:none;border:none;border-bottom:1px solid var(--edge);
  color:var(--ink);font-family:var(--font-display);font-size:1.02rem;font-weight:700;
  text-align:left;cursor:pointer;line-height:1.3;
}
.bca-faq__q svg{width:15px;height:15px;flex-shrink:0;margin-top:4px;color:var(--signal);transition:transform .22s var(--ease);}
.bca-faq__q[aria-expanded=true] svg{transform:rotate(45deg);}
.bca-faq__a{display:none;padding:4px 4px 22px;border-bottom:1px solid var(--edge);}
.bca-faq__a.is-open{display:block;}
.bca-faq__a p{margin:0;font-size:.95rem;max-width:74ch;}

/* ===== 12. TRUST / CTA ===== */
.bca-split{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,60px);align-items:center;}
.bca-split--alt{grid-template-columns:.85fr 1.15fr;}
/* Grid children must be allowed to shrink below their min-content width,
   otherwise a wide child such as a scrollable table widens the whole column. */
.bca-split > *,.bca-pdp > *,.bca-eco__cell,.bca-cta__grid > *,.bca-hero__grid > *{min-width:0;}
.bca-cmptable-wrap{min-width:0;max-width:100%;}
.bca-panel{background:var(--surface);border:1px solid var(--edge);border-radius:var(--r-md);padding:clamp(24px,3vw,38px);}
.bca-cta{
  border:1px solid var(--edge);border-radius:var(--r-md);
  padding:clamp(30px,4vw,56px);position:relative;overflow:hidden;
  background:
    radial-gradient(700px 340px at 90% 14%, rgba(255,106,31,.095), transparent 68%),
    linear-gradient(150deg,rgba(23,31,72,.96),rgba(11,16,36,.96));
}
.bca-cta__grid{display:grid;grid-template-columns:1.3fr .7fr;gap:32px;align-items:center;}
.bca-cta h2{margin-bottom:12px;}
.bca-cta p{margin-bottom:0;max-width:52ch;}
.bca-cta__actions{display:flex;flex-direction:column;gap:11px;}

/* ===== 13. FOOTER ===== */
.bca-footer{
  position:relative;isolation:isolate;
  background:
    radial-gradient(1000px 440px at 10% 0%, rgba(34,211,238,.07), transparent 66%),
    radial-gradient(820px 400px at 90% 10%, rgba(255,106,31,.055), transparent 64%),
    linear-gradient(180deg,var(--bg) 0%, var(--bg-deep) 46%);
  border-top:1px solid var(--edge);
  padding-block:var(--s-xl) var(--s-md);
  overflow:hidden;
}

/* Animated network layer across the top of the footer. */
.bca-footnet{
  position:absolute;left:0;right:0;top:0;height:210px;z-index:-1;
  opacity:.75;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent);
  mask-image:linear-gradient(180deg,#000,transparent);
}
.bca-footnet svg{width:100%;height:100%;}
.bca-footnet__line{
  stroke-dasharray:6 10;
  animation:bca-net-flow 5.5s linear infinite;
}
@keyframes bca-net-flow{
  from{stroke-dashoffset:32;}
  to{stroke-dashoffset:0;}
}
.bca-footnet__node{
  fill:var(--signal);
  animation:bca-net-pulse 4.2s ease-in-out infinite;
  transform-box:fill-box;transform-origin:center;
}
@keyframes bca-net-pulse{
  0%,100%{opacity:.28;transform:scale(.75);}
  50%{opacity:.95;transform:scale(1.25);}
}

/* Footer lead band */
.bca-footer__lead{
  display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
  padding:28px 30px;margin-bottom:var(--s-lg);
  border:1px solid var(--edge);border-radius:var(--r-md);
  background:linear-gradient(140deg,rgba(25,33,76,.9),rgba(12,17,38,.9));
  position:relative;overflow:hidden;
}
.bca-footer__lead::after{
  content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;
  background:linear-gradient(120deg,transparent 38%,rgba(34,211,238,.11),transparent 62%);
  background-size:220% 100%;
  animation:bca-lead-shine 9s linear infinite;
}
@keyframes bca-lead-shine{
  from{background-position:180% 0;}
  to{background-position:-80% 0;}
}
.bca-footer__lead h2{font-size:clamp(1.4rem,2.4vw,2rem);margin:0 0 6px;}
.bca-footer__lead p{margin:0;font-size:.94rem;}
.bca-footer__leadcta{display:flex;gap:11px;flex-wrap:wrap;position:relative;z-index:1;}

/* Footer columns */
.bca-footer__grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:34px;
  padding-bottom:var(--s-lg);
}
.bca-footer__brand p{font-size:.88rem;max-width:38ch;margin:14px 0 18px;}
.bca-footer__marks{display:flex;flex-wrap:wrap;gap:8px;}
.bca-footer__mark{
  width:32px;height:32px;border-radius:var(--r-sm);
  border:1px solid var(--edge);background:var(--surface);
  display:flex;align-items:center;justify-content:center;
  transition:transform .22s var(--ease),border-color .22s var(--ease),background-color .22s var(--ease);
}
.bca-footer__mark:hover{
  transform:translateY(-3px) scale(1.08);
  border-color:var(--signal);background:var(--surface-2);
}
.bca-footer h5{
  font-family:var(--font-display);font-size:.8rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--ink);margin:0 0 15px;
  position:relative;padding-bottom:9px;
}
.bca-footer h5::after{
  content:"";position:absolute;left:0;bottom:0;width:22px;height:2px;
  border-radius:2px;background:var(--accent);
}
.bca-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.bca-footer__col a{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.88rem;color:var(--ink-muted);padding:4px 0;
  transition:color .18s var(--ease),transform .18s var(--ease);
}
/* Animated link indicator: a bar that grows in from the left. */
.bca-footer__col a::before{
  content:"";width:0;height:1.5px;border-radius:2px;background:var(--accent);
  transition:width .24s var(--ease);flex-shrink:0;
}
.bca-footer__col a:hover{color:var(--ink);transform:translateX(2px);}
.bca-footer__col a:hover::before{width:12px;}

.bca-footer__bottom{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding-top:22px;border-top:1px solid var(--edge);flex-wrap:wrap;
}
.bca-footer__bottom p{margin:0;font-size:.82rem;color:var(--ink-dim);}
.bca-footer__legal{display:flex;gap:20px;flex-wrap:wrap;}
.bca-footer__legal a{font-size:.82rem;color:var(--ink-dim);transition:color .18s var(--ease);}
.bca-footer__legal a:hover{color:var(--accent);}

/* ===== 14. WOOCOMMERCE ===== */
.woocommerce-breadcrumb,.bca-crumbs{font-size:.82rem;color:var(--ink-dim);margin-bottom:22px;display:flex;flex-wrap:wrap;gap:7px;align-items:center;}
.bca-crumbs a{color:var(--ink-muted);}
.bca-crumbs a:hover{color:var(--accent);}
.bca-crumbs span[aria-current]{color:var(--ink);}

.bca-pdp{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:clamp(26px,4vw,54px);align-items:start;}
.bca-pdp__media{position:relative;border:1px solid var(--edge);border-radius:var(--r-md);overflow:hidden;background:var(--surface);}
.bca-pdp__buybox{
  position:sticky;top:calc(var(--header-h) + 20px);
  background:var(--surface);border:1px solid var(--edge);border-radius:var(--r-md);padding:24px;
}
.bca-pdp__provider{display:flex;align-items:center;gap:11px;margin-bottom:16px;}
.bca-pdp__provider img{width:34px;height:34px;object-fit:contain;border-radius:var(--r-sm);border:1px solid var(--edge);background:var(--surface-2);padding:5px;}
.bca-pdp__provider span{font-size:.86rem;font-weight:700;color:var(--ink-muted);}
.bca-pdp h1{font-size:clamp(1.7rem,3vw,2.35rem);margin-bottom:14px;}
.bca-pdp__price{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--accent);line-height:1;margin-bottom:6px;}
.bca-pdp__price .woocommerce-Price-amount{color:var(--accent);}
.bca-pdp__note{font-size:.8rem;color:var(--ink-dim);margin-bottom:18px;}
.bca-pdp__content{margin-top:var(--s-xl);}
.bca-pdp__content h2{margin-top:1.8em;}
.bca-pdp__content h3{margin-top:1.5em;}
.bca-pdp__content ul,.bca-pdp__content ol{padding-left:1.2em;margin-bottom:1.2em;}
.bca-pdp__content li{margin-bottom:.45em;}
.bca-pdp__content table{width:100%;border-collapse:collapse;margin-bottom:1.5em;font-size:.92rem;}
.bca-pdp__content th,.bca-pdp__content td{border:1px solid var(--edge);padding:11px 14px;text-align:left;}
.bca-pdp__content th{background:var(--surface-2);color:var(--ink);font-family:var(--font-display);}
.bca-pdp__content a{color:var(--signal);text-decoration:underline;text-underline-offset:3px;}
.bca-pdp__content a:hover{color:var(--accent);}

.variations{width:100%;margin-bottom:16px;}
.variations td,.variations th{padding:0 0 10px;display:block;width:100%;text-align:left;}
.variations label{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-dim);font-weight:700;margin-bottom:6px;display:block;}
.variations select{background:var(--surface-2);border:1px solid var(--edge);color:var(--ink);border-radius:var(--r-sm);padding:12px 14px;width:100%;}
.reset_variations{font-size:.78rem;color:var(--ink-dim);}
.woocommerce-variation-price{margin-bottom:14px;}
.woocommerce-variation-price .price{font-family:var(--font-display);font-size:1.7rem;font-weight:700;color:var(--accent);}
.woocommerce-variation-add-to-cart{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;}
.quantity input[type=number]{width:78px;text-align:center;}

.woocommerce .button,.woocommerce a.button,.woocommerce button.button,
.woocommerce input.button,.woocommerce #respond input#submit,
.wp-element-button,.wc-block-components-button{
  background:var(--accent)!important;color:#12060A!important;
  border-radius:var(--r-pill)!important;border:none!important;
  font-family:var(--font-body)!important;font-weight:700!important;
  padding:13px 26px!important;font-size:.94rem!important;line-height:1.2!important;
  transition:background-color .18s var(--ease),transform .18s var(--ease);
}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.wc-block-components-button:hover{
  background:var(--accent-deep)!important;color:#fff!important;transform:translateY(-2px);
}
.woocommerce .button.alt{background:var(--accent)!important;}
.woocommerce div.product form.cart .button{flex:1;min-width:170px;}

.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notices-wrapper .woocommerce-message{
  background:var(--surface)!important;border:1px solid var(--edge)!important;border-top:2px solid var(--signal)!important;
  color:var(--ink)!important;border-radius:var(--r-sm)!important;
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--signal)!important;}
.woocommerce-error{border-top-color:var(--accent)!important;}

.woocommerce table.shop_table,.woocommerce-cart table.cart{
  background:var(--surface);border:1px solid var(--edge)!important;border-radius:var(--r-md);
  border-collapse:separate;border-spacing:0;overflow:hidden;color:var(--ink-muted);
}
.woocommerce table.shop_table th{background:var(--surface-2);color:var(--ink);font-family:var(--font-display);border:none!important;}
.woocommerce table.shop_table td{border-top:1px solid var(--edge-soft)!important;}
.woocommerce-cart .cart_totals h2,.woocommerce-checkout h3{font-family:var(--font-display);}
.woocommerce .cart_totals,.woocommerce-checkout #order_review,.woocommerce-checkout .woocommerce-checkout-review-order{
  background:var(--surface);border:1px solid var(--edge);border-radius:var(--r-md);padding:22px;
}
.woocommerce form .form-row label,.woocommerce-checkout label{color:var(--ink-muted);font-size:.86rem;font-weight:600;}
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce-account .woocommerce{
  background:var(--surface);border:1px solid var(--edge)!important;border-radius:var(--r-md);
}
.select2-container--default .select2-selection--single{background:var(--surface-2);border:1px solid var(--edge);height:46px;border-radius:var(--r-sm);}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ink);line-height:46px;}
.select2-dropdown{background:var(--surface);border-color:var(--edge);color:var(--ink);}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--surface-3);}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--edge-soft);}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:11px 4px;color:var(--ink-muted);}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--accent);}

.bca-archive__head{padding-block:var(--s-xl) var(--s-lg);border-bottom:1px solid var(--edge-soft);
  background:radial-gradient(780px 360px at 86% 8%, rgba(34,211,238,.065), transparent 66%);}
.bca-archive__head h1{margin-bottom:14px;}
.bca-archive__logo{width:56px;height:56px;object-fit:contain;border-radius:var(--r-sm);border:1px solid var(--edge);background:var(--surface-2);padding:9px;margin-bottom:18px;}
.bca-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:var(--s-md);}
.bca-toolbar__count{font-size:.86rem;color:var(--ink-dim);margin:0;}

/* ===== 15. BLOG ===== */
.bca-postgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px;}
.bca-post{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--edge);border-radius:var(--r-md);overflow:hidden;transition:transform .22s var(--ease),border-color .22s var(--ease);}
.bca-post:hover{transform:translateY(-4px);border-color:var(--signal);}
.bca-post__media{aspect-ratio:16/9;overflow:hidden;background:var(--surface-2);border-bottom:1px solid var(--edge);}
.bca-post__media img{width:100%;height:100%;object-fit:cover;}
.bca-post__body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1;}
.bca-post__cat{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--signal);font-weight:700;}
.bca-post__title{font-family:var(--font-display);font-size:1.08rem;line-height:1.22;margin:0;color:var(--ink);}
.bca-post__ex{font-size:.87rem;margin:0;color:var(--ink-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.bca-post__meta{margin-top:auto;padding-top:12px;border-top:1px solid var(--edge-soft);font-size:.78rem;color:var(--ink-dim);}
.bca-post--lead{grid-column:span 2;flex-direction:row;}
.bca-post--lead .bca-post__media{aspect-ratio:auto;width:46%;border-bottom:none;border-right:1px solid var(--edge);}
.bca-post--lead .bca-post__body{width:54%;padding:26px;}
.bca-post--lead .bca-post__title{font-size:1.5rem;}

.bca-article{max-width:760px;margin-inline:auto;}
.bca-article__head{padding-block:var(--s-xl) var(--s-lg);}
.bca-article h1{font-size:clamp(2rem,3.6vw,2.9rem);margin-bottom:16px;}
.bca-article__meta{display:flex;gap:14px;flex-wrap:wrap;font-size:.84rem;color:var(--ink-dim);}
.bca-article__body{font-size:1.03rem;line-height:1.75;}
.bca-article__body h2{margin-top:1.9em;}
.bca-article__body h3{margin-top:1.5em;}
.bca-article__body p,.bca-article__body li{color:var(--ink-muted);}
.bca-article__body a{color:var(--signal);text-decoration:underline;text-underline-offset:3px;}
.bca-article__body a:hover{color:var(--accent);}
.bca-article__body ul,.bca-article__body ol{padding-left:1.25em;margin-bottom:1.3em;}
.bca-article__body li{margin-bottom:.5em;}
.bca-article__body blockquote{border-left:2px solid var(--accent);padding-left:20px;margin:1.6em 0;color:var(--ink);}
.bca-article__body table{width:100%;border-collapse:collapse;margin-bottom:1.6em;font-size:.94rem;}
.bca-article__body th,.bca-article__body td{border:1px solid var(--edge);padding:11px 14px;text-align:left;}
.bca-article__body th{background:var(--surface-2);color:var(--ink);font-family:var(--font-display);}
.bca-article__body img{border-radius:var(--r-md);border:1px solid var(--edge);margin-block:1.6em;}

.bca-toc{background:var(--surface);border:1px solid var(--edge);border-radius:var(--r-md);padding:20px 22px;margin-bottom:var(--s-lg);}
.bca-toc h4{margin:0 0 12px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);}
.bca-toc ol{margin:0;padding-left:1.15em;}
.bca-toc li{margin-bottom:7px;font-size:.9rem;}
.bca-toc a{color:var(--ink-muted);}
.bca-toc a:hover{color:var(--accent);}

.bca-pagination{display:flex;gap:8px;justify-content:center;margin-top:var(--s-lg);flex-wrap:wrap;}
.bca-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--edge);border-radius:var(--r-sm);color:var(--ink-muted);font-size:.9rem;font-weight:600;}
.bca-pagination .page-numbers.current{background:var(--accent);color:#12060A;border-color:var(--accent);}
.bca-pagination a.page-numbers:hover{border-color:var(--signal);color:var(--ink);}

/* ===== 14b. WOOCOMMERCE BLOCKS (cart and checkout) =====
   The block cart and checkout ship their own light styling with high
   specificity, so these are explicit overrides rather than token defaults. */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select__container select,
.wc-block-components-combobox-control input,
.wc-block-components-address-form input,
.wc-block-components-address-form select,
.wc-block-checkout input[type=text],
.wc-block-checkout input[type=email],
.wc-block-checkout input[type=tel],
.wc-block-checkout select{
  background-color:var(--surface-2)!important;
  color:var(--ink)!important;
  border:1px solid var(--edge)!important;
  border-radius:var(--r-sm)!important;
  box-shadow:none!important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-combobox-control input:focus,
.wc-block-checkout select:focus,
.wc-block-components-textarea:focus{
  border-color:var(--signal)!important;
  outline:none!important;
  box-shadow:0 0 0 1px var(--signal)!important;
}
.wc-block-components-text-input label,
.wc-block-components-checkout-step__description,
.wc-block-components-address-card,
.wc-block-components-address-card address,
.wc-block-components-order-summary-item__description,
.wc-block-components-product-metadata,
.wc-block-components-product-details,
.wc-block-components-totals-item__label{
  color:var(--ink-muted)!important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus + label{color:var(--signal)!important;}
.wc-block-components-title,
.wc-block-components-checkout-step__title,
.wc-block-components-product-name,
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item,
.wc-block-components-formatted-money-amount,
.wc-block-components-order-summary__button-text{
  color:var(--ink)!important;
}
.wc-block-components-checkout-step,
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-cart__sidebar .wc-block-components-panel,
.wc-block-components-order-summary{
  border-color:var(--edge)!important;
}
.wc-block-cart__sidebar > .wc-block-components-sidebar,
.wc-block-checkout__sidebar > .wc-block-components-sidebar,
.wc-block-components-sidebar .wc-block-components-totals-wrapper{
  background:var(--surface)!important;
  border:1px solid var(--edge)!important;
  border-radius:var(--r-md)!important;
}
.wc-block-components-totals-wrapper,
.wc-block-cart-items__row,
.wc-block-components-order-summary-item{
  border-color:var(--edge-soft)!important;
}
.wc-block-cart-items thead th,
.wc-block-cart-items__header{
  color:var(--ink-dim)!important;
  border-color:var(--edge)!important;
}
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
  background-color:var(--accent)!important;
  color:#12060A!important;
  border:none!important;
  border-radius:var(--r-pill)!important;
  font-family:var(--font-body)!important;
  font-weight:700!important;
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover{
  background-color:var(--accent-deep)!important;color:#fff!important;
}
.wc-block-components-button.is-link,
.wc-block-components-address-card__edit,
.wc-block-components-panel__button{color:var(--signal)!important;}
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option{
  background:var(--surface-2)!important;
  border:1px solid var(--edge)!important;
  border-radius:var(--r-sm)!important;
  color:var(--ink)!important;
}
.wc-block-components-radio-control__label,
.wc-block-components-checkbox__label{color:var(--ink)!important;}
.wc-block-components-notice-banner{
  background:var(--surface)!important;
  border-color:var(--edge)!important;
  color:var(--ink)!important;
}
.wc-block-components-quantity-selector{
  background:var(--surface-2)!important;
  border:1px solid var(--edge)!important;
  border-radius:var(--r-sm)!important;
}
.wc-block-components-quantity-selector input,
.wc-block-components-quantity-selector button{
  background:transparent!important;color:var(--ink)!important;border:none!important;
}
.wc-block-components-product-image img,
.wc-block-cart-item__image img{border-radius:var(--r-sm);border:1px solid var(--edge);}
.wc-block-components-sidebar-layout .wc-block-components-main{padding-right:0;}
.wc-block-components-loading-mask::after{background:var(--surface-2)!important;}

/* ===== 15a. TABLE OF CONTENTS (Easy Table of Contents) ===== */
#ez-toc-container{
  background:var(--surface)!important;
  border:1px solid var(--edge)!important;
  border-radius:var(--r-md)!important;
  box-shadow:none!important;
  padding:20px 22px!important;
  margin:0 0 var(--s-lg)!important;
  width:100%!important;
  max-width:100%!important;
}
#ez-toc-container .ez-toc-title,
#ez-toc-container .ez-toc-title-container{
  color:var(--ink-dim)!important;
  font-family:var(--font-display)!important;
  font-size:.82rem!important;
  text-transform:uppercase;
  letter-spacing:.08em;
}
#ez-toc-container ul,#ez-toc-container ol{margin:12px 0 0!important;padding-left:1.15em!important;}
#ez-toc-container li{margin-bottom:7px!important;}
#ez-toc-container a,#ez-toc-container .ez-toc-link{
  color:var(--ink-muted)!important;
  text-decoration:none!important;
  font-size:.92rem!important;
  font-family:var(--font-body)!important;
}
#ez-toc-container a:hover,#ez-toc-container .ez-toc-link:hover{color:var(--accent)!important;}
#ez-toc-container .ez-toc-toggle,#ez-toc-container .ez-toc-js-toggle,
#ez-toc-container .ez-toc-toggle label,#ez-toc-container nav > label{
  color:var(--ink-dim)!important;background:transparent!important;border-color:var(--edge)!important;
}
#ez-toc-container .ez-toc-icon-toggle-span svg,
#ez-toc-container .eztoc-toggle-hide-by-default{fill:var(--ink-dim)!important;}
.ez-toc-counter nav ul li a::before{color:var(--ink-dim)!important;}

/* ===== 15b. FORMS (WPForms) ===== */
.wpforms-container{max-width:600px;margin:0 0 var(--s-lg);}
.wpforms-form .wpforms-field{padding:0 0 18px;}
.wpforms-form .wpforms-field-label{
  color:var(--ink);font-family:var(--font-body);font-weight:700;
  font-size:.82rem;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;display:block;
}
.wpforms-form .wpforms-required-label{color:var(--accent);}
.wpforms-form .wpforms-field-sublabel,.wpforms-form .wpforms-field-description{color:var(--ink-dim);font-size:.82rem;}
.wpforms-form input[type=text],.wpforms-form input[type=email],
.wpforms-form select,.wpforms-form textarea{
  background:var(--surface-2)!important;border:1px solid var(--edge)!important;
  color:var(--ink)!important;border-radius:var(--r-sm)!important;padding:12px 14px!important;
  font-family:var(--font-body)!important;font-size:.95rem!important;width:100%!important;box-shadow:none!important;
}
.wpforms-form textarea{min-height:150px;}
.wpforms-form input:focus,.wpforms-form select:focus,.wpforms-form textarea:focus{
  border-color:var(--signal)!important;outline:none!important;
}
.wpforms-form button[type=submit],.wpforms-form .wpforms-submit{
  background:var(--accent)!important;color:#12060A!important;border:none!important;
  border-radius:var(--r-pill)!important;padding:13px 28px!important;
  font-family:var(--font-body)!important;font-weight:700!important;font-size:.94rem!important;cursor:pointer;
  transition:background-color .18s var(--ease),transform .18s var(--ease);
}
.wpforms-form button[type=submit]:hover,.wpforms-form .wpforms-submit:hover{
  background:var(--accent-deep)!important;color:#fff!important;transform:translateY(-2px);
}
.wpforms-error{color:#FF8A5B!important;font-size:.82rem!important;}
.wpforms-confirmation-container-full{
  background:var(--surface)!important;border:1px solid var(--edge)!important;
  border-top:2px solid var(--success)!important;border-radius:var(--r-sm)!important;
  color:var(--ink)!important;padding:18px 20px!important;
}

/* ===== 10b. STACKED STEPS + STAT LIST ===== */
.bca-steps--stack{grid-template-columns:1fr;margin-top:22px;}
.bca-steps--stack .bca-step{
  border-right:none;border-bottom:1px solid var(--edge-soft);
  flex-direction:row;align-items:flex-start;gap:16px;padding:18px 20px;
}
.bca-steps--stack .bca-step:last-child{border-bottom:none;}
.bca-steps--stack .bca-step__n{font-size:1.5rem;line-height:1.1;min-width:26px;}
.bca-steps--stack .bca-step > div,.bca-steps--stack .bca-step h3{margin:0;}
.bca-steps--stack .bca-step p{margin:4px 0 0;}

.bca-stats{margin:0;display:flex;flex-direction:column;gap:16px;}
.bca-stats > div{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  border-bottom:1px solid var(--edge-soft);padding-bottom:14px;
}
.bca-stats > div:last-child{border-bottom:none;padding-bottom:0;}
.bca-stats dt{color:var(--ink-muted);font-size:.9rem;}
.bca-stats dd{margin:0;font-size:1.7rem;}
.bca-stats dd .bca-count{font-size:1.7rem;}
.bca-stats__price{font-family:var(--font-display);font-weight:700;color:var(--accent);}

/* ===== 14c. ANIMATED PRODUCT VISUAL =====
   One reusable motion system for every product page. All movement is
   transform and opacity so it stays on the compositor. Loops are rotations
   and symmetric pulses, so nothing visibly restarts. The component animates
   without JavaScript; the script only adds entrance stagger, pointer tilt and
   off-screen pausing. */
.bca-pv{
  position:relative;
  border-radius:var(--r-md);
  overflow:hidden;
  border:1px solid var(--edge);
  background:linear-gradient(150deg,var(--surface-2),var(--surface));
  aspect-ratio:16/10;
  perspective:1100px;
  --pv-accent:var(--signal);
  --pv-spin-a:64s;
  --pv-spin-b:40s;
  --pv-orbit:52s;
  --pv-pulse:5s;
  --pv-rx:0deg;
  --pv-ry:0deg;
  --pv-lift:0;
}
.bca-pv__stage{
  position:absolute;inset:0;
  transform:rotateX(var(--pv-rx)) rotateY(var(--pv-ry)) scale(calc(1 + var(--pv-lift) * .022));
  transform-style:preserve-3d;
  transition:transform .5s var(--ease);
  will-change:transform;
}
.bca-pv.is-tilting .bca-pv__stage{transition:transform .12s linear;}
.bca-pv__svg{position:absolute;inset:0;width:100%;height:100%;display:block;}
.bca-pv__photo{position:absolute;inset:0;}
.bca-pv__img{width:100%;height:100%;object-fit:cover;display:block;}
.bca-pv__svg--frame{pointer-events:none;}

/* Rotation happens about the composition centre. */
.bca-pv__ring,
.bca-pv__orbit,
.bca-pv__dusts{transform-box:view-box;transform-origin:320px 200px;}

/* --- continuous loops ------------------------------------------------- */
.bca-pv__ring--a{animation:bca-pv-spin var(--pv-spin-a) linear infinite;}
.bca-pv__ring--b{animation:bca-pv-spin var(--pv-spin-b) linear infinite reverse;}
.bca-pv__orbit{animation:bca-pv-spin var(--pv-orbit) linear infinite;}
.bca-pv__dusts{animation:bca-pv-spin calc(var(--pv-spin-a) * 2.4) linear infinite reverse;}
@keyframes bca-pv-spin{to{transform:rotate(360deg);}}

/* Nodes ride the orbit but stay upright, and breathe out of phase. */
.bca-pv__node{
  transform-box:fill-box;transform-origin:center;
  animation:bca-pv-counter var(--pv-orbit) linear infinite reverse,
            bca-pv-breathe calc(var(--pv-pulse) * 1.4) ease-in-out infinite alternate;
  animation-delay:0s, calc(var(--i) * -.45s);
}
@keyframes bca-pv-counter{to{transform:rotate(360deg);}}
@keyframes bca-pv-breathe{from{opacity:.62;}to{opacity:1;}}

/* Connection lines carry a flowing dash. One period per cycle, so seamless. */
.bca-pv__link{
  stroke-dasharray:4 8;
  stroke-opacity:.34;
  animation:bca-pv-flow 2.6s linear infinite;
  animation-delay:calc(var(--i) * -.34s);
}
@keyframes bca-pv-flow{from{stroke-dashoffset:24;}to{stroke-dashoffset:0;}}

.bca-pv__core{transform-box:view-box;transform-origin:320px 200px;animation:bca-pv-corepulse var(--pv-pulse) ease-in-out infinite alternate;}
@keyframes bca-pv-corepulse{from{transform:scale(.97);}to{transform:scale(1.05);}}
.bca-pv__coredot{animation:bca-pv-dot calc(var(--pv-pulse) * .8) ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center;}
@keyframes bca-pv-dot{from{opacity:.78;transform:scale(.92);}to{opacity:1;transform:scale(1.08);}}

.bca-pv__glow{transform-box:view-box;transform-origin:320px 200px;animation:bca-pv-glow calc(var(--pv-pulse) * 1.6) ease-in-out infinite alternate;}
@keyframes bca-pv-glow{from{opacity:.55;transform:scale(.94);}to{opacity:1;transform:scale(1.06);}}

.bca-pv__mark{
  transform-box:view-box;transform-origin:520px 105px;
  opacity:.13;
  animation:bca-pv-mark calc(var(--pv-pulse) * 2.6) ease-in-out infinite alternate;
}
@keyframes bca-pv-mark{from{opacity:.09;transform:translateY(3px) scale(.985);}to{opacity:.17;transform:translateY(-3px) scale(1.015);}}

.bca-pv__dust{
  transform-box:fill-box;transform-origin:center;
  animation:bca-pv-twinkle calc(3.2s + var(--i) * .3s) ease-in-out infinite alternate;
  animation-delay:calc(var(--i) * -.4s);
}
@keyframes bca-pv-twinkle{from{opacity:.16;transform:scale(.7);}to{opacity:.7;transform:scale(1.15);}}

/* Family two: floating planes and rising data. */
.bca-pv__plane{
  transform-box:view-box;transform-origin:320px 200px;
  animation:bca-pv-float calc(var(--pv-pulse) * 1.5) ease-in-out infinite alternate;
  animation-delay:calc(var(--i) * -.6s);
}
@keyframes bca-pv-float{from{transform:translateY(-4px);}to{transform:translateY(4px);}}
.bca-pv__rise{
  transform-box:fill-box;transform-origin:center bottom;
  animation:bca-pv-riser calc(var(--pv-pulse) * .9) ease-in-out infinite alternate;
  animation-delay:calc(var(--i) * -.3s);
}
@keyframes bca-pv-riser{from{opacity:.35;transform:translateY(4px);}to{opacity:1;transform:translateY(-4px);}}

/* Family three: throughput lanes. */
.bca-pv__fill{
  transform-box:fill-box;transform-origin:left center;
  animation:bca-pv-lane calc(var(--pv-pulse) * 1.7) ease-in-out infinite alternate;
  animation-delay:calc(var(--i) * -.5s);
}
@keyframes bca-pv-lane{from{transform:scaleX(.86);}to{transform:scaleX(1);}}
.bca-pv__head{
  transform-box:fill-box;transform-origin:center;
  animation:bca-pv-head calc(var(--pv-pulse) * 1.7) ease-in-out infinite alternate;
  animation-delay:calc(var(--i) * -.5s);
}
@keyframes bca-pv-head{from{transform:translateX(-22px);opacity:.6;}to{transform:translateX(0);opacity:1;}}

/* Occasional light sweep, mostly off stage so it reads as a highlight. */
.bca-pv__sweep{
  position:absolute;top:-30%;bottom:-30%;left:0;width:32%;
  pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(214,238,255,.13),transparent);
  animation:bca-pv-sweep 9s var(--ease) infinite;
}
@keyframes bca-pv-sweep{
  0%{transform:translateX(-140%) skewX(-12deg);}
  26%{transform:translateX(320%) skewX(-12deg);}
  100%{transform:translateX(320%) skewX(-12deg);}
}

/* Illuminated inner edge, tinted to the provider. */
.bca-pv__edge{
  position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  /* Plain value first so browsers without color-mix still get a tinted edge. */
  box-shadow:inset 0 0 0 1px rgba(34,211,238,.22);
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--pv-accent) 26%, transparent);
  opacity:.65;
  animation:bca-pv-edge calc(var(--pv-pulse) * 2) ease-in-out infinite alternate;
}
/* The visual owns its own frame, so the container drops its border. */
.bca-pdp__media--live{border:none;background:none;overflow:visible;}
@keyframes bca-pv-edge{from{opacity:.35;}to{opacity:.85;}}

/* --- pointer interaction ---------------------------------------------- */
.bca-pv:hover{--pv-lift:1;}
.bca-pv:hover .bca-pv__glow{opacity:1;}
.bca-pv:hover .bca-pv__edge{opacity:1;}
.bca-pv:hover .bca-pv__mark{opacity:.22;}
/* Touch devices get a gentle idle drift instead of hover. */
@media (hover:none){
  .bca-pv__stage{animation:bca-pv-idle 14s ease-in-out infinite alternate;}
  @keyframes bca-pv-idle{from{transform:scale(1) translateY(0);}to{transform:scale(1.012) translateY(-4px);}}
  .bca-pv:active{--pv-lift:1;}
}

/* --- entrance (script enhanced, safe without it) ----------------------- */
.js .bca-pv{opacity:0;transform:translateY(14px) scale(.985);}
.js .bca-pv.is-in{
  opacity:1;transform:none;
  transition:opacity .7s var(--ease),transform .7s var(--ease);
}
.js .bca-pv.is-in .bca-pv__ring--a{animation-delay:.05s;}
.js .bca-pv.is-in .bca-pv__ring--b{animation-delay:.12s;}

/* Off-screen and background tabs cost nothing. */
.bca-pv.is-paused *,
.bca-pv.is-paused{animation-play-state:paused!important;}

/* --- responsive -------------------------------------------------------- */
@media (max-width:720px){
  /* Fewer moving parts and calmer motion on phones. */
  .bca-pv__dusts{display:none;}
  .bca-pv__sweep{animation-duration:13s;}
  .bca-pv__stage{transform:none!important;}
}

/* --- reduced motion ----------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .bca-pv *,.bca-pv{animation:none!important;}
  .bca-pv__stage{transform:none!important;}
  .bca-pv__sweep{display:none!important;}
  .bca-pv__glow{opacity:.8;}
  .bca-pv__edge{opacity:.6;}
  .bca-pv__mark{opacity:.14;}
  .bca-pv__node{opacity:.9;}
  .bca-pv__link{stroke-opacity:.3;}
  .js .bca-pv{opacity:1;transform:none;}
}

/* ===== 15c. HOMEPAGE LONG-FORM CONTENT =====
   The supplied homepage copy renders as ordinary crawlable HTML. These rules
   only change how it is presented. */
.bca-longform{max-width:860px;}
.bca-longform > h2{
  font-size:clamp(1.6rem,2.8vw,2.25rem);
  margin:2.1em 0 .7em;padding-top:.2em;position:relative;
}
.bca-longform > h2:first-child{margin-top:0;}
.bca-longform > h2::before{
  content:"";display:block;width:34px;height:3px;border-radius:2px;
  background:linear-gradient(90deg,var(--accent),rgba(255,106,31,0));
  margin-bottom:16px;
}
.bca-longform h3{font-size:1.18rem;margin:1.7em 0 .5em;color:var(--ink);}
.bca-longform p{font-size:1.02rem;line-height:1.75;}
.bca-longform a{color:var(--signal);text-decoration:underline;text-underline-offset:3px;}
.bca-longform a:hover{color:var(--accent);}
.bca-longform strong{color:var(--ink);}
.bca-longform hr{
  border:none;height:1px;margin:2.4em 0;
  background:linear-gradient(90deg,var(--edge),transparent);
}
.bca-longform ul,.bca-longform ol{padding-left:0;margin:0 0 1.5em;list-style:none;}
.bca-longform ul > li,.bca-longform ol > li{
  position:relative;padding-left:26px;margin-bottom:.7em;line-height:1.7;
}
.bca-longform ul > li::before{
  content:"";position:absolute;left:4px;top:.62em;width:7px;height:7px;
  border-radius:2px;background:var(--signal);transform:rotate(45deg);
}
.bca-longform ol{counter-reset:bca-ol;}
.bca-longform ol > li{counter-increment:bca-ol;padding-left:32px;}
.bca-longform ol > li::before{
  content:counter(bca-ol);position:absolute;left:0;top:.05em;
  width:22px;height:22px;border-radius:6px;
  background:var(--surface-2);border:1px solid var(--edge);
  color:var(--signal);font-family:var(--font-display);font-size:.76rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
/* A run of "**Label**: text" bullets becomes a feature panel. */
.bca-longform .bca-featurelist{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:14px;margin:0 0 1.7em;padding:0;list-style:none;
}
.bca-longform .bca-featurelist li{
  margin:0;padding:16px 18px;
  background:var(--surface);border:1px solid var(--edge);border-radius:var(--r-md);
  font-size:.93rem;line-height:1.6;
  transition:transform .24s var(--ease),border-color .24s var(--ease);
}
.bca-longform .bca-featurelist li::before{display:none;}
.bca-longform .bca-featurelist li:hover{transform:translateY(-3px);border-color:rgba(34,211,238,.5);}
.bca-longform .bca-featurelist li strong{
  display:block;color:var(--ink);margin-bottom:5px;font-family:var(--font-display);font-size:.98rem;
}
.bca-longform table{width:100%;border-collapse:collapse;margin:0 0 1.7em;font-size:.94rem;}
.bca-longform th,.bca-longform td{border:1px solid var(--edge);padding:11px 14px;text-align:left;}
.bca-longform th{background:var(--surface-2);color:var(--ink);font-family:var(--font-display);}
.bca-longform blockquote,.bca-longform .bca-note{
  margin:2em 0 0;padding:20px 22px;
  border:1px solid var(--edge);border-left:3px solid var(--signal);
  border-radius:var(--r-sm);background:rgba(16,23,51,.6);
}
.bca-longform .bca-note p{margin:0;font-size:.9rem;color:var(--ink-dim);font-style:italic;}
.bca-longform .bca-cta-inline{
  margin:2em 0 0;padding:24px 26px;border-radius:var(--r-md);
  border:1px solid var(--edge);
  background:radial-gradient(620px 220px at 90% 8%, rgba(255,106,31,.09), transparent 66%),linear-gradient(140deg,rgba(23,31,72,.92),rgba(11,16,36,.92));
}
.bca-longform .bca-cta-inline p{margin:0 0 16px;}

/* Native disclosure FAQ: crawlable HTML, no JavaScript, keyboard accessible. */
.bca-faqlist{margin:0 0 1.5em;border-top:1px solid var(--edge);}
.bca-faqitem{border-bottom:1px solid var(--edge);}
.bca-faqitem > summary{
  list-style:none;cursor:pointer;padding:18px 34px 18px 4px;position:relative;
  transition:color .2s var(--ease);
}
.bca-faqitem > summary::-webkit-details-marker{display:none;}
.bca-faqitem > summary h3{
  margin:0;font-size:1.02rem;line-height:1.35;color:var(--ink);
  display:inline;font-family:var(--font-display);
}
.bca-faqitem > summary::after{
  content:"";position:absolute;right:8px;top:24px;
  width:11px;height:11px;
  border-right:2px solid var(--signal);border-bottom:2px solid var(--signal);
  transform:rotate(45deg);transform-origin:center;
  transition:transform .24s var(--ease);
}
.bca-faqitem[open] > summary::after{transform:rotate(-135deg);}
.bca-faqitem > summary:hover h3{color:var(--accent);}
.bca-faqitem__a{padding:0 4px 20px;}
.bca-faqitem__a p:last-child,.bca-faqitem__a ol:last-child{margin-bottom:0;}
.bca-faqitem[open] .bca-faqitem__a{animation:bca-faq-open .28s var(--ease);}
@keyframes bca-faq-open{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}

.bca-cta-inline__row{display:flex;gap:11px;flex-wrap:wrap;margin:0;}

/* Scroll container for content tables, so a wide comparison table never
   widens the page on a phone. */
.bca-tablewrap{
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  margin:0 0 1.7em;max-width:100%;
  border:1px solid var(--edge);border-radius:var(--r-md);
}
.bca-tablewrap > table{margin:0!important;border:none!important;min-width:520px;}
.bca-tablewrap > table th,.bca-tablewrap > table td{border-left:none;border-right:none;}
.bca-tablewrap > table tr > th:first-child,
.bca-tablewrap > table tr > td:first-child{padding-left:16px;}
.bca-tablewrap > table tr > th:last-child,
.bca-tablewrap > table tr > td:last-child{padding-right:16px;}

/* ===== 15d. LINK POLISH =====
   Body links get a wipe-in underline rather than a permanent one, so long
   copy stays readable while the link affordance is still obvious. */
.bca-longform a:not(.bca-btn),
.bca-article__body a:not(.bca-btn),
.bca-pdp__content a:not(.bca-btn){
  text-decoration:none;
  background-image:linear-gradient(90deg,var(--signal),var(--signal));
  background-size:100% 1px;background-position:0 100%;background-repeat:no-repeat;
  padding-bottom:1px;
  transition:color .2s var(--ease),background-size .28s var(--ease),background-image .2s var(--ease);
}
.bca-longform a:not(.bca-btn):hover,
.bca-article__body a:not(.bca-btn):hover,
.bca-pdp__content a:not(.bca-btn):hover{
  color:var(--accent);
  background-image:linear-gradient(90deg,var(--accent),var(--accent));
}
.bca-longform a:not(.bca-btn):focus-visible,
.bca-article__body a:not(.bca-btn):focus-visible{background-size:100% 2px;}

/* Section ambience: a very slow drifting wash, transform driven. */
.bca-section--ambient{position:relative;overflow:hidden;}
.bca-section--ambient::before{
  content:"";position:absolute;inset:-20% -10%;z-index:-1;pointer-events:none;
  background:
    radial-gradient(620px 340px at 18% 28%, rgba(34,211,238,.055), transparent 66%),
    radial-gradient(580px 320px at 82% 72%, rgba(255,106,31,.045), transparent 64%);
  animation:bca-drift 26s ease-in-out infinite alternate;
}
@keyframes bca-drift{
  from{transform:translate3d(-2%,-1%,0) scale(1);}
  to{transform:translate3d(2%,2%,0) scale(1.06);}
}

.bca-cmpbar__title{font-family:var(--font-display);font-size:.92rem;}

/* ===== 16. REVEAL ANIMATION ===== */
[data-reveal]{opacity:1;}
.js [data-reveal]{opacity:0;transform:translateY(18px);}
.js [data-reveal].is-in{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .6s var(--ease);}
.js [data-reveal][data-reveal-delay="1"].is-in{transition-delay:.07s;}
.js [data-reveal][data-reveal-delay="2"].is-in{transition-delay:.14s;}
.js [data-reveal][data-reveal-delay="3"].is-in{transition-delay:.21s;}
.js [data-reveal][data-reveal-delay="4"].is-in{transition-delay:.28s;}

.bca-count{font-family:var(--font-display);font-weight:700;color:var(--signal);}

/* ===== 17. RESPONSIVE ===== */
@media (max-width:1080px){
  .bca-mega__inner{grid-template-columns:1fr 1fr 240px;}
  .bca-eco{grid-template-columns:repeat(3,1fr);}
  .bca-footer__top{grid-template-columns:1.4fr 1fr 1fr;}
  .bca-pdp{grid-template-columns:minmax(0,1fr);}
  .bca-pdp__buybox{position:static;}
}
@media (max-width:1080px){
  .bca-navrow__note{display:none;}
  .bca-headsearch{max-width:340px;}
  .bca-footer__grid{grid-template-columns:1.5fr 1fr 1fr;}
}
@media (max-width:960px){
  /* Row 2 collapses into the drawer; row 1 keeps brand, Telegram and cart. */
  .bca-header__nav{display:none;}
  .bca-headsearch{display:none;}
  /* The icon trigger takes over as the single search entry point once the
     inline field is hidden. Specificity matches the base hide rule. */
  .bca-header__util .bca-searchtrigger{display:inline-flex;}
  .bca-burger{display:inline-flex;}
  /* The mega menu belongs to the collapsed nav row, and its fixed-width
     column grid would otherwise widen the document on small screens. */
  .bca-mega{display:none;}
  :root{--header-h:68px;}
  .bca-header__toprow{height:68px;}
  .bca-header.is-scrolled .bca-header__toprow{height:58px;}
  .bca-footer__lead{padding:22px;}
  .bca-footer__grid{grid-template-columns:1fr 1fr;gap:28px;}
  .bca-footer__brand{grid-column:span 2;}
  .bca-hero{min-height:auto;}
  .bca-hero__grid{grid-template-columns:1fr;gap:36px;}
  .bca-hero__stage{max-width:460px;order:-1;}
  .bca-hero__copy{max-width:none;}
  .bca-split,.bca-split--alt,.bca-cta__grid{grid-template-columns:1fr;}
  .bca-steps{grid-template-columns:1fr 1fr;}
  .bca-step{border-bottom:1px solid var(--edge-soft);}
  .bca-step:nth-child(2n){border-right:none;}
  .bca-post--lead{grid-column:span 1;flex-direction:column;}
  .bca-post--lead .bca-post__media{width:100%;aspect-ratio:16/9;border-right:none;border-bottom:1px solid var(--edge);}
  .bca-post--lead .bca-post__body{width:100%;padding:18px;}
  .bca-post--lead .bca-post__title{font-size:1.2rem;}
}
@media (max-width:720px){
  :root{--s-xxl:68px;--s-xl:48px;}
  .bca-eco{grid-template-columns:1fr 1fr;}
  .bca-eco__cell--feature,.bca-eco__cell--wide{grid-column:span 2;}
  .bca-eco__cell--tall{grid-row:span 1;}
  .bca-tgfloat{padding:12px;gap:0;}
  .bca-tgfloat__label{display:none;}
  .bca-tgfloat__pulse{left:12px;}
  .bca-cfloat__btn{padding:12px;gap:0;}
  .bca-cfloat__label{display:none;}
  .bca-cfloat__pulse{left:12px;}
  .bca-strip__track{gap:26px;animation-duration:32s;}
  .bca-grid{grid-template-columns:1fr 1fr;gap:14px;}
  .bca-card__body{padding:14px;}
  .bca-card__title{font-size:.95rem;}
  .bca-card__desc{display:none;}
  .bca-cmpbar__inner{gap:10px;}
}
/* Below 560px the utility row tightens so brand plus four controls fit. */
@media (max-width:560px){
  .bca-header__toprow{gap:10px;}
  .bca-header__util{gap:6px;}
  .bca-brand{gap:9px;}
  .bca-brand__mark{width:30px;height:30px;}
  .bca-brand__name{font-size:1rem;}
  .bca-iconbtn{width:36px;height:36px;}
  .bca-iconbtn svg{width:15px;height:15px;}
  .bca-tg{padding:8px 11px;}
  .bca-tg__glyph svg{width:16px;height:16px;}
}
@media (max-width:400px){
  /* At 320px even the tightened lockup cannot fit, so it drops to the mark
     alone. The mark is still the logo and still links home. */
  .bca-header__toprow{gap:8px;}
  .bca-header__util{gap:5px;}
  .bca-brand__name{display:none;}
}
@media (max-width:560px){
  .bca-footer__grid{grid-template-columns:1fr;gap:24px;}
  .bca-footer__brand{grid-column:span 1;}
  .bca-footer__lead{flex-direction:column;align-items:flex-start;}
  .bca-footer__leadcta{width:100%;}
  .bca-footer__leadcta .bca-btn{flex:1;}
}
@media (max-width:520px){
  .bca-wrap{padding-inline:16px;}
  .bca-tg__label{display:none;}
  .bca-tg{padding:8px 11px;}
  /* Two channel pills now share the row with search, cart and the burger. */
  .bca-header__util{gap:5px;}
  .bca-tg{padding:8px 10px;}
  .bca-grid,.bca-postgrid{grid-template-columns:1fr;}
  .bca-steps{grid-template-columns:1fr;}
  .bca-step{border-right:none;}
  .bca-card__desc{display:-webkit-box;}
  .bca-hero__cta .bca-btn{flex:1;min-width:0;}
  .bca-footer__bottom{flex-direction:column;align-items:flex-start;}
}

/* ===== 18. REDUCED MOTION ===== */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important;
  }
  .js [data-reveal]{opacity:1!important;transform:none!important;}
  .bca-card:hover,.bca-post:hover,.bca-eco__cell:hover,.bca-btn:hover{transform:none!important;}

  /* Every looping decoration collapses to a still, finished state. */
  .bca-strip__track{
    animation:none!important;transform:none!important;
    width:auto!important;overflow-x:auto;
    scrollbar-width:none;
  }
  .bca-strip__viewport{overflow-x:auto;}
  .bca-strip__dupe{display:none!important;}
  .bca-card__sweep{display:none!important;}
  .bca-card:hover .bca-card__badgemark,
  .bca-card:hover .bca-card__price b,
  .bca-card:hover .bca-card__media img,
  .bca-card:hover .bca-card__media .bca-art{transform:none!important;}
  .bca-footnet__line,.bca-footnet__node{animation:none!important;}
  .bca-footnet__node{opacity:.6;}
  .bca-footer__lead::after{animation:none!important;background:none!important;}
  .bca-section--ambient::before{animation:none!important;transform:none!important;}
  .bca-tgfloat__pulse{animation:none!important;opacity:0!important;}
  .bca-cfloat__pulse{animation:none!important;opacity:0!important;}
  .bca-cfloat__menu{animation:none!important;}
  .bca-tg:hover .bca-tg__glyph{animation:none!important;}
  .bca-mega.is-open .bca-mega__item{animation:none!important;}
  .bca-cartcount.is-bumped{animation:none!important;}
}

/* ---- Product summary figure -------------------------------------------
   A real raster image inside the copy, so the listing has something a
   crawler can index and an alt string to read. The animated visual above
   it is untouched. */
.bca-seo--lead > :first-child{margin-top:0;}
.bca-pfig{
	margin:26px 0 30px;
	padding:0;
	border:1px solid var(--edge);
	border-radius:var(--r-lg);
	overflow:hidden;
	background:var(--surface-2);
}
.bca-pfig img{
	display:block;
	width:100%;
	height:auto;
	border-bottom:1px solid var(--edge-soft);
}
.bca-pfig figcaption{
	margin:0;
	padding:12px 18px;
	font-size:.82rem;
	color:var(--ink-dim);
	letter-spacing:.01em;
}
.bca-seo--close h2:first-child{margin-top:1.8em;}

/* ---- Product page direct contact --------------------------------------
   Sits under the purchase controls, so it offers a way to ask a question
   without competing with add to cart. */
.bca-pdp__chat{
	margin-top:2px;
	padding-top:14px;
	border-top:1px solid var(--edge-soft);
	display:flex;
	flex-direction:column;
	gap:8px;
}
.bca-pdp__chatlabel{
	margin:0 0 2px;
	font-size:.78rem;
	font-weight:600;
	letter-spacing:.02em;
	color:var(--ink-dim);
}
/* Content-placed contact buttons, from [contact_buttons]. */
.bca-chanrow{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 22px;}
