:root{
  --bg:#07040F;
  --surface:#0E0820;
  --surface-2:#160D31;
  --violet:#3700B3;
  --violet-bright:#7B3BFF;
  --teal:#01DBC2;
  --text:#F4F2FF;
  --muted:#A79DC8;
  --border:rgba(244,242,255,.09);
  --radius:18px;
  /* default accent (overridden per division) */
  --acc:#01DBC2;
  --acc2:#7B3BFF;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Space Grotesk',system-ui,sans-serif;
  background:var(--bg);color:var(--text);
  line-height:1.65;font-size:16.5px;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--teal);color:#04221E}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}

h1,h2,h3{font-family:'Unbounded',sans-serif;line-height:1.1;font-weight:600}
h1{font-size:clamp(2.3rem,6vw,4.6rem);letter-spacing:-.015em}
h2{font-size:clamp(1.7rem,3.6vw,2.7rem);letter-spacing:-.01em}
h3{font-size:1.12rem;font-weight:500}
.grad-text{background:linear-gradient(92deg,var(--teal) 10%,var(--violet-bright) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.acc-text{background:linear-gradient(92deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent}
.mono{font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase}
.lead{color:var(--muted);font-size:1.1rem;max-width:56ch}
.wrap{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.section{padding:6.5rem 0;position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:.8rem;margin-bottom:1.3rem;color:var(--teal)}
.eyebrow::before{content:"";width:34px;height:2px;background:linear-gradient(90deg,var(--teal),transparent)}

/* stripes — logo motif */
.stripes{display:inline-grid;gap:4px;width:46px}
.stripes i{height:3px;background:var(--acc);border-radius:2px;display:block}
.stripes i:nth-child(2){width:72%}
.stripes i:nth-child(3){width:46%}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.65rem;font-weight:600;font-size:.97rem;text-decoration:none;cursor:pointer;border:none;padding:1rem 1.8rem;border-radius:100px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}
.btn:active{transform:scale(.98)}
.btn-primary{background:linear-gradient(94deg,var(--violet-bright),var(--violet));color:#fff;box-shadow:0 0 0 1px rgba(123,59,255,.4),0 12px 38px -10px rgba(123,59,255,.55)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(123,59,255,.6),0 18px 48px -10px rgba(123,59,255,.7)}
.btn-outline{background:rgba(244,242,255,.03);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}
.btn-outline:hover{box-shadow:inset 0 0 0 1px rgba(1,219,194,.6);color:var(--teal)}
.btn-teal{background:var(--teal);color:#03201C}
.btn-teal:hover{transform:translateY(-2px);box-shadow:0 14px 38px -10px rgba(1,219,194,.5)}
.btn .arr{transition:transform .18s ease}
.btn:hover .arr{transform:translateX(4px)}

/* ---------- NAV ---------- */
header{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .25s ease,border-color .25s ease;border-bottom:1px solid transparent}
header.scrolled{background:rgba(7,4,15,.72);backdrop-filter:blur(16px);border-color:var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.brand img{height:42px;width:auto}
.brand-name{font-family:'Unbounded',sans-serif;font-weight:600;font-size:1.15rem;letter-spacing:.12em}
.brand-name small{display:block;font-family:'IBM Plex Mono',monospace;font-size:.56rem;letter-spacing:.34em;color:var(--muted);margin-top:1px}
.nav-links{display:flex;gap:2.1rem;list-style:none}
.nav-links a{text-decoration:none;font-size:.92rem;font-weight:500;color:var(--muted);transition:color .15s}
.nav-links a:hover{color:var(--text)}
.nav-right{display:flex;align-items:center;gap:.9rem}
.menu-btn{display:none;background:none;border:1px solid var(--border);color:var(--text);border-radius:10px;padding:.55rem .8rem;cursor:pointer;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.15em}

/* ---------- PORTAL HERO ---------- */
.phero{position:relative;padding:11rem 0 3.5rem;overflow:clip}
.phero-bg{position:absolute;inset:0;pointer-events:none}
.glow{position:absolute;border-radius:50%;filter:blur(95px)}
.phero .glow-1{width:560px;height:560px;background:var(--violet);opacity:.5;top:-200px;right:-120px}
.phero .glow-2{width:420px;height:420px;background:var(--teal);opacity:.14;bottom:-200px;left:-160px}
.phero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(ellipse 90% 70% at 50% 25%,black 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 25%,black 30%,transparent 75%)}
.phero-in{position:relative;z-index:2}
.badge{display:inline-flex;align-items:center;gap:.6rem;border:1px solid var(--border);background:rgba(244,242,255,.04);border-radius:100px;padding:.45rem 1rem .45rem .6rem;font-size:.83rem;color:var(--muted);margin-bottom:1.8rem}
.badge .pulse{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(1,219,194,.12);color:var(--teal)}
.badge .pulse::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal);animation:pulse 2.2s ease infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(1,219,194,.5)}55%{box-shadow:0 0 0 9px rgba(1,219,194,0)}}
.phero h1{max-width:16ch;margin-bottom:1.5rem}
.phero .lead{margin-bottom:2.4rem}
.phero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.trust{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:3rem}
.trust span{display:inline-flex;align-items:center;gap:.55rem;font-size:.86rem;color:var(--muted);border:1px solid var(--border);background:rgba(244,242,255,.02);border-radius:100px;padding:.5rem 1.05rem}
.trust span b{color:var(--teal);font-weight:600}

/* ---------- DIVISIONS (karty v rade) ---------- */
.divisions{display:grid;grid-template-columns:repeat(6,1fr);gap:1.1rem;margin-top:2.6rem}
.dcard{
  position:relative;grid-column:span 2;display:flex;flex-direction:column;gap:.85rem;
  border-radius:var(--radius);overflow:hidden;text-decoration:none;min-height:288px;
  background:linear-gradient(165deg,var(--surface),var(--surface-2));
  border:1px solid var(--border);padding:2rem 1.9rem 1.8rem;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
/* row 1 = 3 cards (span 2), row 2 = 2 cards (span 3) → vždy zarovnané */
.dcard:nth-child(4),.dcard:nth-child(5){grid-column:span 3}
.dcard::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(440px circle at 90% 8%,color-mix(in srgb,var(--acc) 20%,transparent),transparent 60%);opacity:.55;transition:opacity .3s ease}
.dcard:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--acc) 55%,transparent);box-shadow:0 26px 60px -30px color-mix(in srgb,var(--acc) 70%,transparent)}
.dcard:hover::before{opacity:1}
.dcard>*{position:relative;z-index:2}
.dcard-ico{width:52px;height:52px;border-radius:14px;flex:none;display:grid;place-items:center;color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,transparent);border:1px solid color-mix(in srgb,var(--acc) 28%,transparent)}
.dcard-kicker{font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.3rem}
.dcard-name{font-family:'Unbounded',sans-serif;font-weight:600;font-size:clamp(1.3rem,2vw,1.62rem);line-height:1.08;letter-spacing:-.01em}
.dcard p{color:var(--muted);font-size:.95rem;max-width:42ch}
.go{margin-top:auto;display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:.88rem;letter-spacing:.03em;color:var(--acc);padding-top:.5rem}
.go .arr{transition:transform .2s ease}
.dcard:hover .go .arr,.scard:hover .go .arr{transform:translateX(6px)}
/* status pill */
.pill{position:absolute;top:1.4rem;right:1.4rem;z-index:3;font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;padding:.32rem .7rem;border-radius:100px}
.pill.live{color:#04221E;background:var(--teal)}
.pill.soon{color:var(--muted);border:1px solid var(--border);background:rgba(10,6,22,.5)}
/* faint watermark letter */
.dcard-wm{position:absolute;right:-1%;bottom:-26%;z-index:1;font-family:'Unbounded',sans-serif;font-weight:700;font-size:9rem;line-height:1;letter-spacing:-.04em;color:color-mix(in srgb,var(--acc) 8%,transparent);user-select:none;pointer-events:none}

/* ---------- ESHOP + PREDAJŇA (samostatné karty) ---------- */
.shop-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.4rem}
.scards{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.8rem}
.scard{
  position:relative;border-radius:var(--radius);overflow:hidden;text-decoration:none;
  border:1px solid var(--border);padding:2rem 2rem 1.8rem;
  background:linear-gradient(160deg,var(--surface),var(--surface-2));
  display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.3rem;align-items:start;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.scard::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px circle at 88% 0%,color-mix(in srgb,var(--acc) 15%,transparent),transparent 60%);opacity:0;transition:opacity .25s ease}
