/* SHIGO optical integration: deliberately scoped to SHIGO home rail only. */
.future-card.card-theme-shigo {
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(157deg,rgba(5,22,59,.92),rgba(1,9,29,.96))!important;
  border-color:rgba(93,204,255,.38)!important;
  box-shadow:0 0 1px rgba(153,234,255,.65) inset,0 0 32px rgba(40,140,255,.20),0 24px 42px rgba(0,0,0,.32)!important;
}
.future-card.card-theme-shigo .card-visual {
  position:absolute!important;
  /* same visual stage as native cards; no inset photo tile */
  inset:38px 12px 63px!important;
  width:auto!important;
  height:auto!important;
  overflow:hidden!important;
  isolation:isolate;
  border:0!important;
  border-radius:18px!important;
  background:radial-gradient(ellipse at center,rgba(25,111,218,.40),rgba(0,8,25,.86) 78%)!important;
}
.future-card.card-theme-shigo .card-visual img.shigo-rail-image {
  position:absolute!important;
  display:block!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:50% 50%!important;
  border:0!important;
  border-radius:0!important;
  filter:saturate(.93) contrast(1.07) brightness(.93)!important;
  opacity:1!important;
  /* dissolve source image edges into the card, no pasted-on rectangle */
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),#000 13%,#000 72%,rgba(0,0,0,.22) 100%)!important;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),#000 13%,#000 72%,rgba(0,0,0,.22) 100%)!important;
  z-index:1!important;
}
.future-card.card-theme-shigo .card-visual::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(2,11,35,.25),transparent 20%,transparent 62%,rgba(0,7,26,.65)),
  radial-gradient(ellipse at 50% 55%,transparent 38%,rgba(0,8,29,.40) 100%);
}
.future-card.card-theme-shigo .card-visual::after {
  content:"";
  position:absolute;
  inset:-35% -40%;
  z-index:4;
  pointer-events:none;
  background:linear-gradient(104deg,transparent 41%,rgba(153,230,255,.05) 46%,rgba(189,244,255,.48) 49%,rgba(56,165,255,.16) 53%,transparent 58%);
  transform:translateX(-75%) rotate(-8deg);
  animation:shigoGlassSweep 6s ease-in-out infinite;
}
.future-card.card-theme-shigo .card-visual .shigo-lines {
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none;
  background:repeating-linear-gradient(105deg,transparent 0 34px,rgba(71,180,255,.08) 35px 36px,transparent 37px 62px)!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
.future-card.card-theme-shigo .card-visual .shigo-lines::before,
.future-card.card-theme-shigo .card-visual .shigo-lines::after {
  content:"";
  position:absolute;
  left:-22%;
  width:145%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(150,226,255,.85) 40%,rgba(63,170,255,.8) 65%,transparent);
  box-shadow:0 0 11px rgba(163,234,255,.68),0 0 25px rgba(50,143,255,.40);
}
.future-card.card-theme-shigo .card-visual .shigo-lines::before {top:36%;transform:rotate(-13deg);animation:shigoFiber1 5.3s ease-in-out infinite;}
.future-card.card-theme-shigo .card-visual .shigo-lines::after {top:66%;transform:rotate(11deg);animation:shigoFiber2 4.5s ease-in-out infinite;}
.future-card.card-theme-shigo .card-bottom { z-index:6; }
.future-card.card-theme-shigo .card-bottom h3 { text-shadow:0 0 17px rgba(95,191,255,.37); }
@keyframes shigoGlassSweep {0%,10%{transform:translateX(-75%) rotate(-8deg);opacity:0}38%{opacity:1}75%,100%{transform:translateX(74%) rotate(-8deg);opacity:0}}
@keyframes shigoFiber1 {0%,100%{opacity:.35;transform:rotate(-13deg) translateX(-22px)}50%{opacity:1;transform:rotate(-13deg) translateX(23px)}}
@keyframes shigoFiber2 {0%,100%{opacity:.32;transform:rotate(11deg) translateX(19px)}50%{opacity:1;transform:rotate(11deg) translateX(-21px)}}
@media(prefers-reduced-motion:reduce){.future-card.card-theme-shigo .card-visual::after,.future-card.card-theme-shigo .card-visual .shigo-lines::before,.future-card.card-theme-shigo .card-visual .shigo-lines::after{animation:none!important}}

/* SHIGO WIDE IMAGE FIX START */
/* Only SHIGO card visual/image. No button/layout changes. */
.future-card.card-theme-shigo .card-visual {
  inset: 44px 12px 58px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 14%, rgba(56,168,255,.12), transparent 34%),
    radial-gradient(circle at 12% 84%, rgba(40,140,255,.07), transparent 24%),
    radial-gradient(circle at 88% 18%, rgba(40,140,255,.07), transparent 24%),
    linear-gradient(180deg, rgba(2,10,28,.92), rgba(1,8,22,.98)) !important;
}
.future-card.card-theme-shigo .card-visual img.shigo-rail-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  transform: none !important;
  filter: saturate(1.02) contrast(1.03) brightness(.99) drop-shadow(0 0 10px rgba(88,194,255,.18)) !important;
  border: 0 !important;
  border-radius: 0 !important;
  z-index: 1 !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
