/* Evernorth / Vault inventory infrastructure bridge --------------------- */

.inventory-bridge{
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--line);
  background:
    radial-gradient(circle at 9% 30%,rgba(23,92,255,.055),transparent 25%),
    radial-gradient(circle at 91% 72%,rgba(8,127,91,.055),transparent 25%),
    #fff;
}
.inventory-bridge::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(23,40,72,.027) 1px,transparent 1px),linear-gradient(90deg,rgba(23,40,72,.027) 1px,transparent 1px);
  background-size:36px 36px;
  -webkit-mask-image:linear-gradient(to bottom,transparent,black 16%,black 84%,transparent);
  mask-image:linear-gradient(to bottom,transparent,black 16%,black 84%,transparent);
}
.inventory-bridge .shell{position:relative;z-index:1}

.inventory-bridge-visual{
  overflow:hidden;
  border:1px solid var(--line-strong);
  border-radius:30px;
  background:rgba(255,255,255,.94);
  box-shadow:0 24px 70px rgba(23,40,72,.085),0 2px 8px rgba(13,17,23,.035);
}
.inventory-bridge-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  min-height:108px;
  padding:22px 26px;
  border-bottom:1px solid var(--line);
}

.inventory-bridge-scene{
  position:relative;
  display:grid;
  grid-template-columns:120px 54px minmax(170px,1.04fr) 45px 132px 82px minmax(180px,1.08fr) 58px 150px;
  align-items:center;
  min-height:390px;
  padding:50px 32px 46px;
  background:
    radial-gradient(circle at 14% 49%,rgba(23,92,255,.08),transparent 19%),
    radial-gradient(circle at 76% 49%,rgba(8,127,91,.08),transparent 20%),
    linear-gradient(180deg,#fbfcff,#f7faff 54%,#fbfcff);
}
.inventory-bridge-scene::before{
  content:"";
  position:absolute;
  top:50%;
  right:4%;
  left:4%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(23,92,255,.16) 12%,rgba(23,92,255,.16) 46%,rgba(8,127,91,.18) 72%,transparent);
}

