*{box-sizing:border-box;margin:0;padding:0}
:root{--pink:#f6d9e4;--pink-dark:#b85f7c;--cream:#fffaf7;--ink:#30262a;--muted:#75686d;--white:#fff;--line:#eadfe2}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}
a{text-decoration:none;color:inherit}
.nav{height:78px;padding:0 7%;display:flex;align-items:center;justify-content:space-between;background:rgba(255,250,247,.94);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.logo{font-family:"Playfair Display",serif;font-size:1.35rem;font-weight:700}.logo span{color:var(--pink-dark);margin-right:5px}
.nav nav{display:flex;align-items:center;gap:32px;font-size:.95rem;font-weight:600}.nav nav a:hover{color:var(--pink-dark)}
.nav-cta{background:var(--ink);color:#fff!important;padding:10px 18px;border-radius:999px}
.menu-btn{display:none;border:0;background:none;font-size:1.6rem}
.hero{min-height:calc(100vh - 78px);padding:8% 8%;display:grid;grid-template-columns:1.15fr .85fr;gap:7%;align-items:center;background:radial-gradient(circle at 80% 30%,#f9e7ed 0 18%,transparent 19%),var(--cream)}
.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:700;color:var(--pink-dark);margin-bottom:15px}
h1,h2{font-family:"Playfair Display",serif;line-height:1.05}h1{font-size:clamp(3.2rem,7vw,6.5rem);max-width:760px}h2{font-size:clamp(2.4rem,4.5vw,4.2rem)}
.hero-copy{max-width:620px;font-size:1.1rem;color:var(--muted);margin:25px 0 30px}
.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-block;border-radius:999px;padding:14px 23px;font-weight:700;border:1px solid var(--ink);cursor:pointer;font:inherit}.primary{background:var(--ink);color:#fff}.primary:hover{background:#4a3b41}.secondary{background:transparent}.secondary:hover{background:#fff}
.mini-proof{display:flex;gap:25px;margin-top:45px}.mini-proof div{display:grid;grid-template-columns:auto 1fr;column-gap:7px;font-size:.8rem;color:var(--pink-dark)}.mini-proof strong{color:var(--ink);font-size:.95rem}.mini-proof span{grid-column:2;color:var(--muted)}
.hero-card{aspect-ratio:1/1;max-width:470px;margin:auto;width:100%;border-radius:48% 52% 50% 45%;background:var(--pink);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:0 30px 70px rgba(100,60,75,.12);transform:rotate(3deg)}
.hero-card>*{transform:rotate(-3deg)}.hero-card .heart{font-size:3rem;color:var(--pink-dark)}.hero-card p{letter-spacing:.2em;font-size:.75rem;font-weight:700}.hero-card h2{font-size:3.6rem;margin:12px 0}.hero-card em{color:var(--pink-dark);font-weight:600}.scribble{font-family:"Playfair Display",serif;font-style:italic;color:#8d5c6b}
.section{padding:100px 8%}.soft{background:#fff}.section-heading{margin-bottom:55px}.centered{text-align:center}.centered h2{max-width:650px;margin:auto}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;max-width:1150px;margin:auto}.large{font-family:"Playfair Display",serif;font-size:1.8rem;line-height:1.3;margin-bottom:22px}.about-grid p:not(.large){color:var(--muted);margin-bottom:16px}
.values{display:grid;gap:15px}.values>div{padding:25px;border:1px solid var(--line);border-radius:20px;background:var(--cream)}.values span{font-size:.75rem;color:var(--pink-dark);font-weight:700}.values h3{margin:3px 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1150px;margin:auto}.card{padding:38px 32px;border:1px solid var(--line);border-radius:25px;background:#fff}.card.featured{background:var(--pink);border-color:var(--pink)}.icon{font-size:2rem;color:var(--pink-dark);margin-bottom:20px}.card h3{font-family:"Playfair Display",serif;font-size:1.6rem}.card p{color:var(--muted);margin-top:10px}
.pricing{background:var(--pink);display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.pricing-copy p:not(.eyebrow){color:#69545b;max-width:500px;margin-top:20px}.price-box{background:#fff;border-radius:28px;padding:20px;box-shadow:0 20px 60px rgba(100,60,75,.1)}.price-row{display:flex;justify-content:space-between;align-items:center;padding:22px 18px;border-bottom:1px solid var(--line)}.price-row strong{font-size:1.5rem}.price-row strong span{font-size:.75rem;color:var(--muted);font-weight:500}.event-rate{margin-top:15px;padding:18px;background:var(--cream);border-radius:18px;display:flex;gap:14px;align-items:center}.event-rate span{font-size:1.5rem}.event-rate small{display:block;color:var(--muted)}
.booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;max-width:1250px;margin:auto}.booking-intro>p:not(.eyebrow){color:var(--muted);margin-top:20px}.contact-note{margin-top:35px;padding:22px;border-left:3px solid var(--pink-dark);background:#fff}.contact-note p{font-size:.9rem;color:var(--muted);margin-top:5px}
.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:17px}label{font-size:.85rem;font-weight:700}label input,label select,label textarea{width:100%;display:block;margin-top:7px;border:1px solid var(--line);border-radius:12px;padding:13px 14px;background:#fff;font:inherit;color:var(--ink)}label textarea{resize:vertical}.booking-form label:nth-of-type(1),.booking-form label:nth-of-type(2),.booking-form label:nth-of-type(7),.booking-form label:nth-of-type(8){grid-column:1/-1}.time-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:17px}.full{grid-column:1/-1;width:100%}.form-note{grid-column:1/-1;font-size:.72rem;color:var(--muted)}.form-message{grid-column:1/-1;font-weight:700;color:var(--pink-dark)}
footer{padding:55px 8%;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}footer p{color:#cdbfc4;font-size:.85rem;margin-top:7px}.footer-links{display:flex;gap:25px;font-size:.85rem}.footer-links a:hover{color:var(--pink)}.copyright{grid-column:1/-1;border-top:1px solid #51464a;padding-top:20px}
@media(max-width:800px){.nav{padding:0 5%}.menu-btn{display:block}.nav nav{display:none}.nav.open nav{display:flex;position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:20px 5%;flex-direction:column;align-items:stretch;gap:12px;border-bottom:1px solid var(--line)}.hero,.about-grid,.pricing,.booking{grid-template-columns:1fr}.hero{padding:70px 6%;gap:50px}.hero-card{max-width:360px}.section{padding:75px 6%}.cards{grid-template-columns:1fr}.mini-proof{gap:15px;flex-wrap:wrap}.booking-form{grid-template-columns:1fr}.booking-form label,.time-grid,.full,.form-note,.form-message{grid-column:1}.time-grid{grid-template-columns:1fr}.footer-links{display:none}footer{padding:45px 6%}}
