/* A single, stable stage for the whole opening collection. */
.site65 .home-openings{height:auto;grid-template-rows:auto auto auto auto;background:var(--showcase-wash,#f6f0e6);transition:background .6s;border-color:#d1c6b5;overflow:hidden}
.home-openings .occasion-preview-top{align-items:center;gap:12px;padding:22px 24px 8px;font-size:11px;line-height:1.5}
.home-openings .occasion-preview-top>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.home-opening-scene{position:relative;width:100%;height:clamp(350px,33vw,470px);min-width:0;overflow:hidden;isolation:isolate;touch-action:pan-y}
.home-opening-scene canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:1;transition:opacity .25s}
.home-opening-scene>[data-opening-fallback]{position:absolute;width:57%;height:76%;left:21.5%;top:12%;object-fit:contain;filter:drop-shadow(0 12px 18px #43372122)}
.home-opening-scene[data-ready=true]>[data-opening-fallback]{visibility:hidden}
.home-opening-scene[data-ready=false] canvas{visibility:hidden}
.home-openings[data-phase=changing] canvas{opacity:0}
.home-opening-progress{height:2px;background:#623a4014;margin:0 24px;overflow:hidden}
.home-opening-progress>span{display:block;height:100%;background:#74545a;transform:scaleX(0);transform-origin:left;transition:transform linear}
.home-opening-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 16px}
.home-opening-caption strong{display:block;font:500 clamp(25px,2.5vw,34px)/1.05 'Cormorant Garamond',Georgia,serif;letter-spacing:-.02em}
.home-opening-caption small{display:block;margin-top:7px;font-size:13px;color:#655b55}
.home-opening-caption a{flex-shrink:0;font-size:14px;line-height:1.5;min-height:44px;display:flex;align-items:center;text-underline-offset:5px;color:inherit}
.home-opening-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;padding:0 24px 20px;align-items:center}
.home-opening-controls button,.home-opening-controls select{min-width:0;min-height:44px;border:1px solid #78635b4d;border-radius:4px;color:#463736;background:#fffcf480;font:400 14px/1.4 'DM Sans',sans-serif;cursor:pointer}
.home-opening-controls select{width:100%;padding:9px 28px 9px 10px}
.home-opening-controls button{font-size:22px;padding:5px}
.home-opening-controls [data-opening-replay]{grid-column:1/-1;justify-self:center;border:0;background:none;font-size:14px;min-height:36px;margin-top:2px;padding:4px 10px;text-decoration:underline;text-underline-offset:4px}
.home-openings :is(button,select,a):focus-visible{outline:2px solid #623a40;outline-offset:3px}
.home-opening-controls label{min-width:0}
.home-opening-controls label>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:700px){.home-opening-scene{height:clamp(310px,105vw,430px)}.home-openings .occasion-preview-top{padding:18px 16px 4px;font-size:10px}.home-opening-caption{padding:18px 16px 14px;gap:10px}.home-opening-caption strong{font-size:28px}.home-opening-caption a{font-size:14px}.home-opening-controls{padding:0 16px 14px;gap:6px}.home-opening-controls select{font-size:16px}.home-opening-progress{margin-inline:16px}}
@media(max-width:360px){.home-opening-caption{align-items:start;flex-direction:column;gap:4px}.home-opening-caption a{min-height:32px}.home-opening-controls{grid-template-columns:40px minmax(0,1fr) 40px}}
@media(prefers-reduced-motion:reduce){.home-openings,.home-opening-scene canvas,.home-opening-progress>span{transition:none!important}}
