:root{
  --cream:#fff7f8;
  --cream-2:#f9e9ec;
  --brown:#D58A94;
  --brown-2:#bd6f79;
  --gold:#E8BBC1;
  --rose:#f2d5d9;
  --dark:#382126;
  --white:#fffafb;
  --muted:#765f64;
  --shadow:0 22px 60px rgba(213,138,148,.16);
  --radius:28px;
  --heading:'Cormorant Garamond', serif;
  --body:'Manrope', sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--cream);color:var(--dark);line-height:1.7;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.container{width:min(1400px,92%);margin-inline:auto}
.section{padding:110px 0}.section-offset{padding:0 0 80px}.section-heading{text-align:center;margin-bottom:45px}.section-heading h2,.section-copy h2,.video-card h1,.video-card h2,.appointment-card h2,.final-cta h2,.testimonials h2,.benefits h2{font-family:var(--heading);font-size:clamp(2.6rem,5vw,5rem);line-height:.95;color:var(--brown)}
.eyebrow{color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;margin-bottom:14px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--brown);color:#fff;padding:15px 28px;font-weight:700;box-shadow:var(--shadow);transition:.25s ease;cursor:pointer}.btn:hover{background:var(--gold);transform:translateY(-2px)}.btn--small{padding:10px 20px;font-size:.9rem}.btn--light{background:var(--white);color:var(--brown)}
.socials{display:flex;gap:12px}.socials a{opacity:.85}.site-header{position:relative;top:auto;background:rgba(255,247,248,.90);backdrop-filter:blur(16px);z-index:50;border-bottom:1px solid rgba(213,138,148,.10)}.nav{min-height:86px;height:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.logo{font-family:var(--heading);font-size:2rem;font-weight:700;color:var(--brown)}.logo span{color:var(--gold)}.menu{display:flex;gap:30px;font-weight:700;color:var(--brown);justify-self:center}.menu a{position:relative}.menu a:after{content:"";position:absolute;height:2px;width:0;left:0;bottom:-8px;background:var(--gold);transition:.25s}.menu a:hover:after{width:100%}.nav__actions{display:flex;align-items:center;gap:12px;justify-self:end}.icon-btn,.hamburger{border:0;background:var(--white);color:var(--brown);border-radius:50%;width:42px;height:42px;cursor:pointer}.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px}.hamburger span{width:18px;height:2px;background:var(--brown)}
.hero{position:relative;min-height:780px;display:flex;align-items:center;overflow:hidden;background:var(--brown);isolation:isolate}.hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:-2}.hero__overlay{position:absolute;inset:0;background:rgba(8,7,7,.50);z-index:-1}.hero__content{position:relative;padding:150px 0;max-width:820px;text-align:center;margin-inline:auto}.hero__content .eyebrow{color:var(--gold)}.hero__content h1{font-family:var(--heading);font-size:clamp(4rem,8vw,8.4rem);line-height:.82;color:var(--white);margin-bottom:26px;text-shadow:0 12px 35px rgba(0,0,0,.22)}.hero__content p:not(.eyebrow){max-width:650px;color:rgba(255,255,255,.86);font-size:1.1rem;margin:0 auto 34px}.hero__actions{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}.hero .btn{box-shadow:0 14px 35px rgba(0,0,0,.18);color:#080707}.hero .btn--light{color:#080707}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:-70px;position:relative;z-index:5}.feature-card{background:var(--white);padding:38px;border-radius:var(--radius);box-shadow:var(--shadow);transition:.25s}.feature-card:hover{transform:translateY(-8px)}.feature-card__icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--cream-2);color:var(--brown);font-size:1.6rem;margin-bottom:20px}.feature-card h3,.service-card h3,.blog-card h3,.footer h3{font-family:var(--heading);font-size:1.8rem;color:var(--brown);line-height:1.1}.feature-card p{color:var(--muted)}.feature-card__icon--image{background:transparent;overflow:hidden;width:64px;height:64px}.feature-card__icon--image img{width:64px;height:64px;object-fit:contain;border-radius:50%;display:block}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.two-col--reverse{grid-template-columns:1fr 1fr}.image-stack{position:relative;min-height:600px}.image-stack__main{height:560px;width:78%;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.image-stack__small{position:absolute;right:0;bottom:20px;width:46%;height:270px;object-fit:cover;border:12px solid var(--cream);border-radius:var(--radius);box-shadow:var(--shadow)}.signature-card{position:absolute;left:35px;bottom:55px;background:var(--white);padding:22px 30px;border-radius:20px;color:var(--muted);box-shadow:var(--shadow)}.signature-card strong{font-family:var(--heading);font-size:1.8rem;color:var(--brown)}.section-copy>p:not(.eyebrow){color:var(--muted);margin:24px 0}.benefit-list{display:grid;gap:18px;margin:28px 0}.benefit-list div{display:grid;grid-template-columns:auto 1fr;gap:0 14px}.benefit-list span{grid-row:span 2;color:var(--gold);font-size:1.5rem}.benefit-list strong{color:var(--brown)}.benefit-list p{color:var(--muted)}
.video-banner{background:url('../images/cta-candles-bg.png') center center/cover fixed;position:relative}.video-banner:before{content:"";position:absolute;inset:0;background:rgba(8,7,7,.4)}.video-card{position:relative;color:#fff;text-align:center;padding:110px 30px;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center}.video-card h1{color:#fff;max-width:900px;margin:0 auto 10px}.video-card h2{color:#fff;max-width:900px;margin:0 auto 32px;font-size:clamp(2rem,3.6vw,3.9rem);line-height:1.05}.video-card .btn{color:#080707}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;height:100%}.service-card img{height:230px;width:100%;object-fit:cover}.service-card h3{padding:24px 22px 8px}.service-card p{padding:0 22px 18px;color:var(--muted);font-size:.96rem;line-height:1.72}.service-card a{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;margin:14px 22px 26px;padding:14px 28px;min-width:150px;border-radius:999px;background:var(--brown);color:#080707;font-weight:700;line-height:1;box-shadow:var(--shadow);transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}.service-card a:hover{background:var(--gold);color:#080707;transform:translateY(-2px);box-shadow:0 18px 44px rgba(213,138,148,.22)}.cta-line{background:var(--cream-2);padding:42px 0}.cta-line__inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.cta-line h3{font-family:var(--heading);font-size:2.5rem;color:var(--brown)}.rounded-img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow);object-fit:cover}.testimonial-list{display:grid;gap:18px;margin-top:25px}.testimonial-card{background:var(--white);padding:24px;border-radius:22px;box-shadow:var(--shadow)}.testimonial-card p{color:var(--muted);margin-bottom:14px}.testimonial-card span{display:block;color:var(--gold)}.benefits{background:var(--white)}.benefit-pill{display:flex;gap:18px;background:var(--cream);padding:22px;border-radius:22px;margin-top:18px}.benefit-pill span{color:var(--gold);font-size:1.8rem}.benefit-pill p{color:var(--muted)}.insta-grid{display:grid;grid-template-columns:repeat(6,1fr)}.insta-grid a{position:relative;overflow:hidden}.insta-grid img{height:240px;width:100%;object-fit:cover;transition:.35s}.insta-grid span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(213,138,148,.58);color:#fff;font-size:2rem;opacity:0;transition:.25s}.insta-grid a:hover img{transform:scale(1.08)}.insta-grid a:hover span{opacity:1}.appointment-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;background:var(--white);padding:56px;border-radius:var(--radius);box-shadow:var(--shadow)}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form input,.booking-form select,.booking-form textarea,.newsletter input{border:1px solid rgba(213,138,148,.18);background:var(--cream);padding:15px 18px;border-radius:16px;color:var(--dark);outline:none}.booking-form textarea{grid-column:1/-1;min-height:120px}.booking-form .btn{grid-column:1/-1}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.blog-card{position:relative;background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.blog-card img{height:260px;width:100%;object-fit:cover}.blog-card>span{position:absolute;top:18px;left:18px;background:var(--gold);color:#fff;padding:10px 14px;border-radius:14px;font-weight:700}.blog-card div{padding:26px}.blog-card small{color:var(--muted)}.blog-card a{color:var(--gold);font-weight:700}.final-cta{background:linear-gradient(rgba(213,138,148,.84),rgba(213,138,148,.84)),url('https://images.unsplash.com/photo-1515377905703-c4788e51af15?auto=format&fit=crop&w=1600&q=80') center/cover;padding:88px 0;text-align:center;color:#fff}.final-cta h2{color:#fff;max-width:780px;margin:10px auto 28px}.final-cta p{text-transform:uppercase;letter-spacing:.14em;color:var(--gold)}.footer{background:var(--dark);color:#d9c8bd;padding:80px 0 26px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px}.footer a{display:block;margin:8px 0}.logo--footer{color:#fff}.newsletter{display:flex;background:var(--cream);border-radius:999px;overflow:hidden}.newsletter input{border:0;flex:1;border-radius:0}.newsletter button{border:0;background:var(--gold);color:#fff;padding:0 18px}.footer-bottom{margin-top:45px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);text-align:center;font-size:.9rem}.back-to-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border:0;border-radius:50%;background:var(--gold);color:#fff;box-shadow:var(--shadow);cursor:pointer;opacity:0;pointer-events:none;transition:.25s;z-index:80}.back-to-top.show{opacity:1;pointer-events:auto}.modal{position:fixed;inset:0;background:rgba(0,0,0,.58);display:none;place-items:center;z-index:100}.modal.show{display:grid}.modal__box{width:min(560px,90%);background:#fff;padding:44px;border-radius:24px;position:relative}.modal__box button{position:absolute;right:18px;top:14px;border:0;background:none;font-size:2rem;cursor:pointer}
@media (max-width:1000px){.menu{position:absolute;left:4%;right:4%;top:86px;background:var(--white);border-radius:22px;padding:22px;box-shadow:var(--shadow);display:none;flex-direction:column}.menu.show{display:flex}.hamburger{display:flex}.hero{min-height:680px}.hero__content{padding:120px 0;max-width:650px}.two-col,.appointment-card{grid-template-columns:1fr}.feature-grid,.blog-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.insta-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.section{padding:74px 0}.hero{min-height:620px}.hero__overlay{background:rgba(8,7,7,.50)}.hero__content{padding:95px 0;text-align:center}.hero__actions{gap:12px}.hero__content h1{font-size:clamp(3.2rem,16vw,5.3rem)}.nav .btn--small,.icon-btn{display:none}.cta-line__inner{flex-direction:column;text-align:center}.service-grid,.footer-grid,.booking-form{grid-template-columns:1fr}.insta-grid{grid-template-columns:repeat(2,1fr)}.appointment-card{padding:28px}.image-stack{min-height:auto}.image-stack__main{width:100%;height:430px}.image-stack__small,.signature-card{position:relative;right:auto;left:auto;bottom:auto;width:80%;margin:-80px 0 0 auto}.signature-card{width:auto;margin:18px 0 0}}

/* Heading color update */
.section-heading h2,
.section-copy h2,
.appointment-card h2,
.testimonials h2,
.benefits h2,
.feature-card h3,
.service-card h3,
.blog-card h3,
.footer h3,
.cta-line h3,
.benefit-list strong,
.signature-card strong,
.logo,
.menu,
.eyebrow{
  color:#343132;
}

/* Keep headings readable on image/dark overlay sections */
.hero__content h1,
.video-card h2,
.video-card .eyebrow,
.final-cta h2,
.final-cta p,
.footer .logo,
.logo--footer{
  color:#fff;
}

/* Global large heading color update */
.section-heading h2,
.section-copy h2,
.appointment-card h2,
.testimonials h2,
.benefits h2,
.cta-line h3,
.feature-card h3,
.service-card h3,
.blog-card h3,
.footer h3,
.signature-card strong{
  color:#D58A94;
}

/* Keep overlay and footer headings readable */
.hero__content h1,
.video-card h2,
.final-cta h2,
.footer .logo,
.logo--footer{
  color:#fff;
}

/* Logo image replacement */
.logo--image{
  display:inline-flex;
  align-items:center;
  line-height:1;
}
.logo--image img{
  display:block;
  width:auto;
  height:64px;
  max-width:240px;
  object-fit:contain;
}
.logo--footer.logo--image{
  background:transparent;
  padding:0;
  border-radius:0;
  margin-bottom:14px;
}
.logo--footer.logo--image img{
  height:auto;
  width:100%;
  max-width:360px;
  object-fit:contain;
}
@media (max-width:640px){
  .logo--image img{height:52px;max-width:190px;}
  .logo--footer.logo--image img{height:auto;max-width:280px;}
}

/* Header logo resize update */
.site-header .nav{
  min-height:120px;
  height:auto;
  padding-top:0;
  padding-bottom:0;
}
.site-header .logo--image img{
  height:120px;
  width:auto;
  max-width:calc(120px * 2048 / 996);
  object-fit:contain;
}
@media (max-width:640px){
  .site-header .nav{
    min-height:90px;
    padding-top:0;
    padding-bottom:0;
  }
  .site-header .logo--image img{
    height:90px;
    max-width:calc(90px * 2048 / 996);
  }
}


/* Header scroll behavior update: header now moves with the page */
.site-header{
  position:relative;
  top:auto;
}


/* Footer layout update: newsletter removed and spacing balanced */
.footer-grid{
  grid-template-columns:1.45fr .9fr 1.1fr;
  gap:64px;
  align-items:start;
}
.logo--footer.logo--image img{
  max-width:288px;
}
.footer-grid > div:first-child p{
  max-width:360px;
}
.footer h3{
  margin-bottom:14px;
}
.footer p{
  margin:6px 0;
}
.footer .socials{
  margin-top:12px;
}
@media (max-width:1000px){
  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:42px;
  }
}
@media (max-width:620px){
  .footer-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  .logo--footer.logo--image img{
    max-width:260px;
  }
}

/* About section layout */
.about .two-col{
  grid-template-columns:minmax(0, 2fr) minmax(0, 3fr);
  gap:40px;
}
.about .image-stack,
.about .section-copy{
  min-width:0;
}

@media (max-width:1000px){
  .about .two-col{
    grid-template-columns:1fr;
  }
}



/* Hero heading two-line layout update */
.hero__content{
  max-width:1200px;
}
.hero-title-line{
  display:block;
  white-space:nowrap;
}
@media (max-width:620px){
  .hero-title-line{
    white-space:normal;
  }
}


/* Hero subheading controlled line break */
.hero-subheading span{
  white-space:nowrap;
}
@media (max-width:620px){
  .hero-subheading span{
    white-space:normal;
  }
}

/* Why Choose Us section layout */
.benefits .two-col{
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:80px;
}
.benefits .section-copy,
.benefits .rounded-img{
  min-width:0;
}
.benefits .rounded-img{
  width:100%;
  height:100%;
  max-height:720px;
  object-fit:cover;
}
.why-feature-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  margin-top:28px;
}
.why-feature-col{
  display:grid;
  gap:18px;
}
.why-feature-grid .benefit-pill{
  height:100%;
  margin-top:0;
}
@media (max-width:1000px){
  .benefits .two-col{
    grid-template-columns:1fr;
    gap:42px;
  }
  .benefits .rounded-img{
    max-height:560px;
  }
}
@media (max-width:720px){
  .why-feature-grid{
    grid-template-columns:1fr;
  }
}


