:root{
  --bg:#ffffff;
  --panel:#f3f5f7;
  --ink:#1f2f44;
  --muted:#6b7280;
  --blue:#1f3b5d;
  --line:#e6ebf0;
  --card:#ffffff;
  --shadow:0 16px 44px rgba(15, 23, 42, .10);
  --shadow2:0 10px 30px rgba(15, 23, 42, .08);
  --radius:16px;
  --radius2:22px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
.container{max-width:1180px;margin:0 auto;padding:0 34px}
.center{text-align:center}
.small{font-size:13px}
.muted{color:var(--muted)}

.hero{background:linear-gradient(#f7f9fb,#ffffff);padding:78px 0 56px}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.sig{font-family:Allura,cursive;font-size:62px;line-height:1;color:#2a3f57;margin-bottom:14px}
h1,h2{font-family:"Playfair Display",serif;font-weight:600;color:#1f2f44}
h1{font-size:46px;line-height:1.14;margin:0 0 18px}
.lead{margin:0;color:var(--muted);font-size:16px;line-height:1.65}
.hero__buttons{display:flex;gap:18px;margin-top:28px;flex-wrap:wrap}

.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:10px;padding:13px 26px;font-weight:600;font-size:14px;border:1px solid transparent;min-width:190px}
.btn--primary{background:var(--blue);color:#fff;box-shadow:0 12px 26px rgba(31,59,93,.20)}
.btn--ghost{background:transparent;color:#1f2f44;border-color:#b8c3cf}
.btn--small{min-width:auto;padding:11px 18px}

.section{padding:64px 0}
.section--panel{background:var(--panel)}
.section--soft{background:#ffffff}

.booking__grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:flex-start}
.price{font-family:"Playfair Display",serif;font-size:22px;margin:14px 0 18px}
.price span{font-family:Inter,sans-serif;font-weight:600;font-size:14px;color:var(--muted)}
.body{font-size:14px;line-height:1.75;margin:0}

.ticks{list-style:none;padding-left:0;margin:22px 0 0}
.ticks li{position:relative;padding-left:28px;margin:12px 0;color:var(--muted);font-size:14px}
.ticks li::before{content:"✓";position:absolute;left:0;top:0;color:#2fb36a;font-weight:900}

.spa-image{
  width:100%;
  margin-top:34px;
  border-radius:18px;
  box-shadow:0 12px 30px rgba(15,23,42,.08);
}

.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow2);border:1px solid rgba(230,235,240,.95);padding:24px}
.calendly-card{padding:22px}
.card__title{font-weight:600;margin-bottom:14px}
.card__footer{margin-top:14px;font-size:12px}

.about__grid{display:grid;grid-template-columns:260px 1fr;gap:42px;align-items:start}
.about__thumb{padding-top:6px}
.about-cta{margin-top:26px}

.reviews{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:26px}
.review{padding:18px;min-height:160px}
.stars{font-size:18px;margin-bottom:10px;color:#f5b301}

.contact{max-width:760px}
.footer{padding:34px 0 52px;background:#ffffff;border-top:1px solid var(--line)}

/* Blend images into background (no frames) */
.img-blend{
  width:100%;
  height:auto;
  border-radius:18px;
  box-shadow:none;
  background:transparent;
}
.img-hero{border-radius:22px}
.img-about{border-radius:14px}

/* soften edge visually */
.hero__media img{
  filter: drop-shadow(0 18px 38px rgba(15,23,42,.10));
}
.about__thumb img{
  filter: drop-shadow(0 12px 26px rgba(15,23,42,.08));
}

@media (max-width: 980px){
  .hero__grid,.booking__grid,.about__grid,.reviews{grid-template-columns:1fr}
  .sig{font-size:52px}
  h1{font-size:38px}
  .btn{min-width:0;width:auto}
}
/* =========================
   Telegram QR Code Styling
   ========================= */

.telegram-qr {
  display: block;
  margin: 16px auto 0;
  width: 180px;        /* good scan size */
  height: auto;
}

.telegram-qr--small {
  width: 110px;        /* fits neatly in booking card */
}

.telegram-footer p {
  margin: 0 0 8px;
  font-size: 12px;
  color: var(--muted);
  text-align: center;
}
