@font-face {
    font-family: 'Segoe UI Variable';
    src: local('Segoe UI Variable Display Regular'), local('Segoe UI Variable Display'), local('Segoe UI');
    font-weight: 400;
}
@font-face {
    font-family: 'Segoe UI Variable';
    src: local('Segoe UI Variable Display Bold'), local('Segoe UI Variable Display'), local('Segoe UI Bold');
    font-weight: 700;
}

:root { --f: 'Segoe UI Variable', sans-serif; }

* { margin:0; padding:0; box-sizing:border-box; cursor:none !important; }
body { font-family:var(--f); background:#000; color:#fff; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
a { color:#fff; text-decoration:none; }
button { background:none; border:none; color:#fff; font:inherit; outline:none; }

/* Custom cursor s optimalizací na GPU (CSS Variables transform) */
.c { position:fixed; top:0; left:0; width:10px !important; height:10px !important; aspect-ratio:1/1; background:#fff; border-radius:50% !important; pointer-events:none; mix-blend-mode:difference; z-index:9999; transform:translate(var(--x, -100px), var(--y, -100px)) translate(-50%, -50%) scale(var(--s, 1)); transition:transform 0.15s cubic-bezier(0.1, 0.8, 0.2, 1); will-change:transform; }
.c.c-h { --s: 7; }

/* === DESKTOP 1920x1080 === */
.h { position:absolute; top:0; left:0; width:100%; height:89px; z-index:100; background:#666666; }
.h-name { position:absolute; left:53px; top:33px; font-weight:700; font-size:34px; letter-spacing:0.69em; line-height:1; }
.h-home { position:absolute; right:53px; top:33px; font-weight:400; font-size:34px; letter-spacing:0.69em; line-height:1; }
.mb-br { display:none; }
.h-ham { display:none; }

.m { position:relative; width:100%; height:100vh; overflow:hidden; }
.hero { position:absolute; top:89px; left:0; width:100%; height:calc(100vh - 89px); z-index:10; }
.h-img { width:100%; height:100%; object-fit:cover; display:block; }

.v-m { position:absolute; left:53px; top:123px; display:flex; flex-direction:column; gap:53px; z-index:20; }
.v-m a, .b-l a, .m-b a { font-weight:400; font-size:34px; letter-spacing:0.191em; line-height:1; }

.b-l { position:fixed; bottom:53px; left:0; width:100%; z-index:20; }
.b-l-1 { position:absolute; left:53px; bottom:0; }
.b-l-2 { position:absolute; left:50%; transform:translateX(-50%); bottom:0; }
.b-l-3 { position:absolute; right:53px; bottom:0; }

.m-b-l { display:none; }

/* Grid a Youtube Embed pro další stránky */
.g-wrap { display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:53px; padding:53px; }
.v-wrap { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; margin-bottom:53px; }
.v-wrap iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:none; }

/* Cookie bar */
.cb { position:fixed; bottom:53px; left:53px; right:53px; background:rgba(17,17,17,0.7); backdrop-filter:blur(15px); -webkit-backdrop-filter:blur(15px); padding:21px; z-index:1000; font-size:16px; text-align:center; transform:translateY(200%); transition:transform 0.5s; border:1px solid rgba(255,255,255,0.1); }
.cb.v { transform:translateY(0); }
.cb a { text-decoration:underline; }
.cb button { font-weight:700; text-transform:uppercase; margin:0 10px; }

/* === MOBIL === */
.m-over { position:fixed; inset:0; background:rgba(0,0,0,0.6); backdrop-filter:blur(15px); -webkit-backdrop-filter:blur(15px); z-index:90; opacity:0; pointer-events:none; transition:0.4s ease; padding:144px 0 0 21px; display:flex; flex-direction:column; }
.m-over.o { opacity:1; pointer-events:auto; }
.m-b { display:flex; flex-direction:column; gap:53px; }
.m-b-2 { margin-top:106px; }

@media (max-width: 1024px) {
    .m { min-height:100vh; }
    .h-home, .v-m, .b-l { display:none; }
    .cb { bottom:21px; left:21px; right:21px; }

    /* Portrait */
    .h { height:144px; }
    .h-name { left:21px; top:21px; font-size:34px; line-height:1.2; }
    .mb-br { display:block; }
    
    .h-ham { display:flex; position:absolute; right:21px; top:21px; width:34px; height:24px; z-index:101; flex-direction:column; justify-content:space-between; }
    .h-ham span { display:block; width:100%; height:2px; background:#fff; transition:0.4s; }
    .h-ham.o span:nth-child(1) { transform:translateY(11px) rotate(45deg); }
    .h-ham.o span:nth-child(2) { opacity:0; }
    .h-ham.o span:nth-child(3) { transform:translateY(-11px) rotate(-45deg); }

    .hero { top:144px; height:calc(100vh - 144px); }
    .m-b-l { display:flex; position:absolute; bottom:21px; left:21px; right:21px; justify-content:space-between; z-index:20; font-size:24px; }
    
    /* Fallback zpět pro dotyková zařízení */
    @media (pointer: coarse) { * { cursor:auto !important; } .c { display:none !important; } }
}

@media (max-width: 1024px) and (orientation: landscape) {
    .h { height:89px; }
    .h-name { white-space:nowrap; }
    .mb-br { display:none; }
    .hero { top:89px; height:calc(100vh - 89px); }
    .m-b-3 { display:none; }
    .m-b-l { bottom:21px; left:21px; right:21px; justify-content:space-between; height:0; align-items:flex-end; }
    .m-b-1 { position:absolute; right:0; bottom:0; }
    .m-b-2 { position:absolute; left:0; bottom:0; }
}