/* Why Choose Us heading and feature block refinements */
.benefits h2 .heading-line{
  display:block;
}
.why-feature-grid{
  gap:16px;
}
.why-feature-col{
  gap:10px;
}
.why-feature-grid .benefit-pill{
  background:#F9E9EC;
  border:1px solid #343132;
  border-radius:22px;
}

/* Service card button alignment update */
.service-card a{
  margin-top:auto;
}
.service-card p{
  padding-bottom:22px;
}


/* Custom Candle Inspiration image crop adjustments */
.insta-grid img{object-position:center center;}
.insta-grid a:nth-child(2) img{object-position:center center;}
.insta-grid a:nth-child(3) img{object-position:center 45%;}
.insta-grid a:nth-child(4) img{object-position:center 50%;}
.insta-grid a:nth-child(5) img{object-position:center center;}
.insta-grid a:nth-child(6) img{object-position:center center;}

/* Custom Candle Inspiration spacing and rounded image corners */
.insta-grid{
  gap:20px;
}
.insta-grid a,
.insta-grid img{
  border-radius:22px;
}
.insta-grid a{
  overflow:hidden;
}

/* Testimonial section */
.testimonials{
  background:var(--cream);
}
.testimonials .two-col{
  grid-template-columns:minmax(0, 40%) minmax(0, 60%);
  gap:80px;
  align-items:center;
}
.testimonials .rounded-img{
  width:100%;
  height:520px;
  object-fit:cover;
  border-radius:28px;
}
.testimonials h2{
  max-width:none;
  margin-bottom:30px;
  white-space:nowrap;
}
.testimonial-list{
  gap:24px;
  margin-top:30px;
}
.testimonial-card{
  padding:30px 34px;
  border-radius:24px;
  border:1px solid rgba(52,49,50,.12);
  box-shadow:0 22px 60px rgba(52,49,50,.10);
}
.testimonial-card p{
  font-size:1.02rem;
  line-height:1.75;
}
.testimonial-card strong{
  display:block;
  margin-bottom:8px;
  color:#080707;
}
@media (max-width:1000px){
  .testimonials .two-col{
    grid-template-columns:1fr;
    gap:42px;
  }
  .testimonials .rounded-img{
    height:440px;
  }
}
@media (max-width:720px){
  .testimonials h2{white-space:normal;}
  .testimonial-card{
    padding:24px;
  }
  .testimonials .rounded-img{
    height:340px;
  }
}