.scard:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--acc) 50%,transparent);box-shadow:0 24px 56px -30px color-mix(in srgb,var(--acc) 60%,transparent)}
.scard:hover::after{opacity:1}
.scard>*{position:relative;z-index:2}
.scard-ico{grid-row:span 3;width:54px;height:54px;border-radius:14px;display:grid;place-items:center;color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,transparent);border:1px solid color-mix(in srgb,var(--acc) 26%,transparent)}
.scard h3{font-family:'Unbounded',sans-serif;font-size:1.3rem}
.scard p{color:var(--muted);font-size:.94rem;max-width:42ch}
.scard .go{margin-top:.6rem}

/* ---------- ABOUT STRIP ---------- */
.about-bg{background:var(--surface);border-block:1px solid var(--border)}
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center}
.stat-row{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--border);margin-top:2.2rem}
.stat{padding:1.6rem 2.4rem 1.6rem 0;margin-right:2.4rem;border-right:1px solid var(--border)}
.stat:last-child{border-right:none;margin-right:0}
.stat b{display:block;font-family:'Unbounded',sans-serif;font-weight:600;font-size:2rem}
.stat span{font-size:.84rem;color:var(--muted)}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.mini{border:1px solid var(--border);border-radius:14px;padding:1.4rem 1.4rem;background:rgba(244,242,255,.02)}
.mini .card-ico{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;color:var(--teal);background:rgba(1,219,194,.09);border:1px solid rgba(1,219,194,.22);margin-bottom:.9rem}
.mini h3{font-size:.98rem;margin-bottom:.35rem}
.mini p{color:var(--muted);font-size:.86rem}

