
*,*::before,*::after{box-sizing:border-box}
:root{
  --milk:#FFFAF7; --pink:#F6D6DE; --mint:#D6F0E5; --lav:#E5DCF7; --coral:#FF7A6B;
  --ink:#2B2230; --soft:#7A6B7C; --r:28px;
  --display:'Unbounded',system-ui,sans-serif; --body:'Nunito',system-ui,sans-serif;
  --pad:clamp(16px,5vw,64px);
}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(165deg,#FFF3F0 0%,#F9DCE4 28%,#EFD3E2 48%,#E3D2F0 70%,#D8C9F2 100%);background-attachment:fixed;color:var(--ink);font-family:var(--body);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:500;line-height:1.05;letter-spacing:-.02em}
em{font-style:normal;color:var(--coral)}
p{margin:0}
a{color:inherit}

.z-blob{position:fixed;border-radius:50%;filter:blur(70px);opacity:.6;z-index:0;pointer-events:none}
.z-blob--1{width:44vw;height:44vw;left:-12vw;top:4vh;background:radial-gradient(circle,#F2B9C9,#FFF3F0 72%)}
.z-blob--2{width:40vw;height:40vw;right:-10vw;top:56vh;background:radial-gradient(circle,#C9B6EC,#EFE4F7 72%)}

.z-hdr{position:relative;z-index:3;display:flex;align-items:center;gap:18px;padding:18px var(--pad)}
.z-logo{font-family:var(--display);font-size:19px;letter-spacing:.16em;text-decoration:none}
.z-nav{display:flex;gap:20px;margin-left:auto;font-size:14px}
.z-nav a{text-decoration:none;color:var(--soft)}
.z-nav a:hover{color:var(--ink)}
.z-cta{text-decoration:none;background:var(--coral);color:#fff;padding:12px 22px;border-radius:999px;font-size:13.5px;font-weight:700}

.z-hero{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,60px);align-items:center;padding:clamp(16px,3vw,36px) var(--pad) clamp(30px,5vw,64px);max-width:1280px;margin:0 auto}
.z-eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--coral);margin-bottom:16px}
.z-hero h1{font-size:clamp(34px,5.6vw,70px)}
.z-lead{margin-top:22px;max-width:40ch;color:var(--soft);font-size:17px}
.z-btn{display:inline-block;margin-top:28px;background:var(--coral);color:#fff;text-decoration:none;padding:17px 30px;border-radius:999px;font-weight:800;font-size:15px;box-shadow:0 14px 30px rgba(255,122,107,.35);transition:transform .18s cubic-bezier(.2,1.4,.4,1)}
.z-btn:hover{transform:translateY(-3px) scale(1.02)}
.z-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.z-badges span{background:#fff;border-radius:999px;padding:8px 16px;font-size:12.5px;color:var(--soft);box-shadow:0 8px 20px rgba(43,34,48,.07)}

.z-hero__art{position:relative}
.z-frame{margin:0;border-radius:32px;overflow:hidden;background:linear-gradient(145deg,var(--pink),var(--lav));padding:12px;box-shadow:0 24px 60px rgba(43,34,48,.14)}
.z-frame img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px}
.star{position:absolute;color:var(--coral);font-size:22px;animation:float 5s ease-in-out infinite}
.z-hero__art>.star:nth-of-type(1){top:6%;left:-6%}
.z-hero__art>.star:nth-of-type(2){bottom:12%;right:-4%;animation-delay:1.2s}
.sticker{position:absolute;background:#fff;border-radius:999px;padding:10px 18px;font-size:12.5px;font-weight:800;color:var(--ink);box-shadow:0 12px 26px rgba(43,34,48,.14);animation:float 6s ease-in-out infinite}
.sticker--1{top:10%;right:-6%;background:var(--mint);animation-delay:.4s}
.sticker--2{bottom:22%;left:-8%;background:var(--lav)}
.sticker--3{top:44%;left:-10%;background:#fff;animation-delay:.8s}
@keyframes float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){.star,.sticker{animation:none}}

.z-adv{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:clamp(2px,2vw,20px) var(--pad) clamp(30px,5vw,50px);max-width:1280px;margin:0 auto}
.z-adv__item{background:#fff;border-radius:24px;padding:22px;box-shadow:0 14px 34px rgba(43,34,48,.07);transition:transform .2s}
.z-adv__item:hover{transform:translateY(-4px)}
.z-adv__ico{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--mint);font-size:19px;margin-bottom:12px}
.z-adv__item h3{font-size:15px;font-family:var(--body);font-weight:800;margin-bottom:6px}
.z-adv__item p{font-size:13px;color:var(--soft)}

.z-services,.z-how,.z-gallery,.z-reviews,.z-book{position:relative;z-index:2;padding:clamp(30px,5vw,72px) var(--pad);max-width:1180px;margin:0 auto}
.z-services h2,.z-how h2,.z-gallery h2,.z-reviews h2{font-size:clamp(26px,3.8vw,46px);margin-bottom:clamp(18px,3vw,30px)}
.z-services h2 span,.z-how h2 span,.z-gallery h2 span,.z-reviews h2 span{color:var(--coral)}

.z-pills{display:grid;gap:10px}
.z-pill{background:#fff;border-radius:22px;box-shadow:0 12px 28px rgba(43,34,48,.06);overflow:hidden;transition:box-shadow .25s}
.z-pill.is-open{box-shadow:0 18px 40px rgba(255,122,107,.2)}
.z-pill__head{display:grid;grid-template-columns:1fr auto auto 24px;gap:14px;align-items:center;width:100%;background:none;border:0;padding:18px 22px;font:inherit;text-align:left;cursor:pointer}
.z-pill__name{font-weight:800;font-size:16px}
.z-pill__time{font-size:12px;color:var(--soft)}
.z-pill__price{font-family:var(--display);font-size:15px;color:var(--coral)}
.z-pill__plus{font-size:18px;color:var(--coral);text-align:center}
.z-pill__body{max-height:0;overflow:hidden;transition:max-height .35s ease}
.z-pill.is-open .z-pill__body{max-height:140px}
.z-pill__body p{padding:0 22px 20px;font-size:14px;color:var(--soft)}
.z-note{margin-top:14px;font-size:12.5px;color:var(--soft)}

.z-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.z-step{background:var(--mint);border-radius:26px;padding:24px}
.z-step:nth-child(2){background:var(--pink)}
.z-step:nth-child(3){background:var(--lav)}
.z-step__n{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;font-family:var(--display);font-size:15px;margin-bottom:14px}
.z-step h3{font-size:16px;font-family:var(--body);font-weight:800;margin-bottom:6px}
.z-step p{font-size:13.5px;color:#4a3f4d}

.z-bubbles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.z-bubbles figure{margin:0;border-radius:50%;overflow:hidden;aspect-ratio:1;box-shadow:0 12px 26px rgba(43,34,48,.1)}
.z-bubbles img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,1.2,.4,1)}
.z-bubbles figure:hover img{transform:scale(1.14)}

.z-reviews{background:linear-gradient(180deg,var(--milk),#FFF3F0);max-width:none}
.z-reviews h2,.z-slider{max-width:1180px;margin-left:auto;margin-right:auto}
.z-slider{overflow:hidden}
.z-slider__track{display:flex;gap:18px;transition:transform .45s cubic-bezier(.2,.9,.3,1)}
.z-review{flex:0 0 min(360px,80%);background:#fff;border-radius:26px;padding:24px;box-shadow:0 14px 34px rgba(43,34,48,.07)}
.z-av{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--lav);font-weight:800;font-size:14px;margin-bottom:12px}
.z-review h3{font-size:15px;font-family:var(--body);font-weight:800}
.z-stars{color:var(--coral);font-size:13px;letter-spacing:.14em;margin:4px 0 10px}
.z-review p{font-size:14px;color:var(--soft)}
.z-slider__nav{display:flex;gap:10px;margin-top:20px}
.z-slider__nav button{width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:var(--ink);font-size:16px;cursor:pointer;box-shadow:0 10px 24px rgba(43,34,48,.12)}
.z-slider__nav button:hover{background:var(--coral);color:#fff}

.z-book{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,4vw,54px);background:var(--pink);border-radius:34px;padding:clamp(24px,4vw,52px);max-width:1180px}
.z-book h2{margin-bottom:14px}
.z-book p{color:#5b4a58;max-width:38ch}
.z-book__meta{margin-top:20px;font-size:12.5px;line-height:2;color:#6b5765}

.f{background:#fff;border-radius:26px;padding:clamp(18px,3vw,26px);display:grid;gap:12px;box-shadow:0 18px 40px rgba(43,34,48,.1)}
.f label{display:grid;gap:6px}
.f label>span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);font-weight:700}
.f input,.f select{padding:13px 15px;border:2px solid #F2E8EA;border-radius:16px;background:#FFFDFC;font:inherit;font-size:15px;outline:none}
.f input:focus,.f select:focus{border-color:var(--coral)}
.f__check{display:flex;gap:9px;font-size:12px;color:var(--soft);align-items:flex-start}
.f button{padding:16px;border:0;border-radius:999px;background:var(--coral);color:#fff;font:inherit;font-size:14.5px;font-weight:800;cursor:pointer;transition:transform .18s cubic-bezier(.2,1.4,.4,1)}
.f button:hover{transform:scale(1.02)}
.f__status{min-height:16px;font-size:12.5px}
.f__status.is-error{color:#c0392b}

.z-foot{position:relative;z-index:2;padding:26px var(--pad);background:rgba(255,250,247,.7);backdrop-filter:blur(10px);border-top:1px solid #F0E4E7;font-size:12.5px;color:var(--soft)}
.z-foot__row{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;margin-bottom:12px}
.z-foot__logo{font-family:var(--display);font-size:16px;letter-spacing:.16em;color:var(--ink)}
.z-foot nav{display:flex;gap:16px}
.z-foot nav a{text-decoration:none}
.z-foot p{font-size:12px}

.cookie{position:fixed;left:14px;right:14px;bottom:14px;max-width:520px;margin:0 auto;display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;background:#fff;border-radius:22px;padding:16px;font-size:13px;box-shadow:0 18px 44px rgba(43,34,48,.16);z-index:60}
.cookie[hidden]{display:none}
.cookie button{border:0;border-radius:999px;background:var(--coral);color:#fff;padding:10px 18px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.cookie button+button{background:#F3E9EC;color:var(--ink)}

@media(max-width:1000px){
  .z-hero{grid-template-columns:1fr}
  .z-hero__art{order:-1;max-width:460px;margin:0 auto}
  .z-adv{grid-template-columns:1fr 1fr}
  .z-steps{grid-template-columns:1fr}
  .z-bubbles{grid-template-columns:repeat(3,1fr)}
  .z-book{grid-template-columns:1fr}
}
@media(max-width:600px){
  .z-nav{display:none}
  .z-adv{grid-template-columns:1fr}
  .z-pill__head{grid-template-columns:1fr auto;row-gap:4px}
  .z-pill__time{grid-row:2;font-size:11.5px}
  .z-pill__price{grid-row:1;justify-self:end}
  .z-pill__plus{grid-row:2;justify-self:end}
  .z-bubbles{grid-template-columns:repeat(2,1fr)}
  .z-book{border-radius:0;margin-left:0;margin-right:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation:none!important}}
