.visitor-strip{position:absolute;inset:auto 0 0;z-index:5;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:15px 4%;background:linear-gradient(transparent,#191b17b8);color:#fff;font:14px/1.4 Arial,sans-serif}
.visitor-strip .hero-controls{position:static;margin-left:auto;background:#24221bbd;border:1px solid #fff4;padding:4px 10px;gap:3px;flex-wrap:wrap;border-radius:40px}
.hero-controls .hero-pause{border:0}.hero-controls .hero-step,.hero-controls .hero-stop{font:600 12px Arial,sans-serif;padding:4px 10px;min-height:44px}
.hero-controls .hero-dot{min-width:25px;min-height:44px}.hero-controls .hero-dot::after{width:6px;height:6px}
.opening-notice{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:600 13px/1.5 Arial,sans-serif;color:inherit}.opening-notice small{font:400 10px Arial,sans-serif;opacity:.85}.opening-dot{width:9px;height:9px;border-radius:50%;background:#e0c79e;box-shadow:0 0 0 4px #e0c79e22}.opening-notice[data-open=true] .opening-dot{background:#88d69a;box-shadow:0 0 0 4px #88d69a33}
.wine-header>.opening-notice,main>.opening-notice{padding:10px 4%;width:100%;box-sizing:border-box}
.visitor-audio{display:flex;align-items:center;flex-wrap:wrap;gap:6px;border:1px solid #fff4;background:#24221be8;color:#fff;padding:7px 12px;border-radius:24px;font:12px/1.4 Arial,sans-serif;max-width:100%;box-sizing:border-box}
.visitor-button{border:0;border-radius:20px;background:transparent;color:inherit;min-height:44px;padding:6px 10px;font:600 12px Arial,sans-serif;cursor:pointer;white-space:nowrap}.visitor-button:hover{background:#ffffff1a}.visitor-button:focus-visible,.visitor-audio input:focus-visible,.visitor-audio summary:focus-visible{outline:2px solid #fff;outline-offset:2px}
.audio-title{max-width:190px;overflow-wrap:anywhere}.audio-volume{display:flex;align-items:center;gap:6px;margin:0}.audio-volume input{width:80px;height:44px;padding:0;accent-color:#e3cf9b;min-height:0}.audio-status:empty{display:none}.audio-status{flex-basis:100%}.audio-transcript{flex-basis:100%}.audio-transcript summary{cursor:pointer;min-height:30px;align-content:center}.audio-transcript p{white-space:pre-wrap;max-height:180px;overflow:auto;margin:8px 0;line-height:1.6}
.audio-floating{position:fixed;right:14px;bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:100;max-width:min(510px,calc(100vw - 28px));box-shadow:0 4px 20px #0003}
.wine-hero-copy{padding-bottom:170px}
@media(max-width:760px){.visitor-strip{position:relative;inset:auto;background:#292b25;gap:10px;padding:12px 16px}.wine-hero:has(.visitor-strip){height:auto;min-height:0;display:flex;flex-direction:column}.wine-hero-copy{padding-bottom:35px;min-height:480px}.visitor-strip .hero-controls{margin-left:0;max-width:100%;justify-content:center}.visitor-audio{border-radius:16px;width:100%}.opening-notice{font-size:12px}.audio-floating{max-width:calc(100vw - 24px);right:12px}.audio-title{flex-basis:100%;max-width:none}.visitor-button{padding-inline:7px}}
@media(prefers-reduced-motion:reduce){.visitor-strip *{transition:none!important}}

.audio-floating{border-radius:22px;background:#24221bf5;color:#fff;font:600 12px/1.4 Arial,sans-serif}.audio-floating>summary{min-height:44px;padding:10px 16px;box-sizing:border-box;cursor:pointer;max-width:280px;overflow-wrap:anywhere}.audio-floating>summary:focus-visible{outline:2px solid #fff;outline-offset:2px}.audio-floating[open]>summary{border-bottom:1px solid #fff3}.audio-floating .visitor-audio{border:0;background:transparent;box-shadow:none}

/* Keep the notice on its own row, never in competition with the brand/navigation. */
.wine-header:has(>.opening-notice){flex-wrap:wrap;gap:12px 18px}
.wine-header>.opening-notice{order:4;flex:0 0 100%;padding:5px 0 10px}
.wine-header .wine-logo{flex-shrink:0}

/* Desktop first screen reserves space for both fixed frame edges. */
@media(min-width:761px){
 .wine-hero{height:calc(100svh - 236px - env(safe-area-inset-bottom,0px));min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}
 .wine-hero-copy{height:auto;min-height:0;padding-block:24px}
 .wine-hero-copy h1{font-size:clamp(2.75rem,5.4vw,min(5.75rem,10svh))}
 .visitor-strip{position:relative;inset:auto;align-self:end;background:linear-gradient(transparent,#191b1799)}
 .visitor-strip .hero-controls{margin-left:auto;background:#24221b55;border-color:#ffffff45;transition:background-color .2s,border-color .2s}
 .visitor-strip .hero-controls:hover,.visitor-strip .hero-controls:focus-within{background:#24221be8;border-color:#ffffffa6}
}
@media(min-width:761px) and (max-width:1100px){.wine-hero{height:calc(100svh - 290px - env(safe-area-inset-bottom,0px))}}
@media(min-width:761px) and (max-height:720px){
 .wine-hero-copy{padding-block:12px}.wine-hero-copy h1{font-size:2.75rem;margin-bottom:14px}
 .wine-hero-copy .venue-eyebrow{margin-bottom:12px}.wine-hero-copy>p:not(.venue-eyebrow){font-size:1rem;margin-bottom:16px}
}
/* Short or highly zoomed windows need ordinary scrolling instead of clipped text. */
@media(min-width:761px) and (max-height:580px){.wine-hero{height:auto;min-height:380px;grid-template-rows:auto auto}}

@media(max-width:760px){
 .wine-hero{touch-action:pan-y pinch-zoom}
 .wine-hero-copy{padding-bottom:62px}
 .visitor-strip .hero-controls{position:absolute;inset:auto auto calc(100% + 8px) 50%;transform:translateX(-50%);margin:0;padding:0 5px;gap:0;background:#24221b66;border:0;flex-wrap:nowrap}
 .hero-controls .hero-step,.hero-controls .hero-pause,.hero-controls .hero-stop{display:none}
 .hero-controls .hero-dot{width:36px;min-width:36px;min-height:36px;padding:0}
 .hero-controls .hero-dot::after{width:6px;height:6px}
 .digithat-frame-stack .example-toolbar{padding:0 12px;min-height:44px}
 .digithat-frame-stack .example-toolbar a{min-height:44px}
 .example-endnote.example-dock{min-height:45px;padding:0 12px env(safe-area-inset-bottom,0px)}
 .example-dock>a{min-height:44px}.example-dock .example-dock-cta{padding:4px 10px}
 .wine-header{min-height:72px;padding-block:8px;gap:8px}
 .wine-header .wine-theme-toggle{min-height:44px}
 .wine-header .venue-menu-button{min-height:44px;padding-block:6px}
 .wine-header>.opening-notice{padding-block:2px 6px;font-size:11px}
 .back-link,[aria-label="Breadcrumb"],[aria-label="Breadcrumbs"],.breadcrumbs{display:none}
}

/* On phones the photograph and editorial copy have separate, readable space. */
.hero-media{position:absolute;inset:0;overflow:hidden}
.hero-media .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1800ms ease}
.hero-media .hero-photo.is-active{opacity:1}
@media(max-width:760px){
 .wine-hero{--phone-photo-height:clamp(280px,78vw,420px);background:var(--v-cream);color:var(--v-ink);overflow:visible}
 .wine-hero .hero-media{position:relative;inset:auto;height:var(--phone-photo-height);flex:none;touch-action:pan-y pinch-zoom}
 .wine-hero .wine-hero-shade{display:none}
 .wine-hero .wine-hero-copy{width:100%;min-height:0;padding:28px 20px 26px;color:var(--v-ink);background:var(--v-cream);box-sizing:border-box}
 .wine-hero-copy .venue-eyebrow{font-size:11px;line-height:1.6;letter-spacing:.12em;margin:0 0 15px;color:var(--v-ink)}
 .wine-hero-copy h1{font-size:clamp(2.35rem,10.7vw,3.7rem);line-height:1.05;margin:0 0 20px;letter-spacing:-.035em;color:var(--v-ink)}
 .wine-hero-copy h1 em{color:inherit}
 .wine-hero-copy>p:not(.venue-eyebrow){font-size:16px;line-height:1.65;margin:0 0 23px;max-width:34em;color:var(--v-ink)}
 .wine-hero-copy .venue-actions{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
 .wine-hero-copy .venue-button{background:var(--v-green);color:var(--v-cream);min-height:48px;padding:13px 18px;font-size:14px;box-sizing:border-box;display:inline-flex;align-items:center}
 .wine-hero-copy .venue-text-link{color:var(--v-ink);min-height:44px;display:inline-flex;align-items:center;font-size:14px}
 .wine-hero .visitor-strip{position:static;padding:12px 20px;background:var(--v-soft);color:var(--v-ink);border-block:1px solid var(--v-line)}
 .wine-hero .visitor-strip .hero-controls{top:calc(var(--phone-photo-height) - 49px);bottom:auto;left:50%;background:#252522bd;border:1px solid #ffffff38;border-radius:30px;padding:0 7px;z-index:6}
 .hero-controls .hero-dot{min-width:40px;min-height:40px;width:40px;border-radius:50%}
 .hero-controls .hero-dot:focus-visible{outline:2px solid #fff;outline-offset:-5px}
 .opening-notice{font-size:12px;line-height:1.5}.opening-notice small{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.hero-media .hero-photo{transition:none}}
/* Keep the contrast layer above every slide, including during cross-fades. */
.hero-media{z-index:0}
@media(min-width:761px){
 .wine-hero-shade{z-index:1;background:linear-gradient(90deg,rgba(9,22,16,.84) 0%,rgba(9,22,16,.74) 44%,rgba(9,22,16,.28) 72%,rgba(9,22,16,.08) 100%)}
 .wine-hero-copy{text-shadow:0 1px 2px #0005}
 .wine-hero-copy .venue-button{text-shadow:none}
}
/* Unframed viewing keeps only compact return controls. */
.example-bare .example-return-bar{padding:0 14px;gap:12px;font-size:12px;min-height:32px;background:#ececec;color:#333}
.example-bare .example-return-bar :is(a,button){min-height:32px;padding:3px 0;line-height:1.2;white-space:nowrap}
.example-bare .example-return-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}
.example-bare body:has(.example-return-bar){padding-bottom:calc(36px + env(safe-area-inset-bottom,0px))}
@media(max-width:760px){.example-bare .example-return-bar{min-height:40px;font-size:11px}.example-bare .example-return-bar :is(a,button){min-height:40px}.example-bare body:has(.example-return-bar){padding-bottom:calc(44px + env(safe-area-inset-bottom,0px))}}
