/* Večerní karty – noční scéna (veřejné stránky) */
:root{
  --noc:#120b26;--noc2:#1b1140;--fial:#2b1c5e;--ametyst:#8b6ae0;--levandule:#d3c4ff;
  --zlato:#e8c27a;--zlato2:#fbe7b5;--zlato3:#b8893e;--text:#f6f2ff;--tichy:#d4cbee;--tlumeny:#ada2cf;
  --linka:rgba(232,194,122,.24);--sklo:rgba(255,255,255,.035);--sklo2:rgba(255,255,255,.06);
  --serif:"Cormorant Garamond",Georgia,serif;--sans:Poppins,system-ui,sans-serif;--pis:"Great Vibes","Cormorant Garamond",cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--noc)}
body{margin:0;color:var(--text);font:400 17px/1.7 var(--sans);overflow-x:hidden;min-height:100vh;
  background:
    radial-gradient(1200px 800px at 80% -10%,rgba(139,106,224,.30),transparent 60%),
    radial-gradient(900px 700px at -10% 40%,rgba(91,63,160,.35),transparent 60%),
    radial-gradient(1000px 900px at 60% 120%,rgba(232,194,122,.10),transparent 60%),
    linear-gradient(180deg,#1d1243 0%,#150d31 40%,#120b26 100%);background-attachment:fixed}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='z'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23z)'/%3E%3C/svg%3E")}
#nebe{position:fixed;inset:0;z-index:-1;pointer-events:none}
.svetlo{position:fixed;inset:0;pointer-events:none;z-index:1;mix-blend-mode:screen;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,30%),rgba(243,214,150,.09),transparent 70%)}
a{color:var(--zlato2)}
::selection{background:rgba(232,194,122,.35);color:#fff}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05;margin:0 0 .4em;letter-spacing:-.01em}
h1{font-size:clamp(48px,8.4vw,112px);font-weight:400}
h2{font-size:clamp(38px,5.4vw,68px);font-weight:400}
h3{font-size:clamp(24px,2.4vw,30px)}
em,.kurziva{font-family:var(--serif);font-style:italic;font-weight:400}
.zlaty{background:linear-gradient(100deg,#fff4d6 0%,#e8c27a 30%,#fff1c9 46%,#c4954a 62%,#f6dc9c 80%,#e8c27a 100%);background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:lesk 9s linear infinite}
@keyframes lesk{to{background-position:-220% 0}}
.obal{max-width:1180px;margin:0 auto;padding:0 24px;position:relative;z-index:2}
.uzky{max-width:820px}
.tichy{color:var(--tichy)} .male{font-size:14px}
.nadpisek{display:inline-flex;align-items:center;gap:12px;font:500 13px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--zlato);margin-bottom:22px}
.nadpisek::before,.nadpisek::after{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--zlato))}
.nadpisek::after{transform:scaleX(-1)}
.stred{text-align:center}

/* ---------- tlačítka ---------- */
.tl{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;cursor:pointer;
  padding:18px 38px;font:500 16px/1 var(--sans);letter-spacing:.02em;text-decoration:none;overflow:hidden;isolation:isolate;
  transition:transform .25s,box-shadow .35s,background .3s}
.tl-zlate{color:#2a1a05;background:linear-gradient(135deg,#fff1c9,#e8c27a 45%,#c99a4c 75%,#f3d79a);
  box-shadow:0 10px 40px -8px rgba(232,194,122,.65),inset 0 1px 0 rgba(255,255,255,.7),inset 0 -2px 6px rgba(120,80,20,.35)}
.tl-zlate::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.75) 50%,transparent 70%);
  transform:translateX(-120%);animation:prelet 4.5s ease-in-out infinite}
@keyframes prelet{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.tl-zlate:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 18px 60px -6px rgba(243,214,150,.85),inset 0 1px 0 rgba(255,255,255,.7)}
.tl-sklo{color:var(--zlato2);background:rgba(27,17,64,.55);box-shadow:inset 0 0 0 1px var(--linka);backdrop-filter:blur(10px)}
.tl-sklo:hover{background:rgba(232,194,122,.1);box-shadow:inset 0 0 0 1px rgba(232,194,122,.6)}
.tl-male{padding:11px 22px;font-size:14px}
.tl:disabled{opacity:.55;cursor:wait;transform:none}

