:root{--ivory:#fff7f5;--cream:#f8dfe0;--blush:#e8bfc0;--rose:#b86f78;--burgundy:#6b2638;--deep:#4c1228;--ink:#4d3036;--muted:#795f65;--white:#fff;--shadow:rgba(107,31,50,.10)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:var(--ivory);overflow-x:hidden;line-height:1.5}
body,button,a{font-size:18px}
img{display:block;max-width:100%;width:100%;height:auto}
a{text-decoration:none;color:inherit}
button{font:inherit}
.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.skip-link{position:fixed;left:12px;top:-60px;z-index:2000;background:var(--burgundy);color:#fff;padding:10px 14px;border-radius:0 0 8px 8px;transition:top .2s}
.skip-link:focus{top:0}
.header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:17px 0;background:rgba(255,247,245,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:box-shadow .3s,padding .3s}
.header.scrolled{box-shadow:0 8px 25px rgba(90,20,38,.08);padding-block:12px}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:50px}
.brand{display:flex;align-items:center;gap:10px;color:#651d32;min-width:0}
.brand-flower{font-size:34px;line-height:1}
.brand b{display:block;font:600 22px/1 "Cormorant Garamond",serif;letter-spacing:.08em}
.brand small{display:block;font-size:7px;letter-spacing:.22em;margin-top:4px;white-space:nowrap}
.nav{display:flex;align-items:center;gap:28px;font-size:11px;color:#612337}
.nav a:not(.nav-cta){padding:9px 0}
.nav a:not(.nav-cta):hover,.nav a:focus-visible{color:#9d3c57}
.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#701d38;color:#fff;padding:14px 20px;border-radius:30px;font-size:11px;font-weight:600;transition:transform .3s,background .3s}
.nav-cta:hover,.button:hover{background:#4d1428;transform:translateY(-2px)}
.nav-cta:focus-visible,.button:focus-visible,.menu:focus-visible,.floating:focus-visible{outline:3px solid #d8879b;outline-offset:3px}
.menu{display:none;border:0;background:transparent;cursor:pointer;padding:7px;border-radius:8px}
.menu i{display:block;width:25px;height:2px;background:#701d38;margin:5px;border-radius:2px}
.hero{position:relative;background:linear-gradient(110deg,#fff2f1 0%,#f8dfe0 48%,#efd0d3 100%);overflow:hidden;padding-top:105px}
.hero-grid{display:grid;grid-template-columns:1fr 1.1fr;min-height:505px;align-items:center}
.hero-copy{padding:50px 0 65px}
.eyebrow{font-size:10px;letter-spacing:.25em;color:#721d38;font-weight:700}
.eyebrow span{margin:0 8px}
.hero h1{font:500 clamp(65px,7vw,105px)/.86 "Cormorant Garamond",serif;color:#691c32;margin:25px 0 20px;letter-spacing:-.045em}
.hero h1 em{font-style:italic;color:#b03e5d;font-weight:400}
.lead{max-width:520px;font-size:15px;line-height:1.7;color:#583c42}
.hero .button{margin-top:27px}
.trust{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;font-size:9px;color:#603c43}
.hero-image{position:relative;height:505px;overflow:hidden}
.hero-image img{height:100%;object-fit:cover;object-position:center}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f7dfe0 0%,transparent 20%);pointer-events:none}
.hero-script{position:absolute;z-index:2;right:2%;top:28%;font:italic 42px/1.05 "Cormorant Garamond",serif;color:#671d33}
.hero-script em{font-weight:400}
.hero-script b{display:block;font:28px "DM Sans";text-align:center;color:#a53b56}
.hero-petal{position:absolute;color:#e8aab3;font-size:90px;opacity:.45;pointer-events:none}
.petal-left{left:-15px;bottom:10px}.petal-right{right:-10px;bottom:5px}
.section{padding:72px 0}
.services,.gallery{background:#fff9f7}
.section-title{text-align:center;margin-bottom:35px}
.section-title h2{font:500 clamp(38px,4.5vw,58px)/1 "Cormorant Garamond",serif;color:#691c32;margin:12px 0}
.section-title h2 span{color:#b03e5d;font-size:.65em}
.section-title>p:last-child{font-size:13px;color:#725b61}
.eyebrow.centered{display:block}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.service{background:#fff;border:1px solid #f0d8d8;border-radius:8px;overflow:hidden;box-shadow:0 8px 22px var(--shadow);transition:transform .35s,box-shadow .35s}
.service:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(107,31,50,.13)}
.service img{height:130px;object-fit:cover;transition:transform .6s}
.service:hover img{transform:scale(1.06)}
.service div{padding:14px 14px 17px}
.service h3{font:600 17px/1.05 "Cormorant Garamond",serif;color:#641c31}
.service p{font-size:12px;color:#795f65;margin:5px 0 12px}
.service a{font-size:12px;color:#8e2e49}
.why{padding:75px 0;background:#f9dfe0}
.why-grid{display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:70px}
.lily-card{position:relative;width:100%;max-width:400px;margin:auto}
.lily-card img{height:240px;object-fit:cover;border-radius:50%;box-shadow:0 18px 35px rgba(100,29,48,.14)}
.lily-badge{position:absolute;right:-5px;top:65px;width:130px;height:130px;border-radius:50%;background:#741f3b;color:#fff;display:grid;place-content:center;text-align:center;font-size:11px;line-height:1.25}
.lily-badge strong{font:500 25px "Cormorant Garamond",serif}
.why-copy h2{font:500 clamp(40px,4vw,58px)/.85 "Cormorant Garamond",serif;color:#671c32;margin:14px 0 30px}
.features{display:grid;grid-template-columns:repeat(4,1fr)}
.features div{border-left:1px solid #dfb9bc;padding:8px 20px}.features b{display:block;font-size:28px;color:#761e3a;margin-bottom:14px}.features strong{font-size:10px;line-height:1.5;font-weight:500}
.palette{background:#67172f;color:#fff;padding:35px 0;overflow:hidden}
.palette-grid{display:grid;grid-template-columns:180px 1fr 370px;align-items:center;gap:35px}
.swatches{display:flex;gap:6px}.swatches i{width:20px;height:20px;border-radius:50%;border:1px solid #fff}.swatches i:nth-child(1){background:#f6e1df}.swatches i:nth-child(2){background:#e5bfc2}.swatches i:nth-child(3){background:#c98291}.swatches i:nth-child(4){background:#b14664}.swatches i:nth-child(5){background:#8e2949}.swatches i:nth-child(6){background:#640f2e}.swatches i:nth-child(7){background:#4c1429}
.palette h2{font:500 34px "Cormorant Garamond",serif;margin:7px 0}.palette p:not(.eyebrow){font-size:11px;color:#e5c9ce;max-width:420px;line-height:1.6}.palette img{height:145px;object-fit:cover;object-position:center;border-radius:100px 0 0 100px}
.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.gallery-grid img{height:100px;object-fit:cover;border-radius:7px;transition:transform .5s}.gallery-grid img:hover{transform:scale(1.04)}
.booking{background:#f8dfe0;border-top:1px solid #edc5c7;border-bottom:1px solid #edc5c7;padding:35px 0}.booking-grid{display:grid;grid-template-columns:1fr 1.6fr 1fr;align-items:center;text-align:center;gap:20px}.book-script{font:italic 37px/1 "Cormorant Garamond",serif;color:#6c1c34}.booking h2{font:600 20px "Cormorant Garamond",serif;color:#651c31}.booking p{font-size:9px;margin:5px 0 12px;color:#815e65}.light-button{padding:12px 18px}.phone{display:grid;grid-template-columns:auto 1fr;text-align:left;gap:3px 10px;justify-content:center}.phone span{grid-row:1/4;color:#741f3b;font-size:26px}.phone small{font-size:8px}.phone strong{font-size:13px;color:#641c31}.phone em{font-size:8px;color:#8a6a70}
footer{background:#4c1228;color:#d9bfc4;padding:25px 0 15px}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.13);padding-bottom:22px}.footer-brand{color:#f4dce0}.footer-main nav{display:flex;justify-content:center;gap:22px;font-size:9px}.footer-main>span{text-align:right;font:italic 15px "Cormorant Garamond",serif}.footer-bottom{display:flex;justify-content:space-between;font-size:8px;padding-top:13px;color:#a9878e}
.floating{position:fixed;right:18px;bottom:18px;z-index:999;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#20b957;color:white;font-size:25px;box-shadow:0 8px 25px #0003}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}.delay{transition-delay:.15s}
@media(max-width:1050px){.nav{gap:17px}.service-grid{grid-template-columns:repeat(2,1fr)}.why-grid{gap:45px}.palette-grid{grid-template-columns:160px 1fr 300px}}
@media(max-width:900px){
  .container{width:min(100% - 36px,720px)}
  .nav{gap:15px}
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:48px 0 30px}
  .hero-image{height:430px}
  .hero-image img{object-position:center 45%}
  .palette-grid{grid-template-columns:1fr 1.5fr}.palette img{display:none}
  .features{grid-template-columns:repeat(2,1fr);gap:15px}
  .booking-grid{grid-template-columns:1fr 1fr}.phone{grid-column:1/-1;justify-self:center}
  .footer-main{grid-template-columns:1fr;text-align:center;gap:16px}.footer-main>span{text-align:center}
}
@media(max-width:680px){
  html{scroll-padding-top:72px}
  .container{width:calc(100% - 28px)}
  .header{padding:10px 0}
  .header.scrolled{padding-block:9px}
  .brand{gap:7px}.brand-flower{font-size:28px}.brand b{font-size:19px}.brand small{font-size:5.5px;letter-spacing:.18em}
  .menu{display:block}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff7f5;padding:14px 16px 18px;box-shadow:0 15px 25px #4c12281a;flex-direction:column;align-items:stretch;gap:2px;border-top:1px solid #efd9d9}
  .nav.open{display:flex}.nav a:not(.nav-cta){padding:12px 10px;font-size:13px;border-radius:7px}.nav a:not(.nav-cta):hover{background:#f9e4e4}.nav-cta{text-align:center;margin-top:8px;padding:14px 12px}
  .hero{padding-top:70px}.hero-copy{padding:40px 0 25px}.eyebrow{font-size:8px;letter-spacing:.18em}.eyebrow span{margin:0 4px}
  .hero h1{font-size:clamp(56px,17vw,76px);line-height:.86;margin:19px 0 17px}.lead{font-size:14px;line-height:1.65}.hero .button{width:100%;margin-top:22px;padding:14px 16px;font-size:11px}.trust{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:22px;font-size:8px}.hero-image{height:330px}.hero-script{font-size:31px;right:6%;top:18%}.hero-petal{font-size:60px}
  .section{padding:58px 0}.section-title{margin-bottom:27px}.section-title h2{font-size:44px}.section-title>p:last-child{font-size:12px}.service-grid{grid-template-columns:1fr;gap:15px}.service{display:grid;grid-template-columns:120px 1fr;min-height:145px}.service img{height:100%;min-height:145px}.service div{padding:17px 15px}.service h3{font-size:19px}.service p{font-size:10px;margin:6px 0 10px}
  .why{padding:58px 0}.why-grid{grid-template-columns:1fr;gap:35px}.lily-card{max-width:330px}.lily-card img{height:220px}.lily-badge{width:112px;height:112px;top:55px;right:-3px}.lily-badge strong{font-size:22px}.why-copy h2{font-size:45px;margin-bottom:24px}.features{grid-template-columns:1fr 1fr;gap:10px}.features div{padding:8px 12px}.features b{font-size:24px;margin-bottom:9px}.features strong{font-size:9px}
  .palette{padding:30px 0}.palette-grid{grid-template-columns:1fr;gap:17px}.swatches{justify-content:center}.palette-grid>div:nth-child(2){text-align:center}.palette h2{font-size:31px}.palette p:not(.eyebrow){margin-inline:auto}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}.gallery-grid img{height:140px}.gallery-grid img:nth-child(3){grid-column:1}.gallery-grid img:nth-child(4){grid-column:2}
  .booking{padding:34px 0}.booking-grid{grid-template-columns:1fr;gap:22px}.book-script{font-size:35px}.booking h2{font-size:23px}.booking p{font-size:9px}.light-button{width:100%;max-width:300px}.phone{grid-column:auto;justify-self:center}
  .footer-main{padding-bottom:18px}.footer-main nav{flex-wrap:wrap;gap:10px 17px}.footer-bottom{flex-direction:column;text-align:center;gap:7px;font-size:8px}.floating{right:14px;bottom:14px;width:50px;height:50px}
}
@media(max-width:380px){.brand small{display:none}.hero h1{font-size:53px}.trust{grid-template-columns:1fr}.service{grid-template-columns:105px 1fr}.service img{min-height:150px}.features{grid-template-columns:1fr}.gallery-grid img{height:120px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.service,.service img,.gallery-grid img,.button,.nav-cta{transition:none}}
