/* Cevelar: Bottleneck (ported from Bottleneck.jsx) */
.cvBn{
  --bn-bg:#0E1520;
  --bn-chain:#33455C;
  --bn-tick:#5E6E82;
  --bn-stem:#3B4E64;
  --bn-body:#8C9AAC;
  --bn-bright:#E4EBF3;
  --bn-white:#FFFFFF;
  --bn-gap:#FF7514;
  background:var(--bn-bg);
  font-family:var(--cvl-font-sans);
}
.cvBn *,.cvBn *::before,.cvBn *::after{box-sizing:border-box}
.cvBn-inner{max-width:1180px;margin:0 auto;padding:var(--cvl-sec-pad) 40px}
.cvBn-label{
  margin:0 0 14px;font-family:var(--cvl-font-mono);font-size:var(--cvl-fs-label);
  color:var(--bn-gap);letter-spacing:.16em;text-transform:uppercase;
}
.cvBn-h{
  margin:0 0 16px;font-family:var(--cvl-font-display);font-size:var(--cvl-fs-h2);font-weight:600;
  color:var(--bn-white);line-height:1.08;letter-spacing:-.02em;
}
.cvBn-lead{
  margin:0 0 28px;font-size:var(--cvl-fs-lead);color:var(--bn-body);line-height:1.5;max-width:52ch;
}
.cvBn-svg{width:100%;max-width:820px;display:block;overflow:visible}
.cvBn-captions{
  display:none;list-style:none;margin:18px 0 0;padding:0;gap:10px;
}
.cvBn-captions li{
  padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:4px;
  background:rgba(255,255,255,.04);font-size:14px;line-height:1.45;color:var(--bn-bright);
}
.cvBn-captions li strong{
  display:block;margin-bottom:4px;font-family:var(--cvl-font-mono);font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--bn-gap);font-weight:500;
}
.cvBn:not(.is-inview) .cvBn-cyc,
.cvBn:not(.is-inview) .cvBn-arc,
.cvBn:not(.is-inview) .cvBn-t1,
.cvBn:not(.is-inview) .cvBn-t2,
.cvBn:not(.is-inview) .cvBn-t3,
.cvBn:not(.is-inview) .cvBn-i,
.cvBn:not(.is-inview) .cvBn-f,
.cvBn:not(.is-inview) .cvBn-chain{
  animation-play-state:paused;
}
.cvBn-close-title{
  margin:0 0 8px;font-family:var(--cvl-font-display);font-size:var(--cvl-fs-h3);font-weight:500;
  color:var(--bn-white);line-height:1.3;
}
.cvBn-close-body{margin:0;font-size:15px;color:var(--bn-body);line-height:1.55}
.cvBn-lower{margin-top:16px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);max-width:820px}
.cvBn-wide{display:none}

.cvBn-i{
  opacity:0;
  animation-name:bnUp;animation-duration:.5s;
  animation-timing-function:cubic-bezier(.2,.7,.3,1);animation-fill-mode:both;
}
.cvBn-f{
  opacity:0;
  animation-name:bnF;animation-duration:.4s;animation-timing-function:ease;animation-fill-mode:both;
}
.cvBn-chain{
  stroke-dasharray:600;stroke-dashoffset:600;
  animation-name:bnDraw;animation-duration:.6s;animation-delay:.25s;
  animation-timing-function:cubic-bezier(.3,.7,.4,1);animation-fill-mode:both;
}
.cvBn-cyc{
  opacity:0;animation-duration:7.5s;animation-delay:.9s;
  animation-timing-function:linear;animation-iteration-count:infinite;
}
.cvBn-g1{animation-name:bnG1}
.cvBn-g2{animation-name:bnG2}
.cvBn-g3{animation-name:bnG3}
.cvBn-arc{
  animation-duration:7.5s;animation-delay:.9s;
  animation-timing-function:linear;animation-iteration-count:infinite;
}
.cvBn-a1{stroke-dasharray:200;stroke-dashoffset:200;animation-name:bnA1}
.cvBn-a2{stroke-dasharray:280;stroke-dashoffset:280;animation-name:bnA2}
.cvBn-a3{stroke-dasharray:560;stroke-dashoffset:560;animation-name:bnA3}
.cvBn-t1{animation:bnS1 7.5s linear .9s infinite}
.cvBn-t2{animation:bnS2 7.5s linear .9s infinite}
.cvBn-t3{animation:bnS3 7.5s linear .9s infinite}

@keyframes bnUp{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes bnF{to{opacity:1}}
@keyframes bnDraw{to{stroke-dashoffset:0}}
@keyframes bnA1{0%,8.4%{stroke-dashoffset:200}15.7%{stroke-dashoffset:0}}
@keyframes bnA2{0%,27.8%{stroke-dashoffset:280}38.7%{stroke-dashoffset:0}}
@keyframes bnA3{0%,52.9%{stroke-dashoffset:560}76.5%{stroke-dashoffset:0}}
@keyframes bnG1{0%,8.4%{opacity:0}12%{opacity:1}32%{opacity:1}38.7%,100%{opacity:0}}
@keyframes bnG2{0%,27.8%{opacity:0}32%{opacity:1}56%{opacity:1}62.7%,100%{opacity:0}}
@keyframes bnG3{0%,52.9%{opacity:0}60%{opacity:1}90%{opacity:1}97.3%,100%{opacity:0}}
@keyframes bnS1{0%,9%{transform:translateX(16px)}16%{transform:none}100%{transform:none}}
@keyframes bnS2{0%,28%{transform:translateX(16px)}36%{transform:none}100%{transform:none}}
@keyframes bnS3{0%,53%{transform:translateX(16px)}64%{transform:none}100%{transform:none}}

@media (min-width:1080px){
  .cvBn-body{display:grid;grid-template-columns:minmax(0,820px) minmax(240px,1fr);gap:40px;align-items:center}
  .cvBn-lower{display:none}
  .cvBn-wide{display:block;border-left:1px solid rgba(255,255,255,.14);padding-left:28px}
}
@media (max-width:900px){
  .cvBn-inner{padding:var(--cvl-sec-pad) 24px}
}
@media (max-width:640px){
  .cvBn-inner{padding:clamp(48px,10vh,72px) 20px}
  .cvBn-svg .cvBn-t1,
  .cvBn-svg .cvBn-t2,
  .cvBn-svg .cvBn-t3{opacity:0}
  .cvBn-captions{display:grid}
}
@media (prefers-reduced-motion:reduce){
  .cvBn-i,.cvBn-f{animation:none;opacity:1}
  .cvBn-chain{animation:none;stroke-dashoffset:0}
  .cvBn-cyc{animation:none;opacity:1}
  .cvBn-arc{animation:none;stroke-dashoffset:0}
  .cvBn-t1,.cvBn-t2,.cvBn-t3{animation:none}
}
