.ring-vault{--ink:#100b09;--panel:#141411;--wine:#281315;--gold:#c2a56d;--gold-light:#e3cf9b;--paper:#f2eee4;--muted:#b2ada1;--rule:#37342b;color:var(--paper);background:#0c0c0b;overflow:hidden}.ring-vault *{box-sizing:border-box}.ring-vault button{font:inherit}.ring-vault button:focus-visible,.ring-vault a:focus-visible,.ring-vault .scene:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}.ring-vault .eyebrow{color:var(--gold);letter-spacing:.2em;text-transform:uppercase;font-size:12px;font-weight:700}.ring-vault h2,.ring-vault h3{font-family:Georgia,serif;font-weight:400}.ring-vault .series-nav{ display:flex; gap:8px; max-width:1280px; margin:0 auto 34px; padding:0 20px 8px; overflow-x:auto; scrollbar-color:var(--gold) var(--ink); }
.ring-vault .series-nav a{ flex:none; display:block; min-height:44px; padding:10px 13px; border:1px solid var(--rule); color:var(--gold-light); text-decoration:none; font-size:12px; letter-spacing:.04em; white-space:nowrap; }
.ring-vault .series-nav a:hover{ border-color:var(--gold); background:#261916; }
.ring-vault .series-section{ scroll-margin-top:18px; position:relative; padding:54px 18px 88px; border-top:1px solid var(--rule); background:radial-gradient(ellipse 60% 38% at 50% 45%, #271518 0, #151111 50%, #0c0c0b 95%); }
.ring-vault .series-section:nth-child(even){ background:radial-gradient(ellipse 60% 38% at 50% 45%, #251b17 0, #151210 50%, #0c0c0b 95%); }
.ring-vault .section-head{ max-width:1100px; margin:auto; display:flex; justify-content:space-between; align-items:end; gap:20px; }
.ring-vault .section-head .eyebrow{ margin:0 0 8px; }
.ring-vault .section-head h2{ margin:0; font-size:clamp(36px,4.6vw,64px); line-height:1.05; letter-spacing:-.035em; }
.ring-vault .section-count{ margin:0 0 7px; color:var(--gold); font-size:12px; letter-spacing:.13em; text-align:right; text-transform:uppercase; white-space:nowrap; }
.ring-vault .section-note{ max-width:1100px; margin:10px auto 24px; color:var(--muted); font-size:13px; }
.ring-vault .gallery{ max-width:1920px; margin:auto; }
.ring-vault .gallery-topline{ display:flex; justify-content:space-between; max-width:1280px; margin:auto; border-top:1px solid var(--rule); padding-top:12px; color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.18em; }
.ring-vault .scene{ position:relative; width:50%; margin-inline:auto; height:clamp(155px,23.5vw,335px); overflow:hidden; perspective:var(--perspective,5000px); perspective-origin:50% 48%; touch-action:pan-y; cursor:grab; user-select:none; -webkit-user-select:none; }
.ring-vault .scene.is-dragging{ cursor:grabbing; }
.ring-vault .scene::before{ content:""; position:absolute; inset:7% 0 0; background:radial-gradient(ellipse 52% 70% at 50% 44%, #4a1b20 0%, #271518 28%, transparent 75%); pointer-events:none; }
.ring-vault .scene::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,#0c0c0bea,transparent 9%,transparent 91%,#0c0c0bea); pointer-events:none; }
.ring-vault .ring{ position:absolute; inset:0; transform-style:preserve-3d; transform:rotateY(0deg); transition:transform 460ms cubic-bezier(.18,.72,.14,1); }
.ring-vault .ring.is-dragging{ transition:none; }
.ring-vault .card{ position:absolute; left:50%; top:50%; display:block; width:var(--card-width); aspect-ratio:1.25; margin:0; padding:0; border:1px solid #92764a; border-radius:2px; background:#100d0c; box-shadow:0 3px 0 #392a1a,0 6px 0 #130f0e,0 22px 42px #000a; transform-style:preserve-3d; backface-visibility:hidden; overflow:hidden; cursor:pointer; transform:translate(-50%,-50%) rotateY(var(--angle)) translateZ(var(--radius)); transition:opacity 200ms,box-shadow 200ms; }
.ring-vault .card::after{ content:""; position:absolute; inset:0; border:1px solid #e3cf9b50; box-shadow:inset 0 0 18px #dfbb6340; pointer-events:none; }
.ring-vault .card[data-selected="true"]{ box-shadow:0 3px 0 #685032,0 6px 0 #1c1510,0 0 28px #c2a56d29,0 34px 55px #000c; }
.ring-vault .card[data-visible="true"]:not([data-selected="true"]){ opacity:.56; }
.ring-vault .card[data-visible="false"]{ opacity:0; pointer-events:none; }
.ring-vault .card img{ display:block; width:100%; height:100%; object-fit:contain; pointer-events:none; }
.ring-vault .card-fallback{ position:absolute; inset:0; display:none; align-items:center; justify-content:center; padding:20px; color:var(--gold-light); text-align:center; background:#17120f; font:25px Georgia,serif; }
.ring-vault .card[data-broken="true"] .card-fallback{ display:flex; }
.ring-vault .card[data-broken="true"] img{ display:none; }
.ring-vault .floor{ position:absolute; left:50%; bottom:3%; width:min(475px,45vw); height:23px; transform:translateX(-50%); border-radius:50%; background:radial-gradient(ellipse,#bc9a6c26,transparent 72%); filter:blur(8px); pointer-events:none; }
.ring-vault .controls{ display:flex; justify-content:space-between; align-items:center; gap:12px; max-width:450px; margin:-2px auto 0; }
.ring-vault .nav-button,.ring-vault .inspect-button,.ring-vault .close-button{ min-height:46px; min-width:46px; border:1px solid var(--gold); background:#1a1713; color:var(--gold-light); cursor:pointer; }
.ring-vault .nav-button{ padding:8px 16px; }
.ring-vault .nav-button:hover,.ring-vault .inspect-button:hover,.ring-vault .close-button:hover{ background:#302319; }
.ring-vault .nav-button:disabled{ opacity:.4; cursor:not-allowed; }
.ring-vault .interaction-hint{ margin:0; color:var(--muted); font-size:12px; letter-spacing:.12em; text-transform:uppercase; text-align:center; }
.ring-vault .selected{ max-width:950px; min-height:156px; margin:28px auto 0; padding:20px 0 0; border-top:1px solid var(--rule); display:grid; grid-template-columns:minmax(180px,1fr) minmax(270px,1.5fr); gap:28px; }
.ring-vault .selected-kicker{ margin:0; color:var(--gold); font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.ring-vault .selected h3{ margin:3px 0 4px; font-size:clamp(32px,4vw,48px); line-height:1.1; }
.ring-vault .selected-sub{ margin:0 0 14px; color:var(--muted); }
.ring-vault .inspect-button{ padding:8px 18px; background:var(--gold); color:var(--ink); font-weight:700; }
.ring-vault .stats{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 20px; margin:0; }
.ring-vault .stats div{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; border-bottom:1px solid var(--rule); padding:3px 0; }
.ring-vault .stats dt{ color:var(--muted); font-size:13px; }
.ring-vault .stats dd{ margin:0; color:var(--gold-light); font-weight:700; font-variant-numeric:tabular-nums; }
.ring-vault .stats-unavailable{ align-self:center; color:var(--muted); }
.ring-vault .closing-note{ max-width:950px; margin:38px auto 70px; padding:0 18px; color:var(--muted); font-size:13px; text-align:center; }
.ring-vault dialog{ max-width:min(96vw,1050px); max-height:96vh; padding:18px; border:1px solid var(--gold); background:#100d0c; color:var(--paper); box-shadow:0 30px 100px #000; }
.ring-vault dialog::backdrop{ background:#050505e8; }
.ring-vault .dialog-head{ display:flex; justify-content:space-between; gap:20px; align-items:start; }
.ring-vault .dialog-head h2{ margin:0 0 10px; font-size:34px; }
.ring-vault .dialog-head .eyebrow{ margin:0; }
.ring-vault .close-button{ font-size:30px; line-height:1; }
.ring-vault dialog img{ display:block; max-width:100%; max-height:72vh; margin:auto; object-fit:contain; }
.ring-vault dialog p:last-child{ color:var(--muted); font-size:12px; }
@media (max-width:700px){.ring-vault .masthead{ padding:12px 16px; gap:8px; }
.ring-vault .crest{ width:43px; height:43px; }
.ring-vault .brand{ font-size:18px; }
.ring-vault .brand-sub{ font-size:9px; letter-spacing:.03em; }
.ring-vault .prototype-stamp{ display:none; }
.ring-vault .intro{ padding:36px 16px 26px; }
.ring-vault .intro>p:last-child{ font-size:14px; }
.ring-vault .series-nav{ margin-bottom:12px; }
.ring-vault .series-section{ padding:38px 10px 56px; }
.ring-vault .section-head{ display:block; }
.ring-vault .section-head h2{ font-size:38px; }
.ring-vault .section-count{ text-align:left; margin:12px 0 0; }
.ring-vault .section-note{ font-size:12px; }
.ring-vault .scene{ height:clamp(140px,39vw,215px); }
.ring-vault .scene::after{ background:none; }
.ring-vault .controls{ margin-top:0; }
.ring-vault .nav-button{ padding:6px 9px; }
.ring-vault .nav-button span{ display:none; }
.ring-vault .interaction-hint{ font-size:10px; letter-spacing:.03em; }
.ring-vault .selected{ margin-top:22px; padding-top:14px; grid-template-columns:1fr; gap:13px; }
.ring-vault .stats{ gap:5px 12px; }
.ring-vault .stats dt{ font-size:12px; }}
@media (max-width:360px){.ring-vault .scene{ height:140px; }
.ring-vault .stats dt{ font-size:11px; }}
@media (prefers-reduced-motion:reduce){.ring-vault html{ scroll-behavior:auto; }
.ring-vault .ring,.ring-vault .card{ transition:none !important; }}
@supports not (transform-style:preserve-3d){.ring-vault .ring{ transform:none !important; }
.ring-vault .card{ transform:translate(-50%,-50%) !important; }
.ring-vault .card:not([data-selected="true"]){ opacity:0; pointer-events:none; }}
.ring-vault .series-section{padding-inline:clamp(12px,3vw,40px)}
.ring-vault .series-nav{padding-top:30px}
.ring-vault .closing-note{margin-bottom:0;padding-bottom:40px}