/* DiDo v6 — DM Sans, All animations */
@font-face{font-family:'Quadrillion';src:url('../assets/Quadrillion Sb.otf') format('opentype');font-weight:600;font-style:normal;font-display:swap}
:root{--font:'Rubik',-apple-system,sans-serif;--font-logo:'Quadrillion',sans-serif}
[data-theme="dark"]{--bg:#0b0b0b;--bg2:#141414;--card:rgba(255,255,255,.03);--border:rgba(255,255,255,.07);--bh:rgba(255,255,255,.18);--tx:#e4e4e4;--tx2:#999;--tx3:#555;--acc:#c0a46c;--acc2:#888}
[data-theme="light"]{--bg:#fafafa;--bg2:#f0f0f0;--card:rgba(0,0,0,.02);--border:rgba(0,0,0,.07);--bh:rgba(0,0,0,.18);--tx:#1a1a1a;--tx2:#666;--tx3:#aaa;--acc:#8a7340;--acc2:#666}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--tx);overflow-x:hidden;line-height:1.6;font-size:15px;transition:background .4s,color .4s}

/* LOADER */
#loader{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s}
#loader.hidden{opacity:0;pointer-events:none}
.loader-spinner{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--acc);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* NAVBAR 38px */
#navbar{position:fixed;top:0;left:0;width:100%;height:38px;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;z-index:100;background:rgba(11,11,11,.65);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
[data-theme="light"] #navbar{background:rgba(250,250,250,.75)}
.nav-logo{text-decoration:none;font-family:var(--font-logo);font-size:1.2rem;font-weight:600;letter-spacing:.08rem;background:linear-gradient(135deg,#808080,#b0b0b0,#c8c8c8,#a0a0a0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:filter .3s,transform .3s}
.nav-logo:hover{filter:brightness(1.3);transform:scale(1.05)}
.nav-links{display:flex;gap:1.6rem;align-items:center}
.nav-links a{color:var(--tx2);text-decoration:none;font-size:.72rem;font-weight:500;letter-spacing:.05rem;text-transform:uppercase;transition:color .3s}
.nav-links a:hover{color:var(--tx)}
.nav-cta{padding:.2rem .7rem;border:1px solid var(--bh);border-radius:2px}
.nav-cta:hover{background:var(--tx);color:var(--bg)!important}
.nav-right{display:flex;align-items:center;gap:.7rem}
#theme-toggle{background:none;border:none;cursor:pointer;font-size:.9rem;color:var(--tx2)}
#theme-toggle:hover{color:var(--tx)}
.nav-lang{display:flex;gap:.25rem}
.nav-lang button{background:transparent;border:1px solid var(--border);color:var(--tx2);padding:.12rem .45rem;cursor:pointer;font-family:var(--font);font-size:.62rem;font-weight:500;border-radius:2px;transition:all .3s}
.nav-lang button.lang-active{background:var(--acc);color:var(--bg);border-color:var(--acc)}

/* HERO */
#hero-wrapper{position:relative;height:250vh}
#hero{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;background:var(--bg)}
#globe-canvas{position:absolute;inset:0;z-index:1}
.hero-content{position:relative;z-index:2;width:100%;height:100%;display:flex;justify-content:space-between;align-items:center;padding:0 5%;pointer-events:none}
.hero-left{flex:1;max-width:42%}
.hero-right{flex:1;max-width:28%;text-align:right;align-self:flex-end;padding-bottom:12%}
.hero-title{font-size:clamp(1.6rem,3.2vw,2.8rem);font-weight:300;line-height:1.25;color:var(--tx);cursor:default;pointer-events:all}
.hero-title .ch{display:inline-block;transition:all .35s cubic-bezier(.4,0,.2,1)}
.hero-title .ch:hover{transform:translateY(-5px) rotate(-3deg) scale(1.15);text-shadow:0 0 20px currentColor}
.hero-title .ch.scatter{transform:translate(var(--sx),var(--sy)) rotate(var(--sr));opacity:.25;filter:blur(2px)}
.hero-title .ch:nth-child(7n+1):hover,.hero-title .ch:nth-child(7n+1).scatter{color:#ff4444}
.hero-title .ch:nth-child(7n+2):hover,.hero-title .ch:nth-child(7n+2).scatter{color:#ff8800}
.hero-title .ch:nth-child(7n+3):hover,.hero-title .ch:nth-child(7n+3).scatter{color:#ffcc00}
.hero-title .ch:nth-child(7n+4):hover,.hero-title .ch:nth-child(7n+4).scatter{color:#44cc44}
.hero-title .ch:nth-child(7n+5):hover,.hero-title .ch:nth-child(7n+5).scatter{color:#4488ff}
.hero-title .ch:nth-child(7n+6):hover,.hero-title .ch:nth-child(7n+6).scatter{color:#8844ff}
.hero-title .ch:nth-child(7n):hover,.hero-title .ch:nth-child(7n).scatter{color:#cc44cc}

.hero-tagline{font-size:.92rem;color:var(--tx2);line-height:1.8;font-weight:300;pointer-events:all;cursor:default}
.hero-tagline .ch{display:inline-block;transition:all .35s cubic-bezier(.4,0,.2,1)}
.hero-tagline .ch:hover{transform:translateY(-4px) scale(1.12);text-shadow:0 0 15px currentColor}
.hero-tagline .ch.scatter{transform:translate(var(--sx),var(--sy)) rotate(var(--sr));opacity:.3;filter:blur(1.5px)}
.hero-tagline .ch:nth-child(7n+1):hover,.hero-tagline .ch:nth-child(7n+1).scatter{color:#ff4444}
.hero-tagline .ch:nth-child(7n+2):hover,.hero-tagline .ch:nth-child(7n+2).scatter{color:#ff8800}
.hero-tagline .ch:nth-child(7n+3):hover,.hero-tagline .ch:nth-child(7n+3).scatter{color:#ffcc00}
.hero-tagline .ch:nth-child(7n+4):hover,.hero-tagline .ch:nth-child(7n+4).scatter{color:#44cc44}
.hero-tagline .ch:nth-child(7n+5):hover,.hero-tagline .ch:nth-child(7n+5).scatter{color:#4488ff}
.hero-tagline .ch:nth-child(7n+6):hover,.hero-tagline .ch:nth-child(7n+6).scatter{color:#8844ff}
.hero-tagline .ch:nth-child(7n):hover,.hero-tagline .ch:nth-child(7n).scatter{color:#cc44cc}

/* Gold highlight */
.gold{color:var(--acc)!important}
.gold .ch{color:var(--acc)}

/* Line reveal TOP variant */
.line-reveal.top{margin-bottom:2rem;margin-top:0}

/* Magnetic text */
.magnetic-ch{display:inline-block;transition:transform .3s cubic-bezier(.4,0,.2,1),color .3s;cursor:default}
.magnetic-ch.attracted{color:var(--acc)}

/* COMPASS BG */
.compass-bg{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:85vmin;height:85vmin;pointer-events:none;z-index:0;opacity:0;transition:opacity .6s}
.compass-bg.visible{opacity:1}
.compass-svg{width:100%;height:100%}

/* Kruhy - zlaté v dark, hnědé v light */
.comp-ring{transform-origin:400px 400px}
[data-theme="dark"] .comp-ring{stroke:#c0a46c}
[data-theme="light"] .comp-ring{stroke:#5a4a30}
[data-theme="dark"] .r1{opacity:.25}
[data-theme="dark"] .r2{opacity:.2}
[data-theme="dark"] .r3{opacity:.3}
[data-theme="dark"] .r4{opacity:.18}
[data-theme="light"] .r1{opacity:.18}
[data-theme="light"] .r2{opacity:.14}
[data-theme="light"] .r3{opacity:.22}
[data-theme="light"] .r4{opacity:.12}

/* Ramena + písmena */
.comp-cross{transform-origin:400px 400px}
[data-theme="dark"] .comp-arm{stroke:rgba(255,255,255,.25)}
[data-theme="light"] .comp-arm{stroke:rgba(0,0,0,.15)}
[data-theme="dark"] .comp-letter{fill:rgba(255,255,255,.3)}
[data-theme="light"] .comp-letter{fill:rgba(0,0,0,.2)}

/* Střed */
[data-theme="dark"] .comp-center{fill:#c0a46c;opacity:.35}
[data-theme="light"] .comp-center{fill:#5a4a30;opacity:.25}

/* ANIMATED SECTIONS */
.anim-section{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 2rem;position:relative;z-index:1;overflow:hidden}

/* Sekce 1: Line reveal */
.line-reveal{position:relative;width:100%;height:2px;margin-bottom:3rem;max-width:600px}
.line-left,.line-right{position:absolute;top:0;height:2px;background:var(--acc);width:0;transition:width 1.2s cubic-bezier(.4,0,.2,1)}
.line-left{left:0}
.line-right{right:0}
.anim-section.active .line-left,.anim-section.active .line-right{width:50%}
.line-text{opacity:0;transform:translateY(20px);transition:all .8s ease .8s}
.anim-section.active .line-text{opacity:1;transform:translateY(0)}

/* Sekce 2,3: Shape draw */
.shape-anim{position:absolute;width:300px;height:300px;color:var(--acc);opacity:.3}
.draw-path{stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke-dashoffset 2s cubic-bezier(.4,0,.2,1)}
.anim-section.active .draw-path{stroke-dashoffset:0}
.shape-text{opacity:0;transform:scale(.8);transition:all .8s ease .6s}
.anim-section.active .shape-text{opacity:1;transform:scale(1)}

/* Sekce 4: Split merge + decorative circle */
.manifest-circle{position:absolute;width:280px;height:280px;color:var(--acc);opacity:0;transform:scale(.6);transition:all 1.5s cubic-bezier(.4,0,.2,1)}
.manifest-circle .draw-path{stroke-dasharray:900;stroke-dashoffset:900;transition:stroke-dashoffset 2s cubic-bezier(.4,0,.2,1) .3s}
.anim-section.active .manifest-circle{opacity:.25;transform:scale(1)}
.anim-section.active .manifest-circle .draw-path{stroke-dashoffset:0}
.split-wrap{position:relative;z-index:1;text-align:center}
.split-top,.split-bot{font-size:clamp(1.8rem,4.5vw,3.2rem);font-weight:500;line-height:1.4;transition:all 1s cubic-bezier(.4,0,.2,1)}
.split-top{transform:translateY(-60px);opacity:0}
.split-bot{transform:translateY(60px);opacity:0}
.anim-section.active .split-top{transform:translateY(0);opacity:1}
.anim-section.active .split-bot{transform:translateY(0);opacity:1;transition-delay:.2s}

/* Common anim text */
.anim-text{font-size:clamp(1.5rem,3.2vw,2.2rem);font-weight:300;line-height:1.35;max-width:900px}
.sub-stat{font-size:.78rem;color:var(--acc);text-transform:uppercase;letter-spacing:.18rem;font-weight:500;margin-top:1rem;opacity:0;transition:opacity .8s ease 1.2s}
.sub-desc{font-size:.95rem;color:var(--tx2);margin-top:1.2rem;line-height:1.7;font-weight:300;max-width:600px;opacity:0;transition:opacity .8s ease 1.4s}
.anim-section.active .sub-stat,.anim-section.active .sub-desc{opacity:1}

/* Sekce 5: Typewriter */
.typewriter-target{font-size:clamp(1.5rem,3.2vw,2.2rem);font-weight:500;text-align:center;margin-bottom:.6rem;min-height:2.5em}
.tw-cursor{animation:blink 1s infinite;color:var(--acc)}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

/* Sekce 6: Cascade */
.cascade-title,.cascade-sub{opacity:0;transform:translateY(30px);transition:all .8s ease}
.cascade-title.visible{opacity:1;transform:translateY(0)}
.cascade-sub.visible{opacity:1;transform:translateY(0);transition-delay:.2s}

/* Sekce 7: Split reveal */
.split-reveal{overflow:hidden;display:flex;justify-content:center}
.split-l,.split-r{display:inline-block;transition:all 1s cubic-bezier(.4,0,.2,1)}
.split-l{transform:translateX(-100px);opacity:0}
.split-r{transform:translateX(100px);opacity:0}
.split-reveal.visible .split-l,.split-reveal.visible .split-r{transform:translateX(0);opacity:1}

/* Sekce 9: Blur focus */
.zoom-text{font-size:clamp(1.8rem,5vw,3.5rem);font-weight:400;transform:scale(1.4);opacity:0;filter:blur(18px);transition:all 1.5s cubic-bezier(.4,0,.2,1)}
.anim-section.active .zoom-text{transform:scale(1);opacity:1;filter:blur(0)}
.zoom-desc{opacity:0;transform:translateY(15px);transition:all .8s ease 1s}
.anim-section.active .zoom-desc{opacity:1;transform:translateY(0)}

/* SECTIONS COMMON */
section{padding:5rem 2rem;position:relative;z-index:1}
.section-title{font-size:clamp(1.5rem,3.2vw,2.2rem);font-weight:500;text-align:center;margin-bottom:.6rem}
.section-sub{text-align:center;color:var(--tx2);font-size:.92rem;margin-bottom:3rem;max-width:900px;margin-left:auto;margin-right:auto;font-weight:300;line-height:1.7}
[data-anim="slide-up"]{opacity:0;transform:translateY(40px);transition:all 1s cubic-bezier(.4,0,.2,1)}
[data-anim="slide-up"].visible{opacity:1;transform:translateY(0)}

/* CARDS */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;max-width:800px;margin:0 auto}
.card{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:2rem 1.5rem;text-decoration:none;color:var(--tx);transition:all .3s}
.card:hover{border-color:var(--bh);transform:translateY(-3px);background:var(--bg2)}
.card h3{font-size:1rem;font-weight:600;margin-bottom:.4rem}
.card p{color:var(--tx2);font-size:.82rem;line-height:1.5}

/* TOUR CARDS */
.tour-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}
.tour{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:2rem;position:relative;transition:all .3s}
.tour.featured{border-color:var(--acc)}
.tour.premium{border-color:var(--acc2)}
.tour.soon{opacity:.8}
.tour:hover{transform:translateY(-3px);border-color:var(--bh)}
.badge{position:absolute;top:-10px;right:16px;padding:.2rem .7rem;font-size:.6rem;font-weight:700;letter-spacing:.1rem;text-transform:uppercase;border-radius:2px}
.badge.gold{background:var(--acc);color:var(--bg)}
.badge.silver{background:var(--acc2);color:var(--bg)}
.badge.dim{background:var(--tx3);color:var(--tx)}
.tour h3{font-size:1.25rem;font-weight:600;margin-bottom:.7rem}
.meta{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;font-size:.75rem;color:var(--tx2)}
.meta span{padding:.15rem .5rem;background:var(--bg2);border-radius:2px}
.tour>p{color:var(--tx2);line-height:1.7;font-size:.88rem;margin-bottom:1rem}
.stops{list-style:none;padding-top:1rem;border-top:1px solid var(--border)}
.stops li{padding:.3rem 0;font-size:.8rem;color:var(--tx2);border-bottom:1px dashed var(--border)}

/* TECH */
.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto;align-items:start}
.tech-info p{color:var(--tx2);font-size:.92rem;line-height:1.8;margin-bottom:1.2rem;font-weight:300}
.tech-info strong{color:var(--tx);font-weight:500}
.features{display:flex;flex-direction:column;gap:.6rem;margin-top:1.5rem}
.feat{padding:1rem;border-left:2px solid var(--border);transition:all .3s}
.feat:hover{border-left-color:var(--acc);padding-left:1.3rem}
.feat h4{font-size:.9rem;font-weight:600;margin-bottom:.2rem}
.feat p{color:var(--tx2);font-size:.82rem;line-height:1.6}
.hud-box{background:var(--bg2);border:1px solid var(--acc);border-radius:6px;padding:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.hud-left small{font-size:.6rem;letter-spacing:.15rem;text-transform:uppercase;color:var(--tx3);display:block;margin-bottom:.3rem}
.hud-left strong{font-size:1.4rem;font-weight:600;color:var(--acc);display:block;margin-bottom:.2rem}
.hud-left span{font-size:.75rem;color:var(--tx2);display:block}
.hud-left em{font-size:1rem;font-weight:500;color:var(--acc);font-style:normal;display:block;margin-top:.3rem}
.hud-map{background:linear-gradient(135deg,#1a2332,#0d1520);border-radius:4px;position:relative;overflow:hidden;min-height:90px}
[data-theme="light"] .hud-map{background:linear-gradient(135deg,#dde4ec,#c8d0d8)}
.map-dot{position:absolute;top:40%;left:50%;width:7px;height:7px;background:var(--acc);border-radius:50%;animation:pulse 2s ease-in-out infinite;box-shadow:0 0 8px var(--acc)}
.map-route{position:absolute;top:25%;left:15%;width:70%;height:50%;border:1px dashed rgba(192,164,108,.25);border-radius:50%}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.5}}
.caption{text-align:center;color:var(--tx3);font-size:.72rem;margin-top:.8rem;font-style:italic}

/* TIMELINE */
.timeline{max-width:650px;margin:0 auto;position:relative;padding-left:2.5rem}
.tl-line{position:absolute;left:10px;top:0;bottom:0;width:1px;background:var(--border)}
.tl-progress{position:absolute;left:10px;top:0;width:1px;height:0;background:var(--acc);transition:height 2s cubic-bezier(.4,0,.2,1)}
.tl-item{position:relative;padding:1.2rem 0 1.2rem 1.5rem;opacity:0;transform:translateX(-15px);transition:all .7s ease}
.tl-item.anim{opacity:1;transform:translateX(0)}
.tl-dot{position:absolute;left:-22px;top:1.5rem;width:10px;height:10px;border:2px solid var(--tx3);border-radius:50%;background:var(--bg);transition:all .5s}
.tl-dot.active{background:var(--acc);border-color:var(--acc);box-shadow:0 0 10px rgba(192,164,108,.4)}
.tl-item.anim .tl-dot{border-color:var(--acc)}
.tl-date{font-size:.7rem;color:var(--acc);letter-spacing:.1rem;text-transform:uppercase;font-weight:500}
.tl-body h3{font-size:1.05rem;font-weight:600;margin:.2rem 0}
.tl-body p{color:var(--tx2);font-size:.85rem;line-height:1.7}

/* FOOTER */
footer{border-top:1px solid var(--border);padding:.8rem 1.5rem .4rem}
.footer-main{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem;align-items:center}
.footer-col.center{text-align:center}
.footer-col.right{text-align:right;display:flex;flex-direction:column;gap:.3rem}
.footer-col.right a{color:var(--tx2);text-decoration:none;font-size:.75rem;transition:color .3s}
.footer-col.right a:hover{color:var(--tx)}
.footer-logo-text{font-family:var(--font-logo);font-size:1rem;font-weight:600;letter-spacing:.08rem;background:linear-gradient(135deg,#808080,#b0b0b0,#c8c8c8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.footer-tag{color:var(--tx3);font-size:.6rem;font-style:italic;margin-top:.2rem}
.footer-email{color:var(--tx);text-decoration:none;font-size:.8rem;border-bottom:1px solid var(--border);padding-bottom:.1rem;transition:all .3s}
.footer-email:hover{color:var(--acc);border-color:var(--acc)}
.footer-social{display:flex;gap:1.2rem;justify-content:center;margin-top:.6rem}
.footer-social a{color:var(--tx3);text-decoration:none;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.05rem;transition:color .3s}
.footer-social a:hover{color:var(--tx)}
.footer-bottom{text-align:center;color:var(--tx3);font-size:.55rem;margin-top:.5rem;padding-top:.4rem;border-top:1px solid var(--border)}

/* RESPONSIVE */
@media(max-width:968px){.nav-links{display:none}.hero-content{flex-direction:column;justify-content:center;padding:0 2rem;text-align:center}.hero-left,.hero-right{max-width:100%;text-align:center}.hero-right{margin-top:2rem;padding:0;align-self:center}.tech-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr;text-align:center}.footer-col.right{text-align:center;flex-direction:row;justify-content:center;gap:1rem}}
@media(max-width:640px){section{padding:3rem 1.2rem}#hero-wrapper{height:200vh}.cards-grid,.tour-grid{grid-template-columns:1fr}}