/* Occasion banner 3-column section */
.occasion-strip{
  width:100%;
  background:linear-gradient(180deg, var(--cream) 0%, #fff9fa 48%, var(--cream) 100%);
  padding:40px 0 40px;
}
.occasion-strip__grid{
  width:100%;
  display:grid;
  grid-template-columns:20% 60% 20%;
  align-items:center;
}
.occasion-strip__block{
  min-height:210px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.occasion-strip__block--side{
  background:radial-gradient(circle at center, rgba(249,233,236,.78) 0%, rgba(255,247,248,.82) 48%, rgba(255,247,248,0) 78%);
}
.occasion-strip__block--image{
  padding:0 18px;
}
.occasion-strip__block--image img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 18px 38px rgba(213,138,148,.13));
}
@media (max-width:900px){
  .occasion-strip{padding:28px 0 28px;}
  .occasion-strip__grid{grid-template-columns:10% 80% 10%;}
  .occasion-strip__block{min-height:160px;}
  .occasion-strip__block--image{padding:0 12px;}
}
@media (max-width:620px){
  .occasion-strip{padding:24px 0 24px;}
  .occasion-strip__grid{grid-template-columns:1fr;}
  .occasion-strip__block--side{display:none;}
  .occasion-strip__block{min-height:auto;}
  .occasion-strip__block--image{padding:0 18px;}
}

