/* Anglinka – vylepšenia: menu, fotky, pohyb */
html{scroll-behavior:smooth}
:focus-visible{outline:2px solid var(--pink);outline-offset:3px;border-radius:6px}

/* progress bar */
.sprog{position:fixed;inset:0 0 auto;height:2px;z-index:60;background:linear-gradient(90deg,var(--bordo),var(--accent),var(--pink));transform-origin:0 50%;transform:scaleX(0);pointer-events:none}

/* menu – dropdown */
nav ul{align-items:center}
nav .dd{position:relative}
nav .dd-btn{all:unset;cursor:pointer;opacity:.8;display:inline-flex;align-items:center;gap:6px}
nav .dd-btn:hover,nav .dd.open .dd-btn{opacity:1}
nav .dd-btn::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s var(--ease)}
nav .dd.open .dd-btn::after{transform:translateY(1px) rotate(-135deg)}
nav .dd-menu{position:absolute;top:calc(100% + 18px);left:50%;min-width:270px;padding:10px;border-radius:18px;
  background:rgba(19,7,12,.92);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 24px 60px -20px rgba(123,18,53,.6),inset 0 0 0 1px rgba(255,122,166,.14);
  opacity:0;visibility:hidden;transform:translate(-50%,-6px) scale(.98);transition:opacity .2s var(--ease),transform .25s var(--ease),visibility .2s}
nav .dd.open .dd-menu,nav .dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}
@media (hover:hover){nav .dd:hover .dd-menu{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}nav .dd::before{content:"";position:absolute;left:-20px;right:-20px;top:100%;height:22px}}
nav .dd-menu a{display:block;padding:11px 14px;border-radius:12px;opacity:.85;text-decoration:none;font-size:15px;transition:background .15s,opacity .15s}
nav .dd-menu a small{display:block;font-size:12.5px;opacity:.6;margin-top:2px}
nav .dd-menu a:hover,nav .dd-menu a[aria-current]{background:rgba(224,36,94,.16);opacity:1}
nav ul a[aria-current]{opacity:1;color:var(--pink)}

/* menu – mobil */
.burger{all:unset;display:none;cursor:pointer;width:44px;height:44px;border-radius:12px;position:relative;margin-left:4px}
.burger span{position:absolute;left:12px;right:12px;height:1.5px;background:#fbf5f7;border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.burger span:nth-child(1){top:17px}.burger span:nth-child(2){top:26px}
.menu-open .burger span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
.menu-open .burger span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}
nav .navr{display:flex;align-items:center;gap:6px}
.msheet{position:fixed;inset:56px 0 0;z-index:49;background:rgba(19,7,12,.97);backdrop-filter:blur(24px);color:#fbf5f7;
  padding:24px 24px 40px;overflow:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s var(--ease),transform .3s var(--ease),visibility .25s}
.menu-open .msheet{opacity:1;visibility:visible;transform:none}
.msheet p{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--pink);margin:22px 0 6px;font-weight:600}
.msheet a{display:block;font-size:26px;font-weight:700;letter-spacing:-.02em;padding:9px 0;text-decoration:none;color:inherit;border-bottom:1px solid rgba(255,255,255,.06)}
.msheet a[aria-current]{color:var(--pink)}
.msheet .btn{display:inline-flex;font-size:16px;margin-top:28px;border:0;padding:15px 26px}
.menu-open .msheet a{animation:msIn .45s var(--ease) both}
@keyframes msIn{from{opacity:0;transform:translateY(10px)}}
@media (max-width:820px){.burger{display:block}}
@media (min-width:821px){.msheet{display:none}}

/* hero s fotkou */
.hero-media{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero-media img{position:absolute;inset:-6% 0 0 auto;width:62%;height:112%;object-fit:cover;opacity:.55;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%);
  animation:heroIn 2.2s var(--ease) both;will-change:transform}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,7,12,.2) 0%,rgba(19,7,12,0) 40%,rgba(19,7,12,.85) 100%),radial-gradient(120% 80% at 80% 30%,rgba(123,18,53,.35),transparent 60%);mix-blend-mode:normal}
.hero .wrap,.hero .glow{position:relative;z-index:1}
.hero .glow{position:absolute}
@keyframes heroIn{from{opacity:0;scale:1.08}to{opacity:.55;scale:1}}
@media (max-width:820px){.hero-media img{width:100%;opacity:.32;-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 75%);mask-image:linear-gradient(180deg,#000 0%,transparent 75%)}
  @keyframes heroIn{from{opacity:0;scale:1.08}to{opacity:.32;scale:1}}}

/* nadpis – slovo po slove */
.hero h1 .w{display:inline-block;animation:wIn .9s var(--ease) both}
@keyframes wIn{from{opacity:0;transform:translateY(.35em);filter:blur(8px)}}

/* svetelný prelet na hlavnom tlačidle (raz) */
.hero-cta .btn{position:relative;overflow:hidden;isolation:isolate}
.hero-cta .btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);animation:sheen 1.6s 1.4s var(--ease) forwards}
@keyframes sheen{to{transform:translateX(120%)}}
.btn:active{transform:translateY(1px) scale(.98)}

/* foto pás – Apple štýl, rastie pri scrolle */
.band{padding:clamp(40px,6vw,80px) 0;background:var(--white)}
.band.dk{background:var(--black)}
.band-fig{position:relative;margin:0;border-radius:calc(var(--r) * 1.6);overflow:hidden;aspect-ratio:16/8;background:#1a0b11;
  transform:scale(var(--s,.9));border-radius:var(--br,44px);transition:none;box-shadow:0 40px 90px -40px rgba(123,18,53,.55)}
