@font-face{font-family:'Jost';font-style:normal;font-weight:400 500;font-display:swap;src:url(fonts/jost-latin-ext.woff2) format('woff2');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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:400 500;font-display:swap;src:url(fonts/jost-latin.woff2) format('woff2');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:'Libre Caslon Display';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/libre-caslon-display-latin-ext.woff2) format('woff2');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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Libre Caslon Display';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/libre-caslon-display-latin.woff2) format('woff2');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:'Libre Caslon Text';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/libre-caslon-text-latin-ext.woff2) format('woff2');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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Libre Caslon Text';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/libre-caslon-text-latin.woff2) format('woff2');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}
:root{--ink:#2b1633;--plum:#4a2158;--orchid:#a23d7c;--rose:#f1b8d8;--blush:#f6e7ee;--pearl:#fcf8fa;--line:#e3cfdb;--mute:#6d5a74;--on-dark:#efe3f3;--on-dark-mute:#c9b6d1;--display:'Libre Caslon Display',Georgia,serif;--serif:'Libre Caslon Text',Georgia,serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font:400 17px/1.6 'Jost',system-ui,sans-serif;color:var(--ink);background:var(--pearl);padding-bottom:88px}
::selection{background:var(--rose);color:var(--ink)}
img{display:block;max-width:100%;height:auto}
p,dd{text-wrap:pretty}
a{color:var(--orchid);text-underline-offset:.18em}
:focus-visible{outline:3px solid var(--orchid);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem 1rem;z-index:99}
.skip:focus{left:0}
.sr{position:absolute;left:-9999px}
.nw{white-space:nowrap}
h1,h2{font-family:var(--display);font-weight:400;line-height:1.12;letter-spacing:-.01em;text-wrap:balance}
h3{font-family:var(--serif);font-weight:400;line-height:1.2}
h1 em,.book h2 em{font-style:normal;color:var(--orchid)}
h2{font-size:clamp(2rem,8.4vw,2.6rem);margin-bottom:1.25rem}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 1rem;background:rgba(252,248,250,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{text-decoration:none;color:var(--ink);font-family:var(--display);font-size:1.55rem;line-height:1;padding:.25rem 0}
.brand small{display:block;font:500 .72rem 'Jost',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--orchid);margin-top:.2rem}
.top nav{display:none}
.btn{font:inherit;font-weight:500;cursor:pointer;border:0;display:inline-flex;align-items:center;justify-content:center;background:var(--plum);color:#fff;text-decoration:none;padding:.9rem 1.5rem;border-radius:999px;font-weight:500;text-align:center;min-height:52px;transition:background-color .2s}
.btn:hover{background:var(--ink)}
.btn-sm{padding:.45rem 1.1rem;min-height:44px}
.btn-ghost{background:transparent;color:var(--plum);box-shadow:inset 0 0 0 1.5px var(--plum)}
.btn-light{background:#fff;color:var(--plum);margin-top:1.6rem}
.btn-light:hover{background:var(--blush)}
.more{justify-self:center;display:inline-flex;align-items:center;min-height:44px;color:var(--plum);font-weight:500}
.btn-ghost:hover{background:var(--plum);color:#fff}
.hero{padding:1.75rem 1.25rem 2.25rem;display:grid;gap:1.1rem}
.hero-text{display:contents}
h1{font-size:clamp(2.5rem,11.2vw,4.4rem);order:1}
.lead{color:var(--mute);order:2}
.arch{order:3;margin:.4rem 0 .3rem;border-radius:200px 200px 18px 18px/120px 120px 18px 18px;overflow:hidden;border:5px solid #fff;box-shadow:0 0 0 1px var(--line),0 18px 40px -22px rgba(74,33,88,.5)}
.arch img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 35%}
.cta{order:4;display:grid;gap:.6rem}
.status{order:5;display:grid;gap:.35rem;font-size:.97rem;color:var(--mute)}
.open-now::before{content:"";display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:#8f7a97;margin-right:.55rem}
.open-now.is-open{color:#1d6b3f;font-weight:500}.open-now.is-open::before{background:#2a9158}
.place a{color:var(--mute);display:inline-flex;align-items:center;min-height:32px}
.place a:hover{color:var(--orchid)}
.facts{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem 1.4rem;padding:1rem 1.25rem;background:var(--blush);border-block:1px solid var(--line);font-size:.97rem;text-align:center}
.facts strong{font-weight:500;color:var(--plum)}
.services,.prices,.visit,.hours{padding:3.25rem 1.25rem}
.cards{list-style:none;padding:0;display:grid;gap:1.4rem;margin:1.5rem 0}
.cards li{display:grid;grid-template-columns:6.75rem 1fr;grid-template-rows:auto 1fr;gap:0 1rem;align-items:start}
.cards img{grid-row:span 2;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:999px 999px 12px 12px}
.cards h3{font-size:1.35rem;margin:.35rem 0 .3rem}
.cards p{color:var(--mute);font-size:.97rem}
.also{background:var(--blush);padding:1.1rem 1.2rem;border-radius:14px;font-size:.97rem}
.prices{background:#fff;border-block:1px solid var(--line)}
.note{color:var(--mute);font-size:.95rem}
.note.small{margin:1rem 0 0}
details{border-top:1px solid var(--line)}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:.9rem 0;font:400 1.3rem/1.25 var(--serif);display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:52px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--orchid);font:400 1.6rem/1 'Jost',sans-serif}
details[open] summary::after{content:"–"}
summary:hover{color:var(--plum)}
dl{padding-bottom:1rem}
dl div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px dotted var(--line)}
dl div.stack{display:block}
dl div.stack dd{text-align:left;margin-top:.15rem}
dt small{display:block;color:var(--mute);font-size:.875rem}
dd{font-weight:500;white-space:nowrap;text-align:right;margin:0;font-variant-numeric:tabular-nums}
dd small{font-weight:400;color:var(--mute);white-space:normal;font-size:.875rem}
.visit ol{list-style:none;padding:0;display:grid;gap:1.75rem;counter-reset:krok}
.visit li{border-top:1px solid var(--line);padding-top:1.1rem;counter-increment:krok}
.visit li::before{content:counter(krok);display:block;font:400 2.6rem/.8 var(--display);color:var(--orchid);margin-bottom:.6rem}
.visit h3{font-size:1.35rem;margin-bottom:.3rem}
.visit p{color:var(--mute)}
.book{background:var(--plum);color:#fff;padding:3.25rem 1.25rem}
.book h2 em{color:var(--rose)}
.book-lead{margin-bottom:1.8rem;color:var(--on-dark)}
.book-contact{border-top:1px solid #6b4a78;padding-top:1.4rem}
.book-label{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);font-weight:500;margin-bottom:.2rem}
.book-phone{display:inline-block;font:400 clamp(2rem,10vw,3.1rem)/1.25 var(--display);color:#fff;background:none;border:0;padding:0;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:var(--rose);text-decoration-thickness:2px;text-underline-offset:.2em;margin-bottom:.4rem;white-space:nowrap}
.book-phone:hover{color:var(--rose)}
.hours{background:var(--blush)}
table{width:100%;max-width:420px;border-collapse:collapse;font-variant-numeric:tabular-nums}
th,td{padding:.6rem .4rem;border-bottom:1px solid var(--line);text-align:left}
td{text-align:right;font-weight:500}
tr.today{background:#fff;color:var(--orchid)}
tr.today th::after{content:" · dnes";font-weight:400}
footer{background:var(--ink);color:var(--on-dark);padding:2.5rem 1.25rem}
footer h2{font-size:2rem}
footer a{color:#f1c5de}
address{font-style:normal;line-height:1.5;display:grid;gap:.1rem;justify-items:start}
address a,.link-btn,.back{display:inline-flex;align-items:center;min-height:44px}
.link-btn{font:inherit;color:#f1c5de;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:.18em}
.forma{font-size:.9rem;margin-top:1rem;color:var(--on-dark-mute)}
.back{font-size:.9rem}
.book :focus-visible,footer :focus-visible{outline-color:var(--rose)}
.sticky{position:fixed;left:.75rem;right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom));z-index:30;display:flex;gap:.5rem;transform:translateY(calc(100% + 1.5rem));visibility:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),visibility .35s}
.sticky.is-shown{transform:none;visibility:visible}
.sticky button{flex:1;font:inherit;font-weight:500;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:56px;border-radius:999px;background:var(--plum);color:#fff;padding:.5rem 1rem;box-shadow:0 10px 24px -10px rgba(43,22,51,.6)}
.sticky .alt{background:#fff;color:var(--plum);box-shadow:inset 0 0 0 1.5px var(--plum),0 10px 24px -10px rgba(43,22,51,.45)}
.sticky button:hover{background:var(--ink)}
.sticky .alt:hover{background:var(--blush)}
.pop{width:min(100% - 2rem,26rem);margin:auto;border:0;border-radius:24px 24px 16px 16px;padding:2rem 1.5rem 1.25rem;background:var(--pearl);color:var(--ink);box-shadow:0 30px 60px -20px rgba(43,22,51,.55)}
.pop::backdrop{background:rgba(43,22,51,.45)}
.pop h2{font-size:1.8rem;margin-bottom:.75rem}
.pop p{color:var(--mute);margin-bottom:1.4rem}
.pop .btn{width:100%}
.pop-close{display:flex;align-items:center;justify-content:center;margin:.5rem auto 0;min-height:44px;padding:0 1rem;font:inherit;color:var(--plum);text-decoration:underline;text-underline-offset:.18em}
@media (min-width:560px){
 .cards{grid-template-columns:1fr 1fr;gap:1.75rem 2rem}
}
@media (min-width:760px){
 body{padding-bottom:0;font-size:18px}
 .top{padding:.8rem 3rem}
 .top nav{display:flex;gap:1.25rem}
 .top nav a{text-decoration:none;color:var(--ink);padding:.6rem .4rem}
 .top nav a:hover{color:var(--orchid)}
 .hero{grid-template-columns:1.1fr .9fr;align-items:center;padding:4.5rem 3rem;gap:4rem;max-width:1200px;margin:auto}
 .hero-text{display:block}
 h1{margin-bottom:1.1rem}
 .lead{margin-bottom:1.6rem;max-width:34em}
 .cta{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.2rem}
 .more{justify-self:auto}
 .status{margin-top:1.2rem}
 .arch{order:0;margin:0 auto;width:min(100%,400px);border-width:6px;border-radius:999px 999px 24px 24px}
 .arch img{aspect-ratio:4/5}
 .facts{gap:.5rem 2.5rem;padding:1.15rem 3rem}
 .services,.prices,.visit,.hours{padding:5rem max(3rem,calc(50% - 560px))}
 .cards li{grid-template-columns:9rem 1fr;gap:0 1.4rem}
 .cards h3{font-size:1.5rem}
 .visit ol{grid-template-columns:repeat(3,1fr);gap:2.5rem}
 .book{padding:5rem max(3rem,calc(50% - 560px))}
 .sticky{display:none}
 footer{padding:3rem max(3rem,calc(50% - 560px))}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.demo-note{font-size:.85rem;color:var(--mute);margin:-.2rem 0 .2rem;justify-self:start;flex-basis:100%}
.book .demo-note{color:var(--on-dark-mute);margin:-1rem 0 1rem}