/* Bring the About section closer to the occasion banner */
.occasion-strip + .about.section{
  padding-top:40px;
}
@media (max-width:900px){
  .occasion-strip + .about.section{
    padding-top:34px;
  }
}
@media (max-width:620px){
  .occasion-strip + .about.section{
    padding-top:28px;
  }
}

/* Site-wide fixed floral background overlay */
body{
  position:relative;
  background:var(--cream);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  background:url('../images/site-background-overlay.png') center center / cover no-repeat;
  opacity:.40;
  pointer-events:none;
  z-index:0;
}
body > *{
  position:relative;
  z-index:1;
}

/* Match Get To Know Us CTA with hero Our Products button */
.about .section-copy .btn{
  color:#080707;
  box-shadow:0 14px 35px rgba(0,0,0,.18);
}
.about .section-copy .btn:hover{
  color:#080707;
  background:var(--gold);
  transform:translateY(-2px);
}

/* Custom Candle Inspiration 20 / 60 / 20 mosaic layout */
.insta-grid--mosaic{
  display:grid;
  grid-template-columns:minmax(0, 20fr) minmax(0, 60fr) minmax(0, 20fr);
  gap:20px;
  align-items:stretch;
}
.insta-grid--mosaic .insta-grid__col{
  display:grid;
  grid-template-rows:repeat(3, 1fr);
  gap:20px;
  min-height:640px;
}
.insta-grid--mosaic a{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:22px;
  min-height:0;
}
.insta-grid--mosaic img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.insta-grid--mosaic .insta-grid__feature{
  min-height:640px;
}
.insta-grid--mosaic .insta-grid__feature img{
  object-position:center center;
}
.insta-grid--mosaic .insta-grid__col--left a:nth-child(1) img{
  object-position:center center;
}
.insta-grid--mosaic .insta-grid__col--left a:nth-child(2) img{
  object-position:center center;
}
.insta-grid--mosaic .insta-grid__col--left a:nth-child(3) img{
  object-position:center 42%;
}
.insta-grid--mosaic .insta-grid__col--right a:nth-child(1) img{
  object-position:center center;
}
.insta-grid--mosaic .insta-grid__col--right a:nth-child(2) img{
  object-position:center center;
}
.insta-grid--mosaic .insta-grid__col--right a:nth-child(3) img{
  object-position:center center;
}
@media (max-width:1000px){
  .insta-grid--mosaic{
    grid-template-columns:1fr;
  }
  .insta-grid--mosaic .insta-grid__col{
    grid-template-columns:repeat(3, 1fr);
    grid-template-rows:none;
    min-height:auto;
  }
  .insta-grid--mosaic .insta-grid__feature{
    min-height:520px;
  }
  .insta-grid--mosaic .insta-grid__col a{
    min-height:220px;
  }
}
@media (max-width:620px){
  .insta-grid--mosaic .insta-grid__col{
    grid-template-columns:1fr;
  }
  .insta-grid--mosaic .insta-grid__feature,
  .insta-grid--mosaic .insta-grid__col a{
    min-height:320px;
  }
}

