:root{
  --bg:#ffffff;
  --fg:#0f172a;
  --muted:#64748b;
  --card:#ffffff;
  --border:#e2e8f0;
  --primary:#6741ca;
  --primary-weak: rgba(37,99,235,.12);
  --alt:#f8fafc;
  --shadow: 0 1px 10px rgba(2,6,23,.06);
  --radius: 18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"Google Sans","Google Sans Text","Roboto",Arial,sans-serif;
  color:var(--fg);
  background:var(--bg);
  line-height:1.6;
}

a{color:inherit;text-decoration:none}
a:hover{opacity:.9}

.container{
  width:min(1100px, calc(100% - 32px));
  margin:0 auto;
}

.center{text-align:center}
.lead{color:var(--muted); margin-top:8px}

.text-primary{color:var(--primary)}

/* Header */
.header{
  position:fixed;
  top:0; left:0; right:0;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--border);
  z-index:50;
}

.header__inner{
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.brand{display:flex; align-items:center; gap:10px}
.brand__logo{
  width:40px; height:40px;
  border-radius:999px;
  background:var(--primary);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-weight:700;
}
.brand__name{font-weight:800; font-size:18px}

.nav{display:none; gap:22px; color:var(--muted); font-weight:600}
.nav a:hover{color:var(--primary)}

.header__cta{display:none}

.burger{
  display:inline-flex;
  border:1px solid var(--border);
  background:#fff;
  border-radius:10px;
  padding:8px 10px;
  cursor:pointer;
}

.mobile-nav{
  display:none;
  border-top:1px solid var(--border);
  background:#fff;
  padding:12px 16px 16px;
}
.mobile-nav a{display:block; padding:10px 0; color:var(--muted); font-weight:600}
.mobile-nav a:hover{color:var(--primary)}
.mobile-nav--open{display:block}

@media (min-width: 900px){
  .nav{display:flex}
  .header__cta{display:inline-flex}
  .burger{display:none}
  .mobile-nav{display:none !important}
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 16px;
  border-radius:12px;
  font-weight:700;
  border:1px solid var(--border);
  background:transparent;
  cursor:pointer;
}
.btn--primary{
  background:var(--primary);
  color:#fff;
  border-color:transparent;
}
.btn--outline:hover{background:var(--alt)}

/* Main offset because fixed header */
.main{padding-top:72px}

/* Hero */
.hero{
  padding:56px 0 56px;
  position:relative;
  overflow:hidden;
}
.hero:before{
  content:"";
  position:absolute;
  inset:-40px;
  background:
    radial-gradient(circle at 20% 20%, rgba(103, 65, 202, 0.15), transparent 50%),
radial-gradient(circle at 80% 80%, rgba(167, 139, 250, 0.15), transparent 50%)
;
  z-index:-1;
}

.hero__inner{max-width: 880px; margin:0 auto; text-align:center}

.pill{
  display:inline-flex;
  gap:8px;
  align-items:center;
  padding:8px 12px;
  background: var(--alt);
  border:1px solid var(--border);
  border-radius:999px;
  font-weight:700;
  color:#334155;
  margin-bottom:16px;
}
.pill--primary{
  background: var(--primary-weak);
  border-color: transparent;
  color: var(--primary);
}

.hero__title{
  font-size: clamp(28px, 5vw, 54px);
  line-height:1.1;
  margin:0 0 16px;
}
.hero__desc{
  color:var(--muted);
  font-size:18px;
  margin:0 auto 20px;
  max-width: 720px;
}

.hero__actions{
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:center;
  margin: 10px 0 28px;
}
@media (min-width: 640px){
  .hero__actions{flex-direction:row; justify-content:center}
}

.cards3{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  margin-top: 8px;
}
@media (min-width: 720px){
  .cards3{grid-template-columns:repeat(3,1fr)}
}

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding:18px;
}
.card__icon{
  width:48px; height:48px;
  border-radius:14px;
  background: var(--primary-weak);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 12px;
  font-size:20px;
}
.card__title{font-weight:800; text-align:center}
.card__text{color:var(--muted); text-align:center; font-size:14px; margin-top:4px}

/* Sections */
.section{padding:56px 0}
.section--alt{background:var(--alt); border-top:1px solid var(--border); border-bottom:1px solid var(--border)}
.section h2{margin:10px 0 10px; font-size: clamp(22px, 3.4vw, 36px)}
.section p{color:var(--muted)}

.grid2{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
}
@media (min-width: 900px){
  .grid2{grid-template-columns: 1fr 1fr}
}
.gap{gap:18px}

.checklist{margin:16px 0 16px; padding-left:18px}
.checklist li{margin:8px 0; color:#0f172a}
.muted{color:var(--muted); margin-top:10px}
/* Stats */
.stats{
  border-radius: 26px;
  padding:18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;

  background:
    radial-gradient(circle at 20% 20%, rgba(103,65,202,.12), transparent 45%),
    radial-gradient(circle at 80% 80%, rgba(103,65,202,.08), transparent 45%),
    #fff;

  border: 1px solid rgba(103,65,202,.12);
  box-shadow: 0 18px 45px rgba(16,24,40,.08);
}

.stat{
  position: relative;
  border-radius: 20px;
  padding:18px 16px;
  text-align:center;

  background: rgba(255,255,255,.78);
  border: 1px solid rgba(103,65,202,.10);
  backdrop-filter: blur(10px);

  box-shadow: 0 10px 24px rgba(16,24,40,.06);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.stat:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(16,24,40,.10);
  border-color: rgba(103,65,202,.22);
}

.stat--wide{ grid-column:1 / -1; }

.stat__icon{
  width: 38px;
  height: 38px;
  margin: 0 auto 10px;
  border-radius: 12px;

  display:flex;
  align-items:center;
  justify-content:center;

  background: rgba(103,65,202,.12);
  border: 1px solid rgba(103,65,202,.18);
  font-size: 18px;
}

.stat__num{
  font-size: 40px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--primary);
  margin-bottom: 8px;
}

.stat__label{
  color: var(--muted);
  font-size: 14px;
  line-height: 1.35;
}

/* Мобилка */
@media (max-width: 520px){
  .stats{ grid-template-columns: 1fr; }
  .stat--wide{ grid-column:auto; }
}

/* Panel / list */
.panel{
  background:#fff;
  border:1px solid var(--border);
  border-radius: 18px;
  box-shadow: var(--shadow);
  overflow:hidden;
  
}
.panel__head{
  padding:16px 18px;
  border-bottom:1px solid var(--border);
}
.panel__title{font-weight:900}
.list{padding: 10px 14px 16px}
.list__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 12px;
  border-radius: 14px;
  background: rgba(248,250,252,.7);
  margin-top:10px;
}
.list__name{font-weight:700}
.badge{
  background: var(--primary-weak);
  color: var(--primary);
  padding: 6px 10px;
  border-radius: 10px;
  font-weight:800;
  font-size:12px;
}
.list { margin: 10px 0 0; padding-left: 18px; }
.list li { margin: 6px 0; }


/* Accordion */
.accordion{padding: 10px 14px 16px}
.accordion details{
  border-bottom:1px solid var(--border);
  padding:10px 0;
}
.accordion summary{
  cursor:pointer;
  font-weight:800;
  color:#0f172a;
  list-style:none;
}
.accordion summary::-webkit-details-marker{display:none}
.accordion__body{color:var(--muted); padding:10px 0 0}

/* Contact */
.contact-card{
  border:1px solid var(--border);
  border-radius: 18px;
  box-shadow: var(--shadow);
  overflow:hidden;
  background:#fff;
}
.contact-card__top{
  background: var(--primary);
  color:#fff;
  padding:18px;
}
.contact-card__top p{color: rgba(255,255,255,.85)}
.contact-item{margin-top:12px}
.contact-item span{display:block; opacity:.9; margin-top:4px}

.contact-card__bottom{padding:18px}

.social{padding: 14px 16px}
.social__item{
  display:flex;
  gap:12px;
  padding:12px;
  border:1px solid var(--border);
  border-radius: 16px;
  margin-top: 10px;
  background:#fff;
}
.social__icon{
  width:40px; height:40px;
  border-radius: 14px;
  background: var(--primary-weak);
  display:flex; align-items:center; justify-content:center;
}
.social__name{font-weight:900}
.social__desc{color:var(--muted); font-size:14px}

.hours{
  margin: 14px 16px 16px;
  background: var(--alt);
  border:1px solid var(--border);
  border-radius: 16px;
  padding:14px;
  text-align:center;
  color:var(--muted);
}

/* Footer */
.footer{
  background:#0f172a;
  color:#fff;
  padding: 40px 0 24px;
  margin-top: 30px;
}
.footer__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
}
@media(min-width: 900px){
  .footer__grid{grid-template-columns: 1.2fr .8fr 1fr}
}
.brand--footer .brand__logo{background:var(--primary)}
.footer h4{margin:0 0 10px}
.footer ul{list-style:none; padding:0; margin:0}
.footer li{margin:10px 0; color: rgba(255,255,255,.75)}
.footer a{color: rgba(255,255,255,.75)}
.footer a:hover{color:#fff}
.footer__muted{color: rgba(255,255,255,.75); margin: 10px 0 0}
.footer__bottom{
  border-top:1px solid rgba(255,255,255,.15);
  margin-top: 18px;
  padding-top: 16px;
  color: rgba(255,255,255,.65);
  text-align:center;
}

.contact-map {
  margin-top: 14px;
  border-radius: 14px;
  overflow: hidden;
}

.contact-map iframe {
  width: 100%;
  height: 240px;
  border: 0;
  display: block;
}

/* Price */
.price-groups{
  display:grid;
  gap:24px;
  margin-top:32px;
}

@media(min-width: 900px){
  .price-groups{
    grid-template-columns: repeat(3, 1fr);
    align-items:start;
  }
}

.price-card{
  background:#ffffff;
  border:1px solid rgba(103,65,202,.12);
  border-radius:24px;
  padding:24px;
  box-shadow: 0 16px 40px rgba(16,24,40,.07);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.price-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 22px 50px rgba(16,24,40,.11);
  border-color: rgba(103,65,202,.24);
}

.price-card__title{
  text-align:center;
  font-size:20px;
  font-weight:900;
  color:var(--primary);
  text-transform:uppercase;
  letter-spacing:.4px;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(103,65,202,.14);
}

.price-card__list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.price-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:12px 0;
  border-bottom:1px dashed rgba(15,23,42,.12);
}

.price-row:last-child{
  border-bottom:none;
  padding-bottom:0;
}

.price-row__name{
  font-size:15px;
  line-height:1.4;
  color:var(--fg);
  font-weight:700;
}

.price-row__value{
  flex-shrink:0;
  font-size:15px;
  font-weight:900;
  color:var(--primary);
  background:rgba(103,65,202,.10);
  padding:6px 10px;
  border-radius:999px;
  white-space:nowrap;
}

.price-note{
  margin:28px auto 0;
  max-width:760px;
  text-align:center;
  color:var(--muted);
  font-size:15px;
  line-height:1.5;
}

.price-offer{
  margin-top:18px;
  text-align:center;
}

.price-offer a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  background:var(--primary);
  color:#fff;
  font-weight:800;
  box-shadow: 0 12px 26px rgba(103,65,202,.22);
}

@media(max-width: 520px){
  .price-card{
    padding:20px 16px;
    border-radius:20px;
  }

  .price-card__title{
    font-size:18px;
  }

  .price-row{
    gap:10px;
  }

  .price-row__name,
  .price-row__value{
    font-size:14px;
  }

  .price-row__value{
    padding:5px 9px;
  }
}

/* Убираем стандартный маркер */
.accordion--pro summary::-webkit-details-marker {
  display: none;
}
.accordion--pro summary {
  list-style: none;
  position: relative;
  cursor: pointer;
  padding-right: 40px; /* место для стрелки */
}

/* Стрелка */
.accordion--pro summary::after {
  content: "›"; /* аккуратная стрелочка */
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  font-size: 18px;
  font-weight: 700;
  color: var(--primary);
  transition: transform 0.2s ease, opacity 0.2s ease;
  opacity: 0.6;
}

/* При открытии поворачиваем */
.accordion--pro details[open] summary::after {
  transform: translateY(-50%) rotate(90deg);
  opacity: 1;
}

.btn--icon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.btn__icon {
  width: 18px;
  height: 18px;
}

.social__icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(103,65,202,.08);
}

.social__icon img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.social__item {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border-radius: 16px;
  transition: all .2s ease;
}

.social__item:hover {
  background: rgba(103,65,202,.06);
  transform: translateY(-2px);
}
/* Reviews */
.reviews-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.review-card{
  border-radius: 20px;
  padding: 22px;
  background:
    radial-gradient(circle at 15% 20%, rgba(103,65,202,.10), transparent 45%),
    #fff;
  border: 1px solid rgba(103,65,202,.12);
  box-shadow: 0 12px 28px rgba(16,24,40,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  position: relative;
  overflow: hidden;
}

.review-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(16,24,40,.10);
  border-color: rgba(103,65,202,.22);
}

.review-top{
  display:flex;
  align-items:center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.review-stars{
  font-size: 14px;
  letter-spacing: 1px;
  color: var(--primary);
  opacity: .9;
  user-select: none;
}

.review-quote{
  font-size: 42px;
  line-height: 1;
  font-weight: 900;
  color: rgba(103,65,202,.18);
  transform: translateY(-6px);
  user-select: none;
}

.review-text{
  font-size: 15px;
  line-height: 1.65;
  color: var(--fg);
  margin-bottom: 14px;
}

.review-author strong{
  display:block;
  color: var(--primary);
  font-weight: 800;
}
.review-author span{
  display:block;
  color: var(--muted);
  font-size: 13px;
}

/* Gallery block */
.gallery-block{
  margin-top: 26px;
  padding: 16px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 80% 20%, rgba(103,65,202,.10), transparent 48%),
    #fff;
  border: 1px solid rgba(103,65,202,.12);
  box-shadow: 0 12px 28px rgba(16,24,40,.06);
}

.gallery-head{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.gallery-title{
  font-weight: 800;
  color: var(--fg);
}

.gallery-hint{
  font-size: 13px;
  color: var(--muted);
}

/* Horizontal strip: много фото, мало места */
.gallery-strip{
  display:flex;
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 6px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.gallery-strip::-webkit-scrollbar{
  height: 8px;
}
.gallery-strip::-webkit-scrollbar-thumb{
  background: rgba(103,65,202,.18);
  border-radius: 999px;
}
.gallery-strip::-webkit-scrollbar-track{
  background: rgba(0,0,0,.06);
  border-radius: 999px;
}

.gallery-item{
  flex: 0 0 auto;
  width: 140px;
  height: 92px;
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid rgba(103,65,202,.14);
  background: rgba(103,65,202,.06);
  scroll-snap-align: start;
  box-shadow: 0 10px 20px rgba(16,24,40,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  display:block;
}

.gallery-item:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(16,24,40,.10);
  border-color: rgba(103,65,202,.24);
}

.gallery-item img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
  transition: transform .25s ease;
}

.gallery-item:hover img{
  transform: scale(1.04);
}

/* Mobile */
@media (max-width: 520px){
  .gallery-item{ width: 128px; height: 86px; }
}


.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}

