
:root{
  --plum:#8a4059; --plum-dark:#572033; --mauve:#bd8198; --blush:#f9dde8;
  --cream:#fff8f4; --gold:#d5a75d; --gold2:#f7dda2; --ink:#432832;
  --shadow:0 26px 70px rgba(134,65,88,.16);
  --font-script:'Alex Brush','Playfair Display',cursive;
  --font-main:'Urbanist', Arial, sans-serif;
  --font-heading:'Playfair Display', Georgia, serif;
  --font-clean:'Manrope', Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff4f8;font-family:var(--font-main);color:var(--ink);overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%}
.site-header{position:fixed;top:18px;left:28px;right:28px;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-radius:30px;background:rgba(255,245,248,.64);border:1px solid rgba(213,167,93,.34);backdrop-filter:blur(18px);box-shadow:0 14px 38px rgba(134,65,88,.12);overflow:visible}
.logo-link img{height:118px;display:block;filter:drop-shadow(0 12px 20px rgba(183,132,54,.22));transform:translateY(4px)}
.main-nav{display:flex;gap:22px;text-transform:uppercase;font-size:12px;letter-spacing:.09em;font-weight:800;color:#714053}
.header-actions{display:flex;align-items:center;gap:12px}
.audio-toggle{width:48px;height:48px;border-radius:50%;border:1px solid rgba(213,167,93,.7);background:rgba(255,255,255,.35);color:var(--gold);cursor:pointer}
.audio-toggle .pause{display:none}
.audio-toggle.playing .play{display:none}.audio-toggle.playing .pause{display:inline}
.audio-toggle.playing{box-shadow:0 0 26px rgba(247,221,158,.75)}
.book-button,.primary-btn,.secondary-btn,.cart-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:14px 22px;background:linear-gradient(135deg,var(--mauve),var(--plum));color:white;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:12px;box-shadow:0 14px 28px rgba(134,65,88,.18)}
.cart-pill{gap:8px;background:rgba(255,255,255,.42);color:var(--plum-dark);border:1px solid rgba(213,167,93,.35);box-shadow:none}
.secondary-btn{background:rgba(255,255,255,.74);color:var(--plum-dark);border:1px solid rgba(213,167,93,.42);box-shadow:none}
.home-hero{min-height:900px;padding:165px clamp(28px,7vw,110px) 90px;display:grid;grid-template-columns:1fr .95fr;gap:48px;align-items:center;background:linear-gradient(90deg,rgba(249,216,227,.82),rgba(255,245,248,.55)),url('assets/dana-soft-bg.jpg') center/cover;position:relative;overflow:hidden}
.home-hero:after,.services-hero:after{content:'';position:absolute;left:-4%;right:-4%;bottom:-2px;height:150px;background:linear-gradient(to bottom,transparent,#fff4f8 70%,#fff4f8);border-top-left-radius:50% 40%;border-top-right-radius:50% 40%}
.home-copy,.home-dana,.services-copy{position:relative;z-index:1}
.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.22em;font-size:13px;font-weight:800}
.home-copy h1{font-family:var(--font-main);font-size:clamp(48px,6vw,86px);line-height:1.02;color:var(--plum-dark);font-weight:500;margin:12px 0}
.home-copy h1 span,.services-copy p span{font-family:var(--font-script);color:var(--plum);font-size:1.15em}
.divider,.gold-divider{width:240px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:26px 0}
.home-copy p{font-size:18px;line-height:1.75}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.home-dana img{border-radius:36px;box-shadow:var(--shadow);max-height:610px;object-fit:cover}
.home-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:linear-gradient(90deg,#c9889f,#e9b9c8);color:white;text-align:center;text-transform:uppercase;letter-spacing:.14em;font-weight:800;padding:26px}
.soft-section{margin:70px clamp(24px,6vw,100px);border-radius:34px;padding:70px;background:linear-gradient(90deg,rgba(174,105,129,.72),rgba(255,232,239,.42)),linear-gradient(135deg,#f8e5ec,#fff8f4);box-shadow:var(--shadow);color:white}
.soft-section h2{font-family:var(--font-main);font-size:clamp(42px,5vw,78px);line-height:1.02;margin:10px 0}
.services-hero{min-height:620px;padding:150px clamp(28px,7vw,120px) 100px;background:linear-gradient(90deg,rgba(255,226,236,.70),rgba(255,246,248,.68)),linear-gradient(135deg,#f8e5ec,#fff8f4);position:relative;text-align:center}
.services-copy h1{font-family:var(--font-main);font-size:clamp(54px,8vw,118px);text-transform:uppercase;letter-spacing:.1em;color:var(--plum-dark);font-weight:500;margin:18px 0}
.services-copy p:not(.eyebrow){font-family:var(--font-main);font-size:clamp(24px,3vw,38px);line-height:1.25;color:#664150}
.services-menu{padding:70px clamp(24px,7vw,130px) 110px;background:#fff4f8}
.section-title{text-align:center;max-width:900px;margin:0 auto 42px}
.section-title h2{font-family:var(--font-main);font-size:clamp(38px,4vw,64px);line-height:1.05;color:var(--plum-dark);font-weight:500;margin:8px 0}
.section-title p{font-size:17px;line-height:1.7}
.service-list{display:grid;gap:18px;max-width:1180px;margin:0 auto}
.service-card{display:grid;grid-template-columns:90px 1fr 260px 260px;gap:22px;align-items:center;background:rgba(255,255,255,.72);border:1px solid rgba(213,167,93,.24);border-radius:24px;padding:22px;box-shadow:0 18px 50px rgba(134,65,88,.09)}
.icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(213,167,93,.58);color:var(--plum);font-size:32px;background:rgba(255,255,255,.55)}
.info h3{font-family:var(--font-main);text-transform:uppercase;letter-spacing:.12em;color:var(--plum);font-size:28px;margin:0 0 8px}
.info p{font-family:var(--font-main);font-size:19px;line-height:1.34;margin:0}
.options{display:grid;gap:8px}
.options button{border:1px solid rgba(213,167,93,.36);background:rgba(255,255,255,.58);border-radius:999px;padding:10px 12px;color:var(--plum-dark);font-weight:800;cursor:pointer}
.options button.selected{background:linear-gradient(135deg,#fff0f6,#f4c7d8);border-color:var(--gold)}
.actions{display:grid;gap:10px}
.add-cart,.schedule{border:0;border-radius:12px;padding:12px 14px;text-align:center;text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:11px;cursor:pointer}
.add-cart{background:linear-gradient(135deg,var(--mauve),var(--plum));color:white}
.schedule{background:rgba(255,255,255,.64);color:var(--plum-dark);border:1px solid rgba(213,167,93,.4)}
.schedule.request{background:#fff0f6}
.included-strip{max-width:1180px;margin:34px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid rgba(213,167,93,.38);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.included-strip div{background:rgba(255,255,255,.62);padding:34px;text-align:center}
.included-strip span{display:block;font-family:var(--font-main);font-size:26px;text-transform:uppercase;color:var(--plum-dark)}
.included-strip b{font-family:var(--font-script);color:var(--plum);font-size:34px;font-weight:400}
.cart-page{min-height:75vh;padding:160px clamp(24px,7vw,120px) 80px;background:#fff4f8}
.cart-page h1{font-family:var(--font-main);font-size:72px;color:var(--plum-dark)}
.cart-items{display:grid;gap:12px;max-width:800px}.cart-line{display:flex;justify-content:space-between;background:white;border-radius:16px;padding:18px;border:1px solid rgba(213,167,93,.24)}
.cart-total{font-size:28px;color:var(--plum-dark);margin:24px 0}.cart-note{color:#6a4553}
footer{background:linear-gradient(180deg,#c78ba0,#7d3950);color:white;padding:44px clamp(24px,6vw,96px);display:flex;justify-content:space-between;align-items:center;gap:26px}footer img{height:96px}footer p{color:#fff7e5}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}.reveal.in{opacity:1;transform:translateY(0)}
@media(max-width:1180px){.main-nav{display:flex;gap:22px;text-transform:uppercase;font-size:12px;letter-spacing:.09em;font-weight:800;color:#714053}.home-hero{grid-template-columns:1fr}.service-card{grid-template-columns:80px 1fr}.options,.actions{grid-column:2}}
@media(max-width:720px){.site-header{position:fixed;top:10px;left:14px;right:14px;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:24px;background:rgba(255,245,248,.82);border:1px solid rgba(213,167,93,.24);backdrop-filter:blur(18px);box-shadow:0 10px 24px rgba(134,65,88,.08);overflow:hidden}.logo-link img{height:62px;display:block;filter:none;transform:none}.main-nav{gap:10px;flex-wrap:wrap;justify-content:center}.main-nav a{font-size:10px;letter-spacing:.05em}.book-button{display:none}.cart-pill{padding:10px 14px;font-size:12px}.home-hero,.services-hero{padding:100px 20px 56px;min-height:auto}.home-icons,.included-strip{grid-template-columns:1fr}.soft-section{margin:20px 18px;padding:26px}.services-menu{padding:46px 18px}.service-card{grid-template-columns:1fr}.icon{margin:auto}.options,.actions{grid-column:auto}footer{display:block;text-align:center}}


/* ===== FRESH SERVICES PAGE REBUILD ONLY ===== */

.fresh-services-hero {
  position: relative;
  min-height: 500px;
  padding: 150px clamp(26px, 7vw, 120px) 70px;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.72), transparent 28%),
    radial-gradient(circle at 88% 22%, rgba(213,167,93,.20), transparent 34%),
    linear-gradient(135deg, #fff8f4 0%, #f7dbe5 48%, #fff4f8 100%);
  text-align: center;
}

.fresh-services-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, transparent 0%, rgba(255,255,255,.50) 48%, transparent 72%),
    radial-gradient(circle at 50% 94%, rgba(213,167,93,.22), transparent 26%);
  pointer-events: none;
}

.fresh-services-hero::after {
  content: "";
  position: absolute;
  left: -5%;
  right: -5%;
  bottom: -2px;
  height: 95px;
  background: linear-gradient(to bottom, transparent, #fff4f8 84%, #fff4f8);
  border-top-left-radius: 50% 42%;
  border-top-right-radius: 50% 42%;
  pointer-events: none;
}

.fresh-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 980px;
  margin: 0 auto;
}

.fresh-hero-inner h1 {
  font-family: var(--font-main);
  font-size: clamp(56px, 7vw, 98px);
  line-height: .92;
  margin: 10px 0 8px;
  color: #9c7a54;
  font-weight: 600;
  letter-spacing: .045em;
  text-transform: none;
  text-shadow: 0 1px 0 rgba(255,255,255,.72);
}

.fresh-divider {
  width: min(320px, 70vw);
  height: 1px;
  margin: 18px auto 20px;
  background: linear-gradient(90deg, transparent, #c79a55, transparent);
}

.fresh-subtitle {
  margin: 0;
  font-family: var(--font-main);
  font-size: clamp(23px, 2.2vw, 34px);
  color: #6b4150;
  line-height: 1.18;
}

.fresh-subtitle span {
  display: inline-block;
  font-family:var(--font-script);
  color: #a35f78;
  font-size: 1.25em;
  padding-left: .12em;
}

.fresh-note {
  max-width: 720px;
  margin: 16px auto 0;
  color: #775966;
  font-size: 15px;
  line-height: 1.7;
}

.fresh-services-menu {
  padding: 36px clamp(24px,7vw,130px) 110px;
  background:
    radial-gradient(circle at 12% 2%, rgba(213,167,93,.12), transparent 22%),
    linear-gradient(180deg, #fff4f8 0%, #fff8f4 100%);
}

.fresh-services-menu .section-title {
  margin-bottom: 28px;
}

.fresh-services-menu .section-title h2 {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(34px, 3.5vw, 58px);
}

.keep-booking-layout .service-card {
  background: rgba(255,255,255,.82) !important;
  border: 1px solid rgba(213,167,93,.28) !important;
  box-shadow: 0 18px 48px rgba(134,65,88,.08) !important;
}

.keep-booking-layout .service-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 58px rgba(134,65,88,.12) !important;
  transition: .28s ease;
}

.keep-booking-layout .icon {
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.72), transparent 38%),
    rgba(255,255,255,.58) !important;
}

.fresh-included-strip {
  max-width: 1180px;
  margin: 34px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  border: 1px solid rgba(213,167,93,.38);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 48px rgba(134,65,88,.08);
}

.fresh-included-strip div {
  background: rgba(255,255,255,.68);
  padding: 32px;
  text-align: center;
}

.fresh-included-strip span {
  display: block;
  font-family: var(--font-main);
  font-size: 25px;
  text-transform: uppercase;
  color: #572033;
  letter-spacing: .07em;
}

.fresh-included-strip b {
  display: block;
  font-family:var(--font-script);
  color: #8a4059;
  font-size: 34px;
  font-weight: 400;
  margin-top: 4px;
}

.pricing-note {
  max-width: 850px;
  margin: 28px auto 0;
  background: rgba(255,255,255,.64);
  border: 1px solid rgba(213,167,93,.24);
  border-radius: 20px;
  padding: 18px 24px;
  text-align: center;
  color: #765462;
  line-height: 1.65;
}

@media(max-width:720px) {
  .fresh-services-hero {
    min-height: 430px;
    padding: 118px 22px 54px;
  }

  .fresh-hero-inner h1 {
    font-size: 58px;
  }

  .fresh-subtitle span {
    display: block;
    padding-left: 0;
  }

  .fresh-included-strip {
    grid-template-columns: 1fr;
  }

  .fresh-services-menu {
    padding: 34px 22px 70px;
  }
}


/* Replace the abstract peaceful-experience box with the approved spa banner image only */
.soft-section.image-replacement {
  background: none !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.soft-section.image-replacement img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 34px;
}


/* ===== BRAND NEW PAGE 3: ABOUT DANA ===== */

.main-nav a.active {
  border-bottom: 1px solid rgba(213,167,93,.75);
  padding-bottom: 6px;
}

.about-fresh-hero {
  position: relative;
  min-height: 760px;
  padding: 150px clamp(24px, 6vw, 110px) 90px;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 54px;
  align-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 18%, rgba(255,255,255,.76), transparent 28%),
    radial-gradient(circle at 86% 24%, rgba(213,167,93,.14), transparent 32%),
    linear-gradient(135deg, #fff8f4 0%, #f8dce7 48%, #fff4f8 100%);
}

.about-fresh-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(110deg, rgba(255,255,255,.55), transparent 52%),
    radial-gradient(circle at 56% 92%, rgba(213,167,93,.12), transparent 24%);
  pointer-events: none;
}

.about-fresh-copy,
.about-fresh-photo {
  position: relative;
  z-index: 2;
}

.about-fresh-copy h1 {
  font-family: var(--font-main);
  font-size: clamp(46px, 5vw, 78px);
  line-height: 1.02;
  margin: 10px 0 6px;
  color: #5b2035;
  font-weight: 600;
}

.script-line {
  font-family:var(--font-script);
  font-size: clamp(34px, 3.5vw, 58px);
  color: #9b5d76;
  line-height: 1.05;
  margin: 0 0 18px;
}

.about-fresh-text {
  max-width: 560px;
  color: #654653;
  font-size: 17px;
  line-height: 1.8;
}

.about-fresh-photo {
  display: flex;
  justify-content: center;
}

.about-fresh-photo img {
  width: min(520px, 100%);
  max-height: 620px;
  object-fit: cover;
  object-position: center top;
  border-radius: 36px;
  box-shadow: 0 28px 80px rgba(134,65,88,.20);
  border: 1px solid rgba(213,167,93,.28);
}

.about-fresh-philosophy {
  padding: 86px clamp(24px, 6vw, 110px);
  background: #fff7f9;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 48px;
}

.about-story h2 {
  font-family: var(--font-main);
  font-size: clamp(38px,4vw,64px);
  color: #5b2035;
  line-height: 1.04;
  margin: 10px 0 16px;
}

.about-story h2 span {
  display: block;
  font-family:var(--font-script);
  color: #c79a55;
  font-weight: 400;
}

.about-story p {
  color: #684854;
  line-height: 1.85;
}

.about-values {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.about-values article {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(213,167,93,.22);
  border-radius: 24px;
  padding: 26px;
  box-shadow: 0 18px 46px rgba(134,65,88,.08);
}

.about-values span {
  color: #c79a55;
  font-family: var(--font-main);
  font-size: 28px;
}

.about-values h3,
.journey-line h3 {
  color: #6d3047;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 14px;
}

.about-values p,
.journey-line p {
  color: #6a4c58;
  line-height: 1.7;
}

.about-journey {
  padding: 84px clamp(24px, 6vw, 110px);
  background: linear-gradient(180deg, #fff4f8, #fff8f4);
}

.journey-line {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-top: 36px;
}

.journey-line article {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(213,167,93,.22);
  border-radius: 26px;
  text-align: center;
  padding: 30px 22px;
  box-shadow: 0 18px 46px rgba(134,65,88,.07);
}

.journey-line b {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  margin: 0 auto 16px;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #bd8198, #8a4059);
}

.about-peace-banner {
  padding: 92px 24px;
  text-align: center;
  background:
    linear-gradient(rgba(91,32,53,.52), rgba(91,32,53,.52)),
    url('assets/spa-candle-towel-banner.jpg') center/cover;
}

.about-peace-banner h2 {
  font-family: var(--font-main);
  color: #fff;
  font-size: clamp(42px,4vw,72px);
  margin: 0;
}

.about-peace-banner p {
  font-family:var(--font-script);
  color: #f5dca5;
  font-size: clamp(38px,3.4vw,58px);
  margin: 4px 0 0;
}

.about-final-cta {
  padding: 85px 24px;
  text-align: center;
  background:
    radial-gradient(circle at 18% 26%, rgba(213,167,93,.16), transparent 24%),
    linear-gradient(135deg,#7e3d56,#5b2337);
}

.about-final-cta h2 {
  font-family: var(--font-main);
  color: white;
  font-size: clamp(38px,4vw,66px);
  margin: 0;
}

.about-final-cta p {
  color: #f6dce6;
  margin: 12px 0 18px;
}

.about-final-cta div {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

@media(max-width: 980px) {
  .about-fresh-hero,
  .about-fresh-philosophy {
    grid-template-columns: 1fr;
  }

  .journey-line {
    grid-template-columns: 1fr 1fr;
  }
}

@media(max-width: 680px) {
  .about-fresh-hero {
    padding: 126px 22px 64px;
  }

  .about-fresh-philosophy,
  .about-journey {
    padding: 58px 22px;
  }

  .about-values,
  .journey-line {
    grid-template-columns: 1fr;
  }
}


/* Clean Page 3 peace banner so text no longer overlaps embedded banner lettering */
.about-peace-banner {
  min-height: 330px !important;
  padding: 92px 24px !important;
  display: grid !important;
  place-items: center !important;
  background:
    linear-gradient(90deg, rgba(91,32,53,.72), rgba(91,32,53,.48)),
    url('assets/peace-banner-clean.jpg') center/cover no-repeat !important;
}

.about-peace-banner h2,
.about-peace-banner p {
  text-shadow: 0 8px 24px rgba(55,20,34,.28) !important;
}

.about-peace-banner h2 {
  font-size: clamp(42px,4vw,70px) !important;
  line-height: 1.02 !important;
}

.about-peace-banner p {
  font-size: clamp(34px,3.2vw,54px) !important;
  margin-top: 8px !important;
}

.about-final-cta {
  margin-top: 0 !important;
}

/* ===== TRUE LIGHT LUXURY COUPLES PAGE ===== */
.couples-luxury-page{
  background:#fffaf6;
  color:#4f3038;
}
.couples-luxury-page .site-header{position:fixed;top:18px;left:28px;right:28px;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-radius:30px;background:rgba(255,245,248,.64);border:1px solid rgba(213,167,93,.34);backdrop-filter:blur(18px);box-shadow:0 14px 38px rgba(134,65,88,.12);overflow:visible}
.couples-luxury-page .logo-link img{height:118px;display:block;filter:drop-shadow(0 12px 20px rgba(183,132,54,.22));transform:translateY(4px)}
.couples-luxe-hero{
  position:relative;
  min-height:700px;
  padding:150px clamp(28px,6vw,96px) 82px;
  overflow:hidden;
  background:
    radial-gradient(circle at 22% 24%, rgba(255,255,255,.95), transparent 24%),
    radial-gradient(circle at 72% 18%, rgba(221,196,155,.36), transparent 33%),
    radial-gradient(circle at 83% 74%, rgba(207,158,142,.24), transparent 31%),
    linear-gradient(108deg,#fffaf6 0%,#fff3ed 37%,#f1d8cf 100%);
}
.couples-luxe-hero:after{
  content:"";position:absolute;left:-8%;right:-8%;bottom:-54px;height:160px;
  background:#fffaf6;border-radius:50% 50% 0 0/100% 100% 0 0;transform:rotate(-2deg);
}
.couples-ambient{position:absolute;border-radius:999px;filter:blur(46px);opacity:.75;pointer-events:none}
.couples-ambient.one{width:520px;height:520px;left:10%;top:14%;background:rgba(215,184,194,.42)}
.couples-ambient.two{width:620px;height:620px;right:-8%;top:12%;background:rgba(220,200,164,.32)}
.hero-grain{position:absolute;inset:0;opacity:.30;background-image:linear-gradient(120deg,rgba(255,255,255,.32) 0 1px,transparent 1px 90px);}
.couples-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:48px;max-width:1380px;margin:0 auto;}
.couples-brand-panel{text-align:center;padding-top:30px;}
.couples-large-logo{width:min(650px,90%);filter:drop-shadow(0 28px 48px rgba(118,78,72,.15));}
.luxe-tagline{margin:22px auto 0;letter-spacing:.32em;text-transform:uppercase;font-size:13px;font-weight:800;color:#6e4049;}
.couples-still-life{min-height:560px;display:grid;place-items:center;}
.arch-window{position:relative;width:min(520px,90vw);height:560px;border-radius:48% 48% 24% 24%/42% 42% 12% 12%;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(244,222,210,.78));border:1px solid rgba(194,146,73,.34);box-shadow:0 34px 90px rgba(117,73,63,.18), inset 0 0 0 28px rgba(255,255,255,.35);}
.sun-glow{position:absolute;width:210px;height:210px;right:70px;top:95px;border-radius:50%;background:radial-gradient(circle,#fff 0%,#fff7e9 35%,rgba(223,173,88,.18) 70%,transparent 100%);filter:blur(3px)}
.curtain-panel{position:absolute;right:-40px;top:-20px;width:260px;height:660px;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.7),rgba(227,202,181,.28));border-radius:45%;transform:rotate(8deg)}
.tray{position:absolute;left:105px;right:82px;bottom:96px;height:132px;border-radius:50%;background:linear-gradient(180deg,#d6a65f,#8e5c45);box-shadow:0 28px 40px rgba(105,54,50,.18);}
.candle{position:absolute;bottom:66px;width:48px;border-radius:14px 14px 7px 7px;background:linear-gradient(90deg,#fff8e9,#fff,#f0c989);box-shadow:0 0 28px rgba(255,218,143,.9)}
.candle.tall{height:118px;right:38px}.candle.mid{height:92px;right:98px}.candle.small{height:72px;right:154px}
.candle i{position:absolute;top:-24px;left:50%;width:15px;height:28px;transform:translateX(-50%);border-radius:50% 50% 45% 45%;background:linear-gradient(#fff6b3,#efaa3e);box-shadow:0 0 25px #f3ba54;}
.stone{position:absolute;border-radius:50%;background:linear-gradient(135deg,#e7d5c3,#ab907c);box-shadow:inset 6px 8px 16px rgba(255,255,255,.36)}
.s1{width:96px;height:36px;left:44px;bottom:32px;transform:rotate(6deg)}.s2{width:72px;height:32px;left:126px;bottom:44px;transform:rotate(-13deg)}
.petal{position:absolute;width:88px;height:28px;background:linear-gradient(90deg,#a85775,#d48aa0);border-radius:100% 0 100% 0;}
.p1{left:66px;bottom:94px;transform:rotate(8deg)}.p2{right:28px;bottom:52px;transform:rotate(-14deg)}.p3{right:82px;bottom:78px;transform:rotate(-28deg)}
.couples-intro-wave{position:relative;z-index:3;margin-top:-28px;padding:70px clamp(28px,6vw,96px) 88px;background:#fffaf6;display:grid;grid-template-columns:.78fr 1.22fr;gap:58px;align-items:center;}
.couples-intro-copy h1{font-family:var(--font-main);font-weight:500;font-size:clamp(45px,5vw,76px);line-height:.98;color:#7a3d50;margin:14px 0;}
.couples-intro-copy p:not(.couples-eyebrow){font-size:17px;line-height:1.75;color:#6b4c50;}
.couples-eyebrow,.mini-label{letter-spacing:.32em;text-transform:uppercase;font-weight:800;color:#c49344;font-size:12px;}
.couples-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.couples-feature-row{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;border-left:1px solid rgba(196,147,68,.36);padding-left:48px;}
.couples-feature-row article{text-align:center;padding:18px 10px;}
.couples-feature-row span{font-size:42px;color:#c49344;display:block;margin-bottom:12px;}
.couples-feature-row h3{text-transform:uppercase;letter-spacing:.22em;font-size:12px;color:#6d3746;margin:8px 0 10px;}
.couples-feature-row p{font-size:14px;line-height:1.65;color:#76595d;}
.couples-pricing-section{padding:96px clamp(24px,7vw,130px);background:linear-gradient(180deg,#fffaf6,#f8e9e1);position:relative;overflow:hidden;}
.couples-pricing-section:before{content:"";position:absolute;left:-10%;right:-10%;top:-90px;height:170px;border-bottom:1px solid rgba(196,147,68,.38);border-radius:0 0 50% 50%;}
.couples-price-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(260px,480px));justify-content:center;gap:28px;margin-top:42px;}
.couples-price-card{background:rgba(255,255,255,.72);border:1px solid rgba(196,147,68,.32);border-radius:34px;padding:42px;box-shadow:0 24px 70px rgba(120,70,74,.10);}
.couples-price-card.featured{background:linear-gradient(145deg,#ffffff,#f2dcd6);transform:translateY(-12px);}
.couples-price-card h3{font-family:var(--font-main);font-size:48px;color:#7a3d50;margin:8px 0 4px;font-weight:500;}
.couples-price-card strong{display:block;font-family:var(--font-main);font-size:76px;font-weight:500;color:#b88635;margin:0 0 16px;}
.couples-price-card p:not(.mini-label){line-height:1.7;color:#6b4c50;}
.luxe-add{width:100%;margin-top:20px;border-radius:999px;padding:15px 18px;}
.couples-includes{max-width:980px;margin:42px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.couples-includes span{padding:12px 18px;border-radius:999px;background:rgba(255,255,255,.65);border:1px solid rgba(213,167,93,.30);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:#6d3746;}
.couples-contact-card{margin:0 clamp(24px,7vw,130px) 90px;padding:48px;border-radius:36px;background:linear-gradient(135deg,#7a3d50,#b57483);color:#fff;display:grid;grid-template-columns:1fr .7fr;gap:28px;box-shadow:0 28px 75px rgba(122,61,80,.18);}
.couples-contact-card h2{font-family:var(--font-main);font-size:52px;line-height:1;margin:10px 0;font-weight:500;}.couples-contact-card p{line-height:1.7}.contact-details a{font-size:28px;color:#fff7de;font-weight:800}.contact-details p{color:#fff5f3}
@media(max-width:1050px){.couples-hero-grid,.couples-intro-wave,.couples-contact-card{grid-template-columns:1fr}.couples-feature-row{grid-template-columns:repeat(2,1fr);border-left:0;padding-left:0}.couples-price-grid{grid-template-columns:1fr}.couples-price-card.featured{transform:none}}
@media(max-width:680px){.couples-luxe-hero{padding:125px 18px 55px;min-height:auto}.couples-large-logo{width:94%}.luxe-tagline{font-size:10px;letter-spacing:.18em}.arch-window{height:430px}.couples-still-life{min-height:440px}.tray{left:65px;right:55px}.couples-intro-wave{padding:45px 20px}.couples-feature-row{grid-template-columns:1fr}.couples-price-card{padding:28px}.couples-contact-card{margin:0 20px 60px;padding:30px}.contact-details a{font-size:22px}}

/* ===== HOUSTON FIX: REAL ROMANTIC COUPLES HERO PHOTO ===== */
.couples-luxe-hero{
  min-height: 820px !important;
  padding: 170px clamp(28px,6vw,96px) 96px !important;
  background:
    linear-gradient(90deg, rgba(255,250,246,.98) 0%, rgba(255,250,246,.94) 25%, rgba(255,250,246,.62) 43%, rgba(255,250,246,.12) 58%, rgba(30,14,11,.10) 100%),
    radial-gradient(circle at 18% 30%, rgba(255,255,255,.88), transparent 28%),
    url('assets/couples-romantic-beds.png') right center / 67% 100% no-repeat !important;
  border-bottom: 1px solid rgba(196,147,68,.22);
}
.couples-luxe-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,250,246,.08) 58%, rgba(255,250,246,.62));
  pointer-events:none;
}
.couples-luxe-hero:after{
  background:#fffaf6 !important;
  height:145px !important;
  bottom:-68px !important;
  box-shadow:0 -24px 55px rgba(255,250,246,.42);
}
.couples-ambient,
.couples-still-life,
.hero-grain{
  display:none !important;
}
.couples-hero-grid{
  grid-template-columns:minmax(300px, 560px) 1fr !important;
  max-width:1420px !important;
  min-height:540px;
}
.couples-brand-panel{
  text-align:left !important;
  padding-top:18px !important;
  align-self:center;
}
.couples-large-logo{
  width:min(520px, 92%) !important;
  filter:drop-shadow(0 24px 44px rgba(96,54,38,.18)) !important;
}
.luxe-tagline{
  max-width:560px;
  margin:34px 0 0 !important;
  color:#6d3746 !important;
}
.couples-intro-wave{
  margin-top:-56px !important;
  border-radius:52% 52% 0 0 / 10% 10% 0 0;
  box-shadow:0 -25px 70px rgba(255,250,246,.72);
}
@media(max-width:1050px){
  .couples-luxe-hero{
    background:
      linear-gradient(180deg, rgba(255,250,246,.96) 0%, rgba(255,250,246,.76) 42%, rgba(255,250,246,.22) 72%),
      url('assets/couples-romantic-beds.png') center bottom / cover no-repeat !important;
    min-height:760px !important;
  }
  .couples-hero-grid{grid-template-columns:1fr !important;}
  .couples-brand-panel{text-align:center !important;}
  .luxe-tagline{margin-left:auto !important;margin-right:auto !important;}
}
@media(max-width:680px){
  .couples-luxe-hero{min-height:680px !important;padding-top:135px !important;}
}

/* ===== HOUSTON FINAL FIX: CLEAN CONNECTED COUPLES PAGE ===== */
.couples-luxury-page {
  background:#fffaf6 !important;
  font-family: var(--font-clean) !important;
}
.couples-luxury-page .site-header{position:fixed;top:18px;left:28px;right:28px;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-radius:30px;background:rgba(255,245,248,.64);border:1px solid rgba(213,167,93,.34);backdrop-filter:blur(18px);box-shadow:0 14px 38px rgba(134,65,88,.12);overflow:visible}
.couples-luxury-page .main-nav a{
  font-family:var(--font-clean) !important;
  font-weight:800 !important;
  color:#613442 !important;
}
.couples-luxury-page .logo-link img{height:118px;display:block;filter:drop-shadow(0 12px 20px rgba(183,132,54,.22));transform:translateY(4px)}
.couples-final-hero{
  position:relative;
  min-height:700px;
  padding:170px clamp(28px,6vw,104px) 84px;
  overflow:hidden;
  background:#fffaf6;
  border-bottom:1px solid rgba(196,147,68,.18);
}
.couples-final-photo{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:70%;
  background:url('assets/couples-romantic-beds.png') center center / cover no-repeat;
}
.couples-final-veil{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, #fffaf6 0%, rgba(255,250,246,.98) 25%, rgba(255,250,246,.72) 39%, rgba(255,250,246,.25) 55%, rgba(255,250,246,0) 72%),
    linear-gradient(180deg, rgba(255,250,246,.06) 0%, rgba(255,250,246,0) 64%, #fffaf6 100%);
  pointer-events:none;
}
.couples-final-hero:after{
  content:"";
  position:absolute;
  left:-8%;
  right:-8%;
  bottom:-58px;
  height:150px;
  background:#fffaf6;
  border-radius:50% 50% 0 0/100% 100% 0 0;
  box-shadow:0 -25px 55px rgba(255,250,246,.78);
}
.couples-final-copy{
  position:relative;
  z-index:2;
  max-width:575px;
  padding-top:22px;
}
.couples-final-logo{
  width:min(440px,90%);
  display:block;
  margin:0 0 34px;
  filter:drop-shadow(0 24px 45px rgba(107,60,47,.14));
}
.couples-final-kicker{
  display:flex;
  align-items:center;
  gap:18px;
  margin:0 0 16px;
  color:#7a3d50;
  font-size:12px;
  font-weight:800;
  letter-spacing:.32em;
  text-transform:uppercase;
}
.couples-final-kicker span{
  display:block;
  width:70px;
  height:1px;
  background:linear-gradient(90deg,transparent,#c49344);
}
.couples-final-kicker span:last-child{background:linear-gradient(90deg,#c49344,transparent)}
.couples-final-copy h1{
  font-family:var(--font-main) !important;
  font-weight:500 !important;
  color:#7a3d50;
  font-size:clamp(52px,5vw,78px);
  line-height:.96;
  margin:0 0 22px;
}
.couples-final-copy p{
  max-width:520px;
  color:#66444d;
  font-size:17px;
  line-height:1.75;
  margin:0;
}
.couples-final-experience{
  position:relative;
  z-index:4;
  background:#fffaf6;
  padding:42px clamp(28px,6vw,104px) 52px;
  text-align:center;
}
.couples-final-experience > .couples-eyebrow{
  display:inline-block;
  margin-bottom:24px;
  font-family:var(--font-clean) !important;
}
.couples-feature-row.refined{
  max-width:1180px;
  margin:0 auto;
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:0 !important;
  border-left:0 !important;
  padding-left:0 !important;
}
.couples-feature-row.refined article{
  padding:16px 34px !important;
  border-left:1px solid rgba(196,147,68,.30);
}
.couples-feature-row.refined article:first-child{border-left:0;}
.couples-feature-row.refined span{
  font-family:var(--font-main);
  color:#c49344;
  font-size:42px;
  line-height:1;
}
.couples-feature-row.refined h3,
.couples-feature-row.refined p{
  font-family:var(--font-clean) !important;
}
.couples-pricing-section{
  padding-top:76px !important;
  background:linear-gradient(180deg,#fffaf6,#f8e9e1) !important;
}
.couples-contact-card h2,
.couples-price-card h3,
.section-title h2{
  font-family:var(--font-main) !important;
}
.couples-luxury-page footer{
  font-family:var(--font-clean) !important;
  background:linear-gradient(180deg,#b9798f,#7d3950) !important;
  padding:36px clamp(24px,6vw,96px) !important;
}
.couples-luxury-page footer p{
  font-family:var(--font-clean) !important;
  font-size:14px !important;
  letter-spacing:.02em !important;
  color:#fff8ef !important;
}
.couples-luxury-page footer img{height:84px !important; width:auto !important; object-fit:contain !important;}
@media(max-width:1050px){
  .couples-final-photo{width:100%; opacity:.92;}
  .couples-final-veil{
    background:linear-gradient(180deg,#fffaf6 0%,rgba(255,250,246,.86) 35%,rgba(255,250,246,.18) 72%,#fffaf6 100%);
  }
  .couples-final-copy{text-align:center;margin:0 auto;}
  .couples-final-logo{margin-left:auto;margin-right:auto;}
  .couples-final-kicker{justify-content:center;}
  .couples-feature-row.refined{grid-template-columns:repeat(2,1fr) !important;}
  .couples-feature-row.refined article:nth-child(odd){border-left:0;}
}
@media(max-width:720px){
  .couples-luxury-page .site-header{position:fixed;top:18px;left:28px;right:28px;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-radius:30px;background:rgba(255,245,248,.64);border:1px solid rgba(213,167,93,.34);backdrop-filter:blur(18px);box-shadow:0 14px 38px rgba(134,65,88,.12);overflow:visible}
  .couples-final-hero{padding:132px 22px 70px;min-height:660px;}
  .couples-final-copy h1{font-size:50px;}
  .couples-final-kicker span{width:42px;}
  .couples-feature-row.refined{grid-template-columns:1fr !important;}
  .couples-feature-row.refined article{border-left:0 !important;border-top:1px solid rgba(196,147,68,.24);}
  .couples-feature-row.refined article:first-child{border-top:0;}
}


/* ===== ACTUAL FIX: couples page separation + typography alignment ===== */
body.couples-luxury-page{
  background:#fffaf6 !important;
  overflow-x:hidden !important;
}
body.couples-luxury-page .site-header{position:fixed;top:18px;left:28px;right:28px;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-radius:30px;background:rgba(255,245,248,.64);border:1px solid rgba(213,167,93,.34);backdrop-filter:blur(18px);box-shadow:0 14px 38px rgba(134,65,88,.12);overflow:visible}
body.couples-luxury-page main{
  margin-top:0 !important;
}
.couples-final-hero{
  max-width:1760px !important;
  margin:0 auto !important;
  min-height:720px !important;
  padding:86px clamp(42px,6.5vw,124px) 78px !important;
  border-radius:0 0 34px 34px !important;
  background:#fffaf6 !important;
  overflow:hidden !important;
  isolation:isolate !important;
  border-top:1px solid rgba(196,147,68,.12) !important;
}
.couples-final-photo{
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:68% !important;
  background-image:url('assets/couples-romantic-beds.png') !important;
  background-size:cover !important;
  background-position:center right !important;
  opacity:1 !important;
  z-index:0 !important;
}
.couples-final-veil{
  z-index:1 !important;
  background:
    linear-gradient(90deg, #fffaf6 0%, #fffaf6 27%, rgba(255,250,246,.92) 34%, rgba(255,250,246,.56) 47%, rgba(255,250,246,.12) 63%, rgba(255,250,246,0) 82%),
    linear-gradient(180deg, rgba(255,250,246,0) 0%, rgba(255,250,246,0) 72%, #fffaf6 100%) !important;
}
.couples-final-hero:after{
  bottom:-72px !important;
  height:130px !important;
  z-index:2 !important;
  box-shadow:0 -18px 42px rgba(255,250,246,.74) !important;
}
.couples-final-copy{
  z-index:3 !important;
  max-width:620px !important;
  padding-top:10px !important;
}
.couples-final-logo{
  width:min(390px,86%) !important;
  margin:0 0 42px 0 !important;
}
.couples-final-copy h1{
  font-size:clamp(58px,5.8vw,92px) !important;
  line-height:.92 !important;
  letter-spacing:-.025em !important;
}
.couples-final-copy p{
  max-width:560px !important;
  font-size:18px !important;
}
.couples-final-experience{
  padding-top:58px !important;
}
.couples-contact-card{
  max-width:1540px !important;
  margin:0 auto 86px !important;
  width:calc(100% - 160px) !important;
  background:linear-gradient(135deg,#8f465f 0%,#b9798f 100%) !important;
  border-radius:38px !important;
}
.couples-contact-card h2{
  font-family:var(--font-main) !important;
  font-weight:500 !important;
  letter-spacing:-.018em !important;
}
.couples-contact-card p,
.couples-contact-card a,
.couples-luxury-page footer p,
.couples-luxury-page footer a{
  font-family:var(--font-clean) !important;
}
.couples-luxury-page footer{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  background:#9a526a !important;
  border-top:0 !important;
  box-shadow:none !important;
  min-height:126px !important;
}
.couples-luxury-page footer img{
  height:70px !important;
  opacity:.96 !important;
}
.couples-luxury-page footer p{
  font-size:15px !important;
  font-weight:500 !important;
  letter-spacing:.01em !important;
}
@media(max-width:1050px){
  body.couples-luxury-page .site-header{position:fixed;top:18px;left:28px;right:28px;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-radius:30px;background:rgba(255,245,248,.64);border:1px solid rgba(213,167,93,.34);backdrop-filter:blur(18px);box-shadow:0 14px 38px rgba(134,65,88,.12);overflow:visible}
  .couples-final-hero{padding:70px 28px 70px !important;}
  .couples-final-photo{width:100% !important;}
  .couples-final-veil{background:linear-gradient(180deg,#fffaf6 0%,rgba(255,250,246,.92) 38%,rgba(255,250,246,.28) 70%,#fffaf6 100%) !important;}
  .couples-contact-card{width:calc(100% - 42px) !important;}
}

/* ===== FINAL POLISH: pricing + reservation card typography to match main site ===== */
body.couples-luxury-page{
  --couples-cream:#fff8f4;
  --couples-cream-2:#fffaf7;
  --couples-plum:#7d3950;
  --couples-mauve:#b9798f;
  --couples-gold:#c49344;
  --couples-ink:#572033;
}
body.couples-luxury-page .section-title h2,
body.couples-luxury-page .couples-price-card h3,
body.couples-luxury-page .couples-price-card strong,
body.couples-luxury-page .couples-contact-card h2{
  font-family:var(--font-main) !important;
  font-weight:500 !important;
}
body.couples-luxury-page .section-title p,
body.couples-luxury-page .couples-price-card p,
body.couples-luxury-page .couples-contact-card p,
body.couples-luxury-page .contact-details,
body.couples-luxury-page .contact-details p,
body.couples-luxury-page .contact-details a,
body.couples-luxury-page .mini-label,
body.couples-luxury-page .couples-eyebrow,
body.couples-luxury-page .couples-includes span,
body.couples-luxury-page .luxe-add{
  font-family:var(--font-clean) !important;
}
body.couples-luxury-page .couples-pricing-section{
  padding:86px clamp(28px,7vw,130px) 76px !important;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.78), transparent 26%),
    radial-gradient(circle at 84% 28%, rgba(215,184,194,.28), transparent 30%),
    linear-gradient(180deg,#fffaf6 0%,#f9eee8 100%) !important;
}
body.couples-luxury-page .couples-pricing-section:before{display:none !important;}
body.couples-luxury-page .section-title{
  max-width:980px !important;
  margin-bottom:42px !important;
}
body.couples-luxury-page .section-title .couples-eyebrow,
body.couples-luxury-page .mini-label{
  color:var(--couples-gold) !important;
  letter-spacing:.34em !important;
  font-weight:800 !important;
}
body.couples-luxury-page .section-title h2{
  color:var(--couples-ink) !important;
  font-size:clamp(44px,4.5vw,74px) !important;
  letter-spacing:-.018em !important;
}
body.couples-luxury-page .section-title p{
  color:#6d4b55 !important;
  font-size:18px !important;
}
body.couples-luxury-page .couples-price-grid{
  gap:36px !important;
  align-items:stretch !important;
}
body.couples-luxury-page .couples-price-card{
  text-align:center !important;
  padding:46px 48px 42px !important;
  background:rgba(255,255,255,.74) !important;
  border:1px solid rgba(196,147,68,.30) !important;
  border-radius:34px !important;
  box-shadow:0 28px 80px rgba(122,61,80,.09) !important;
  position:relative !important;
  overflow:hidden !important;
}
body.couples-luxury-page .couples-price-card:before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:32px;
  background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,255,255,0));
  pointer-events:none;
}
body.couples-luxury-page .couples-price-card.featured{
  transform:none !important;
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(249,228,224,.68)) !important;
}
body.couples-luxury-page .couples-price-card h3{
  color:var(--couples-plum) !important;
  font-size:clamp(45px,4vw,62px) !important;
  line-height:1 !important;
  margin:12px 0 18px !important;
  letter-spacing:-.02em !important;
}
body.couples-luxury-page .couples-price-card h3:after{
  content:"";
  display:block;
  width:170px;
  height:1px;
  margin:18px auto 0;
  background:linear-gradient(90deg,transparent,var(--couples-gold),transparent);
}
body.couples-luxury-page .couples-price-card strong{
  color:var(--couples-gold) !important;
  font-size:clamp(58px,5vw,82px) !important;
  line-height:1 !important;
  margin-bottom:22px !important;
}
body.couples-luxury-page .couples-price-card p:not(.mini-label){
  max-width:430px !important;
  margin:0 auto 30px !important;
  color:#6d4b55 !important;
  font-size:16px !important;
  line-height:1.7 !important;
}
body.couples-luxury-page .luxe-add{
  max-width:430px !important;
  margin:0 auto !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#bd8198,#8a4059) !important;
  box-shadow:0 16px 34px rgba(122,61,80,.18) !important;
  letter-spacing:.16em !important;
  height:52px !important;
}
body.couples-luxury-page .couples-includes{
  margin-top:40px !important;
}
body.couples-luxury-page .couples-includes span{
  background:rgba(255,255,255,.78) !important;
  border-color:rgba(196,147,68,.32) !important;
  color:#673442 !important;
  box-shadow:0 12px 28px rgba(122,61,80,.045) !important;
}
body.couples-luxury-page .couples-contact-card{
  width:calc(100% - 150px) !important;
  max-width:1650px !important;
  min-height:250px !important;
  margin:0 auto 0 !important;
  padding:54px 64px !important;
  border-radius:38px !important;
  background:
    linear-gradient(90deg,rgba(139,64,89,.96) 0%,rgba(180,112,134,.94) 56%,rgba(122,61,80,.50) 100%),
    url('assets/couples-romantic-beds.png') right 42% / 42% auto no-repeat !important;
  color:#fff8f4 !important;
  align-items:center !important;
  box-shadow:0 28px 82px rgba(122,61,80,.16) !important;
  position:relative !important;
  overflow:hidden !important;
}
body.couples-luxury-page .couples-contact-card:before{
  content:"";
  position:absolute;
  left:32px;
  top:26px;
  width:170px;
  height:190px;
  opacity:.16;
  border-left:1px solid rgba(255,248,244,.65);
  border-radius:50%;
  transform:rotate(-18deg);
}
body.couples-luxury-page .couples-contact-card > div{position:relative;z-index:1;}
body.couples-luxury-page .couples-contact-card > div:first-child{
  padding-right:46px !important;
  border-right:1px solid rgba(220,200,164,.38) !important;
}
body.couples-luxury-page .couples-contact-card .couples-eyebrow{
  color:#dcc8a4 !important;
  margin:0 0 12px !important;
}
body.couples-luxury-page .couples-contact-card h2{
  color:#fff8f4 !important;
  font-size:clamp(44px,4.5vw,66px) !important;
  line-height:.96 !important;
  letter-spacing:-.018em !important;
  margin:0 0 18px !important;
}
body.couples-luxury-page .couples-contact-card h2:after{
  content:"";
  display:block;
  width:130px;
  height:1px;
  margin:18px 0 0;
  background:linear-gradient(90deg,var(--couples-gold),transparent);
}
body.couples-luxury-page .couples-contact-card p{
  color:#fff8f4 !important;
  font-size:16px !important;
  line-height:1.7 !important;
}
body.couples-luxury-page .contact-details{
  padding-left:28px !important;
}
body.couples-luxury-page .contact-details a{
  display:block !important;
  color:#fff7de !important;
  font-size:clamp(30px,3vw,42px) !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  margin-bottom:18px !important;
}
body.couples-luxury-page .contact-details p{
  margin:10px 0 !important;
  font-size:16px !important;
}
body.couples-luxury-page footer{
  margin-top:0 !important;
  background:linear-gradient(180deg,#a95f78 0%,#884058 100%) !important;
  min-height:120px !important;
  border-top:1px solid rgba(220,200,164,.25) !important;
}
body.couples-luxury-page footer p{
  font-family:var(--font-clean) !important;
  font-size:14px !important;
  font-weight:600 !important;
  letter-spacing:.04em !important;
  text-transform:none !important;
  color:#fff8f4 !important;
}
@media(max-width:1050px){
  body.couples-luxury-page .couples-contact-card{
    width:calc(100% - 42px) !important;
    grid-template-columns:1fr !important;
    background:linear-gradient(135deg,#8a4059,#b9798f) !important;
  }
  body.couples-luxury-page .couples-contact-card > div:first-child{
    border-right:0 !important;
    padding-right:0 !important;
  }
  body.couples-luxury-page .contact-details{padding-left:0 !important;}
}

/* ===== HOUSTON CLEANUP: simplify lower couples page, match site fonts, remove busy mauve/photo block ===== */
body.couples-luxury-page .couples-pricing-section{
  padding:92px clamp(28px,7vw,130px) 90px !important;
  background:linear-gradient(180deg,#fffaf6 0%,#fff4f0 100%) !important;
}
body.couples-luxury-page .couples-price-grid{
  max-width:1050px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  gap:32px !important;
}
body.couples-luxury-page .couples-price-card{
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(196,147,68,.26) !important;
  border-radius:28px !important;
  box-shadow:0 18px 46px rgba(122,61,80,.07) !important;
  text-align:center !important;
}
body.couples-luxury-page .couples-price-card.featured{
  background:rgba(255,255,255,.76) !important;
}
body.couples-luxury-page .couples-contact-card{
  width:min(1180px, calc(100% - 64px)) !important;
  max-width:1180px !important;
  margin:0 auto 76px !important;
  padding:54px clamp(32px,5vw,72px) !important;
  min-height:auto !important;
  display:grid !important;
  grid-template-columns:1.15fr .85fr !important;
  gap:42px !important;
  align-items:center !important;
  border-radius:34px !important;
  color:#572033 !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(220,200,164,.18), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,248,244,.84)) !important;
  border:1px solid rgba(196,147,68,.30) !important;
  box-shadow:0 22px 60px rgba(122,61,80,.08) !important;
  overflow:hidden !important;
}
body.couples-luxury-page .couples-contact-card:before,
body.couples-luxury-page .couples-contact-card:after{
  display:none !important;
}
body.couples-luxury-page .couples-contact-card > div:first-child{
  border-right:1px solid rgba(196,147,68,.28) !important;
  padding-right:42px !important;
}
body.couples-luxury-page .couples-contact-card .couples-eyebrow{
  font-family:var(--font-clean) !important;
  color:#c49344 !important;
  letter-spacing:.32em !important;
  font-size:12px !important;
  font-weight:800 !important;
  margin:0 0 14px !important;
}
body.couples-luxury-page .couples-contact-card h2{
  font-family:var(--font-main) !important;
  color:#572033 !important;
  font-size:clamp(44px,4.5vw,66px) !important;
  line-height:.98 !important;
  font-weight:500 !important;
  letter-spacing:-.02em !important;
  margin:0 0 18px !important;
}
body.couples-luxury-page .couples-contact-card h2:after{
  content:"" !important;
  display:block !important;
  width:130px !important;
  height:1px !important;
  margin:20px 0 0 !important;
  background:linear-gradient(90deg,#c49344,transparent) !important;
}
body.couples-luxury-page .couples-contact-card p{
  font-family:var(--font-clean) !important;
  color:#6d4b55 !important;
  font-size:16px !important;
  line-height:1.75 !important;
  margin:0 !important;
}
body.couples-luxury-page .contact-details{
  padding-left:0 !important;
  display:grid !important;
  gap:12px !important;
}
body.couples-luxury-page .contact-details a{
  font-family:var(--font-main) !important;
  color:#8a4059 !important;
  font-size:clamp(38px,3.4vw,54px) !important;
  line-height:1 !important;
  font-weight:600 !important;
  letter-spacing:-.025em !important;
  margin:0 0 8px !important;
}
body.couples-luxury-page .contact-details p{
  font-family:var(--font-clean) !important;
  color:#6d4b55 !important;
  font-size:16px !important;
  line-height:1.65 !important;
  margin:0 !important;
}
body.couples-luxury-page footer{
  min-height:112px !important;
  padding:28px clamp(32px,6vw,96px) !important;
  background:#fffaf6 !important;
  border-top:1px solid rgba(196,147,68,.24) !important;
  color:#6d4b55 !important;
}
body.couples-luxury-page footer img{
  height:64px !important;
}
body.couples-luxury-page footer p{
  font-family:var(--font-clean) !important;
  color:#6d4b55 !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
@media(max-width:900px){
  body.couples-luxury-page .couples-contact-card{
    grid-template-columns:1fr !important;
    width:calc(100% - 36px) !important;
    padding:38px 28px !important;
  }
  body.couples-luxury-page .couples-contact-card > div:first-child{
    border-right:0 !important;
    border-bottom:1px solid rgba(196,147,68,.24) !important;
    padding-right:0 !important;
    padding-bottom:28px !important;
  }
  body.couples-luxury-page footer{
    display:block !important;
    text-align:center !important;
  }
}

/* ===== FINAL FOOTER BLEND: no boxed CTA, match main-site typography ===== */
body.couples-luxury-page .couples-contact-card{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:82px clamp(42px,8vw,150px) 54px !important;
  display:grid !important;
  grid-template-columns:minmax(320px,1.1fr) minmax(280px,.75fr) !important;
  gap:clamp(36px,7vw,110px) !important;
  align-items:end !important;
  border-radius:0 !important;
  border:0 !important;
  border-top:1px solid rgba(213,167,93,.28) !important;
  box-shadow:none !important;
  background:
    radial-gradient(circle at 15% 12%, rgba(247,221,158,.18), transparent 28%),
    radial-gradient(circle at 88% 15%, rgba(189,129,152,.12), transparent 34%),
    linear-gradient(180deg,#fffaf6 0%,#fff4f8 100%) !important;
  color:var(--ink) !important;
}
body.couples-luxury-page .couples-contact-card > div:first-child{
  border-right:0 !important;
  padding-right:0 !important;
  max-width:720px !important;
}
body.couples-luxury-page .couples-contact-card .couples-eyebrow{
  font-family:var(--font-clean) !important;
  color:var(--gold) !important;
  letter-spacing:.34em !important;
  text-transform:uppercase !important;
  font-size:12px !important;
  font-weight:800 !important;
  margin:0 0 18px !important;
}
body.couples-luxury-page .couples-contact-card h2{
  font-family:var(--font-main) !important;
  color:var(--plum-dark) !important;
  font-size:clamp(46px,5.4vw,82px) !important;
  line-height:.92 !important;
  font-weight:500 !important;
  letter-spacing:-.035em !important;
  margin:0 !important;
}
body.couples-luxury-page .couples-contact-card h2:after{
  content:"" !important;
  display:block !important;
  width:210px !important;
  height:1px !important;
  margin:28px 0 24px !important;
  background:linear-gradient(90deg,var(--gold),transparent) !important;
}
body.couples-luxury-page .couples-contact-card p{
  font-family:var(--font-clean) !important;
  color:#6d4b55 !important;
  font-size:17px !important;
  line-height:1.75 !important;
  max-width:620px !important;
}
body.couples-luxury-page .contact-details{
  display:block !important;
  padding:0 0 6px !important;
  text-align:left !important;
}
body.couples-luxury-page .contact-details a{
  display:block !important;
  font-family:var(--font-main) !important;
  color:var(--plum) !important;
  font-size:clamp(44px,4vw,66px) !important;
  line-height:.95 !important;
  font-weight:500 !important;
  letter-spacing:-.035em !important;
  margin:0 0 18px !important;
}
body.couples-luxury-page .contact-details p{
  font-family:var(--font-clean) !important;
  color:#6d4b55 !important;
  font-size:15px !important;
  line-height:1.65 !important;
  margin:9px 0 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
body.couples-luxury-page footer{
  margin:0 !important;
  padding:26px clamp(42px,8vw,150px) 34px !important;
  min-height:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  background:#fff4f8 !important;
  border-top:1px solid rgba(213,167,93,.22) !important;
  box-shadow:none !important;
}
body.couples-luxury-page footer img{
  height:58px !important;
  opacity:.86 !important;
}
body.couples-luxury-page footer p{
  font-family:var(--font-clean) !important;
  color:#714053 !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
  margin:0 !important;
}
@media(max-width:900px){
  body.couples-luxury-page .couples-contact-card{
    grid-template-columns:1fr !important;
    padding:58px 28px 42px !important;
    gap:28px !important;
  }
  body.couples-luxury-page footer{
    flex-direction:column !important;
    text-align:center !important;
    padding:26px 24px 34px !important;
  }
}

/* ===== HOUSTON: couples finale rebuilt to match the richer other pages ===== */
body.couples-luxury-page .couples-contact-card{display:none !important;}
.couples-finale{
  background:#fffaf6;
  margin:0;
  padding:0;
  position:relative;
  overflow:hidden;
}
.couples-finale-banner{
  width:min(1480px, calc(100% - 96px));
  min-height:360px;
  margin:30px auto 0;
  border-radius:34px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(213,167,93,.26);
  box-shadow:0 28px 80px rgba(122,61,80,.12);
  background:
    linear-gradient(90deg, rgba(91,32,53,.56), rgba(91,32,53,.30)),
    url('assets/spa-candle-towel-banner.jpg') center/cover no-repeat;
}
.couples-finale-banner:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 28%, rgba(255,255,255,.22), transparent 32%),
    linear-gradient(180deg, rgba(255,250,246,0), rgba(91,32,53,.18));
}
.couples-finale-banner-copy{
  position:relative;
  z-index:1;
  min-height:360px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:44px 28px;
}
.couples-finale-banner-copy .couples-eyebrow{
  font-family:var(--font-clean) !important;
  color:#dcc8a4 !important;
  letter-spacing:.34em !important;
  font-weight:800 !important;
  margin:0 0 14px !important;
}
.couples-finale-banner-copy h2{
  font-family:var(--font-main) !important;
  color:#fffaf6;
  font-size:clamp(44px,5vw,78px);
  line-height:.98;
  font-weight:500;
  margin:0;
  text-shadow:0 12px 30px rgba(60,22,32,.25);
}
.couples-finale .script-accent{
  font-family:var(--font-script);
  color:#f5dca5;
  font-size:clamp(38px,4vw,66px);
  line-height:1;
  margin:8px 0 0;
  text-shadow:0 12px 28px rgba(60,22,32,.24);
}
.couples-finale-cta{
  margin:0;
  padding:86px clamp(42px,8vw,150px) 78px;
  background:
    radial-gradient(circle at 16% 34%, rgba(247,221,158,.16), transparent 24%),
    radial-gradient(circle at 84% 16%, rgba(255,255,255,.12), transparent 28%),
    linear-gradient(135deg,#8a4059 0%,#6b2f43 100%);
  color:#fffaf6;
  display:grid;
  grid-template-columns:minmax(360px,1fr) minmax(290px,.52fr);
  gap:clamp(42px,8vw,120px);
  align-items:center;
  position:relative;
  overflow:hidden;
}
.couples-finale-cta:before{
  content:"";
  position:absolute;
  left:-80px;
  bottom:-120px;
  width:420px;
  height:420px;
  border:1px solid rgba(220,200,164,.18);
  border-radius:50%;
}
.couples-finale-cta:after{
  content:"";
  position:absolute;
  right:6%;
  top:18%;
  width:150px;
  height:210px;
  opacity:.18;
  background:url('assets/logo-real.png') center/contain no-repeat;
  filter:brightness(1.7);
}
.couples-finale-cta > div{position:relative;z-index:1;}
.couples-finale-cta .couples-eyebrow{
  color:#dcc8a4 !important;
  font-family:var(--font-clean) !important;
  letter-spacing:.34em !important;
  font-size:12px !important;
  font-weight:800 !important;
  margin:0 0 16px !important;
}
.couples-finale-cta h2{
  font-family:var(--font-main) !important;
  color:#fffaf6;
  font-size:clamp(46px,5.4vw,84px);
  line-height:.92;
  font-weight:500;
  letter-spacing:-.035em;
  margin:0;
  max-width:760px;
}
.couples-finale-cta h2:after{
  content:"";
  display:block;
  width:210px;
  height:1px;
  margin:28px 0 24px;
  background:linear-gradient(90deg,#dcc8a4,transparent);
}
.couples-finale-cta p{
  font-family:var(--font-clean) !important;
  color:#fff4ef;
  font-size:17px;
  line-height:1.75;
  max-width:640px;
  margin:0;
}
.finale-buttons{margin-top:26px !important;}
.finale-buttons .secondary-btn{
  background:rgba(255,250,246,.88) !important;
  color:#6b2f43 !important;
}
.finale-details{
  border-left:1px solid rgba(220,200,164,.34);
  padding-left:clamp(30px,4vw,64px);
}
.finale-details a{
  display:block;
  font-family:var(--font-main) !important;
  color:#fff7de;
  font-size:clamp(42px,4vw,68px);
  line-height:.95;
  font-weight:500;
  letter-spacing:-.035em;
  margin-bottom:22px;
}
.finale-details p{
  margin:14px 0 !important;
  font-size:16px !important;
  line-height:1.7 !important;
}
body.couples-luxury-page footer{
  margin:0 !important;
  padding:28px clamp(42px,8vw,150px) 36px !important;
  min-height:112px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  background:linear-gradient(180deg,#c78ba0,#9a526a) !important;
  border-top:1px solid rgba(220,200,164,.24) !important;
}
body.couples-luxury-page footer p{
  color:#fffaf6 !important;
  font-family:var(--font-clean) !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
  text-transform:none !important;
}
@media(max-width:950px){
  .couples-finale-banner{width:calc(100% - 36px);min-height:300px;}
  .couples-finale-banner-copy{min-height:300px;}
  .couples-finale-cta{grid-template-columns:1fr;padding:62px 28px 58px;gap:34px;}
  .finale-details{border-left:0;border-top:1px solid rgba(220,200,164,.28);padding:28px 0 0;}
  body.couples-luxury-page footer{flex-direction:column;text-align:center;padding:30px 24px 38px !important;}
}


/* ===== REDO: script-refined couples finale, no ghost text ===== */
body.couples-luxury-page .couples-finale-banner{
  background:
    linear-gradient(90deg, rgba(91,32,53,.46), rgba(91,32,53,.22)),
    url('assets/peace-banner-clean.jpg') center/cover no-repeat !important;
}
body.couples-luxury-page .couples-finale-banner:before{
  background:
    radial-gradient(circle at 18% 28%, rgba(255,255,255,.18), transparent 32%),
    linear-gradient(180deg, rgba(255,250,246,0), rgba(91,32,53,.14)) !important;
}
body.couples-luxury-page .couples-finale-banner-copy h2,
body.couples-luxury-page .couples-finale .script-accent{
  text-shadow:0 12px 30px rgba(60,22,32,.24) !important;
}
body.couples-luxury-page .couples-finale-cta:after{display:none !important;}
body.couples-luxury-page .pricing-script{
  font-family:var(--font-script);
  font-size:clamp(40px,4vw,64px) !important;
  line-height:1 !important;
  color:#a35f78 !important;
  margin:4px 0 0 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
body.couples-luxury-page .couples-finale-cta{
  padding:82px clamp(42px,8vw,150px) 78px !important;
  background:
    radial-gradient(circle at 18% 26%, rgba(247,221,158,.15), transparent 28%),
    linear-gradient(135deg,#8f405a 0%,#702d43 100%) !important;
}
body.couples-luxury-page .couples-finale-cta h2,
body.couples-luxury-page .finale-details a{
  font-family:var(--font-main) !important;
  font-weight:500 !important;
}
body.couples-luxury-page .finale-script{
  font-family:var(--font-script);
  font-size:clamp(36px,3.4vw,58px) !important;
  color:#f5dca5 !important;
  line-height:1 !important;
  margin:10px 0 16px !important;
  max-width:none !important;
}
body.couples-luxury-page .couples-finale-cta h2:after{
  margin:18px 0 18px !important;
  width:185px !important;
  background:linear-gradient(90deg,#dcc8a4,transparent) !important;
}
body.couples-luxury-page .finale-details{
  border-left:1px solid rgba(220,200,164,.36) !important;
}
body.couples-luxury-page .finale-details p{
  font-family:var(--font-clean) !important;
  color:#fff4ef !important;
  font-weight:400 !important;
}
body.couples-luxury-page footer{
  background:linear-gradient(180deg,#bd8198,#8a4059) !important;
  border-top:1px solid rgba(220,200,164,.28) !important;
}
body.couples-luxury-page footer p{
  font-family:var(--font-clean) !important;
  font-size:13px !important;
  line-height:1.7 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  font-weight:700 !important;
  color:#fff8ef !important;
}
@media(max-width:950px){
  body.couples-luxury-page .finale-details{border-left:0 !important;}
}

/* Gift Certificate Luxury Page */
body.gift-page{
  background:radial-gradient(circle at 18% 12%,rgba(220,200,164,.26),transparent 30%),linear-gradient(180deg,#fffaf6 0%,#f3e6df 46%,#fffaf6 100%);
  color:#4b3431;
}
.gift-page .site-header{position:fixed;top:18px;left:28px;right:28px;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-radius:30px;background:rgba(255,245,248,.64);border:1px solid rgba(213,167,93,.34);backdrop-filter:blur(18px);box-shadow:0 14px 38px rgba(134,65,88,.12);overflow:visible}
.gift-hero{
  min-height:780px;
  padding:150px clamp(24px,7vw,110px) 80px;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:clamp(34px,6vw,92px);
  align-items:center;
  position:relative;
  overflow:hidden;
}
.gift-hero:before{
  content:"";
  position:absolute;
  width:520px;height:520px;
  right:-160px;top:130px;
  border-radius:48% 52% 43% 57%;
  background:linear-gradient(145deg,rgba(215,184,194,.4),rgba(220,200,164,.24));
  filter:blur(.2px);
  z-index:0;
}
.gift-hero-copy,.gift-certificate-preview{position:relative;z-index:1;}
.gift-hero-copy h1{
  font-family:var(--font-main);
  font-size:clamp(54px,7vw,96px);
  line-height:.91;
  letter-spacing:-.045em;
  max-width:760px;
  margin:10px 0 18px;
  color:#59343b;
}
.gift-hero-copy > p:last-of-type{
  max-width:610px;
  font-size:18px;
  line-height:1.9;
  color:#7d5a55;
}
.gift-script{
  font-family:var(--font-script);
  font-size:45px;
  color:var(--gold);
  margin:-4px 0 12px;
}
.gift-script.small{font-size:38px;margin:0 0 20px;}
.gift-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}
.gift-certificate-preview{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:520px;
}
.certificate-card{
  width:min(500px,92vw);
  min-height:340px;
  padding:44px 42px;
  border-radius:38px;
  background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(249,239,231,.96));
  border:1px solid rgba(196,147,68,.42);
  box-shadow:0 32px 90px rgba(103,57,63,.22);
  text-align:center;
  position:relative;
  overflow:hidden;
  transform:rotate(-2deg);
}
.certificate-card:before{
  content:"";
  position:absolute;inset:16px;
  border-radius:28px;
  border:1px solid rgba(196,147,68,.32);
  pointer-events:none;
}
.certificate-card:after{
  content:"gift";
  position:absolute;
  right:18px;bottom:-18px;
  font-family:var(--font-script);
  font-size:116px;
  color:rgba(215,184,194,.24);
}
.certificate-card img{height:84px;width:auto;object-fit:contain;margin-bottom:8px;}
.cert-label,.mini-label{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:11px;
  font-weight:800;
  color:#9a6f50;
}
.certificate-card h2{
  font-family:var(--font-main);
  font-size:45px;
  line-height:1;
  color:#5e3840;
  margin:18px 0;
}
.cert-line{height:1px;background:linear-gradient(90deg,transparent,#c49344,transparent);margin:18px auto;width:78%;}
.certificate-card p{color:#795a55;position:relative;z-index:1;}
.certificate-card span{display:block;margin-top:22px;color:#b9855e;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:11px;position:relative;z-index:1;}
.gift-options-section{padding:74px clamp(24px,7vw,110px);background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(243,230,223,.58));}
.gift-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;}
.gift-option-card{
  padding:34px;
  border-radius:34px;
  background:rgba(255,250,246,.82);
  border:1px solid rgba(196,147,68,.28);
  box-shadow:0 20px 55px rgba(94,52,59,.09);
  position:relative;
  overflow:hidden;
}
.gift-option-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-70px;background:rgba(215,184,194,.24);}
.gift-option-card.featured{background:linear-gradient(145deg,#fffaf6,#ead6cc);transform:translateY(-12px);box-shadow:0 28px 70px rgba(94,52,59,.16);}
.gift-option-card h3{font-family:var(--font-main);font-size:38px;color:#5e3840;margin:14px 0 10px;}
.gift-option-card p{color:#775955;line-height:1.7;}
.instant-add{margin-top:20px;border:0;border-radius:999px;padding:14px 22px;background:#6b3d49;color:#fff;font-weight:800;cursor:pointer;box-shadow:0 12px 26px rgba(107,61,73,.2);}
.gift-details{padding:88px clamp(24px,7vw,110px);display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:stretch;}
.gift-detail-panel,.gift-contact-card{border-radius:42px;border:1px solid rgba(196,147,68,.3);background:rgba(255,250,246,.76);box-shadow:0 22px 62px rgba(94,52,59,.1);padding:42px;}
.gift-detail-panel h2{font-family:var(--font-main);font-size:52px;color:#5e3840;line-height:1;margin:10px 0 0;}
.gift-steps{display:grid;gap:14px;margin-top:20px;}
.gift-steps article{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:16px;padding:16px 18px;border-radius:22px;background:rgba(231,214,204,.36);}
.gift-steps b{font-family:var(--font-main);color:#b9855e;font-size:26px;}
.gift-steps span{font-weight:700;color:#6c4b49;}
.gift-contact-card{background:linear-gradient(145deg,#7d3950,#c78ba0);color:white;display:flex;flex-direction:column;justify-content:center;}
.gift-contact-card h3{font-family:var(--font-main);font-size:48px;line-height:1;margin:0 0 12px;}
.gift-contact-card p{color:#fff4ef;line-height:1.75;}
.gift-contact-card a{font-family:var(--font-main);font-size:34px;color:#fff;text-decoration:none;margin:16px 0 14px;}
.gift-contact-card span{color:#fff4ef;line-height:1.7;}
.gift-final-banner{margin:10px clamp(24px,7vw,110px) 84px;padding:64px 34px;border-radius:48px;text-align:center;background:linear-gradient(rgba(255,250,246,.72),rgba(255,250,246,.82)),url('assets/spa-candle-towel-banner.jpg') center/cover;border:1px solid rgba(196,147,68,.34);box-shadow:0 28px 70px rgba(94,52,59,.14);}
.gift-final-banner h2{font-family:var(--font-main);font-size:clamp(42px,6vw,76px);color:#5e3840;line-height:.95;margin:8px 0 24px;}
@media(max-width:980px){.gift-hero,.gift-details{grid-template-columns:1fr}.gift-grid{grid-template-columns:1fr}.gift-option-card.featured{transform:none}.gift-certificate-preview{min-height:auto}.certificate-card{transform:none}.gift-page .main-nav{display:flex;gap:22px;text-transform:uppercase;font-size:12px;letter-spacing:.09em;font-weight:800;color:#714053}}
@media(max-width:620px){.gift-hero{padding:125px 20px 56px}.gift-hero-copy h1{font-size:52px}.gift-script{font-size:38px}.gift-options-section,.gift-details{padding-left:20px;padding-right:20px}.gift-detail-panel,.gift-contact-card{padding:28px;border-radius:30px}.gift-contact-card h3,.gift-detail-panel h2{font-size:40px}.gift-steps article{grid-template-columns:1fr}.gift-final-banner{margin-left:20px;margin-right:20px}.gift-page .cart-pill{display:none}}

/* Interactive Gift Certificate Generator */
.gift-builder-page .certificate-hero{min-height:700px;}
.gift-builder-page .mini-cert-card:after{content:"preview";}
.certificate-generator-section{padding:82px clamp(20px,6vw,96px);background:linear-gradient(180deg,rgba(255,250,246,.9),rgba(240,224,216,.72));}
.certificate-builder-shell{display:grid;grid-template-columns:minmax(290px,390px) minmax(0,1fr);gap:34px;align-items:start;margin-top:38px;}
.certificate-form-panel{border-radius:34px;padding:30px;background:rgba(255,250,246,.92);border:1px solid rgba(196,147,68,.34);box-shadow:0 22px 62px rgba(94,52,59,.12);position:sticky;top:108px;}
.certificate-form-panel h3{font-family:var(--font-main);font-size:40px;line-height:1;color:#5e3840;margin:8px 0 22px;}
.certificate-form-panel label{display:block;margin:16px 0 8px;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#7b5450;}
.certificate-form-panel input,.certificate-form-panel textarea,.certificate-form-panel select{width:100%;box-sizing:border-box;border:1px solid rgba(196,147,68,.34);border-radius:18px;background:#fffaf6;color:#513733;padding:14px 15px;font-family:var(--font-clean);font-size:15px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.55);}
.certificate-form-panel input:focus,.certificate-form-panel textarea:focus,.certificate-form-panel select:focus{border-color:#b9855e;box-shadow:0 0 0 4px rgba(220,200,164,.22);}
.amount-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:10px;}
.amount-row button{border:1px solid rgba(196,147,68,.38);border-radius:999px;background:#f7eee8;color:#6a4542;font-weight:900;padding:11px 10px;cursor:pointer;}
.amount-row button:hover{background:#ead6cc;}
.certificate-form-panel select{appearance:none;background:#fffaf6 linear-gradient(45deg,transparent 50%,#9a6f50 50%) right 18px center/8px 8px no-repeat;}
.input-help{font-size:11px;line-height:1.45;color:#9a7a73;margin:8px 0 0;}
.auto-cert-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;}
.auto-cert-row div{border:1px solid rgba(196,147,68,.28);border-radius:18px;background:rgba(247,238,232,.72);padding:13px 14px;}
.auto-cert-row span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:900;color:#9a6f50;margin-bottom:5px;}
.auto-cert-row strong{display:block;color:#5e3840;font-size:13px;line-height:1.35;}
#certAmount[readonly]{color:#765452;background:#f8f0eb;}
.certificate-actions{display:grid;gap:12px;margin-top:22px;}
.cert-print-btn,.cert-cart-btn{width:100%;border:0;text-align:center;cursor:pointer;}
.cert-cart-btn{background:transparent;}
.builder-note{font-size:12px;line-height:1.55;color:#8b6b66;margin:16px 0 0;}
.print-zone{display:flex;justify-content:center;align-items:flex-start;}
.print-certificate{width:min(900px,100%);aspect-ratio:1.414/1;min-height:560px;position:relative;overflow:hidden;border-radius:32px;background:radial-gradient(circle at 18% 20%,rgba(220,200,164,.24),transparent 24%),linear-gradient(145deg,#fffdf8 0%,#f5e8df 48%,#fffaf6 100%);border:1px solid rgba(196,147,68,.55);box-shadow:0 30px 85px rgba(94,52,59,.18);padding:44px 54px;box-sizing:border-box;color:#4b3431;}
.print-certificate:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(255,255,255,.26),transparent 38%,rgba(215,184,194,.18));pointer-events:none;}
.watermark-mark{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%) rotate(-19deg);font-family:var(--font-main);font-size:clamp(54px,8vw,102px);font-weight:700;line-height:.9;text-align:center;color:rgba(108,61,73,.085);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;z-index:0;}
.certificate-inner-border{position:absolute;inset:20px;border:1px solid rgba(196,147,68,.42);border-radius:24px;pointer-events:none;z-index:2;}
.certificate-corner{position:absolute;width:210px;height:210px;border-radius:50%;background:rgba(215,184,194,.28);filter:blur(.2px);z-index:0;}
.certificate-corner.top-left{left:-90px;top:-95px;}
.certificate-corner.bottom-right{right:-86px;bottom:-96px;background:rgba(220,200,164,.26);}
.print-cert-header,.print-cert-body,.print-cert-footer{position:relative;z-index:3;}
.print-cert-header{text-align:center;}
.print-cert-header img{height:86px;width:auto;object-fit:contain;margin:0 auto 8px;display:block;}
.print-cert-header p{text-transform:uppercase;letter-spacing:.2em;color:#9a6f50;font-size:11px;font-weight:900;margin:0;}
.print-cert-body{text-align:center;padding:18px 24px 10px;}
.print-cert-body .script-line{font-family:var(--font-script);font-size:42px;color:#b9855e;margin:0 0 -8px;}
.print-cert-body h2{font-family:var(--font-main);font-size:clamp(54px,7vw,88px);line-height:.9;color:#5e3840;margin:0 0 18px;letter-spacing:-.04em;}
.cert-presented{text-transform:uppercase;letter-spacing:.18em;font-weight:900;font-size:11px;color:#7d5a55;margin:10px 0 12px;}
.blank-name-line{width:min(560px,86%);height:42px;border-bottom:1.8px solid rgba(92,57,58,.55);margin:0 auto 6px;}
.blank-caption{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#9a7a73;margin:0 0 18px;}
.cert-value-row{width:min(430px,86%);margin:0 auto 18px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(196,147,68,.46);border-bottom:1px solid rgba(196,147,68,.46);padding:13px 8px;}
.cert-value-row span{text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:900;color:#7d5a55;}
.cert-value-row strong{font-family:var(--font-main);font-size:44px;color:#6b3d49;}
.cert-message{max-width:620px;margin:0 auto 22px;color:#6f504d;font-size:17px;line-height:1.65;}
.cert-meta-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:12px;text-align:left;max-width:720px;margin:0 auto;}
.cert-meta-grid div{background:rgba(255,250,246,.62);border:1px solid rgba(196,147,68,.22);border-radius:16px;padding:13px 14px;}
.cert-meta-grid span{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:900;color:#9a6f50;margin-bottom:5px;}
.cert-meta-grid strong{display:block;color:#5c3d3a;font-size:13px;line-height:1.35;word-break:break-word;}
.print-cert-footer{position:absolute;left:54px;right:54px;bottom:34px;display:flex;justify-content:space-between;gap:16px;border-top:1px solid rgba(196,147,68,.34);padding-top:14px;}
.print-cert-footer p{margin:0;color:#7d5a55;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;}
@media(max-width:1050px){.certificate-builder-shell{grid-template-columns:1fr}.certificate-form-panel{position:relative;top:auto}.print-certificate{min-height:620px}.cert-meta-grid{grid-template-columns:1fr}.print-cert-footer{position:relative;left:auto;right:auto;bottom:auto;margin-top:22px;flex-direction:column;text-align:center}.gift-builder-page .main-nav{display:flex;gap:22px;text-transform:uppercase;font-size:12px;letter-spacing:.09em;font-weight:800;color:#714053}}
@media(max-width:650px){.auto-cert-row{grid-template-columns:1fr}.certificate-generator-section{padding-left:16px;padding-right:16px}.certificate-form-panel{padding:22px;border-radius:26px}.print-certificate{border-radius:22px;padding:34px 22px;min-height:660px}.certificate-inner-border{inset:12px;border-radius:18px}.print-cert-body{padding-left:0;padding-right:0}.watermark-mark{font-size:46px;white-space:normal;width:92%}.blank-name-line{width:92%}.cert-value-row{width:92%}.print-cert-header img{height:72px}.print-cert-body .script-line{font-size:36px}.print-cert-body h2{font-size:56px}.gift-builder-page .cart-pill{display:none}}

.checkout-lock-note{
  margin:0;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(215,184,194,.18);
  color:#6b4b49;
  font-size:12px;
  line-height:1.55;
  text-align:center;
  font-weight:700;
}
.cart-lock-badge{
  display:block;
  margin-top:5px;
  font-style:normal;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#9a6f50;
}
.certificate-unlock-panel{
  margin-top:24px;
}
.certificate-unlock-panel:empty{display:none;}
.certificate-unlock-panel{
  border:1px solid rgba(196,147,68,.32);
  border-radius:28px;
  padding:26px;
  background:rgba(255,250,246,.74);
  box-shadow:0 20px 54px rgba(94,52,59,.1);
}
.certificate-unlock-panel h2{
  font-family:var(--font-main);
  color:#5e3840;
  font-size:38px;
  margin:0 0 8px;
}
.certificate-unlock-panel p{color:#6b4b49;line-height:1.65;}
.locked-cert-list{display:grid;gap:12px;margin:18px 0;}
.locked-cert-list article{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px 18px;
  align-items:center;
  padding:15px 16px;
  border-radius:18px;
  background:rgba(231,214,204,.36);
}
.locked-cert-list b{color:#5e3840;}
.locked-cert-list span{display:block;color:#80615e;font-size:12px;margin-top:4px;}
.locked-cert-list strong{color:#6b3d49;font-size:20px;}

@media print{
  @page{size:landscape;margin:.25in;}
  body{background:white !important;color:#4b3431 !important;}
  .no-print,.certificate-form-panel,.section-title,.gift-details,body>footer,.site-header{position:fixed;top:18px;left:28px;right:28px;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-radius:30px;background:rgba(255,245,248,.64);border:1px solid rgba(213,167,93,.34);backdrop-filter:blur(18px);box-shadow:0 14px 38px rgba(134,65,88,.12);overflow:visible}
  main,.certificate-generator-section,.certificate-builder-shell,.print-zone{display:block !important;padding:0 !important;margin:0 !important;background:white !important;box-shadow:none !important;}
  .print-certificate{width:100% !important;height:auto !important;min-height:0 !important;aspect-ratio:1.414/1 !important;border-radius:0 !important;box-shadow:none !important;break-inside:avoid;page-break-inside:avoid;}
  .watermark-mark{display:none !important;}
  .print-certificate:before{display:none !important;}
  .certificate-corner{opacity:.45 !important;}
}

/* Gift certificate luxury wellness redesign */
.wellness-certificate{
  width:min(980px,100%);
  aspect-ratio:1.62/1;
  min-height:540px;
  border-radius:30px;
  padding:38px 48px 92px 300px;
  background:
    radial-gradient(circle at 86% 18%,rgba(215,184,194,.34),transparent 22%),
    radial-gradient(circle at 74% 42%,rgba(220,200,164,.22),transparent 24%),
    linear-gradient(115deg,#fffaf6 0%,#fff8f3 48%,#f3dce1 100%);
  border:1px solid rgba(196,147,68,.58);
  box-shadow:0 32px 90px rgba(94,52,59,.18);
}
.wellness-certificate:before{
  background:
    linear-gradient(90deg,rgba(255,255,255,.55),rgba(255,255,255,0) 40%),
    linear-gradient(180deg,rgba(255,255,255,.2),rgba(215,184,194,.2));
}
.wellness-certificate .certificate-inner-border{inset:18px;border-radius:24px;border-color:rgba(196,147,68,.52)}
.cert-photo-panel{
  position:absolute;left:20px;top:20px;bottom:74px;width:248px;border-radius:22px 0 0 22px;
  background:
    linear-gradient(180deg,rgba(255,243,245,.14),rgba(246,215,222,.34)),
    url('assets/peace-banner-clean.jpg') 12% center/auto 100% no-repeat;
  overflow:hidden;z-index:1;
  box-shadow:inset -18px 0 36px rgba(255,250,246,.82);
}
.cert-photo-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,250,246,0) 0%,rgba(255,250,246,.25) 64%,rgba(255,250,246,.95) 100%)}
.cert-monogram{position:absolute;right:58px;top:54px;font-family:var(--font-main);font-size:118px;font-weight:600;color:rgba(196,147,68,.12);letter-spacing:-.08em;z-index:1}
.ornate-corner{position:absolute;width:42px;height:42px;z-index:4;border-color:rgba(196,147,68,.72)}
.ornate-corner.tl{left:28px;top:28px;border-left:2px solid;border-top:2px solid;border-radius:12px 0 0 0}.ornate-corner.tr{right:28px;top:28px;border-right:2px solid;border-top:2px solid;border-radius:0 12px 0 0}.ornate-corner.bl{left:28px;bottom:28px;border-left:2px solid;border-bottom:2px solid;border-radius:0 0 0 12px}.ornate-corner.br{right:28px;bottom:28px;border-right:2px solid;border-bottom:2px solid;border-radius:0 0 12px 0}
.wellness-certificate .print-cert-header{text-align:left;display:flex;align-items:center;gap:18px;margin-bottom:0;position:relative;z-index:5}.wellness-certificate .print-cert-header img{height:86px;margin:0}.wellness-certificate .print-cert-header p{font-size:14px;letter-spacing:.35em;color:#9a6f50}.wellness-certificate .print-cert-body{text-align:left;padding:0;position:relative;z-index:5}.wellness-certificate .script-line{font-family:var(--font-script);font-size:clamp(78px,8vw,118px);line-height:.75;color:#7b5b82;margin:8px 0 18px;text-shadow:0 8px 24px rgba(123,91,130,.08)}
.wellness-certificate .cert-presented{font-size:10px;letter-spacing:.2em;margin:0 0 10px;color:#8a6a65}.wellness-certificate .blank-name-line{width:100%;height:32px;margin:0 0 18px;border-bottom:1.5px solid rgba(101,75,82,.48)}
.certificate-lines{display:grid;gap:10px;max-width:650px}.cert-line-item{display:grid;grid-template-columns:138px minmax(0,1fr);align-items:end;gap:10px;border-bottom:1px solid rgba(101,75,82,.36);min-height:25px}.cert-line-item span{text-transform:uppercase;letter-spacing:.14em;font-size:9px;font-weight:900;color:#9a6f50}.cert-line-item strong{font-size:13px;color:#624642;line-height:1.35;font-weight:700;word-break:break-word}.cert-split-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.cert-split-row .cert-line-item{grid-template-columns:76px minmax(0,1fr)}
.cert-blessing{font-family:var(--font-script);color:#7b5b82;font-size:28px;margin:18px 0 0;text-align:center}.wellness-certificate .print-cert-footer{left:20px;right:20px;bottom:20px;border:0;border-radius:0 0 24px 24px;padding:20px 28px;background:linear-gradient(90deg,rgba(226,184,199,.9),rgba(215,184,194,.74),rgba(220,200,164,.45));display:flex;justify-content:center;gap:22px;flex-wrap:wrap}.wellness-certificate .print-cert-footer p{font-size:10px;color:#694d58;letter-spacing:.08em}.wellness-certificate .watermark-mark{font-size:clamp(78px,11vw,138px);color:rgba(108,61,73,.052);transform:translate(-42%,-48%) rotate(-18deg);z-index:2}.wellness-certificate .blank-caption,.wellness-certificate .cert-value-row,.wellness-certificate .cert-meta-grid{display:none}
@media(max-width:1050px){.wellness-certificate{padding-left:265px}.cert-photo-panel{width:220px}.wellness-certificate .print-cert-footer{position:absolute;flex-direction:row;text-align:center}.cert-split-row{grid-template-columns:1fr}}
@media(max-width:650px){.wellness-certificate{aspect-ratio:auto;min-height:700px;padding:270px 24px 116px}.cert-photo-panel{top:18px;left:18px;right:18px;bottom:auto;width:auto;height:220px;border-radius:20px;background-size:cover;background-position:center}.cert-photo-panel:after{background:linear-gradient(180deg,rgba(255,250,246,0) 0%,rgba(255,250,246,.95) 100%)}.wellness-certificate .script-line{font-size:76px}.certificate-lines{gap:13px}.cert-line-item,.cert-split-row .cert-line-item{grid-template-columns:1fr}.wellness-certificate .print-cert-header{justify-content:center;text-align:center}.wellness-certificate .print-cert-footer{left:14px;right:14px;bottom:14px}.cert-monogram{font-size:86px;right:34px;top:260px}}
@media print{.wellness-certificate{padding:38px 48px 92px 300px !important}.wellness-certificate .print-cert-footer{position:absolute !important}.cert-photo-panel{print-color-adjust:exact;-webkit-print-color-adjust:exact}.cert-monogram{display:block!important}.ornate-corner{display:block!important}.wellness-certificate .watermark-mark{display:none!important}}

/* Final image-based gift certificate template */
.template-certificate{
  width:min(980px,100%);
  aspect-ratio:3/2;
  min-height:0;
  padding:0;
  border-radius:28px;
  border:1px solid rgba(196,147,68,.48);
  background:url('assets/gift-certificate-template.png') center/cover no-repeat;
  box-shadow:0 30px 85px rgba(94,52,59,.18);
  overflow:hidden;
}
.template-certificate:before,
.template-certificate .certificate-inner-border,
.template-certificate .cert-photo-panel,
.template-certificate .cert-monogram,
.template-certificate .print-cert-header,
.template-certificate .print-cert-body,
.template-certificate .print-cert-footer{display:none!important;}
.template-certificate .watermark-mark{
  display:block;
  position:absolute;
  inset:auto;
  left:50%;top:50%;
  transform:translate(-50%,-50%) rotate(-16deg);
  font-family:var(--font-main);
  font-size:clamp(72px,10vw,130px);
  letter-spacing:.12em;
  color:rgba(108,61,73,.12);
  z-index:3;
  pointer-events:none;
  white-space:nowrap;
}
.template-field{
  position:absolute;
  z-index:4;
  font-family:var(--font-clean);
  font-size:clamp(9px,1.05vw,14px);
  line-height:1.15;
  color:#6b3f55;
  font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
/* Certificate text grid mapped to the flattened 1536x1024 certificate artwork.
   Coordinates are percentages of the artwork so the browser preview and print output scale together. */
.template-presented-name{left:25.8%;top:56.2%;width:49%;height:5%;}
.template-service{left:37.1%;top:61.25%;width:25.6%;text-align:left;}
.template-number{left:67.1%;top:61.25%;width:14.7%;text-align:left;}
.template-amount{left:30.0%;top:66.25%;width:21.7%;text-align:left;}
.template-expires{left:59.5%;top:66.25%;width:21.3%;text-align:left;}
.template-from{left:29.6%;top:71.55%;width:51.1%;text-align:center;}
.template-message{left:36.9%;top:76.55%;width:43.9%;text-align:center;}
@media(max-width:650px){
  .template-certificate{aspect-ratio:3/2;min-height:0;border-radius:18px;}
  .template-field{font-size:8px;}
}
@media print{
  @page{size:landscape;margin:0.2in;}
  .template-certificate{
    width:100% !important;
    height:auto !important;
    aspect-ratio:3/2 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    print-color-adjust:exact;
    -webkit-print-color-adjust:exact;
  }
  .template-certificate .watermark-mark{display:none!important;}
  .template-field{font-size:11px!important;}
}


/* ===== Gift Certificate page luxury refresh to match home/about/couples pages ===== */
body.gift-page{
  background:#fff4f8;
  color:var(--ink);
}
.gift-page .site-header{position:fixed;top:18px;left:28px;right:28px;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-radius:30px;background:rgba(255,245,248,.64);border:1px solid rgba(213,167,93,.34);backdrop-filter:blur(18px);box-shadow:0 14px 38px rgba(134,65,88,.12);overflow:visible}
.luxury-gift-hero{
  min-height:700px;
  padding:165px clamp(28px,7vw,110px) 92px;
  display:grid;
  grid-template-columns:1fr .92fr;
  gap:48px;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(249,216,227,.82),rgba(255,245,248,.56)),
    url('assets/dana-soft-bg.jpg') center/cover;
  position:relative;
  overflow:hidden;
}
.luxury-gift-hero:after{
  content:'';
  position:absolute;
  left:-4%;right:-4%;bottom:-2px;height:125px;
  background:linear-gradient(to bottom,transparent,#fff4f8 72%,#fff4f8);
  border-top-left-radius:50% 40%;
  border-top-right-radius:50% 40%;
  pointer-events:none;
}
.luxury-gift-hero .gift-hero-copy,
.luxury-gift-hero .gift-certificate-preview{position:relative;z-index:1;}
.luxury-gift-hero .gift-hero-copy h1{
  font-family:var(--font-main);
  font-size:clamp(50px,6vw,88px);
  line-height:1.02;
  color:var(--plum-dark);
  font-weight:500;
  margin:12px 0 0;
}
.luxury-gift-hero .gift-hero-copy h1 span{
  font-family:var(--font-script);
  color:var(--plum);
  font-size:1.08em;
  font-weight:400;
}
.luxury-gift-hero .gift-script{
  font-family:var(--font-script);
  color:var(--plum);
  font-size:clamp(38px,4vw,56px);
  line-height:1;
  margin:0 0 16px;
}
.luxury-gift-hero .gift-hero-copy > p:not(.eyebrow):not(.gift-script){
  max-width:720px;
  color:#6a4553;
  font-size:18px;
  line-height:1.75;
}
.luxury-mini-card{
  width:min(520px,100%);
  min-height:420px;
  margin-left:auto;
  border-radius:36px;
  padding:42px;
  background:
    linear-gradient(rgba(255,248,244,.78),rgba(255,248,244,.9)),
    url('assets/spa-candle-towel-banner.jpg') center/cover;
  border:1px solid rgba(213,167,93,.38);
  box-shadow:var(--shadow);
  text-align:center;
  position:relative;
  overflow:hidden;
}
.luxury-mini-card:before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:28px;
  border:1px solid rgba(213,167,93,.38);
  pointer-events:none;
}
.luxury-mini-card:after{
  content:"wellness";
  position:absolute;
  right:-10px;
  bottom:8px;
  font-family:var(--font-script);
  font-size:82px;
  color:rgba(138,64,89,.12);
  transform:rotate(-7deg);
  text-transform:none;
  letter-spacing:0;
}
.luxury-mini-card img{height:98px;position:relative;z-index:1;}
.luxury-mini-card .cert-label{position:relative;z-index:1;color:var(--gold);text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:800;margin:10px 0;}
.luxury-mini-card h2{position:relative;z-index:1;font-family:var(--font-main);font-size:clamp(38px,4vw,58px);line-height:1;color:var(--plum-dark);font-weight:500;margin:10px 0 16px;}
.luxury-mini-card .cert-line{position:relative;z-index:1;width:220px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:18px auto;}
.luxury-mini-card p{position:relative;z-index:1;color:#6a4553;line-height:1.7;}
.luxury-mini-card span{position:relative;z-index:1;color:var(--plum);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:11px;}
.gift-luxury-strip{margin-top:-1px;}
.certificate-generator-section{
  padding:78px clamp(20px,6vw,96px) 94px;
  background:
    radial-gradient(circle at 12% 4%, rgba(213,167,93,.12), transparent 22%),
    linear-gradient(180deg,#fff4f8 0%,#fff8f4 100%);
}
.certificate-generator-section .section-title h2{
  font-family:var(--font-main);
  color:var(--plum-dark);
  font-size:clamp(40px,4.5vw,68px);
  font-weight:500;
}
.certificate-builder-shell{
  gap:40px;
  align-items:start;
}
.certificate-form-panel{
  border-radius:34px;
  padding:34px 32px;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(213,167,93,.30);
  box-shadow:0 26px 70px rgba(134,65,88,.13);
}
.certificate-form-panel h3{
  font-family:var(--font-main);
  color:var(--plum-dark);
  font-size:44px;
  font-weight:500;
}
.certificate-form-panel input,
.certificate-form-panel textarea,
.certificate-form-panel select{
  background:rgba(255,248,244,.88);
  border:1px solid rgba(213,167,93,.32);
  color:#4b2f3a;
}
.auto-cert-row > div{
  background:rgba(255,248,244,.70);
  border:1px solid rgba(213,167,93,.28);
}
.gift-details{
  background:linear-gradient(180deg,#fff8f4,#fff4f8);
}
.gift-detail-panel,.gift-contact-card{
  box-shadow:0 26px 70px rgba(134,65,88,.12);
}
.gift-contact-card{
  background:linear-gradient(145deg,#bd8198,#7d3950);
}
@media(max-width:1180px){
  .luxury-gift-hero{grid-template-columns:1fr;min-height:auto;}
  .luxury-mini-card{margin:0 auto;}
}
@media(max-width:720px){
  .luxury-gift-hero{padding:130px 22px 70px;}
  .luxury-gift-hero .gift-hero-copy h1{font-size:56px;}
  .luxury-mini-card{padding:32px 24px;min-height:360px;}
}

/* Gift certificate editorial hero refinement */
.luxury-gift-hero{
  min-height:700px;
  padding-top:160px;
  background:
    linear-gradient(90deg,rgba(249,216,227,.84),rgba(255,245,248,.58)),
    url('assets/dana-soft-bg.jpg') center/cover;
}
.luxury-gift-hero:after{
  content:"";
  position:absolute;
  left:-4%;
  right:-4%;
  bottom:-2px;
  height:130px;
  background:linear-gradient(to bottom,transparent,#fff4f8 72%,#fff4f8);
  border-top-left-radius:50% 40%;
  border-top-right-radius:50% 40%;
  z-index:0;
}
.luxury-gift-hero .gift-hero-copy{max-width:720px;}
.luxury-gift-hero .gift-hero-copy h1{font-size:clamp(58px,7.2vw,104px);}
.gift-feature-card{
  position:relative;
  z-index:1;
  width:min(470px,92vw);
  margin-left:auto;
  padding:38px;
  border-radius:42px;
  background:linear-gradient(145deg,rgba(255,244,248,.88),rgba(248,219,230,.66));
  border:1px solid rgba(213,167,93,.34);
  box-shadow:0 34px 90px rgba(134,65,88,.18);
  backdrop-filter:blur(16px);
  overflow:hidden;
}
.gift-feature-card:before{
  content:"";
  position:absolute;
  inset:16px;
  border:1px solid rgba(196,147,68,.28);
  border-radius:31px;
  pointer-events:none;
}
.gift-feature-card:after{
  content:"Gift Wellness";
  position:absolute;
  right:-18px;
  bottom:-18px;
  font-family:var(--font-script);
  font-size:98px;
  color:rgba(138,64,89,.12);
  transform:rotate(-5deg);
  pointer-events:none;
}
.gift-feature-card img{height:82px;width:auto;display:block;margin:0 auto 18px;position:relative;z-index:1;}
.gift-feature-card .cert-label{text-align:center;position:relative;z-index:1;margin-bottom:24px;}
.gift-feature-list{display:grid;gap:14px;position:relative;z-index:1;}
.gift-feature-list article{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:14px;
  align-items:start;
  padding:16px 14px;
  border-radius:22px;
  background:rgba(255,255,255,.50);
  border:1px solid rgba(213,167,93,.24);
}
.gift-feature-list span{
  font-family:var(--font-main);
  font-size:26px;
  line-height:1;
  color:#b9855e;
}
.gift-feature-list strong{
  display:block;
  color:#5e3840;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.11em;
  margin-bottom:4px;
}
.gift-feature-list p{margin:0;color:#765854;line-height:1.55;font-size:14px;}
.gift-luxury-strip{background:linear-gradient(90deg,#8b3e59,#d49bae,#8b3e59);}
.gift-luxury-strip div{color:#fff;}
@media(max-width:980px){.gift-feature-card{margin:0 auto}.luxury-gift-hero{grid-template-columns:1fr;}}


/* Final gift-card palette fix: mauve/ivory/gold, no taupe demo-card look */
.gift-feature-card{
  background:linear-gradient(145deg,rgba(255,244,248,.90),rgba(248,219,230,.68)) !important;
  border:1px solid rgba(213,167,93,.34) !important;
  box-shadow:0 34px 90px rgba(134,65,88,.18) !important;
}
.gift-feature-card:before{border-color:rgba(213,167,93,.30) !important;}
.gift-feature-card:after{color:rgba(138,64,89,.12) !important;}
.gift-feature-list article{
  background:rgba(255,255,255,.50) !important;
  border:1px solid rgba(213,167,93,.24) !important;
}
.gift-feature-list span{color:var(--gold) !important;}
.gift-feature-list strong{color:var(--plum-dark) !important;}
.gift-feature-list p{color:#6a4553 !important;}
.cert-cart-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:12px !important;
  padding:14px 22px !important;
  background:linear-gradient(135deg,var(--mauve),var(--plum)) !important;
  color:#fff !important;
  text-transform:uppercase !important;
  letter-spacing:.12em !important;
  font-weight:800 !important;
  font-size:12px !important;
  box-shadow:0 14px 28px rgba(134,65,88,.18) !important;
}

/* Final polish pass: remove ghost script and make gift contact card match the homepage luxury palette */
.gift-feature-card:after{
  display:none !important;
  content:none !important;
}
.gift-contact-card{
  position:relative;
  overflow:hidden;
  color:#5e3840 !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(220,200,164,.26), transparent 28%),
    radial-gradient(circle at 12% 88%, rgba(215,184,194,.32), transparent 34%),
    linear-gradient(145deg, rgba(255,248,244,.96), rgba(255,244,248,.92) 58%, rgba(247,225,233,.82)) !important;
  border:1px solid rgba(213,167,93,.42) !important;
  box-shadow:0 30px 90px rgba(94,52,59,.16) !important;
}
.gift-contact-card:before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(213,167,93,.28);
  border-radius:30px;
  pointer-events:none;
}
.gift-contact-card:after{
  content:"wellness gifting";
  position:absolute;
  right:28px;
  bottom:18px;
  font-family:var(--font-script);
  font-size:64px;
  line-height:1;
  color:rgba(138,64,89,.10);
  pointer-events:none;
}
.gift-contact-card h3,
.gift-contact-card p,
.gift-contact-card a,
.gift-contact-card span{
  position:relative;
  z-index:1;
}
.gift-contact-card h3{
  font-family:var(--font-main) !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  color:#5e2438 !important;
  font-size:clamp(42px,4.4vw,64px) !important;
  line-height:.98 !important;
  margin-bottom:18px !important;
}
.gift-contact-card p{
  max-width:500px;
  color:#6f4b55 !important;
  font-size:17px !important;
  line-height:1.75 !important;
  margin-bottom:24px !important;
}
.gift-contact-card a{
  width:max-content;
  font-family:var(--font-main) !important;
  font-weight:500 !important;
  font-size:clamp(30px,3vw,44px) !important;
  color:#8b3e59 !important;
  text-decoration:none !important;
  padding-bottom:8px;
  border-bottom:1px solid rgba(213,167,93,.55);
  margin:8px 0 20px !important;
}
.gift-contact-card span{
  color:#765854 !important;
  font-size:15px !important;
  line-height:1.75 !important;
  letter-spacing:.01em;
}
.gift-details{
  background:
    radial-gradient(circle at 82% 10%, rgba(215,184,194,.18), transparent 26%),
    linear-gradient(180deg,#fff8f4 0%,#fff4f8 100%) !important;
}
.gift-detail-panel{
  background:rgba(255,255,255,.68) !important;
  border-color:rgba(213,167,93,.34) !important;
}

/* ===== FINAL CONTACT PAGE REPLACEMENT: CLEAN MOCKUP MATCH, NO GHOST FONT ===== */
.contact-luxury-page{background:#fff8f4;color:#432832;}
.contact-luxury-page .site-header{position:fixed;top:18px;left:28px;right:28px;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-radius:30px;background:rgba(255,245,248,.64);border:1px solid rgba(213,167,93,.34);backdrop-filter:blur(18px);box-shadow:0 14px 38px rgba(134,65,88,.12);overflow:visible}
.contact-luxury-page .main-nav a{color:#3d2730}.contact-luxury-page .main-nav a.active{color:#b88635;border-bottom:1px solid rgba(213,167,93,.82);padding-bottom:6px}.contact-luxury-page .logo-link img{height:118px;display:block;filter:drop-shadow(0 12px 20px rgba(183,132,54,.22));transform:translateY(4px)}
.contact-hero{position:relative;min-height:620px;padding:170px 24px 88px;display:grid;place-items:center;overflow:hidden;background:url('assets/peace-banner-clean.jpg') center/cover no-repeat;}
.contact-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(52,25,20,.54),rgba(87,35,51,.34),rgba(55,25,20,.54));}
.contact-hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:100px;background:linear-gradient(to bottom,rgba(255,248,244,0),#fff8f4 86%);}
.contact-hero-inner{position:relative;z-index:2;text-align:center;color:#fff;max-width:900px;margin:0 auto;text-shadow:0 10px 28px rgba(0,0,0,.20)}
.contact-hero-inner h1{font-family:var(--font-main);font-size:clamp(52px,6vw,88px);font-weight:500;line-height:.98;margin:0 0 22px;color:#fff;letter-spacing:-.025em;}
.contact-lotus-divider{display:flex;align-items:center;justify-content:center;gap:18px;margin:12px auto 24px;color:#d5a75d;text-shadow:none}.contact-lotus-divider span{width:min(190px,28vw);height:1px;background:linear-gradient(90deg,transparent,#d5a75d)}.contact-lotus-divider span:last-child{background:linear-gradient(90deg,#d5a75d,transparent)}.contact-lotus-divider b{font-size:26px;font-weight:400;color:#d5a75d}
.contact-hero-inner p{font-size:18px;line-height:1.65;margin:0 auto;color:#fff8f4;text-shadow:0 8px 20px rgba(0,0,0,.16)}
.contact-hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:34px}.contact-gold-btn,.contact-light-btn{border-radius:999px;padding:17px 30px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:12px}.contact-gold-btn{background:linear-gradient(135deg,#e0b866,#bf8d3b);color:white;box-shadow:0 18px 38px rgba(70,32,28,.18)}.contact-light-btn{background:rgba(255,248,244,.88);color:#6d3746;border:1px solid rgba(213,167,93,.40)}
.contact-main-section{padding:70px clamp(24px,7vw,130px) 95px;display:grid;grid-template-columns:minmax(280px,380px) minmax(420px,720px);justify-content:center;gap:70px;align-items:start;background:radial-gradient(circle at 10% 0%,rgba(248,221,230,.55),transparent 34%),linear-gradient(180deg,#fff8f4,#fff4f8);}
.contact-info-card{border:1px solid rgba(213,167,93,.26);border-radius:32px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(250,229,236,.55));box-shadow:0 25px 70px rgba(134,65,88,.09);padding:38px 42px;text-align:left}.contact-card-logo{display:block;width:142px;margin:0 auto 28px;filter:drop-shadow(0 14px 18px rgba(134,65,88,.08))}.contact-info-row{display:grid;grid-template-columns:46px 1fr;gap:18px;margin:23px 0;align-items:start}.contact-icon{width:40px;height:40px;border-radius:50%;border:1px solid rgba(138,64,89,.42);display:grid;place-items:center;color:#8a4059;background:rgba(255,255,255,.48)}.contact-info-row h3,.contact-follow-title,.contact-eyebrow,.contact-footer-label{text-transform:uppercase;letter-spacing:.24em;font-size:12px;font-weight:800;color:#9a4058;margin:0 0 8px}.contact-info-row p{margin:0;line-height:1.55;color:#2f2027}.contact-info-row a{color:#2f2027;font-weight:600}.contact-mini-divider{width:70px;height:1px;margin:28px auto;background:#d5a75d}.contact-follow-title{text-align:center;color:#8a4059}.contact-socials{display:flex;justify-content:center;gap:14px;margin:14px 0 16px}.contact-socials a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#9a4058;color:#fff;font-family:var(--font-main);font-weight:700}.contact-script-note{text-align:center;font-family:var(--font-script);font-size:31px;line-height:1.1;color:#9a5e76;margin:18px 0 2px}
.contact-form-wrap{padding-top:20px}.contact-eyebrow{color:#c49344;margin-bottom:16px}.contact-form-wrap h2{font-family:var(--font-main);font-weight:500;font-size:clamp(42px,4vw,62px);line-height:1.02;color:#6d3746;margin:0 0 34px;max-width:620px}.contact-form{display:grid;gap:25px}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-form label{display:grid;gap:8px;font-size:14px;color:#9a5e76}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(138,64,89,.72);border-radius:0;background:transparent;padding:9px 2px 11px;font:inherit;color:#432832;outline:none}.contact-form textarea{resize:vertical;min-height:88px}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:#d5a75d;box-shadow:0 10px 0 -9px rgba(213,167,93,.8)}.contact-submit-btn{justify-self:start;border:0;border-radius:999px;padding:16px 34px;background:linear-gradient(135deg,#9a5e76,#8a4059);color:white;text-transform:uppercase;letter-spacing:.18em;font-weight:800;box-shadow:0 16px 34px rgba(138,64,89,.15);cursor:pointer}
.contact-footer-luxe{position:relative;display:grid;grid-template-columns:1.2fr .7fr .8fr 1.1fr;gap:38px;align-items:start;background:linear-gradient(135deg,#f4d7df,#f8e8e4 42%,#e5b8c5);color:#422934;padding:54px clamp(24px,7vw,120px) 68px;border-top:1px solid rgba(213,167,93,.22)}.contact-footer-luxe img{height:112px;object-fit:contain}.contact-footer-luxe p{color:#422934;line-height:1.6;margin:0}.contact-footer-luxe a{color:#422934}.contact-footer-label{color:#b88635!important;margin-bottom:12px!important}.contact-footer-phrase{text-align:center}.contact-footer-phrase h2{font-family:var(--font-main);font-weight:500;color:#7a3d50;font-size:38px;margin:4px 0 12px}.contact-footer-line{width:150px;height:1px;margin:0 auto;background:linear-gradient(90deg,transparent,#d5a75d,transparent)}.contact-footer-bottom{position:absolute;left:24px;right:24px;bottom:22px;text-align:center;color:#4b323b!important}
@media(max-width:1050px){.contact-main-section{grid-template-columns:1fr;gap:42px}.contact-info-card{max-width:520px;margin:0 auto;width:100%}.contact-form-wrap{max-width:760px;margin:0 auto;width:100%}.contact-footer-luxe{grid-template-columns:1fr 1fr;text-align:center}.contact-footer-luxe img{margin:auto}}
@media(max-width:720px){.contact-hero{min-height:560px;padding:135px 20px 75px}.contact-hero-inner h1{font-size:48px}.contact-main-section{padding:48px 20px 70px}.contact-info-card{padding:30px 26px}.contact-form-grid{grid-template-columns:1fr}.contact-form-wrap h2{font-size:42px}.contact-footer-luxe{display:block;text-align:center;padding-bottom:86px}.contact-footer-luxe>div{margin-bottom:26px}}


/* Emergency contact hero cleanup: use clean photo asset only, no embedded typography */
.contact-luxury-page .contact-hero{
  background-image:url('assets/peace-banner-clean.jpg') !important;
  background-position:center center !important;
  background-size:cover !important;
}
.contact-luxury-page .contact-hero-overlay{display:none !important;}
.contact-luxury-page .contact-hero::before{
  background:linear-gradient(90deg,rgba(52,25,20,.58),rgba(87,35,51,.30),rgba(55,25,20,.45)) !important;
}


/* ===== OG APPROVED SERVICES HERO MOCKUP BUILD ===== */
.services-og-mockup-hero {
  min-height: auto !important;
  padding: 158px clamp(22px, 6vw, 110px) 54px !important;
  overflow: hidden;
  text-align: center;
  background:
    radial-gradient(circle at 78% 8%, rgba(216, 173, 116, .20), transparent 24%),
    radial-gradient(circle at 30% 12%, rgba(164, 83, 112, .14), transparent 24%),
    linear-gradient(135deg, #fff7f4 0%, #f7dce5 47%, #fff1f6 100%) !important;
}

.services-og-mockup-hero::before {
  background:
    linear-gradient(110deg, rgba(255,255,255,.72), rgba(255,255,255,.18) 36%, rgba(164,83,112,.10) 72%, transparent),
    url('assets/silk-texture-crop.jpg') left top / 420px auto no-repeat !important;
  opacity: .72;
}

.services-og-mockup-hero::after {
  height: 70px !important;
  background: linear-gradient(to bottom, transparent, #fff4f8 88%) !important;
}

.services-botanical {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  opacity: .34;
  filter: sepia(.18) saturate(.86);
}

.botanical-left {
  left: 2.5vw;
  top: 190px;
  width: 250px;
  height: 520px;
  background: url('assets/botanical-left-crop.png') center / contain no-repeat;
}

.botanical-right {
  right: 0;
  top: 154px;
  width: 300px;
  height: 570px;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(255,255,255,.24), transparent 55%),
    url('assets/botanical-left-crop.png') center / contain no-repeat;
  transform: scaleX(-1) rotate(-4deg);
  opacity: .22;
}

.services-hero-heading {
  position: relative;
  z-index: 2;
  max-width: 1040px;
  margin: 0 auto 32px;
}

.services-hero-heading h1 {
  font-family: var(--font-main);
  font-size: clamp(82px, 10vw, 142px);
  line-height: .84;
  margin: 12px 0 10px;
  color: #5a1f37;
  font-weight: 600;
  letter-spacing: .025em;
  text-shadow: 0 12px 28px rgba(118, 64, 83, .10);
}

.services-hero-heading .eyebrow {
  color: #c38b35;
  letter-spacing: .28em;
  font-weight: 800;
}

.lotus-divider {
  position: relative;
  width: min(420px, 72vw);
  margin: 18px auto 22px;
  background: linear-gradient(90deg, transparent, rgba(196,139,53,.72), transparent);
}

.lotus-divider span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: #c38b35;
  background: #fff7f4;
  box-shadow: 0 0 0 8px rgba(255,247,244,.74);
  font-size: 18px;
}

.services-hero-heading .fresh-subtitle {
  color: #572033;
  font-family:var(--font-clean);
  font-size: clamp(21px, 2.2vw, 31px);
  font-weight: 500;
  letter-spacing: -.025em;
}

.services-hero-heading .fresh-subtitle strong {
  font-weight: 500;
}

.services-hero-heading .fresh-subtitle span {
  font-family:var(--font-script);
  color: #a45a75;
  font-size: 1.34em;
  margin-left: .18em;
  white-space: nowrap;
}

.services-hero-heading .fresh-note {
  max-width: 740px;
  margin-top: 18px;
  color: #56303f;
  font-size: 16px;
  line-height: 1.75;
}

.services-feature-stage {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  min-height: 390px;
}

.services-story-card {
  position: relative;
  z-index: 3;
  width: min(760px, 64%);
  min-height: 330px;
  display: grid;
  grid-template-columns: 1fr 1px 1.04fr;
  gap: 34px;
  align-items: center;
  padding: clamp(30px, 4vw, 52px);
  border-radius: 34px;
  background:
    radial-gradient(circle at 18% 5%, rgba(255,255,255,.92), transparent 32%),
    rgba(255, 252, 249, .88);
  border: 1px solid rgba(215, 173, 116, .42);
  box-shadow: 0 34px 80px rgba(107, 50, 70, .16), 0 8px 24px rgba(196, 139, 53, .10);
  backdrop-filter: blur(12px);
  text-align: left;
}

.service-benefit {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 18px;
  align-items: start;
  margin: 0 0 24px;
}

.service-benefit:last-of-type {
  margin-bottom: 0;
}

.benefit-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  color: #9c405f;
  background: radial-gradient(circle at 32% 24%, #fff, #f5dfe7);
  box-shadow: inset 0 0 0 1px rgba(164,83,112,.14);
  font-size: 24px;
}

.service-benefit h3 {
  margin: 3px 0 8px;
  font-family:var(--font-clean);
  color: #572033;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 13px;
}

.service-benefit p,
.story-copy p {
  margin: 0;
  color: #583747;
  line-height: 1.62;
  font-size: 14px;
}

.story-divider {
  width: 1px;
  height: 230px;
  background: linear-gradient(to bottom, transparent, rgba(196,139,53,.50), transparent);
}

.story-copy h2 {
  margin: 0 0 18px;
  font-family: var(--font-main);
  color: #5a1f37;
  font-size: clamp(36px, 3.8vw, 54px);
  line-height: .94;
}

.story-copy h2 span {
  display: block;
  font-family:var(--font-script);
  color: #a45a75;
  font-weight: 400;
  font-size: .95em;
  margin-top: 4px;
}

.story-cta {
  display: inline-flex;
  margin-top: 24px;
  color: #fff !important;
  text-decoration: none;
}

.services-photo-panel {
  position: absolute;
  z-index: 2;
  right: 0;
  top: -26px;
  width: min(560px, 46%);
  height: 370px;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 32px 80px rgba(91, 39, 58, .22);
  border: 1px solid rgba(255,255,255,.72);
}

.services-photo-panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.06) sepia(.08) contrast(1.02);
  transform: scale(1.05);
}

.services-photo-panel::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(67,28,42,.04), rgba(67,28,42,.18));
  pointer-events: none;
}

.featured-glass-card {
  position: absolute;
  z-index: 4;
  left: 13%;
  right: 8%;
  bottom: 24px;
  padding: 24px 28px;
  border-radius: 24px;
  background: rgba(255, 240, 232, .72);
  border: 1px solid rgba(255,255,255,.75);
  box-shadow: 0 18px 44px rgba(77, 32, 48, .18);
  backdrop-filter: blur(14px);
  text-align: left;
}

.featured-glass-card p {
  margin: 0 0 8px;
  color: #c38b35;
  font-family:var(--font-clean);
  text-transform: uppercase;
  letter-spacing: .20em;
  font-size: 12px;
  font-weight: 800;
}

.featured-glass-card h3 {
  margin: 0;
  color: #572033;
  font-family: var(--font-main);
  font-size: 33px;
  line-height: 1;
}

.mini-divider {
  height: 1px;
  margin: 16px 0 12px;
  background: linear-gradient(90deg, rgba(196,139,53,.70), transparent);
}

.featured-glass-card span {
  color: #5a3342;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 12px;
  font-weight: 600;
}

.hero-info-pills {
  position: relative;
  z-index: 3;
  max-width: 1020px;
  margin: 34px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.hero-info-pills span {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 52px;
  padding: 14px 18px;
  border-radius: 999px;
  background: rgba(255, 251, 248, .72);
  border: 1px solid rgba(196,139,53,.45);
  color: #572033;
  font-family:var(--font-clean);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
  box-shadow: 0 14px 32px rgba(107, 50, 70, .08);
}

@media(max-width: 980px) {
  .services-og-mockup-hero {
    padding-top: 130px !important;
  }
  .services-feature-stage {
    display: grid;
    gap: 22px;
  }
  .services-story-card,
  .services-photo-panel {
    position: relative;
    width: 100%;
    top: auto;
    right: auto;
  }
  .services-story-card {
    grid-template-columns: 1fr;
  }
  .story-divider {
    width: 100%;
    height: 1px;
  }
  .services-photo-panel {
    height: 360px;
  }
  .hero-info-pills {
    grid-template-columns: 1fr;
  }
}

@media(max-width: 720px) {
  .services-hero-heading h1 {
    font-size: 76px;
  }
  .services-hero-heading .fresh-subtitle span {
    display: block;
    margin-left: 0;
  }
  .services-story-card {
    padding: 28px;
    border-radius: 26px;
  }
  .service-benefit {
    grid-template-columns: 48px 1fr;
  }
  .benefit-icon {
    width: 42px;
    height: 42px;
    font-size: 20px;
  }
  .featured-glass-card {
    left: 18px;
    right: 18px;
    bottom: 18px;
  }
}

/* ===== FIX: services OG mockup desktop scaffolding, no collapsed text columns ===== */
.services-og-mockup-hero .services-feature-stage{
  display:grid !important;
  grid-template-columns:minmax(650px, 1fr) minmax(430px, 560px) !important;
  align-items:center !important;
  gap:0 !important;
  max-width:1360px !important;
  min-height:430px !important;
  padding:0 0 10px !important;
}
.services-og-mockup-hero .services-story-card{
  position:relative !important;
  grid-column:1 !important;
  grid-row:1 !important;
  width:auto !important;
  min-width:0 !important;
  min-height:410px !important;
  margin:0 -54px 0 0 !important;
  z-index:3 !important;
  display:grid !important;
  grid-template-columns:minmax(260px,.92fr) 1px minmax(310px,1fr) !important;
  grid-template-rows:auto auto auto !important;
  column-gap:clamp(28px,3.2vw,46px) !important;
  row-gap:18px !important;
  align-items:center !important;
  overflow:visible !important;
}
.services-og-mockup-hero .services-story-card > .service-benefit:nth-child(1){grid-column:1 !important;grid-row:1 !important;}
.services-og-mockup-hero .services-story-card > .service-benefit:nth-child(2){grid-column:1 !important;grid-row:2 !important;}
.services-og-mockup-hero .services-story-card > .service-benefit:nth-child(3){grid-column:1 !important;grid-row:3 !important;}
.services-og-mockup-hero .services-story-card > .story-divider{grid-column:2 !important;grid-row:1 / 4 !important;align-self:stretch !important;height:auto !important;min-height:260px !important;}
.services-og-mockup-hero .services-story-card > .story-copy{grid-column:3 !important;grid-row:1 / 4 !important;min-width:0 !important;max-width:420px !important;}
.services-og-mockup-hero .service-benefit{
  margin:0 !important;
  min-width:0 !important;
  grid-template-columns:58px minmax(0,1fr) !important;
}
.services-og-mockup-hero .service-benefit h3{white-space:normal !important;line-height:1.18 !important;}
.services-og-mockup-hero .service-benefit p,
.services-og-mockup-hero .story-copy p{
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}
.services-og-mockup-hero .story-copy h2{
  max-width:390px !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.services-og-mockup-hero .services-photo-panel{
  position:relative !important;
  grid-column:2 !important;
  grid-row:1 !important;
  top:auto !important;
  right:auto !important;
  width:100% !important;
  height:390px !important;
  z-index:4 !important;
  margin-left:0 !important;
}
.services-og-mockup-hero .featured-glass-card{
  left:12% !important;
  right:9% !important;
  bottom:26px !important;
}
@media(max-width:1180px){
  .services-og-mockup-hero .services-feature-stage{grid-template-columns:1fr !important;gap:26px !important;}
  .services-og-mockup-hero .services-story-card{margin:0 !important;}
  .services-og-mockup-hero .services-photo-panel{max-width:760px !important;margin:0 auto !important;}
}
@media(max-width:820px){
  .services-og-mockup-hero .services-story-card{
    grid-template-columns:1fr !important;
    grid-template-rows:auto !important;
    min-height:0 !important;
  }
  .services-og-mockup-hero .services-story-card > .service-benefit,
  .services-og-mockup-hero .services-story-card > .story-copy,
  .services-og-mockup-hero .services-story-card > .story-divider{
    grid-column:1 !important;
    grid-row:auto !important;
  }
  .services-og-mockup-hero .services-story-card > .story-divider{width:100% !important;height:1px !important;min-height:1px !important;}
  .services-og-mockup-hero .services-story-card > .story-copy{max-width:none !important;}
}

/* ===== SERVICES TOP RESCUE: clean premium hero, no ghost panels, no crushed overlap ===== */
.services-og-mockup-hero{
  padding:150px clamp(26px,6vw,110px) 56px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(164,83,112,.20), transparent 26%),
    radial-gradient(circle at 88% 18%, rgba(213,167,93,.18), transparent 24%),
    linear-gradient(135deg,#fff9f6 0%, #fae3ea 45%, #fff5f8 100%) !important;
}
.services-og-mockup-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,.34), transparent 42%),
    url('assets/silk-texture-crop.jpg') left top / 390px auto no-repeat !important;
  opacity:.42 !important;
  pointer-events:none !important;
}
.services-og-mockup-hero::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;right:0 !important;bottom:-1px !important;
  height:44px !important;
  background:linear-gradient(to bottom, transparent, #fff4f8 92%) !important;
  pointer-events:none !important;
  border-radius:0 !important;
}
.services-og-mockup-hero .services-botanical{
  opacity:.12 !important;
  filter:none !important;
}
.services-og-mockup-hero .botanical-left{left:-34px !important;top:190px !important;width:220px !important;height:460px !important;}
.services-og-mockup-hero .botanical-right{right:-40px !important;top:175px !important;width:240px !important;height:500px !important;}
.services-og-mockup-hero .services-hero-heading{
  max-width:1080px !important;
  margin:0 auto 34px !important;
  position:relative !important;
  z-index:2 !important;
}
.services-og-mockup-hero .services-hero-heading h1{
  font-size:clamp(88px,9.5vw,150px) !important;
  line-height:.80 !important;
  color:#5c2038 !important;
  margin:12px 0 8px !important;
  letter-spacing:.02em !important;
}
.services-og-mockup-hero .services-hero-heading .fresh-subtitle{
  display:flex !important;
  align-items:baseline !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:.32em !important;
  color:#4f2234 !important;
  font-size:clamp(22px,2vw,30px) !important;
  line-height:1.15 !important;
}
.services-og-mockup-hero .services-hero-heading .fresh-subtitle span{
  font-size:1.45em !important;
  margin-left:.18em !important;
  color:#a45975 !important;
}
.services-og-mockup-hero .services-hero-heading .fresh-note{
  max-width:760px !important;
  margin:18px auto 0 !important;
  font-size:17px !important;
  line-height:1.72 !important;
  color:#563243 !important;
}
.services-og-mockup-hero .services-feature-stage{
  display:grid !important;
  grid-template-columns:minmax(0, .98fr) minmax(430px, .82fr) !important;
  gap:clamp(24px,3.5vw,56px) !important;
  align-items:center !important;
  max-width:1260px !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 auto !important;
  position:relative !important;
  z-index:2 !important;
}
.services-og-mockup-hero .services-story-card{
  grid-column:1 !important;
  position:relative !important;
  width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  z-index:3 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:24px !important;
  padding:clamp(34px,4vw,56px) !important;
  text-align:left !important;
  overflow:hidden !important;
  border-radius:38px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,247,245,.86)),
    radial-gradient(circle at 0% 0%, rgba(213,167,93,.16), transparent 30%) !important;
  border:1px solid rgba(213,167,93,.30) !important;
  box-shadow:0 30px 82px rgba(91,39,58,.13), 0 8px 22px rgba(213,167,93,.08) !important;
  backdrop-filter:blur(8px) !important;
}
.services-og-mockup-hero .services-story-card::before,
.services-og-mockup-hero .services-story-card::after,
.services-og-mockup-hero .services-feature-stage::before,
.services-og-mockup-hero .services-feature-stage::after{
  content:none !important;
  display:none !important;
}
.services-og-mockup-hero .services-story-card > .service-benefit:nth-child(1),
.services-og-mockup-hero .services-story-card > .service-benefit:nth-child(2),
.services-og-mockup-hero .services-story-card > .service-benefit:nth-child(3),
.services-og-mockup-hero .services-story-card > .story-copy{
  grid-column:auto !important;
  grid-row:auto !important;
}
.services-og-mockup-hero .story-divider{display:none !important;}
.services-og-mockup-hero .services-story-card .service-benefit{
  display:grid !important;
  grid-template-columns:54px minmax(0,1fr) !important;
  gap:18px !important;
  align-items:start !important;
  margin:0 !important;
  max-width:none !important;
}
.services-og-mockup-hero .services-story-card .service-benefit + .service-benefit{
  padding-top:20px !important;
  border-top:1px solid rgba(213,167,93,.18) !important;
}
.services-og-mockup-hero .benefit-icon{
  width:48px !important;
  height:48px !important;
  font-size:22px !important;
  background:#f8e8ee !important;
  color:#9b4562 !important;
  box-shadow:inset 0 0 0 1px rgba(164,83,112,.12) !important;
}
.services-og-mockup-hero .service-benefit h3{
  margin:0 0 6px !important;
  letter-spacing:.16em !important;
  font-size:12px !important;
  color:#562238 !important;
}
.services-og-mockup-hero .service-benefit p{
  font-size:15px !important;
  line-height:1.62 !important;
  color:#583747 !important;
  max-width:430px !important;
}
.services-og-mockup-hero .story-copy{
  max-width:680px !important;
  padding-top:28px !important;
  border-top:1px solid rgba(213,167,93,.28) !important;
}
.services-og-mockup-hero .story-copy h2{
  max-width:none !important;
  font-size:clamp(42px,4.2vw,64px) !important;
  line-height:.92 !important;
  margin:0 0 14px !important;
  color:#5b2038 !important;
}
.services-og-mockup-hero .story-copy h2 span{
  display:inline-block !important;
  margin-left:.12em !important;
  font-size:.92em !important;
  color:#a65a76 !important;
}
.services-og-mockup-hero .story-copy p{
  max-width:620px !important;
  font-size:16px !important;
  line-height:1.72 !important;
  color:#553243 !important;
}
.services-og-mockup-hero .story-cta{
  margin-top:24px !important;
}
.services-og-mockup-hero .services-photo-panel{
  grid-column:2 !important;
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  height:clamp(390px,31vw,470px) !important;
  top:auto !important;
  right:auto !important;
  margin:0 !important;
  z-index:3 !important;
  border-radius:34px !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.78) !important;
  box-shadow:0 32px 80px rgba(91,39,58,.18) !important;
}
.services-og-mockup-hero .services-photo-panel img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transform:scale(1.03) !important;
}
.services-og-mockup-hero .featured-glass-card{
  left:clamp(22px,6%,42px) !important;
  right:clamp(22px,6%,42px) !important;
  bottom:clamp(20px,5%,32px) !important;
  border-radius:28px !important;
  padding:26px clamp(24px,3vw,36px) !important;
  background:rgba(255,236,226,.78) !important;
  border:1px solid rgba(255,255,255,.78) !important;
  backdrop-filter:blur(16px) !important;
}
.services-og-mockup-hero .featured-glass-card h3{font-size:clamp(30px,2.7vw,42px) !important;}
.services-og-mockup-hero .hero-info-pills{
  max-width:960px !important;
  margin-top:32px !important;
  gap:18px !important;
}
.services-og-mockup-hero .hero-info-pills span{
  background:rgba(255,251,248,.82) !important;
  color:#5b2038 !important;
}
@media(max-width:1180px){
  .services-og-mockup-hero .services-feature-stage{grid-template-columns:1fr !important;max-width:850px !important;}
  .services-og-mockup-hero .services-photo-panel{grid-column:1 !important;height:420px !important;}
}
@media(max-width:720px){
  .services-og-mockup-hero{padding:132px 18px 44px !important;}
  .services-og-mockup-hero .services-hero-heading h1{font-size:72px !important;}
  .services-og-mockup-hero .services-hero-heading .fresh-subtitle{display:block !important;}
  .services-og-mockup-hero .services-hero-heading .fresh-subtitle span{display:block !important;margin:5px 0 0 !important;}
  .services-og-mockup-hero .services-story-card{padding:28px !important;border-radius:28px !important;}
  .services-og-mockup-hero .story-copy h2 span{display:block !important;margin-left:0 !important;}
  .services-og-mockup-hero .services-photo-panel{height:360px !important;border-radius:28px !important;}
  .services-og-mockup-hero .hero-info-pills{grid-template-columns:1fr !important;}
}

/* FINAL GHOST CLEANUP: replaces screenshot-derived background bits with clean assets only */
.services-og-mockup-hero .services-botanical{
  opacity:.20 !important;
  background-image:url('assets/botanical-left-crop.png') !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  mix-blend-mode:multiply !important;
}
.services-og-mockup-hero .botanical-left{
  left:-70px !important;
  top:185px !important;
  width:320px !important;
  height:520px !important;
  transform:rotate(-7deg) !important;
}
.services-og-mockup-hero .botanical-right{
  right:-90px !important;
  top:160px !important;
  width:340px !important;
  height:560px !important;
  transform:scaleX(-1) rotate(-6deg) !important;
  opacity:.16 !important;
}
.services-og-mockup-hero .services-photo-panel img{
  transform:scale(1.02) !important;
  object-position:center center !important;
}
.services-og-mockup-hero .featured-glass-card{
  bottom:30px !important;
}

/* Gift certificate contact button polish */
.gift-contact-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin:18px 0 12px;
}
.gift-contact-actions .secondary-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid rgba(191,151,95,.65);
  background:rgba(255,255,255,.58);
  color:#6f4051;
  text-decoration:none;
  font-family:var(--font-clean);
  font-size:12px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  box-shadow:0 14px 30px rgba(110,65,82,.10);
}
.gift-contact-actions .secondary-btn:hover{
  background:#fff8ef;
  transform:translateY(-1px);
}

.logo-link{position:relative;display:flex;align-items:center;justify-content:center;min-width:190px;overflow:visible}
.logo-link::before{content:"";position:absolute;inset:-8px -28px;border-radius:999px;background:radial-gradient(circle,rgba(255,245,226,.82),rgba(255,245,226,0) 70%);z-index:-1;pointer-events:none}


@media (max-width: 980px){
  .site-header{position:fixed;top:18px;left:28px;right:28px;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-radius:30px;background:rgba(255,245,248,.64);border:1px solid rgba(213,167,93,.34);backdrop-filter:blur(18px);box-shadow:0 14px 38px rgba(134,65,88,.12);overflow:visible}
  .logo-link{position:relative;display:flex;align-items:center;justify-content:center;min-width:190px;overflow:visible}
  .logo-link img{height:118px;display:block;filter:drop-shadow(0 12px 20px rgba(183,132,54,.22));transform:translateY(4px)}
}
@media (max-width: 640px){
  .logo-link img{height:118px;display:block;filter:drop-shadow(0 12px 20px rgba(183,132,54,.22));transform:translateY(4px)}
  .main-nav{gap:12px;font-size:10px}
}


/* Premium vertical spacing upgrade */
main{padding-top:108px}
.hero,
.about-hero,
.gift-hero,
.contact-hero,
.services-hero,
.couples-hero{
  margin-top:18px;
}
.hero,
.about-hero,
.gift-hero,
.contact-hero{
  min-height:660px;
}
.services-hero{
  min-height:700px;
  padding-top:118px !important;
  padding-bottom:92px !important;
}
.couples-hero{
  min-height:700px;
  padding-top:122px !important;
  padding-bottom:92px !important;
}
section{
  scroll-margin-top:118px;
}
@media (min-width: 981px){
  .site-header{height:92px}
}
@media (max-width: 980px){
  main{padding-top:104px}
  .site-header{left:14px;right:14px;top:12px;padding:10px 14px;border-radius:28px;flex-wrap:wrap;gap:10px}
  .logo-link{min-width:145px}
  .logo-link img{height:88px}
  .hero,.about-hero,.gift-hero,.contact-hero,.services-hero,.couples-hero{margin-top:24px;min-height:auto;padding-top:115px !important}
}
@media (max-width: 640px){
  main{padding-top:108px}
  .logo-link img{height:74px}
}


/* Lotus cursor */
body{
  cursor:url('assets/lotus-cursor-real.png') 16 16, auto;
}
a, button, .book-button, .cart-pill{
  cursor:pointer;
}


/* FINAL BALANCED SPACING FIX
   Bar stays the same size. Logo stays bigger/prouder.
   Page content is a true middle ground, not shoved too far down. */
main{
  padding-top:0 !important;
}
.site-header{
  height:92px !important;
  padding:10px 18px !important;
  overflow:visible !important;
}
.logo-link{
  min-width:190px !important;
  overflow:visible !important;
}
.logo-link img{
  height:118px !important;
  transform:translateY(4px) !important;
}

/* Middle-ground hero spacing */
.home-hero{
  padding-top:210px !important;
  padding-bottom:120px !important;
  min-height:960px !important;
}
.gift-hero{
  padding-top:205px !important;
  padding-bottom:120px !important;
  min-height:900px !important;
}
.contact-hero{
  padding-top:205px !important;
  padding-bottom:110px !important;
  min-height:700px !important;
}
.services-og-mockup-hero{
  padding-top:190px !important;
  padding-bottom:88px !important;
  min-height:920px !important;
}
.services-hero{
  padding-top:200px !important;
  padding-bottom:120px !important;
  min-height:780px !important;
}
.couples-hero{
  padding-top:205px !important;
  padding-bottom:120px !important;
  min-height:900px !important;
}
.hero,
.about-hero{
  padding-top:205px !important;
  padding-bottom:120px !important;
  min-height:850px !important;
}
.home-hero,
.gift-hero,
.contact-hero,
.services-og-mockup-hero,
.services-hero,
.couples-hero,
.hero,
.about-hero{
  margin-top:0 !important;
}

/* Give the site more luxurious length without pushing the first content too low */
.soft-section,
.services-menu,
.contact-main-section,
.gift-builder,
.couples-packages,
.about-story,
footer{
  margin-top:70px;
}
section{
  scroll-margin-top:115px !important;
}

@media(max-width:980px){
  main{padding-top:0 !important;}
  .site-header{
    height:auto !important;
    padding:10px 14px !important;
  }
  .logo-link{min-width:145px !important;}
  .logo-link img{height:88px !important;}
  .home-hero,
  .gift-hero,
  .contact-hero,
  .services-og-mockup-hero,
  .services-hero,
  .couples-hero,
  .hero,
  .about-hero{
    padding-top:150px !important;
    min-height:auto !important;
  }
}
@media(max-width:640px){
  .logo-link img{height:74px !important;}
  .home-hero,
  .gift-hero,
  .contact-hero,
  .services-og-mockup-hero,
  .services-hero,
  .couples-hero,
  .hero,
  .about-hero{
    padding-top:130px !important;
  }
}

/* Homepage portrait frame refinement: clean luxury gold circle only */
.home-dana{
  width:min(100%, 610px);
  aspect-ratio:1/1;
  justify-self:center;
  position:relative;
  z-index:1;
  border-radius:50%;
  padding:8px;
  background:
    linear-gradient(135deg,#f9e7b8 0%,#c8953f 24%,#fff4cf 48%,#b77b2e 72%,#f4d98d 100%);
  box-shadow:
    0 28px 70px rgba(134,65,88,.16),
    0 0 0 1px rgba(255,255,255,.70) inset;
}
.home-dana::before{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:50%;
  border:2px solid rgba(213,167,93,.75);
  box-shadow:0 0 0 1px rgba(255,255,255,.72) inset;
  pointer-events:none;
}
.home-dana::after{
  content:"";
  position:absolute;
  inset:13px;
  border-radius:50%;
  border:1px solid rgba(255,248,229,.86);
  pointer-events:none;
}
.home-dana img{
  width:100%;
  height:100%;
  display:block;
  border-radius:50%;
  object-fit:cover;
  object-position:center center;
  box-shadow:none;
  max-height:none;
}
@media(max-width:720px){
  .home-dana{width:min(92vw,520px);padding:6px;}
  .home-dana::before{inset:-5px;}
  .home-dana::after{inset:10px;}
}

/* ===== MICRO PATCH: keep approved design, use full Dana photo without cropping ===== */
.about-fresh-photo img{
  object-fit:contain !important;
  object-position:center center !important;
}
@media(max-width:720px){
  .about-fresh-photo{
    align-items:center !important;
  }
  .about-fresh-photo img{
    width:auto !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}

/* Safe home banner typography refinement only: preserves the approved section placement and image proportions */
.soft-section.image-replacement.home-banner-refined{
  background:none !important;
  padding:0 !important;
  overflow:hidden !important;
}
.home-spa-banner{
  position:relative;
  width:100%;
  aspect-ratio:1726 / 515;
  border-radius:34px;
  overflow:hidden;
  background:url('assets/spa-candle-towel-banner.jpg') center / cover no-repeat;
}
.home-spa-banner-copy{
  position:absolute;
  top:50%;
  right:8.5%;
  transform:translateY(-50%);
  width:min(48%, 680px);
  text-align:center;
  color:#fffaf6;
  text-shadow:0 5px 14px rgba(58,24,31,.16);
}
.home-spa-banner-copy p{
  margin:0 0 14px;
  font-family:var(--font-clean);
  font-size:clamp(10px, .9vw, 15px);
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.31em;
  font-weight:800;
  color:#dcc8a4;
}
.home-spa-banner-copy h2{
  margin:0;
  font-family:var(--font-main);
  font-size:clamp(42px, 5.1vw, 88px);
  line-height:.92;
  font-weight:500;
  letter-spacing:-.025em;
  color:#fffaf6;
}
.home-spa-banner-copy span{
  display:block;
  margin-top:14px;
  font-family:var(--font-script);
  font-size:clamp(34px, 3.9vw, 66px);
  line-height:.82;
  color:#f5dca5;
  text-shadow:0 4px 10px rgba(76,31,39,.12);
}
.home-spa-banner-copy i{
  display:block;
  width:min(320px, 70%);
  height:1px;
  margin:24px auto 20px;
  background:linear-gradient(90deg, transparent, rgba(245,220,165,.88), transparent);
}
.home-spa-banner-copy small{
  display:block;
  font-family:var(--font-clean);
  font-size:clamp(11px, .95vw, 15px);
  line-height:1.45;
  font-weight:500;
  letter-spacing:.02em;
  color:rgba(255,250,246,.92);
}
@media(max-width:720px){
  .home-spa-banner{
    aspect-ratio:1.35 / 1;
    background-position:center;
  }
  .home-spa-banner-copy{
    left:8%;
    right:8%;
    width:auto;
  }
  .home-spa-banner-copy h2{font-size:clamp(38px, 12vw, 56px);}
  .home-spa-banner-copy span{font-size:clamp(32px, 10vw, 48px);}
  .home-spa-banner-copy small{font-size:12px;}
}

@media(max-width:720px){.couples-final-hero,.couples-luxe-hero,.gift-hero{min-height:auto !important;padding-top:92px !important;padding-bottom:44px !important}.couples-final-hero h1,.gift-hero-copy h1{font-size:clamp(44px,12vw,64px) !important;line-height:.92 !important}.couples-final-hero p,.gift-hero-copy p{font-size:16px !important;line-height:1.7 !important}.hero-overlay-copy{max-width:92% !important}}

.cart-pill{display:flex;align-items:center;gap:8px;}
.cart-pill::before{content:"";width:18px;height:18px;background-image:url("assets/lotus-mark-real.png");background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.9;filter:sepia(.15) saturate(.8);}
@media (hover:hover){
  a:hover,button:hover,.add-cart:hover,.primary-btn:hover{cursor:url("assets/lotus-cursor-real.png") 16 16, pointer;}
}


.after-checkout-panel{
  margin:28px auto 0;
  max-width:720px;
  padding:28px;
  border:1px solid rgba(179,137,94,.28);
  border-radius:28px;
  background:rgba(255,250,246,.72);
  box-shadow:0 18px 50px rgba(75,59,54,.08);
  text-align:center;
}
.after-checkout-panel h2{
  font-family:var(--font-main);
  font-size:clamp(2rem,4vw,3.4rem);
  color:#4B3B36;
  margin:.25rem 0 .6rem;
  line-height:.95;
}
.after-checkout-panel p{
  color:#6c5a55;
}
.soft-disabled{
  opacity:.72;
  pointer-events:none;
}
@media(max-width:700px){
  .after-checkout-panel{padding:22px 18px;border-radius:22px;margin-top:22px;}
}


/* Luxury script font refresh
   Uses Alex Brush from Google Fonts as the licensed-friendly stand-in for the Beautsyspa look.
   If Dana purchases Beautsyspa later, replace --font-script above with that font name. */
.home-copy h1 span,
.services-copy p span,
.included-strip b,
.print-cert-body .script-line,
.wellness-certificate .script-line,
.cert-blessing,
.gift-hero-script,
.about-script,
.couples-script{
  font-family:var(--font-script) !important;
  font-weight:400 !important;
  letter-spacing:.01em;
}

/* ===== CHECKPOINT UPDATE: CORMORANT MAIN FONT TREATMENT =====
   Main readable site copy now uses Urbanist for a cleaner modern spa feel.
   Utility text, forms, buttons, nav, and labels stay Manrope for clean readability. */
body,
.home-copy p,
.section-title p,
.soft-section p,
.info p,
.cart-note,
.couples-intro-copy p,
.couples-contact-card p,
.gift-detail-panel p,
.gift-contact-card p,
.gift-final-banner p,
.contact-panel p,
.about-copy p,
.about-panel p,
li {
  font-family: var(--font-main) !important;
  font-weight: 500;
}

.main-nav,
.header-actions,
.book-button,
.primary-btn,
.secondary-btn,
.cart-pill,
.audio-toggle,
.eyebrow,
.options button,
.add-cart,
.schedule,
button,
input,
textarea,
select,
label,
.form-note,
.cart-line,
.cart-total,
.home-icons,
.service-meta,
.small-label,
.price-chip,
footer,
.certificate-form-panel,
.certificate-form-panel *:not(h1):not(h2):not(h3):not(.script-accent):not(.certificate-script) {
  font-family: var(--font-clean) !important;
}


/* Previous global font pass kept for cascade history; final override below sets Urbanist and Playfair. */
body,
main,
section,
article,
.card,
.service-card,
.info,
.info p,
.section-title,
.home-copy,
.soft-section,
.services-copy,
.couples-intro-copy,
.couples-price-card,
.couples-contact-card,
.gift-option-card,
.gift-detail-panel,
.gift-contact-card,
.gift-final-banner,
.certificate-form-panel,
.cart-page {
  font-family: var(--font-main) !important;
}

/* Keep navigation, buttons, and forms crisp and readable. */
.site-header,
.main-nav,
.header-actions,
.btn,
button,
input,
textarea,
select,
label,
.cart-count,
.audio-toggle,
footer,
.footer,
.small-print,
.badge,
.eyebrow,
.form-row,
.price-pill,
.checkout-note {
  font-family: var(--font-clean) !important;
}

h1, h2, h3, h4, h5, h6,
.display-title,
.section-title h2,
.home-copy h1,
.soft-section h2,
.services-copy h1,
.cart-page h1 {
  font-family: var(--font-main) !important;
  font-weight: 500;
}


/* ===== FONT CONSISTENCY PATCH: 2026-06-03 =====
   Fixes the earlier recursive font variables and forces the same approved font system across every page.
   Main luxury readable text: Urbanist
   Clean utility text: Manrope
   Script accents: Alex Brush */
body,
main,
section,
article,
.home-copy,
.services-copy,
.soft-section,
.section-title,
.info,
.card,
.service-card,
.about-copy,
.about-panel,
.couples-intro-copy,
.couples-price-card,
.couples-contact-card,
.gift-option-card,
.gift-detail-panel,
.gift-contact-card,
.gift-final-banner,
.certificate-form-panel,
.cart-page,
.contact-hero-inner,
.contact-info-card,
.contact-form-wrap,
.contact-footer-luxe,
.luxury-mini-card {
  font-family: var(--font-main) !important;
}

h1, h2, h3, h4, h5, h6,
.home-copy h1,
.services-copy h1,
.soft-section h2,
.section-title h2,
.cart-page h1,
.couples-intro-copy h1,
.couples-price-card h3,
.couples-contact-card h2,
.gift-option-card h3,
.gift-detail-panel h2,
.gift-contact-card h3,
.gift-final-banner h2,
.certificate-form-panel h3,
.contact-hero-inner h1,
.contact-form-wrap h2,
.contact-footer-phrase h2,
.luxury-mini-card h2 {
  font-family: var(--font-main) !important;
  font-weight: 500;
}

p, li,
.home-copy p,
.services-copy p:not(.eyebrow),
.soft-section p,
.section-title p,
.info p,
.about-copy p,
.about-panel p,
.couples-intro-copy p,
.couples-contact-card p,
.gift-detail-panel p,
.gift-contact-card p,
.gift-final-banner p,
.contact-info-row p,
.contact-footer-luxe p {
  font-family: var(--font-main) !important;
  font-weight: 500;
}

.site-header,
.main-nav,
.header-actions,
.book-button,
.primary-btn,
.secondary-btn,
.cart-pill,
.audio-toggle,
button,
.btn,
.options button,
.add-cart,
input,
textarea,
select,
label,
.eyebrow,
.schedule,
.cart-line,
.cart-total,
.cart-count,
.service-meta,
.price-chip,
.small-label,
.form-note,
.contact-submit-btn,
.contact-info-row h3,
.contact-follow-title,
.contact-eyebrow,
.contact-footer-label,
footer,
.footer,
.small-print {
  font-family: var(--font-clean) !important;
}

.home-copy h1 span,
.services-copy p span,
.included-strip b,
.gift-hero-script,
.about-script,
.couples-script,
.contact-script-note,
.print-cert-body .script-line,
.wellness-certificate .script-line,
.cert-blessing {
  font-family: var(--font-script) !important;
}


/* ===== FINAL FONT DIRECTION: MODERN LUXURY CLEAN =====
   Main readable site font: Urbanist
   Select statement headings: Playfair Display
   Script accent font: Alex Brush
   Utility text: Manrope
   This block intentionally sits last so it wins over older Cormorant test overrides. */
:root{
  --font-script:'Alex Brush','Playfair Display',cursive;
  --font-main:'Urbanist', Arial, sans-serif;
  --font-heading:'Playfair Display', Georgia, serif;
  --font-clean:'Manrope', Arial, sans-serif;
}

body,
p,
li,
.info p,
.section-title p,
.fresh-note,
.contact-info-row p,
.contact-form label,
.contact-form input,
.contact-form textarea,
.cart-note,
footer p {
  font-family:var(--font-main) !important;
}

h1,
h2,
.home-copy h1,
.soft-section h2,
.services-copy h1,
.section-title h2,
.fresh-hero-inner h1,
.fresh-services-menu .section-title h2,
.cart-page h1,
.couples-intro-copy h1,
.couples-contact-card h2,
.contact-hero-inner h1,
.contact-form-wrap h2,
.contact-footer-phrase h2,
.luxury-mini-card h2,
.luxury-page-title,
.luxury-section-title,
.certificate-title,
.gift-page h1,
.gift-hero h1,
.about-hero h1,
.about-section h2 {
  font-family:var(--font-heading) !important;
  font-weight:600;
  letter-spacing:-.02em;
}

.info h3,
.included-strip span,
.fresh-included-strip span,
.couples-price-card h3,
.couples-price-card strong,
.cart-total {
  font-family:var(--font-heading) !important;
  font-weight:600;
}

.main-nav,
.book-button,
.primary-btn,
.secondary-btn,
.cart-pill,
.options button,
.add-cart,
.schedule,
.contact-submit-btn,
.eyebrow,
.contact-info-row h3,
.contact-follow-title,
.contact-eyebrow,
.contact-footer-label,
label,
button,
input,
textarea,
select,
.cart-line,
.checkout-summary,
.order-summary,
.form-note {
  font-family:var(--font-clean) !important;
}

.home-copy h1 span,
.services-copy p span,
.fresh-subtitle span,
.included-strip b,
.contact-script-note,
.script-accent,
.luxe-script,
.gift-script,
.certificate-script,
.couples-script,
.price-script,
.soft-script {
  font-family:var(--font-script) !important;
  font-weight:400 !important;
  letter-spacing:0;
}

/* ===== POLISH FIX: Gift certificate hero typography balance ===== */
body.gift-page .luxury-gift-hero .gift-hero-copy h1,
body.gift-page .gift-hero-copy h1{
  font-family:var(--font-heading) !important;
  font-size:clamp(46px,5.6vw,82px) !important;
  line-height:.96 !important;
  letter-spacing:-.035em !important;
  font-weight:600 !important;
  max-width:760px !important;
  margin-bottom:18px !important;
}

body.gift-page .luxury-gift-hero .gift-hero-copy h1 span,
body.gift-page .gift-hero-copy h1 span{
  display:block !important;
  font-family:var(--font-script) !important;
  font-size:clamp(42px,5.1vw,76px) !important;
  line-height:.88 !important;
  color:#944866 !important;
  letter-spacing:.005em !important;
  margin-top:14px !important;
  font-weight:400 !important;
}

body.gift-page .luxury-gift-hero .gift-script,
body.gift-page .gift-script{
  font-family:var(--font-clean) !important;
  text-transform:uppercase !important;
  letter-spacing:.28em !important;
  font-size:12px !important;
  line-height:1.4 !important;
  font-weight:800 !important;
  color:#9b5a6d !important;
  margin:28px 0 18px !important;
}

body.gift-page .luxury-gift-hero .gift-hero-copy > p:not(.eyebrow):not(.gift-script){
  font-family:var(--font-clean) !important;
  font-size:18px !important;
  line-height:1.8 !important;
  max-width:660px !important;
  color:#64424f !important;
}

@media(max-width:720px){
  body.gift-page .luxury-gift-hero .gift-hero-copy h1,
  body.gift-page .gift-hero-copy h1{
    font-size:clamp(40px,12vw,58px) !important;
    line-height:.98 !important;
  }
  body.gift-page .luxury-gift-hero .gift-hero-copy h1 span,
  body.gift-page .gift-hero-copy h1 span{
    font-size:clamp(40px,13vw,62px) !important;
    line-height:.92 !important;
    margin-top:10px !important;
  }
  body.gift-page .luxury-gift-hero .gift-script,
  body.gift-page .gift-script{
    letter-spacing:.18em !important;
    font-size:11px !important;
  }
}


/* Final services booking polish: one action button per service card */
.keep-booking-layout .actions {
  display: flex !important;
  align-items: center !important;
}
.keep-booking-layout .actions .add-cart {
  width: 100% !important;
  min-height: 46px !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.keep-booking-layout .actions .schedule {
  display: none !important;
}
@media (min-width:1181px){
  .keep-booking-layout .service-card {
    grid-template-columns: 90px minmax(280px,1fr) minmax(240px,310px) minmax(220px,280px) !important;
  }
}
@media (max-width:1180px){
  .keep-booking-layout .actions {
    grid-column: 2 !important;
  }
}
@media (max-width:720px){
  .keep-booking-layout .actions {
    grid-column: auto !important;
  }
}


/* Contact page booking button fix */
.contact-booking-note{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:14px 0 18px;
}
.contact-booking-note a{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto !important;
  min-width:170px;
  height:auto !important;
  min-height:52px;
  padding:14px 22px;
  border-radius:999px;
  background:linear-gradient(135deg,#9a5e76,#8a4059);
  color:#fff !important;
  text-decoration:none;
  font-family:var(--font-ui);
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1.25;
  box-shadow:0 16px 34px rgba(138,64,89,.15);
}
.contact-booking-note a:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 38px rgba(138,64,89,.2);
}

/* Final contact booking CTA cleanup */
.contact-info-card .contact-booking-note{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:0 !important;
  margin:14px 0 22px !important;
}
.contact-info-card .contact-booking-note a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:190px !important;
  max-width:100% !important;
  height:auto !important;
  min-height:52px !important;
  padding:15px 24px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#9a5e76,#8a4059) !important;
  color:#fff !important;
  text-decoration:none !important;
  font-family:var(--font-ui) !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  box-shadow:0 16px 34px rgba(138,64,89,.16) !important;
}

/* Gift certificate builder final polish */
.certificate-form-panel{
  padding-bottom:44px !important;
}
.certificate-actions{
  margin-top:24px !important;
  padding-bottom:8px !important;
}
.certificate-actions .cert-cart-btn{
  min-height:54px !important;
  line-height:1.25 !important;
}
.input-help{
  max-width:320px;
}

/* Certificate preview value placement: prevents service, date number, and message overlap */
.template-field{
  overflow:visible !important;
  text-overflow:clip !important;
}
.template-service{
  left:34.4% !important;
  top:61.55% !important;
  width:28.5% !important;
  font-size:clamp(7px,.86vw,11px) !important;
  line-height:1.05 !important;
  letter-spacing:-.01em !important;
  white-space:normal !important;
}
.template-service.is-long{
  font-size:clamp(6px,.76vw,9.5px) !important;
  line-height:1.05 !important;
}
.template-number{
  left:69.4% !important;
  top:61.55% !important;
  width:18.2% !important;
  font-size:clamp(6px,.72vw,9.25px) !important;
  line-height:1.05 !important;
  letter-spacing:-.015em !important;
  white-space:nowrap !important;
  text-align:left !important;
}
.template-amount{
  left:30.1% !important;
  top:66.2% !important;
  width:19.5% !important;
}
.template-expires{
  left:59.4% !important;
  top:66.2% !important;
  width:24% !important;
  font-size:clamp(7px,.85vw,10.75px) !important;
}
.template-from{
  left:29.5% !important;
  top:71.35% !important;
  width:53% !important;
  font-size:clamp(7px,.85vw,11px) !important;
  color:#74475c !important;
}
.template-message{
  left:34.8% !important;
  top:76.45% !important;
  width:48% !important;
  font-size:clamp(7px,.82vw,10.5px) !important;
  white-space:normal !important;
  line-height:1.15 !important;
}
.template-message.is-long{
  font-size:clamp(6px,.72vw,9px) !important;
}
@media(max-width:650px){
  .template-service{font-size:6px !important;}
  .template-number{font-size:5.6px !important;}
  .template-message,.template-from,.template-expires{font-size:6px !important;}
}

/* Gift certificate final luxury polish */
.preview-toolbar{
  width:min(900px,100%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 auto 14px;
  padding:0 4px;
  color:#714257;
}
.preview-toolbar span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:8px 14px;
  border:1px solid rgba(196,147,68,.34);
  border-radius:999px;
  background:rgba(255,250,246,.72);
  color:#9a4058;
  font-family:var(--font-ui);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.preview-toolbar p{
  margin:0;
  color:#8b6b66;
  font-size:12px;
  line-height:1.4;
  text-align:right;
}
.print-zone{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}
.watermark-mark{
  font-family:var(--font-ui) !important;
  text-transform:uppercase !important;
  letter-spacing:.18em !important;
  font-size:clamp(58px,7vw,98px) !important;
  color:rgba(108,61,73,.085) !important;
  top:49% !important;
  transform:translate(-50%,-50%) rotate(-17deg) !important;
}
.template-field{
  font-family:var(--font-ui) !important;
  font-weight:800 !important;
}
.template-service{
  left:34.8% !important;
  top:61.35% !important;
  width:27.2% !important;
  text-align:center !important;
  font-size:clamp(6.8px,.78vw,10px) !important;
  line-height:1.12 !important;
  white-space:normal !important;
}
.template-service.is-long{
  font-size:clamp(5.8px,.68vw,8.8px) !important;
  line-height:1.08 !important;
}
.template-number{
  left:70.8% !important;
  top:61.35% !important;
  width:13.4% !important;
  text-align:center !important;
  font-size:clamp(6.8px,.78vw,10px) !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}
.template-from{
  left:30.2% !important;
  top:71.35% !important;
  width:51.5% !important;
  text-align:center !important;
  color:#5f3448 !important;
  font-size:clamp(7.2px,.88vw,11.2px) !important;
}
.template-message{
  left:35.4% !important;
  top:76.55% !important;
  width:46.8% !important;
  text-align:center !important;
}
@media(max-width:850px){
  .preview-toolbar{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .preview-toolbar p{text-align:left;}
}
@media print{
  .preview-toolbar{display:none !important;}
  .watermark-mark{display:none !important;}
}

/* Gift certificate screenshot polish: prevent crowding on the certificate artwork */
.watermark-mark{
  font-size:clamp(46px,5.8vw,76px) !important;
  color:rgba(108,61,73,.055) !important;
  letter-spacing:.2em !important;
  top:48.5% !important;
  transform:translate(-50%,-50%) rotate(-16deg) !important;
}
.template-service{
  left:36.2% !important;
  top:61.36% !important;
  width:18.8% !important;
  text-align:left !important;
  font-size:clamp(6px,.68vw,8.6px) !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.template-service.is-long{
  font-size:clamp(5.4px,.62vw,7.8px) !important;
}
.template-number{
  left:79.2% !important;
  top:61.36% !important;
  width:8.8% !important;
  text-align:left !important;
  font-size:clamp(6px,.68vw,8.6px) !important;
  white-space:nowrap !important;
}
.template-amount{
  left:30.1% !important;
  top:66.12% !important;
}
.template-expires{
  left:59.2% !important;
  top:66.12% !important;
}
.template-from{
  top:71.28% !important;
}
.template-message{
  top:76.45% !important;
}


/* =========================================================
   COUPLES PAGE TRUE REDESIGN
   Clean scoped redesign. Avoids the older generic stacked card sections.
   ========================================================= */
body.couples-redesign-page{
  background:
    radial-gradient(circle at 12% 12%, rgba(246,203,215,.46), transparent 32%),
    radial-gradient(circle at 88% 8%, rgba(220,184,112,.18), transparent 26%),
    linear-gradient(180deg,#fff8f4 0%,#fff2f6 45%,#fff8f4 100%) !important;
  color:#432832;
}
body.couples-redesign-page .site-header{box-shadow:0 18px 46px rgba(92,45,60,.12) !important;}
body.couples-redesign-page .main-nav a.active{color:#b88635;border-bottom:1px solid rgba(213,167,93,.82);padding-bottom:6px;}

.couples-redesign-page .couples-editorial-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(340px,.88fr) minmax(420px,1fr);
  gap:clamp(34px,5vw,82px);
  align-items:center;
  min-height:760px;
  padding:170px clamp(28px,7vw,124px) 84px;
  overflow:hidden;
}
.couples-redesign-page .hero-bloom{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 70% 44%, rgba(154,64,88,.12), transparent 36%),
    linear-gradient(90deg, rgba(255,255,255,.25), transparent 50%);
  pointer-events:none;
}
.couples-redesign-page .couples-hero-media{
  position:relative;
  z-index:1;
  border-radius:48px 48px 190px 190px;
  padding:15px;
  border:1px solid rgba(196,147,68,.32);
  background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,237,244,.58));
  box-shadow:0 34px 90px rgba(92,45,60,.15);
}
.couples-redesign-page .couples-hero-media:before{
  content:"";
  position:absolute;
  inset:31px;
  border-radius:34px 34px 156px 156px;
  border:1px solid rgba(255,231,168,.26);
  z-index:2;
  pointer-events:none;
}
.couples-redesign-page .couples-hero-media img{
  display:block;
  width:100%;
  min-height:520px;
  object-fit:cover;
  border-radius:36px 36px 168px 168px;
  filter:saturate(.88) contrast(.98) brightness(1.03);
}
.couples-redesign-page .couples-hero-media:after{
  content:"";
  position:absolute;
  inset:15px;
  border-radius:36px 36px 168px 168px;
  background:linear-gradient(180deg,rgba(99,42,56,.06),rgba(99,42,56,.34));
  pointer-events:none;
}
.couples-redesign-page .media-label{
  position:absolute;
  left:50%;
  bottom:42px;
  transform:translateX(-50%);
  z-index:3;
  padding:12px 22px;
  border-radius:999px;
  background:rgba(255,248,244,.80);
  border:1px solid rgba(213,167,93,.35);
  color:#7a3d50;
  font-family:var(--font-ui);
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.18em;
  font-weight:900;
  white-space:nowrap;
}
.couples-redesign-page .couples-hero-copy{position:relative;z-index:1;max-width:760px;}
.couples-redesign-page .couples-hero-logo{
  width:min(320px,72%);
  display:block;
  margin:0 0 22px -18px;
  filter:drop-shadow(0 18px 28px rgba(183,132,54,.18));
}
.couples-redesign-page .couples-kicker{
  display:flex;
  align-items:center;
  gap:14px;
  color:#b88635;
  font-family:var(--font-ui);
  font-size:11px;
  font-weight:900;
  letter-spacing:.24em;
  text-transform:uppercase;
  margin:0 0 18px;
}
.couples-redesign-page .couples-kicker span{display:block;width:54px;height:1px;background:linear-gradient(90deg,transparent,#d5a75d);}
.couples-redesign-page .couples-kicker span:last-child{background:linear-gradient(90deg,#d5a75d,transparent);}
.couples-redesign-page .couples-hero-copy h1{
  font-family:var(--font-heading);
  color:#663248;
  font-size:clamp(58px,6.7vw,106px);
  line-height:.90;
  letter-spacing:-.045em;
  font-weight:600;
  margin:0 0 10px;
}
.couples-redesign-page .hero-script{
  font-family:var(--font-script);
  color:#a5647a;
  font-size:clamp(42px,4.4vw,72px);
  line-height:1;
  margin:8px 0 18px;
}
.couples-redesign-page .hero-summary{
  max-width:650px;
  color:#6f5059;
  font-size:19px;
  line-height:1.72;
  margin:0 0 30px;
}
.couples-redesign-page .couples-hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.couples-redesign-page .couples-hero-actions .primary-btn,
.couples-redesign-page .couples-hero-actions .secondary-btn{
  border-radius:999px;
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 28px;
}
.couples-redesign-page .couples-hero-actions .primary-btn{background:linear-gradient(135deg,#c98ca1,#8e3f59) !important;color:white !important;box-shadow:0 18px 38px rgba(142,63,89,.18) !important;}
.couples-redesign-page .couples-hero-actions .secondary-btn{background:rgba(255,250,246,.86) !important;color:#6b3148 !important;border:1px solid rgba(196,147,68,.35) !important;}

.couples-redesign-page .couples-included-panel{
  position:relative;
  margin:0 clamp(24px,7vw,124px) 54px;
  padding:42px clamp(22px,4vw,50px) 44px;
  border-radius:42px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,240,246,.78)),
    radial-gradient(circle at 10% 0%,rgba(213,167,93,.16),transparent 42%);
  border:1px solid rgba(196,147,68,.28);
  box-shadow:0 26px 68px rgba(92,45,60,.08);
  overflow:hidden;
}
.couples-redesign-page .couples-included-panel:before{
  content:"DL";
  position:absolute;
  right:38px;
  top:-28px;
  font-family:var(--font-script);
  color:rgba(154,64,88,.055);
  font-size:180px;
  line-height:1;
}
.couples-redesign-page .couples-included-panel > .couples-kicker{justify-content:center;margin-bottom:26px;}
.couples-redesign-page .included-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.couples-redesign-page .included-grid article{
  padding:28px 22px 24px;
  border-radius:28px;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(196,147,68,.20);
  text-align:center;
  box-shadow:0 16px 36px rgba(92,45,60,.05);
}
.couples-redesign-page .included-grid b{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin:0 auto 16px;
  border-radius:50%;
  background:rgba(255,248,244,.86);
  border:1px solid rgba(213,167,93,.34);
  color:#b88635;
  font-family:var(--font-ui);
  font-size:11px;
  letter-spacing:.08em;
}
.couples-redesign-page .included-grid h3{font-family:var(--font-heading);color:#6b3148;font-size:24px;line-height:1;margin:0 0 9px;}
.couples-redesign-page .included-grid p{color:#806268;font-size:15px;line-height:1.55;margin:0;}

.couples-redesign-page .couples-menu-section{
  padding:36px clamp(24px,7vw,124px) 58px;
}
.couples-redesign-page .couples-menu-section .section-title{max-width:850px;margin:0 auto 34px;text-align:center;}
.couples-redesign-page .couples-menu-section .section-title .couples-kicker{justify-content:center;}
.couples-redesign-page .couples-menu-section h2{
  font-family:var(--font-heading);
  font-size:clamp(50px,5vw,78px);
  line-height:.96;
  color:#663248;
  margin:0 0 6px;
}
.couples-redesign-page .pricing-script{font-family:var(--font-script);font-size:clamp(38px,4vw,58px);color:#a5647a;margin:0 0 8px !important;}
.couples-redesign-page .couples-menu-section .section-title p:last-child{color:#72505b;font-size:18px;line-height:1.6;}
.couples-redesign-page .couples-session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;max-width:1040px;margin:0 auto;}
.couples-redesign-page .couples-session-card{
  position:relative;
  overflow:hidden;
  padding:36px 36px 34px;
  min-height:390px;
  border-radius:40px;
  border:1px solid rgba(196,147,68,.30);
  background:
    linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,244,248,.88)),
    radial-gradient(circle at 50% 0%,rgba(213,167,93,.18),transparent 45%);
  box-shadow:0 24px 62px rgba(92,45,60,.09);
}
.couples-redesign-page .couples-session-card:before{
  content:"";position:absolute;inset:16px;border-radius:28px;border:1px solid rgba(213,167,93,.18);pointer-events:none;
}
.couples-redesign-page .couples-session-card:after{
  content:"";position:absolute;right:-56px;bottom:-70px;width:220px;height:220px;background:url('assets/lotus-mark-real.png') center/contain no-repeat;opacity:.07;pointer-events:none;
}
.couples-redesign-page .session-card-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:8px;}
.couples-redesign-page .session-card-top .mini-label{margin:0;color:#b88635;font-size:10px;letter-spacing:.24em;}
.couples-redesign-page .session-card-top span{font-family:var(--font-heading);font-size:30px;color:rgba(154,64,88,.18);}
.couples-redesign-page .couples-session-card h3{position:relative;z-index:1;font-family:var(--font-heading);font-size:clamp(46px,4.6vw,66px);line-height:.98;color:#9a6073;margin:0 0 12px;letter-spacing:-.035em;}
.couples-redesign-page .session-price{position:relative;z-index:1;font-family:var(--font-heading);font-size:clamp(58px,5.5vw,84px);line-height:1;color:#d2aa67;margin:0 0 16px;}
.couples-redesign-page .couples-session-card p{position:relative;z-index:1;color:#7b5b63;font-size:18px;line-height:1.55;margin:0 0 24px;max-width:440px;}
.couples-redesign-page .couples-session-card .luxe-add{position:relative;z-index:1;width:100%;min-height:56px;border:0;border-radius:999px;background:linear-gradient(135deg,#c98ca1,#8e3f59);color:#fff;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900;box-shadow:0 18px 38px rgba(142,63,89,.18);cursor:pointer;}
.couples-redesign-page .couples-session-card.featured{background:linear-gradient(145deg,rgba(255,251,248,.88),rgba(250,230,237,.94));}

.couples-redesign-page .couples-candle-section{
  position:relative;
  display:grid;
  grid-template-columns:1fr .88fr;
  align-items:stretch;
  margin:24px clamp(24px,7vw,124px) 0;
  min-height:390px;
  border-radius:48px;
  overflow:hidden;
  border:1px solid rgba(196,147,68,.30);
  box-shadow:0 28px 74px rgba(92,45,60,.14);
  background:#7a314b;
}
.couples-redesign-page .candle-image{background:url('assets/spa-candle-towel-banner.jpg') center/cover no-repeat;min-height:390px;filter:saturate(.9) contrast(.98);}
.couples-redesign-page .candle-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(102,39,61,.10),rgba(102,39,61,.52) 54%,rgba(102,39,61,.86));pointer-events:none;}
.couples-redesign-page .candle-copy{position:relative;z-index:1;padding:62px clamp(32px,5vw,72px);display:flex;flex-direction:column;justify-content:center;color:#fff8f4;}
.couples-redesign-page .candle-copy .couples-kicker{color:#f3d59a;}
.couples-redesign-page .candle-copy h2{font-family:var(--font-heading);font-size:clamp(52px,5vw,78px);line-height:.94;margin:0;color:#fff8f4;letter-spacing:-.03em;}
.couples-redesign-page .candle-copy .script-accent{font-family:var(--font-script);font-size:clamp(38px,4.2vw,58px);line-height:1;color:#ffe7a8;margin:6px 0 18px;}
.couples-redesign-page .candle-copy p:last-child{max-width:520px;color:#fff3ef;line-height:1.65;font-size:17px;margin:0;}

.couples-redesign-page .couples-reserve-panel{
  position:relative;
  display:grid;
  grid-template-columns:1.1fr .74fr;
  gap:44px;
  align-items:center;
  margin:0;
  padding:82px clamp(30px,8vw,140px) 86px;
  background:
    radial-gradient(circle at 18% 50%,rgba(255,231,168,.13),transparent 28%),
    linear-gradient(135deg,#8f3c58 0%,#7b304a 58%,#60253a 100%);
  overflow:hidden;
}
.couples-redesign-page .couples-reserve-panel:before{content:"";position:absolute;left:-120px;bottom:-180px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(255,231,168,.16);}
.couples-redesign-page .reserve-brand,.couples-redesign-page .reserve-details{position:relative;z-index:1;}
.couples-redesign-page .reserve-brand img{width:min(260px,54%);margin:0 0 18px -12px;filter:brightness(1.42) saturate(.86) drop-shadow(0 18px 26px rgba(0,0,0,.10));}
.couples-redesign-page .reserve-brand .couples-kicker{color:#f3d59a;}
.couples-redesign-page .reserve-brand h2{font-family:var(--font-heading);font-size:clamp(52px,5.8vw,88px);line-height:.94;color:#fff8f4;margin:0 0 18px;letter-spacing:-.035em;max-width:720px;}
.couples-redesign-page .reserve-brand > p{font-size:18px;line-height:1.65;color:#fff4ef;max-width:660px;margin:0 0 28px;}
.couples-redesign-page .reserve-details{justify-self:end;width:min(460px,100%);padding:38px 40px;border-radius:34px;background:rgba(255,248,244,.10);border:1px solid rgba(255,231,168,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.10);backdrop-filter:blur(10px);}
.couples-redesign-page .reserve-details p{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:900;color:#f3d59a;margin:0 0 16px;}
.couples-redesign-page .reserve-details a{display:block;font-family:var(--font-heading);font-size:clamp(42px,4.5vw,60px);line-height:1;color:#fff4c7;text-decoration:none;margin:0 0 22px;}
.couples-redesign-page .reserve-line{height:1px;background:linear-gradient(90deg,rgba(255,231,168,.58),transparent);margin:0 0 22px;}
.couples-redesign-page .reserve-details span{display:block;color:#fff7f0;font-size:17px;line-height:1.55;margin-top:18px;}

/* Contact page logo correction from screenshot: louder brand card without changing the page structure */
.contact-luxury-page .contact-info-card{position:relative;overflow:hidden;padding-top:56px !important;border-radius:46px !important;background:linear-gradient(145deg,rgba(255,255,255,.90),rgba(255,242,248,.78)) !important;box-shadow:0 32px 84px rgba(92,45,60,.10) !important;}
.contact-luxury-page .contact-info-card:before{content:"";position:absolute;left:50%;top:120px;width:360px;height:360px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,231,168,.34),transparent 62%);pointer-events:none;}
.contact-luxury-page .contact-card-logo{position:relative;z-index:1;width:min(315px,86%) !important;margin:0 auto 48px !important;filter:drop-shadow(0 22px 34px rgba(183,132,54,.24)) !important;}
.contact-luxury-page .contact-info-row,.contact-luxury-page .contact-mini-divider,.contact-luxury-page .contact-follow-title,.contact-luxury-page .contact-booking-note,.contact-luxury-page .contact-script-note{position:relative;z-index:1;}

@media(max-width:1120px){
  .couples-redesign-page .couples-editorial-hero{grid-template-columns:1fr;min-height:auto;padding-top:150px;}
  .couples-redesign-page .couples-hero-media{max-width:680px;margin:0 auto;}
  .couples-redesign-page .couples-hero-copy{text-align:center;margin:0 auto;}
  .couples-redesign-page .couples-hero-logo{margin-left:auto;margin-right:auto;}
  .couples-redesign-page .couples-kicker{justify-content:center;}
  .couples-redesign-page .couples-hero-actions{justify-content:center;}
  .couples-redesign-page .included-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .couples-redesign-page .couples-reserve-panel{grid-template-columns:1fr;}
  .couples-redesign-page .reserve-details{justify-self:start;}
}
@media(max-width:760px){
  .couples-redesign-page .couples-editorial-hero{padding:130px 20px 56px;}
  .couples-redesign-page .couples-hero-media img{min-height:390px;}
  .couples-redesign-page .couples-included-panel,.couples-redesign-page .couples-candle-section{margin-left:20px;margin-right:20px;}
  .couples-redesign-page .included-grid,.couples-redesign-page .couples-session-grid,.couples-redesign-page .couples-candle-section{grid-template-columns:1fr;}
  .couples-redesign-page .couples-menu-section{padding-left:20px;padding-right:20px;}
  .couples-redesign-page .candle-image{min-height:260px;}
  .couples-redesign-page .candle-image:after{background:linear-gradient(180deg,rgba(102,39,61,.06),rgba(102,39,61,.76));}
  .couples-redesign-page .candle-copy{padding:38px 26px;}
  .couples-redesign-page .couples-reserve-panel{padding:56px 24px 64px;}
  .couples-redesign-page .reserve-brand img{width:min(235px,78%);}
}


/* COUPLES PAGE TARGETED CONTENT POLISH */
.couples-redesign-page .included-grid b{
  font-size:16px;
  font-weight:800;
  letter-spacing:0;
}
.couples-redesign-page .session-card-top span{
  display:none !important;
}
.couples-redesign-page .couples-session-card:after{
  display:none !important;
}
.couples-redesign-page .couples-candle-section{
  margin-top:34px;
}
.couples-redesign-page .candle-image{
  background:url('assets/peace-banner-clean.jpg') center/cover no-repeat !important;
  position:relative;
}
.couples-redesign-page .candle-image:after{
  background:linear-gradient(90deg,rgba(72,31,45,.08),rgba(72,31,45,.32) 50%,rgba(72,31,45,.70)) !important;
}
.couples-redesign-page .candle-copy h2{
  max-width:10ch;
}
.couples-redesign-page .candle-copy .script-accent{
  margin-top:10px;
}
.couples-redesign-page .couples-reserve-panel:before{
  display:none !important;
}
.couples-redesign-page .reserve-brand img{
  width:min(290px,58%);
}
.couples-redesign-page .reserve-brand h2{
  max-width:12ch;
  font-size:clamp(50px,5.2vw,80px);
}
.couples-redesign-page .reserve-brand > p{
  max-width:650px;
}
.couples-redesign-page .reserve-details{
  background:rgba(255,248,244,.12);
  border-color:rgba(255,231,168,.18);
}
.couples-redesign-page .couples-menu-section .section-title{
  max-width:980px;
}
.couples-redesign-page .couples-menu-section h2{
  max-width:14ch;
  margin-left:auto;
  margin-right:auto;
}
.couples-redesign-page .pricing-script{
  font-family:var(--font-ui);
  font-size:14px;
  letter-spacing:.08em;
  text-transform:none;
  color:#8f6073;
}
.couples-redesign-page .couples-session-card p,
.couples-redesign-page .couples-menu-section .section-title p:last-child,
.couples-redesign-page .candle-copy p:last-child,
.couples-redesign-page .reserve-brand > p{
  color:#6f5159;
}
.couples-redesign-page .candle-copy p:last-child,
.couples-redesign-page .reserve-brand > p{
  color:#fff3ee;
}

/* =========================================================
   2026-06-03 TARGETED WEBSITE PATCH
   Requested fixes only: home banner image/typography + couples pricing fonts.
   No generated image assets added.
   ========================================================= */

/* HOME: replace washed-out generic massage banner with the existing candle/towel asset
   and give it the same luxury typography language used across the approved site. */
.soft-section.image-replacement.home-banner-refined{
  max-width:min(1510px, calc(100% - 96px)) !important;
  margin:72px auto 78px !important;
  border-radius:42px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.home-spa-banner{
  aspect-ratio:1726 / 515 !important;
  border-radius:42px !important;
  border:1px solid rgba(213,167,93,.30) !important;
  box-shadow:0 30px 86px rgba(92,45,60,.12) !important;
  background:
    linear-gradient(90deg, rgba(64,28,39,.16) 0%, rgba(64,28,39,.20) 37%, rgba(90,34,55,.70) 71%, rgba(90,34,55,.86) 100%),
    url('assets/peace-banner-clean.jpg') center center / cover no-repeat !important;
  isolation:isolate !important;
}
.home-spa-banner::before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:30px;
  border:1px solid rgba(255,231,168,.18);
  pointer-events:none;
  z-index:1;
}
.home-spa-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 17% 26%, rgba(255,250,246,.15), transparent 32%),
    linear-gradient(180deg, rgba(255,250,246,.03), rgba(64,28,39,.08));
  pointer-events:none;
  z-index:0;
}
.home-spa-banner-copy{
  z-index:2 !important;
  right:7.8% !important;
  width:min(47%, 690px) !important;
  text-shadow:0 12px 32px rgba(48,20,30,.26) !important;
}
.home-spa-banner-copy p{
  font-family:var(--font-clean) !important;
  color:#f1dba8 !important;
  letter-spacing:.40em !important;
  font-size:clamp(10px,.82vw,14px) !important;
  font-weight:800 !important;
  margin-bottom:16px !important;
}
.home-spa-banner-copy h2{
  font-family:var(--font-heading) !important;
  color:#fffaf6 !important;
  font-size:clamp(48px,5vw,92px) !important;
  line-height:.90 !important;
  font-weight:600 !important;
  letter-spacing:-.045em !important;
}
.home-spa-banner-copy span{
  font-family:var(--font-script) !important;
  color:#ffe0a5 !important;
  font-size:clamp(42px,4.2vw,72px) !important;
  line-height:.86 !important;
  margin-top:16px !important;
}
.home-spa-banner-copy small{
  font-family:var(--font-clean) !important;
  color:rgba(255,250,246,.96) !important;
  font-size:clamp(12px,.9vw,15px) !important;
  font-weight:600 !important;
  letter-spacing:.015em !important;
}
.home-spa-banner-copy i{
  width:min(350px,72%) !important;
  margin:26px auto 22px !important;
  background:linear-gradient(90deg, transparent, rgba(255,224,165,.72), transparent) !important;
}

/* COUPLES PRICING: remove generic placeholder-feeling type and align it with the
   approved luxury serif + script + clean body font system. Also prevents the title
   from clipping at the top of the section. */
.couples-redesign-page .couples-menu-section{
  padding-top:72px !important;
  padding-bottom:74px !important;
}
.couples-redesign-page .couples-menu-section .section-title{
  max-width:1040px !important;
  margin:0 auto 42px !important;
  overflow:visible !important;
}
.couples-redesign-page .couples-menu-section h2{
  font-family:var(--font-heading) !important;
  max-width:16ch !important;
  color:#5e2d42 !important;
  font-size:clamp(48px,4.8vw,82px) !important;
  line-height:.96 !important;
  font-weight:600 !important;
  letter-spacing:-.05em !important;
  margin:4px auto 10px !important;
  overflow:visible !important;
}
.couples-redesign-page .pricing-script{
  font-family:var(--font-script) !important;
  color:#a35f78 !important;
  font-size:clamp(34px,3.5vw,58px) !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  font-weight:400 !important;
  margin:4px 0 14px !important;
}
.couples-redesign-page .couples-menu-section .section-title p:last-child{
  font-family:var(--font-clean) !important;
  max-width:900px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  color:#6f5159 !important;
  font-size:18px !important;
  line-height:1.65 !important;
}
.couples-redesign-page .couples-session-grid{
  max-width:1120px !important;
  gap:34px !important;
}
.couples-redesign-page .couples-session-card{
  padding:42px 44px 38px !important;
  min-height:410px !important;
  border-radius:42px !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,255,255,.82), transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,244,248,.88)) !important;
}
.couples-redesign-page .couples-session-card.featured{
  background:
    radial-gradient(circle at 12% 0%, rgba(255,255,255,.82), transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.88),rgba(249,230,237,.92)) !important;
}
.couples-redesign-page .session-card-top .mini-label{
  font-family:var(--font-clean) !important;
  color:#bd8c38 !important;
  letter-spacing:.32em !important;
  font-size:11px !important;
  font-weight:900 !important;
}
.couples-redesign-page .couples-session-card h3{
  font-family:var(--font-heading) !important;
  color:#8f5368 !important;
  font-size:clamp(52px,4.6vw,72px) !important;
  line-height:.92 !important;
  font-weight:600 !important;
  letter-spacing:-.055em !important;
  margin:8px 0 18px !important;
}
.couples-redesign-page .session-price{
  font-family:var(--font-heading) !important;
  color:#d2a75d !important;
  font-size:clamp(66px,5.7vw,92px) !important;
  line-height:.92 !important;
  font-weight:500 !important;
  letter-spacing:-.055em !important;
  margin-bottom:18px !important;
}
.couples-redesign-page .couples-session-card p{
  font-family:var(--font-clean) !important;
  color:#6f5159 !important;
  font-size:17px !important;
  line-height:1.62 !important;
  margin-bottom:30px !important;
}
.couples-redesign-page .couples-session-card .luxe-add{
  font-family:var(--font-clean) !important;
  min-height:58px !important;
  font-size:12px !important;
  letter-spacing:.18em !important;
  font-weight:900 !important;
}

@media(max-width:760px){
  .soft-section.image-replacement.home-banner-refined{
    max-width:calc(100% - 34px) !important;
    margin:42px auto 54px !important;
  }
  .home-spa-banner{
    aspect-ratio:1.12 / 1 !important;
    background-position:left center !important;
  }
  .home-spa-banner::before{inset:12px;border-radius:28px;}
  .home-spa-banner-copy{
    left:9% !important;
    right:9% !important;
    width:auto !important;
  }
  .home-spa-banner-copy h2{font-size:clamp(40px,12vw,58px) !important;}
  .home-spa-banner-copy span{font-size:clamp(36px,11vw,52px) !important;}
  .couples-redesign-page .couples-menu-section{
    padding-top:54px !important;
    padding-bottom:58px !important;
  }
  .couples-redesign-page .couples-menu-section h2{
    font-size:clamp(42px,12vw,62px) !important;
    max-width:12ch !important;
  }
  .couples-redesign-page .couples-session-card{
    padding:34px 28px 32px !important;
    min-height:auto !important;
  }
}

/* =========================================================
   2026-06-03 TARGETED COMPOSITION FIX
   Fixes the pricing-card rhythm that felt off: oversized type,
   too much air above cards, heavy buttons, and washed homepage banner.
   ========================================================= */

/* Home banner: use the richer candle/towel photo asset instead of the pale generic-feeling banner. */
.soft-section.image-replacement.home-banner-refined{
  margin:58px auto 70px !important;
}
.home-spa-banner{
  background:
    linear-gradient(90deg, rgba(58,26,37,.08) 0%, rgba(58,26,37,.22) 34%, rgba(87,32,51,.72) 68%, rgba(87,32,51,.90) 100%),
    url('assets/spa-candle-towel-banner.jpg') center center / cover no-repeat !important;
  border-color:rgba(220,200,164,.36) !important;
  box-shadow:0 30px 80px rgba(92,45,60,.14) !important;
}
.home-spa-banner-copy h2{
  font-size:clamp(44px,4.65vw,82px) !important;
  line-height:.94 !important;
  letter-spacing:-.035em !important;
}
.home-spa-banner-copy span{
  font-size:clamp(40px,3.8vw,66px) !important;
  margin-top:12px !important;
}

/* Couples pricing: tighten the section so it feels designed instead of dropped into place. */
.couples-redesign-page .couples-menu-section{
  padding-top:58px !important;
  padding-bottom:64px !important;
}
.couples-redesign-page .couples-menu-section .section-title{
  max-width:980px !important;
  margin:0 auto 26px !important;
}
.couples-redesign-page .couples-menu-section h2{
  font-family:var(--font-heading) !important;
  max-width:15ch !important;
  font-size:clamp(44px,4.25vw,72px) !important;
  line-height:1.02 !important;
  letter-spacing:-.035em !important;
  font-weight:600 !important;
  margin:0 auto 4px !important;
  color:#572033 !important;
}
.couples-redesign-page .pricing-script{
  font-family:var(--font-script) !important;
  font-size:clamp(30px,3vw,48px) !important;
  line-height:1 !important;
  margin:2px 0 10px !important;
  color:#a45d76 !important;
}
.couples-redesign-page .couples-menu-section .section-title p:last-child{
  max-width:850px !important;
  font-size:17px !important;
  line-height:1.55 !important;
}
.couples-redesign-page .couples-session-grid{
  max-width:1080px !important;
  gap:30px !important;
}
.couples-redesign-page .couples-session-card{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  padding:36px 40px 34px !important;
  min-height:360px !important;
  border-radius:34px !important;
  text-align:left !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(255,255,255,.92), transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,246,249,.90)) !important;
}
.couples-redesign-page .couples-session-card.featured{
  background:
    radial-gradient(circle at 14% 0%, rgba(255,255,255,.92), transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.90),rgba(250,235,241,.90)) !important;
}
.couples-redesign-page .session-card-top{
  margin-bottom:14px !important;
}
.couples-redesign-page .session-card-top .mini-label{
  letter-spacing:.28em !important;
  font-size:10px !important;
}
.couples-redesign-page .couples-session-card h3{
  font-size:clamp(44px,3.65vw,58px) !important;
  line-height:1.02 !important;
  letter-spacing:-.032em !important;
  margin:0 0 8px !important;
  color:#8a4059 !important;
}
.couples-redesign-page .session-price{
  font-size:clamp(54px,4.7vw,70px) !important;
  line-height:.94 !important;
  letter-spacing:-.035em !important;
  margin:0 0 16px !important;
  color:#c99c4d !important;
}
.couples-redesign-page .session-price::first-letter{
  font-size:.74em !important;
}
.couples-redesign-page .couples-session-card p{
  font-size:16px !important;
  line-height:1.58 !important;
  margin:0 0 24px !important;
  max-width:430px !important;
}
.couples-redesign-page .couples-session-card .luxe-add{
  width:100% !important;
  min-height:48px !important;
  margin-top:auto !important;
  border-radius:999px !important;
  font-size:11px !important;
  letter-spacing:.16em !important;
  box-shadow:0 12px 24px rgba(142,63,89,.14) !important;
}

@media(max-width:760px){
  .home-spa-banner{
    background:
      linear-gradient(180deg, rgba(87,32,51,.12) 0%, rgba(87,32,51,.78) 68%, rgba(87,32,51,.92) 100%),
      url('assets/spa-candle-towel-banner.jpg') center center / cover no-repeat !important;
  }
  .couples-redesign-page .couples-menu-section{
    padding-top:48px !important;
    padding-bottom:54px !important;
  }
  .couples-redesign-page .couples-menu-section .section-title{
    margin-bottom:22px !important;
  }
  .couples-redesign-page .couples-session-card{
    padding:32px 26px 30px !important;
    border-radius:30px !important;
  }
}

/* =========================================================
   2026-06-03 TRUE COUPLES PRICING REWORK
   The previous version still felt like oversized placeholder cards.
   This makes the pricing area quieter, more editorial, and aligned with
   the luxury spa system: clean body type, smaller hierarchy, more negative
   space inside the card, and less shouty pricing/buttons.
   ========================================================= */
.couples-redesign-page .couples-menu-section{
  padding:64px clamp(24px,7vw,124px) 88px !important;
}
.couples-redesign-page .couples-menu-section .section-title{
  max-width:920px !important;
  margin:0 auto 38px !important;
}
.couples-redesign-page .couples-menu-section h2{
  font-family:var(--font-heading) !important;
  max-width:17ch !important;
  font-size:clamp(42px,4.1vw,68px) !important;
  line-height:1.02 !important;
  letter-spacing:-.035em !important;
  font-weight:600 !important;
  color:#572033 !important;
  margin:2px auto 8px !important;
}
.couples-redesign-page .pricing-script{
  font-family:var(--font-script) !important;
  font-size:clamp(32px,3.2vw,52px) !important;
  line-height:.95 !important;
  color:#b6788c !important;
  margin:0 0 16px !important;
}
.couples-redesign-page .couples-menu-section .section-title p:last-child{
  font-family:var(--font-clean) !important;
  max-width:820px !important;
  font-size:17px !important;
  line-height:1.62 !important;
  color:#6b4c55 !important;
}
.couples-redesign-page .couples-session-grid{
  max-width:1180px !important;
  gap:28px !important;
  align-items:stretch !important;
}
.couples-redesign-page .couples-session-card{
  min-height:0 !important;
  padding:34px 34px 30px !important;
  border-radius:30px !important;
  display:grid !important;
  grid-template-rows:auto auto auto 1fr auto !important;
  text-align:left !important;
  background:
    linear-gradient(90deg, rgba(196,147,68,.11) 0 9px, transparent 9px),
    linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,246,249,.92)) !important;
  border:1px solid rgba(196,147,68,.26) !important;
  box-shadow:0 20px 54px rgba(92,45,60,.075) !important;
}
.couples-redesign-page .couples-session-card.featured{
  background:
    linear-gradient(90deg, rgba(196,147,68,.16) 0 9px, transparent 9px),
    linear-gradient(145deg,rgba(255,255,255,.92),rgba(250,235,241,.94)) !important;
}
.couples-redesign-page .couples-session-card:before{
  inset:12px !important;
  border-radius:22px !important;
  border-color:rgba(213,167,93,.15) !important;
}
.couples-redesign-page .couples-session-card:after{
  width:170px !important;
  height:170px !important;
  right:-48px !important;
  bottom:-54px !important;
  opacity:.045 !important;
}
.couples-redesign-page .session-card-top{
  margin:0 0 16px !important;
}
.couples-redesign-page .session-card-top .mini-label{
  font-family:var(--font-clean) !important;
  font-size:10px !important;
  letter-spacing:.26em !important;
  color:#bd8c38 !important;
  font-weight:900 !important;
}
.couples-redesign-page .session-card-top span{
  display:none !important;
}
.couples-redesign-page .couples-session-card h3{
  font-family:var(--font-clean) !important;
  text-transform:uppercase !important;
  font-size:clamp(25px,2.1vw,34px) !important;
  line-height:1.05 !important;
  letter-spacing:.055em !important;
  font-weight:800 !important;
  color:#6b3148 !important;
  margin:0 0 12px !important;
}
.couples-redesign-page .session-price{
  font-family:var(--font-heading) !important;
  font-size:clamp(44px,3.9vw,62px) !important;
  line-height:.96 !important;
  letter-spacing:-.025em !important;
  font-weight:500 !important;
  color:#c49344 !important;
  margin:0 0 18px !important;
}
.couples-redesign-page .session-price::first-letter{
  font-size:.72em !important;
  vertical-align:.12em !important;
}
.couples-redesign-page .couples-session-card p{
  font-family:var(--font-clean) !important;
  max-width:460px !important;
  color:#684954 !important;
  font-size:15.5px !important;
  line-height:1.68 !important;
  margin:0 0 26px !important;
}
.couples-redesign-page .couples-session-card .luxe-add{
  width:auto !important;
  min-width:250px !important;
  max-width:315px !important;
  min-height:46px !important;
  padding:12px 24px !important;
  margin:0 !important;
  justify-self:start !important;
  font-family:var(--font-clean) !important;
  font-size:10.5px !important;
  letter-spacing:.145em !important;
  font-weight:900 !important;
  background:linear-gradient(135deg,#b9798f,#8a4059) !important;
  box-shadow:0 10px 22px rgba(142,63,89,.13) !important;
}
.couples-redesign-page .couples-candle-section{
  margin-top:42px !important;
}
@media(max-width:760px){
  .couples-redesign-page .couples-menu-section{
    padding:48px 20px 62px !important;
  }
  .couples-redesign-page .couples-menu-section .section-title{
    margin-bottom:26px !important;
  }
  .couples-redesign-page .couples-session-card{
    padding:30px 26px 28px !important;
  }
  .couples-redesign-page .couples-session-card .luxe-add{
    width:100% !important;
    max-width:none !important;
    justify-self:stretch !important;
  }
}


/* =========================================================
   2026-06-03 NUMBER RHYTHM FIX
   The large duration numerals and decorative price figures were pulling
   the cards out of the softer luxury system. This removes the numeric
   headline, makes duration a quiet detail, and styles the price with a
   cleaner, steadier figure treatment.
   ========================================================= */
.couples-redesign-page .couples-session-card{
  grid-template-rows:auto auto auto auto 1fr auto !important;
  padding:36px 36px 32px !important;
}
.couples-redesign-page .couples-session-card h3{
  font-family:var(--font-heading) !important;
  text-transform:none !important;
  font-size:clamp(34px,3vw,46px) !important;
  line-height:.98 !important;
  letter-spacing:-.035em !important;
  font-weight:600 !important;
  color:#6b3148 !important;
  margin:4px 0 6px !important;
}
.couples-redesign-page .session-duration{
  font-family:var(--font-clean) !important;
  width:max-content !important;
  max-width:none !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:7px 13px !important;
  border-radius:999px !important;
  border:1px solid rgba(196,147,68,.28) !important;
  background:rgba(255,250,246,.82) !important;
  color:#8a4059 !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  margin:0 0 18px !important;
}
.couples-redesign-page .session-price{
  font-family:var(--font-clean) !important;
  font-size:clamp(34px,2.9vw,46px) !important;
  line-height:1 !important;
  letter-spacing:-.015em !important;
  font-weight:700 !important;
  color:#b8893f !important;
  margin:0 0 18px !important;
}
.couples-redesign-page .session-price::first-letter{
  font-size:.78em !important;
  vertical-align:.08em !important;
}
.couples-redesign-page .couples-session-card p:not(.mini-label):not(.session-duration){
  font-size:15.5px !important;
  line-height:1.68 !important;
  margin:0 0 28px !important;
}
@media(max-width:700px){
  .couples-redesign-page .couples-session-card h3{
    font-size:34px !important;
  }
  .couples-redesign-page .session-price{
    font-size:36px !important;
  }
}

/* =========================================================
   2026-06-03 PHONE NUMBER RHYTHM FIX
   The reserve card phone number was too oversized/decorative and was pulling
   attention away from the appointment message. Keep it prominent, but cleaner.
   ========================================================= */
.couples-redesign-page .reserve-details a[href^="tel"]{
  font-family:var(--font-ui) !important;
  font-size:clamp(30px,2.65vw,42px) !important;
  line-height:1.08 !important;
  font-weight:700 !important;
  letter-spacing:.015em !important;
  color:#fff4c7 !important;
  white-space:nowrap !important;
  font-variant-numeric:lining-nums tabular-nums !important;
  margin:0 0 20px !important;
}
.couples-redesign-page .reserve-details{
  width:min(500px,100%) !important;
  padding:40px 42px !important;
}
@media(max-width:760px){
  .couples-redesign-page .reserve-details a[href^="tel"]{
    font-size:clamp(27px,8vw,36px) !important;
    white-space:normal !important;
  }
  .couples-redesign-page .reserve-details{
    padding:30px 26px !important;
  }
}

/* ===== FINAL FIX: Gift certificate field centering + prettier printed-value typography ===== */
.template-certificate .template-field{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-family:'Playfair Display', Georgia, serif !important;
  font-weight:600 !important;
  color:#6f3f55 !important;
  letter-spacing:.018em !important;
  text-align:center !important;
  line-height:1.08 !important;
  overflow:hidden !important;
  text-overflow:clip !important;
}
.template-certificate .template-service{
  left:35.65% !important;
  top:60.98% !important;
  width:26.7% !important;
  height:2.7% !important;
  font-size:clamp(6.2px,.72vw,9.2px) !important;
  white-space:normal !important;
}
.template-certificate .template-service.is-long{
  font-size:clamp(5.6px,.64vw,8px) !important;
}
.template-certificate .template-number{
  left:68.35% !important;
  top:60.98% !important;
  width:19.9% !important;
  height:2.7% !important;
  font-family:'Manrope', Arial, sans-serif !important;
  font-size:clamp(5.8px,.66vw,8.4px) !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}
.template-certificate .template-amount{
  left:28.85% !important;
  top:65.72% !important;
  width:23.55% !important;
  height:2.9% !important;
  font-size:clamp(8px,.94vw,12px) !important;
  font-weight:700 !important;
}
.template-certificate .template-expires{
  left:58.35% !important;
  top:65.72% !important;
  width:25.1% !important;
  height:2.9% !important;
  font-size:clamp(7px,.82vw,10.5px) !important;
  white-space:nowrap !important;
}
.template-certificate .template-from{
  left:28.25% !important;
  top:70.93% !important;
  width:55.85% !important;
  height:2.9% !important;
  font-size:clamp(7px,.84vw,10.8px) !important;
  white-space:nowrap !important;
}
.template-certificate .template-message{
  left:34.55% !important;
  top:75.92% !important;
  width:49.6% !important;
  height:3.2% !important;
  font-size:clamp(7px,.82vw,10.6px) !important;
  white-space:normal !important;
}
.template-certificate .template-message.is-long{
  font-size:clamp(6px,.72vw,9.2px) !important;
}
@media(max-width:650px){
  .template-certificate .template-field{font-size:6.5px !important;}
  .template-certificate .template-service{font-size:5.8px !important;}
  .template-certificate .template-number{font-size:5.2px !important;}
}
@media print{
  .template-certificate .template-field{
    font-size:9.5px !important;
    line-height:1.08 !important;
  }
  .template-certificate .template-number{font-size:8px !important;}
  .template-certificate .template-service{font-size:8.5px !important;}
  .template-certificate .template-amount{font-size:11px !important;}
}

/* ===== FINAL MICRO FIX: shift certificate top service line left ===== */
.template-certificate .template-service{
  left:32.6% !important;
  top:60.98% !important;
  width:27.8% !important;
  justify-content:flex-start !important;
  text-align:left !important;
  padding-left:0 !important;
  padding-right:4px !important;
  white-space:nowrap !important;
  font-size:clamp(6px,.66vw,8.6px) !important;
}
.template-certificate .template-service.is-long{
  font-size:clamp(5.3px,.58vw,7.4px) !important;
}
.template-certificate .template-number{
  left:69.15% !important;
  width:17.9% !important;
  justify-content:flex-start !important;
  text-align:left !important;
}
@media(max-width:650px){
  .template-certificate .template-service{font-size:5.2px !important;}
}
@media print{
  .template-certificate .template-service{font-size:7.8px !important;}
}

/* ===== FINAL MICRO FIX 2: service/package + reference number alignment on gift certificate ===== */
.template-certificate .template-service{
  left:30.9% !important;
  top:60.98% !important;
  width:29.6% !important;
  justify-content:flex-start !important;
  text-align:left !important;
  padding-left:0 !important;
  padding-right:8px !important;
  white-space:nowrap !important;
  font-size:clamp(5.8px,.62vw,8.1px) !important;
  letter-spacing:-.01em !important;
}
.template-certificate .template-service.is-long{
  font-size:clamp(5px,.54vw,7px) !important;
}
.template-certificate .template-number{
  left:64.7% !important;
  top:60.98% !important;
  width:20.8% !important;
  justify-content:flex-start !important;
  text-align:left !important;
  padding-left:0 !important;
  font-size:clamp(5.8px,.62vw,8px) !important;
  letter-spacing:.005em !important;
}
@media(max-width:650px){
  .template-certificate .template-service{font-size:5px !important;}
  .template-certificate .template-number{font-size:5px !important;}
}
@media print{
  .template-certificate .template-service{font-size:7.5px !important;}
  .template-certificate .template-number{font-size:7.3px !important;}
}

/* ===== CALCULATED FIX: certificate top-line values aligned to blank rules =====
   Measured against the flattened 1536x1024 certificate artwork:
   - Service value line starts around x=603 and ends around x=826.
   - Certificate number line starts around x=1034 and ends around x=1247.
   These values place the live text inside those blank lines instead of over the labels. */
.template-certificate .template-service{
  left:39.25% !important;
  top:60.98% !important;
  width:14.55% !important;
  height:2.65% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:0 !important;
  white-space:nowrap !important;
  font-family:'Playfair Display', Georgia, serif !important;
  font-size:clamp(5.4px,.54vw,7.4px) !important;
  font-weight:600 !important;
  letter-spacing:-.012em !important;
  line-height:1 !important;
}
.template-certificate .template-service.is-long{
  font-size:clamp(4.9px,.49vw,6.7px) !important;
}
.template-certificate .template-number{
  left:67.25% !important;
  top:60.98% !important;
  width:13.95% !important;
  height:2.65% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:0 !important;
  white-space:nowrap !important;
  font-family:'Playfair Display', Georgia, serif !important;
  font-size:clamp(5.4px,.54vw,7.4px) !important;
  font-weight:600 !important;
  letter-spacing:-.006em !important;
  line-height:1 !important;
}
@media(max-width:650px){
  .template-certificate .template-service,
  .template-certificate .template-number{font-size:5px !important;}
}
@media print{
  .template-certificate .template-service,
  .template-certificate .template-number{font-size:7.2px !important;}
}