.band-fig img{width:100%;height:118%;object-fit:cover;display:block;transform:translateY(var(--py,-6%));will-change:transform}
.band-fig::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(19,7,12,.78) 100%)}
.band-cap{position:absolute;left:clamp(20px,4vw,48px);bottom:clamp(20px,4vw,44px);right:clamp(20px,4vw,48px);z-index:2;color:#fbf5f7}
.band-cap strong{display:block;font-size:clamp(30px,4.6vw,64px);font-weight:800;letter-spacing:-.035em;line-height:1;max-width:14ch;text-wrap:balance}
.band-cap span{display:block;margin-top:10px;color:var(--mute-d);font-size:clamp(15px,1.4vw,19px);max-width:46ch}
.chip{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;font-size:14px;font-weight:600;color:#fbf5f7;
  background:rgba(19,7,12,.55);backdrop-filter:saturate(180%) blur(14px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 10px 30px -10px rgba(0,0,0,.5);
  opacity:0;transform:translateY(14px) scale(.96);transition:opacity .6s var(--ease),transform .7s var(--ease)}
.chip i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(224,36,94,.25);font-style:normal}
.band-fig.in .chip{opacity:1;transform:translateY(var(--cy,0)) scale(1)}
.band-fig.in .chip:nth-of-type(2){transition-delay:.15s}.band-fig.in .chip:nth-of-type(3){transition-delay:.3s}
.chip.c1{top:9%;left:5%}.chip.c2{top:18%;right:6%}.chip.c3{top:40%;left:38%}
@media (max-width:820px){.band-fig{aspect-ratio:4/5}.chip.c3{display:none}.chip.c2{top:auto;bottom:46%;right:5%}.band-cap strong{max-width:none}}

/* bez pohybu pre tých, čo to vypli */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .band-fig{transform:none!important}.band-fig img{transform:none!important}.chip{opacity:1;transform:none}
}

/* podstránky – dlhšie nadpisy */
.hero h1.sub{font-size:clamp(42px,8.6vw,132px);overflow-wrap:anywhere;hyphens:manual}

/* ===== 2026 vrstva ===== */
@view-transition{navigation:auto}
nav{view-transition-name:topnav}
::view-transition-old(root),::view-transition-new(root){animation-duration:.45s}

/* jemné zrno */
body::after{content:"";position:fixed;inset:0;z-index:70;pointer-events:none;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* spotlight na dlaždiciach */
.tile{position:relative;overflow:hidden;isolation:isolate}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .35s var(--ease);
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(224,36,94,.16),transparent 60%)}
.tile:hover::after{opacity:1}
.dark .tile::after{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,122,166,.22),transparent 60%)}

/* hero glow sleduje kurzor */
.hero .glow{transition:translate .8s var(--ease);translate:var(--gx,0) var(--gy,0)}

/* výrok – slová sa rozsvecujú pri scrolle */
.stmt{background:var(--white);padding:clamp(90px,14vw,190px) 0}
.stmt p{font-size:clamp(34px,5.6vw,80px);font-weight:800;letter-spacing:-.035em;line-height:1.06;max-width:18ch;text-wrap:balance;color:var(--ink)}
.stmt p .sw{opacity:var(--o,.14);transition:opacity .2s linear}
.stmt p em{font-style:normal;color:var(--accent)}
.stmt small{display:block;margin-top:28px;color:var(--mute);font-size:clamp(16px,1.5vw,20px);max-width:52ch}

/* galéria – horizontálny príbeh */
.gal{position:relative;background:var(--black);color:#fbf5f7;padding:0}
.gal .gal-sticky{position:sticky;top:0;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:110px 0 60px}
.gal h2{margin-bottom:clamp(28px,4vw,56px)}
.gal-track{display:flex;gap:clamp(14px,2vw,24px);padding-inline:max(16px,calc((100vw - 1180px)/2));will-change:transform;transform:translate3d(var(--gx,0),0,0)}
.gcard{position:relative;flex:0 0 clamp(260px,30vw,420px);aspect-ratio:4/5;border-radius:28px;overflow:hidden;margin:0;background:#1a0b11;
  box-shadow:0 30px 70px -30px rgba(224,36,94,.35),inset 0 0 0 1px rgba(255,255,255,.06)}
.gcard img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 1.2s var(--ease)}
.gcard.in img{transform:scale(1)}
.gcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(19,7,12,.88))}
.gcard figcaption{position:absolute;left:22px;right:22px;bottom:22px;z-index:1}
.gcard figcaption b{display:block;font-size:clamp(22px,2vw,30px);letter-spacing:-.025em;line-height:1.05}
.gcard figcaption span{display:block;margin-top:6px;font-size:15px;color:var(--mute-d)}
.gcard .num{position:absolute;top:18px;left:20px;z-index:1;font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--pink)}
.gal-bar{height:2px;background:rgba(255,255,255,.1);margin:clamp(28px,4vw,48px) auto 0;width:min(1180px,100% - 32px);border-radius:2px;overflow:hidden}
.gal-bar i{display:block;height:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(var(--gp,0))}
@media (max-width:820px){
  .gal .gal-sticky{position:static;min-height:0;padding:90px 0 70px}
  .gal-track{overflow-x:auto;scroll-snap-type:x mandatory;transform:none;scrollbar-width:none;padding-bottom:6px}
  .gal-track::-webkit-scrollbar{display:none}
  .gcard{flex-basis:78vw;scroll-snap-align:center}.gal-bar{display:none}}

/* magnetické tlačidlá */
.btn{translate:var(--bx,0) var(--by,0);transition:transform .15s var(--ease),filter .15s,translate .35s var(--ease)}

@media (prefers-reduced-motion:reduce){.stmt p .sw{opacity:1}.gal-track{transform:none!important}.gcard img{transform:none}body::after{display:none}}
