:root{--accent:#00ff00;--text:#ddd;--muted:#a6a6a6;--chip:#1c1c1c;--line:#2a2a2a;--mono:'PT Serif','Palatino Linotype','Book Antiqua',Palatino,Georgia,serif}*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;background:#000;color:var(--text);font:14px/1.4 var(--mono);letter-spacing:0;text-transform:lowercase}button,a{font:inherit;color:inherit}a{text-decoration:none}button{border:0;cursor:pointer}.lang-uk{display:none}.ua-mode .lang-en{display:none}.ua-mode .lang-uk{display:inline}#bg{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0}.ui{position:fixed;inset:0;z-index:1;pointer-events:none;mix-blend-mode:plus-lighter;transition:opacity .4s}.about-open .ui{opacity:0;visibility:hidden}.brand,.counter,.top-nav,.tags,.list,.about,.status,.header-tools{position:absolute}.brand{left:24px;top:24px;display:flex;align-items:center;gap:14px}.brand-mark{position:relative;display:block;width:40px;height:40px}.brand-mark img{position:absolute;left:50%;top:50%;width:88%;height:auto;transform:translate(-50%,-50%) scaleX(-1)}.brand-mark svg{width:100%;height:100%;fill:none;stroke:var(--accent);stroke-width:1.6;filter:drop-shadow(0 0 3px rgba(0,255,0,.55))}.brand-mark path{fill:#fff;stroke:none}.brand strong{display:block;color:#fff;font-size:22px;font-weight:700;line-height:1}.brand small{display:block;margin-top:4px;color:var(--muted);font-size:11px;text-transform:none}.header-tools{top:24px;right:24px;display:flex;align-items:center;gap:13px}.lang-switch{position:absolute;right:24px;bottom:76px;padding:0;color:var(--muted);background:none;font-size:13px;font-weight:700;pointer-events:auto}.lang-switch:hover{color:#fff}.lang-active{color:#fff}.counter{position:static;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#0a0a0a;color:#fff}.top-nav{top:27px;right:92px;display:flex;gap:24px;pointer-events:auto;color:#fff;font-weight:700;font-size:14px}.top-nav a:hover{color:var(--accent)}.tags{top:120px;left:24px;width:380px;display:flex;flex-wrap:wrap;gap:8px 24px;pointer-events:auto}.tag{padding:0;background:none;color:#fff;font-family:'PT Serif','Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;font-weight:700;font-size:14px;letter-spacing:0;text-transform:lowercase;transition:color .3s}.tag:hover,.tag.active{color:#00ff00}.list{top:172px;left:24px;bottom:44px;width:320px;overflow-y:auto;scrollbar-width:none;pointer-events:auto}.list::-webkit-scrollbar{display:none}.card{padding:18px 0;border-top:1px solid var(--line)}.card.hidden{display:none}.empty{margin:0;padding:18px 0;border-top:1px solid var(--line);color:var(--muted);text-transform:none}.empty.hidden{display:none}.thumb{height:160px;overflow:hidden;border-radius:2px;background:#0a0a0a;position:relative}.vimeo-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.08)}.thumb iframe{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;pointer-events:none;opacity:0;transform:scale(1.02)}.meta{display:flex;justify-content:space-between;gap:16px;margin-top:10px;font-size:12px}.meta>span:first-child{color:#fff;font-weight:700}.meta>span:last-child{color:var(--muted);text-align:right}.about{right:90px;top:50%;width:380px;max-height:calc(100vh - 150px);overflow-y:auto;scrollbar-width:none;transform:translateY(-50%);pointer-events:auto;mix-blend-mode:plus-lighter}.about-block{margin-bottom:2.2em}.about h2{margin:0 0 1em;color:var(--accent);font-size:15px;font-weight:700}.about p{margin:0 0 1em;color:var(--text);text-align:justify;text-transform:none}.about a{display:block;margin:4px 0;color:var(--text);text-decoration:underline;text-underline-offset:3px;text-transform:none;transition:opacity .3s}.about a:hover{opacity:.7}.status{left:24px;right:84px;bottom:18px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.status i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:7px;box-shadow:0 0 10px var(--accent)}
@media(max-width:1100px){.about{right:24px;width:320px}.list{width:280px}.thumb{height:140px}.top-nav{right:150px}}
@media(max-width:760px){.ui{mix-blend-mode:normal}.brand{left:16px;top:16px}.brand-mark{width:34px;height:34px}.brand strong{font-size:17px}.brand small{font-size:9px}.header-tools{top:16px;right:16px}.counter{width:38px;height:38px}.top-nav{display:flex;top:68px;left:16px;right:auto;gap:20px;font-size:13px}.tags{display:flex;top:100px;left:16px;right:16px;width:auto;gap:6px 18px}.tag{font-size:13px}.list{display:block;top:138px;left:16px;right:16px;bottom:44px;width:auto;-webkit-overflow-scrolling:touch}.card{padding:14px 0}.thumb{height:auto;aspect-ratio:16/9}.about{display:none}.lang-switch{display:block;right:16px;top:150px;bottom:auto;font-size:13px}.status{left:16px;right:70px;bottom:14px;font-size:9px}.status>span:not(:first-child){display:none}}
.about-page{position:fixed;inset:0;z-index:5;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:center;padding:88px 72px 64px;background:rgba(0,0,0,.94);overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}.about-open .about-page{opacity:1;visibility:visible}.about-close{position:fixed;top:27px;right:24px;color:#fff;font-weight:700;font-size:14px;transition:color .3s}.about-close:hover{color:var(--accent)}.about-photo{display:block;width:100%;max-height:calc(100vh - 160px);object-fit:cover;border-radius:2px}.about-copy{max-width:460px}.ab{margin-bottom:2.2em}.about-copy h2{margin:0 0 1em;color:var(--accent);font-size:15px;font-weight:700}.about-copy p{margin:0 0 1em;color:var(--text);text-transform:none}.about-copy a{display:block;margin:4px 0;color:var(--text);text-decoration:underline;text-underline-offset:3px;text-transform:none;transition:opacity .3s}.about-copy a:hover{opacity:.7}.about-page .lang-switch{position:fixed}
@media(max-width:760px){.about-page{grid-template-columns:1fr;gap:28px;align-items:start;padding:72px 24px 48px}.about-photo{max-height:42vh}.about-close{top:20px;right:16px}}
.about-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(9,1fr);gap:8px;aspect-ratio:4/3;width:min(100%,calc((100vh - 150px)*1.333))}.g{position:relative;padding:0;border:0;overflow:hidden;background:#0a0a0a;border-radius:2px;cursor:zoom-in}.g img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92);transition:transform .7s,filter .4s}.g:hover img,.g:focus-visible img{transform:scale(1.045);filter:none}.g:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.g1{grid-area:1/1/6/9}.g2{grid-area:1/9/6/13}.g3{grid-area:6/1/10/7}.g4{grid-area:6/7/10/13}
.lightbox{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:rgba(0,0,0,.97);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;cursor:zoom-out}.lightbox.open{opacity:1;visibility:visible}.lb-img{max-width:90vw;max-height:88vh;object-fit:contain;display:block}.lb-close,.lb-prev,.lb-next{position:absolute;padding:0;background:none;color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:color .3s}.lb-close{top:27px;right:24px;font-size:14px;text-transform:lowercase}.lb-prev,.lb-next{top:50%;transform:translateY(-50%);padding:16px;font-size:40px;line-height:1}.lb-prev{left:16px}.lb-next{right:16px}.lb-close:hover,.lb-prev:hover,.lb-next:hover{color:var(--accent)}
@media(max-width:760px){.about-gallery{width:100%}.lb-prev{left:0}.lb-next{right:0}}

/* custom camera cursor (fine pointers only) */
@media (pointer:fine){
html,body{cursor:url(cursor.png) 22 22,auto;cursor:image-set(url(cursor.png) 1x,url(cursor@2x.png) 2x) 22 22,auto}
a,button,.card,.tag,.g,#emblem,.lang-switch,.lb-prev,.lb-next,[role=button]{cursor:url(cursor-hover.png) 22 22,pointer;cursor:image-set(url(cursor-hover.png) 1x,url(cursor-hover@2x.png) 2x) 22 22,pointer}
}

#fx{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0;pointer-events:none}
/* grey strike-through on hover */
.top-nav a,.tag,.lang-switch,.status a{background:linear-gradient(#9a9a9a,#9a9a9a) no-repeat 0 56%/0% 2px;transition:background-size .35s ease,color .3s}
.top-nav a:hover,.tag:hover,.lang-switch:hover{background-size:100% 2px}
@media (hover:none){.top-nav a,.tag,.lang-switch{background:none}}

/* About: page glides in from below (scroll-down feel), main UI drifts up */
.ui{transition:opacity .6s ease,transform 1s cubic-bezier(.77,0,.18,1),visibility 0s linear 0s}
.about-open .ui{transform:translateY(-14vh);opacity:0;visibility:hidden;transition:opacity .6s ease,transform 1s cubic-bezier(.77,0,.18,1),visibility 0s linear 1s}
.about-page{transform:translateY(100%);opacity:1;visibility:hidden;transition:transform 1s cubic-bezier(.77,0,.18,1),visibility 0s linear 1s}
.about-open .about-page{transform:none;visibility:visible;transition:transform 1s cubic-bezier(.77,0,.18,1),visibility 0s}
#bg,#fx{transition:transform 1.2s cubic-bezier(.77,0,.18,1)}
.about-open #bg,.about-open #fx{transform:translateY(-6vh) scale(1.06)}

#emblem{position:fixed;left:48%;top:50%;width:min(24vw,250px);aspect-ratio:1;z-index:0;pointer-events:auto;border-radius:50%;outline:none;transform:translate(-50%,-50%);will-change:transform;opacity:0}
.about-open #emblem{opacity:0!important}
#emblem .cam3d{position:absolute;inset:0;transform-style:preserve-3d}
#emblem .ring,#emblem .cam{position:absolute;inset:0;transform-style:preserve-3d}
#emblem .ring i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 30deg,#00ff00,#b6ffd0,#00ff6a,#006a1c,#00ff00,#9dffc0,#00ff00);-webkit-mask:radial-gradient(circle,transparent 65%,#000 66%);mask:radial-gradient(circle,transparent 65%,#000 66%)}
#emblem .cam img{position:absolute;left:19%;top:19%;width:62%;height:62%;object-fit:contain;-webkit-user-drag:none;user-select:none}
#emblem .tap{position:absolute;left:50%;top:-16%;transform:translateX(-50%);font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:lowercase;color:var(--accent);text-shadow:0 0 10px rgba(0,255,0,.65);white-space:nowrap;animation:tapPulse 2.2s ease-in-out infinite;pointer-events:none}
@keyframes tapPulse{0%,100%{opacity:.45}50%{opacity:1}}
.intro .ui{opacity:0}
.ui{transition:opacity .9s ease .1s,transform 1s cubic-bezier(.77,0,.18,1)}
.lang-switch span{color:var(--muted);transition:color .3s}
.lang-switch span.on{color:#fff}

/* portal: About opens as an expanding circle from the camera */
.portal .about-page{transform:none;clip-path:circle(0 at var(--ox,50%) var(--oy,50%));transition:clip-path 1.1s cubic-bezier(.7,0,.2,1),visibility 0s linear 1.1s}
.portal.about-open .about-page{clip-path:circle(150vmax at var(--ox,50%) var(--oy,50%));transition:clip-path 1.1s cubic-bezier(.7,0,.2,1),visibility 0s}
.portal .ui{transform:none}
.portal.about-open .ui{transform:none;transition:opacity .5s ease,visibility 0s linear .5s}
.portal.about-open #bg,.portal.about-open #fx{transform:scale(1.15)}

@media(max-width:760px){
#emblem{left:calc(100% - 64px);top:calc(100% - 128px);width:88px;z-index:3}
#emblem .tap{top:-30%;font-size:13px}
.lang-switch{display:block;right:16px;top:70px;bottom:auto;font-size:13px}
.about-page .lang-switch{top:auto;bottom:18px}
}
@media(max-width:760px) and (max-height:620px){#emblem{top:calc(100% - 100px);width:72px}}
.about-open #emblem{pointer-events:none}
.intro #emblem .tap{animation:none;opacity:0}
#emblem .tap{transition:opacity .6s}

/* right-hand text: white, same serif bold as the filter buttons */
.about p,.about a,.about-copy p,.about-copy a{color:#fff;font-family:'PT Serif','Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;font-weight:700;font-size:14px;line-height:1.55;text-transform:none}
.about p{text-align:left}

.meta>span:first-child{text-transform:none}

/* ---- mobile hardening ---- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}
body{overscroll-behavior:none;touch-action:manipulation}
@media(max-width:760px){
.tag,.top-nav a{padding:8px 0}
.tags{gap:0 18px}
.list{touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.about-page{height:100dvh;padding-bottom:calc(48px + env(safe-area-inset-bottom))}
.status{bottom:calc(14px + env(safe-area-inset-bottom))}
#emblem{bottom:auto;top:calc(100% - 128px - env(safe-area-inset-bottom))}
#emblem .cam3d{will-change:transform}
}

/* phone lite emblem: compositor-only animation */
#emblem.lite{opacity:0;animation:mIn .9s cubic-bezier(.2,.7,.2,1) .15s forwards}
#emblem.lite .cam3d{animation:mSpin 14s linear infinite}
#emblem.lite.go{animation:mGo .8s cubic-bezier(.6,0,.9,.4) forwards}
@keyframes mIn{from{opacity:0;transform:translate(-50%,-50%) scale(.4)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes mSpin{from{transform:perspective(700px) rotateY(0deg)}to{transform:perspective(700px) rotateY(360deg)}}
@keyframes mGo{from{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(9)}}
@media(max-width:760px){#bg{background:radial-gradient(120% 70% at 70% 15%,rgba(0,255,60,.22),transparent 60%),radial-gradient(90% 60% at 10% 90%,rgba(0,200,60,.18),transparent 65%),#000}}

/* ---- v2: readability, h1, counter label, booking link, video player ---- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand-title{margin:0;font:inherit;font-weight:400}
.brand small{font-size:12px}
.status{font-size:12px}
.counter-label{color:var(--muted);font-size:12px}
.status-cta{pointer-events:auto;color:var(--text);transition:color .3s}
.status-cta:hover{color:var(--accent)}
.about a.cta,.about-copy a.cta{color:var(--accent)}
@media(max-width:760px){.brand small{font-size:11px}.status{font-size:11px}.counter-label{font-size:11px}}

.vplayer{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;background:rgba(0,0,0,.96);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.vplayer.open{opacity:1;visibility:visible}
.vp-top{width:min(92vw,calc(80vh*16/9));display:flex;justify-content:space-between;align-items:baseline;gap:16px;color:#fff;font-weight:700;font-size:14px}
.vp-title{text-transform:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vp-actions{display:flex;gap:20px;flex-shrink:0}
.vp-ext{color:var(--muted);transition:color .3s}
.vp-close{padding:0;background:none;color:#fff;transition:color .3s}
.vp-ext:hover,.vp-close:hover{color:var(--accent)}
.vp-frame{width:min(92vw,calc(80vh*16/9));aspect-ratio:16/9;background:#0a0a0a}
.vp-frame iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:760px){.vplayer{padding:16px}.vp-top{font-size:13px}}
@media(min-width:761px){.counter-label{position:absolute;top:50px;right:0;width:44px;text-align:center}}
