@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--ink:#22233d;--pink:#f84d78;--pink-dark:#d73260;--yellow:#ffd55b;--blue:#43b8d8;--cream:#fff8ef;--white:#fff;--line:#e9dfd6;--shadow:0 18px 45px rgba(48,28,45,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.shell{width:min(1120px,calc(100% - 40px));margin:auto}.topbar{background:var(--ink);color:#fff;font-size:.88rem}.topbar .shell{display:flex;gap:18px;justify-content:center;padding:9px 0;flex-wrap:wrap}.topbar a{font-weight:700}.nav{background:rgba(255,248,239,.95);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.nav .shell{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:22px}.brand{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;line-height:1;color:var(--pink)}.brand small{display:block;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;margin-top:6px}.navlinks{display:flex;align-items:center;gap:22px;font-size:.93rem;font-weight:700}.navlinks a:hover,.navlinks a.active{color:var(--pink)}.button{display:inline-block;background:var(--pink);color:#fff;border:0;border-radius:999px;padding:13px 20px;font:700 .94rem 'DM Sans';cursor:pointer;box-shadow:0 8px 17px rgba(248,77,120,.22);transition:.2s}.button:hover{background:var(--pink-dark);transform:translateY(-1px)}.button.outline{background:transparent;color:var(--pink);box-shadow:inset 0 0 0 2px var(--pink)}.hero{overflow:hidden;position:relative;background:var(--yellow)}.hero .shell{padding:78px 0 72px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:45px}.eyebrow{display:inline-block;border-radius:999px;background:#fff;padding:7px 12px;color:var(--pink);font-weight:700;font-size:.82rem;letter-spacing:.04em}.hero h1,.pagehead h1{font-family:'Playfair Display',serif;font-size:clamp(2.6rem,6vw,4.85rem);line-height:1.02;margin:17px 0 20px;letter-spacing:-.04em}.hero p{max-width:540px;font-size:1.1rem;margin-bottom:27px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero .outline{border-color:var(--ink);color:var(--ink)}.hero-image{position:relative}.hero-image img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:48% 52% 42% 58%/50% 37% 63% 50%;box-shadow:var(--shadow);transform:rotate(2deg)}.bubble{position:absolute;background:var(--pink);border-radius:50%;width:72px;height:72px;left:-23px;bottom:27px;border:7px solid var(--yellow)}.bubble.two{background:var(--blue);width:42px;height:42px;left:auto;bottom:auto;right:-12px;top:28px}.section{padding:80px 0}.section.white{background:#fff}.kicker{color:var(--pink);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.09em}.section h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;margin:8px 0 16px;letter-spacing:-.025em}.intro{max-width:640px;margin:0 0 32px;font-size:1.05rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 6px 18px rgba(48,28,45,.07);border:1px solid rgba(255,255,255,.9)}.card img{width:100%;aspect-ratio:1.25/1;object-fit:cover}.card .pad{padding:20px}.card h3{font-family:'Playfair Display',serif;font-size:1.45rem;margin:0 0 7px}.card p{margin:0 0 16px}.textlink{color:var(--pink);font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.split-img{border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.split-img img{width:100%;aspect-ratio:1/1;object-fit:cover}.ticks{padding:0;list-style:none;margin:24px 0}.ticks li{margin:10px 0;padding-left:30px;position:relative}.ticks li:before{content:'✦';position:absolute;left:0;color:var(--pink);font-weight:bold}.pricegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price{background:var(--ink);color:#fff;padding:27px;border-radius:20px}.price:nth-child(2){background:var(--pink)}.price:nth-child(3){background:var(--blue)}.price .from{text-transform:uppercase;font-size:.78rem;letter-spacing:.11em;opacity:.82}.price h3{font-family:'Playfair Display',serif;font-size:1.65rem;line-height:1.1;margin:9px 0}.price strong{font-size:1.65rem}.servicebar{background:var(--pink);color:white}.servicebar .shell{padding:31px 0;display:flex;justify-content:space-between;gap:20px;align-items:center}.servicebar h2{font-family:'Playfair Display',serif;font-size:1.8rem;margin:0}.form-section{background:linear-gradient(115deg,#f9e5df,#f9d4df)}.formwrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start}.formwrap h2{font-size:3rem}.form{background:#fff;border-radius:22px;padding:28px;box-shadow:var(--shadow)}.form label{font-size:.87rem;font-weight:700;display:block;margin:12px 0 5px}.form input,.form select,.form textarea{font:inherit;width:100%;border:1px solid #ded6ce;border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink)}.form textarea{min-height:94px;resize:vertical}.form .twocol{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form .note{font-size:.83rem;margin:15px 0;color:#5c5663}.pagehead{background:var(--yellow);padding:65px 0 52px;text-align:center}.pagehead h1{font-size:clamp(2.5rem,5vw,4rem);margin:12px 0}.pagehead p{max-width:680px;margin:auto;font-size:1.06rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px}.gallery img:nth-child(1),.gallery img:nth-child(5){grid-row:span 2;aspect-ratio:auto;height:100%}.faq{max-width:820px;margin:auto}.faq details{background:#fff;border-bottom:1px solid var(--line);padding:17px 18px}.faq summary{font-weight:700;cursor:pointer}.faq p{margin:12px 0 0}.contactgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px}.contactbox{background:#fff;border-radius:20px;padding:30px;box-shadow:var(--shadow)}.contactbox h3{font-family:'Playfair Display',serif;font-size:1.7rem;margin:0 0 14px}.hours{width:100%;border-collapse:collapse}.hours td{padding:8px 0;border-bottom:1px solid var(--line)}.hours td:last-child{text-align:right;font-weight:700}.footer{background:var(--ink);color:#fff;padding:44px 0 20px}.footer .grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer h3{font-family:'Playfair Display',serif;color:var(--yellow);font-size:1.35rem;margin-top:0}.footer p,.footer li{font-size:.9rem;color:#e5e4eb}.footer ul{padding:0;list-style:none}.footer li{margin:7px 0}.legal{border-top:1px solid #414256;margin-top:30px;padding-top:14px;font-size:.75rem;color:#bbb9c5}.mobilemenu{display:none}@media(max-width:800px){.nav .shell{min-height:66px}.navlinks{display:none}.mobilemenu{display:inline-block}.hero .shell,.split,.formwrap,.contactgrid{grid-template-columns:1fr}.hero .shell{padding:50px 0;gap:30px}.hero-image{max-width:480px;margin:auto}.cards,.pricegrid{grid-template-columns:1fr}.section{padding:57px 0}.servicebar .shell{display:block}.servicebar .button{margin-top:15px;background:#fff;color:var(--pink)}.gallery{grid-template-columns:1fr 1fr}.gallery img:nth-child(1),.gallery img:nth-child(5){grid-row:auto;aspect-ratio:1/1;height:auto}.footer .grid{grid-template-columns:1fr}.topbar .shell{justify-content:center}.formwrap h2{font-size:2.5rem}}@media(max-width:430px){.shell{width:min(100% - 28px,1120px)}.form .twocol{grid-template-columns:1fr}.hero h1{font-size:2.55rem}}
