/* Approved glass study, adapted to all three existing finance cards. */
#banks :is(.format-card,.bank-vault-glass){--optical-radius:35px;background:radial-gradient(ellipse at 18% 0%,#84918e29,transparent 55%),radial-gradient(ellipse at 0% 56%,#87979420,transparent 54%),radial-gradient(ellipse at 80% 100%,#fff8d62b,transparent 59%),linear-gradient(128deg,#b6c2bf25,#f8fbf91c 36%,#b4bfba1b 66%,#fffbe92a);border:0;box-shadow:inset 6px 6px 13px -9px #64777359,inset -4px -5px 14px -9px #fffcebb8}
#banks .format-card:before{left:4%;right:1%;bottom:-8px;height:28px;background:linear-gradient(90deg,#64736a0a,#65716635 15%,#767e662e 37%,#68746510 49%,#78836e39 78%,#77816d00);filter:blur(13px);transform:translate3d(calc(var(--cast-x)*.45),calc(var(--cast-y)*.32),0) scale(var(--cast-scale));opacity:var(--cast-opacity)}
#banks :is(.format-card,.bank-vault-glass):after{inset:2px;border-radius:calc(var(--optical-radius) - 2px);background:radial-gradient(ellipse at 78% 100%,#fffacb15,transparent 54%);box-shadow:inset 2px 2px 7px #71847e19,inset -1px -2px 4px #fffef670}
#banks .optical-bevel{position:absolute;inset:0;padding:1.5px;border-radius:var(--optical-radius);z-index:7;pointer-events:none;background:conic-gradient(from 35deg at 50% 48%,#c2ccc94d 0deg,#f4faf991 39deg,#ffffff24 62deg,#fffdeeae 112deg,#fffdf4b0 146deg,#ced1c657 188deg,#faffffa6 217deg,#a1afab66 257deg,#e7eeeb8c 294deg,#abb7b16b 312deg,#dbe2df3d 345deg,#c2ccc94d);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor}
#banks .optical-caustic{position:absolute;inset:-12%;width:124%;height:124%;overflow:visible;pointer-events:none;z-index:7;opacity:.8}
#banks .optical-caustic g{transform-origin:center;animation:finance-optical-drift 12s ease-in-out infinite alternate}
#banks .format-card[data-format="1"] .optical-caustic g{animation-delay:-4s}#banks .format-card[data-format="2"] .optical-caustic g{animation-delay:-8s}
@keyframes finance-optical-drift{0%{opacity:.72;transform:translate(0,0)}55%{opacity:.94;transform:translate(.5px,0)}100%{opacity:.8;transform:translate(1px,.5px)}}
#banks .format-lens{opacity:.34}#banks .glass-reflection{opacity:.1}#banks .frame-glint{display:none}#banks .frame-ambient{opacity:.2;filter:blur(24px);animation:none;background:radial-gradient(ellipse at 68% 62%,#fff8d340,transparent 72%);height:26%;bottom:-9%}
#banks .format-media,#banks .format-media.film-video-art,#banks .format-media.explain-art{border-radius:10px;box-shadow:0 0 0 1px #ffffff69,inset 0 1px 1px #4254471c}
#banks .format-caption{background:none;border:0;box-shadow:none;padding:16px 1px 4px;isolation:isolate}
#banks .format-caption:before{content:'';position:absolute;inset:-4px -12px -15px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#dce3dd16,#f1efdb25);backdrop-filter:blur(15px) saturate(.65);-webkit-backdrop-filter:blur(15px) saturate(.65);mask-image:linear-gradient(transparent,#000 28%,#000 72%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 28%,#000 72%,transparent)}
#banks .format-card[data-format="1"]>.format-caption:before{background:radial-gradient(ellipse at 30% 0%,#526c7a26,transparent 68%),radial-gradient(ellipse at 80% 0%,#7f76a526,transparent 74%)}
#banks .format-card[data-format="2"]>.format-caption:before{background:radial-gradient(ellipse at 50% 0%,#70a49b26,transparent 74%)}
/* The rounded clear video and the fading continuation share exactly one video. */
#banks .film-surface{position:relative;isolation:isolate;overflow:visible;border-radius:0;background:none;box-shadow:none}
#banks .film-surface>.showcase-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 43%;border-radius:0;transform:none;z-index:0;mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}
#banks .film-surface>.format-media.film-video-art{position:relative;z-index:1;border-radius:10px;background:none;box-shadow:inset 0 0 0 1px #ffffff60;pointer-events:none}
#banks .film-frost{position:absolute;top:var(--media-height,80%);left:-2px;right:-2px;bottom:0;z-index:1;pointer-events:none;background:linear-gradient(#eaece12e,#eeefdf3b 60%,#f5f1d518);backdrop-filter:blur(14px) saturate(.65) brightness(1.12);-webkit-backdrop-filter:blur(14px) saturate(.65) brightness(1.12);mask-image:linear-gradient(#000 0%,#000 62%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0%,#000 62%,transparent 100%)}
#banks .film-surface>.format-caption{position:relative;z-index:3;margin:0;padding:16px 1px 4px;background:none;box-shadow:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
#banks .film-surface>.format-caption:before{content:'';position:absolute;inset:0 -10px -14px;z-index:-1;pointer-events:none;background:linear-gradient(#f1efdd0a,#f3efdb52 65%,transparent);backdrop-filter:blur(27px) saturate(.6);-webkit-backdrop-filter:blur(27px) saturate(.6);mask-image:linear-gradient(transparent,#000 45%,#000 70%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 45%,#000 70%,transparent)}
#banks .flight-world.is-paused .optical-caustic g{animation-play-state:paused}
@media(max-width:699px){#banks :is(.format-card,.bank-vault-glass){--optical-radius:25px}#banks .format-media,#banks .format-media.film-video-art,#banks .format-media.explain-art,#banks .film-surface>.format-media.film-video-art{border-radius:6px}#banks .format-caption,#banks .film-surface>.format-caption{padding:13px 0 2px}#banks .film-frost{backdrop-filter:blur(10px) saturate(.65);-webkit-backdrop-filter:blur(10px) saturate(.65)}#banks .film-surface>.format-caption:before{backdrop-filter:blur(20px) saturate(.6);-webkit-backdrop-filter:blur(20px) saturate(.6)}}
@media(prefers-reduced-motion:reduce){#banks .optical-caustic g{animation:none}}

/* Seam repair: the caption is ink on the plate, never a rectangular panel. */
#banks .format-caption:before,#banks .film-surface>.format-caption:before{content:none;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
#banks .format-caption,#banks .film-surface>.format-caption{min-height:116px;padding:23px 12px 17px;background:none;box-shadow:none;border:0}
#banks .format-caption h3{margin:0 0 9px;line-height:1.15}
#banks .format-caption p{line-height:1.5;margin:0;max-width:none}
#banks .film-frost{top:calc(var(--media-height,80%) - 8px);left:-22px;right:-22px;bottom:-8px;background:none;backdrop-filter:blur(22px) saturate(.65);-webkit-backdrop-filter:blur(22px) saturate(.65);mask-image:linear-gradient(transparent,#000 15px,#000 60%,transparent 100%),linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(transparent,#000 15px,#000 60%,transparent 100%),linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-composite:source-in}
#banks .format-card:before{opacity:0}
#banks .optical-shadow{position:absolute;inset:-12%;width:124%;height:124%;z-index:-2;pointer-events:none;overflow:visible;opacity:.8;transform:translate(calc(var(--cast-x)*.15),calc(var(--cast-y)*.12))}
/* A layered luminance envelope follows a closed optical edge, with no loop seam. */
#banks .optical-edge-live{fill:none;stroke:#fff9e9;stroke-width:1.65;stroke-linecap:round;stroke-dasharray:var(--edge-span) calc(100 - var(--edge-span));stroke-dashoffset:var(--edge-offset);opacity:var(--edge-alpha);vector-effect:non-scaling-stroke;animation:finance-edge-travel 15s linear infinite;pointer-events:none}
#banks .format-card[data-format="1"] .optical-edge-live{animation-delay:-5s}
#banks .format-card[data-format="2"] .optical-edge-live{animation-delay:-10s}
@keyframes finance-edge-travel{from{stroke-dashoffset:var(--edge-offset)}to{stroke-dashoffset:calc(var(--edge-offset) - 100)}}
#banks .flight-world.is-paused .optical-edge-live{animation-play-state:paused}
@media(max-width:699px){#banks .format-caption,#banks .film-surface>.format-caption{min-height:112px;padding:20px 8px 16px}#banks .format-caption h3{margin-bottom:8px}#banks .film-frost{left:-14px;right:-14px;backdrop-filter:blur(16px) saturate(.65);-webkit-backdrop-filter:blur(16px) saturate(.65)}}
@media(prefers-reduced-motion:reduce){#banks .optical-edge-live{animation:none;opacity:var(--edge-alpha)}}
/* Keep the clear media on a native, opaque plane; blur only the continuation. */
#banks .film-surface>.format-media.film-video-art{overflow:hidden;background:#152225;isolation:isolate;perspective:none;box-shadow:0 0 0 1px #ffffff60}
#banks .film-video-art>.showcase-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 43%;border-radius:inherit;transform:none;mask:none!important;-webkit-mask:none!important;filter:none;backface-visibility:hidden}
#banks .film-frost{display:none}
#banks .media-continuation{position:absolute;z-index:1;pointer-events:none;overflow:hidden;background:none;mask-image:linear-gradient(#0008,#0006 28%,#0002 70%,transparent),linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(#0008,#0006 28%,#0002 70%,transparent),linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-composite:source-in}
#banks .video-continuation{top:var(--media-height);left:0;right:0;bottom:0}
#banks .video-continuation canvas{display:block;position:absolute;inset:-16px;width:calc(100% + 32px);height:calc(100% + 32px);filter:blur(20px) saturate(.65);pointer-events:none}
#banks .art-continuation{filter:blur(14px) saturate(.6)}
#banks .art-continuation .continuation-scene{position:absolute;top:0;left:0;aspect-ratio:auto!important;transform-origin:0 0;border-radius:0;box-shadow:none;pointer-events:none!important}
#banks .art-continuation *{pointer-events:none!important}
@media(max-width:699px){#banks .video-continuation canvas{filter:blur(15px) saturate(.65)}#banks .art-continuation{filter:blur(11px) saturate(.6)}}

#banks .continuation-background{position:absolute;inset:-20px;background-position:center bottom;background-size:100% 220%;pointer-events:none}
#banks .demo-cursor{left:0;top:0;transform:translate(-10.7%,-5.9%);will-change:left,top;transition:none!important}
#banks .repay-panel{overflow:hidden;padding-bottom:7%;justify-content:space-between}
#banks .repay-expanded .repay-panel{padding-bottom:7%}
