
:root{
  --pink:#f8d7e4;
  --pink2:#e98ab0;
  --pink3:#fff1f6;
  --blue:#dcecff;
  --blue2:#8fbce8;
  --text:#59464e;
  --muted:#7e6e75;
  --white:#fff;
  --shadow:0 14px 40px rgba(112,76,91,.10);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,#fff 0%,#fff9fb 100%);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
nav{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:14px 6vw;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid #f6e7ed;
}
.brand{display:flex;align-items:center;gap:12px;font-weight:850;font-size:20px}
.brand-logo{width:54px;height:54px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow)}
.navlinks{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-weight:700}
.navlinks>a:not(.btn):hover{color:#cf6f98}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 18px;border-radius:999px;border:0;
  background:linear-gradient(135deg,var(--pink2),#f3a9c6);
  color:#fff;font-weight:850;cursor:pointer;
  box-shadow:0 8px 20px rgba(233,138,176,.24);
}
.btn:hover{transform:translateY(-1px)}
.btn.secondary{background:#fff;color:var(--text);border:1px solid #edd6df;box-shadow:none}
.hero{
  max-width:1200px;margin:auto;padding:72px 6vw 54px;
  display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;
}
.hero h1,.pagehead h1{
  margin:.2em 0 .3em;
  font-size:clamp(44px,7vw,82px);
  line-height:1.02;letter-spacing:-.04em;
  color:#5e4650;
}
.pagehead h1{font-size:clamp(42px,6vw,68px)}
.lead{font-size:20px;color:var(--muted);max-width:760px}
.pills{display:flex;gap:10px;flex-wrap:wrap}
.pill{
  display:inline-flex;align-items:center;gap:6px;
  background:#fff;border:1px solid #f0dce4;
  padding:8px 12px;border-radius:999px;font-weight:750;
}
.hero-logo-wrap{
  background:radial-gradient(circle at 50% 40%,#fff 0 38%,var(--pink3) 39% 100%);
  padding:28px;border-radius:40px;box-shadow:var(--shadow)
}
.hero-logo{width:min(100%,430px);margin:auto;border-radius:32px}
.hero-card,.card,.panel,.calendar,.step{
  background:#fff;border:1px solid #f1e1e7;border-radius:var(--radius);box-shadow:var(--shadow)
}
.hero-card,.panel,.card,.step{padding:26px}
.notice{
  padding:16px 18px;border-radius:18px;background:var(--pink3);
  border:1px solid #f1d4df;color:#694e59
}
section{max-width:1200px;margin:auto;padding:54px 6vw}
section>h2,.panel h2{font-size:36px;margin:0 0 24px;letter-spacing:-.02em}
.soft{
  max-width:none;
  background:linear-gradient(180deg,#fff7fa 0%,#f8fbff 100%);
  border-top:1px solid #f4e4eb;border-bottom:1px solid #eef4fb;
}
.soft>*{max-width:1200px;margin-left:auto;margin-right:auto}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card h3,.step h3{font-size:24px;margin-top:0}
.price{font-size:25px;font-weight:900;color:#d76f9b;margin-top:18px}
.green{background:linear-gradient(135deg,#fff,#f5fbff)}
.pagehead{max-width:1200px;margin:auto;padding:64px 6vw 22px;text-align:center}
.pagehead .lead{margin:auto}
footer{text-align:center;padding:34px 20px;color:#8a7780;font-size:14px}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin:14px 0}
.field label{display:block;font-weight:800;margin-bottom:8px}
input,select,textarea{
  width:100%;border:1px solid #e9d9df;background:#fff;
  border-radius:14px;padding:13px 14px;font:inherit;color:var(--text);outline:none
}
input:focus,select:focus,textarea:focus{border-color:var(--pink2);box-shadow:0 0 0 4px rgba(233,138,176,.12)}
.calendar-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}
.calendar{padding:22px}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.cal-head h3{font-size:26px;margin:0}
.cal-head button{
  width:42px;height:42px;border-radius:50%;border:1px solid #ead9df;background:#fff;cursor:pointer;font-size:20px
}
.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.weekdays{font-size:12px;font-weight:850;color:#9a8590;text-align:center;margin-bottom:8px}
.day{
  aspect-ratio:1/1;border-radius:14px;border:1px solid #eee;background:#fff;font-weight:800;color:#a39198
}
.day.available{background:var(--pink3);border-color:#efc5d5;color:#bb5f86;cursor:pointer}
.day.selected{background:var(--pink2);color:#fff;border-color:var(--pink2)}
.day.off{opacity:.45}
.day.empty{visibility:hidden}
.slots{display:flex;gap:10px;flex-wrap:wrap}
.slot{
  border:1px solid #e9cdd8;background:#fff3f7;color:#b3557d;
  padding:10px 14px;border-radius:999px;font-weight:850;cursor:pointer
}
hr{border:0;border-top:1px solid #eee}
@media(max-width:900px){
  .hero,.calendar-wrap{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr 1fr}
  nav{align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){
  nav{padding:12px 18px}
  .navlinks{gap:10px;font-size:14px}
  .hero{padding:42px 20px 34px}
  section{padding:38px 20px}
  .pagehead{padding:42px 20px 16px}
  .grid3,.formgrid{grid-template-columns:1fr}
  .hero h1,.pagehead h1{font-size:42px}
  .lead{font-size:17px}
  .brand-logo{width:44px;height:44px}
}
