@font-face{font-family:"Marcellus";src:url(/fonty/marcellus-latin-400-normal.woff2) format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Marcellus";src:url(/fonty/marcellus-latin-ext-400-normal.woff2) format("woff2");font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Alegreya";src:url(/fonty/alegreya-latin-400-normal.woff2) format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Alegreya";src:url(/fonty/alegreya-latin-ext-400-normal.woff2) format("woff2");font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Alegreya";font-style:italic;src:url(/fonty/alegreya-latin-400-italic.woff2) format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Alegreya";font-style:italic;src:url(/fonty/alegreya-latin-ext-400-italic.woff2) format("woff2");font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Alegreya Sans SC";font-weight:500;src:url(/fonty/alegreya-sans-sc-latin-500-normal.woff2) format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Alegreya Sans SC";font-weight:500;src:url(/fonty/alegreya-sans-sc-latin-ext-500-normal.woff2) format("woff2");font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* Duša pútnika – spoločný štýl podstránok (nočná paleta z identity v4) */
:root{--bg:#0F1630;--surface:#161F40;--surface-2:#1E2850;--fg:#ECEAF4;--muted:#A9AECB;--gold:#E2BC62;--gold-hi:#F4D98E;
  --violet:#9C8BD6;--silver:#DCE3F2;--wood:#B88A60;--line:rgba(156,139,214,.24);--glow-v:rgba(156,139,214,.22);--glow-g:rgba(244,217,142,.14);
  --f-display:"Marcellus","Alegreya",Georgia,serif;--f-body:"Alegreya",Georgia,serif;--f-label:"Alegreya Sans SC","Alegreya",system-ui,sans-serif;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:18px;line-height:1.6;
  background-image:radial-gradient(1px 1px at 12% 18%,rgba(244,241,255,.7),transparent),radial-gradient(1px 1px at 72% 9%,rgba(244,241,255,.55),transparent),radial-gradient(1.4px 1.4px at 88% 26%,rgba(244,217,142,.6),transparent),radial-gradient(1px 1px at 34% 6%,rgba(244,241,255,.5),transparent),radial-gradient(1px 1px at 55% 22%,rgba(244,241,255,.4),transparent),radial-gradient(80% 40% at 50% 0%,rgba(156,139,214,.14),transparent 70%);
  background-repeat:no-repeat;background-size:100% 520px}
a{color:var(--gold)}
a:focus-visible,button:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 max(16px,env(safe-area-inset-left))}
.top{border-bottom:1px solid var(--line);background:rgba(15,22,48,.82);position:sticky;top:0;z-index:5;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.bar{display:flex;align-items:center;gap:12px 24px;min-height:62px;flex-wrap:wrap}
.wm{font-family:var(--f-display);font-size:1.45rem;letter-spacing:.05em;color:var(--fg);text-decoration:none;margin-right:auto;white-space:nowrap}
.wm span,.wmf span{color:var(--gold)}
.top nav{display:flex;gap:22px;align-items:center}
.top nav a{font-family:var(--f-label);font-weight:500;letter-spacing:.12em;font-size:.95rem;color:var(--fg);text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
.top nav a[aria-current]{border-bottom-color:var(--gold)}
.top nav a.lang{color:var(--gold)}
main{display:block}
section{padding:28px 0}
.hero{padding:56px 0 24px}
.label{display:block;font-family:var(--f-label);font-weight:500;font-size:.82rem;letter-spacing:.16em;color:var(--violet);text-transform:none}
h1{font-family:var(--f-display);font-weight:400;font-size:clamp(2.2rem,6vw,3.6rem);line-height:1.08;letter-spacing:.02em;margin:8px 0 0;text-shadow:0 0 34px var(--glow-v)}
.lead{color:var(--muted);max-width:62ch;font-size:1.12rem;margin:18px 0}
.lead.s{font-size:1rem;margin-top:0}
.sec{font-family:var(--f-display);font-weight:400;font-size:clamp(1.5rem,3.6vw,2rem);margin:0 0 18px;display:flex;align-items:center;gap:12px}
.hico{width:30px;height:30px;color:var(--gold);flex:none}
h3 .hico{width:24px;height:24px;vertical-align:-5px;margin-right:8px}
.note{font-size:.95rem;color:var(--muted);max-width:70ch}
.crumb{display:inline-block;font-family:var(--f-label);letter-spacing:.1em;font-size:.88rem;text-decoration:none;margin-bottom:16px}
.two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center}
@media (max-width:860px){.two{grid-template-columns:minmax(0,1fr);gap:24px}}
/* štítky */
.facts{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.facts span{font-family:var(--f-label);font-weight:500;font-size:.8rem;letter-spacing:.08em;padding:2px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}
.facts span.soon{color:var(--violet);border-color:var(--violet)}
/* filter */
.filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 24px}
.flabel{font-family:var(--f-label);letter-spacing:.12em;font-size:.88rem;color:var(--muted);margin-right:6px;width:100%}
.fchip{font:500 .9rem var(--f-label);letter-spacing:.1em;padding:7px 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--fg);cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.fchip:hover{border-color:var(--gold)}
.fchip.on{background:var(--gold);border-color:var(--gold);color:var(--bg)}
/* karty */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:24px}
.grid.two-col{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.card{background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;min-width:0;transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .5s,box-shadow .5s}
.card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--gold) 45%,transparent);box-shadow:0 18px 40px -22px var(--glow-v)}
.card[hidden]{display:none}
.card .img{aspect-ratio:16/9;display:grid;place-items:center;color:var(--gold);
  background:radial-gradient(60% 70% at 50% 60%,var(--glow-g),transparent 70%),radial-gradient(90% 90% at 50% 30%,var(--glow-v),transparent 80%),var(--surface-2)}
