:root{--ink:#302b27;--muted:#7c726a;--beige:#f8f4ef;--cream:#fffdf9;--gold:#b59a72;--line:#e5dbd0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit}.topline{height:34px;background:#322b26;color:#f3ece4;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,20px);font-size:10px;letter-spacing:.18em}.topline a{letter-spacing:.05em}.header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,20px);background:#fffcf8;position:sticky;top:0;z-index:10;border-bottom:1px solid #ede6df}.logo{font-family:'Playfair Display',serif;font-size:25px;letter-spacing:.07em;line-height:1}.logo em{color:var(--gold);font-style:normal}.logo small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:.3em;text-align:center;margin-top:10px}.header nav{display:flex;align-items:center;gap:36px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.header nav a:not(.nav-cta):hover{color:#ae8b5f}.nav-cta,.btn{background:#362e28;color:white;padding:17px 26px;display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:11px;transition:background .2s}.nav-cta:hover,.btn:hover{background:#8e7559}.menu-toggle{display:none;background:none;border:0;font-size:26px}.hero{display:grid;grid-template-columns:52% 48%;min-height:630px;background:var(--beige)}.hero-copy{padding:100px 8vw 85px max(7vw,28px);display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#a78a69;font-weight:600}.hero h1{font:clamp(52px,5.7vw,92px)/1.1 'Playfair Display',serif;letter-spacing:-.045em;margin:28px 0}.hero h1 em{font-weight:400;color:#a98b69}.hero p{font-size:15px;line-height:1.9;color:var(--muted);max-width:490px;margin:0 0 30px}.hero-visual{position:relative;min-height:560px;overflow:hidden;background:linear-gradient(130deg,#dfc4af,#e9d9ca 44%,#b79b8a 100%)}.hero-visual:before{content:"";position:absolute;width:68%;height:110%;left:12%;top:7%;border-radius:49% 49% 12% 12%;background:linear-gradient(145deg,#f5e5d8 0%,#d2ae95 32%,#a87e66 72%,#8b7165 100%);transform:rotate(-13deg);box-shadow:24px 5px 90px #7a5c4a36}.hero-visual:after{content:"MARIKA  ·  BEAUTY & CARE";position:absolute;bottom:34px;left:38px;color:white;font-size:10px;letter-spacing:.3em}.hero-visual.has-image:before{display:none}.hero-visual img,.image-block img,.service-image img{width:100%;height:100%;object-fit:cover;display:block}.hero-visual img{position:absolute;inset:0}.gold-line{display:block;width:55px;height:1px;background:#b49b75;margin:25px 0}.section{padding:112px max(7vw,28px)}.section-title{text-align:center;margin:0 auto 65px;max-width:700px}.section-title h2,.about h2,.contact h2,.voucher h2,.price-intro h1{font:clamp(37px,4.2vw,62px)/1.2 'Playfair Display',serif;font-weight:400;letter-spacing:-.03em;margin:18px 0}.section-title p,.about p,.contact p,.voucher p{color:var(--muted);line-height:1.9}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service-card{border:1px solid #e8e0d7;background:white;transition:transform .2s}.service-card:hover{transform:translateY(-4px)}.service-image{height:225px;background:linear-gradient(130deg,#e8d9cd,#c9b1a0);overflow:hidden;position:relative}.service-card:nth-child(2) .service-image{background:linear-gradient(140deg,#a99b90,#e6d8c8)}.service-card:nth-child(3) .service-image{background:linear-gradient(145deg,#eeded4,#b7a192)}.service-card:nth-child(4) .service-image{background:linear-gradient(145deg,#cfb8aa,#f4e9e0)}.service-card-body{padding:28px}.service-card h3{font:25px 'Playfair Display',serif;margin:15px 0}.service-card p{font-size:13px;line-height:1.9;color:var(--muted)}.service-extra{font-size:12px!important}.about{display:grid;grid-template-columns:47% 53%;background:#f5eee7}.image-block{min-height:510px;background:radial-gradient(ellipse at 60% 50%,#ecd8c5,#bba18f 80%)}.about-copy{padding:90px 13%;display:flex;flex-direction:column;justify-content:center}.signature{font:italic 25px 'Playfair Display',serif;color:#97775e;margin-top:25px}.voucher{padding:75px 30px;text-align:center;background:#382f29;color:white}.voucher h2{margin:13px 0}.voucher p{color:#e6d9cc}.voucher .btn{background:#d1b68d;color:#29241e}.contact{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.contact-details{display:grid;gap:24px}.contact-item{border-bottom:1px solid var(--line);padding-bottom:20px}.contact-item small{display:block;color:#a78a69;text-transform:uppercase;letter-spacing:.15em;font-size:11px;margin-bottom:10px}.contact-item a,.contact-item span{font-size:18px}.contact-aside{background:#f1e9df;padding:70px 50px;text-align:center}.contact-aside .giant{font:100px 'Playfair Display',serif;color:#b49a77;line-height:1}.price-intro{text-align:center;background:#f5eee7;padding:85px 20px}.price-intro p{color:var(--muted)}.price-wrap{max-width:980px;margin:auto;padding:65px 28px 100px}.price-section{margin:0 0 65px}.price-section h2{font:36px 'Playfair Display',serif;border-bottom:1px solid var(--gold);padding-bottom:20px;margin:0 0 12px}.price-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;border-bottom:1px solid #eae3da;padding:20px 4px}.price-row strong{font-size:14px;font-weight:500}.price-row small{display:block;margin-top:6px;color:var(--muted);font-size:12px}.price-row .amount{white-space:nowrap;color:#9b7952;font-weight:600;font-size:15px}footer{background:#2f2925;color:#e9dfd3;padding:62px 7vw 25px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}footer p{color:#bcb1a6;font-size:13px;line-height:1.8}footer b{font-size:11px;text-transform:uppercase;letter-spacing:.18em}.footer-brand{font:29px 'Playfair Display',serif}.footer-bottom{grid-column:1/-1;border-top:1px solid #5c5149;padding-top:22px;margin-top:26px;font-size:11px;color:#bcb1a6}.loading{text-align:center;padding:140px 20px;color:var(--gold)}@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr)}.header nav{gap:15px}.contact{gap:30px}.about-copy{padding:60px 9%}}@media(max-width:700px){.topline{font-size:9px;letter-spacing:.04em}.header{height:75px}.logo{font-size:19px}.menu-toggle{display:block}.header nav{display:none;position:absolute;top:75px;left:0;right:0;flex-direction:column;background:#fffaf6;padding:30px;box-shadow:0 20px 25px #0001}.header nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:75px 28px}.hero h1{font-size:56px}.hero-visual{min-height:360px}.section{padding:78px 24px}.service-grid{grid-template-columns:1fr}.service-image{height:230px}.about{grid-template-columns:1fr}.image-block{min-height:270px}.about-copy{padding:65px 25px}.contact{grid-template-columns:1fr}.contact-aside{padding:50px 20px}footer{grid-template-columns:1fr 1fr;padding:50px 25px 25px}footer>div:first-child{grid-column:1/-1}.price-wrap{padding:35px 20px 75px}.price-row{padding:17px 0}}

/* Kotvy nesmí zapadnout pod sticky navigaci. */
#sluzby,#o-salonu,#kontakt{scroll-margin-top:110px}
.service-details{margin-top:20px;border-top:1px solid #e8e0d7;padding-top:15px}
.service-details summary{list-style:none;cursor:pointer;color:#9b7952;font-size:12px;font-weight:600;letter-spacing:.05em;display:flex;align-items:center;justify-content:space-between;gap:12px}
.service-details summary::-webkit-details-marker{display:none}
.service-details[open] summary span{transform:rotate(90deg)}
.service-details .service-extra{margin:14px 0 0}
@media(max-width:700px){#sluzby,#o-salonu,#kontakt{scroll-margin-top:88px}}

/* Karty se nesmi natahovat podle nejvyssi otevrene karty. */
.service-grid{align-items:start}

/* Obsah se nejdřív načte a případná kotva se nastaví bez bliknutí úvodního textu. */
#app{opacity:0}
#app.is-ready{opacity:1;transition:opacity .28s ease}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#app.is-ready{transition:none}}


/* Mobilní facelift 2026-11-05: pouze telefony, desktop zůstává beze změny. */
@media (max-width:700px) {
  .header { height:70px; padding-inline:20px; }
  .logo { font-size:clamp(16px,4.6vw,20px); letter-spacing:.045em; }
  .logo small { font-size:8px; margin-top:7px; letter-spacing:.25em; }
  /* Barvu hamburgeru určuje CSS, nikoli výchozí modrý znak prohlížeče. */
  .menu-toggle {
    display:block; width:42px; height:42px; padding:0;
    flex:0 0 42px; cursor:pointer; border:0; border-radius:4px;
    color:transparent; font-size:0; line-height:0;
    background:linear-gradient(#44362e,#44362e) center 50% / 25px 2px no-repeat;
    position:relative;
  }
  .menu-toggle::before,.menu-toggle::after {
    content:""; position:absolute; left:8.5px; width:25px; height:2px;
    border-radius:2px; background:#44362e;
  }
  .menu-toggle::before { top:13px; }
  .menu-toggle::after { bottom:13px; }
  .menu-toggle:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
  .header nav { top:70px; }
  .hero { min-height:0; }
  .hero-copy { padding:50px 24px 54px; }
  .hero h1 { font-size:clamp(43px,10.5vw,56px); line-height:1.13; margin:20px 0 17px; }
  .hero .gold-line { margin:12px 0 22px; }
  .hero p { font-size:14px; line-height:1.75; margin-bottom:24px; }
  .hero .btn { padding:16px 22px; font-size:11px; letter-spacing:.1em; }
  .hero-cta-arrow { font-size:0; vertical-align:middle; }
  .hero-cta-arrow::after { content:"→"; font-size:16px; font-family:Arial,sans-serif; font-weight:400; margin-left:7px; }
  .hero-visual { min-height:310px; }
  #sluzby,#o-salonu,#kontakt { scroll-margin-top:84px; }
}
@media (max-width:360px) {
  .logo { font-size:16px; }
  .hero h1 { font-size:42px; }
  .hero-copy { padding:43px 21px 48px; }
}
