/* Vector/CSS artwork, served locally; no external images or animation library. */
.problem{background:#0c1423;color:#edf3ff;position:relative;overflow:hidden;text-align:left}
.problem::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 10% 0%,#22406755,transparent 55%),radial-gradient(ellipse at 100% 90%,#1a57402b,transparent 45%)}
.problem .container{position:relative;max-width:1160px}
.variance-heading{text-align:center;max-width:700px;margin:0 auto 42px}
.problem .eyebrow{background:#223451;color:#a6c8ff;border:1px solid #385174}
.problem h2{font-size:clamp(2rem,4.5vw,3.3rem);line-height:1.12;color:#f4f7ff;margin-top:18px;letter-spacing:-.04em}
.variance-scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.vscene{min-width:0;border:1px solid #344156;border-radius:22px;background:linear-gradient(145deg,#1b293b,#101a2a);padding:24px;position:relative;overflow:hidden;transition:border-color .2s,transform .2s}
.vscene:hover{border-color:#7399d2;transform:translateY(-4px)}
.vscene-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.16em;font-weight:700;color:#abbdd7}
.v-dot{width:6px;height:6px;border-radius:50%;background:#e6a884;box-shadow:0 0 12px #e6a88455}
.vscene h3{color:#f5f7ff;font-size:1.2rem;line-height:1.35;margin:0 0 8px;letter-spacing:-.02em}
.vscene p{color:#b5c3d8;font-size:1rem;line-height:1.6;margin:0}
.v-art{height:180px;position:relative;display:flex;align-items:center;justify-content:center;margin:12px -10px 18px}
.v-card{background:#f6f5f0;border-radius:7px;box-shadow:0 6px 20px #0004;color:#172339;display:flex;flex-direction:column;justify-content:space-between;font-style:normal;font-weight:800;line-height:1;padding:10px;width:45px;height:68px;font-size:20px;border:1px solid #fff9}
.v-card span{align-self:flex-end;font-size:24px}.v-card.red{color:#c94256}
.v-board{display:flex;gap:5px;z-index:1;transform:rotate(-6deg)}
.v-last{transform:translateY(-10px) rotate(9deg);box-shadow:0 0 24px #f3948344}
.v-river-label{position:absolute;bottom:10px;right:22px;font-size:9px;color:#f5b99b;letter-spacing:.22em}
.v-ring{position:absolute;width:220px;height:110px;border:1px solid #ffffff10;border-radius:50%;transform:rotate(-12deg)}
.v-ace{width:74px;height:108px;font-size:30px;position:absolute;top:28px;left:calc(50% - 62px);transform:rotate(-15deg)}
.v-ace span{font-size:38px}.v-ace+.v-ace{left:calc(50% - 7px);top:34px;transform:rotate(13deg)}
.v-orbit{position:absolute;bottom:2px;right:12px;font-size:13px;letter-spacing:.04em;background:#2e2736;color:#ffc8b2;border:1px solid #6c4b54;padding:6px 12px;border-radius:30px;transform:rotate(-5deg)}
.v-tilt{flex-direction:column;gap:16px}.v-tilt svg{width:100%;max-width:280px;height:110px;overflow:visible}
.v-grid{stroke:#ffffff0d;stroke-width:1}.v-trace{stroke:#7ce3c1;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.v-reset{display:flex;gap:16px;align-items:center;font-size:11px;letter-spacing:.08em}.v-reset span{color:#eeb295}.v-reset b{color:#6f849f}.v-reset strong{color:#96ebcd}
.variance-perspective{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:56px 8px 44px}
.v-kicker{font-size:11px;letter-spacing:.18em;font-weight:700;color:#b3c9ec;display:flex;align-items:center;gap:10px}
.v-kicker::before{content:"";width:22px;height:2px;background:currentColor}.variance-principle:nth-child(2) .v-kicker{color:#83ddbd}
.variance-principle h3{font-size:clamp(1.3rem,2.5vw,1.75rem);line-height:1.35;letter-spacing:-.025em;color:#f1f5fc;margin:16px 0}
.variance-principle p{font-size:1rem;line-height:1.8;color:#b5c3d8;margin:0}
.variance-plan{display:flex;align-items:center;gap:24px;padding:28px;border:1px solid #3d5968;border-radius:20px;background:linear-gradient(120deg,#213950,#172d30)}
.v-plan-symbol{font-size:36px;color:#a6ead1;border:1px solid #6ca68b55;border-radius:16px;min-width:64px;height:68px;display:grid;place-items:center}
.variance-plan h3{color:#f4f8ff;font-size:1.3rem;line-height:1.35;margin:0 0 6px}.variance-plan p{color:#bdd1df;margin:0;font-size:.95rem}
.variance-plan .btn{margin-left:auto;flex-shrink:0;background:#a4edcf;color:#102a23;box-shadow:none;white-space:normal;text-align:center;gap:12px}
.problem.is-visible .v-last{animation:river-deal 1.1s ease-out both}.problem.is-visible .v-ace{animation:aces-arrive .85s ease-out both}.problem.is-visible .v-ace+.v-ace{animation-delay:.18s}.problem.is-visible .v-trace{stroke-dasharray:430;animation:plan-line 1.8s ease-out both}
@keyframes river-deal{from{opacity:0;transform:translate(25px,-25px) rotate(25deg)}to{opacity:1;transform:translateY(-10px) rotate(9deg)}}
@keyframes aces-arrive{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes plan-line{from{stroke-dashoffset:430}to{stroke-dashoffset:0}}
@media(max-width:850px){.variance-scenes{gap:12px}.vscene{padding:18px}.variance-perspective{gap:32px}.variance-plan{flex-wrap:wrap}.variance-plan .btn{margin-left:88px}.v-card{width:36px;height:58px;padding:7px;font-size:18px}.v-card span{font-size:20px}.v-ace{width:68px;height:102px;font-size:30px}.v-ace span{font-size:36px}}
@media(max-width:620px){.variance-scenes{grid-template-columns:1fr}.vscene{padding:22px}.v-art{height:145px;margin:8px 0 16px}.v-card{width:43px;height:65px}.v-ace{width:68px;height:100px;top:12px}.v-ace+.v-ace{top:18px}.variance-perspective{grid-template-columns:1fr;padding:36px 2px;gap:32px}.variance-heading{margin-bottom:28px}.variance-plan{padding:24px;gap:18px}.v-plan-symbol{display:none}.variance-plan .btn{margin:4px 0 0;width:100%}.v-river-label{bottom:0}.vscene:hover{transform:none}}
@media(prefers-reduced-motion:reduce){#variance *,#variance *::before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