/* Custom Candle Inspiration refinements: contain middle advert and remove hover effects */
.insta-grid--mosaic .insta-grid__feature{
  background:var(--cream);
  display:flex;
  align-items:center;
  justify-content:center;
}
.insta-grid--mosaic .insta-grid__feature img{
  object-fit:contain;
  object-position:center center;
  background:var(--cream);
}
.insta-grid--mosaic a,
.insta-grid--mosaic img,
.insta-grid--mosaic span{
  transition:none !important;
}
.insta-grid--mosaic a:hover img{
  transform:none !important;
}
.insta-grid--mosaic span,
.insta-grid--mosaic a:hover span{
  display:none !important;
  opacity:0 !important;
}


/* Custom Candle Inspiration: keep middle advert fully visible and disable hover effects */
.insta-grid--mosaic .insta-grid__feature{
  background:var(--cream);
  display:flex;
  align-items:center;
  justify-content:center;
}
.insta-grid--mosaic .insta-grid__feature img{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center center !important;
  background:var(--cream);
}
.insta-grid--mosaic a,
.insta-grid--mosaic img,
.insta-grid--mosaic span{
  transition:none !important;
}
.insta-grid--mosaic a:hover img{
  transform:none !important;
}
.insta-grid--mosaic span,
.insta-grid--mosaic a:hover span{
  display:none !important;
  opacity:0 !important;
}


/* Final CTA updated background and 70% pink overlay */
.final-cta{
  background:linear-gradient(rgba(213,138,148,.70),rgba(213,138,148,.70)),url('../images/cta-wedding-table-candles.png') center center/cover no-repeat !important;
}