/* ---------- CTA ---------- */
.cta-banner{position:relative;border-radius:24px;overflow:hidden;background:linear-gradient(115deg,var(--violet) 0%,#5B16E0 55%,#0E7E72 130%);padding:4.5rem 3.5rem;display:flex;align-items:center;justify-content:space-between;gap:3rem;flex-wrap:wrap}
.cta-banner::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 80% 20%,black,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 80% 20%,black,transparent 70%)}
.cta-banner h2{position:relative;max-width:20ch}
.cta-banner p{position:relative;color:rgba(244,242,255,.78);margin-top:.8rem;max-width:46ch}
.cta-banner .btn{position:relative}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--border);background:var(--surface)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.6rem;padding:4.5rem 0 3rem}
.footer-grid .brand-name{font-size:1.25rem}
.footer-grid p{color:var(--muted);font-size:.9rem;max-width:34ch;margin-top:1.2rem}
.footer-grid h4{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.1rem;font-family:'Unbounded',sans-serif;font-weight:500}
.footer-grid ul{list-style:none;display:grid;gap:.55rem;font-size:.92rem}
.footer-grid ul a{text-decoration:none;color:var(--muted)}
.footer-grid ul a:hover{color:var(--teal)}
.footer-bottom{border-top:1px solid var(--border);padding:1.5rem 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}

/* ---------- subpages ---------- */
.page-hero{position:relative;padding:11rem 0 4rem;overflow:clip}
.page-hero .glow-1{width:480px;height:480px;top:-220px;right:-100px;opacity:.42;background:var(--acc)}
.page-hero h1{font-size:clamp(2rem,4.8vw,3.5rem);max-width:20ch}
.crumbs{display:flex;gap:.6rem;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1.4rem}
.crumbs a{text-decoration:none;color:var(--muted)}
.crumbs a:hover{color:var(--teal)}
.crumbs b{color:var(--acc);font-weight:400}
.split{display:grid;grid-template-columns:1.45fr .85fr;gap:3.5rem;align-items:start}
.prose h2{font-size:clamp(1.3rem,2.4vw,1.7rem);margin:2.6rem 0 1rem}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--muted);margin-bottom:1.1rem}
.prose strong{color:var(--text);font-weight:600}
.checklist{list-style:none;display:grid;gap:.75rem;margin:1.4rem 0 1.8rem}
.checklist li{display:flex;gap:.85rem;align-items:flex-start;color:var(--muted)}
.checklist li::before{content:"";flex:none;width:20px;height:20px;margin-top:.2rem;border-radius:6px;background:color-mix(in srgb,var(--acc) 12%,transparent);border:1px solid color-mix(in srgb,var(--acc) 30%,transparent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='9' viewBox='0 0 11 9'%3E%3Cpath d='M1 4.5L4 7.5 10 1' stroke='%2301DBC2' stroke-width='1.8' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}
.sidebar{position:sticky;top:100px;display:grid;gap:1.1rem}
.side-card{border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(160deg,var(--surface),var(--surface-2));padding:1.8rem;display:grid;gap:.9rem}
.side-card h3{font-size:1.05rem}
.side-card p{color:var(--muted);font-size:.92rem}
.side-card .btn{justify-content:center}
.side-list{list-style:none;display:grid;gap:.2rem}
.side-list a{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem .4rem;text-decoration:none;color:var(--muted);font-size:.93rem;border-bottom:1px solid var(--border);transition:color .15s ease,padding-left .15s ease}
.side-list li:last-child a{border-bottom:none}
.side-list a:hover{color:var(--teal);padding-left:.7rem}
.note-card{border-radius:var(--radius);padding:1px;margin:1.8rem 0;background:linear-gradient(150deg,color-mix(in srgb,var(--acc) 55%,transparent),rgba(123,59,255,.4) 60%,transparent)}
.note-card-in{border-radius:17px;background:var(--surface);padding:1.5rem 1.6rem}
.note-card-in p{margin:0;color:var(--muted);font-size:.95rem}
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-top:1rem}
.info-card{border:1px solid var(--border);border-radius:14px;padding:1.5rem;background:rgba(244,242,255,.02)}
.info-card .mono{color:var(--acc);display:block;margin-bottom:.5rem}
.info-card a,.info-card strong{font-weight:600;font-size:1.05rem;text-decoration:none;color:var(--text)}
.info-card a:hover{color:var(--teal)}
.hours{list-style:none;display:grid;gap:.5rem;margin-top:.4rem}
.hours li{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.95rem;padding:.55rem 0;border-bottom:1px solid var(--border)}
.hours li:last-child{border-bottom:none}
.hours li b{color:var(--text);font-weight:600}
.hours li.today{color:var(--text)}
.hours li.today span:last-child{color:var(--teal)}
.map-embed{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);margin-top:1rem}
.map-embed iframe{display:block;width:100%;height:360px;border:0;filter:grayscale(.5) invert(.92) hue-rotate(200deg)}

