@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--pink:#d986a8;--soft-pink:#fff1f6;--purple:#8b4a9e;--lavender:#ead8f3;--gold:#c89a48;--ink:#3d3140;--muted:#6d6070;--shadow:0 24px 70px rgba(120,65,120,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,system-ui,sans-serif;background:linear-gradient(rgba(255,255,255,.34),rgba(255,255,255,.66)),url('assets/floral-background.jpg') center/cover fixed no-repeat}
.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 6vw;background:rgba(255,253,253,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(200,154,72,.22)}
.brand img{width:145px;display:block}nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap;justify-content:flex-end}nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}.nav-button,.primary{background:linear-gradient(135deg,var(--purple),#b36abb);color:white!important;padding:13px 22px;border-radius:999px;box-shadow:0 10px 22px rgba(139,74,158,.22)}
.hero{min-height:720px;display:flex;align-items:center;padding:70px 6vw}.hero-card{max-width:780px;padding:58px;border-radius:36px;background:rgba(255,255,255,.80);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.8)}
.eyebrow{color:var(--purple);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:13px}h1,h2,h3{font-family:'Playfair Display',serif;margin:.15em 0 .45em}h1{font-size:clamp(44px,6vw,86px);line-height:1;color:#322936}h2{font-size:clamp(32px,4vw,54px);line-height:1.08}h3{font-size:24px}.lead,p{font-size:18px;line-height:1.75;color:var(--muted)}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.primary,.secondary{text-decoration:none;font-weight:800;display:inline-block}.secondary{border:1px solid rgba(139,74,158,.25);color:var(--purple);padding:13px 22px;border-radius:999px;background:white}
.section{width:min(1160px,88vw);margin:70px auto;padding:52px;border-radius:34px;background:rgba(255,255,255,.90);border:1px solid rgba(255,255,255,.85);box-shadow:var(--shadow)}.split{display:grid;grid-template-columns:1.35fr .85fr;gap:34px;align-items:center}.promise-box,.soft-panel{border-radius:28px;padding:34px;background:linear-gradient(135deg,var(--soft-pink),var(--lavender));border:1px solid rgba(200,154,72,.22)}.center{text-align:center;display:block}.narrow{max-width:720px;margin-left:auto;margin-right:auto}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px}.services-grid article{padding:28px 22px;border-radius:24px;background:linear-gradient(180deg,#fff,#fff6fa);border:1px solid rgba(217,134,168,.18);text-align:center}.services-grid span{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;border-radius:50%;background:var(--soft-pink);color:var(--purple);font-size:26px}.services-grid p{font-size:15px;line-height:1.55}
.family{background:rgba(255,248,251,.92)}.reviews{display:grid;grid-template-columns:1fr 1fr;gap:24px}blockquote{margin:0;padding:32px;border-radius:24px;background:#fff;border:1px solid rgba(200,154,72,.2);color:#564658;font-size:18px;line-height:1.7}cite{display:block;margin-top:18px;color:var(--purple);font-style:normal;font-weight:700}
form{display:grid;gap:14px;margin-top:26px}.review-form{max-width:760px;margin:30px auto 0}input,select,textarea{width:100%;padding:16px 18px;border:1px solid rgba(139,74,158,.18);border-radius:16px;font:inherit;background:#fff}textarea{min-height:130px;resize:vertical}button{border:0;border-radius:999px;background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff;padding:16px 24px;font-weight:800;cursor:pointer}small{color:#7a6d7d;line-height:1.6}
.pay-buttons{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin:30px 0}.pay{text-decoration:none;padding:16px 28px;border-radius:16px;color:white;font-weight:900;box-shadow:0 15px 34px rgba(0,0,0,.1)}.stripe{background:#7657ff}.paypal{background:#f0b429;color:#222}.square{background:#222}
footer{text-align:center;padding:50px 6vw;background:rgba(255,255,255,.75)}footer img{width:130px}
@media(max-width:900px){.topbar{position:relative;display:block;text-align:center}nav{justify-content:center;margin-top:10px;gap:14px}.hero{padding:34px 5vw;min-height:auto}.hero-card,.section{padding:30px}.split,.reviews{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.services-grid{grid-template-columns:1fr}h1{font-size:42px}}