/* ---------- hlavička ---------- */
.hlavicka{position:absolute;top:0;left:0;right:0;z-index:20;padding:26px 0}
.hlavicka .obal{display:flex;align-items:center;justify-content:space-between}
.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font:400 26px/1 var(--serif);letter-spacing:.02em}
.logo svg{width:30px;height:30px}
.logo b{font-weight:400;font-style:italic;color:var(--zlato2)}
.menu{display:flex;gap:30px;align-items:center}
.menu a{color:var(--tichy);text-decoration:none;font-size:14px;letter-spacing:.04em;transition:color .2s}
.menu a:hover{color:var(--zlato2)}

/* ---------- úvod ---------- */
.uvod{position:relative;min-height:100vh;display:flex;align-items:center;padding:120px 0 150px;overflow:hidden}
@media (max-height:860px),(max-width:980px){.uvod .dolu{display:none}.uvod{padding-bottom:90px}}
.uvod .obal{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;width:100%}
.uvod p.velke{font-size:clamp(18px,1.6vw,21px);color:var(--tichy);max-width:540px;margin:0 0 38px}
.uvod h1 .radek{display:block;overflow:hidden;padding:0 .08em .16em 0;margin-bottom:-.16em}
.uvod h1 .radek span{display:block;transform:translateY(105%);animation:vyjed 1.3s cubic-bezier(.2,.8,.1,1) forwards}
.uvod h1 .radek:nth-child(2) span{animation-delay:.15s} .uvod h1 .radek:nth-child(3) span{animation-delay:.3s}
@keyframes vyjed{to{transform:none}}
.vyblednuti{opacity:0;animation:objev 1.4s .7s ease forwards}
@keyframes objev{to{opacity:1}}
.slib{display:flex;gap:12px 28px;flex-wrap:wrap;margin-top:40px;font-size:14.5px;color:var(--tichy)}
.slib span{display:inline-flex;align-items:center;gap:9px}
.slib i{width:6px;height:6px;border-radius:50%;background:var(--zlato);box-shadow:0 0 12px var(--zlato)}
.mesic{position:absolute;top:130px;right:3%;width:min(22vw,300px);aspect-ratio:1;border-radius:50%;z-index:0;pointer-events:none;
  box-shadow:0 0 60px 6px rgba(255,240,210,.16),0 0 180px 40px rgba(190,165,255,.12);animation:vznas 16s ease-in-out infinite alternate}
.mesic svg,.mesic img{width:100%;height:100%;display:block;border-radius:50%}
.mesic img{object-fit:contain;filter:sepia(.18) brightness(.92) contrast(1.05)}