/* ---------- KONTAKT / FORMULÁR ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:start;margin-top:3rem}
.c-item{display:flex;gap:1.1rem;align-items:center;padding:1.2rem 0;border-bottom:1px solid var(--border)}
.c-item:last-child{border-bottom:none}
.c-item .card-ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:var(--teal);background:rgba(1,219,194,.09);border:1px solid rgba(1,219,194,.22);flex:none}
.c-item .mono{display:block;color:var(--muted);margin-bottom:.1rem}
.c-item a{text-decoration:none;font-weight:600;font-size:1.05rem}
.c-item a:hover{color:var(--teal)}
form.contact{border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(160deg,var(--surface),var(--surface-2));padding:2.4rem;display:grid;gap:1.15rem}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
form.contact label{display:grid;gap:.45rem;font-size:.84rem;font-weight:500;color:var(--muted)}
form.contact input,form.contact select,form.contact textarea{font:inherit;font-size:.95rem;color:var(--text);padding:.85rem 1rem;border:1px solid var(--border);border-radius:11px;background:rgba(7,4,15,.55);width:100%}
form.contact select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A79DC8' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
form.contact input::placeholder,form.contact textarea::placeholder{color:#5E5580}
form.contact input:focus,form.contact select:focus,form.contact textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(1,219,194,.14)}
form.contact .consent{display:flex;gap:.65rem;align-items:flex-start;font-size:.82rem;font-weight:400}
form.contact .consent input{width:auto;margin-top:.25rem;accent-color:var(--teal)}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.reveal:nth-child(2){transition-delay:.07s}
.reveal:nth-child(3){transition-delay:.14s}
.reveal:nth-child(4){transition-delay:.21s}
.reveal:nth-child(5){transition-delay:.28s}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .badge .pulse::before{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
  .btn,.dcard,.scard{transition:none}
}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .divisions{grid-template-columns:1fr 1fr}
  .dcard,.dcard:nth-child(4),.dcard:nth-child(5){grid-column:auto}
  .scards,.about,.split,.info-grid,.contact-grid{grid-template-columns:1fr;gap:2.4rem}
  .footer-grid{grid-template-columns:1fr 1fr}
  .sidebar{position:static}
}
@media (max-width:620px){
  .divisions{grid-template-columns:1fr}
  .scard{grid-template-columns:1fr;gap:.85rem}
  .scard-ico{grid-row:auto}
  .f-row{grid-template-columns:1fr}
}
@media (max-width:740px){
  .nav-links{display:none}
  .nav-links.open{display:grid;position:fixed;top:78px;left:0;right:0;background:rgba(7,4,15,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:1.6rem;gap:1.1rem}
  .menu-btn{display:block}
  .nav-right .btn{display:none}
  .footer-grid{grid-template-columns:1fr}
  .section{padding:4.2rem 0}
  .dcard{padding:1.8rem 1.5rem}
  .cta-banner{padding:3rem 1.8rem}
  .stat{border-right:none;border-bottom:1px solid var(--border);margin-right:0;padding:1.1rem 0}
  .stat:last-child{border-bottom:none}
  .page-hero{padding:8.5rem 0 3rem}
}
