.scroll-progress{position:fixed;z-index:100;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--copper),#f3c796);box-shadow:0 0 18px rgba(224,173,128,.65);pointer-events:none}
.cursor-glow{position:fixed;z-index:1;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(201,139,91,.11),transparent 68%);transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity .35s}
.cursor-glow.active{opacity:1}
.hero>img{transform:scale(1.06);animation:heroZoom 9s cubic-bezier(.2,.7,.2,1) forwards}
.hero-content .eyebrow{animation:riseIn .9s .15s both}
.hero h1{animation:riseIn 1s .3s both}
.hero .intro{animation:riseIn 1s .48s both}
.hero-actions{animation:riseIn 1s .64s both}
.brand{animation:fadeIn .8s .1s both}
.scroll-cue{position:absolute;z-index:2;left:clamp(22px,5vw,76px);bottom:28px;display:flex;align-items:center;gap:12px;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:#d8c9bd}
.scroll-cue span{width:42px;height:1px;background:var(--copper);position:relative;overflow:hidden}
.scroll-cue span:after{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-100%);animation:scan 2.4s infinite}
.site-header{transition:background .3s,backdrop-filter .3s,height .3s}
.site-header.scrolled{position:fixed;height:72px;background:rgba(16,12,11,.9);backdrop-filter:blur(16px);box-shadow:0 8px 30px rgba(0,0,0,.18)}
.button{position:relative;overflow:hidden}
.button:after{content:"";position:absolute;top:-80%;left:-40%;width:35%;height:260%;background:rgba(255,255,255,.24);transform:rotate(18deg) translateX(-220%);transition:transform .65s}
.button:hover:after{transform:rotate(18deg) translateX(620%)}
.feature-photo{overflow:hidden}
.feature-photo img{transform:scale(1.08);will-change:transform}
.gallery-grid figure{cursor:zoom-in;outline:none}
.gallery-grid figure:focus-visible{box-shadow:0 0 0 3px var(--copper)}
.gallery-grid figcaption{display:flex;justify-content:space-between;align-items:end}
.gallery-grid figcaption span{font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--copper-light);opacity:0;transform:translateX(-8px);transition:.25s}
.gallery-grid figure:hover figcaption span,.gallery-grid figure:focus figcaption span{opacity:1;transform:none}
.hours-card{position:relative;overflow:hidden;transition:transform .35s,border-color .35s,box-shadow .35s}
.hours-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(201,139,91,.08);right:-90px;top:-90px}
.hours-card:hover{transform:translateY(-6px);border-color:var(--copper);box-shadow:0 28px 70px rgba(0,0,0,.22)}
.lightbox{width:min(1000px,92vw);height:min(760px,88vh);padding:0;border:0;background:#0c0908;color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.7);overflow:hidden}
.lightbox::backdrop{background:rgba(6,4,3,.86);backdrop-filter:blur(8px)}
.lightbox img{height:calc(100% - 62px);object-fit:contain}
.lightbox p{height:62px;margin:0;padding:18px 24px;font-family:var(--serif);font-size:20px}
.lightbox-close{position:absolute;z-index:2;right:14px;top:14px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(0,0,0,.55);color:#fff;font-size:28px;cursor:pointer}
.lightbox[open]{animation:lightboxIn .35s ease both}
.marquee{animation:subtlePulse 5s ease-in-out infinite}
.status-dot.open{background:#68a864}
.status-dot.closed{background:#9e7566;box-shadow:0 0 0 6px rgba(158,117,102,.14)}
@keyframes heroZoom{to{transform:scale(1)}
}
@keyframes riseIn{from{opacity:0;transform:translateY(28px)}
to{opacity:1;transform:none}
}
@keyframes fadeIn{from{opacity:0}
to{opacity:1}
}
@keyframes scan{50%,100%{transform:translateX(100%)}
}
@keyframes lightboxIn{from{opacity:0;transform:scale(.96)}
to{opacity:1;transform:scale(1)}
}
@keyframes subtlePulse{50%{border-color:rgba(201,139,91,.36)}
}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-glow{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.hero>img,.hero-content .eyebrow,.hero h1,.hero .intro,.hero-actions,.brand,.scroll-cue span:after,.marquee{animation:none!important}
.reveal{opacity:1;transform:none;transition:none}
.button:after{display:none}
}
@media(max-width:850px){.scroll-cue{display:none}
.cursor-glow{display:none}
.site-header.scrolled{height:66px}
.lightbox{width:94vw;height:75vh}
.gallery-grid figcaption span{opacity:1;transform:none}
}

/* Continuous ambient motion */
.hero-shade{z-index:1}
.hero-content,.scroll-cue,.open-card{z-index:3}
.hero>img{transform:scale(1.1);animation:heroBreathe 20s ease-in-out infinite alternate;will-change:transform}
.hero-aurora{position:absolute;z-index:2;inset:-25%;pointer-events:none;background:radial-gradient(circle at 72% 30%,rgba(238,144,69,.32),transparent 23%),radial-gradient(circle at 85% 73%,rgba(167,35,23,.24),transparent 28%),radial-gradient(circle at 35% 90%,rgba(224,173,128,.13),transparent 24%);filter:blur(8px);mix-blend-mode:screen;animation:auroraDrift 14s ease-in-out infinite alternate}
.ambient-particles{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none}
.ambient-particles span{position:absolute;bottom:-20px;width:4px;height:4px;border-radius:50%;background:#ffd29d;box-shadow:0 0 14px 4px rgba(220,116,52,.5);opacity:0;animation:emberRise 11s linear infinite}
.ambient-particles span:nth-child(1){left:54%;animation-delay:-2s}.ambient-particles span:nth-child(2){left:63%;width:3px;height:3px;animation-delay:-8s;animation-duration:14s}.ambient-particles span:nth-child(3){left:72%;animation-delay:-5s;animation-duration:9s}.ambient-particles span:nth-child(4){left:82%;width:2px;height:2px;animation-delay:-1s;animation-duration:12s}.ambient-particles span:nth-child(5){left:91%;animation-delay:-7s;animation-duration:15s}.ambient-particles span:nth-child(6){left:47%;width:2px;height:2px;animation-delay:-10s}.ambient-particles span:nth-child(7){left:76%;animation-delay:-12s;animation-duration:16s}.ambient-particles span:nth-child(8){left:58%;width:3px;height:3px;animation-delay:-4s;animation-duration:13s}
.marquee{justify-content:flex-start;background:linear-gradient(110deg,#100c0b,#1c100d 45%,#100c0b)}
.marquee-track{display:flex;width:max-content;will-change:transform;animation:marqueeLoop 24s linear infinite}.marquee-set{display:flex;align-items:center;gap:clamp(28px,4vw,62px);padding-right:clamp(28px,4vw,62px)}.marquee-set i{flex:0 0 auto}.marquee:hover .marquee-track{animation-play-state:paused}
.order-banner{position:relative;overflow:hidden}.order-banner:before{content:"";position:absolute;inset:-150% -40%;background:linear-gradient(105deg,transparent 42%,rgba(255,239,211,.2) 50%,transparent 58%);animation:bannerGlow 7s linear infinite;pointer-events:none}.order-banner>*{position:relative;z-index:1}
.gallery{background:radial-gradient(circle at 75% 25%,rgba(132,48,24,.16),transparent 30%),var(--ink);background-size:130% 130%;animation:galleryGlow 14s ease-in-out infinite alternate}
@keyframes heroBreathe{0%{transform:scale(1.1) translate3d(-1.5%,0,0)}100%{transform:scale(1.17) translate3d(1.5%,-1%,0)}}
@keyframes auroraDrift{0%{transform:translate3d(-3%,-2%,0) rotate(-3deg);opacity:.72}100%{transform:translate3d(5%,4%,0) rotate(4deg);opacity:1}}
@keyframes emberRise{0%{transform:translate3d(0,30px,0) scale(.5);opacity:0}12%{opacity:.75}75%{opacity:.45}100%{transform:translate3d(45px,-95vh,0) scale(1.35);opacity:0}}
@keyframes marqueeLoop{to{transform:translateX(-50%)}}
@keyframes bannerGlow{to{transform:translateX(70%)}}
@keyframes galleryGlow{to{background-position:80% 60%}}
@media(prefers-reduced-motion:reduce){.hero>img,.hero-aurora,.ambient-particles span,.marquee-track,.order-banner:before,.gallery{animation:none!important}}
