.hero-right{align-self:center;min-width:0}.ring-frame{height:650px;min-height:0;max-width:820px;display:flex;flex-direction:column;isolation:isolate}.product-eyebrow{display:flex;justify-content:space-between;gap:16px;color:#737579;font:9px var(--mono,monospace);letter-spacing:.14em;padding:0 12px}.product-eyebrow span:last-child{font-size:8px;text-align:right}.product-viewport{position:relative;flex:1;min-height:0;margin-top:8px}#ring-canvas{cursor:pointer;touch-action:pan-y}#ring-canvas.inspecting{cursor:grab}#ring-canvas.inspecting:active{cursor:grabbing}#product-poster{position:absolute;width:100%;height:100%;object-fit:contain;pointer-events:none}#product-loading{position:absolute;inset:0;display:grid;place-items:center;font:11px var(--mono,monospace);color:#a9acb0;pointer-events:none}.product-caption{text-align:center;display:flex;flex-direction:column;gap:10px;padding:8px 0 20px}#product-title{font:normal 27px var(--serif,Georgia,serif);color:#e8e7e5}#product-detail{font:9px var(--mono,monospace);letter-spacing:.16em;text-transform:uppercase;color:#85878d}.product-controls{min-height:103px;display:flex;align-items:center;flex-direction:column;gap:12px}.product-controls button{cursor:pointer;font:10px var(--mono,monospace);color:#c9cace;background:transparent;border:1px solid #38393c;border-radius:30px;padding:11px 14px;transition:background .2s,color .2s,border-color .2s}.product-controls button[aria-pressed=true]{background:#e6e7e9;color:#17181a;border-color:#e6e7e9}.product-controls button{-webkit-tap-highlight-color:transparent}.product-controls button:focus{outline:none}.product-controls button:focus-visible{outline:none;box-shadow:0 0 0 3px #000,0 0 0 5px #fff}.product-controls button:disabled{opacity:.45;cursor:wait}#product-open{min-width:190px;padding:14px 20px;text-align:left;background:#e6e7e9;color:#1c1d20;border-color:#e6e7e9}#product-open span{float:right}#product-options{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}#inspection-controls{display:flex;gap:7px;align-items:center;font:9px var(--mono,monospace);color:#85878d}#inspection-controls button{padding:6px 10px;border-color:#292b2e}#inspection-controls span{margin-right:8px}.ring-frame [hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1050px){.hero{grid-template-columns:1fr 1.15fr;gap:12px}.ring-frame{width:calc(100% + 30px);margin-left:-15px}}
@media(max-width:900px){.ring-frame{height:610px;max-width:650px}.hero-right{min-height:0}.product-eyebrow{padding:0}}
@media(max-width:500px){.ring-frame{height:500px}.product-eyebrow{font-size:7px;letter-spacing:.07em}.product-eyebrow span:last-child{font-size:7px}#product-title{font-size:23px}.product-controls button{font-size:9px;padding:10px 11px}.product-controls{min-height:112px}.product-caption{padding-bottom:18px}}
@media(prefers-reduced-motion:reduce){.product-controls button{transition:none}}

section.ring-frame{padding:0;border:0;background:none;overflow:visible}#ring-canvas{mask-image:radial-gradient(ellipse at center,black 48%,transparent 75%)}
@media(min-width:901px){.hero-right{align-self:start;padding-top:30px}.ring-frame{height:560px}}
section.ring-frame{max-height:none}#product-poster{mask-image:radial-gradient(ellipse at center,black 48%,transparent 75%)}

#ring-canvas,#product-poster{mask-image:none}
/* Requested revision: no white spotlight or halo behind the product. */
.hero{background:#050505}
/* Product-only presentation with accessible icon controls. */
.product-caption,.product-eyebrow,#inspection-controls>span{display:none!important}
.product-viewport{margin-top:0;background:transparent;border:0;overflow:visible}
.product-controls{min-height:60px;flex-direction:row;justify-content:center;flex-wrap:wrap;gap:8px}
.product-controls button,#product-open,#inspection-controls button{width:36px;min-width:36px;height:36px;padding:0;display:inline-grid;place-items:center;font:20px Arial,sans-serif;border-color:#333;background:transparent;color:#dedede}
#product-options,#inspection-controls{gap:8px}#product-open{border-color:#888}
#ring-canvas{background:transparent}
@media(max-width:900px){
 .hero{display:flex;flex-direction:column;align-items:stretch;gap:16px}
 .hero-left{display:contents}
 .hero-eyebrow{order:0;margin-bottom:4px}.hero-h1{order:1;margin-bottom:0}
 .hero-right{order:2;min-height:0;padding:0;margin:-12px 0 0}
 .hero-right .ring-frame{height:360px;min-height:0;width:100%;margin:0}
 .hero-tag{order:3}.hero-sub{order:4}.hero-actions{order:5}.hero-stats{order:6}
 #rail{display:none}
}
@media(max-width:500px){.hero-right .ring-frame{height:310px}.product-controls{min-height:52px}.product-controls button,#product-open,#inspection-controls button{width:32px;min-width:32px;height:32px}.product-controls,#product-options,#inspection-controls{gap:5px}}

/* A generous centered stage; drag the set freely in every direction. */
#ring-canvas{cursor:grab;touch-action:none}#ring-canvas:active{cursor:grabbing}
@media(min-width:901px){.hero-right{align-self:center;padding-top:0}.hero-right .ring-frame{height:680px;width:100%;margin:0}}
@media(max-width:900px){.hero-right .ring-frame{height:430px!important}}
.ring-frame.expanded{position:fixed;inset:0;z-index:10002;width:100vw!important;height:100dvh!important;max-width:none;margin:0;padding:24px;background:#050505}
.ring-frame.expanded .product-controls{padding-bottom:12px}
@media(max-width:600px){.ring-frame.expanded{padding:12px}.ring-frame.expanded .product-controls{padding-bottom:20px}}

#ring-canvas{touch-action:pan-y}.expanded #ring-canvas{touch-action:none}
.product-controls button,#product-open,#inspection-controls button{width:44px;min-width:44px;height:44px}
.product-controls{flex-shrink:0}
.ring-frame.expanded{padding-bottom:max(16px,env(safe-area-inset-bottom))}
@media(max-width:500px){.product-controls,#product-options,#inspection-controls{gap:6px}.product-controls{padding:8px 0;min-height:108px}.hero-right .ring-frame{height:420px!important}}

/* Bring the desktop product closer to the headline without changing mobile alignment. */
@media(min-width:1050px){.hero-right{position:relative;left:calc(-1 * clamp(24px,4vw,64px))}}

/* No opaque photographic placeholder flashes before the transparent WebGL frame. */
#product-poster{mix-blend-mode:screen}.product-viewport,#ring-canvas{background:transparent!important;box-shadow:none!important}

/* Identical vector controls for touch and mouse; no emoji/font substitution. */
.product-controls button svg{display:block;width:20px;height:20px;flex:none;pointer-events:none}
@media(hover:hover){.product-controls button:hover{background:#e6e7e9;color:#17181a;border-color:#e6e7e9}}

/* In the expanded view, dragging the product uses both axes on touch screens, just like a mouse. */
#ring-canvas{touch-action:none}

/* A stable first paint and a single gesture surface on every device. */
.product-viewport{touch-action:none;overscroll-behavior:contain;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#ring-canvas{touch-action:none!important;overscroll-behavior:contain}
#ring-canvas:not([data-ready=true]){opacity:0}
#product-poster{inset:0;z-index:1;mix-blend-mode:normal;object-fit:contain;pointer-events:none;transform:scale(1.3);transform-origin:center}
#product-loading{display:none!important}
.product-control-label{display:block;font-family:var(--sans,Arial,sans-serif);font-size:10px;line-height:1.2;font-weight:500;letter-spacing:0}
#product-open{width:144px;min-width:144px;height:48px;grid-auto-flow:column;gap:10px;padding:0 18px;border-radius:24px}
#product-open .product-control-label{font-size:13px}
#product-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;max-width:350px;gap:6px}
#product-options button{width:100%;min-width:0;height:60px;display:flex;flex-direction:column;justify-content:center;gap:5px;border-radius:15px}
.product-controls{gap:10px;align-content:center;min-height:132px;padding:8px 0}
#inspection-controls{gap:10px}
@media(max-width:900px){
 .hero-right{max-width:none;align-self:stretch;top:0}
 .hero-right .ring-frame{height:clamp(440px,57svh,520px)!important;max-width:none}
 .hero .hero-tag{font-size:clamp(25px,6.4vw,32px);line-height:1.3}
 .hero-sub{font-size:16px;line-height:1.7}
}
@media(max-width:360px){#product-options{gap:4px}.product-control-label{font-size:10px}.hero-right .ring-frame{height:440px!important}}
.ring-frame.expanded{height:100dvh!important}

.product-viewport.product-static{touch-action:pan-y;overscroll-behavior:auto}
.ring-frame.expanded{min-height:0!important}

/* Reserve the same two control rows in every state, including mobile fullscreen.
   Changing buttons must never resize the canvas or move the tapped control. */
.ring-frame .product-controls{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:60px 44px;gap:10px;align-items:center;justify-items:center;align-content:center;height:144px;min-height:144px;max-height:144px;padding:8px 0 20px;flex:none}
#product-open,#product-options{grid-column:1;grid-row:1}
#inspection-controls{grid-column:1;grid-row:2}
.product-viewport{overflow-anchor:none}

/* Inline on touch: vertical swipes scroll the page, sideways drags rotate. Two-axis drag stays in the expanded view. */
.ring-frame:not(.expanded) .product-viewport,.ring-frame:not(.expanded) #ring-canvas{touch-action:pan-y!important}
