@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#32272c;--rose:#a86779;--pink:#f2e0e6;--cream:#fcf8f5;--ivory:#fffdf9;--gold:#cfb48c;--muted:#74646a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.7 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}img{display:block}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(49px,6.5vw,92px);margin:14px 0 25px}h2{font-size:clamp(36px,4.6vw,58px);margin:14px 0 23px}h3{font-size:26px;margin:12px 0}h1 em,h2 em{color:var(--rose);font-weight:400}p{margin:12px 0 22px}.topline{padding:8px 14px;text-align:center;background:#392a33;color:#fff4ec;letter-spacing:.16em;font-size:10px;font-weight:700;text-transform:uppercase}.navwrap{z-index:20;position:sticky;top:0;background:#fffdfbf5;backdrop-filter:blur(14px);display:flex;gap:20px;align-items:center;justify-content:space-between;padding:17px 4%;border-bottom:1px solid #eee4e5;box-shadow:0 6px 25px #50303e09}.wordmark{font:500 28px 'Playfair Display',serif;white-space:nowrap}.wordmark small{font:700 9px 'DM Sans',sans-serif;display:block;text-align:center;letter-spacing:.28em;color:#a66c7c}.navwrap nav{display:flex;align-items:center;gap:17px}.navwrap nav a{font-size:11px;letter-spacing:.03em;font-weight:700}.navwrap nav a:hover,.navwrap nav a.current{color:var(--rose)}.navcta,.button{display:inline-block;background:var(--ink);color:white;border:1px solid var(--ink);padding:12px 20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;cursor:pointer}.navcta:hover,.button:hover{background:var(--rose);border-color:var(--rose)}.menubtn{display:none;background:transparent;border:0;font-size:24px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.eyebrow{color:var(--rose);font-size:11px;text-transform:uppercase;letter-spacing:.19em;font-weight:700}.eyebrow:before,.eyebrow:after{content:'✦';margin:0 9px;color:#c69cab}.section{padding:85px 5%;max-width:1400px;margin:auto}.center{text-align:center}.lead{font-size:16px;color:var(--muted);max-width:760px;margin:0 auto 34px}.lead.narrow{max-width:640px}.hero{display:grid;grid-template-columns:43% 57%;min-height:650px;background:radial-gradient(circle at 10% 17%,#fff8f9,transparent 35%),#f0e0e2}.hero-copy{padding:75px 9% 70px 13%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero-copy p{font-size:16px;max-width:450px;color:#685961}.hero .micro{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#986c7b;margin-top:25px}.btnrow{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.textlink,.smalllink{color:#976576;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.hero-photo{position:relative;min-height:650px}.ribbon{background:#392a33;color:#fff4eb;text-align:center;padding:16px 12px;font-size:11px;letter-spacing:.14em}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:45px;text-align:left}.feature{position:relative;background:#fff;border:1px solid #eee1e4;overflow:hidden}.feature>img{width:100%;height:310px;object-fit:cover;object-position:top}.feature-content{padding:27px}.feature-content p{color:var(--muted);font-size:13px}.two-col{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#fff}.two-col.blush{background:#f0e3e5}.imagearea img{height:100%;min-height:520px;width:100%;object-fit:cover}.contentarea{padding:90px 10%;align-self:center}.contentarea p{color:var(--muted);max-width:525px}.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:40px auto;max-width:1040px}.trio img{height:360px;width:100%;object-fit:cover}.banner{background:radial-gradient(circle at 70% 0,#72505c,var(--ink));color:#fff;text-align:center;padding:95px 7%;position:relative}.banner:before{content:'✦   ✧        ✦     ✧        ✦';display:block;color:#e5c9c8;letter-spacing:1.6em;margin-bottom:20px}.banner h2{max-width:860px;margin:15px auto 28px}.banner p{color:#f3e8e8}.banner .eyebrow{color:#ead7d4}.centerbtn{justify-content:center}.pale{background:#f4e1e5;border-color:#f4e1e5;color:var(--ink)}.outlinedlight{background:transparent;border-color:#fff;color:#fff}.outline{background:transparent;border-color:var(--ink);color:var(--ink)}.pagehero{padding:105px 5% 92px;background:radial-gradient(circle at 80% 24%,#fffcf9,transparent 40%),#f2e5e8}.pagehero h1{max-width:950px;margin:20px auto 24px}.notice{border-left:3px solid var(--rose);background:#fff6f7;padding:18px 25px;color:#6d5661;font-size:13px}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:38px 0}.product{background:#fff;border:1px solid #eee1e4;box-shadow:0 12px 22px #6a455014}.product>img{width:100%;height:330px;object-fit:cover;object-position:top}.productinfo{padding:18px}.productinfo p{font-size:12px;color:var(--muted)}.product h3{font-size:24px}.pricepair{display:flex;gap:20px;justify-content:space-between;padding:13px 0;border-top:1px solid #ebdfe3;margin-bottom:10px}.pricepair small{display:block;color:var(--muted);font-size:11px}.pricepair strong{font-size:20px}.editorial{text-align:center;padding:65px 12%;background:#f1e5e7;margin-top:35px}.editorial p{max-width:720px;margin:0 auto 25px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:50px 0}.steps article{padding:35px 25px;background:#fff;border:1px solid #eadce0;text-align:left}.steps strong{color:#ad7a86;font:35px 'Playfair Display',serif}.steps p{color:var(--muted)}.eventcards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.event{background:white;border:1px solid #ecdde1;padding:30px;display:flex;flex-direction:column;box-shadow:0 9px 25px #97727e10}.eventnum{font-size:25px;color:#bc90a0}.event p{color:var(--muted);font-size:13px;flex:1}.eventbottom{border-top:1px solid #ecdee1;padding-top:16px;display:flex;justify-content:space-between;gap:15px;align-items:center}.eventbottom strong{font-size:12px}.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-bottom:32px}.filters button{border:1px solid #dfcbd1;background:white;color:#4e3c45;padding:10px 17px;cursor:pointer;font-size:12px}.filters button.active{background:#3a2831;color:white}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tile{aspect-ratio:3/4;border:0;padding:0;overflow:hidden;cursor:pointer;background:#e8e1e2}.tile img{height:100%;width:100%;object-fit:cover;transition:transform .3s}.tile:hover img{transform:scale(1.05)}.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;background:#170e13ee;display:flex;justify-content:center;align-items:center;padding:40px;z-index:99}.lightbox img{max-width:100%;max-height:90vh;object-fit:contain}.lightbox button{position:absolute;right:20px;top:10px;border:0;background:transparent;color:white;font-size:40px;cursor:pointer}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contactgrid p{color:var(--muted)}.formcard{padding:35px;background:#fff;border:1px solid #eedfe4}.formcard label{display:block;font-size:12px;font-weight:700;margin-bottom:15px}.formcard input,.formcard select,.formcard textarea{display:block;width:100%;padding:12px;border:1px solid #dfd0d5;background:#fff;margin-top:6px}.tiny{font-size:11px;color:var(--muted)}footer{background:#30252c;color:white;padding:60px 5% 25px}.footgrid{max-width:1300px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:35px}.footgrid p{color:#e5d5da;font-size:12px}.footgrid strong{font-size:12px}.footbottom{max-width:1300px;margin:20px auto 0;padding-top:20px;border-top:1px solid #5a4751;font-size:11px;color:#d6c5ce;display:flex;justify-content:space-between;gap:16px}.light small{color:#d8b9c5}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b67294;outline-offset:3px}@media(max-width:1100px){.navwrap nav{gap:9px}.navwrap nav a{font-size:10px}.navcta{display:none}.products{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.menubtn{display:block;margin-left:auto}.navwrap nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fffdfb;box-shadow:0 15px 25px #0001;padding:23px;flex-direction:column;align-items:stretch}.navwrap nav.show{display:flex}.navwrap nav a{padding:8px;font-size:12px}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:55px 7%}.hero-photo{min-height:560px}.features,.eventcards,.steps{grid-template-columns:repeat(2,1fr)}.products{grid-template-columns:repeat(2,1fr)}.photo-grid{grid-template-columns:repeat(3,1fr)}.contactgrid{gap:30px}}@media(max-width:600px){.topline{font-size:9px;letter-spacing:.06em}.navwrap{padding:14px 22px}.hero{display:flex;flex-direction:column-reverse}.hero-photo{height:400px;min-height:400px}.hero-copy{padding:45px 27px}.hero h1{font-size:59px}.section{padding:60px 20px}.features,.eventcards,.steps,.products,.contactgrid,.footgrid{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.imagearea img{height:390px;min-height:390px}.contentarea{padding:55px 25px}.trio{gap:6px}.trio img{height:220px}.product>img{height:450px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:7px}.eventbottom{align-items:flex-start}.pagehero{padding:75px 22px}.footbottom{display:block}.contactgrid{gap:25px}}
.service-towns{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.service-towns span{border:1px solid #e6d6dd;padding:8px 13px;background:#fff;font-size:12px;color:#634e59}

/* Champagne silver-and-gold glitter detailing */
:root{--magnolia-silver:#e4e5ed;--magnolia-gold:#d4ad56}
.hide-field{display:none!important}
.eyebrow:before{content:'✦';color:#c3c6d2;text-shadow:0 0 5px #fff}
.eyebrow:after{content:'✧';color:#d4ad56;text-shadow:0 0 5px #f6e2a2}
.topline{background:linear-gradient(100deg,#372a32,#4a3540,#332830);border-bottom:1px solid #bca37c}
.wordmark{background:linear-gradient(105deg,#33252c 15%,#a78345 42%,#737783 70%,#372630 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.wordmark.light{color:#fff;background:none;-webkit-background-clip:initial;background-clip:initial}
.hero-copy:before,.pagehero:before{content:'✧     ✦      ✧          ✦      ✧';font-size:16px;letter-spacing:1.5em;display:block;color:#d2ad62;text-shadow:0 0 8px #fafafa;margin-bottom:16px;opacity:.78}
.pagehero:before{text-align:center}
.banner:before{background:linear-gradient(90deg,#eff0f3,#e7c677,#fff,#c5c9d5);-webkit-background-clip:text;background-clip:text;color:transparent}
.button:focus-visible,.formcard select:focus-visible,.formcard textarea:focus-visible{outline:3px solid #d0ae64;outline-offset:3px}
.formcard{position:relative;box-shadow:0 12px 45px #a8868c15}
.formcard:before{content:'✦ ✧ ✦';position:absolute;right:27px;top:20px;letter-spacing:.75em;font-size:12px;background:linear-gradient(90deg,#c4c8d0,#ccaa61,#efeff2);-webkit-background-clip:text;background-clip:text;color:transparent}
.feature,.product,.event{border-top:2px solid transparent;border-image:linear-gradient(90deg,#d6d7e0,#d2ad62,#f9f8f7) 1}
.mouse-sparkle{position:fixed;z-index:9999;pointer-events:none;user-select:none;font-size:13px;text-shadow:0 0 4px #ffffffee,0 0 8px #d1b67c;transform:translate(-50%,-50%);animation:magnoliaTwinkle .85s ease-out forwards}
@keyframes magnoliaTwinkle{0%{opacity:0;transform:translate(-50%,-50%) scale(.25) rotate(0)}25%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--drift-x)),calc(-50% + var(--drift-y))) scale(.25) rotate(var(--rot))}}
@media(prefers-reduced-motion:reduce){.mouse-sparkle{display:none!important}}

/* New occasion landing pages; original brand theme and copy retained */
.page-content-steps{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:35px}
.occasion-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;max-width:900px;margin:30px auto 5px}
.occasion-links a{background:#fff;border:1px solid #e8d8df;padding:14px 22px;font-size:12px;font-weight:700;color:#68515c}
.occasion-links a:hover{border-color:#d4ad56;color:#9a7151}
.expanded-service-links{max-width:1300px;margin:0 auto 30px;padding-bottom:26px;border-bottom:1px solid #57444f}
.expanded-service-links strong{display:block;font-size:12px;letter-spacing:.08em;margin-bottom:10px}
.expanded-service-links div{display:flex;gap:9px 22px;flex-wrap:wrap}
.expanded-service-links a{font-size:12px;color:#e8d9df}
.expanded-service-links a:hover{text-decoration:underline}
@media(max-width:650px){.page-content-steps{grid-template-columns:1fr}}