/* Small section label / eyebrow font update */
.eyebrow,
.final-cta p{
  font-family:'Pinyon Script', cursive !important;
  font-size:19px !important;
  font-weight:600 !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  line-height:1.25;
}

/* Custom Orders Welcome CTA button text color */
.final-cta .btn,
.final-cta .btn--light{
  color:#080707 !important;
}


/* Small section label / eyebrow Blackstone calligraphy-style update */
.eyebrow,
.final-cta p{
  font-family:'Blackstone','Blackadder ITC','Pinyon Script',cursive !important;
  font-size:25px !important;
  font-weight:400 !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  line-height:1.25;
}

/* FAQ Ask Us link hover update */
.blog-card a[href="#appointment"]{
  color:#080707;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:4px;
  transition:color .25s ease, transform .25s ease, background-color .25s ease, box-shadow .25s ease;
}
.blog-card a[href="#appointment"]:hover{
  color:#080707;
  transform:translateY(-2px);
  background:rgba(213,138,148,.18);
  border-radius:999px;
  box-shadow:0 12px 30px rgba(213,138,148,.16);
}


/* FAQ card image and button alignment update */
.blog-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.blog-card div{
  display:flex;
  flex-direction:column;
  flex:1;
}
.blog-card div p{
  margin-bottom:22px;
}
.blog-card a[href="#appointment"]{
  margin-top:auto;
  width:max-content;
}
.blog-card img{
  object-fit:cover;
}


/* Eyebrow / section label script update - reference handwritten style */
.eyebrow{
  font-family:'Allura','Great Vibes','Pinyon Script',cursive;
  font-size:25px;
  font-weight:400;
  text-transform:none;
  letter-spacing:0;
  line-height:1.15;
}

.eyebrow,
.final-cta p{
  font-family:'Allura','Pinyon Script',cursive !important;
  font-size:26px !important;
  font-weight:400 !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  line-height:1.15 !important;
}

/* FAQ delivery image fill correction */
.blog-card:nth-child(3) > img{
  width:100%;
  height:260px;
  object-fit:cover;
  object-position:center center;
  display:block;
}

/* Small eyebrow / section label size update */
.eyebrow,
.final-cta p{
  font-size:28px !important;
}

/* Footer contact phone icon update */
.footer-contact-phone,
.footer-contact-email,
.footer-contact-location{
  display:flex;
  align-items:center;
  gap:8px;
}
.footer-contact-phone img,
.footer-contact-email img,
.footer-contact-location img{
  width:24px;
  height:24px;
  object-fit:contain;
  flex:0 0 24px;
}


/* Footer delivery line update */
.footer-delivery-line{
  white-space:nowrap;
}


/* Footer contact links and email icon update */
.footer-contact-link{
  display:inline-block;
  margin:0 !important;
  color:inherit;
  transition:color .25s ease, transform .25s ease;
}
.footer-contact-link:hover{
  color:#BCAAA4;
  transform:translateX(2px);
}

/* Custom order CTA button text color */
.cta-line .btn,
.cta-line .btn:hover{
  color:#080707 !important;
}

/* Contact us form button text color update */
.booking-form .btn,
.booking-form .btn:hover{
  color:#080707;
}


/* Footer Facebook icon update */
.footer .socials a.social-link--facebook{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  line-height:1;
  color:inherit;
}
.footer .socials a.social-link--facebook .facebook-icon{
  width:24px;
  height:24px;
  display:block;
  fill:currentColor;
}
.footer .socials a.social-link--facebook:hover{
  color:#BCAAA4;
}


/* Footer powered-by link update */
.footer-powered-link{
  display:inline-block !important;
  margin:0 !important;
  color:inherit;
  text-decoration:none;
  transition:color .25s ease, transform .25s ease;
}
.footer-powered-link:hover{
  color:#BCAAA4;
  transform:translateY(-1px);
}


/* Header menu label, link, and hover update */
.site-header .menu a{
  transition:color .25s ease, transform .25s ease;
}
.site-header .menu a:hover{
  color:#BCAAA4;
  transform:translateY(-2px);
}
.site-header .menu a:focus-visible{
  outline:2px solid #BCAAA4;
  outline-offset:6px;
  border-radius:8px;
}


/* Footer quick links text, section links, and hover update */
.footer-quick-links a{
  color:inherit;
  text-decoration:none;
  transition:color .25s ease, transform .25s ease;
}
.footer-quick-links a:hover{
  color:#BCAAA4;
  transform:translateX(4px);
}
.footer-quick-links a:focus-visible{
  outline:2px solid #BCAAA4;
  outline-offset:5px;
  border-radius:8px;
}


