:root{--pink:#f3c7d7;--pink2:#f8e3ea;--yellow:#f7e7a8;--ivory:#fffaf4;--black:#171513;--muted:#6e655f;--line:#dfd6cd;--white:#fff;--radius:28px;--shadow:0 18px 45px rgba(39,28,18,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--black);font-family:'DM Sans',sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 4vw;background:rgba(255,250,244,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(23,21,19,.08)}.brand{display:flex;align-items:baseline;gap:7px}.brand-main{font-family:'Playfair Display',serif;font-size:22px;letter-spacing:.06em}.brand-co{font-size:10px;font-weight:700;letter-spacing:.18em}.nav{display:flex;align-items:center;gap:20px;font-size:13px}.nav a:hover{opacity:.6}.nav-cta{background:var(--black);color:#fff;padding:11px 16px;border-radius:999px}.menu-btn{display:none;border:0;background:transparent;font-size:24px}.hero{min-height:80vh;padding:8vw 6vw 6vw;display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center;background:linear-gradient(135deg,var(--ivory),#fff 45%,var(--pink2))}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.hero h1,.section-heading h2{font-family:'Playfair Display',serif;font-weight:500;line-height:1.03;margin:.3em 0}.hero h1{font-size:clamp(48px,7vw,92px)}.hero h1 em{font-weight:500;color:#c7839f}.hero-text{max-width:680px;font-size:18px;color:var(--muted)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 20px;border-radius:999px;border:1px solid var(--black);font-weight:600;cursor:pointer}.btn-dark{background:var(--black);color:#fff}.btn-light{background:transparent}.micro{font-size:12px;color:var(--muted)}.hero-card{background:var(--yellow);border-radius:40px;min-height:480px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow);transform:rotate(2deg)}.stamp{align-self:flex-start;border:1px solid var(--black);border-radius:999px;padding:9px 13px;font-size:11px;letter-spacing:.16em}.hero-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.bow{font-size:90px}.visual-note{max-width:220px;font-family:'Playfair Display',serif;font-style:italic;font-size:25px}.signature{font-family:'Playfair Display',serif;font-style:italic}.quick-choice,.section{padding:80px 6vw}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.choice-card{min-height:170px;border-radius:24px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;transition:.2s}.choice-card:hover{transform:translateY(-3px)}.choice-card span{font-size:11px;opacity:.6}.choice-card strong{font-family:'Playfair Display',serif;font-size:26px}.choice-card small{color:var(--muted)}.pink{background:var(--pink2)}.yellow{background:#faf0c5}.cream{background:#fff;border:1px solid var(--line)}.section-heading{max-width:780px;margin-bottom:50px}.section-heading h2{font-size:clamp(38px,5vw,64px)}.section-heading p{color:var(--muted)}.service-block{margin:70px 0 110px}.service-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}.service-title h3{font-family:'Playfair Display',serif;font-size:36px;margin:.2em 0}.service-title>p{font-size:13px;color:var(--muted);max-width:360px;text-align:right}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.package-grid.two{grid-template-columns:repeat(2,1fr)}.package-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;min-height:100%;box-shadow:0 8px 22px rgba(40,30,20,.03)}.package-card.featured{border:2px solid #d89ab0;box-shadow:var(--shadow)}.badge{position:absolute;right:18px;top:18px;background:var(--pink);font-size:10px;font-weight:700;letter-spacing:.12em;padding:7px 10px;border-radius:999px}.package-top span{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--muted)}.package-top h4{font-family:'Playfair Display',serif;font-size:28px;margin:10px 0 2px}.price{font-size:34px;font-weight:700}.deposit{margin:0;color:#ad6d86;font-size:13px}.package-card ul{padding-left:18px;margin:24px 0}.package-card li{margin:8px 0;color:#4f4843;font-size:14px}.text-link{font-weight:700;font-size:13px}.small-note{font-size:12px;color:var(--muted)}.addons{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 20px}.addons summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:700;display:flex;justify-content:space-between}.addon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 0 20px}.addon-grid p{margin:0;background:var(--ivory);border-radius:12px;padding:11px;font-size:13px}.addon-grid b{display:block}.alt{background:#fff}.occasion-row,.place-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.occasion-row span,.place-filters span{border:1px solid var(--line);border-radius:999px;padding:9px 13px;font-size:12px;background:var(--ivory)}.bundles{background:var(--pink2)}.bundle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.bundle-grid article{background:#fff;border-radius:24px;padding:28px}.bundle-grid article span{font-size:10px;letter-spacing:.13em;font-weight:700}.bundle-grid h3{font-family:'Playfair Display',serif;font-size:30px;margin:9px 0}.bundle-grid .create{background:var(--yellow);grid-column:1/-1}.seasonal{background:#fbf2cd}.season-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.season-grid article{background:#fff;border-radius:24px;padding:26px}.season-icon{font-size:30px}.season-grid h3{font-family:'Playfair Display',serif;font-size:28px}.notice{background:#fff;border-left:5px solid var(--pink);padding:20px;border-radius:14px;max-width:900px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.steps div{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}.steps b{font-size:12px;color:#c7839f}.steps h3{font-family:'Playfair Display',serif;font-size:24px;margin:12px 0}.faq{background:#fff}.faq-list{max-width:900px}.faq-list details{border-bottom:1px solid var(--line);padding:5px 0}.faq-list summary{cursor:pointer;font-weight:700;padding:18px 0}.faq-list p{color:var(--muted);margin-top:0}.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.policy-grid article{background:#fff;border:1px solid var(--line);padding:22px;border-radius:18px}.policy-grid h3{font-family:'Playfair Display',serif;margin-top:0}.policy-grid p{font-size:13px;color:var(--muted)}.book{background:var(--yellow);display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.booking-form{background:#fff;border-radius:28px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form label{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:7px}.booking-form input,.booking-form select,.booking-form textarea{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.booking-form .full{grid-column:1/-1}.booking-form .check{flex-direction:row;align-items:center;font-weight:500}.success{background:#eaf6ed;padding:12px;border-radius:12px}.concierge-btn{position:fixed;right:20px;bottom:20px;z-index:60;border:0;background:var(--black);color:#fff;padding:14px 18px;border-radius:999px;box-shadow:var(--shadow);cursor:pointer}.concierge{position:fixed;right:20px;bottom:80px;z-index:70;width:min(360px,calc(100vw - 40px));background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.16)}.concierge h3{font-family:'Playfair Display',serif;font-size:30px;margin:6px 0}.concierge>button:not(.close-chat){display:block;width:100%;margin:8px 0;padding:11px;border:1px solid var(--line);background:var(--ivory);border-radius:12px;text-align:left;cursor:pointer}.close-chat{position:absolute;right:14px;top:10px;border:0;background:none;font-size:25px}.concierge small{display:block;margin-top:12px;color:var(--muted)}footer{padding:60px 6vw;background:var(--black);color:#fff;text-align:center}.footer-links{display:flex;justify-content:center;gap:20px;margin:20px 0}footer small{opacity:.6}
@media(max-width:980px){.menu-btn{display:block}.nav{display:none;position:absolute;top:70px;right:4vw;left:4vw;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:60px}.hero-card{min-height:330px}.choice-grid,.package-grid,.season-grid,.policy-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.book{grid-template-columns:1fr}}
@media(max-width:640px){.site-header{padding:15px 18px}.brand-main{font-size:18px}.hero{padding:52px 20px 40px;min-height:auto}.hero h1{font-size:48px}.hero-text{font-size:16px}.hero-card{min-height:300px;border-radius:28px}.quick-choice,.section{padding:60px 20px}.choice-grid,.package-grid,.package-grid.two,.season-grid,.policy-grid,.steps,.bundle-grid{grid-template-columns:1fr}.choice-card{min-height:145px}.service-title{display:block}.service-title>p{text-align:left}.service-title h3{font-size:30px}.package-card{padding:22px}.addon-grid{grid-template-columns:1fr 1fr}.bundle-grid .create{grid-column:auto}.booking-form{grid-template-columns:1fr;padding:20px}.booking-form .full{grid-column:auto}.concierge-btn{right:14px;bottom:14px;font-size:12px}.concierge{right:14px;bottom:70px;width:calc(100vw - 28px)}}