/* ---------- skutečné záběry ---------- */
.uvod-video{position:absolute;inset:0;z-index:0;overflow:hidden;background:#0d0820}
.uvod-video video{position:absolute;top:0;right:0;width:66%;height:100%;object-fit:cover;object-position:50% 55%;
  -webkit-mask:linear-gradient(90deg,transparent 0%,#000 38%);mask:linear-gradient(90deg,transparent 0%,#000 38%);
  filter:brightness(.78) saturate(1.1) contrast(1.06);opacity:0;transition:opacity 2.4s ease}
.uvod-video video.hraje{opacity:1}
.uvod-video::before{content:"";position:absolute;inset:0;z-index:1;mix-blend-mode:soft-light;background:radial-gradient(ellipse at 70% 50%,rgba(255,190,120,.25),rgba(91,63,160,.55) 70%)}
.uvod-video::after{content:"";position:absolute;inset:0;z-index:2;background:
  linear-gradient(90deg,rgba(16,10,36,.6) 0%,rgba(16,10,36,.35) 40%,rgba(22,14,50,.2) 65%,rgba(16,10,36,.5) 100%),
  linear-gradient(180deg,rgba(16,10,36,.75) 0%,transparent 22%,transparent 72%,#170e35 100%)}
.mesic-foto{position:absolute;left:50%;top:9%;width:min(250px,64%);transform:translate(-50%,-50%);pointer-events:none;z-index:0;
  filter:sepia(.22) brightness(.88) contrast(1.06) drop-shadow(0 0 40px rgba(255,236,200,.28)) drop-shadow(0 0 120px rgba(190,165,255,.25));
  animation:vznas 16s ease-in-out infinite alternate}
.ritual-kour{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:0;
  mix-blend-mode:screen;opacity:.5;filter:sepia(.4) hue-rotate(205deg) saturate(1.8) brightness(.95)}
.svice-foto{position:absolute;top:8px;left:50%;margin-left:-80px;width:160px;height:160px;pointer-events:none;mix-blend-mode:screen;
  -webkit-mask:radial-gradient(circle,#000 40%,transparent 70%);mask:radial-gradient(circle,#000 40%,transparent 70%)}
.svice-foto video{width:100%;height:100%;object-fit:cover;object-position:52% 46%;transform:scale(1.7);filter:saturate(1.1) brightness(1.05)}
.cekani .svice-foto{position:relative;top:auto;left:auto;margin:0 auto 6px}
.mesic::before{content:"";position:absolute;inset:-60%;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,rgba(255,238,205,.14),rgba(255,238,205,.04) 35%,transparent 60%)}
@keyframes vznas{from{transform:translateY(0)}to{transform:translateY(24px)}}
.mlha{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;z-index:0;pointer-events:none;animation:plyn 22s ease-in-out infinite alternate}
.mlha.a{width:520px;height:380px;left:-120px;bottom:-60px;background:rgba(123,92,214,.45)}
.mlha.b{width:460px;height:340px;right:10%;bottom:10%;background:rgba(232,194,122,.16);animation-duration:28s}
@keyframes plyn{from{transform:translate(0,0) scale(1)}to{transform:translate(60px,-40px) scale(1.15)}}
.stul{position:relative;height:560px;perspective:1600px;z-index:2}
.stul .karta{position:absolute;--w:clamp(150px,15.5vw,215px);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.stul .karta.k1{left:2%;top:90px;--r:-14deg} .stul .karta.k2{left:32%;top:20px;--r:0deg;z-index:3} .stul .karta.k3{left:62%;top:90px;--r:14deg}
.stul .karta{transform:rotate(var(--r)) translateY(var(--vy,0px)) rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg));animation:levit 6s ease-in-out infinite alternate}
.stul .karta.k2{animation-delay:-2s} .stul .karta.k3{animation-delay:-4s}
@keyframes levit{from{--vy:0px}to{--vy:-16px}}
@property --vy{syntax:"<length>";inherits:false;initial-value:0px}
.stul .podpis-stolu{position:absolute;left:0;right:0;bottom:6px;text-align:center;font:italic 400 19px var(--serif);color:var(--tlumeny)}
.stul::before{content:"";position:absolute;left:50%;top:52%;width:120%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(243,214,150,.22),rgba(139,106,224,.10) 40%,transparent 66%);z-index:-1}
.kruhy{position:absolute;left:50%;top:50%;width:640px;aspect-ratio:1;transform:translate(-50%,-50%);z-index:-1;opacity:.5}
.kruhy circle{fill:none;stroke:url(#vk-zlato);stroke-width:.6}
.kruhy .toc{transform-origin:50% 50%;animation:toc 90s linear infinite} .kruhy .toc2{transform-origin:50% 50%;animation:toc 140s linear infinite reverse}
@keyframes toc{to{transform:rotate(360deg)}}
.dolu{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:3;color:var(--tlumeny);font-size:12px;letter-spacing:.3em;text-transform:uppercase;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:10px}
.dolu::after{content:"";width:1px;height:46px;background:linear-gradient(var(--zlato),transparent);animation:kapka 2.4s ease-in-out infinite}
@keyframes kapka{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- pruh slov ---------- */
.pruh{border-block:1px solid var(--linka);padding:22px 0;overflow:hidden;position:relative;z-index:2;background:rgba(10,6,24,.35)}
.pruh .jede{display:flex;gap:56px;width:max-content;animation:jed 50s linear infinite;font:italic 300 30px var(--serif);color:var(--tichy)}
.pruh .jede span{display:inline-flex;align-items:center;gap:56px}
.pruh .jede span::after{content:"✦";font-style:normal;font-size:14px;color:var(--zlato)}
@keyframes jed{to{transform:translateX(-50%)}}

/* ---------- sekce ---------- */
section{padding:140px 0;position:relative}
.ornament{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 auto 26px;color:var(--zlato)}
.ornament::before,.ornament::after{content:"";height:1px;width:min(160px,22vw);background:linear-gradient(90deg,transparent,var(--zlato))}
.ornament::after{transform:scaleX(-1)}
.uvodni-text{max-width:640px;margin:0 auto 70px;color:var(--tichy);font-size:18px}
.kroky{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;position:relative}
.kroky::before{content:"";position:absolute;top:92px;left:16%;right:16%;height:1px;background:linear-gradient(90deg,transparent,var(--zlato),transparent);opacity:.5}
.krok{position:relative;text-align:center;padding:44px 30px 40px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  box-shadow:inset 0 0 0 1px var(--linka);backdrop-filter:blur(6px);transition:transform .5s,box-shadow .5s}
.krok:hover{transform:translateY(-8px);box-shadow:inset 0 0 0 1px rgba(232,194,122,.55),0 30px 80px -30px rgba(232,194,122,.35)}
.krok .ikona{width:96px;height:96px;margin:0 auto 26px;border-radius:50%;display:grid;place-items:center;position:relative;
  background:radial-gradient(circle,rgba(243,214,150,.18),rgba(43,28,94,.9) 70%);box-shadow:0 0 0 1px var(--linka),0 0 50px -10px rgba(232,194,122,.5)}
.krok .ikona svg{width:52px;height:52px}
.krok .cislo{position:absolute;top:22px;left:28px;font:italic 300 54px/1 var(--serif);color:rgba(232,194,122,.22)}
.krok p{color:var(--tichy);margin:0}

.karta-dne{display:grid;grid-template-columns:auto 1fr;gap:80px;align-items:center}
.karta-dne .podstavec{position:relative;display:grid;place-items:center;width:380px;height:520px}
.karta-dne .podstavec .karta{--w:270px;cursor:pointer}
.halo{position:absolute;inset:0;margin:auto;width:440px;aspect-ratio:1;border-radius:50%;
  background:conic-gradient(from 0deg,transparent,rgba(232,194,122,.35),transparent 30%,rgba(139,106,224,.4),transparent 60%,rgba(232,194,122,.3),transparent);
  filter:blur(30px);animation:toc 18s linear infinite;opacity:.8}
.karta-dne .vyznam{font:italic 400 clamp(26px,2.6vw,36px)/1.3 var(--serif);color:var(--text);min-height:2.6em}
.karta-dne .datum{font:500 13px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--zlato)}

/* ---------- seance (formulář) ---------- */
.oltar{position:relative;max-width:820px;margin:0 auto;padding:150px 60px 56px;border-radius:36px;
  background:linear-gradient(180deg,#24174f,#140c2e);
  box-shadow:inset 0 0 0 1px var(--linka),0 60px 120px -40px rgba(0,0,0,.8),0 0 120px -40px rgba(232,194,122,.35)}
.oltar::before,.oltar::after{content:"";position:absolute;width:70px;height:70px;border:1px solid var(--zlato);opacity:.55}
.oltar::before{top:18px;left:18px;border-right:0;border-bottom:0;border-top-left-radius:22px}
.oltar::after{bottom:18px;right:18px;border-left:0;border-top:0;border-bottom-right-radius:22px}
.svice{position:absolute;top:-46px;left:50%;transform:translateX(-50%);width:26px;height:70px}
.svice .plamen{position:absolute;left:50%;top:0;width:16px;height:30px;margin-left:-8px;border-radius:50% 50% 45% 45%/60% 60% 40% 40%;
  background:radial-gradient(ellipse at 50% 75%,#fff 0%,#ffe9a8 25%,#f5b44a 55%,rgba(245,120,40,0) 75%);filter:blur(.4px);
  box-shadow:0 0 30px 10px rgba(255,200,110,.45),0 0 80px 30px rgba(255,180,80,.18);transform-origin:50% 90%;animation:plamen 1.6s ease-in-out infinite alternate}
.svice .knot{position:absolute;left:50%;top:26px;width:2px;height:8px;margin-left:-1px;background:#2a1a10}
.svice .vosk{position:absolute;left:3px;right:3px;top:32px;bottom:0;border-radius:4px 4px 2px 2px;background:linear-gradient(90deg,#d9cbb5,#fff7e8 45%,#cbbba4)}
@keyframes plamen{0%{transform:scale(1,1) rotate(-2deg)}50%{transform:scale(.94,1.08) rotate(2deg)}100%{transform:scale(1.04,.96) rotate(-1deg)}}
label.popis{display:block;font:500 13px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--zlato);margin:26px 0 12px}
.oblasti{display:flex;flex-wrap:wrap;gap:10px}
.oblasti input{position:absolute;opacity:0;pointer-events:none}
.oblasti label{padding:11px 22px;border-radius:999px;cursor:pointer;color:var(--tichy);font-size:15px;transition:all .25s;
  background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px rgba(211,196,255,.18)}
.oblasti label:hover{color:var(--text);box-shadow:inset 0 0 0 1px rgba(232,194,122,.5)}
.oblasti input:checked+label{color:#2a1a05;background:linear-gradient(135deg,#fff1c9,#e8c27a);box-shadow:0 0 30px -4px rgba(232,194,122,.7)}
.oblasti input:focus-visible+label{outline:2px solid var(--zlato2);outline-offset:3px}
.pole{width:100%;border:0;border-radius:18px;padding:18px 20px;font:300 17px/1.6 var(--sans);color:var(--text);
  background:rgba(8,4,22,.55);box-shadow:inset 0 0 0 1px rgba(211,196,255,.16),inset 0 10px 30px rgba(0,0,0,.35);transition:box-shadow .3s}
.pole::placeholder{color:rgba(185,172,217,.55);font-style:italic}
.pole:focus{outline:none;box-shadow:inset 0 0 0 1px rgba(232,194,122,.7),0 0 40px -10px rgba(232,194,122,.5)}
textarea.pole{min-height:150px;resize:vertical;font-family:var(--serif);font-size:22px;line-height:1.5;font-weight:400}
.dvojice{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.zaskrt{display:flex;gap:14px;align-items:flex-start;margin:14px 0;color:var(--tichy);font-size:14.5px;cursor:pointer;line-height:1.55}
.zaskrt input{appearance:none;flex:none;width:22px;height:22px;margin-top:1px;border-radius:7px;cursor:pointer;
  background:rgba(8,4,22,.6);box-shadow:inset 0 0 0 1px rgba(232,194,122,.5);display:grid;place-items:center;transition:all .2s}
.zaskrt input:checked{background:linear-gradient(135deg,#fff1c9,#e8c27a)}
.zaskrt input:checked::after{content:"";width:10px;height:6px;border:2px solid #2a1a05;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.chyba{display:none;margin-top:18px;padding:14px 18px;border-radius:14px;background:rgba(180,35,58,.16);color:#ffc2cc;box-shadow:inset 0 0 0 1px rgba(255,120,140,.3)}
.odeslat{width:100%;margin-top:26px;padding:22px}

/* ---------- výběr služby ---------- */
.sluzby{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sluzby input{position:absolute;opacity:0;pointer-events:none}
.sluzby label{display:flex;flex-direction:column;gap:3px;padding:16px 18px;border-radius:18px;cursor:pointer;transition:all .25s;
  background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px rgba(211,196,255,.16)}
.sluzby label b{font:500 22px/1.15 var(--serif);color:var(--text)}
.sluzby label span{font-size:14px;color:var(--tichy)}
.sluzby label i{font:normal 500 13px var(--sans);color:var(--zlato);margin-top:4px}
.sluzby label:hover{box-shadow:inset 0 0 0 1px rgba(232,194,122,.5)}
.sluzby input:checked+label{background:linear-gradient(160deg,rgba(232,194,122,.2),rgba(43,28,94,.4));box-shadow:inset 0 0 0 1.5px var(--zlato),0 0 34px -8px rgba(232,194,122,.6)}
.sluzby input:focus-visible+label{outline:2px solid var(--zlato2);outline-offset:3px}
.ceny.ctyri{grid-template-columns:repeat(4,1fr);gap:20px}
.ceny.ctyri .cena{padding:40px 24px}
.ceny.ctyri .castka{font-size:60px}

/* ---------- znamení a čísla ---------- */
.udaje-vyklad{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin:6px 0 40px}
.znak{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:200px}
.znak .glyf{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;font:400 78px/1 "Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",serif;
  color:var(--zlato2);background:radial-gradient(circle,rgba(243,214,150,.18),rgba(43,28,94,.85) 70%);
  box-shadow:0 0 0 1px var(--linka),0 0 60px -10px rgba(232,194,122,.6);text-shadow:0 0 24px rgba(243,214,150,.6)}
.znak b{font:500 30px var(--serif);color:var(--text)}
.znak span{color:var(--tichy);font-size:14px;text-align:center}
.cisla{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:12px;width:100%;max-width:640px}
.cislo{padding:18px 12px;border-radius:20px;text-align:center;background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px var(--linka)}
.cislo b{display:block;font:400 54px/1 var(--serif);color:var(--zlato2);text-shadow:0 0 20px rgba(243,214,150,.45)}
.cislo span{display:block;margin-top:6px;font-size:13px;color:var(--tichy)}
.ritual .udaje-vyklad{position:relative;z-index:3;max-width:820px;padding:0 20px}

/* ---------- zásady, ceník, otázky ---------- */
.zasady{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.zasada{padding:34px 26px;border-radius:24px;background:var(--sklo);box-shadow:inset 0 0 0 1px rgba(211,196,255,.1)}
.zasada svg{width:38px;height:38px;margin-bottom:18px}
.zasada h3{font-size:25px}
.zasada p{color:var(--tichy);margin:0;font-size:15.5px}
.ceny{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
.cena{position:relative;padding:46px 34px;border-radius:30px;text-align:center;background:var(--sklo);box-shadow:inset 0 0 0 1px rgba(211,196,255,.12);display:flex;flex-direction:column}
.cena .castka{font:300 72px/1 var(--serif);margin:16px 0 6px}
.cena .castka small{font-size:24px;color:var(--tichy)}
.cena p{color:var(--tichy);flex:1}
.cena.hlavni{background:linear-gradient(180deg,rgba(232,194,122,.14),rgba(43,28,94,.5));box-shadow:inset 0 0 0 1px rgba(232,194,122,.6),0 40px 100px -40px rgba(232,194,122,.5);transform:translateY(-14px)}
.cena .stuha{position:absolute;top:-14px;left:50%;transform:translateX(-50%);padding:7px 18px;border-radius:999px;font:500 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#2a1a05;background:linear-gradient(135deg,#fff1c9,#e8c27a)}
details{border-bottom:1px solid var(--linka);padding:26px 0}
summary{cursor:pointer;list-style:none;font:400 clamp(22px,2vw,27px)/1.3 var(--serif);display:flex;justify-content:space-between;gap:20px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:300 30px/1 var(--sans);color:var(--zlato);transition:transform .3s}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--tichy);margin:16px 0 0;max-width:680px}

/* ---------- patička ---------- */
footer{position:relative;z-index:2;padding:90px 0 50px;border-top:1px solid var(--linka);background:linear-gradient(180deg,transparent,rgba(5,2,15,.6))}
.faze{display:flex;justify-content:center;gap:clamp(10px,2.4vw,26px);margin-bottom:46px}
.faze span{width:clamp(26px,3.4vw,44px);aspect-ratio:1;display:block;filter:drop-shadow(0 0 10px rgba(255,236,200,.18))}
.faze span:nth-child(5){filter:drop-shadow(0 0 16px rgba(255,236,200,.45))}
.faze svg{width:100%;height:100%;display:block}
footer .obal{text-align:center;color:var(--tlumeny);font-size:14px}
footer nav{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin:22px 0}
footer nav a{color:var(--tichy);text-decoration:none} footer nav a:hover{color:var(--zlato2)}

/* ---------- odhalování při posunu ---------- */
.odhal{opacity:0;transform:translateY(40px);transition:opacity 1.2s ease,transform 1.2s cubic-bezier(.2,.8,.2,1)}
.odhal.videt{opacity:1;transform:none}
.odhal.d1{transition-delay:.12s}.odhal.d2{transition-delay:.24s}.odhal.d3{transition-delay:.36s}

/* ---------- obřad seance ---------- */
.ritual{position:fixed;inset:0;z-index:100;display:none;place-items:center;overflow:hidden;
  background:radial-gradient(ellipse at 50% 40%,#2e1e66 0%,#1a1040 45%,#0a0518 85%)}
.ritual::before{content:"";position:absolute;left:50%;top:38%;width:900px;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(243,214,150,.16),transparent 60%);pointer-events:none}
.ritual.otevren{display:grid;animation:objev .8s ease forwards;opacity:0}
.ritual .zavrit{position:absolute;top:22px;right:26px;background:none;border:0;color:var(--tlumeny);font:300 30px var(--sans);cursor:pointer;z-index:5}
.ritual .pokyn{position:absolute;top:9vh;left:0;right:0;text-align:center;padding:0 20px;z-index:4}
.ritual .pokyn h2{font-size:clamp(32px,4.6vw,58px);margin:0 0 10px}
.ritual .pokyn p{color:var(--tichy);margin:0;font:italic 300 clamp(18px,1.8vw,22px) var(--serif);min-height:1.5em;transition:opacity .6s}
.dech{width:min(46vw,300px);aspect-ratio:1;border-radius:50%;position:relative;display:grid;place-items:center}
.dech::before,.dech::after{content:"";position:absolute;inset:0;border-radius:50%}
.dech::before{background:radial-gradient(circle,rgba(255,236,190,.55),rgba(232,194,122,.18) 45%,transparent 70%);animation:dychej 8s ease-in-out infinite}
.dech::after{box-shadow:inset 0 0 0 1px rgba(232,194,122,.45),0 0 60px rgba(232,194,122,.25);animation:dychej 8s ease-in-out infinite}
@keyframes dychej{0%,100%{transform:scale(.55);opacity:.6}45%,55%{transform:scale(1);opacity:1}}
.balicek{position:relative;width:150px;aspect-ratio:200/320}
.balicek .karta{position:absolute;inset:0;--w:150px}
.vejir{position:absolute;left:50%;bottom:6vh;width:0;height:0}
.vejir .karta{position:absolute;--w:var(--vw,118px);left:calc(var(--vw,118px)/-2);bottom:0;transform-origin:50% 260%;cursor:pointer;
  transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .3s;transform:rotate(var(--uhel)) translateY(0)}
.vejir .karta:hover{transform:rotate(var(--uhel)) translateY(-34px);filter:brightness(1.18)}
.vejir .karta.vzata{pointer-events:none;opacity:0}
.mista{position:absolute;top:30vh;left:50%;transform:translateX(-50%);display:flex;gap:clamp(14px,3vw,40px);z-index:3}
.misto{width:var(--mw,150px);aspect-ratio:200/320;border-radius:10px;position:relative;
  box-shadow:inset 0 0 0 1px rgba(232,194,122,.35);background:rgba(255,255,255,.02)}
.misto::after{content:attr(data-pozice);position:absolute;left:-20px;right:-20px;top:calc(100% + 14px);text-align:center;font:italic 400 17px var(--serif);color:var(--tichy)}
.misto .karta{position:absolute;inset:0;--w:var(--mw,150px)}
.misto .jmeno-karty{position:absolute;left:-30px;right:-30px;top:calc(100% + 40px);text-align:center;font:500 20px var(--serif);color:var(--zlato2);opacity:0;transition:opacity .8s}
.misto.odhaleno .jmeno-karty{opacity:1}
.letici{position:fixed;z-index:120;pointer-events:none;transition:transform .9s cubic-bezier(.3,.8,.2,1)}
.ritual .dalsi{position:absolute;bottom:8vh;left:0;right:0;text-align:center;z-index:4;opacity:0;transition:opacity 1s}
.ritual .dalsi.videt{opacity:1}
.michani .karta{animation:mich 1.6s ease-in-out infinite}
.michani .karta:nth-child(odd){animation-name:mich2}
@keyframes mich{0%,100%{transform:translateX(0) rotate(0)}30%{transform:translateX(-90px) rotate(-8deg)}60%{transform:translateX(0) rotate(0)}}
@keyframes mich2{0%,100%{transform:translateX(0) rotate(0)}30%{transform:translateX(90px) rotate(8deg)}60%{transform:translateX(0) rotate(0)}}

/* ---------- účet zákaznice ---------- */
.hlava-uctu{padding:150px 0 50px}
.kredit-box{display:inline-flex;align-items:center;gap:16px;padding:14px 22px;border-radius:999px;background:var(--sklo);box-shadow:inset 0 0 0 1px var(--linka)}
.kredit-box b{font:400 30px/1 var(--serif);color:var(--zlato2)}
.svitek{position:relative;margin:0 0 60px;padding:56px 56px 48px;border-radius:32px;
  background:linear-gradient(180deg,#22164b,#150d30);box-shadow:inset 0 0 0 1px var(--linka),0 50px 100px -50px rgba(0,0,0,.8)}
.svitek.zvyraznen{box-shadow:inset 0 0 0 1px rgba(232,194,122,.7),0 0 120px -30px rgba(232,194,122,.5)}
.svitek .hlavicka-svitku{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--tlumeny)}
.svitek .otazka{font:italic 400 clamp(26px,3vw,38px)/1.25 var(--serif);margin:22px 0 36px;color:var(--text)}
.svitek .otazka::before{content:"„"}.svitek .otazka::after{content:"“"}
.rozlozeni{display:flex;justify-content:center;gap:clamp(12px,3vw,36px);margin:10px 0 50px;flex-wrap:wrap}
.rozlozeni .misto-k{text-align:center}
.rozlozeni .karta{--w:clamp(120px,15vw,170px)}
.rozlozeni .pozice{margin-top:14px;font:italic 400 17px var(--serif);color:var(--tichy)}
.dopis{position:relative;max-width:640px;margin:0 auto;padding:46px 48px 40px;border-radius:6px;color:#2b2140;
  background:radial-gradient(ellipse at 30% 0%,#fffaf0,#f5ead6 60%,#ecdcc0);box-shadow:0 30px 80px -30px rgba(0,0,0,.8),inset 0 0 60px rgba(160,120,60,.18)}
.dopis .text{white-space:pre-wrap;font:400 21px/1.75 var(--serif)}
.dopis .text::first-letter{float:left;font:500 72px/.8 var(--serif);padding:8px 10px 0 0;color:#8a5f22}
.dopis .podpis{margin-top:22px;text-align:right;font:400 46px/1 var(--pis);color:#5b3fa0}
.dopis .pecet{position:absolute;bottom:-26px;left:40px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,#c4425a,#7d1730 70%);box-shadow:0 6px 16px rgba(0,0,0,.4),inset 0 0 0 4px rgba(255,255,255,.08);color:#f5d6a0;font:italic 500 26px var(--serif)}
.cekani{text-align:center;padding:30px 0 10px;color:var(--tichy);font:italic 400 22px var(--serif)}
.cekani .svice{position:relative;left:auto;top:auto;transform:none;margin:0 auto 26px;display:block}
.bublina{max-width:560px;margin:16px auto;padding:16px 22px;border-radius:20px;background:var(--sklo2);white-space:pre-wrap;font:400 19px/1.6 var(--serif)}
.bublina.ja{margin-right:0;background:rgba(232,194,122,.1);box-shadow:inset 0 0 0 1px rgba(232,194,122,.25)}
.bublina.ona{margin-left:0}
.doptat{max-width:640px;margin:40px auto 0}
.hvezdy{text-align:center;margin-top:44px;color:var(--tlumeny);font-size:14px}
.hvezdy button{background:none;border:0;font-size:30px;color:rgba(211,196,255,.25);cursor:pointer;padding:0 3px;transition:color .2s,transform .2s}
.hvezdy button.ano,.hvezdy button:hover{color:var(--zlato);transform:scale(1.15)}
.pomoc{max-width:640px;margin:0 auto 30px;padding:20px 24px;border-radius:18px;background:rgba(255,190,110,.1);box-shadow:inset 0 0 0 1px rgba(255,190,110,.35);color:#ffe2c0}
.balicky{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.qr{background:#fff;padding:14px;border-radius:16px;display:inline-block}
#platba p{overflow-wrap:anywhere}

/* ---------- textové stránky ---------- */
.clanek{padding:160px 0 100px}
.clanek h1{font-size:clamp(44px,6vw,76px)}
.clanek h3{margin-top:44px;color:var(--zlato2)}
.clanek p,.clanek li{color:var(--tichy)}
.clanek b{color:var(--text);font-weight:500}

@media (max-width:980px){
  .uvod .obal,.karta-dne{grid-template-columns:1fr}
  .stul{height:430px;max-width:520px;margin:0 auto;width:100%}
  .kroky,.zasady{grid-template-columns:1fr 1fr}
  .kroky::before{display:none}
  .ceny,.ceny.ctyri{grid-template-columns:1fr 1fr}
  .cena.hlavni{transform:none}
  .karta-dne{text-align:center;gap:20px}
  .karta-dne .podstavec{margin:0 auto}
  .menu a:not(.tl){display:none}
}
@media (max-width:640px){
  body{font-size:16px}
  .nadpisek{letter-spacing:.2em;font-size:11.5px;gap:8px}
  .nadpisek::before,.nadpisek::after{width:16px}
  section{padding:90px 0}
  .uvod{padding-top:110px}
  .stul{height:330px}
  .stul .karta{--w:clamp(104px,30vw,140px)}
  .stul .karta.k1{left:0;top:60px} .stul .karta.k2{left:calc(50% - 15vw);top:10px} .stul .karta.k3{left:auto;right:0;top:60px}
  .kroky,.zasady{grid-template-columns:1fr}
  .oltar{padding:54px 22px 34px;border-radius:26px}
  .dvojice{grid-template-columns:1fr}
  .ceny,.ceny.ctyri{grid-template-columns:1fr}
  .sluzby label{padding:13px 14px} .sluzby label b{font-size:19px}
  .znak .glyf{width:120px;height:120px;font-size:62px}
  .karta-dne .podstavec{width:300px;height:420px}
  .karta-dne .podstavec .karta{--w:220px}
  .halo{width:320px}
  .mesic{width:38vw;top:96px;right:-6%;opacity:.7}
  .uvod-video video{width:100%;object-position:50% 50%;-webkit-mask:none;mask:none}
  .uvod-video::after{background:linear-gradient(180deg,rgba(16,10,36,.88) 0%,rgba(16,10,36,.7) 45%,rgba(16,10,36,.5) 70%,#170e35 100%)}
  .svitek{padding:40px 20px 34px;border-radius:24px}
  .dopis{padding:34px 24px 34px}
  .dopis .text{font-size:19px}
  .mista{top:22vh}
  .vejir{bottom:12vh}
  .kruhy{width:420px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.odhal{opacity:1;transform:none}.uvod h1 .radek span{transform:none}}