.brand__logo{
  width:48px;        /* можно 40–56px */
  height:48px;
  object-fit:cover;
  border-radius:50%;
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
}

.brand__name{
  font-weight:700;
  font-size:18px;
  color: var(--fg);
}


/* =========================================================
   HERO TITLE — PLAYFAIR DISPLAY
   Tuned to visually match the supplied reference
   ========================================================= */
.hero__title{
  font-family:"Playfair Display", Georgia, "Times New Roman", serif;
  font-size:clamp(46px, 5.25vw, 72px);
  line-height:1.06;
  font-weight:500;
  letter-spacing:normal;
  color:#11182a;
  margin:0 0 22px;
}

.hero__title .text-primary{
  font-family:"Playfair Display", Georgia, "Times New Roman", serif;
  font-weight:500;
  color:#7444d4;
}


/* =========================================================
   HERO DECORATIONS — reference-like underlines + heart divider
   ========================================================= */

/* =========================================================
   HERO DECOR — traced from the supplied reference
   ========================================================= */

/* "логопедом": long upper stroke + shorter lower hand stroke */
.hero__title .text-primary{
  position:relative;
  display:inline-block;
  z-index:1;
}

.hero__title .text-primary::after{
  content:"";
  position:absolute;
  left:-4px;
  width:calc(100% + 13px);
  bottom:-15px;
  height:19px;
  pointer-events:none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 390 20' preserveAspectRatio='none'%3E%3Cpath d='M3 9.8 C74 7.1 144 6.2 214 6.7 C280 7.1 342 8.0 387 10.2' fill='none' stroke='%239A6BE0' stroke-width='2.8' stroke-linecap='round'/%3E%3Cpath d='M151 14.1 C187 12.4 222 11.9 258 12.2 C286 12.4 310 13.0 337 14.0' fill='none' stroke='%23A77DE7' stroke-width='1.65' stroke-linecap='round' opacity='.86'/%3E%3C/svg%3E")
    center / 100% 100% no-repeat;
}

/* Purple location pin from the reference */
.location-mark{
  position:relative;
  display:inline-flex !important;
  align-items:center;
  gap:7px;
  white-space:nowrap;
}

.location-pin{
  width:17px;
  height:17px;
  flex:0 0 17px;
  display:block;
  transform:translateY(1px);
}

/* "м. Миколаїв": long stroke + shorter lower stroke */
.hero__desc .location-mark::after{
  content:"";
  position:absolute;
  left:23px;
  right:-3px;
  bottom:-8px;
  height:12px;
  pointer-events:none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 156 11' preserveAspectRatio='none'%3E%3Cpath d='M2 5.9 C34 4.8 67 4.7 99 4.9 C124 5.0 143 5.4 154 6.0' fill='none' stroke='%239A67DE' stroke-width='2.15' stroke-linecap='round'/%3E%3C/svg%3E")
    center / 100% 100% no-repeat;
}

/* Divider traced to the same proportions as the reference */
.hero__divider{
  width:338px;
  max-width:72vw;
  height:32px;
  margin:23px auto 17px;
  display:grid;
  grid-template-columns:1fr 30px 1fr;
  align-items:center;
  column-gap:14px;
  color:#A47BE4;
}

.hero__divider::before,
.hero__divider::after{
  content:"";
  height:1.4px;
  background:linear-gradient(
    90deg,
    rgba(164,123,228,0) 0%,
    rgba(164,123,228,.42) 18%,
    rgba(164,123,228,.68) 55%,
    rgba(164,123,228,.36) 88%,
    rgba(164,123,228,0) 100%
  );
}

.hero__divider-heart{
  width:26px;
  height:26px;
  display:block;
  justify-self:center;
}

@media (max-width: 640px){
  .hero__title .text-primary::after{
    bottom:-7px;
    height:9px;
  }

  .hero__divider{
    width:min(280px, 82vw);
    margin:18px auto 14px;
  }
}


/* =========================================================
   UI TYPOGRAPHY — GOOGLE SANS FIRST
   Playfair Display is kept only for the large hero heading.
   ========================================================= */
body,
button,
input,
textarea,
select,
.brand__name,
.nav,
.nav a,
.mobile-nav,
.mobile-nav a,
.btn,
.pill,
.hero__desc,
.card__title,
.card__text,
.section,
.section h2,
.section p,
.lead,
.checklist,
.muted,
.stat,
.panel,
.panel__title,
.list,
.badge,
.accordion,
.accordion summary,
.accordion__body,
.contact-card,
.contact-item,
.social,
.social__name,
.social__desc,
.hours,
.price-card,
.price-card__title,
.price-row__name,
.price-row__value,
.price-note,
.price-offer,
.review-card,
.review-text,
.review-author,
.gallery-block,
.gallery-title,
.gallery-hint,
.footer,
.footer h4,
.footer li,
.footer a{
  font-family:"Google Sans","Google Sans Text","Roboto",Arial,sans-serif;
}

.hero__title,
.hero__title .text-primary{
  font-family:"Playfair Display",Georgia,"Times New Roman",serif;
}


/* ===== UPDATED HERO FROM PROVIDED REFERENCE ===== */
/* ===== HERO (ти особливий) ===== */
.hs-hero{
  --hs-purple:#7B4FD6;
  --hs-ink:#1C1B33;
  --hs-muted:#6B6880;

  position:relative;
  overflow:hidden;
  padding:clamp(36px,5vw,60px) 0 clamp(40px,5.5vw,66px);
  font-family:"Google Sans","Google Sans Text","Roboto",Arial,sans-serif;
  background:
    radial-gradient(1100px 520px at 12% -10%, rgba(167,139,250,.28), transparent 62%),
    radial-gradient(900px 620px at 88% 8%, rgba(196,181,253,.22), transparent 60%),
    radial-gradient(760px 520px at 50% 100%, rgba(244,214,232,.20), transparent 65%),
    linear-gradient(180deg,#EFE8F9 0%,#F5F0FC 42%,#FCFAFE 100%);
}

/* лёгкая «бумажная» текстура */
.hs-hero::before{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  opacity:.5;
  background-image:radial-gradient(rgba(123,79,214,.10) 1px, transparent 1px);
  background-size:26px 26px;
  mask-image:radial-gradient(70% 60% at 50% 40%, transparent 40%, #000 100%);
  -webkit-mask-image:radial-gradient(70% 60% at 50% 40%, transparent 40%, #000 100%);
}

.hs-inner{
  position:relative;
  z-index:2;
  width:min(1080px, calc(100% - 32px));
  margin:0 auto;
  text-align:center;
}

/* ---------- декор ---------- */
.hs-decor{
  position:absolute;
  z-index:1;
  pointer-events:none;
  user-select:none;
  mix-blend-mode:multiply;
}
.hs-decor--left{ left:-1.5%; bottom:-26px; width:clamp(120px,15vw,240px); opacity:.95; transform:rotate(-4deg); }
.hs-decor--right{ right:-2%; bottom:0; width:clamp(100px,13vw,200px); opacity:.9; transform:rotate(6deg); }

.hs-spark{ position:absolute; z-index:1; pointer-events:none; }
.hs-spark--1{ left:6.5%;  top:32%; width:clamp(10px,1.1vw,15px); opacity:.75; }
.hs-spark--2{ left:3.5%;  top:55%; width:clamp(7px,.8vw,10px);  opacity:.6; }
.hs-spark--3{ right:8.5%; top:24%; width:clamp(11px,1.2vw,17px); opacity:.7; }
.hs-spark--4{ right:4.5%; top:64%; width:clamp(8px,.9vw,12px); opacity:.6; }

.hs-heart{ position:absolute; z-index:1; pointer-events:none; }
.hs-heart--1{ left:4.5%;  top:17%; width:clamp(22px,2.4vw,34px); opacity:.6; }
.hs-heart--2{ left:8.5%;  bottom:24%; width:clamp(28px,3vw,44px); opacity:.65; }
.hs-heart--3{ right:11%;  top:42%; width:clamp(16px,1.6vw,23px); opacity:.65; }
.hs-heart--4{ right:15.5%; bottom:30%; width:clamp(12px,1.2vw,17px); opacity:.5; }

/* «Гортайте» + стрелка (широкие экраны — в свободном поле справа) */
.hs-scroll{
  position:absolute;
  z-index:2;
  display:none;
  width:clamp(104px,9vw,136px);
  right:max(14px, calc((100% - 1080px) / 2 - 132px));
  top:clamp(150px,20%,210px);
  pointer-events:none;
  text-align:center;
}
.hs-scroll b{
  display:block;
  font-family:"Caveat",cursive;
  font-size:clamp(26px,2.1vw,34px);
  font-weight:700;
  line-height:1;
  color:#8B5CF6;
  transform:rotate(-8deg);
  transform-origin:50% 100%;
}
.hs-scroll .hs-scroll__line{
  display:block;
  width:82%;
  height:8px;
  margin:1px auto 0;
  transform:rotate(-8deg);
}
.hs-scroll .hs-scroll__arrow{ display:block; width:clamp(40px,3.4vw,54px); margin:10px auto 0; }

/* «Гортайте» для планшетов и телефонов — в потоке, по центру, ничего не перекрывает */
.hs-scroll-m{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:clamp(16px,2.4vw,26px) auto 0;
  pointer-events:none;
}
.hs-scroll-m b{
  position:relative;
  font-family:"Caveat",cursive;
  font-size:clamp(23px,4.6vw,28px);
  font-weight:700;
  line-height:1;
  color:#8B5CF6;
}
.hs-scroll-m .hs-scroll-m__line{
  position:absolute;
  left:0; bottom:-6px;
  width:100%; height:7px;
  overflow:visible;
}
.hs-scroll-m .hs-scroll-m__arrow{
  width:clamp(24px,4vw,30px);
  animation:hs-bob 1.9s ease-in-out infinite;
}

@keyframes hs-bob{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(5px); }
}
@media (prefers-reduced-motion:reduce){
  .hs-scroll-m .hs-scroll-m__arrow{ animation:none; }
}

@media (min-width:1160px){
  .hs-scroll{ display:block; }
  .hs-scroll-m{ display:none; }
}

/* ---------- pill ---------- */
.hs-pill{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:10px clamp(16px,1.6vw,22px);
  margin:0 0 clamp(16px,2vw,24px);
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(123,79,214,.16);
  box-shadow:0 6px 20px rgba(87,53,160,.08);
  backdrop-filter:blur(6px);
  font-size:clamp(13px,1.15vw,16px);
  font-weight:700;
  color:#3B3557;
}
.hs-pill svg{ width:1.25em; height:1.25em; flex:0 0 auto; }

/* ---------- заголовок ---------- */
.hs-title{
  font-family:"Playfair Display",Georgia,serif;
  font-weight:500;
  font-size:clamp(30px,5.6vw,64px);
  line-height:1.12;
  letter-spacing:-.5px;
  color:var(--hs-ink);
  margin:0;
  text-wrap:balance;
}
.hs-title__accent{
  position:relative;
  display:inline-block;
  color:var(--hs-purple);
}
/* рисованное подчёркивание под «логопедом» — один мазок кистью */
.hs-title__swash{
  position:absolute;
  left:-1%;
  bottom:-.14em;
  width:104%;
  height:.19em;
  overflow:visible;
}

/* ---------- разделитель ---------- */
.hs-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:clamp(14px,2vw,24px) auto clamp(12px,1.8vw,20px);
  max-width:min(420px,80%);
}
.hs-divider i{
  height:1px;
  flex:1;
  background:linear-gradient(90deg,transparent,rgba(123,79,214,.35),transparent);
}
.hs-divider svg{ width:24px; height:24px; flex:0 0 auto; }

/* ---------- описание ---------- */
.hs-desc{
  max-width:min(740px,94%);
  margin:0 auto clamp(20px,2.6vw,30px);
  font-size:clamp(15px,1.3vw,18px);
  line-height:1.6;
  color:var(--hs-muted);
}
.hs-place{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#4B4463;
  font-weight:600;
  white-space:nowrap;
}
.hs-place svg.hs-place__pin{ width:.78em; height:.98em; flex:0 0 auto; }
.hs-place__text{ position:relative; display:inline-block; }
.hs-place__line{
  position:absolute;
  left:0; right:0;
  bottom:-.22em;
  width:100%; height:.2em;
  overflow:visible;
}

/* ---------- кнопки ---------- */
.hs-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-bottom:clamp(24px,3.2vw,40px);
}
.hs-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:clamp(13px,1.3vw,16px) clamp(20px,2.4vw,30px);
  border-radius:13px;
  font-size:clamp(14px,1.15vw,16px);
  font-weight:800;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.hs-btn--solid{
  background:var(--hs-purple);
  color:#fff;
  box-shadow:0 14px 30px rgba(101,58,190,.28);
}
.hs-btn--solid:hover{ transform:translateY(-2px); box-shadow:0 18px 36px rgba(101,58,190,.34); }
.hs-btn--ghost{
  background:rgba(255,255,255,.75);
  color:var(--hs-purple);
  border:1.6px solid rgba(123,79,214,.55);
}
.hs-btn--ghost:hover{ transform:translateY(-2px); background:#fff; }
.hs-btn:focus-visible{ outline:3px solid rgba(123,79,214,.45); outline-offset:3px; }
@media (prefers-reduced-motion:reduce){
  .hs-btn,.hs-card{ transition:none; }
  .hs-btn:hover,.hs-card:hover{ transform:none; }
}

/* ---------- карточки ---------- */
.hs-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(215px,1fr));
  gap:clamp(12px,1.4vw,18px);
  max-width:1040px;
  margin:0 auto;
}

.hs-card{
  position:relative;
  overflow:hidden;
  padding:clamp(14px,1.6vw,18px) clamp(14px,1.6vw,20px);
  border-radius:18px;
  text-align:center;
  box-shadow:0 10px 26px rgba(74,48,130,.07);
  transition:transform .2s ease, box-shadow .2s ease;
}
.hs-card:hover{ transform:translateY(-3px); box-shadow:0 18px 38px rgba(74,48,130,.12); }

