.as-showroom{position:relative;background:#080706;color:#f0e7da;isolation:isolate;scroll-margin-top:4rem;overflow:hidden}
.as-title{padding:2.3rem 1.25rem 1.8rem;text-align:center;background:linear-gradient(#100b08,#080706)}
.as-title>span{display:block;font-size:.64rem;letter-spacing:.25em;text-transform:uppercase;color:#c9ac83}
.as-title h2{font:400 clamp(2rem,4vw,3.6rem)/1.12 'Libre Caslon Display',Georgia,serif;margin:.6rem 0 .45rem}
.as-title p{font-size:.78rem;color:#c4b6a5;margin:0}
.as-stage{position:relative;height:clamp(36rem,82svh,52rem);overflow:hidden;touch-action:pan-y}
.as-room{position:absolute;top:0;left:0;height:100%;will-change:transform;transition:transform 850ms cubic-bezier(.22,.75,.18,1)}
.as-backdrop{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:fill;pointer-events:none;user-select:none}
.as-bottles,.as-labels{position:absolute;inset:0;transition:opacity .35s ease}
.as-changing .as-bottles,.as-changing .as-labels{opacity:0}
.as-bottle{position:absolute;left:var(--as-left);bottom:47.2%;width:16%;height:37%;transform:translateX(-50%);display:block;border-radius:.35rem;outline-offset:.45rem;z-index:2;opacity:1;transition:opacity .5s}
.as-bottle img{position:absolute;inset:0;height:100%;width:100%;min-width:0;min-height:0;max-width:none;object-fit:contain;object-position:center bottom;filter:brightness(.88) drop-shadow(0 .35rem .4rem #0008);transform-origin:50% 100%;transition:filter 650ms ease,transform 850ms cubic-bezier(.22,.75,.18,1);pointer-events:none;user-select:none}
.as-lit .as-bottle:not(.as-active) img{filter:brightness(.5) drop-shadow(0 .35rem .4rem #0008)}
.as-bottle.as-active img{filter:brightness(1) drop-shadow(0 0 .8rem #edf5ff35);transform:scale(1.025)}
.as-bottle:focus-visible{outline:1px solid #f1e5d3}
.as-no-image{font:400 1.2rem/1.2 Georgia,serif;text-align:center;padding:1rem;color:#cdb491}
.as-beam{position:absolute;left:var(--as-left);top:4.4%;bottom:47.2%;width:18%;transform:translateX(-50%);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);background:radial-gradient(ellipse at 50% 0%,#f8fbffbd,transparent 76%);opacity:0;transition:opacity 650ms ease;pointer-events:none;mix-blend-mode:screen;z-index:1}
.as-beam.as-active{opacity:1}
.as-plaque{position:absolute;left:var(--as-left);top:66.7%;width:20%;transform:translate(-50%,-50%);text-align:center;z-index:3;pointer-events:none;text-shadow:0 .15rem .8rem #000;color:#eee5d7;transition:opacity .5s}
.as-plaque small{display:block;font-size:.53rem;letter-spacing:.15em;text-transform:uppercase;color:#c4b39c}
.as-plaque span{display:block;font:400 clamp(.78rem,1.2vw,1.1rem)/1.2 'Libre Caslon Display',Georgia,serif;margin:.25rem 0 .4rem}
.as-plaque strong{display:block;font:400 clamp(1.1rem,2.2vw,2rem)/1 'Libre Caslon Display',Georgia,serif;white-space:nowrap}
.as-controls{position:absolute;left:50%;bottom:3%;transform:translateX(-50%);display:flex;align-items:center;gap:1rem;padding:.25rem .5rem;border:1px solid #e2cba124;border-radius:2rem;background:#100b087a;backdrop-filter:blur(10px);z-index:5}
.as-controls button{display:grid;place-items:center;width:2.75rem;height:2.75rem;min-height:2.75rem;border:0;background:none;color:#f3e5ce;cursor:pointer;font-size:1.1rem;border-radius:50%;transition:background .3s}
.as-controls button:hover{background:#ffffff12}.as-controls button:disabled{opacity:.28;cursor:default}
.as-counter{min-width:3rem;text-align:center;font-size:.66rem;letter-spacing:.1em;font-variant-numeric:tabular-nums}
.as-compact .as-bottle:not(.as-current),.as-compact .as-plaque:not(.as-current){opacity:0;pointer-events:none}
.as-compact .as-plaque{top:68.5%;width:22%}.as-compact .as-plaque span{font-size:1.15rem}.as-compact .as-plaque strong{font-size:1.1rem}
.as-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
@media(min-width:900px){.as-stage{height:auto;aspect-ratio:16/9}.as-title{padding:2.8rem 1.5rem 2.2rem}.as-controls{bottom:6%;gap:1.2rem}}
@media(prefers-reduced-motion:reduce){.as-room,.as-bottle img,.as-beam,.as-bottles,.as-labels{transition:none!important;will-change:auto}}