/* Floating WhatsApp button */
.floating-whatsapp{
  position:fixed;
  right:24px;
  bottom:95px;
  z-index:9999;
  width:56px;
  height:56px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#25D366;
  color:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  transition:transform .25s ease, box-shadow .25s ease, opacity .25s ease;
  text-decoration:none;
}
.floating-whatsapp svg{
  width:32px;
  height:32px;
  fill:currentColor;
  display:block;
}
.floating-whatsapp:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(0,0,0,.24);
}
.floating-whatsapp:focus-visible{
  outline:2px solid #BCAAA4;
  outline-offset:5px;
}

/* Mobile friendly variant refinements */
@media (max-width: 768px){
  html, body{
    width:100%;
    overflow-x:hidden;
  }
  .container{
    width:min(100% - 36px, 1400px);
  }
  .section{
    padding:68px 0;
  }
  .section-heading{
    margin-bottom:32px;
  }
  .section-heading h2,
  .section-copy h2,
  .appointment-card h2,
  .testimonials h2,
  .benefits h2{
    font-size:clamp(2.25rem, 11vw, 3.6rem);
    line-height:1.02;
  }
  .site-header .nav{
    min-height:78px;
    gap:12px;
  }
  .site-header .logo--image img{
    height:74px;
    max-width:170px;
  }
  .menu{
    top:78px;
    left:18px;
    right:18px;
    width:auto;
    gap:16px;
    padding:20px;
    z-index:100;
  }
  .menu a{
    padding:8px 4px;
  }
  .hamburger{
    flex:0 0 42px;
  }
  .hero{
    min-height:590px;
  }
  .hero__image{
    object-position:center center;
  }
  .hero__content{
    padding:84px 0 78px;
  }
  .hero__content h1{
    font-size:clamp(3rem, 15vw, 4.8rem);
    line-height:.9;
  }
  .hero-subheading{
    font-size:1rem !important;
  }
  .hero-subheading span{
    white-space:normal;
  }
  .btn{
    width:auto;
    max-width:100%;
    min-height:48px;
    padding:13px 24px;
    text-align:center;
  }
  .features.section-offset{
    padding-top:28px;
  }
  .feature-grid{
    margin-top:0;
    gap:18px;
  }
  .feature-card{
    padding:28px;
  }
  .two-col,
  .about .two-col,
  .benefits .two-col,
  .testimonials .two-col{
    gap:34px;
  }
  .image-stack__main{
    height:360px;
  }
  .image-stack__small{
    width:82%;
    height:210px;
    border-width:8px;
  }
  .video-banner{
    background-attachment:scroll !important;
  }
  .video-card{
    padding:70px 18px;
  }
  .service-grid,
  .blog-grid,
  .footer-grid,
  .booking-form{
    grid-template-columns:1fr !important;
  }
  .service-card img,
  .blog-card img{
    height:220px;
  }
  .service-card h3,
  .blog-card h3,
  .feature-card h3,
  .footer h3{
    font-size:1.55rem;
  }
  .cta-line__inner{
    align-items:stretch;
  }
  .cta-line h3{
    font-size:2rem;
    line-height:1.1;
  }
  .cta-line .btn{
    align-self:center;
  }
  .insta-grid--mosaic{
    padding:0 18px;
    gap:16px;
  }
  .insta-grid--mosaic .insta-grid__col{
    gap:16px;
  }
  .insta-grid--mosaic .insta-grid__feature,
  .insta-grid--mosaic .insta-grid__col a{
    min-height:300px;
  }
  .appointment-card{
    padding:28px 20px;
    border-radius:22px;
  }
  .booking-form input,
  .booking-form select,
  .booking-form textarea{
    width:100%;
    min-width:0;
  }
  .footer{
    padding-top:62px;
  }
  .footer-grid{
    gap:30px;
  }
  .footer-contact-phone,
  .footer-contact-email,
  .footer-contact-location{
    align-items:flex-start;
    overflow-wrap:anywhere;
  }
  .footer-delivery-line{
    white-space:normal;
  }
  .footer-bottom{
    line-height:1.7;
    padding-left:18px;
    padding-right:18px;
  }
  .floating-whatsapp{
    right:16px;
    bottom:95px;
    width:52px;
    height:52px;
  }
  .floating-whatsapp svg{
    width:29px;
    height:29px;
  }
}

@media (max-width: 420px){
  .container{
    width:min(100% - 28px, 1400px);
  }
  .site-header .logo--image img{
    height:64px;
    max-width:150px;
  }
  .site-header .nav{
    min-height:70px;
  }
  .menu{
    top:70px;
    left:14px;
    right:14px;
  }
  .hero{
    min-height:560px;
  }
  .hero__content h1{
    font-size:clamp(2.75rem, 16vw, 4rem);
  }
  .hero__actions{
    flex-direction:column;
    align-items:center;
  }
  .hero__actions .btn{
    width:100%;
    max-width:260px;
  }
  .eyebrow,
  .final-cta p{
    font-size:25px !important;
  }
  .image-stack__main{
    height:320px;
  }
  .image-stack__small{
    width:88%;
    height:190px;
  }
  .service-card img,
  .blog-card img{
    height:205px;
  }
  .insta-grid--mosaic .insta-grid__feature,
  .insta-grid--mosaic .insta-grid__col a{
    min-height:260px;
  }
  .footer .socials{
    gap:16px;
  }
}