.hs-card--pink{ background:linear-gradient(160deg,#FDF1F1 0%,#FEF9F8 100%); border:1px solid rgba(232,168,178,.32); }
.hs-card--blue{ background:linear-gradient(160deg,#EFF6FC 0%,#F9FCFE 100%); border:1px solid rgba(150,190,226,.32); }
.hs-card--lilac{ background:linear-gradient(160deg,#F8F3FE 0%,#FCFAFF 100%); border:1px solid rgba(181,153,228,.30); }

.hs-card__icon{
  width:clamp(44px,4vw,52px); height:clamp(44px,4vw,52px);
  margin:0 auto 10px;
  border-radius:999px;
  display:flex; align-items:center; justify-content:center;
}
.hs-card__icon svg{ width:52%; height:52%; }
.hs-card--pink  .hs-card__icon{ background:#FBE4E9; }
.hs-card--blue  .hs-card__icon{ background:#E2EEF9; }
.hs-card--lilac .hs-card__icon{ background:#ECE2FB; }

.hs-card__title{
  font-size:clamp(15px,1.3vw,18px);
  font-weight:800;
  color:#241F3C;
  margin-bottom:3px;
}
.hs-card__text{
  font-size:clamp(12.5px,1.05vw,14px);
  line-height:1.45;
  color:#6E6A85;
}

/* планшеты */
@media (max-width:900px){
  .hs-decor--left{ opacity:.55; }
  .hs-decor--right{ opacity:.5; }
  .hs-heart--3,.hs-heart--4{ display:none; }
}

/* телефоны: карточки в строку — экономим высоту */
@media (max-width:560px){
  .hs-hero{ padding:32px 0 40px; }
  .hs-decor--left{ width:110px; opacity:.45; }
  .hs-decor--right{ width:88px; opacity:.4; }
  .hs-heart--1,.hs-heart--2,.hs-spark--2,.hs-spark--4{ display:none; }
  .hs-btn{ flex:1 1 100%; }
  .hs-cards{ grid-template-columns:1fr; gap:10px; }
  .hs-card{
    display:flex;
    align-items:center;
    gap:14px;
    text-align:left;
    padding:12px 14px;
    border-radius:16px;
  }
  .hs-card__icon{ margin:0; flex:0 0 auto; width:42px; height:42px; }
  .hs-card__title{ margin-bottom:1px; }
}

/* ===== MOBILE HERO TITLE SIZE — restored larger ===== */
@media (max-width:560px){
  .hs-title{
    font-size:clamp(35px, 10.2vw, 46px);
    line-height:1.07;
    letter-spacing:-.2px;
  }

  .hs-title__swash{
    bottom:-.12em;
    height:.18em;
  }
}

@media (max-width:380px){
  .hs-title{
    font-size:34px;
  }
}


/* ===== MOBILE HERO TITLE: force exactly 2 visual lines ===== */
@media (max-width:560px){
  .hs-inner{
    width:calc(100% - 20px);
  }

  .hs-title{
    font-size:clamp(29px, 8.25vw, 36px);
    line-height:1.08;
    letter-spacing:-.15px;
    white-space:nowrap;
  }

  .hs-title br{
    display:block;
  }

  .hs-title__swash{
    bottom:-.12em;
    height:.18em;
  }
}

@media (max-width:380px){
  .hs-title{
    font-size:28px;
  }
}


/* =========================================================
   ABOUT — refined in the same visual language as HERO
   Left = text, right = stat blocks
   ========================================================= */
.about-pretty{
  position:relative;
  overflow:hidden;
  padding:clamp(58px,7vw,90px) 0;
  background:
    radial-gradient(700px 360px at 7% 18%, rgba(244,224,234,.38), transparent 66%),
    radial-gradient(760px 420px at 92% 82%, rgba(221,210,247,.42), transparent 68%),
    linear-gradient(180deg,#FCFAFE 0%,#F8F5FC 100%);
  border-top:1px solid rgba(123,79,214,.08);
  border-bottom:1px solid rgba(123,79,214,.08);
}

.about-pretty::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.26;
  background-image:radial-gradient(rgba(123,79,214,.12) .8px,transparent .8px);
  background-size:28px 28px;
  -webkit-mask-image:radial-gradient(68% 62% at 50% 46%, transparent 36%, #000 100%);
  mask-image:radial-gradient(68% 62% at 50% 46%, transparent 36%, #000 100%);
}

.about-pretty__decor{
  position:absolute;
  pointer-events:none;
  z-index:0;
  opacity:.5;
}
.about-pretty__heart{left:4%;top:20%;width:30px;transform:rotate(-12deg)}
.about-pretty__spark{right:5%;bottom:18%;width:16px}

.about-pretty__inner{
  position:relative;
  z-index:2;
  width:min(1100px,calc(100% - 32px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);
  gap:clamp(34px,5vw,64px);
  align-items:center;
}

.about-pretty__left{
  max-width:620px;
}

.about-pretty__pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 16px;
  margin-bottom:20px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(123,79,214,.16);
  box-shadow:0 7px 20px rgba(74,48,130,.06);
  color:#6940C7;
  font-size:14px;
  font-weight:800;
}

.about-pretty__title{
  margin:0 0 18px;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(36px,4vw,52px);
  line-height:1.08;
  font-weight:500;
  color:#1C1B33;
}

.about-pretty__title span{
  position:relative;
  display:inline-block;
  color:#7B4FD6;
}

.about-pretty__title span::after{
  content:"";
  position:absolute;
  left:-2px;
  right:-4px;
  bottom:-8px;
  height:10px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 12' preserveAspectRatio='none'%3E%3Cpath d='M2 6.8C48 3.2 143 2.8 248 5.8' fill='none' stroke='%23A47BE4' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
}

.about-pretty__text{
  margin:0;
  color:#6B6880;
  font-size:16px;
  line-height:1.75;
  max-width:600px;
}

.about-pretty__list{
  list-style:none;
  margin:24px 0 0;
  padding:0;
  display:grid;
  gap:12px;
}

.about-pretty__list li{
  display:flex;
  align-items:flex-start;
  gap:11px;
  color:#2B2740;
  font-size:15px;
  line-height:1.45;
  font-weight:600;
}

.about-pretty__check{
  width:26px;
  height:26px;
  flex:0 0 26px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#F0E8FB;
  color:#7B4FD6;
  font-size:13px;
  font-weight:900;
  margin-top:-1px;
}

.about-pretty__address{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:24px;
  padding:11px 14px;
  border-radius:15px;
  color:#655D79;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(123,79,214,.11);
  box-shadow:0 8px 20px rgba(74,48,130,.045);
  font-size:14px;
  line-height:1.35;
}

/* RIGHT SIDE */
.about-pretty__stats{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:16px;
  border-radius:28px;
  background:
    radial-gradient(350px 220px at 100% 0%,rgba(220,207,248,.36),transparent 70%),
    rgba(255,255,255,.55);
  border:1px solid rgba(123,79,214,.11);
  box-shadow:0 22px 54px rgba(63,45,104,.09);
  backdrop-filter:blur(8px);
}

.about-pretty__stat{
  min-height:174px;
  padding:22px 18px;
  border-radius:21px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px solid rgba(123,79,214,.10);
  box-shadow:0 10px 28px rgba(63,45,104,.055);
}

.about-pretty__stat:nth-child(1){
  background:linear-gradient(155deg,#FFF4F6 0%,#FFFCFD 100%);
}
.about-pretty__stat:nth-child(2){
  background:linear-gradient(155deg,#F1F7FD 0%,#FCFEFF 100%);
}
.about-pretty__stat--wide{
  grid-column:1/-1;
  min-height:152px;
  background:linear-gradient(155deg,#F7F1FD 0%,#FCFAFF 100%);
}

.about-pretty__icon{
  width:46px;
  height:46px;
  margin-bottom:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(123,79,214,.14);
  font-size:20px;
  box-shadow:0 5px 14px rgba(74,48,130,.05);
}

.about-pretty__num{
  color:#7446D2;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(38px,4vw,50px);
  font-weight:500;
  line-height:1;
}

.about-pretty__stat--wide .about-pretty__num{
  font-size:clamp(28px,3vw,38px);
}

.about-pretty__label{
  margin-top:8px;
  color:#706A82;
  font-size:14px;
  line-height:1.35;
}

/* tiny decorative flourish in stats panel */
.about-pretty__stats::after{
  content:"";
  position:absolute;
  width:42px;
  height:42px;
  right:-12px;
  top:-12px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 42'%3E%3Cpath d='M21 4c.6 7 4 10.4 11 11-7 .6-10.4 4-11 11-.6-7-4-10.4-11-11 7-.6 10.4-4 11-11Z' fill='none' stroke='%23C4B5FD' stroke-width='1.7'/%3E%3C/svg%3E")
    center/contain no-repeat;
  opacity:.65;
}

@media(max-width:900px){
  .about-pretty__inner{
    grid-template-columns:1fr;
  }
  .about-pretty__left{
    max-width:none;
  }
  .about-pretty__stats{
    max-width:650px;
    width:100%;
  }
}

@media(max-width:560px){
  .about-pretty{
    padding:46px 0 52px;
  }
  .about-pretty__inner{
    width:calc(100% - 24px);
    gap:26px;
  }
  .about-pretty__title{
    font-size:34px;
  }
  .about-pretty__text{
    font-size:14.5px;
    line-height:1.65;
  }
  .about-pretty__list li{
    font-size:14px;
  }
  .about-pretty__address{
    font-size:13px;
    align-items:flex-start;
  }
  .about-pretty__stats{
    padding:11px;
    gap:10px;
    border-radius:22px;
  }
  .about-pretty__stat{
    min-height:138px;
    padding:16px 10px;
    border-radius:17px;
  }
  .about-pretty__stat--wide{
    min-height:122px;
  }
  .about-pretty__num{
    font-size:34px;
  }
  .about-pretty__stat--wide .about-pretty__num{
    font-size:26px;
  }
  .about-pretty__heart{
    display:none;
  }
}


/* =========================================================
   CONTINUOUS BACKGROUND FOR HERO + ABOUT + SERVICES
   ========================================================= */
.main{
  background:
    radial-gradient(960px 520px at 8% 4%, rgba(239,226,248,.56), transparent 62%),
    radial-gradient(880px 560px at 92% 9%, rgba(236,226,248,.42), transparent 60%),
    radial-gradient(860px 540px at 50% 94%, rgba(248,233,240,.30), transparent 70%),
    linear-gradient(180deg,#F6F1FC 0%, #FBF8FE 24%, #FCFAFE 58%, #FBF8FE 100%);
}

.hs-hero,
.about-pretty,
#services.section{
  background:transparent !important;
  border:none !important;
  position:relative;
}

.about-pretty,
#services.section{
  margin-top:0;
}

.section.section--alt{
  border-top:none;
  border-bottom:none;
}

/* Remove the visible separator line between sections */
.about-pretty::before{
  opacity:.18;
}
.about-pretty{
  padding-top:52px;
  padding-bottom:54px;
}
#services.section{
  padding-top:58px;
}

/* =========================================================
   FLOWERS ALTERNATE ACROSS SECTIONS
   1st section: left flower only (already in HTML)
   2nd section: flowers on the RIGHT
   3rd section: flowers on the LEFT
   ========================================================= */
.about-pretty::after{
  content:"";
  position:absolute;
  right:-8px;
  top:62px;
  width:clamp(118px,13vw,190px);
  height:clamp(148px,18vw,250px);
  background:url("/decor-flowers-left.png") center/contain no-repeat;
  opacity:.92;
  pointer-events:none;
  z-index:0;
}

#services.section::before{
  content:"";
  position:absolute;
  left:-8px;
  top:68px;
  width:clamp(118px,13vw,190px);
  height:clamp(148px,18vw,250px);
  background:url("/decor-flowers-left.png") center/contain no-repeat;
  opacity:.92;
  pointer-events:none;
  z-index:0;
}

/* =========================================================
   ABOUT PILL / TITLE / ADDRESS REFINEMENTS
   ========================================================= */
.about-pretty__pill{
  gap:8px;
  padding:8px 14px;
  margin-bottom:16px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(123,79,214,.14);
  box-shadow:0 6px 18px rgba(74,48,130,.05);
  color:#5F36C4;
  font-size:13.5px;
  font-weight:800;
}

.about-pretty__pill svg{
  width:16px;
  height:16px;
  flex:0 0 16px;
}

.about-pretty__title{
  margin:0 0 16px;
  font-size:clamp(34px,4vw,50px);
  line-height:1.06;
}

.about-pretty__title span{
  white-space:nowrap;
}

.about-pretty__text{
  max-width:590px;
  font-size:15.8px;
  line-height:1.7;
}

.about-pretty__list{
  margin-top:20px;
  gap:10px;
}

.about-pretty__check{
  margin-top:0;
  background:#F2EAFD;
  box-shadow:0 4px 10px rgba(123,79,214,.08);
}

.about-pretty__address{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:20px;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(123,79,214,.12);
  color:#655D79;
  font-size:13.6px;
  line-height:1.38;
  box-shadow:0 8px 18px rgba(74,48,130,.04);
}

.about-pretty__pin{
  width:15px;
  height:18px;
  flex:0 0 15px;
  transform:translateY(1px);
}

/* =========================================================
   COMPACT, CLEANER RIGHT-SIDE STATS
   ========================================================= */
.about-pretty__stats{
  align-self:center;
  padding:12px;
  gap:12px;
  max-width:470px;
  margin-left:auto;
  border-radius:24px;
  background:
    radial-gradient(300px 180px at 100% 0%, rgba(221,210,247,.30), transparent 72%),
    rgba(255,255,255,.52);
  box-shadow:0 18px 44px rgba(63,45,104,.075);
}

.about-pretty__stat{
  min-height:136px;
  padding:16px 14px;
  border-radius:18px;
}

.about-pretty__stat--wide{
  min-height:106px;
}

.about-pretty__icon{
  width:40px;
  height:40px;
  margin-bottom:8px;
  font-size:18px;
}

.about-pretty__num{
  font-size:clamp(34px,3.4vw,44px);
}

.about-pretty__stat--wide .about-pretty__num{
  font-size:clamp(24px,2.2vw,30px);
}

.about-pretty__label{
  margin-top:6px;
  font-size:13px;
  line-height:1.3;
}

.about-pretty__stats::after{
  right:-8px;
  top:-8px;
  width:34px;
  height:34px;
}

/* Make services heading section visually connected to the same flow */
#services .container{
  position:relative;
  z-index:2;
}

/* =========================================================
   MOBILE "ГОРТАЙТЕ" — placed higher and animated smoothly
   ========================================================= */
.hs-scroll-m{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:8px auto 18px;
  pointer-events:none;
}

.hs-scroll-m b{
  position:relative;
  display:inline-block;
  font-family:"Caveat",cursive;
  font-size:clamp(24px,4.6vw,29px);
  font-weight:700;
  line-height:1;
  color:#8B5CF6;
  transform:rotate(-7deg);
}

.hs-scroll-m .hs-scroll-m__line{
  position:absolute;
  left:0;
  bottom:-7px;
  width:100%;
  height:7px;
}

.hs-scroll-m .hs-scroll-m__arrow{
  width:40px;
  height:auto;
  animation:hs-mobile-arrow-float 2s ease-in-out infinite;
  transform-origin:50% 0;
}

@keyframes hs-mobile-arrow-float{
  0%,100%{ transform:translateY(0); opacity:.88; }
  50%{ transform:translateY(6px); opacity:1; }
}

/* Desktop still hides mobile arrow and uses desktop version */
@media (min-width:1160px){
  .hs-scroll-m{ display:none; }
}

/* MOBILE refinements */
@media (max-width:900px){
  .about-pretty::after{
    right:0;
    top:auto;
    bottom:16px;
    width:116px;
    height:148px;
    opacity:.72;
  }
  #services.section::before{
    left:0;
    top:22px;
    width:112px;
    height:146px;
    opacity:.68;
  }
}

@media (max-width:560px){
  .about-pretty{
    padding-top:44px;
    padding-bottom:44px;
  }

  .about-pretty__title{
    font-size:30px;
    line-height:1.08;
    white-space:normal;
  }

  .about-pretty__title span{
    white-space:nowrap;
  }

  .about-pretty__text{
    font-size:14.5px;
    line-height:1.64;
  }

  .about-pretty__list li{
    font-size:14px;
    gap:10px;
  }

  .about-pretty__check{
    width:24px;
    height:24px;
    flex:0 0 24px;
    font-size:12px;
  }

  .about-pretty__address{
    width:100%;
    justify-content:flex-start;
    align-items:flex-start;
    font-size:13px;
  }

  .about-pretty__stats{
    max-width:none;
    grid-template-columns:1fr 1fr;
    padding:10px;
    gap:10px;
  }

  .about-pretty__stat{
    min-height:118px;
    padding:14px 10px;
  }

  .about-pretty__stat--wide{
    min-height:96px;
  }

  .about-pretty__num{
    font-size:31px;
  }

  .about-pretty__stat--wide .about-pretty__num{
    font-size:23px;
  }

  .hs-scroll-m{
    margin:6px auto 14px;
  }

  .hs-scroll-m .hs-scroll-m__arrow{
    width:34px;
  }
}


/* =========================================================
   FINAL POLISH — fonts, flowers, stats, map link, scroll arrows
   ========================================================= */

/* ---------- one typography system across the whole site ---------- */
html,
body,
button,
input,
textarea,
select{
  font-family:"Google Sans","Google Sans Text","Roboto",Arial,sans-serif;
}

.header,
.mobile-nav,
.hs-hero,
.about-pretty,
.section,
.panel,
.price-card,
.review-card,
.contact-card,
.footer{
  font-family:"Google Sans","Google Sans Text","Roboto",Arial,sans-serif;
}

.hs-title,
.about-pretty__title,
.section h2{
  font-family:"Playfair Display",Georgia,"Times New Roman",serif;
  font-weight:500;
  letter-spacing:normal;
}

.hs-scroll b,
.hs-scroll-m b{
  font-family:"Caveat",cursive;
}

/* ---------- flower images: visually remove white JPG/PNG backgrounds ---------- */
/* Same trick already used by the left flower in HERO: white pixels blend
   into the continuous pastel page instead of showing a white rectangle. */
.about-pretty::after,
#services.section::before{
  mix-blend-mode:multiply;
  background-color:transparent !important;
  isolation:auto;
}

/* slightly softer placement after background removal */
.about-pretty::after{
  right:8px;
  top:68px;
  opacity:.88;
}

#services.section::before{
  left:8px;
  top:64px;
  opacity:.82;
}

/* ---------- clickable address ---------- */
.about-pretty__address{
  cursor:pointer;
  text-decoration:none;
  transition:
    transform .18s ease,
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.about-pretty__address-text{
  text-decoration-line:underline;
  text-decoration-color:rgba(123,79,214,.62);
  text-decoration-thickness:1.35px;
  text-underline-offset:3px;
}

.about-pretty__address-arrow{
  width:17px;
  height:17px;
  flex:0 0 17px;
  opacity:.72;
  transition:transform .18s ease,opacity .18s ease;
}

.about-pretty__address:hover{
  opacity:1;
  transform:translateY(-1px);
  background:#fff;
  border-color:rgba(123,79,214,.24);
  box-shadow:0 10px 24px rgba(74,48,130,.08);
}

.about-pretty__address:hover .about-pretty__address-arrow{
  opacity:1;
  transform:translate(2px,-2px);
}

/* ---------- stats: tighter, more intentional hierarchy ---------- */
.about-pretty__stats{
  max-width:455px;
  padding:10px;
  gap:10px;
  border-radius:23px;
  background:
    radial-gradient(300px 170px at 100% 0%,rgba(220,207,248,.30),transparent 72%),
    rgba(255,255,255,.46);
  box-shadow:0 18px 42px rgba(63,45,104,.07);
}

.about-pretty__stat{
  min-height:116px;
  padding:14px 12px;
  border-radius:17px;
  box-shadow:0 8px 22px rgba(63,45,104,.045);
}

.about-pretty__icon{
  width:36px;
  height:36px;
  margin-bottom:6px;
  font-size:16px;
  box-shadow:0 4px 11px rgba(74,48,130,.04);
}

.about-pretty__num{
  font-size:38px;
  line-height:.98;
}

.about-pretty__label{
  margin-top:5px;
  font-size:12.5px;
  line-height:1.25;
}

/* Wide card becomes a compact horizontal "signature" row */
.about-pretty__stat--wide{
  min-height:86px;
  padding:13px 18px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:13px;
  row-gap:1px;
  align-items:center;
  justify-items:start;
  text-align:left;
}

.about-pretty__stat--wide .about-pretty__icon{
  grid-column:1;
  grid-row:1 / 3;
  margin:0;
  width:40px;
  height:40px;
  font-size:17px;
}

.about-pretty__stat--wide .about-pretty__num{
  grid-column:2;
  grid-row:1;
  font-size:26px;
  line-height:1.02;
  align-self:end;
}

.about-pretty__stat--wide .about-pretty__label{
  grid-column:2;
  grid-row:2;
  margin:2px 0 0;
  align-self:start;
}

/* ---------- desktop "Гортайте" arrow animation ---------- */
.hs-scroll .hs-scroll__arrow{
  animation:hs-desktop-arrow-float 2.15s ease-in-out infinite;
  will-change:transform;
}

@keyframes hs-desktop-arrow-float{
  0%,100%{
    transform:translate3d(0,0,0) rotate(0deg);
  }
  50%{
    transform:translate3d(3px,8px,0) rotate(1.5deg);
  }
}

/* ---------- mobile actions: compact second button + scroll prompt at right ---------- */
.hs-actions .hs-scroll-m{
  display:none;
}

@media(max-width:560px){
  .hs-actions{
    width:min(100%,390px);
    display:grid;
    grid-template-columns:minmax(0,1fr) 116px;
    gap:10px 12px;
    align-items:center;
    margin:8px auto 24px;
  }

  .hs-actions .hs-btn--solid{
    grid-column:1 / -1;
    width:100%;
    min-height:48px;
  }

  .hs-actions .hs-btn--ghost{
    grid-column:1;
    width:max-content;
    max-width:100%;
    justify-self:start;
    flex:none;
    padding:12px 17px;
    white-space:nowrap;
    min-height:46px;
  }

  .hs-actions .hs-scroll-m{
    grid-column:2;
    display:grid;
    grid-template-columns:minmax(0,1fr) 34px;
    grid-template-rows:auto;
    align-items:center;
    justify-content:end;
    gap:4px;
    width:116px;
    margin:0;
    transform:translateY(-1px);
  }

  .hs-actions .hs-scroll-m b{
    font-size:22px;
    line-height:1;
    transform:rotate(-7deg);
    white-space:nowrap;
  }

  .hs-actions .hs-scroll-m .hs-scroll-m__line{
    bottom:-6px;
    height:6px;
  }

  .hs-actions .hs-scroll-m .hs-scroll-m__arrow{
    width:31px;
    height:56px;
    margin:0;
    animation:hs-mobile-side-arrow 1.9s ease-in-out infinite;
  }

  @keyframes hs-mobile-side-arrow{
    0%,100%{
      transform:translate3d(0,-2px,0) rotate(-4deg);
      opacity:.88;
    }
    50%{
      transform:translate3d(2px,6px,0) rotate(1deg);
      opacity:1;
    }
  }

  /* Undo the older rule that made every mobile button full width */
  .hs-btn{
    flex:initial;
  }

  /* compact ABOUT stats on phones too */
  .about-pretty__stats{
    max-width:none;
    padding:9px;
    gap:9px;
  }

  .about-pretty__stat{
    min-height:108px;
    padding:12px 8px;
  }

  .about-pretty__icon{
    width:33px;
    height:33px;
    font-size:15px;
  }

  .about-pretty__num{
    font-size:30px;
  }

  .about-pretty__stat--wide{
    min-height:78px;
    grid-template-columns:38px minmax(0,1fr);
    padding:11px 14px;
  }

  .about-pretty__stat--wide .about-pretty__icon{
    width:36px;
    height:36px;
  }

  .about-pretty__stat--wide .about-pretty__num{
    font-size:22px;
  }

  /* flowers remain background-free and don't cover content */
  .about-pretty::after,
  #services.section::before{
    mix-blend-mode:multiply;
    opacity:.55;
  }
}

/* Respect reduced-motion preference */
@media(prefers-reduced-motion:reduce){
  .hs-scroll .hs-scroll__arrow,
  .hs-actions .hs-scroll-m .hs-scroll-m__arrow{
    animation:none !important;
  }
}


/* =========================================================
   MOTION + ABOUT STATS + FLOWERS + SERVICES — FINAL POLISH
   ========================================================= */

/* ---------- smooth, premium anchor motion ---------- */
html{
  scroll-behavior:smooth;
  scroll-padding-top:88px;
}

a,
button,
.btn,
.hs-btn,
.price-card,
.about-pretty__stat,
.social__item,
.review-card{
  -webkit-tap-highlight-color:transparent;
}

@media (prefers-reduced-motion:no-preference){
  .hs-card,
  .about-pretty__stat,
  .price-card,
  .review-card,
  .social__item,
  .btn,
  .hs-btn{
    transition:
      transform .34s cubic-bezier(.22,.8,.28,1),
      box-shadow .34s cubic-bezier(.22,.8,.28,1),
      border-color .34s ease,
      background .34s ease,
      opacity .34s ease;
  }

  .hs-card:hover,
  .price-card:hover,
  .review-card:hover{
    transform:translateY(-4px);
  }

  .about-pretty__stat:hover{
    transform:translateX(4px);
    border-color:rgba(123,79,214,.20);
    box-shadow:0 14px 28px rgba(73,48,120,.08);
  }
}

/* ---------- ABOUT right panel: three elegant horizontal rows ---------- */
.about-pretty__stats{
  max-width:470px;
  width:100%;
  margin-left:auto;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
  border-radius:24px;
  background:
    radial-gradient(330px 190px at 100% 0%,rgba(220,207,248,.27),transparent 72%),
    rgba(255,255,255,.48);
  border:1px solid rgba(123,79,214,.10);
  box-shadow:0 18px 46px rgba(63,45,104,.07);
  backdrop-filter:blur(9px);
}

.about-pretty__stat,
.about-pretty__stat--wide{
  min-height:0;
  height:auto;
  padding:15px 17px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  align-items:center;
  column-gap:14px;
  text-align:left;
  border-radius:18px;
  border:1px solid rgba(123,79,214,.09);
  box-shadow:0 7px 20px rgba(63,45,104,.04);
}

.about-pretty__stat:nth-child(1){
  background:linear-gradient(135deg,#FFF6F7 0%,rgba(255,255,255,.96) 100%);
}
.about-pretty__stat:nth-child(2){
  background:linear-gradient(135deg,#F3F8FE 0%,rgba(255,255,255,.97) 100%);
}
.about-pretty__stat:nth-child(3){
  background:linear-gradient(135deg,#F8F3FD 0%,rgba(255,255,255,.97) 100%);
}

.about-pretty__icon,
.about-pretty__stat--wide .about-pretty__icon{
  grid-column:1;
  grid-row:1;
  width:42px;
  height:42px;
  margin:0;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.83);
  border:1px solid rgba(123,79,214,.12);
  font-size:18px;
  box-shadow:0 5px 14px rgba(74,48,130,.045);
}

.about-pretty__stat-copy{
  min-width:0;
}

.about-pretty__num,
.about-pretty__stat--wide .about-pretty__num{
  font-family:"Google Sans","Google Sans Text","Roboto",Arial,sans-serif;
  font-size:31px;
  font-weight:700;
  line-height:1.03;
  letter-spacing:-.45px;
  color:#7446D2;
}

.about-pretty__num--word{
  font-size:24px;
  letter-spacing:-.25px;
}

.about-pretty__label,
.about-pretty__stat--wide .about-pretty__label{
  margin-top:4px;
  font-size:13px;
  line-height:1.25;
  color:#706A82;
}

/* Remove old decorative absolute sparkle from the compact stats card */
.about-pretty__stats::after{
  display:none;
}

/* ---------- better flower placement ---------- */
.about-pretty::after{
  right:clamp(12px,3vw,52px);
  top:50%;
  transform:translateY(-46%);
  width:clamp(115px,11vw,165px);
  height:clamp(155px,15vw,220px);
  opacity:.82;
  mix-blend-mode:multiply;
  background-color:transparent !important;
  filter:saturate(.92) contrast(.96);
}

.services-pretty::before{
  left:clamp(10px,2.6vw,46px) !important;
  top:50% !important;
  transform:translateY(-48%);
  width:clamp(110px,10vw,155px) !important;
  height:clamp(150px,14vw,210px) !important;
  opacity:.76 !important;
  mix-blend-mode:multiply;
  filter:saturate(.9) contrast(.96);
}

/* ---------- desktop "Гортайте": smooth floating arrow ---------- */
.hs-scroll .hs-scroll__arrow{
  animation:hs-desktop-arrow-glide 2.35s cubic-bezier(.42,0,.58,1) infinite;
  will-change:transform;
}

@keyframes hs-desktop-arrow-glide{
  0%,100%{
    transform:translate3d(-1px,-2px,0) rotate(-1.5deg);
  }
  50%{
    transform:translate3d(4px,9px,0) rotate(2deg);
  }
}

/* ---------- mobile CTA row + 'Гортайте' ---------- */
@media(max-width:560px){
  .hs-actions{
    width:min(100%,392px);
    display:grid;
    grid-template-columns:minmax(0,1fr) 118px;
    gap:10px 10px;
    align-items:center;
    margin:8px auto 23px;
  }

  .hs-actions .hs-btn--solid{
    grid-column:1 / -1;
    width:100%;
    min-height:48px;
  }

  .hs-actions .hs-btn--ghost{
    grid-column:1;
    justify-self:start;
    width:auto;
    max-width:100%;
    padding:12px 16px;
    min-height:45px;
    white-space:nowrap;
  }

  .hs-actions .hs-scroll-m{
    grid-column:2;
    display:grid;
    grid-template-columns:minmax(0,1fr) 32px;
    align-items:center;
    gap:3px;
    width:118px;
    margin:0;
  }

  .hs-actions .hs-scroll-m b{
    font-size:21px;
    white-space:nowrap;
    transform:rotate(-7deg);
  }

  .hs-actions .hs-scroll-m .hs-scroll-m__arrow{
    width:29px;
    height:54px;
    animation:hs-mobile-arrow-glide 1.95s cubic-bezier(.42,0,.58,1) infinite;
  }

  @keyframes hs-mobile-arrow-glide{
    0%,100%{ transform:translate3d(-1px,-2px,0) rotate(-4deg); }
    50%{ transform:translate3d(3px,7px,0) rotate(1deg); }
  }

  .about-pretty::after{
    right:-2px;
    top:auto;
    bottom:18px;
    transform:none;
    width:92px;
    height:132px;
    opacity:.52;
  }

  .services-pretty::before{
    left:-2px !important;
    top:30px !important;
    transform:none;
    width:86px !important;
    height:126px !important;
    opacity:.48 !important;
  }

  .about-pretty__stats{
    max-width:none;
    padding:9px;
    gap:8px;
    border-radius:20px;
  }

  .about-pretty__stat,
  .about-pretty__stat--wide{
    grid-template-columns:40px minmax(0,1fr);
    column-gap:11px;
    padding:12px 13px;
    border-radius:15px;
  }

  .about-pretty__icon,
  .about-pretty__stat--wide .about-pretty__icon{
    width:36px;
    height:36px;
    font-size:16px;
  }

  .about-pretty__num,
  .about-pretty__stat--wide .about-pretty__num{
    font-size:27px;
  }

  .about-pretty__num--word{
    font-size:21px !important;
  }

  .about-pretty__label{
    font-size:12.5px;
  }
}

/* =========================================================
   SERVICES SECTION — restyled to match HERO + ABOUT
   ========================================================= */
.services-pretty{
  position:relative;
  overflow:hidden;
  padding:clamp(58px,7vw,86px) 0 clamp(64px,8vw,94px);
}

.services-pretty .center{
  max-width:760px;
  margin:0 auto 34px;
}

.services-pretty .pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 16px;
  margin-bottom:15px;
  border-radius:999px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(123,79,214,.14);
  box-shadow:0 6px 18px rgba(74,48,130,.05);
  color:#673EC7;
  font-family:"Google Sans","Google Sans Text","Roboto",Arial,sans-serif;
  font-size:13.5px;
  font-weight:800;
}

.services-pretty h2{
  position:relative;
  display:inline-block;
  margin:0;
  font-family:"Playfair Display",Georgia,"Times New Roman",serif;
  font-size:clamp(36px,4.3vw,54px);
  line-height:1.08;
  font-weight:500;
  color:#1C1B33;
}

.services-pretty h2::after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  bottom:-10px;
  height:10px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 12' preserveAspectRatio='none'%3E%3Cpath d='M3 6.8C60 3.2 190 2.7 297 5.7' fill='none' stroke='%23A47BE4' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
}

.services-pretty .lead{
  margin:20px auto 0;
  max-width:660px;
  color:#706A82;
  font-size:15.5px;
  line-height:1.6;
}

.services-pretty .price-groups{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:0;
  position:relative;
  z-index:2;
}

.services-pretty .price-card{
  position:relative;
  overflow:hidden;
  padding:24px 22px 22px;
  border-radius:22px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(123,79,214,.10);
  box-shadow:0 14px 36px rgba(63,45,104,.065);
}

.services-pretty .price-card:nth-child(1){
  background:linear-gradient(155deg,#FFF5F7 0%,rgba(255,255,255,.95) 100%);
}
.services-pretty .price-card:nth-child(2){
  background:linear-gradient(155deg,#F2F8FE 0%,rgba(255,255,255,.96) 100%);
}
.services-pretty .price-card:nth-child(3){
  background:linear-gradient(155deg,#F8F3FD 0%,rgba(255,255,255,.96) 100%);
}

.services-pretty .price-card::before{
  width:44px;
  height:44px;
  margin:0 auto 13px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(123,79,214,.12);
  font-size:19px;
}
.services-pretty .price-card:nth-child(1)::before{content:"🗣️";}
.services-pretty .price-card:nth-child(2)::before{content:"🧠";}
.services-pretty .price-card:nth-child(3)::before{content:"🧩";}

.services-pretty .price-card__title{
  margin:0 0 16px;
  padding:0 0 14px;
  text-align:center;
  font-size:18px;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
  color:#2B2740;
  border-bottom:1px solid rgba(123,79,214,.11);
}

.services-pretty .price-card__list{
  gap:0;
}

.services-pretty .price-row{
  padding:12px 0;
  gap:14px;
  border-bottom:1px dashed rgba(88,74,120,.14);
}

.services-pretty .price-row__name{
  font-size:13.5px;
  line-height:1.42;
  font-weight:500;
  color:#59536B;
}

.services-pretty .price-row__value{
  font-size:13px;
  font-weight:700;
  color:#7446D2;
  background:#F3ECFD;
  padding:5px 9px;
  border-radius:999px;
}

.services-pretty .price-note{
  max-width:800px;
  margin:28px auto 0;
  color:#716B83;
  font-size:14px;
  line-height:1.6;
}

.services-pretty .price-offer{
  margin-top:18px;
}

.services-pretty .price-offer a{
  padding:11px 17px;
  border-radius:13px;
  background:#7B4FD6;
  box-shadow:0 10px 24px rgba(101,58,190,.20);
  font-size:14px;
  font-weight:700;
  transition:transform .3s cubic-bezier(.22,.8,.28,1),box-shadow .3s ease;
}

.services-pretty .price-offer a:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(101,58,190,.26);
  opacity:1;
}

@media(max-width:900px){
  .services-pretty .price-groups{
    grid-template-columns:1fr;
    max-width:650px;
    margin-left:auto;
    margin-right:auto;
  }
}

@media(max-width:560px){
  .services-pretty{
    padding:48px 0 60px;
  }

  .services-pretty .center{
    margin-bottom:26px;
  }

  .services-pretty h2{
    font-size:35px;
  }

  .services-pretty .lead{
    font-size:14px;
  }

  .services-pretty .price-card{
    padding:20px 17px 18px;
    border-radius:18px;
  }

  .services-pretty .price-card::before{
    width:40px;
    height:40px;
  }

  .services-pretty .price-card__title{
    font-size:17px;
  }
}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .hs-scroll .hs-scroll__arrow,
  .hs-actions .hs-scroll-m .hs-scroll-m__arrow{
    animation:none !important;
  }
}


/* =========================================================
   HEADER + MOBILE MENU + ICONS + SERVICES — POLISHED
   ========================================================= */

/* ---------- header desktop ---------- */
.header{
  height:78px;
  background:rgba(255,255,255,.93);
  border-bottom:1px solid rgba(91,73,126,.08);
  box-shadow:0 4px 18px rgba(55,38,86,.035);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.header .container{
  width:min(1180px,calc(100% - 40px));
}

.header__inner{
  height:78px;
  gap:28px;
}

.main{
  padding-top:78px;
}

.brand{
  gap:12px;
  flex:0 0 auto;
}

.brand__logo{
  width:48px;
  height:48px;
  box-shadow:0 7px 18px rgba(71,47,118,.13);
}

.brand__name{
  font-family:"Google Sans","Google Sans Text","Roboto",Arial,sans-serif;
  font-size:18px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.2px;
  color:#1D1930;
  white-space:nowrap;
}

.nav{
  display:none;
  align-items:center;
  gap:34px;
  color:#5E5870;
  font-family:"Google Sans","Google Sans Text","Roboto",Arial,sans-serif;
  font-size:15px;
  font-weight:600;
}

.nav a{
  position:relative;
  padding:9px 2px;
  opacity:1;
  transition:color .24s ease,transform .24s ease;
}

.nav a::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:2px;
  height:2px;
  border-radius:999px;
  background:#8B5CF6;
  transition:left .25s cubic-bezier(.22,.8,.28,1),
             right .25s cubic-bezier(.22,.8,.28,1);
}

.nav a:hover{
  color:#7042CE;
  opacity:1;
  transform:translateY(-1px);
}

.nav a:hover::after{
  left:8%;
  right:8%;
}

.header__cta{
  min-height:46px;
  padding:0 22px;
  border-radius:14px;
  font-size:15px;
  font-weight:700;
  box-shadow:0 10px 24px rgba(103,65,202,.18);
  transition:transform .28s cubic-bezier(.22,.8,.28,1),
             box-shadow .28s ease,
             background .28s ease;
}

.header__cta:hover{
  opacity:1;
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(103,65,202,.24);
}

/* ---------- burger ---------- */
.burger{
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(123,79,214,.14);
  border-radius:13px;
  background:rgba(255,255,255,.92);
  box-shadow:0 7px 18px rgba(63,45,104,.055);
  align-items:center;
  justify-content:center;
}

.burger__lines{
  width:20px;
  height:16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.burger__lines i{
  display:block;
  width:100%;
  height:2px;
  border-radius:999px;
  background:#5F3EBB;
  transform-origin:center;
  transition:transform .3s cubic-bezier(.22,.8,.28,1),
             opacity .22s ease,
             width .22s ease;
}

.burger--open .burger__lines i:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

.burger--open .burger__lines i:nth-child(2){
  opacity:0;
  width:0;
}

.burger--open .burger__lines i:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

/* ---------- mobile nav: animate instead of hard display jump ---------- */
@media(max-width:899px){
  .header{
    height:66px;
  }

  .header .container{
    width:calc(100% - 24px);
  }

  .header__inner{
    height:66px;
    gap:10px;
  }

  .main{
    padding-top:66px;
  }

  .brand__logo{
    width:42px;
    height:42px;
  }

  .brand__name{
    font-size:16px;
  }

  .nav,
  .header__cta{
    display:none !important;
  }

  .burger{
    display:inline-flex;
    margin-left:auto;
  }

  .mobile-nav{
    display:block;
    position:absolute;
    top:calc(100% + 8px);
    left:12px;
    right:12px;
    padding:8px;
    max-height:0;
    overflow:hidden;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transform:translateY(-8px) scale(.985);
    transform-origin:top center;
    border:1px solid rgba(123,79,214,.12);
    border-radius:18px;
    background:rgba(255,255,255,.97);
    box-shadow:0 18px 46px rgba(49,35,79,.14);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    transition:
      max-height .38s cubic-bezier(.22,.8,.28,1),
      opacity .25s ease,
      transform .32s cubic-bezier(.22,.8,.28,1),
      visibility .25s ease;
  }

  .mobile-nav--open{
    max-height:410px;
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0) scale(1);
  }

  .mobile-nav a{
    display:flex;
    align-items:center;
    min-height:46px;
    padding:0 14px;
    border-radius:12px;
    color:#4F4962;
    font-family:"Google Sans","Google Sans Text","Roboto",Arial,sans-serif;
    font-size:15px;
    font-weight:600;
    transition:background .22s ease,color .22s ease,transform .22s ease;
  }

  .mobile-nav a:hover,
  .mobile-nav a:active{
    opacity:1;
    color:#7042CE;
    background:#F7F2FD;
    transform:translateX(2px);
  }

  .mobile-nav .btn{
    margin-top:5px;
    min-height:47px;
    justify-content:center;
    color:#fff !important;
    background:#7042CE;
    border:none;
    box-shadow:0 9px 22px rgba(103,65,202,.18);
  }
}

@media(min-width:900px){
  .nav{display:flex;}
  .header__cta{display:inline-flex;}
  .burger{display:none;}
  .mobile-nav{display:none !important;}
}

/* ---------- HERO service emojis ---------- */
.hs-card__icon--emoji{
  font-size:25px;
  line-height:1;
}

.hs-card__icon--emoji::selection{
  background:transparent;
}

/* ---------- ABOUT badge uses emoji ---------- */
.about-pretty__pill-emoji{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  font-size:15px;
  line-height:1;
}

/* ---------- flowers: force the white pixels to disappear ---------- */
.about-pretty::after,
.services-pretty::before{
  background-color:transparent !important;
  background-blend-mode:multiply;
  mix-blend-mode:multiply;
  filter:saturate(.88) contrast(.96);
}

/* Use the already-clean left flower asset for the right-side decoration,
   mirrored horizontally, so there is no visible white rectangle. */
.about-pretty::after{
  background-image:url("/decor-flowers-left.png") !important;
  transform:translateY(-46%) scaleX(-1);
}

@media(max-width:560px){
  .about-pretty::after{
    transform:scaleX(-1);
  }
}

/* ---------- Services heading: pill ALWAYS above heading, centered ---------- */
.services-pretty .center{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}

.services-pretty .center .pill{
  order:1;
  width:max-content;
  margin:0 auto 14px;
}

.services-pretty .center h2{
  order:2;
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 auto;
}

.services-pretty .center .lead{
  order:3;
  margin:20px auto 0;
}

/* remove the extra emojis above pricing card headings */
.services-pretty .price-card::before{
  display:none !important;
  content:none !important;
}

.services-pretty .price-card{
  padding-top:22px;
}

/* consistent Google-Sans-like UI text site-wide */
.header,
.nav,
.mobile-nav,
.hs-pill,
.hs-desc,
.hs-btn,
.hs-card__title,
.hs-card__text,
.about-pretty,
.services-pretty,
.price-card,
.price-row,
.price-note,
.price-offer,
.review-card,
.panel,
.accordion,
.contact-card,
.footer{
  font-family:"Google Sans","Google Sans Text","Roboto",Arial,sans-serif;
}

/* only editorial display titles remain Playfair */
.hs-title,
.about-pretty__title,
.services-pretty h2{
  font-family:"Playfair Display",Georgia,"Times New Roman",serif;
  font-weight:500;
}

/* mobile service heading/padding */
@media(max-width:560px){
  .services-pretty .center{
    margin-bottom:25px;
    padding:0 6px;
  }

  .services-pretty .center .pill{
    margin-bottom:12px;
  }

  .services-pretty h2{
    font-size:34px;
    line-height:1.08;
  }
}


/* =========================================================
   MOBILE HEADER CTA + CLEAN FLOWERS + REVIEWS + BIGGER GALLERY
   ========================================================= */

/* ---------- phone header: restore compact "Записатись" ---------- */
@media(max-width:899px){
  .header__inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:8px;
  }

  .brand{
    min-width:0;
    overflow:hidden;
  }

  .brand__name{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .header__cta{
    display:inline-flex !important;
    min-width:88px;
    min-height:40px;
    height:40px;
    padding:0 13px;
    margin:0;
    border-radius:12px;
    font-size:13.5px;
    line-height:1;
    font-weight:700;
    box-shadow:0 7px 18px rgba(103,65,202,.16);
  }

  .burger{
    margin-left:0;
    width:40px;
    height:40px;
    border-radius:12px;
  }

  .mobile-nav .btn{
    display:none;
  }
}

@media(max-width:360px){
  .brand__name{
    display:none;
  }

  .brand{
    gap:0;
  }

  .header__cta{
    min-width:84px;
    padding:0 11px;
  }
}

/* ---------- clean decorative flowers everywhere ---------- */
/*
  Use only the already transparent left-flower asset.
  Right-side flowers are the same asset mirrored, so a white
  square from the other source image can never appear.
*/
.about-pretty::after,
.services-pretty::before,
.reviews-pretty::before{
  background-image:url("/decor-flowers-left.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  background-color:transparent !important;
  mix-blend-mode:multiply;
  filter:saturate(.9) contrast(.96);
  pointer-events:none;
}

/* right flower in ABOUT */
.about-pretty::after{
  transform:translateY(-46%) scaleX(-1);
}

/* left flower in SERVICES */
.services-pretty::before{
  transform:translateY(-48%);
}

/* right flower in REVIEWS */
.reviews-pretty::before{
  content:"";
  position:absolute;
  right:clamp(8px,2.8vw,46px);
  top:clamp(90px,18%,150px);
  width:clamp(100px,9.5vw,148px);
  height:clamp(145px,14vw,205px);
  opacity:.68;
  transform:scaleX(-1) rotate(-2deg);
  z-index:0;
}

@media(max-width:700px){
  .about-pretty::after{
    right:-9px;
    bottom:14px;
    top:auto;
    width:80px;
    height:116px;
    opacity:.42;
    transform:scaleX(-1);
  }

  .services-pretty::before{
    left:-9px !important;
    top:28px !important;
    width:78px !important;
    height:112px !important;
    opacity:.40 !important;
    transform:none;
  }

  .reviews-pretty::before{
    right:-9px;
    top:32px;
    width:76px;
    height:110px;
    opacity:.38;
    transform:scaleX(-1);
  }
}

/* =========================================================
   REVIEWS — same language as HERO / ABOUT / SERVICES
   ========================================================= */
.reviews-pretty{
  position:relative;
  overflow:hidden;
  padding:clamp(60px,7vw,88px) 0 clamp(68px,8vw,96px);
  background:transparent !important;
  border:none !important;
}

.reviews-pretty > .container{
  position:relative;
  z-index:2;
}

.reviews-pretty .center{
  display:flex;
  flex-direction:column;
  align-items:center;
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}

.reviews-pretty .pill{
  width:max-content;
  margin:0 auto 14px;
  padding:9px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(123,79,214,.14);
  color:#673EC7;
  box-shadow:0 6px 18px rgba(74,48,130,.05);
  font-family:"Google Sans","Google Sans Text","Roboto",Arial,sans-serif;
  font-size:13.5px;
  font-weight:800;
}

.reviews-pretty h2{
  position:relative;
  display:inline-block;
  margin:0;
  font-family:"Playfair Display",Georgia,"Times New Roman",serif;
  font-size:clamp(36px,4.3vw,54px);
  line-height:1.08;
  font-weight:500;
  color:#1C1B33;
}

.reviews-pretty h2::after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  bottom:-10px;
  height:10px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 12' preserveAspectRatio='none'%3E%3Cpath d='M3 6.8C60 3.2 190 2.7 297 5.7' fill='none' stroke='%23A47BE4' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
}

.reviews-pretty .lead{
  max-width:650px;
  margin:20px auto 0;
  color:#706A82;
  font-size:15.5px;
  line-height:1.6;
}

.reviews-pretty .reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:0;
}

.reviews-pretty .review-card{
  position:relative;
  min-height:228px;
  padding:22px 22px 20px;
  display:flex;
  flex-direction:column;
  border-radius:22px;
  border:1px solid rgba(123,79,214,.10);
  box-shadow:0 14px 36px rgba(63,45,104,.06);
  overflow:hidden;
  background:rgba(255,255,255,.90);
}

.reviews-pretty .review-card:nth-child(1){
  background:linear-gradient(150deg,#FFF5F7 0%,rgba(255,255,255,.97) 100%);
}

.reviews-pretty .review-card:nth-child(2){
  background:linear-gradient(150deg,#F2F8FE 0%,rgba(255,255,255,.97) 100%);
}

.reviews-pretty .review-card:nth-child(3){
  background:linear-gradient(150deg,#F8F3FD 0%,rgba(255,255,255,.97) 100%);
}

.reviews-pretty .review-card::after{
  content:"♡";
  position:absolute;
  right:16px;
  bottom:5px;
  font-family:Georgia,serif;
  font-size:46px;
  color:rgba(123,79,214,.07);
  transform:rotate(9deg);
  pointer-events:none;
}

.reviews-pretty .review-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin:0 0 13px;
}

.reviews-pretty .review-stars{
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(123,79,214,.10);
  color:#8654DA;
  font-size:13px;
  letter-spacing:1.2px;
  line-height:1;
}

.reviews-pretty .review-quote{
  font-family:"Playfair Display",Georgia,serif;
  font-size:48px;
  line-height:.72;
  font-weight:500;
  color:rgba(123,79,214,.20);
  transform:none;
}

.reviews-pretty .review-text{
  flex:1;
  margin:0 0 18px;
  color:#5F596E;
  font-size:14.5px;
  line-height:1.65;
}

.reviews-pretty .review-author{
  position:relative;
  padding-left:13px;
}

.reviews-pretty .review-author::before{
  content:"";
  position:absolute;
  left:0;
  top:2px;
  bottom:2px;
  width:2px;
  border-radius:999px;
  background:#B79BEF;
}

.reviews-pretty .review-author strong{
  display:block;
  color:#382E50;
  font-size:14px;
  font-weight:700;
}

.reviews-pretty .review-author span{
  display:block;
  margin-top:1px;
  color:#817A90;
  font-size:12.5px;
}

/* =========================================================
   PHOTO GALLERY — taller previews so photos are actually visible
   ========================================================= */
.reviews-pretty .gallery-block{
  position:relative;
  margin-top:28px;
  padding:20px 20px 17px;
  border-radius:24px;
  background:
    radial-gradient(440px 220px at 100% 0%,rgba(224,211,247,.30),transparent 72%),
    rgba(255,255,255,.72);
  border:1px solid rgba(123,79,214,.11);
  box-shadow:0 16px 40px rgba(63,45,104,.06);
  backdrop-filter:blur(8px);
}

.reviews-pretty .gallery-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 15px;
}

.reviews-pretty .gallery-title{
  font-family:"Playfair Display",Georgia,serif;
  font-size:23px;
  line-height:1.1;
  font-weight:500;
  color:#29223E;
}

.reviews-pretty .gallery-hint{
  font-family:"Caveat",cursive;
  font-size:22px;
  line-height:1;
  font-weight:700;
  color:#8558D5;
  transform:rotate(-4deg);
  white-space:nowrap;
}

.reviews-pretty .gallery-strip{
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding:3px 2px 11px;
  scroll-snap-type:x mandatory;
  scroll-padding-left:2px;
  -webkit-overflow-scrolling:touch;
}

.reviews-pretty .gallery-item{
  flex:0 0 auto;
  width:220px;
  height:148px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(123,79,214,.12);
  background:#F7F2FC;
  box-shadow:0 9px 22px rgba(63,45,104,.07);
  scroll-snap-align:start;
}

.reviews-pretty .gallery-item img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .4s cubic-bezier(.22,.8,.28,1);
}

.reviews-pretty .gallery-item:hover{
  opacity:1;
  transform:translateY(-2px);
}

.reviews-pretty .gallery-item:hover img{
  transform:scale(1.035);
}

.reviews-pretty .gallery-strip::-webkit-scrollbar{
  height:7px;
}

.reviews-pretty .gallery-strip::-webkit-scrollbar-thumb{
  background:rgba(123,79,214,.20);
  border-radius:999px;
}

.reviews-pretty .gallery-strip::-webkit-scrollbar-track{
  background:rgba(123,79,214,.05);
  border-radius:999px;
}

@media(max-width:900px){
  .reviews-pretty .reviews-grid{
    grid-template-columns:1fr;
    max-width:650px;
    margin-left:auto;
    margin-right:auto;
  }

  .reviews-pretty .review-card{
    min-height:0;
  }
}

@media(max-width:560px){
  .reviews-pretty{
    padding:48px 0 58px;
  }

  .reviews-pretty .center{
    margin-bottom:26px;
    padding:0 6px;
  }

  .reviews-pretty h2{
    font-size:35px;
  }

  .reviews-pretty .lead{
    font-size:14px;
  }

  .reviews-pretty .review-card{
    padding:19px 17px 18px;
    border-radius:18px;
  }

  .reviews-pretty .gallery-block{
    padding:17px 14px 14px;
    border-radius:20px;
  }

  .reviews-pretty .gallery-title{
    font-size:21px;
  }

  .reviews-pretty .gallery-hint{
    font-size:20px;
  }

  .reviews-pretty .gallery-strip{
    gap:11px;
  }

  .reviews-pretty .gallery-item{
    width:172px;
    height:120px;
    border-radius:15px;
  }
}


/* =========================================================
   FINAL PASS — REVIEWS / GALLERY / SPECIALISTS / CONTACTS
   ========================================================= */

/* Header brand: force chosen UI font */
.brand__name{
  font-family:"Google Sans","Google Sans Text","Roboto",Arial,sans-serif !important;
  font-weight:700;
  letter-spacing:-.15px;
}

/* Review stars: remove capsule outline/background */
.reviews-pretty .review-stars{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

/* Gallery: a little taller + Google Sans title */
.reviews-pretty .gallery-title{
  font-family:"Google Sans","Google Sans Text","Roboto",Arial,sans-serif !important;
  font-size:22px;
  font-weight:700;
  letter-spacing:-.15px;
}

.reviews-pretty .gallery-item{
  width:232px;
  height:166px;
}

@media(max-width:560px){
  .reviews-pretty .gallery-title{
    font-size:20px;
  }

  .reviews-pretty .gallery-item{
    width:182px;
    height:134px;
  }
}

/* Price rows: align service name and price vertically */
.services-pretty .price-row{
  align-items:center !important;
  min-height:58px;
}

.services-pretty .price-row__name{
  align-self:center;
}

.services-pretty .price-row__value{
  align-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* =========================================================
   PHOTO LIGHTBOX — image opens on screen, not in a raw tab
   ========================================================= */
.lightbox-open{
  overflow:hidden;
}

.photo-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(24,18,38,.78);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease, visibility .28s ease;
}

.photo-lightbox--open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.photo-lightbox__stage{
  max-width:min(1120px,90vw);
  max-height:86vh;
  display:flex;
  align-items:center;
  justify-content:center;
}

.photo-lightbox__image{
  display:block;
  max-width:100%;
  max-height:86vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 28px 80px rgba(0,0,0,.34);
  user-select:auto;
  -webkit-user-drag:auto;
}

.photo-lightbox__close,
.photo-lightbox__nav{
  position:fixed;
  z-index:2;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.12);
  color:#fff;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}

.photo-lightbox__close{
  top:20px;
  right:20px;
  width:46px;
  height:46px;
  border-radius:50%;
  font-size:30px;
  line-height:1;
}

.photo-lightbox__nav{
  top:50%;
  width:48px;
  height:64px;
  margin-top:-32px;
  border-radius:16px;
  font-size:42px;
  line-height:1;
}

.photo-lightbox__nav--prev{left:20px}
.photo-lightbox__nav--next{right:20px}

.photo-lightbox__close:hover,
.photo-lightbox__nav:hover{
  background:rgba(255,255,255,.22);
  transform:scale(1.04);
}

.photo-lightbox__counter{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  color:#fff;
  font:600 13px/1 "Google Sans","Google Sans Text","Roboto",Arial,sans-serif;
  backdrop-filter:blur(8px);
}

@media(max-width:640px){
  .photo-lightbox{
    padding:14px;
  }

  .photo-lightbox__stage,
  .photo-lightbox__image{
    max-width:94vw;
    max-height:80vh;
  }

  .photo-lightbox__close{
    top:12px;
    right:12px;
    width:42px;
    height:42px;
  }

  .photo-lightbox__nav{
    top:auto;
    bottom:18px;
    width:44px;
    height:44px;
    margin:0;
    border-radius:50%;
    font-size:32px;
  }

  .photo-lightbox__nav--prev{left:16px}
  .photo-lightbox__nav--next{right:16px}

  .photo-lightbox__counter{
    bottom:27px;
  }
}

/* =========================================================
   SPECIALISTS — same style, cleaner accordion
   ========================================================= */
.specialists-pretty{
  position:relative;
  overflow:hidden;
  padding:clamp(60px,7vw,88px) 0 clamp(66px,8vw,94px);
  background:transparent !important;
  border:none !important;
}

.specialists-pretty::before{
  content:"";
  position:absolute;
  left:clamp(8px,2.5vw,42px);
  top:clamp(76px,15%,130px);
  width:clamp(96px,9vw,140px);
  height:clamp(140px,13vw,198px);
  background:url("/decor-flowers-left.png") center/contain no-repeat;
  background-color:transparent;
  mix-blend-mode:multiply;
  opacity:.62;
  pointer-events:none;
}

.specialists-pretty > .container{
  position:relative;
  z-index:2;
}

.specialists-pretty .center{
  display:flex;
  flex-direction:column;
  align-items:center;
  max-width:760px;
  margin:0 auto 34px;
}

.specialists-pretty .pill{
  width:max-content;
  margin:0 auto 14px;
  padding:9px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(123,79,214,.14);
  box-shadow:0 6px 18px rgba(74,48,130,.05);
  color:#673EC7;
  font:800 13.5px/1.25 "Google Sans","Google Sans Text","Roboto",Arial,sans-serif;
}

.specialists-pretty h2{
  position:relative;
  display:inline-block;
  margin:0;
  font-family:"Playfair Display",Georgia,"Times New Roman",serif;
  font-size:clamp(36px,4.2vw,53px);
  line-height:1.08;
  font-weight:500;
  color:#1C1B33;
  text-align:center;
}

.specialists-pretty h2::after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  bottom:-10px;
  height:10px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 12' preserveAspectRatio='none'%3E%3Cpath d='M3 6.8C60 3.2 190 2.7 297 5.7' fill='none' stroke='%23A47BE4' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}

.specialists-pretty .lead{
  max-width:680px;
  margin:20px auto 0;
  color:#706A82;
  font-size:15px;
  line-height:1.6;
}

.specialists-pretty .panel{
  max-width:920px;
  margin:0 auto;
  border:1px solid rgba(123,79,214,.10);
  border-radius:24px;
  overflow:hidden;
  background:rgba(255,255,255,.70);
  box-shadow:0 16px 42px rgba(63,45,104,.06);
  backdrop-filter:blur(9px);
}

.specialists-pretty .panel__head{
  padding:17px 20px;
  border-bottom:1px solid rgba(123,79,214,.09);
  background:rgba(248,243,253,.58);
}

.specialists-pretty .panel__title{
  font-size:14px;
  font-weight:700;
  color:#5D5270;
}

.specialists-pretty .accordion{
  padding:8px 14px 14px;
}

.specialists-pretty .accordion details{
  margin-top:8px;
  padding:0;
  border:1px solid rgba(123,79,214,.085);
  border-radius:16px;
  overflow:hidden;
  background:rgba(255,255,255,.76);
}

.specialists-pretty .accordion summary{
  min-height:56px;
  padding:0 48px 0 16px;
  display:flex;
  align-items:center;
  gap:10px;
  color:#2B2740;
  font-size:14.5px;
  font-weight:700;
}

.specialists-pretty .acc__icon{
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#F2EAFD;
  flex:0 0 32px;
}

.specialists-pretty .accordion--pro summary::after{
  right:18px;
}

.specialists-pretty .accordion__body{
  padding:0 18px 17px 58px;
  color:#696277;
  font-size:14px;
  line-height:1.65;
}

.specialists-pretty .accordion__body p{
  margin:0 0 10px;
}

.specialists-pretty .acc__list{
  margin:0;
  padding-left:18px;
}

.specialists-pretty .acc__list li{
  margin:5px 0;
}

@media(max-width:560px){
  .specialists-pretty{
    padding:48px 0 58px;
  }

  .specialists-pretty::before{
    left:-9px;
    top:24px;
    width:76px;
    height:108px;
    opacity:.34;
  }

  .specialists-pretty h2{
    font-size:34px;
  }

  .specialists-pretty .lead{
    font-size:14px;
  }

  .specialists-pretty .accordion{
    padding:7px 8px 10px;
  }

  .specialists-pretty .accordion summary{
    min-height:54px;
    padding-left:12px;
    font-size:14px;
  }

  .specialists-pretty .accordion__body{
    padding:0 13px 15px 13px;
  }
}

/* =========================================================
   CONTACTS — same style, cleaner two-column layout
   ========================================================= */
.contact-pretty{
  position:relative;
  overflow:hidden;
  padding:clamp(60px,7vw,88px) 0 clamp(70px,8vw,98px);
  background:transparent !important;
}

.contact-pretty::before{
  content:"";
  position:absolute;
  right:clamp(8px,2.5vw,42px);
  top:clamp(72px,16%,132px);
  width:clamp(98px,9vw,142px);
  height:clamp(142px,13vw,202px);
  background:url("/decor-flowers-left.png") center/contain no-repeat;
  background-color:transparent;
  mix-blend-mode:multiply;
  opacity:.60;
  transform:scaleX(-1);
  pointer-events:none;
}

.contact-pretty > .container{
  position:relative;
  z-index:2;
}

.contact-pretty .center{
  display:flex;
  flex-direction:column;
  align-items:center;
  max-width:760px;
  margin:0 auto 34px;
}

.contact-pretty .pill{
  width:max-content;
  margin:0 auto 14px;
  padding:9px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(123,79,214,.14);
  box-shadow:0 6px 18px rgba(74,48,130,.05);
  color:#673EC7;
  font:800 13.5px/1.25 "Google Sans","Google Sans Text","Roboto",Arial,sans-serif;
}

.contact-pretty h2{
  position:relative;
  display:inline-block;
  margin:0;
  font-family:"Playfair Display",Georgia,"Times New Roman",serif;
  font-size:clamp(36px,4.2vw,53px);
  line-height:1.08;
  font-weight:500;
  color:#1C1B33;
  text-align:center;
}

.contact-pretty h2::after{
  content:"";
  position:absolute;
  left:14%;
  right:14%;
  bottom:-10px;
  height:10px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 12' preserveAspectRatio='none'%3E%3Cpath d='M3 6.8C60 3.2 190 2.7 297 5.7' fill='none' stroke='%23A47BE4' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}

.contact-pretty .lead{
  margin:20px auto 0;
  color:#706A82;
  font-size:15px;
}

.contact-pretty .grid2{
  gap:18px;
  align-items:stretch;
}

.contact-pretty .contact-card,
.contact-pretty .panel{
  height:100%;
  border:1px solid rgba(123,79,214,.10);
  border-radius:22px;
  overflow:hidden;
  background:rgba(255,255,255,.82);
  box-shadow:0 15px 38px rgba(63,45,104,.06);
}

.contact-pretty .contact-card__top{
  padding:22px;
  background:linear-gradient(145deg,#7B4FD6,#6C3FC5);
}

.contact-pretty .contact-item strong{
  display:block;
  font-size:13px;
  opacity:.84;
  margin-bottom:3px;
}

.contact-pretty .contact-item a,
.contact-pretty .contact-item span{
  font-size:15px;
}

.contact-pretty .contact-map{
  margin-top:16px;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(35,24,61,.12);
}

.contact-pretty .contact-map iframe{
  height:260px;
}

.contact-pretty .contact-card__bottom{
  padding:18px 20px 20px;
}

.contact-pretty .contact-card__bottom h4{
  margin:0 0 12px;
  color:#302944;
  font-size:14px;
}

.contact-pretty .panel__head{
  padding:18px 20px;
  border-bottom:1px solid rgba(123,79,214,.09);
  background:#FAF7FD;
}

.contact-pretty .panel__title{
  color:#302944;
  font-size:14px;
  font-weight:700;
}

.contact-pretty .social{
  padding:8px 12px 12px;
}

.contact-pretty .social__item{
  margin-top:8px;
  padding:13px;
  border:1px solid rgba(123,79,214,.08);
  background:rgba(255,255,255,.78);
}

.contact-pretty .hours{
  margin:8px 12px 14px;
  background:#F7F2FD;
  border:1px solid rgba(123,79,214,.09);
}

@media(max-width:900px){
  .contact-pretty .grid2{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .contact-pretty{
    padding:48px 0 58px;
  }

  .contact-pretty::before{
    right:-9px;
    top:24px;
    width:76px;
    height:110px;
    opacity:.32;
  }

  .contact-pretty h2{
    font-size:34px;
  }

  .contact-pretty .contact-map iframe{
    height:230px;
  }
}


/* =========================================================
   FINAL FLOWER DECOR FIX
   Alternating original assets:
   HERO left → ABOUT right → SERVICES left → REVIEWS right
   → SPECIALISTS left → CONTACTS right.
   "darken" hides white/off-white raster backgrounds against
   the shared pastel page much more reliably than opacity alone.
   ========================================================= */

/* Ensure decorative pseudo-elements blend with the page itself. */
.hs-hero,
.about-pretty,
.services-pretty,
.reviews-pretty,
.specialists-pretty,
.contact-pretty{
  isolation:auto !important;
}

/* HERO — first clean flower stays on the LEFT */
.hs-decor--left{
  mix-blend-mode:darken !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:saturate(.92) contrast(.98);
}

/* ABOUT — RIGHT flower */
.about-pretty::after{
  background-image:url("/decor-flowers-right.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  background-color:transparent !important;
  mix-blend-mode:darken !important;
  background-blend-mode:darken !important;
  box-shadow:none !important;
  filter:saturate(.92) contrast(.98);
}

/* SERVICES — LEFT flower */
.services-pretty::before{
  background-image:url("/decor-flowers-left.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  background-color:transparent !important;
  mix-blend-mode:darken !important;
  background-blend-mode:darken !important;
  box-shadow:none !important;
  filter:saturate(.92) contrast(.98);
}

/* REVIEWS — RIGHT flower */
.reviews-pretty::before{
  background-image:url("/decor-flowers-right.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  background-color:transparent !important;
  mix-blend-mode:darken !important;
  background-blend-mode:darken !important;
  box-shadow:none !important;
  filter:saturate(.92) contrast(.98);
}

/* SPECIALISTS — LEFT flower */
.specialists-pretty::before{
  background-image:url("/decor-flowers-left.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  background-color:transparent !important;
  mix-blend-mode:darken !important;
  background-blend-mode:darken !important;
  box-shadow:none !important;
  filter:saturate(.92) contrast(.98);
}

/* CONTACTS — RIGHT flower */
.contact-pretty::before{
  background-image:url("/decor-flowers-right.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  background-color:transparent !important;
  mix-blend-mode:darken !important;
  background-blend-mode:darken !important;
  box-shadow:none !important;
  filter:saturate(.92) contrast(.98);
}

/* Desktop positioning: keep flowers near the outer whitespace,
   not behind text/cards. */
@media(min-width:901px){
  .about-pretty::after{
    right:clamp(14px,2.8vw,50px) !important;
    top:50% !important;
    transform:translateY(-46%) !important;
    width:clamp(108px,9vw,145px) !important;
    height:clamp(150px,13vw,205px) !important;
    opacity:.76 !important;
  }

  .services-pretty::before{
    left:clamp(12px,2.6vw,46px) !important;
    top:50% !important;
    transform:translateY(-48%) !important;
    width:clamp(102px,8.5vw,138px) !important;
    height:clamp(144px,12.5vw,198px) !important;
    opacity:.70 !important;
  }

  .reviews-pretty::before{
    right:clamp(12px,2.6vw,46px) !important;
    top:34% !important;
    transform:none !important;
    width:clamp(100px,8.5vw,138px) !important;
    height:clamp(142px,12.5vw,196px) !important;
    opacity:.66 !important;
  }

  .specialists-pretty::before{
    left:clamp(12px,2.6vw,44px) !important;
    top:30% !important;
    transform:none !important;
    width:clamp(98px,8vw,132px) !important;
    height:clamp(140px,12vw,190px) !important;
    opacity:.62 !important;
  }

  .contact-pretty::before{
    right:clamp(12px,2.6vw,44px) !important;
    top:28% !important;
    transform:none !important;
    width:clamp(98px,8vw,132px) !important;
    height:clamp(140px,12vw,190px) !important;
    opacity:.60 !important;
  }
}

/* Mobile/tablet: make decorations smaller and push them to the edges. */
@media(max-width:900px){
  .about-pretty::after,
  .reviews-pretty::before,
  .contact-pretty::before{
    right:-10px !important;
    width:74px !important;
    height:108px !important;
    opacity:.38 !important;
  }

  .services-pretty::before,
  .specialists-pretty::before{
    left:-10px !important;
    width:72px !important;
    height:106px !important;
    opacity:.36 !important;
  }

  .about-pretty::after{
    top:auto !important;
    bottom:16px !important;
    transform:none !important;
  }

  .services-pretty::before{
    top:28px !important;
    transform:none !important;
  }

  .reviews-pretty::before,
  .specialists-pretty::before,
  .contact-pretty::before{
    top:30px !important;
    transform:none !important;
  }
}


/* =========================================================
   FLOWERS — LARGER, MORE VISIBLE, SCATTERED NATURALLY
   + SMOOTH "НАШІ НАПРЯМКИ" ACCORDION
   ========================================================= */

/* Pure white pixels disappear against the shared pastel background. */
.hs-decor--left,
.about-pretty::after,
.services-pretty::before,
.reviews-pretty::before,
.specialists-pretty::before,
.contact-pretty::before{
  background-color:transparent !important;
  mix-blend-mode:multiply !important;
  background-blend-mode:multiply !important;
  box-shadow:none !important;
  filter:saturate(.96) contrast(.98);
  pointer-events:none;
}

/* HERO: large left flower */
.hs-decor--left{
  left:clamp(12px,2.4vw,42px) !important;
  bottom:clamp(6px,2vw,28px) !important;
  width:clamp(185px,14vw,255px) !important;
  opacity:.88 !important;
  transform:rotate(-5deg) !important;
}

/* ABOUT: flower on the RIGHT, lower than center */
.about-pretty::after{
  left:auto !important;
  right:clamp(14px,2.8vw,52px) !important;
  top:58% !important;
  bottom:auto !important;
  width:clamp(165px,12vw,220px) !important;
  height:clamp(210px,17vw,285px) !important;
  opacity:.84 !important;
  transform:translateY(-50%) rotate(5deg) !important;
  background-image:url("/decor-flowers-right.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
}

/* SERVICES: flower on the RIGHT / upper area */
.services-pretty::before{
  left:auto !important;
  right:clamp(12px,2.5vw,48px) !important;
  top:15% !important;
  bottom:auto !important;
  width:clamp(155px,11vw,210px) !important;
  height:clamp(205px,16vw,275px) !important;
  opacity:.78 !important;
  transform:rotate(-4deg) !important;
  background-image:url("/decor-flowers-right.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
}

/* REVIEWS: flower on the LEFT / around middle-lower area */
.reviews-pretty::before{
  left:clamp(10px,2.3vw,44px) !important;
  right:auto !important;
  top:46% !important;
  bottom:auto !important;
  width:clamp(160px,11.5vw,215px) !important;
  height:clamp(215px,16.5vw,285px) !important;
  opacity:.76 !important;
  transform:translateY(-35%) rotate(3deg) !important;
  background-image:url("/decor-flowers-left.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
}

/* SPECIALISTS: flower on the RIGHT / upper-middle area */
.specialists-pretty::before{
  left:auto !important;
  right:clamp(10px,2.4vw,46px) !important;
  top:23% !important;
  bottom:auto !important;
  width:clamp(160px,11.5vw,218px) !important;
  height:clamp(215px,16vw,282px) !important;
  opacity:.72 !important;
  transform:rotate(-3deg) !important;
  background-image:url("/decor-flowers-right.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
}

/* CONTACTS: flower on the LEFT / lower area */
.contact-pretty::before{
  left:clamp(10px,2.4vw,46px) !important;
  right:auto !important;
  top:auto !important;
  bottom:8% !important;
  width:clamp(160px,11.5vw,215px) !important;
  height:clamp(215px,16vw,282px) !important;
  opacity:.70 !important;
  transform:rotate(5deg) !important;
  background-image:url("/decor-flowers-left.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
}

/* Tablet: keep them noticeable, but out of the content column. */
@media (max-width:900px){
  .hs-decor--left{
    width:150px !important;
    left:-12px !important;
    bottom:4px !important;
    opacity:.64 !important;
  }

  .about-pretty::after,
  .services-pretty::before,
  .reviews-pretty::before,
  .specialists-pretty::before,
  .contact-pretty::before{
    width:118px !important;
    height:165px !important;
    opacity:.48 !important;
  }

  .about-pretty::after{
    right:-14px !important;
    top:68% !important;
  }

  .services-pretty::before{
    right:-14px !important;
    top:8% !important;
  }

  .reviews-pretty::before{
    left:-16px !important;
    top:58% !important;
  }

  .specialists-pretty::before{
    right:-16px !important;
    top:12% !important;
  }

  .contact-pretty::before{
    left:-16px !important;
    bottom:8% !important;
  }
}

/* Phone: still visible, larger than before, but never covers important text. */
@media (max-width:560px){
  .hs-decor--left{
    width:118px !important;
    left:-26px !important;
    bottom:8px !important;
    opacity:.50 !important;
  }

  .about-pretty::after,
  .services-pretty::before,
  .reviews-pretty::before,
  .specialists-pretty::before,
  .contact-pretty::before{
    width:96px !important;
    height:136px !important;
    opacity:.38 !important;
  }

  .about-pretty::after{
    right:-22px !important;
    top:auto !important;
    bottom:12% !important;
    transform:rotate(5deg) !important;
  }

  .services-pretty::before{
    right:-22px !important;
    top:42px !important;
  }

  .reviews-pretty::before{
    left:-24px !important;
    top:54% !important;
    transform:rotate(3deg) !important;
  }

  .specialists-pretty::before{
    right:-24px !important;
    top:46px !important;
  }

  .contact-pretty::before{
    left:-24px !important;
    bottom:12% !important;
  }
}

/* =========================================================
   "НАШІ НАПРЯМКИ" — smoother accordion open / close
   ========================================================= */
.specialists-pretty .accordion details{
  transition:
    background .32s ease,
    border-color .32s ease,
    box-shadow .32s ease,
    transform .32s cubic-bezier(.22,.8,.28,1);
}

.specialists-pretty .accordion details:hover{
  border-color:rgba(123,79,214,.15);
  box-shadow:0 8px 20px rgba(64,44,102,.045);
}

.specialists-pretty .accordion details[open]{
  background:rgba(252,249,255,.96);
  border-color:rgba(123,79,214,.17);
  box-shadow:0 11px 26px rgba(72,49,114,.065);
}

.specialists-pretty .accordion summary{
  transition:
    color .28s ease,
    background .28s ease,
    padding .28s cubic-bezier(.22,.8,.28,1);
}

.specialists-pretty .accordion summary:hover{
  color:#7042CE;
  background:rgba(247,242,253,.62);
}

.specialists-pretty .acc__icon{
  transition:
    transform .32s cubic-bezier(.22,.8,.28,1),
    background .28s ease,
    box-shadow .28s ease;
}

.specialists-pretty details[open] .acc__icon{
  transform:scale(1.07) rotate(-2deg);
  background:#ECE1FB;
  box-shadow:0 5px 13px rgba(123,79,214,.11);
}

.specialists-pretty .accordion--pro summary::after{
  transition:
    transform .34s cubic-bezier(.22,.8,.28,1),
    opacity .28s ease,
    color .28s ease;
}

.specialists-pretty .accordion details[open] summary::after{
  color:#7547D3;
  opacity:1;
}

/* While JS is closing, rotate the chevron immediately instead of at the very end. */
.specialists-pretty .accordion details.is-closing summary::after{
  transform:translateY(-50%) rotate(-90deg) !important;
  opacity:.62;
}

.specialists-pretty .accordion__body{
  will-change:height,opacity,transform;
  transform-origin:top;
}

/* Reduced motion remains fully functional without animations. */
@media(prefers-reduced-motion:reduce){
  .specialists-pretty .accordion details,
  .specialists-pretty .accordion summary,
  .specialists-pretty .acc__icon{
    transition:none !important;
  }
}


/* =========================================================
   FINAL FLOWER TRANSPARENCY FIX
   Feather the raster edges so the square background disappears.
   ========================================================= */

/* First HERO flower is an actual <img> */
.hs-decor--left{
  background:transparent !important;
  mix-blend-mode:multiply !important;
  -webkit-mask-image:radial-gradient(
    ellipse 72% 82% at 50% 52%,
    #000 0%,
    #000 58%,
    rgba(0,0,0,.96) 68%,
    rgba(0,0,0,.72) 80%,
    rgba(0,0,0,.24) 92%,
    transparent 100%
  ) !important;
  mask-image:radial-gradient(
    ellipse 72% 82% at 50% 52%,
    #000 0%,
    #000 58%,
    rgba(0,0,0,.96) 68%,
    rgba(0,0,0,.72) 80%,
    rgba(0,0,0,.24) 92%,
    transparent 100%
  ) !important;
  -webkit-mask-repeat:no-repeat !important;
  mask-repeat:no-repeat !important;
  -webkit-mask-size:100% 100% !important;
  mask-size:100% 100% !important;
}

/* All later flowers are pseudo-elements with background images */
.about-pretty::after,
.services-pretty::before,
.reviews-pretty::before,
.specialists-pretty::before,
.contact-pretty::before{
  background-color:transparent !important;
  background-blend-mode:multiply !important;
  mix-blend-mode:multiply !important;
  box-shadow:none !important;

  -webkit-mask-image:radial-gradient(
    ellipse 70% 80% at 50% 50%,
    #000 0%,
    #000 55%,
    rgba(0,0,0,.96) 66%,
    rgba(0,0,0,.72) 79%,
    rgba(0,0,0,.24) 92%,
    transparent 100%
  ) !important;
  mask-image:radial-gradient(
    ellipse 70% 80% at 50% 50%,
    #000 0%,
    #000 55%,
    rgba(0,0,0,.96) 66%,
    rgba(0,0,0,.72) 79%,
    rgba(0,0,0,.24) 92%,
    transparent 100%
  ) !important;

  -webkit-mask-repeat:no-repeat !important;
  mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;
  mask-position:center !important;
  -webkit-mask-size:100% 100% !important;
  mask-size:100% 100% !important;

  filter:saturate(.96) contrast(.99) !important;
}

/* Make the decorative containers slightly larger because their edges now fade. */
@media(min-width:901px){
  .about-pretty::after{
    width:clamp(180px,13vw,235px) !important;
    height:clamp(230px,18vw,305px) !important;
  }

  .services-pretty::before{
    width:clamp(170px,12.5vw,225px) !important;
    height:clamp(225px,17.5vw,300px) !important;
  }

  .reviews-pretty::before{
    width:clamp(175px,12.5vw,230px) !important;
    height:clamp(230px,17.5vw,302px) !important;
  }

  .specialists-pretty::before{
    width:clamp(175px,12.5vw,230px) !important;
    height:clamp(230px,17.5vw,302px) !important;
  }

  .contact-pretty::before{
    width:clamp(175px,12.5vw,230px) !important;
    height:clamp(230px,17.5vw,302px) !important;
  }
}

/* Move the pink heart that sits by the first flower so it complements,
   rather than covering, the stems. */
.hs-heart--2{
  left:clamp(98px,8.2vw,145px) !important;
  bottom:clamp(48px,7.2%,76px) !important;
  width:clamp(27px,2.35vw,37px) !important;
  opacity:.68 !important;
  transform:rotate(10deg) !important;
}

@media(max-width:900px){
  .about-pretty::after,
  .services-pretty::before,
  .reviews-pretty::before,
  .specialists-pretty::before,
  .contact-pretty::before{
    width:132px !important;
    height:182px !important;
  }

  .hs-heart--2{
    left:75px !important;
    bottom:50px !important;
    width:30px !important;
  }
}

@media(max-width:560px){
  .about-pretty::after,
  .services-pretty::before,
  .reviews-pretty::before,
  .specialists-pretty::before,
  .contact-pretty::before{
    width:108px !important;
    height:150px !important;
  }
}


/* =========================================================
   ABSOLUTE FINAL FLOWER FIX
   Use the SAME clean transparent asset as the good flower
   everywhere. Right-side flowers are only mirrored.
   No masks / white squares / fading rectangles.
   ========================================================= */

/* Reset all previous experimental masks/background blending. */
.hs-decor--left,
.about-pretty::after,
.services-pretty::before,
.reviews-pretty::before,
.specialists-pretty::before,
.contact-pretty::before{
  -webkit-mask-image:none !important;
  mask-image:none !important;
  -webkit-mask:none !important;
  mask:none !important;
  background-color:transparent !important;
  background-blend-mode:normal !important;
  box-shadow:none !important;
  border:0 !important;
  filter:none !important;
  pointer-events:none !important;
  mix-blend-mode:multiply !important;
}

/* The first flower already looks correct — keep its real PNG untouched. */
.hs-decor--left{
  object-fit:contain !important;
  background:none !important;
}

/* Every pseudo-element flower uses the same clean transparent PNG. */
.about-pretty::after,
.services-pretty::before,
.reviews-pretty::before,
.specialists-pretty::before,
.contact-pretty::before{
  background-image:url("/decor-flowers-left.png") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
}

/* RIGHT-side flowers: just mirror the clean left PNG. */
.about-pretty::after{
  transform:translateY(-50%) scaleX(-1) rotate(-3deg) !important;
}

.services-pretty::before{
  transform:rotate(-4deg) !important;
}

.reviews-pretty::before{
  transform:translateY(-35%) rotate(3deg) !important;
}

.specialists-pretty::before{
  transform:scaleX(-1) rotate(3deg) !important;
}

.contact-pretty::before{
  transform:rotate(4deg) !important;
}

/* Desktop proportions — large enough to see, still decorative. */
@media(min-width:901px){
  .about-pretty::after{
    width:205px !important;
    height:275px !important;
    opacity:.80 !important;
  }

  .services-pretty::before{
    width:190px !important;
    height:260px !important;
    opacity:.74 !important;
  }

  .reviews-pretty::before{
    width:200px !important;
    height:270px !important;
    opacity:.72 !important;
  }

  .specialists-pretty::before{
    width:195px !important;
    height:265px !important;
    opacity:.70 !important;
  }

  .contact-pretty::before{
    width:195px !important;
    height:265px !important;
    opacity:.68 !important;
  }
}

/* Tablet */
@media(max-width:900px){
  .about-pretty::after,
  .services-pretty::before,
  .reviews-pretty::before,
  .specialists-pretty::before,
  .contact-pretty::before{
    width:125px !important;
    height:170px !important;
  }

  .about-pretty::after{
    transform:scaleX(-1) rotate(-3deg) !important;
  }

  .reviews-pretty::before{
    transform:rotate(3deg) !important;
  }

  .specialists-pretty::before{
    transform:scaleX(-1) rotate(3deg) !important;
  }
}

/* Phone */
@media(max-width:560px){
  .about-pretty::after,
  .services-pretty::before,
  .reviews-pretty::before,
  .specialists-pretty::before,
  .contact-pretty::before{
    width:102px !important;
    height:142px !important;
    opacity:.42 !important;
  }

  .about-pretty::after{
    transform:scaleX(-1) rotate(-3deg) !important;
  }

  .reviews-pretty::before{
    transform:rotate(3deg) !important;
  }

  .specialists-pretty::before{
    transform:scaleX(-1) rotate(3deg) !important;
  }
}


/* =========================================================
   FINAL FLOWER MIX
   Use BOTH decor-flowers-left.png and decor-flowers-right.png,
   but keep the raster background visually invisible.
   ========================================================= */

/* Reset and unify all flower decorations */
.hs-decor--left,
.about-pretty::after,
.services-pretty::before,
.reviews-pretty::before,
.specialists-pretty::before,
.contact-pretty::before{
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  box-shadow:none !important;
  border:0 !important;
  filter:saturate(.96) contrast(.99) !important;
  pointer-events:none !important;

  /* This is what visually hides the pale square background */
  mix-blend-mode:darken !important;
  background-blend-mode:darken !important;

  -webkit-mask-image:none !important;
  mask-image:none !important;
  -webkit-mask:none !important;
  mask:none !important;
}

/* First hero flower remains the already good one */
.hs-decor--left{
  object-fit:contain !important;
  background:none !important;
}

/* Alternate LEFT / RIGHT assets across the page */
.about-pretty::after{
  background-image:url("/decor-flowers-right.png") !important;
}

.services-pretty::before{
  background-image:url("/decor-flowers-left.png") !important;
}

.reviews-pretty::before{
  background-image:url("/decor-flowers-right.png") !important;
}

.specialists-pretty::before{
  background-image:url("/decor-flowers-left.png") !important;
}

.contact-pretty::before{
  background-image:url("/decor-flowers-right.png") !important;
}

/* Individual transforms / placement */
.about-pretty::after{
  transform:translateY(-50%) rotate(-4deg) !important;
}

.services-pretty::before{
  transform:rotate(-3deg) !important;
}

.reviews-pretty::before{
  transform:translateY(-35%) rotate(4deg) !important;
}

.specialists-pretty::before{
  transform:rotate(-2deg) !important;
}

.contact-pretty::before{
  transform:rotate(4deg) !important;
}

/* Desktop sizes */
@media(min-width:901px){
  .about-pretty::after{
    width:205px !important;
    height:275px !important;
    opacity:.82 !important;
  }

  .services-pretty::before{
    width:190px !important;
    height:260px !important;
    opacity:.74 !important;
  }

  .reviews-pretty::before{
    width:200px !important;
    height:270px !important;
    opacity:.72 !important;
  }

  .specialists-pretty::before{
    width:190px !important;
    height:258px !important;
    opacity:.70 !important;
  }

  .contact-pretty::before{
    width:195px !important;
    height:264px !important;
    opacity:.69 !important;
  }
}

/* Tablet */
@media(max-width:900px){
  .about-pretty::after,
  .services-pretty::before,
  .reviews-pretty::before,
  .specialists-pretty::before,
  .contact-pretty::before{
    width:125px !important;
    height:170px !important;
    opacity:.52 !important;
  }

  .about-pretty::after{
    transform:rotate(-4deg) !important;
  }

  .reviews-pretty::before{
    transform:rotate(4deg) !important;
  }
}

/* Phone */
@media(max-width:560px){
  .about-pretty::after,
  .services-pretty::before,
  .reviews-pretty::before,
  .specialists-pretty::before,
  .contact-pretty::before{
    width:102px !important;
    height:142px !important;
    opacity:.42 !important;
  }

  .about-pretty::after{
    transform:rotate(-4deg) !important;
  }

  .reviews-pretty::before{
    transform:rotate(4deg) !important;
  }
}
