/* ───────── 01 ДОАЃАЊЕ: осветлен шанк ───────── */
.tone-day { --p-shade: #cbb99d; --p-mid: #efe3cf; --p-lit: #fffaf0; }
.tone-night { --p-shade: #14100c; --p-mid: #4b3a2b; --p-lit: #c29b62; }
.defs { position: absolute; width: 0; height: 0; overflow: hidden; }

.hero {
  --ct: 74svh; --lx: 77%; --pw: clamp(150px, 20vw, 320px); --fs: clamp(4.6rem, 14vw, 13rem);
  position: relative; height: 100svh; min-height: 620px; overflow: hidden; background: #060504;
}
.hero__counter {
  position: absolute; left: 0; right: 0; top: var(--ct); bottom: 0;
  background: linear-gradient(#1d1711 0, #0e0b08 16%, #050403 100%); border-top: 1px solid rgba(246,196,122,.22);
}
.hero__pool {
  position: absolute; left: calc(var(--lx) - 42vw); width: 84vw; top: -1px; height: 70%;
  background: radial-gradient(50% 55% at 50% 0%, rgba(246,196,122,.42), rgba(246,196,122,.10) 55%, transparent 75%);
  opacity: 0; animation: lampOn 1.6s 1.7s both;
}
.hero__lamp {
  position: absolute; left: var(--lx); top: 0; width: 0; height: 0; transform-origin: 0 0;
  translate: 0 -30svh; animation: lampDrop 1.7s .3s var(--ease) forwards, lampSwing 7s 1.5s ease-out both;
}
@keyframes lampDrop { to { translate: 0 0; } }
@keyframes lampSwing { 0% { rotate: 0deg; } 12% { rotate: 2.6deg; } 30% { rotate: -1.6deg; } 50% { rotate: .9deg; } 72% { rotate: -.4deg; } 100% { rotate: 0deg; } }
.hero__cord { position: absolute; left: -.5px; top: -10svh; width: 1px; height: 32svh; background: #3a3026; }
.hero__shade { max-width: none; position: absolute; left: calc(var(--pw) * -.3); top: 21svh; width: calc(var(--pw) * .6); height: auto; overflow: visible; }
.hero__bulb {
  position: absolute; left: -7px; top: calc(21svh + var(--pw) * .3 - 6px); width: 14px; height: 14px; border-radius: 50%;
  background: #fff3d2; box-shadow: 0 0 30px 10px rgba(246,196,122,.8); opacity: 0; animation: lampOn 1.6s 1.7s both;
}
.hero__cone {
  position: absolute; left: -46vw; width: 92vw; top: calc(21svh + var(--pw) * .3); height: calc(var(--ct) - 21svh - var(--pw) * .3 + 2svh);
  clip-path: polygon(46% 0, 54% 0, 100% 100%, 0 100%);
  background: linear-gradient(rgba(246,196,122,.42), rgba(246,196,122,.05) 88%);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 30%, #000 70%, transparent); mask-image: linear-gradient(90deg, transparent, #000 30%, #000 70%, transparent);
  opacity: 0; animation: lampOn 1.8s 1.7s both;
}
@keyframes lampOn { 0% { opacity: 0; } 8% { opacity: .7; } 14% { opacity: .1; } 26% { opacity: .9; } 34% { opacity: .35; } 48%, 100% { opacity: 1; } }

.hero__props { position: absolute; inset: 0; pointer-events: none; }
.prop { position: absolute; height: auto; opacity: 0; animation: fadeTo 2.2s 2s ease both; }
.prop--cup { width: var(--pw); left: calc(var(--lx) - var(--pw) * 1.05); bottom: calc(100% - var(--ct) - 3.5% - var(--pw) * .088); }
.prop--glass { width: calc(var(--pw) * .92); left: calc(var(--lx) + var(--pw) * .02); bottom: calc(100% - var(--ct) - 5% - var(--pw) * .081); filter: drop-shadow(0 0 22px rgba(246,196,122,.22)); }

.hero__title, .hero__mirror {
  position: absolute; left: calc(var(--gutter) - .04em); margin: 0; font-family: var(--font-display); font-weight: 400;
  font-size: var(--fs); line-height: .8; letter-spacing: -.035em; white-space: nowrap;
  background: linear-gradient(90deg, #2d251c 0%, #b79b6c 55%, #fff1d6 100%); background-size: 240% 100%; background-position: 0% 0;
  -webkit-background-clip: text; background-clip: text; color: transparent; opacity: 0;
  animation: wordLit 4.2s 2.1s var(--ease-soft) forwards, fadeTo 2.6s 2.1s ease forwards;
}
.hero__title { top: var(--ct); translate: 0 calc(-100% + .07em); }
.hero__mirror { top: var(--ct); translate: 0 .07em; transform: scaleY(-1);
  -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,.4), transparent 55%); mask-image: linear-gradient(to top, rgba(0,0,0,.4), transparent 55%); }
@keyframes wordLit { to { background-position: 100% 0; } }
@keyframes fadeTo { to { opacity: 1; } }

.hero__meta { position: absolute; left: var(--gutter); bottom: 9%; display: flex; align-items: center; gap: 14px; font-size: .72rem; letter-spacing: .3em; text-transform: uppercase; color: var(--amber); opacity: 0; animation: fadeUp 1.6s 4s var(--ease) forwards; }
.hero__meta i { width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: .6; }
.hero__line { position: absolute; left: var(--gutter); bottom: 4.5%; font-family: var(--font-display); font-style: italic; font-size: clamp(1rem, 1.7vw, 1.4rem); color: var(--cream-2); opacity: 0; animation: fadeUp 1.6s 4.3s var(--ease) forwards; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(12px); } to { opacity: .9; transform: none; } }
.hero__grain {
  position: absolute; inset: 0; opacity: .14; mix-blend-mode: overlay; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.hero__cue { position: absolute; bottom: 4.5%; right: var(--gutter); text-decoration: none; font-size: .68rem; letter-spacing: .3em; text-transform: uppercase; display: flex; align-items: center; gap: 14px; opacity: 0; animation: fadeUp 1.4s 4.6s var(--ease) forwards; }
.hero__cue i { width: 46px; height: 1px; background: var(--amber); }

@media (max-width: 720px) {
  .hero { --ct: 71svh; --lx: 76%; --pw: 38vw; --fs: 23vw; }
  .hero__title { top: auto; bottom: calc(100% - var(--ct) + 34vw); translate: none; }
  .hero__mirror { display: none; }
  .hero__meta { bottom: 12%; flex-wrap: wrap; gap: 10px; } .hero__line { bottom: 6%; }
  .hero__cue { display: none; }
  .prop--cup { left: calc(var(--lx) - var(--pw) * 1.35); }
  .prop--glass { left: calc(var(--lx) - var(--pw) * .25); }
}

@media (prefers-reduced-motion: reduce) {
  .hero__pool, .hero__bulb, .hero__cone, .prop, .hero__title, .hero__mirror, .hero__meta, .hero__line, .hero__cue { opacity: 1 !important; }
  .hero__lamp { translate: none; }
  .hero__title, .hero__mirror { background-position: 100% 0; }
  .hero__meta, .hero__line, .hero__cue { transform: none; }
}