.bridge-source,.inventory-reservoir,.bridge-destinations,.bridge-station,.bridge-flow,.bridge-planned-link{position:relative;z-index:2}
.bridge-source,.inventory-reservoir{
  display:flex;
  align-items:center;
  flex-direction:column;
  text-align:center;
}
.source-city{position:relative;width:82px;height:66px;margin-bottom:13px;border-bottom:3px solid #c9d4e8}
.source-city i{position:absolute;bottom:0;width:21px;border:1px solid rgba(23,92,255,.24);border-bottom:0;border-radius:5px 5px 0 0;background:linear-gradient(90deg,#fff,#eef4ff)}
.source-city i::before{content:"";position:absolute;inset:7px 5px;background:repeating-linear-gradient(to bottom,rgba(23,92,255,.38) 0 2px,transparent 2px 7px)}
.source-city i:nth-child(1){left:4px;height:43px}.source-city i:nth-child(2){left:30px;height:61px}.source-city i:nth-child(3){right:4px;height:49px}
.bridge-source>span,.inventory-reservoir>span{color:var(--blue);font-size:8px;font-weight:850;letter-spacing:.12em}
.bridge-source>strong,.inventory-reservoir>strong{margin-top:5px;font-size:13px;line-height:1.4}
.bridge-source>small,.inventory-reservoir>small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.45}

.bridge-station{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:15px;
  align-items:center;
  min-height:198px;
  padding:24px 19px;
  border:1px solid rgba(23,92,255,.19);
  border-radius:24px;
  background:linear-gradient(145deg,#fff,#f4f7ff);
  box-shadow:0 18px 42px rgba(23,40,72,.07);
}
.station-vault{border-color:rgba(8,127,91,.20);background:linear-gradient(145deg,#fff,#f1faf7)}
.station-role{
  position:absolute;
  top:12px;
  left:14px;
  min-height:22px;
  padding:4px 8px;
  border-radius:999px;
  color:#fff;
  background:var(--blue);
  font-size:8px;
  font-weight:850;
  line-height:1.7;
}
.station-vault .station-role{background:var(--green)}
.evernorth-building{position:relative;width:82px;height:92px;margin-top:14px;border:1px solid rgba(23,92,255,.30);border-radius:10px 10px 4px 4px;background:linear-gradient(145deg,#fff,#eaf1ff);box-shadow:inset 0 -12px 20px rgba(23,92,255,.05)}
.evernorth-building::before{content:"";position:absolute;top:-10px;left:17px;width:46px;height:12px;border:1px solid rgba(23,92,255,.25);border-bottom:0;border-radius:7px 7px 0 0;background:#f2f6ff}
.evernorth-building::after{content:"";position:absolute;right:8px;bottom:7px;left:8px;height:5px;border-radius:999px;background:rgba(23,92,255,.13)}
.evernorth-building i{position:absolute;width:10px;height:10px;border-radius:3px;background:rgba(23,92,255,.17);animation:bridgeWindow 6s infinite}
.evernorth-building i:nth-child(1){top:20px;left:13px}.evernorth-building i:nth-child(2){top:20px;right:13px;animation-delay:-1.5s}.evernorth-building i:nth-child(3){top:40px;left:13px;animation-delay:-3s}.evernorth-building i:nth-child(4){top:40px;right:13px;animation-delay:-4.5s}
.evernorth-building b{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);color:var(--blue);font-size:18px;line-height:1}
.station-copy{min-width:0;padding-top:15px}
.station-copy>small{display:block;color:var(--blue);font-size:7.5px;font-weight:850;letter-spacing:.10em}
.station-vault .station-copy>small{color:var(--green)}
.station-copy>strong{display:block;margin-top:5px;font-size:18px;line-height:1.25}
.station-copy>b{display:block;margin-top:10px;font-size:10px;line-height:1.45}
.station-copy>p{margin:3px 0 0;color:var(--muted);font-size:8.5px;line-height:1.5}

.inventory-reservoir{
  justify-content:center;
  width:132px;
  height:132px;
  overflow:hidden;
  border:1px solid rgba(23,92,255,.28);
  border-radius:50%;
  background:radial-gradient(circle,#fff 12%,#f0f5ff 58%,#e7efff);
  box-shadow:0 0 0 10px rgba(23,92,255,.035),0 16px 38px rgba(23,92,255,.10);
}
.inventory-reservoir::before{content:"X";position:absolute;top:12px;left:50%;transform:translateX(-50%);color:rgba(23,92,255,.08);font-size:82px;font-weight:900;line-height:1}
.inventory-reservoir>span,.inventory-reservoir>strong,.inventory-reservoir>small{position:relative;z-index:2}
.inventory-reservoir>strong{font-size:17px}.inventory-reservoir>small{font-size:7.5px}
.reservoir-orbit{position:absolute;inset:8px;border:1px solid rgba(23,92,255,.13);border-radius:50%;animation:bridgeOrbit 16s linear infinite}
.reservoir-orbit::before{content:"";position:absolute;inset:15px;border:1px dashed rgba(23,92,255,.12);border-radius:50%}
.reservoir-orbit i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(23,92,255,.07)}
.reservoir-orbit i:nth-child(1){top:-3px;left:50%}.reservoir-orbit i:nth-child(2){right:6px;bottom:20px;background:var(--cyan)}.reservoir-orbit i:nth-child(3){bottom:8px;left:12px;background:var(--green)}

.vault-machine{position:relative;width:84px;height:96px;margin-top:14px}
.vault-machine::before,.vault-machine::after{content:"";position:absolute;left:8px;width:68px;height:27px;border:1px solid rgba(8,127,91,.30);border-radius:50%;background:linear-gradient(180deg,#fff,#eaf8f3)}
.vault-machine::before{top:7px}.vault-machine::after{bottom:6px}
.vault-machine>i:nth-child(1){position:absolute;top:20px;bottom:19px;left:8px;width:68px;border-right:1px solid rgba(8,127,91,.30);border-left:1px solid rgba(8,127,91,.30);background:linear-gradient(90deg,#fff,#eef9f5 52%,#fff);animation:vaultFill 5.4s ease-in-out infinite}
.vault-machine>i:nth-child(2),.vault-machine>i:nth-child(3){position:absolute;z-index:3;left:19px;width:46px;height:1px;background:rgba(8,127,91,.20)}
.vault-machine>i:nth-child(2){top:39px}.vault-machine>i:nth-child(3){top:58px}
.vault-machine>b{position:absolute;top:35px;left:0;z-index:4;width:84px;color:var(--green);font-size:22px;line-height:1;text-align:center}

.bridge-flow{height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(23,92,255,.10),rgba(23,92,255,.52),rgba(23,92,255,.10))}
.bridge-flow::after{content:"›";position:absolute;top:50%;right:-3px;transform:translateY(-55%);color:var(--blue);font-size:18px;font-weight:800}
.bridge-flow>span{position:absolute;bottom:14px;left:50%;width:max-content;transform:translateX(-50%);color:var(--muted);font-size:7.5px;font-weight:800;letter-spacing:.04em}
.bridge-flow>i{position:absolute;top:1px;left:0;width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(23,92,255,.07);animation:bridgePacket 3.2s linear infinite}
.bridge-flow>i:nth-of-type(2){animation-delay:-1.06s}.bridge-flow>i:nth-of-type(3){animation-delay:-2.12s}
.flow-deploy{background:linear-gradient(90deg,rgba(8,127,91,.10),rgba(8,127,91,.52),rgba(8,127,91,.10))}.flow-deploy::after{color:var(--green)}.flow-deploy>i{background:var(--green);box-shadow:0 0 0 4px rgba(8,127,91,.08)}

.bridge-planned-link{display:grid;justify-items:center;gap:7px;text-align:center}
.bridge-planned-link>span{padding:4px 7px;border:1px solid rgba(146,91,0,.22);border-radius:999px;color:var(--amber);background:#fff8e8;font-size:7.5px;font-weight:850;line-height:1.4;white-space:nowrap}
.bridge-planned-link>div{position:relative;width:100%;height:2px;background:repeating-linear-gradient(90deg,rgba(146,91,0,.50) 0 7px,transparent 7px 12px)}
.bridge-planned-link>div::after{content:"›";position:absolute;top:50%;right:-3px;transform:translateY(-57%);color:var(--amber);font-size:17px}
.bridge-planned-link>div i{position:absolute;top:-2px;left:0;width:6px;height:6px;border-radius:50%;background:#bc7a0b;animation:plannedPacket 4.2s linear infinite}
.bridge-planned-link>div i:nth-child(2){animation-delay:-1.4s}.bridge-planned-link>div i:nth-child(3){animation-delay:-2.8s}
.bridge-planned-link>small{color:var(--amber);font-size:7.5px;font-weight:750;line-height:1.4}

.bridge-destinations{display:grid;gap:7px}
.bridge-destinations>div{position:relative;overflow:hidden;min-height:62px;padding:11px 10px 9px 14px;border:1px solid rgba(8,127,91,.18);border-radius:13px;background:linear-gradient(145deg,#fff,#f2faf7);animation:destinationFocus 9s infinite}
.bridge-destinations>div:nth-child(2){animation-delay:-6s}.bridge-destinations>div:nth-child(3){animation-delay:-3s}
.bridge-destinations span{display:block;font-size:9px;font-weight:800;line-height:1.35}.bridge-destinations strong{display:block;margin-top:4px;color:var(--green);font-size:7px;letter-spacing:.1em}

.inventory-bridge-boundary{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:22px;
  align-items:center;
  min-height:92px;
  padding:18px 25px;
  border-top:1px solid rgba(146,91,0,.16);
  background:linear-gradient(90deg,#fff9eb,#fff 50%);
}
.inventory-bridge-boundary>span{justify-self:start;padding:6px 10px;border-radius:999px;color:#fff;background:var(--amber);font-size:8px;font-weight:850;letter-spacing:.06em}
.inventory-bridge-boundary p{margin:0;color:var(--muted);font-size:11px;line-height:1.68}.inventory-bridge-boundary strong{color:var(--ink)}

.inventory-bridge-reading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.inventory-bridge-reading a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:center;min-height:132px;padding:20px 22px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.inventory-bridge-reading a:hover{transform:translateY(-3px);border-color:rgba(23,92,255,.32);box-shadow:var(--shadow-md)}
.bridge-reading-index{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(23,92,255,.20);border-radius:13px;color:var(--blue);background:var(--soft-blue);font-size:10px;font-weight:850}
.inventory-bridge-reading small{display:block;color:var(--blue);font-size:8px;font-weight:850;letter-spacing:.1em}.inventory-bridge-reading strong{display:block;margin-top:3px;font-size:16px;line-height:1.35}.inventory-bridge-reading p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.inventory-bridge-reading a>b{color:var(--muted);font-size:15px;font-weight:500}

@keyframes bridgeWindow{0%,18%,100%{background:rgba(23,92,255,.17);box-shadow:none}7%,12%{background:#6aa0ff;box-shadow:0 0 12px rgba(23,92,255,.35)}}
@keyframes bridgeOrbit{to{transform:rotate(360deg)}}
@keyframes bridgePacket{0%{left:0;opacity:0}10%,86%{opacity:1}100%{left:calc(100% - 6px);opacity:0}}
@keyframes plannedPacket{0%{left:0;opacity:0}12%,84%{opacity:.9}100%{left:calc(100% - 6px);opacity:0}}
@keyframes vaultFill{0%,100%{opacity:.55;transform:scaleY(.74);transform-origin:bottom}50%{opacity:1;transform:scaleY(1)}}
@keyframes destinationFocus{0%,27%{border-color:rgba(8,127,91,.48);box-shadow:0 8px 22px rgba(8,127,91,.09);transform:translateX(2px)}33%,100%{border-color:rgba(8,127,91,.18);box-shadow:none;transform:none}}

@media (max-width:1040px){
  .inventory-bridge-scene{grid-template-columns:100px 38px minmax(152px,1fr) 34px 112px 64px minmax(160px,1fr) 38px 122px;padding-inline:19px}
  .bridge-station{grid-template-columns:65px minmax(0,1fr);gap:10px;padding-inline:13px}.evernorth-building{transform:scale(.78);transform-origin:center}.vault-machine{transform:scale(.8);transform-origin:center}.station-copy>strong{font-size:15px}.station-copy>b{font-size:9px}.station-copy>p{font-size:7.8px}.bridge-destinations>div{padding-left:10px}
}

@media (max-width:920px), (min-width:821px){
  .inventory-bridge .section-heading h2 br{display:none}
  .inventory-bridge-visual{border-radius:24px}
  .inventory-bridge-head{align-items:flex-start;flex-direction:column;gap:6px;min-height:0}
  .inventory-bridge-scene{
    display:flex;
    align-items:stretch;
    flex-direction:column;
    min-height:0;
    padding:13px 14px 15px;
    background:linear-gradient(180deg,#fbfcff,#f5f8ff 49%,#f3faf7);
  }
  .inventory-bridge-scene::before{top:3%;bottom:3%;left:50%;width:1px;height:auto;background:linear-gradient(transparent,rgba(23,92,255,.18) 10%,rgba(23,92,255,.18) 50%,rgba(8,127,91,.20) 83%,transparent)}
  .bridge-source{align-self:center;min-height:55px}.source-city{width:54px;height:32px;margin-bottom:3px}.source-city i{width:14px}.source-city i:nth-child(1){left:3px;height:23px}.source-city i:nth-child(2){left:20px;height:31px}.source-city i:nth-child(3){right:3px;height:26px}.bridge-source>span{font-size:7.5px}.bridge-source>strong{margin-top:0;font-size:11px}.bridge-source>small{display:none}
  .bridge-flow{align-self:center;width:7px;height:22px;background:linear-gradient(rgba(23,92,255,.10),rgba(23,92,255,.52),rgba(23,92,255,.10))}.bridge-flow::after{content:"⌄";top:auto;right:50%;bottom:-7px;transform:translateX(50%);font-size:14px}.bridge-flow>span{top:50%;bottom:auto;left:16px;transform:translateY(-50%);font-size:7.5px}.bridge-flow>i{top:0;left:.5px;animation-name:bridgePacketMobile}.bridge-flow>i:nth-of-type(2),.bridge-flow>i:nth-of-type(3){display:none}
  .bridge-station{align-self:center;width:min(100%,330px);min-height:92px;grid-template-columns:58px minmax(0,1fr);gap:9px;padding:14px 13px 11px;border-radius:17px}.station-role{top:7px;left:9px;min-height:18px;padding:2px 7px;font-size:7.5px}.evernorth-building,.vault-machine{width:62px;height:65px;margin-top:9px;transform:scale(.7);transform-origin:center}.station-copy{padding-top:4px}.station-copy>small{font-size:7.4px}.station-copy>strong{font-size:15px}.station-copy>b{margin-top:4px;font-size:9.4px}.station-copy>p{font-size:8.6px}
  .inventory-reservoir{align-self:center;width:86px;height:86px}.inventory-reservoir::before{font-size:54px}.inventory-reservoir>span{font-size:7.2px}.inventory-reservoir>strong{font-size:13px}.inventory-reservoir>small{font-size:7.2px}.reservoir-orbit{inset:5px}
  .bridge-planned-link{align-self:center;width:220px;grid-template-columns:auto 1fr;gap:3px 9px;align-items:center;margin:2px 0}.bridge-planned-link>span{grid-column:1;grid-row:1;font-size:8px}.bridge-planned-link>div{grid-column:2;grid-row:1;width:100%;height:30px;background:repeating-linear-gradient(180deg,rgba(146,91,0,.50) 0 7px,transparent 7px 12px);justify-self:start}.bridge-planned-link>div::after{content:"⌄";top:auto;right:50%;bottom:-8px;transform:translateX(50%)}.bridge-planned-link>div i{top:0;left:calc(50% - 3px);animation-name:plannedPacketMobile}.bridge-planned-link>div i:nth-child(2),.bridge-planned-link>div i:nth-child(3){display:none}.bridge-planned-link>small{grid-column:1 / -1;grid-row:2;font-size:8px}
  .flow-deploy{background:linear-gradient(rgba(8,127,91,.10),rgba(8,127,91,.52),rgba(8,127,91,.10))}
  .bridge-destinations{align-self:stretch;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.bridge-destinations>div{min-height:52px;padding:8px 3px;text-align:center}.bridge-destinations span{font-size:8.4px}.bridge-destinations strong{font-size:6.8px}
  .inventory-bridge-boundary{grid-template-columns:1fr;gap:7px;min-height:0;padding:15px 16px}.inventory-bridge-boundary p{font-size:10px;line-height:1.65}
  .inventory-bridge-reading{grid-template-columns:1fr;gap:8px}.inventory-bridge-reading a{min-height:112px;padding:16px 17px}
}

@media (max-width:420px){
  .inventory-bridge-scene{padding-inline:9px}.bridge-station{width:100%}.inventory-bridge-reading a{grid-template-columns:38px minmax(0,1fr) auto;gap:11px}.bridge-reading-index{width:38px;height:38px}.inventory-bridge-reading strong{font-size:15px}.inventory-bridge-reading p{font-size:9.5px}
}

@keyframes bridgePacketMobile{0%{top:0;opacity:0}12%,82%{opacity:1}100%{top:calc(100% - 6px);opacity:0}}
@keyframes plannedPacketMobile{0%{top:0;opacity:0}12%,82%{opacity:.9}100%{top:calc(100% - 6px);opacity:0}}

@media (prefers-reduced-motion:reduce){
  .inventory-bridge-visual *,.inventory-bridge-visual *::before,.inventory-bridge-visual *::after{animation:none!important}
}