.future-card.card-theme-shigo .card-visual::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 18%, rgba(212,248,255,.07), transparent 16%),
    radial-gradient(circle at 86% 20%, rgba(212,248,255,.07), transparent 16%),
    radial-gradient(circle at 16% 82%, rgba(86,184,255,.05), transparent 18%),
    radial-gradient(circle at 84% 80%, rgba(86,184,255,.05), transparent 18%),
    linear-gradient(180deg, rgba(2,10,28,.06), transparent 20%, transparent 76%, rgba(0,8,22,.10));
}
.future-card.card-theme-shigo .card-visual::after {
  content:"";
  position:absolute;
  inset:-34% -34%;
  z-index:5;
  pointer-events:none;
  background:
    linear-gradient(135deg, transparent 18%, rgba(220,252,255,0) 20%, rgba(220,252,255,.95) 20.8%, rgba(93,195,255,.95) 21.4%, rgba(220,252,255,0) 22.2%, transparent 24%),
    linear-gradient(-135deg, transparent 58%, rgba(220,252,255,0) 60%, rgba(220,252,255,.92) 60.8%, rgba(93,195,255,.93) 61.4%, rgba(220,252,255,0) 62.2%, transparent 64%);
  filter: drop-shadow(0 0 6px rgba(220,252,255,.60)) drop-shadow(0 0 12px rgba(86,184,255,.28));
  transform: translate3d(-16%, -12%, 0);
  animation: shigoDiagPassWide 3.8s linear infinite;
}
.future-card.card-theme-shigo .card-visual .shigo-lines {
  position:absolute !important;
  inset:0 !important;
  z-index:4 !important;
  pointer-events:none;
  background:none !important;
  overflow:hidden !important;
}
.future-card.card-theme-shigo .card-visual .shigo-lines::before {
  content:"";
  position:absolute;
  inset:-6% -18%;
  background:
    linear-gradient(90deg, transparent 18%, rgba(220,252,255,0) 20%, rgba(220,252,255,.95) 21%, rgba(97,194,255,.96) 21.8%, rgba(220,252,255,0) 22.8%, transparent 26%),
    linear-gradient(90deg, transparent 40%, rgba(220,252,255,0) 42%, rgba(220,252,255,.92) 43%, rgba(97,194,255,.94) 43.8%, rgba(220,252,255,0) 44.8%, transparent 48%),
    linear-gradient(90deg, transparent 64%, rgba(220,252,255,0) 66%, rgba(220,252,255,.92) 67%, rgba(97,194,255,.94) 67.8%, rgba(220,252,255,0) 68.8%, transparent 72%),
    linear-gradient(90deg, transparent 82%, rgba(220,252,255,0) 84%, rgba(220,252,255,.88) 85%, rgba(97,194,255,.92) 85.8%, rgba(220,252,255,0) 86.8%, transparent 90%);
  background-size: 200% 18%, 200% 18%, 200% 18%, 200% 18%;
  background-position: -120% 18%, 120% 38%, -120% 62%, 120% 82%;
  background-repeat: no-repeat;
  filter: drop-shadow(0 0 6px rgba(222,252,255,.80)) drop-shadow(0 0 10px rgba(78,184,255,.42));
  animation: shigoHorizontalPassWide 3.4s linear infinite;
}
.future-card.card-theme-shigo .card-visual .shigo-lines::after {
  content:"";
  position:absolute;
  inset:-18% -6%;
  background:
    linear-gradient(180deg, transparent 14%, rgba(220,252,255,0) 16%, rgba(220,252,255,.95) 17%, rgba(97,194,255,.96) 17.8%, rgba(220,252,255,0) 18.8%, transparent 22%),
    linear-gradient(180deg, transparent 38%, rgba(220,252,255,0) 40%, rgba(220,252,255,.92) 41%, rgba(97,194,255,.94) 41.8%, rgba(220,252,255,0) 42.8%, transparent 46%),
    linear-gradient(180deg, transparent 60%, rgba(220,252,255,0) 62%, rgba(220,252,255,.92) 63%, rgba(97,194,255,.94) 63.8%, rgba(220,252,255,0) 64.8%, transparent 68%),
    linear-gradient(180deg, transparent 82%, rgba(220,252,255,0) 84%, rgba(220,252,255,.88) 85%, rgba(97,194,255,.92) 85.8%, rgba(220,252,255,0) 86.8%, transparent 90%);
  background-size: 18% 200%, 18% 200%, 18% 200%, 18% 200%;
  background-position: 18% -120%, 38% 120%, 62% -120%, 82% 120%;
  background-repeat: no-repeat;
  filter: drop-shadow(0 0 6px rgba(222,252,255,.80)) drop-shadow(0 0 10px rgba(78,184,255,.42));
  animation: shigoVerticalPassWide 3.1s linear infinite;
}
@keyframes shigoDiagPassWide {
  0%   { opacity:.08; transform: translate3d(-18%, -14%, 0); }
  18%  { opacity:.96; }
  58%  { opacity:.96; }
  100% { opacity:.08; transform: translate3d(18%, 14%, 0); }
}
@keyframes shigoHorizontalPassWide {
  0%   { background-position: -120% 18%, 120% 38%, -120% 62%, 120% 82%; opacity:.12; }
  22%  { opacity:1; }
  100% { background-position: 120% 18%, -120% 38%, 120% 62%, -120% 82%; opacity:.12; }
}
@keyframes shigoVerticalPassWide {
  0%   { background-position: 18% -120%, 38% 120%, 62% -120%, 82% 120%; opacity:.12; }
  22%  { opacity:1; }
  100% { background-position: 18% 120%, 38% -120%, 62% 120%, 82% -120%; opacity:.12; }
}
@media (prefers-reduced-motion: reduce) {
  .future-card.card-theme-shigo .card-visual::after,
  .future-card.card-theme-shigo .card-visual .shigo-lines::before,
  .future-card.card-theme-shigo .card-visual .shigo-lines::after { animation:none !important; }
}
/* SHIGO WIDE IMAGE FIX END */
