/* Original GetOdds architecture illustration. All rules are scoped to this section. */
.infrastructure{--infra-cream:#f2f2f2;--infra-gold:#ff7a1a;--infra-muted:#999999;position:relative;background:#0b0b0b;color:var(--infra-cream);min-height:860px;margin:60px 0;isolation:isolate}
.infrastructure.infra-enhanced{height:185svh;min-height:1160px}
.infra-sticky{max-width:1280px;margin:0 auto;padding:65px 40px 28px}
.infra-enhanced .infra-sticky{position:sticky;top:0;min-height:min(860px,100svh)}
.infra-intro{display:grid;grid-template-columns:1fr 320px;align-items:end;gap:12px 40px;position:relative;z-index:1}
.infra-eyebrow{font:9px var(--sans,Arial,sans-serif);letter-spacing:1.45px;line-height:1.5;color:var(--infra-muted)}
.infra-intro>.infra-eyebrow{grid-column:1/-1}
.infra-intro h2{font:48px/1.05 var(--serif,Georgia,serif);font-weight:400;letter-spacing:-1px;margin:0}
.infra-intro>p:last-child{font:12px/1.8 var(--sans,Arial,sans-serif);color:var(--infra-muted);margin:0 0 3px}
.infra-layout{display:grid;grid-template-columns:minmax(230px,1fr) minmax(340px,1.55fr) minmax(150px,.65fr);gap:16px;align-items:center;margin-top:8px}
.infra-steps{position:relative;z-index:2;padding:8px 0;min-height:265px;display:flex;flex-direction:column;justify-content:center;max-width:305px}
.infra-step{padding:16px 0;border-bottom:1px solid #f2f2f217}
.infra-step:last-child{border-bottom:0}
.infra-step h3{margin:0;font:13px var(--sans,Arial,sans-serif)}
.infra-step button{border:0;background:none;padding:0;display:flex;align-items:center;gap:13px;text-align:left;width:100%;font:13px/1.5 var(--sans,Arial,sans-serif);color:#999999;min-height:30px;cursor:pointer;transition:color 180ms ease-out}
.infra-step button svg{width:15px;height:15px;flex-shrink:0;margin-left:auto;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transition:transform 180ms ease-out}
.infra-step button[aria-expanded=true]{color:var(--infra-cream)}
.infra-step button[aria-expanded=true] svg{transform:rotate(180deg)}
.infra-step-index{font:9px monospace;color:#888888;position:relative}
.infra-step.is-active .infra-step-index{color:var(--infra-gold)}
.infra-step.is-active .infra-step-index:before{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:var(--infra-gold);left:-10px;top:4px}
.infra-step-copy{padding:9px 18px 5px 29px}
.infra-step-copy p{font:11px/1.8 var(--sans,Arial,sans-serif);color:var(--infra-muted);margin:0;max-width:245px}
.infra-step-copy>span{display:block;font:6px/1.8 var(--sans,Arial,sans-serif);letter-spacing:.65px;color:#a3a3a3;margin-top:17px}
.infra-step-copy[hidden]{display:none}
.infra-visual{position:relative;margin:0;min-width:0}
.infra-tower{width:100%;height:auto;max-height:540px;display:block;overflow:visible;transform:translateY(var(--infra-drift,0px));will-change:transform}
.infra-ground{fill:#000;opacity:.7}
.infra-block-top{fill:url(#infra-top-fill);stroke:#f2f2f23c;stroke-width:.85}
.infra-block-left{fill:url(#infra-left-fill)}
.infra-block-right{fill:url(#infra-right-fill)}
.infra-block-side{stroke:#f2f2f22b;stroke-width:.8}
.infra-top-inset{fill:none;stroke:#f2f2f213;stroke-width:.75}
.infra-face-seam{fill:none;stroke:#f2f2f218;stroke-width:.7}
.infra-slots{fill:none;stroke:#f2f2f21c;stroke-width:2;stroke-linecap:round}
.infra-bar-track{stroke:#f2f2f222;stroke-width:4;fill:none;stroke-linecap:round}
.infra-bar,.infra-bar-glow{stroke:var(--infra-gold);stroke-width:4;fill:none;stroke-linecap:round;opacity:0;transition:opacity 450ms ease-out}
.infra-bar-glow{stroke-width:12;filter:url(#infra-glow)}
.infra-lights{fill:#999999;opacity:.3;transition:opacity 300ms ease-out}
.infra-block-number{fill:#888888;font:7px var(--sans,Arial,sans-serif);letter-spacing:1.2px}
.infra-top-circuit{fill:none;stroke:#f2f2f22b;stroke-width:.85;transition:opacity 400ms ease-out;opacity:.4}
.infra-top-circuit circle{fill:#151515}
.infra-links{stroke:#ff7a1a33;fill:none;stroke-width:.8;stroke-dasharray:2 6}
.infra-travel{stroke:var(--infra-gold);stroke-width:1.4;stroke-dasharray:8 180;animation:infra-flow 5s linear infinite;opacity:.65}
@keyframes infra-flow{to{stroke-dashoffset:-188}}
.infra-slab{transition:opacity 450ms ease-out;opacity:.64}
.infrastructure[data-infra-step="0"] .infra-slab-0,.infrastructure[data-infra-step="1"] .infra-slab-1,.infrastructure[data-infra-step="2"] .infra-slab-2{opacity:1}
.infrastructure[data-infra-step="0"] .infra-slab-0 .infra-bar,.infrastructure[data-infra-step="1"] .infra-slab-1 .infra-bar,.infrastructure[data-infra-step="2"] .infra-slab-2 .infra-bar{opacity:1;stroke-dasharray:100 0}
.infrastructure[data-infra-step="0"] .infra-slab-0 .infra-bar-glow,.infrastructure[data-infra-step="1"] .infra-slab-1 .infra-bar-glow,.infrastructure[data-infra-step="2"] .infra-slab-2 .infra-bar-glow{opacity:.32}
.infrastructure[data-infra-step="0"] .infra-slab-0 .infra-lights,.infrastructure[data-infra-step="1"] .infra-slab-1 .infra-lights,.infrastructure[data-infra-step="2"] .infra-slab-2 .infra-lights{opacity:1;fill:var(--infra-gold)}
.infrastructure[data-infra-step="0"] .infra-slab-0 .infra-top-circuit,.infrastructure[data-infra-step="1"] .infra-slab-1 .infra-top-circuit,.infrastructure[data-infra-step="2"] .infra-slab-2 .infra-top-circuit{opacity:1}
.infra-visual figcaption{font:6px var(--sans,Arial,sans-serif);letter-spacing:1px;text-align:center;color:#a3a3a3;white-space:nowrap;margin:-7px 0 0;position:relative}
.infra-visual figcaption>span:last-child{color:#777777;margin-left:6px}
.infra-diagram-dot{display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--infra-gold);margin-right:8px;vertical-align:middle}
.infra-callout{position:relative;padding-top:10px;max-width:190px;margin-top:var(--infra-callout-y,145px);transition:margin-top 550ms cubic-bezier(.22,1,.36,1)}
.infra-callout-line{position:absolute;right:calc(100% + 15px);top:20px;width:48px;height:1px;background:#ff7a1a55}
.infra-callout-line span{position:absolute;width:4px;height:4px;border:1px solid var(--infra-gold);border-radius:50%;left:0;top:-1.5px;background:#0b0b0b}
.infra-callout .infra-eyebrow{font-size:7px;color:var(--infra-gold);letter-spacing:1px}
.infra-callout h3{font:27px/1.08 var(--serif,Georgia,serif);font-weight:400;margin:13px 0 12px;letter-spacing:-.4px}
.infra-callout>p:last-of-type{font:10px/1.75 var(--sans,Arial,sans-serif);color:var(--infra-muted);margin:0;max-width:155px}
.infra-mini-flow{display:flex;align-items:center;gap:4px;margin-top:22px;opacity:.6}
.infra-mini-flow i{display:block;width:7px;height:13px;border:1px solid #ff7a1a77;border-radius:1px;transform:skewY(-25deg)}
.infra-mini-flow span{height:1px;width:22px;background:#ff7a1a77;margin:0 4px}
.infra-mini-flow b{width:15px;height:15px;border:1px solid var(--infra-gold);border-radius:3px;transform:rotate(-15deg)}
.infra-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px}
.infra-scroll-hint{font:7px var(--sans,Arial,sans-serif);letter-spacing:1.2px;color:#929292}
.infra-controls{display:flex;align-items:center;gap:11px}
.infra-controls button{border:1px solid #f2f2f228;background:#f2f2f204;width:30px;height:30px;border-radius:50%;padding:6px;color:var(--infra-cream);display:grid;place-items:center;cursor:pointer;transition:background 160ms ease-out}
.infra-controls button:disabled{opacity:.25;cursor:default}
.infra-controls button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.infra-controls .infra-motion{border:0;margin-left:6px;color:var(--infra-muted)}
.infra-current{font:9px monospace;font-variant-numeric:tabular-nums;letter-spacing:1px}
.infra-current>span{color:#777777;margin-left:4px}
.infrastructure button:focus-visible{outline:1px solid var(--infra-gold);outline-offset:5px}
.infrastructure.infra-paused .infra-travel{animation-play-state:paused}
.infrastructure.infra-keyboard *{transition:none!important}
@media(hover:hover){.infra-step button:hover{color:var(--infra-cream)}.infra-controls button:not(:disabled):hover{background:#f2f2f215}}
@media(min-width:961px) and (max-height:800px){.infra-sticky{padding-top:40px}.infra-intro h2{font-size:40px}.infra-layout{grid-template-columns:minmax(230px,1fr) minmax(300px,1.35fr) minmax(150px,.65fr);max-width:1100px;margin-left:auto;margin-right:auto}.infra-tower{max-height:480px}.infra-enhanced .infra-sticky{min-height:0}.infra-bottom{margin-top:8px}}
@media(max-width:960px){.infra-sticky{padding:50px 26px 25px}.infra-intro{grid-template-columns:1fr 250px;gap:13px 30px}.infra-intro h2{font-size:42px}.infra-layout{grid-template-columns:230px 1fr;gap:5px;margin-top:25px}.infra-callout{display:none}.infra-tower{max-height:510px}.infra-step button{font-size:12px}.infra-step-copy p{font-size:10px}.infra-visual figcaption{font-size:5px;letter-spacing:.6px}.infra-enhanced .infra-sticky{min-height:0}}
@media(max-width:640px){.infrastructure,.infrastructure.infra-enhanced{height:auto;min-height:0;margin:35px 0}.infra-enhanced .infra-sticky{position:relative;top:auto;min-height:0}.infra-sticky{padding:38px 22px 25px}.infra-intro{display:block}.infra-intro>.infra-eyebrow{font-size:6px;letter-spacing:.9px;margin-bottom:15px}.infra-intro h2{font-size:37px;letter-spacing:-.7px}.infra-intro>p:last-child{font-size:11px;margin-top:16px}.infra-layout{display:flex;flex-direction:column;gap:8px;margin-top:12px}.infra-visual{order:0;width:min(100%,350px)}.infra-tower{max-height:385px}.infra-steps{order:1;width:100%;max-width:none;min-height:0;margin-top:17px}.infra-step{padding:11px 0}.infra-step button{font-size:12px;min-height:32px}.infra-step-copy p{font-size:11px;max-width:290px}.infra-step-copy>span{font-size:6px;margin-top:10px}.infra-visual figcaption{font-size:5px;margin-top:0}.infra-bottom{margin-top:21px}.infra-scroll-hint{font-size:6px;max-width:105px;line-height:1.7}.infra-current{font-size:8px}.infra-controls{gap:8px}}
@media(prefers-reduced-motion:reduce){.infra-travel{animation:none}.infra-slab,.infra-bar,.infra-bar-glow,.infra-lights,.infra-callout,.infra-step button svg{transition:none}.infra-tower{transform:none!important;will-change:auto}.infrastructure.infra-enhanced{height:auto;min-height:0}.infra-enhanced .infra-sticky{position:relative}}
/* Ribbed, softly rounded enclosures with discrete vertical status windows. */
.infra-tower{max-height:570px}.infra-slab{opacity:.48;transition:opacity 450ms cubic-bezier(.23,1,.32,1)}.infra-enclosure{fill:#101010}.infra-enclosure-outline{fill:none;stroke:#f2f2f2;stroke-opacity:.45;stroke-width:1}.infra-ribs{fill:none;stroke:#f2f2f2;stroke-opacity:.19;stroke-width:.8}.infra-lid{fill:#141414;stroke:#f2f2f2;stroke-opacity:.55;stroke-width:1}.infra-fastener{fill:#303030}.infra-indicator{fill:#111111;stroke:#f2f2f2;stroke-opacity:.28;stroke-width:.8;transition:fill 350ms ease,stroke-opacity 350ms ease}.infrastructure[data-infra-step="0"] .infra-slab-0 .infra-indicator,.infrastructure[data-infra-step="1"] .infra-slab-1 .infra-indicator,.infrastructure[data-infra-step="2"] .infra-slab-2 .infra-indicator{fill:#f2f2f2;stroke-opacity:1}.infra-visual figcaption{margin-top:8px}
@media(min-width:961px) and (max-height:800px){.infra-tower{max-height:480px}}
@media(max-width:640px){.infra-tower{max-height:430px}}
@media(prefers-reduced-motion:reduce){.infra-slab,.infra-indicator{transition:none}}
/* Stronger silhouette, restrained rib contrast and softer status windows. */
.infra-lid{fill:#181818;stroke-opacity:.65;stroke-width:1.1}.infra-enclosure{fill:#101010}.infra-enclosure-outline{stroke-opacity:.5;stroke-width:1.1}.infra-ribs{stroke-opacity:.16;stroke-width:.7}.infra-fastener{fill:#343434}.infra-indicator{stroke-linejoin:round}.infra-slab{opacity:.58}
.infra-callout{background:var(--card-surface,#111111);border:0;border-radius:var(--card-radius,12px);padding:24px;max-width:230px;box-shadow:none}.infra-callout-line{top:34px}
/* Keep source records legible beside the animated stack. */
.infra-layout{grid-template-columns:minmax(210px,.9fr) minmax(240px,1.05fr) minmax(300px,1.05fr);gap:25px}.infra-callout{margin-top:0;max-width:none;min-width:0;padding:24px}.infra-callout h3{font-size:25px}.infra-callout-line{display:none}.infra-callout>p:last-of-type{max-width:none}.infra-callout .detail-code pre{max-height:190px;font-size:9px}.infra-tower{max-height:520px}
@media(min-width:961px) and (max-height:800px){.infra-layout{grid-template-columns:minmax(210px,.9fr) minmax(230px,1fr) minmax(290px,1.1fr);max-width:none}.infra-tower{max-height:430px}.infra-callout .detail-code pre{max-height:125px}.infra-callout{padding:18px}.infra-callout h3{font-size:22px;margin:9px 0}.coverage-chart{margin-top:15px}}
@media(max-width:960px){.infra-layout{grid-template-columns:220px minmax(0,1fr)}.infra-callout{display:block;grid-column:1/-1;width:100%}.infrastructure.infra-enhanced{height:auto;min-height:0}.infra-enhanced .infra-sticky{position:relative}.infra-data-panels .detail-code pre{max-height:220px}.infra-tower{max-height:400px}}
@media(max-width:640px){.infra-layout{display:flex}.infra-callout{order:2;margin-top:20px}.infra-tower{max-height:340px}}