.form-message {
  margin: 0 0 18px;
  padding: 14px 16px;
  border-radius: 12px;
  font-family: var(--font-body, inherit);
  font-size: 15px;
  line-height: 1.5;
}
.form-message--success {
  background: rgba(188, 170, 164, 0.22);
  color: #080707;
}
.form-message--error {
  background: rgba(120, 40, 40, 0.12);
  color: #080707;
}

.form-field--honeypot {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

/* Footer background color update */
.footer{
  background:#c86472;
}

/* Footer text color update */
.footer,
.footer p,
.footer a,
.footer-bottom,
.footer .footer-contact-link,
.footer .footer-powered-link,
.footer .footer-quick-links a{
  color:#ffffff;
}

.footer h3{
  color:#5a2028;
}

.footer .footer-contact-link:hover,
.footer .footer-powered-link:hover,
.footer .footer-quick-links a:hover,
.footer .socials a.social-link--facebook:hover{
  color:#BCAAA4;
}


/* ============================================================
   HERO ENTRANCE  –  plays immediately on page load
   ============================================================ */
@media (prefers-reduced-motion: no-preference) {
  @keyframes hero-rise {
    from { opacity: 0; transform: translateY(22px); }
    to   { opacity: 1; transform: none; }
  }
  .hero__content .eyebrow { animation: hero-rise 0.70s ease both 0.10s; }
  .hero__content h1       { animation: hero-rise 0.85s ease both 0.30s; }
  .hero-subheading        { animation: hero-rise 0.70s ease both 0.52s; }
  .hero__actions          { animation: hero-rise 0.65s ease both 0.68s; }
}

/* ============================================================
   SCROLL REVEAL  –  JS adds .reveal / .reveal--* on init,
   then adds .is-visible when element enters the viewport
   ============================================================ */
@media (prefers-reduced-motion: no-preference) {
  .reveal {
    opacity: 0;
    transition: opacity 0.65s ease, transform 0.65s ease;
  }
  .reveal--up    { transform: translateY(36px); }
  .reveal--left  { transform: translateX(-40px); }
  .reveal--right { transform: translateX(40px); }
  .reveal.is-visible {
    opacity: 1;
    transform: none;
  }
}


/* ============================================================
   MOBILE NAV FIX  –  switch back to flex so hamburger stays right
   ============================================================ */
@media (max-width:1000px) {
  .nav {
    display: flex;
    justify-content: space-between;
  }
  .menu {
    left: 0;
    right: 0;
    border-radius: 0 0 22px 22px;
  }
}
@media (max-width:768px) {
  .menu {
    left: 0;
    right: 0;
    width: 100%;
  }
}

/* ============================================================
   POLICY PAGES  –  Privacy Policy & Terms of Service
   ============================================================ */
.policy-page {
  padding: 80px 0 110px;
}
.policy-page .policy-eyebrow {
  font-family: 'Allura','Pinyon Script',cursive;
  font-size: 26px;
  font-weight: 400;
  color: var(--brown);
  display: block;
  margin-bottom: 10px;
}
.policy-page h1 {
  font-family: var(--heading);
  font-size: clamp(2.4rem, 5vw, 3.8rem);
  color: var(--brown);
  line-height: 1.05;
  margin-bottom: 16px;
}
.policy-intro {
  color: var(--muted);
  font-size: 1.05rem;
  margin-bottom: 52px;
  max-width: 740px;
  line-height: 1.78;
  border-bottom: 1px solid rgba(213,138,148,.18);
  padding-bottom: 36px;
}
.policy-page h2 {
  font-family: var(--heading);
  font-size: 1.7rem;
  color: var(--brown);
  margin: 48px 0 14px;
}
.policy-page p {
  color: var(--muted);
  margin-bottom: 16px;
  line-height: 1.78;
}
.policy-page ul {
  margin: 8px 0 18px 24px;
  color: var(--muted);
  line-height: 1.78;
}
.policy-page li {
  margin-bottom: 8px;
}
.policy-page a {
  color: var(--brown);
  text-decoration: underline;
}
.policy-page a:hover {
  color: var(--gold);
}
.policy-contact-block {
  background: var(--cream-2);
  border-radius: var(--radius);
  padding: 32px 38px;
  margin-top: 20px;
  display: inline-block;
}
.policy-contact-block p {
  margin-bottom: 6px;
}
@media (max-width: 620px) {
  .policy-page {
    padding: 56px 0 80px;
  }
  .policy-contact-block {
    padding: 24px 22px;
  }
}