.card.c-violet .img{color:var(--violet)}.card.c-wood .img{color:var(--wood)}
.cico{width:30%;height:auto;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.card:hover .cico{transform:scale(1.05)}
.card .body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.card .body p{margin:4px 0 0}
.card .t{font-family:var(--f-display);font-weight:400;font-size:1.6rem;line-height:1.15;margin:2px 0 0}
.card .t.s{font-size:1.28rem}
.card .t a{color:var(--fg);text-decoration:none}
.card .t a:hover{color:var(--gold-hi)}
.card.soonc{border-style:dashed;background:transparent}
.act{margin-top:auto;padding-top:16px;display:flex;flex-wrap:wrap;gap:12px}
section .act{margin-top:12px}
/* tlačidlá – niť svetla po obvode */
.btn{position:relative;display:inline-flex;align-items:center;gap:8px;font:500 .95rem var(--f-label);letter-spacing:.1em;padding:11px 22px;border:1px solid var(--gold);border-radius:999px;color:var(--gold);text-decoration:none;background:transparent;transition:background .3s,color .3s,border-color .3s,transform .3s;isolation:isolate}
.btn:hover{background:var(--gold-hi);border-color:var(--gold-hi);color:var(--bg)}
.btn.listen{border-color:color-mix(in srgb,var(--gold) 45%,transparent);background:color-mix(in srgb,var(--gold) 10%,transparent);color:var(--gold-hi)}
.btn.listen:hover{background:color-mix(in srgb,var(--gold) 22%,transparent);color:var(--gold-hi);transform:translateY(-1px)}
.orbit{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);overflow:visible;pointer-events:none;z-index:-1}
.orbit rect{fill:none;vector-effect:non-scaling-stroke}
.o-run{stroke:var(--gold-hi);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:12 88;filter:drop-shadow(0 0 3px var(--gold-hi));animation:orbit 4.2s linear infinite}
.btn.listen:hover .o-run{animation-duration:2.4s}
@keyframes orbit{to{stroke-dashoffset:-100}}
/* zastávky */
.stops{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.stop{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:18px 20px;background:var(--surface);border:1px solid var(--line)}
.num{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-size:1.1rem;border:1px solid var(--gold);color:var(--gold)}
.stop.c-violet .num{border-color:var(--violet);color:var(--violet)}.stop.c-wood .num{border-color:var(--wood);color:var(--wood)}
.shead{display:flex;align-items:center;gap:10px}
.shead h3{font-family:var(--f-display);font-weight:400;font-size:1.3rem;line-height:1.2;margin:0}
.sico{width:26px;height:26px;color:var(--gold);flex:none;opacity:.85}
.sbody p{margin:6px 0 0}
.guide{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;margin-top:12px!important;padding-top:10px;border-top:1px solid var(--line)}
.gi{width:20px;height:20px;color:var(--gold);flex:none;margin-top:3px}
.guide .ok{color:var(--gold-hi)}.guide .soon{color:var(--violet)}
/* mapa */
.mapbox{margin:0;padding:16px;background:var(--surface);border:1px solid var(--line)}
section .mapbox{margin-top:32px}
.map{width:100%;height:auto;display:block}
.map .reg{fill:rgba(30,40,80,.55);stroke:rgba(156,139,214,.28);stroke-width:.8}
.map .kraj{fill:none;stroke:rgba(220,227,242,.42);stroke-width:1.3}
.map .rlab{font-family:var(--f-label);font-size:13px;letter-spacing:.2em;fill:rgba(169,174,203,.55)}
.map .line{fill:none;stroke-width:1.4;stroke-dasharray:3 4;opacity:.75}
.map .line.c-gold,.map .c-gold circle{stroke:var(--gold)}.map .line.c-violet,.map .c-violet circle{stroke:var(--violet)}.map .line.c-wood,.map .c-wood circle{stroke:var(--wood)}
.map .dot circle{stroke-width:2;fill:var(--bg)}
.map .dot.c-gold circle{fill:var(--gold)}.map .dot.c-violet circle{fill:var(--violet)}.map .dot.c-wood circle{fill:var(--wood)}
.map .pin circle{fill:var(--bg);stroke-width:1.6}
.map .pin text{font-family:var(--f-display);font-size:15px}
.map .pin circle{stroke-width:2}
.map .c-gold text{fill:var(--gold)}.map .c-violet text{fill:var(--violet)}.map .c-wood text{fill:var(--wood)}
.map .nat path{fill:none;stroke:#8FC2A0;stroke-width:1.4}
.legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:10px;font-family:var(--f-label);font-size:.85rem;letter-spacing:.08em;color:var(--muted)}
.lg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:0}
.lg.c-gold i{background:var(--gold)}.lg.c-violet i{background:var(--violet)}.lg.c-wood i{background:var(--wood)}
.gate{padding-bottom:56px}
/* pätička */
.foot{border-top:1px solid var(--line);padding:36px 0 max(36px,env(safe-area-inset-bottom));text-align:center;color:var(--muted);font-size:.95rem}
.foot p{margin:6px 0}
.fmark{width:34px;height:34px;color:var(--gold)}
.wmf{font-family:var(--f-display);color:var(--fg);letter-spacing:.04em}
.muted{font-family:var(--f-label);letter-spacing:.14em;font-size:.82rem}
@media (max-width:520px){body{font-size:17px}.stop{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:16px}.num{width:32px;height:32px}.top nav{gap:16px}.wm{font-size:1.25rem}}
@media (prefers-reduced-motion:reduce){.o-run{animation:none}.card,.cico{transition:none}}
.langs{display:flex;gap:4px;margin-left:4px}
.top nav a.lang{font-size:.82rem;letter-spacing:.08em;padding:4px 7px;border:1px solid transparent;border-radius:4px;color:var(--muted)}
.top nav a.lang.on{color:var(--gold);border-color:var(--line)}
.top nav a.lang:hover{color:var(--gold)}
@media (max-width:520px){.bar{padding-block:8px}.top nav{width:100%;justify-content:space-between}}
