
:root{--green:#1e382b;--green2:#294b39;--gold:#b88940;--ivory:#f7f3ed;--stone:#ede7dd;--ink:#28312d;--white:#fff;--shadow:0 18px 55px rgba(40,35,25,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.6}h1,h2,h3{font-family:"Cormorant Garamond",serif;font-weight:500;line-height:1.03;margin:0}h2{font-size:clamp(2.5rem,4vw,4.5rem)}a{color:inherit}.section{max-width:1440px;margin:auto;padding:110px 5vw}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:600}.gold{color:var(--gold)}
.site-header{position:fixed;top:0;z-index:100;width:100%;height:86px;display:flex;align-items:center;padding:0 3vw;color:#fff;transition:.35s;background:linear-gradient(to bottom,rgba(0,0,0,.5),transparent)}.brand{width:210px;height:64px;display:flex;align-items:center}.logo{max-width:100%;max-height:62px;object-fit:contain}.logo-dark{display:none}.main-nav{display:flex;gap:30px;margin:auto}.main-nav a{text-decoration:none;font-size:.92rem}.header-cta,.btn{border:0;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:4px;font-weight:600;cursor:pointer;transition:.25s}.header-cta,.btn-gold{background:var(--gold);color:white}.header-cta:hover,.btn-gold:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(184,137,64,.3)}.site-header.scrolled{background:rgba(255,255,255,.96);color:var(--ink);box-shadow:0 8px 25px rgba(0,0,0,.08);backdrop-filter:blur(12px)}.site-header.scrolled .logo-light{display:none}.site-header.scrolled .logo-dark{display:block}.menu-toggle{display:none;background:none;border:0}
.hero{min-height:92vh;display:flex;align-items:center;position:relative;color:white;background:url("assets/hero-reception.webp") center/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,12,9,.78),rgba(10,10,10,.18) 58%,rgba(0,0,0,.12))}.hero-content{position:relative;max-width:720px;margin-left:7vw}.hero h1{font-size:clamp(4rem,7.3vw,8rem)}.hero-content>p:not(.eyebrow){font-size:1.1rem;max-width:620px}.hero-actions{display:flex;gap:15px;margin-top:30px}.btn-outline{border:1px solid rgba(255,255,255,.8);color:white;background:transparent}.btn-outline-dark{border:1px solid var(--gold);color:var(--green);background:transparent}.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;color:white;text-decoration:none;text-align:center}.scroll-cue span{font-size:.65rem;text-transform:uppercase;letter-spacing:.15em}
.value-strip{display:grid;grid-template-columns:repeat(6,1fr);padding:25px 4vw;background:#fff;color:var(--green);gap:10px;border-bottom:1px solid #eee}.value-strip div{display:flex;align-items:center;justify-content:center;gap:9px;padding:7px 14px;border-right:1px solid #e8dfd3}.value-strip div:last-child{border:0}.value-strip div:first-letter{color:var(--gold);font-size:1.6rem}
.welcome{display:grid;grid-template-columns:.8fr 1.4fr;gap:70px;align-items:center}.welcome-copy p{max-width:560px}.mspas-endorsement{display:flex;align-items:center;gap:20px;margin-top:35px}.mspas-endorsement img{width:210px;max-height:100px;object-fit:contain}.mspas-endorsement div{display:flex;flex-direction:column}.mspas-endorsement a{color:var(--gold)}.welcome-image img,.story-image img{width:100%;display:block;border-radius:22px;box-shadow:var(--shadow)}
.intro-offer{padding-top:20px}.intro-offer-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);background:#fff;border:1px solid rgba(184,137,64,.32);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.intro-offer-image{position:relative;min-height:650px;background:var(--stone)}.intro-offer-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.intro-offer-badge{position:absolute;top:28px;left:28px;max-width:190px;padding:12px 16px;border-radius:999px;background:rgba(30,56,43,.94);color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:600;box-shadow:0 10px 26px rgba(0,0,0,.18)}.intro-offer-content{padding:62px clamp(32px,5vw,76px);display:flex;flex-direction:column;justify-content:center}.intro-offer-content h2{color:var(--green);margin-bottom:18px}.intro-offer-lead{max-width:610px;margin:0 0 30px;color:#59615d}.intro-offer-block{border-top:1px solid #eadfcd;border-bottom:1px solid #eadfcd;padding:25px 0}.intro-offer-block h3{font-family:Inter,Arial,sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-bottom:18px}.intro-offer-treatments{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.intro-offer-treatments li{min-height:76px;display:flex;align-items:center;justify-content:center;padding:14px;border-radius:10px;background:var(--ivory);text-align:center;color:var(--green);font-size:.88rem}.intro-offer-includes{display:flex;gap:16px;margin:24px 0 10px}.intro-offer-includes span{flex:1;padding:13px 15px;border:1px solid #e0d2bd;border-radius:8px;text-align:center;font-weight:600;color:var(--green)}.intro-offer-price{display:flex;align-items:baseline;gap:12px;margin:10px 0 0;color:var(--green)}.intro-offer-price strong{font-family:"Cormorant Garamond",serif;font-size:4.8rem;font-weight:500;line-height:1}.intro-offer-price span{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.intro-offer-note{margin:7px 0 24px;color:#747b77;font-size:.82rem}.intro-offer-content .btn{align-self:flex-start;min-width:230px}
.section-heading{text-align:center;margin-bottom:50px}.section-heading p:last-child{color:#6d726f}.treatment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.treatment-card{position:relative;border:0;padding:0;overflow:hidden;border-radius:12px;background:#111;aspect-ratio:16/9;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.12)}.treatment-card img{width:100%;height:100%;object-fit:cover;transition:.5s}.treatment-card::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(4,15,10,.9))}.treatment-card span{position:absolute;z-index:2;left:18px;bottom:13px;color:#fff;font-family:"Cormorant Garamond";font-size:1.45rem}.treatment-card:hover{transform:translateY(-5px)}.treatment-card:hover img{transform:scale(1.06)}.treatment-card--disabled{cursor:not-allowed}.treatment-card--disabled img{filter:grayscale(.18) brightness(.62)}.treatment-card--disabled::after{inset:0;background:rgba(8,20,15,.45)}.treatment-card--disabled:hover{transform:none}.treatment-card--disabled:hover img{transform:none}.treatment-card .card-status{left:18px;top:16px;bottom:auto;padding:8px 12px;border-radius:999px;background:rgba(184,137,64,.96);color:#fff;font-family:Inter,Arial,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.card-hint{text-align:center;color:#777;margin-top:24px}
.journeys{max-width:none;padding-left:7vw;padding-right:7vw}.journey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;align-items:stretch}.journey-card{background:#fff;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);height:100%}.journey-card img{width:100%;height:320px;min-height:320px;object-fit:cover;display:block}.journey-card div{padding:34px 34px 38px;display:flex;flex-direction:column;flex:1}.journey-card h3{font-size:2.35rem;margin-top:10px}.journey-card p{font-size:.95rem}.journey-meta{color:var(--green);font-weight:600;margin:10px 0 18px}.journey-options,.journey-inclusions{margin:16px 0 24px;padding-left:1.2rem}.journey-options li,.journey-inclusions li{margin-bottom:11px;font-size:.95rem;line-height:1.55}.badge{display:inline-block;background:var(--gold);color:white;padding:4px 9px;border-radius:20px;font-size:.65rem;text-transform:uppercase}.text-link{border:0;background:none;padding:0;color:var(--gold);font-weight:600;cursor:pointer;margin-top:auto}
.headspa{display:grid;grid-template-columns:1fr 1.35fr;gap:50px;align-items:center}.headspa-image img{width:100%;border-radius:18px;box-shadow:var(--shadow)}.rituals{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:35px 0}.rituals h3{font-size:1.7rem}.rituals p{font-size:.9rem}
.voucher-section{background:var(--green);color:#fff;display:grid;grid-template-columns:1.2fr 1fr auto;gap:35px;align-items:center;padding:70px 7vw}.voucher-section h2{font-size:3.5rem}.voucher-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;color:#e8d9bb}
.booking{display:grid;grid-template-columns:.8fr 1.35fr;gap:60px;align-items:start;background:linear-gradient(135deg,#f5f1e8,#e4ebdf);max-width:none;padding-left:7vw;padding-right:7vw}.booking-intro{max-width:540px}.booking-intro h2{font-size:4.5rem}.booking-intro li{margin:14px 0}.booking-contact{display:flex;flex-direction:column;margin-top:25px}.booking-contact a{color:var(--green)}.booking-form{background:#fff;padding:42px;border-radius:20px;box-shadow:var(--shadow)}.booking-form h2{text-align:center;font-size:3.6rem}.booking-form>p{text-align:center}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-grid label{font-weight:600;font-size:.85rem}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:7px;padding:15px;border:1px solid #d9d3ca;border-radius:7px;font:inherit}.form-grid textarea{min-height:100px}.span-2{grid-column:span 2}.submit-btn{width:100%;height:62px;font-size:1.1rem;margin-top:22px}.privacy{font-size:.75rem;color:#777}
.story{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.story-copy blockquote{font-family:"Cormorant Garamond";font-size:2rem;color:var(--gold);margin:30px 0}.final-cta{height:380px;background:linear-gradient(rgba(15,37,27,.45),rgba(15,37,27,.6)),url("assets/pool.webp") center/cover;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center}.final-cta h2{font-size:4.5rem;margin-bottom:25px}
footer{display:grid;grid-template-columns:1.3fr 1fr .8fr 1fr;gap:40px;background:#10281d;color:#fff;padding:70px 6vw 35px}footer img{max-width:220px;max-height:100px;object-fit:contain}footer h3{font-size:1.6rem;color:#d9b876}.mspas-footer{display:block;margin-bottom:12px}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.16);padding-top:20px;font-size:.8rem}
.reveal{opacity:0;transform:translateY(25px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.main-nav{position:fixed;inset:86px 0 auto;background:#fff;color:var(--ink);flex-direction:column;padding:28px;transform:translateY(-150%);transition:.3s}.main-nav.open{transform:none}.menu-toggle{display:block;margin-left:auto}.menu-toggle span{display:block;width:25px;height:2px;background:currentColor;margin:5px}.header-cta{display:none}.brand{width:165px}.value-strip{grid-template-columns:repeat(3,1fr)}.welcome,.headspa,.booking,.story{grid-template-columns:1fr}.intro-offer-card{grid-template-columns:1fr}.intro-offer-image{min-height:560px}.treatment-grid{grid-template-columns:repeat(2,1fr)}.journey-grid{grid-template-columns:1fr}.voucher-section{grid-template-columns:1fr;text-align:center}.final-cta h2{font-size:3rem}footer{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.site-header{height:74px}.hero{min-height:86vh}.hero-content{margin:0 22px}.hero h1{font-size:3.8rem}.hero-actions{flex-direction:column;align-items:flex-start}.value-strip{grid-template-columns:repeat(2,1fr);font-size:.75rem}.section{padding:80px 20px}.welcome{gap:35px}.intro-offer{padding-top:10px}.intro-offer-image{min-height:auto;aspect-ratio:4/5}.intro-offer-badge{top:18px;left:18px;max-width:170px;padding:10px 13px;font-size:.62rem}.intro-offer-content{padding:38px 24px}.intro-offer-treatments{grid-template-columns:1fr}.intro-offer-treatments li{min-height:0}.intro-offer-includes{flex-direction:column}.intro-offer-price strong{font-size:4rem}.intro-offer-content .btn{width:100%}.treatment-grid{grid-template-columns:1fr}.treatment-card{aspect-ratio:1.7}.journey-card img{height:230px;min-height:0}.journeys{padding-left:20px;padding-right:20px}.rituals{grid-template-columns:1fr}.booking{padding:70px 20px}.booking-intro h2{font-size:3.2rem}.booking-form{padding:25px}.booking-form h2{font-size:2.7rem}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.story{gap:30px}.final-cta{height:300px}footer{grid-template-columns:1fr}.voucher-steps{grid-template-columns:1fr}}


/* Final verified corrections — 1 August 2026 */
#journeys.section {
  max-width: none;
  width: 100%;
  padding-left: 6vw;
  padding-right: 6vw;
}
#journeys .journey-grid.journey-grid--two {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 34px !important;
  width: 100% !important;
  max-width: 1600px;
  margin: 0 auto;
}
#journeys .journey-card {
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
#journeys .journey-card > img {
  width: 100% !important;
  height: 330px !important;
  min-height: 330px !important;
  object-fit: cover !important;
}
#journeys .journey-card > div {
  display: flex !important;
  flex: 1 !important;
  flex-direction: column !important;
}
#journeys .journey-card .text-link {
  margin-top: auto !important;
}

.treatment-card.treatment-card--disabled {
  position: relative !important;
  cursor: not-allowed !important;
}
.treatment-card.treatment-card--disabled img {
  filter: grayscale(.15) brightness(.58) !important;
}
.treatment-card.treatment-card--disabled::after {
  inset: 0 !important;
  background: rgba(8, 20, 15, .48) !important;
}
.treatment-card.treatment-card--disabled:hover,
.treatment-card.treatment-card--disabled:hover img {
  transform: none !important;
}
.treatment-card.treatment-card--disabled .treatment-name {
  position: absolute !important;
  left: 18px !important;
  right: auto !important;
  top: auto !important;
  bottom: 13px !important;
  z-index: 3 !important;
  color: #fff !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: 1.45rem !important;
}
.treatment-card.treatment-card--disabled .card-status {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 9px 14px !important;
  border-radius: 999px !important;
  background: #b88940 !important;
  color: #fff !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .26) !important;
}

@media (max-width: 1000px) {
  #journeys .journey-grid.journey-grid--two {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 600px) {
  #journeys.section {
    padding-left: 20px;
    padding-right: 20px;
  }
  #journeys .journey-card > img {
    height: 240px !important;
    min-height: 240px !important;
  }
  .treatment-card.treatment-card--disabled .card-status {
    top: 10px !important;
    right: 10px !important;
    padding: 8px 11px !important;
    font-size: .64rem !important;
  }
}

/* Package presentation and messaging enhancements — 1 August 2026 */
.package-intro{margin:14px 0 20px;color:#59615d;font-size:1rem!important;line-height:1.7}.package-options{display:grid;gap:13px;margin:0 0 26px}.package-option{position:relative;padding:18px 20px 18px 24px;border:1px solid #e7dbc9;border-radius:12px;background:linear-gradient(135deg,#fbf8f3,#f4eee4)}.package-option::before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:4px;border-radius:4px;background:var(--gold)}.package-option h4{margin:0 0 5px;color:var(--green);font-family:"Cormorant Garamond",serif;font-size:1.35rem;font-weight:600;line-height:1.1}.package-option p{margin:0!important;color:#5d635f;line-height:1.6}.package-story{margin:0 0 22px!important;padding:20px 22px;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;background:linear-gradient(90deg,rgba(184,137,64,.12),rgba(184,137,64,.025));color:#4f5853;font-size:1rem!important;line-height:1.75}.package-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:0 0 28px}.package-flow span{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 14px;border:1px solid #e2d3bd;border-radius:999px;background:#faf6f0;color:var(--green);font-size:.82rem;font-weight:600;text-align:center;letter-spacing:.02em}
.booking-contact>strong{margin-bottom:6px;color:var(--green);font-family:"Cormorant Garamond",serif;font-size:1.55rem;font-weight:600}.booking-social-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.contact-button{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 15px;border-radius:7px;text-decoration:none!important;font-size:.8rem;font-weight:700;text-align:center;transition:.25s}.contact-button:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(30,56,43,.16)}.contact-button--whatsapp{background:var(--green);color:#fff!important}.contact-button--facebook{border:1px solid var(--green);background:#fff;color:var(--green)!important}.footer-contact-links{display:flex;flex-direction:column;gap:3px}.footer-contact-links a,.footer-social-links a{text-decoration:none}.footer-contact-links a:hover,.footer-social-links a:hover{color:#e3c483}.footer-social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.footer-social-links a{display:inline-flex;padding:8px 13px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:.78rem;font-weight:600;transition:.2s}.footer-social-links a:hover{border-color:#d9b876;background:rgba(217,184,118,.1)}
.chat-widget{position:fixed;right:24px;bottom:24px;z-index:160;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.chat-launcher{display:flex;align-items:center;gap:10px;min-height:56px;padding:12px 20px 12px 15px;border:0;border-radius:999px;background:var(--green);color:#fff;box-shadow:0 14px 38px rgba(12,30,21,.32);font:600 .88rem Inter,Arial,sans-serif;cursor:pointer;transition:.25s}.chat-launcher:hover{transform:translateY(-2px);background:var(--green2)}.chat-launcher svg{width:29px;height:29px}.chat-panel{position:relative;width:min(340px,calc(100vw - 32px));padding:28px;border:1px solid rgba(184,137,64,.28);border-radius:18px;background:#fff;box-shadow:0 22px 58px rgba(23,36,29,.25)}.chat-panel[hidden]{display:none}.chat-panel h3{margin:4px 0 10px;color:var(--green);font-size:2rem}.chat-panel>p:not(.eyebrow){margin:0 0 20px;color:#606763;font-size:.88rem}.chat-close{position:absolute;right:13px;top:11px;width:34px;height:34px;border:0;border-radius:50%;background:#f1ece4;color:var(--green);font-size:1.5rem;line-height:1;cursor:pointer}.chat-option{display:flex;align-items:center;justify-content:center;min-height:47px;margin-top:10px;padding:12px 15px;border-radius:7px;text-decoration:none;font-size:.84rem;font-weight:700}.chat-option--whatsapp{background:var(--green);color:#fff}.chat-option--facebook{border:1px solid var(--gold);color:var(--green);background:#fff}
@media(max-width:600px){.package-flow{grid-template-columns:1fr}.booking-social-links{grid-template-columns:1fr}.chat-widget{right:14px;bottom:14px}.chat-launcher{min-height:52px;padding:11px 15px}.chat-launcher span{display:none}.chat-launcher svg{width:28px;height:28px}.chat-panel{padding:25px 22px}}

/* Head Spa video sizing and compact contact buttons — 1 August 2026 */
.headspa-image{width:100%;min-width:0;overflow:hidden;border-radius:18px;box-shadow:var(--shadow)}
.headspa-image .headspa-video{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:18px;background:#000;box-shadow:none}
.booking-social-links{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.contact-button{display:inline-flex!important;width:auto!important;min-height:36px!important;padding:7px 11px!important;gap:7px;border-radius:6px;font-size:.74rem!important;line-height:1.2;white-space:nowrap}
.contact-button .button-icon{display:block;width:15px!important;height:15px!important;flex:0 0 15px}
@media(max-width:600px){.booking-social-links{display:flex!important;align-items:flex-start}.contact-button{width:auto!important;justify-content:flex-start!important;white-space:normal}}


/* Soft Opening Treatment Menu page — August 2026 */
.journey-menu-cta{text-align:center;margin-top:38px}.treatment-card[href]{display:block;text-decoration:none}
.menu-page{background:#f7f3ed}.menu-page .menu-site-header{background:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 8px 25px rgba(0,0,0,.08)}.menu-page .menu-site-header .logo-light{display:none}.menu-page .menu-site-header .logo-dark{display:block}
.menu-hero{min-height:72vh;display:flex;align-items:center;position:relative;color:#fff;background:url("assets/spa-journeys.jpg") center 42%/cover no-repeat;margin-top:0}.menu-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,30,21,.88),rgba(12,30,21,.40) 56%,rgba(12,30,21,.18))}.menu-hero-content{position:relative;max-width:760px;margin:70px 7vw 0}.menu-hero h1{font-size:clamp(4rem,7vw,7.5rem)}.menu-hero-content>p:not(.eyebrow){max-width:650px;font-size:1.08rem}
.menu-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.menu-intro h2{font-size:clamp(2.8rem,4.5vw,5rem)}.menu-intro p{font-size:1.02rem;color:#5f6863}.pool-note{margin-top:25px;padding:22px 24px;border-left:4px solid var(--gold);background:#fff;border-radius:0 12px 12px 0;box-shadow:0 10px 28px rgba(40,35,25,.08);color:var(--green)}
.menu-section{padding-top:50px}.menu-table-wrap{overflow:hidden;border-radius:18px;background:#fff;box-shadow:var(--shadow);border:1px solid rgba(184,137,64,.18)}.menu-table{width:100%;border-collapse:collapse}.menu-table th{background:var(--green);color:#fff;text-align:left;padding:20px 24px;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.menu-table th:nth-child(2),.menu-table th:nth-child(3),.menu-table td:nth-child(2),.menu-table td:nth-child(3){text-align:center}.menu-table td{padding:19px 24px;border-bottom:1px solid #ece4d8}.menu-table tbody tr:last-child td{border-bottom:0}.menu-table tbody tr:nth-child(even){background:#fbf9f5}.menu-table td:first-child{font-weight:600;color:var(--green)}.menu-table td:last-child{font-weight:700;color:var(--gold);font-size:1.05rem}
.menu-split{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:45px}.menu-panel{background:#fff;border-radius:20px;padding:42px;box-shadow:var(--shadow)}.menu-panel-heading{margin-bottom:26px}.menu-panel h2{font-size:3.2rem}.menu-line{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:19px 0;border-top:1px solid #ebe2d4}.menu-line>div{display:flex;flex-direction:column}.menu-line span{color:#7a817e;font-size:.86rem}.menu-line>strong{color:var(--gold);font-size:1.25rem}.menu-panel--green{background:var(--green);color:#fff}.menu-panel--green .eyebrow{color:#d9b876}.facility-feature{padding:25px 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);margin-bottom:22px}.facility-feature>span{display:block;font-family:"Cormorant Garamond",serif;font-size:2rem;margin-bottom:18px}.facility-feature>div{display:flex;justify-content:space-between;color:#e2c38e}.menu-panel--green>p{color:#d9e1dc}
.packages-menu{max-width:none;padding-left:7vw;padding-right:7vw;background:#efe8dd}.package-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.package-menu-card{display:grid;grid-template-rows:300px 1fr;background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.package-menu-image img{width:100%;height:100%;object-fit:cover}.package-menu-content{padding:40px;display:flex;flex-direction:column}.package-menu-content h3{font-size:3rem;margin-bottom:16px}.package-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-top:1px solid #e9dfd0;border-bottom:1px solid #e9dfd0;color:var(--green)}.package-meta strong{color:var(--gold);font-size:1.15rem}.package-lead{font-weight:600;margin-top:24px}.choice-pill{padding:13px 16px;margin:5px 0;background:var(--ivory);border-radius:8px;color:var(--green);font-weight:600}.package-inclusive{margin:24px 0;color:#5f6863}.escape-inclusions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 30px}.escape-inclusions span{padding:14px;background:var(--ivory);border-radius:8px;color:var(--green);font-weight:600;font-size:.9rem}.package-menu-content .text-link{margin-top:auto;align-self:flex-start;text-decoration:none}
.intro-menu-offer{display:grid;grid-template-columns:1fr 1.1fr;max-width:1600px;margin:0 auto;background:#fff}.intro-menu-media{min-height:760px;background:#111}.intro-menu-media video{width:100%;height:100%;display:block;object-fit:cover}.intro-menu-content{padding:85px clamp(40px,6vw,95px);display:flex;flex-direction:column;justify-content:center}.intro-menu-content h2{font-size:clamp(3.2rem,5vw,5.7rem);color:var(--green)}.intro-menu-price{display:flex;align-items:baseline;gap:12px;color:var(--gold);margin:16px 0 26px}.intro-menu-price strong{font-family:"Cormorant Garamond",serif;font-size:5rem;line-height:1}.intro-menu-price span{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--green)}.intro-menu-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 30px}.intro-menu-choices span{padding:16px 12px;background:var(--green);color:#fff;text-align:center;border-radius:8px;font-weight:600;font-size:.88rem}.intro-menu-includes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:32px}.intro-menu-includes div{padding:17px;border:1px solid #e5d9c7;border-radius:10px}.intro-menu-includes strong,.intro-menu-includes span{display:block}.intro-menu-includes strong{color:var(--green)}.intro-menu-includes span{color:#717976;font-size:.84rem;margin-top:5px}.intro-menu-content .btn{align-self:flex-start}
.lunch-menu{padding-top:90px}.lunch-prosecco{max-width:760px;margin:0 auto 28px;display:flex;align-items:center;justify-content:center;gap:16px;padding:17px 22px;border:1px solid rgba(184,137,64,.38);border-radius:14px;background:#f4ecdf;color:var(--green);text-align:left}.lunch-prosecco>span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--gold);color:#fff;font-size:1.2rem;flex:0 0 40px}.lunch-prosecco strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.55rem;font-weight:600}.lunch-prosecco p{margin:2px 0 0;color:#69706c;font-size:.9rem}.lunch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.lunch-card{position:relative;background:#fff;padding:38px 30px 32px;border-radius:16px;box-shadow:0 12px 35px rgba(40,35,25,.09);border-top:4px solid var(--gold)}.lunch-card>span{display:block;color:#c9aa78;font-size:.75rem;letter-spacing:.16em;margin-bottom:18px}.lunch-card h3{font-size:2rem;color:var(--green);margin-bottom:14px}.lunch-card p{color:#656d69}.lunch-dessert-note{max-width:780px;margin:30px auto 0;padding:18px 24px;border-radius:14px;background:var(--green);color:#fff;text-align:center;box-shadow:0 10px 28px rgba(30,56,43,.14)}.lunch-dessert-note strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.65rem;font-weight:600;color:#e1c58e}.lunch-dessert-note span{font-size:.92rem}.offer-disclaimer{text-align:center;margin:38px 0 0;color:#727976;font-style:italic}.menu-final-cta{min-height:390px;padding:80px 7vw;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:linear-gradient(rgba(15,37,27,.64),rgba(15,37,27,.72)),url("assets/pool.webp") center/cover}.menu-final-cta h2{font-size:clamp(3rem,5vw,5rem);max-width:900px}.menu-final-cta .hero-actions{justify-content:center}
@media(max-width:1000px){.menu-intro,.menu-split,.package-menu-grid,.intro-menu-offer{grid-template-columns:1fr}.menu-hero{min-height:64vh}.menu-hero-content{margin-top:90px}.package-menu-card{grid-template-rows:280px 1fr}.intro-menu-media{min-height:650px}.lunch-grid{grid-template-columns:1fr 1fr}.menu-page .main-nav{inset:86px 0 auto}.menu-page .menu-site-header .logo-light{display:none}.menu-page .menu-site-header .logo-dark{display:block}}
@media(max-width:600px){.menu-hero{min-height:74vh}.menu-hero-content{margin:90px 22px 30px}.menu-hero h1{font-size:3.9rem}.menu-intro{gap:30px}.menu-table-wrap{overflow-x:auto}.menu-table{min-width:620px}.menu-split{padding-top:20px}.menu-panel{padding:30px 24px}.menu-panel h2{font-size:2.7rem}.package-menu-card{grid-template-rows:230px 1fr}.package-menu-content{padding:28px 24px}.package-menu-content h3{font-size:2.5rem}.package-meta{align-items:flex-start;flex-direction:column;gap:4px}.escape-inclusions,.intro-menu-choices,.intro-menu-includes,.lunch-grid{grid-template-columns:1fr}.intro-menu-media{min-height:520px}.intro-menu-content{padding:55px 24px}.intro-menu-price strong{font-size:4rem}.menu-final-cta{min-height:360px;padding:65px 24px}.menu-final-cta .hero-actions{align-items:stretch}.menu-final-cta .btn{width:100%}}


/* Homepage and Soft Opening Menu refinements — 4 August 2026 */
.opening-menu-cta{
  min-width:min(100%,390px);
  padding:16px 28px;
  border:1px solid #c99b52;
  background:linear-gradient(135deg,#b88940,#d0a65f);
  color:#fff;
  box-shadow:0 14px 32px rgba(184,137,64,.30);
  font-size:.92rem;
  letter-spacing:.02em;
}
.opening-menu-cta:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(184,137,64,.38);background:linear-gradient(135deg,#a87934,#c79a51)}
.headspa-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}
.headspa-actions .btn{min-width:190px}

/* Keep the secondary-page navigation identical to the homepage while fitting cleanly. */
.menu-page .main-nav{gap:22px}
.menu-page .main-nav a{font-size:.84rem;white-space:nowrap}
.menu-page .header-cta{padding:12px 18px;font-size:.82rem;white-space:nowrap}

/* Refined menu-page hero/banner layout. */
.menu-hero{min-height:680px;padding:150px 7vw 90px;align-items:center}
.menu-hero-content{width:min(760px,100%);max-width:760px;margin:0}
.menu-hero h1{font-size:clamp(3.7rem,6.5vw,7rem);line-height:.92;overflow-wrap:normal}
.menu-hero-content>p:not(.eyebrow){max-width:620px;margin:22px 0 0;line-height:1.7}
.menu-hero .hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:30px}
.menu-hero .hero-actions .btn{min-width:180px;white-space:normal;text-align:center}

/* Card-based Individual Treatments. */
.individual-treatment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.treatment-category-card{min-width:0;padding:38px 40px}
.treatment-category-card .menu-panel-heading{margin-bottom:18px}
.treatment-category-card h3{font-size:clamp(2.25rem,3vw,3.25rem);color:var(--green)}
.treatment-category-card--wide{grid-column:1/-1}
.treatment-category-card--wide .menu-line{max-width:none}

/* Spa Facilities availability label. */
.menu-panel--soon{position:relative;padding-top:58px}
.panel-status{position:absolute;top:18px;right:18px;display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:999px;background:var(--gold);color:#fff;font:700 .68rem/1 Inter,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;box-shadow:0 8px 20px rgba(0,0,0,.20)}

@media(max-width:1180px){
  .menu-page .main-nav{gap:15px}
  .menu-page .main-nav a{font-size:.76rem}
  .menu-page .header-cta{padding:10px 13px;font-size:.75rem}
}
@media(max-width:1000px){
  .menu-page .main-nav{gap:0}
  .menu-page .main-nav a{font-size:.92rem;white-space:normal}
  .menu-hero{min-height:620px;padding-top:145px}
}
@media(max-width:720px){
  .individual-treatment-grid{grid-template-columns:1fr}
  .treatment-category-card--wide{grid-column:auto}
  .headspa-actions{align-items:stretch}
  .headspa-actions .btn{width:100%;min-width:0}
}
@media(max-width:600px){
  .opening-menu-cta{width:100%;min-width:0;padding:15px 20px}
  .menu-hero{min-height:650px;padding:125px 22px 70px}
  .menu-hero-content{margin:0}
  .menu-hero h1{font-size:clamp(3.15rem,16vw,4.25rem);line-height:.94}
  .menu-hero-content>p:not(.eyebrow){font-size:.98rem}
  .menu-hero .hero-actions{flex-direction:column;align-items:stretch;width:100%}
  .menu-hero .hero-actions .btn{width:100%;min-width:0}
  .treatment-category-card{padding:30px 24px}
  .treatment-category-card h3{font-size:2.55rem}
  .panel-status{top:14px;right:14px;padding:8px 11px;font-size:.62rem}
}


/* Updated Soft Opening Individual Treatments - alternating card colours. */
.individual-treatment-grid .treatment-category-card{
  position:relative;
  overflow:hidden;
  background:#fffaf3;
  border:1px solid rgba(184,137,64,.22);
  transition:transform .25s ease,box-shadow .25s ease;
}
.individual-treatment-grid .treatment-category-card:nth-child(even){
  background:#e7eee8;
  border-color:rgba(30,56,43,.15);
}
.individual-treatment-grid .treatment-category-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:var(--gold);
}
.individual-treatment-grid .treatment-category-card:nth-child(even)::before{background:var(--green)}
.individual-treatment-grid .treatment-category-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 58px rgba(40,35,25,.16);
}
.individual-treatment-grid .treatment-category-card:nth-child(even) .menu-line{
  border-top-color:rgba(30,56,43,.16);
}
.menu-line--described{align-items:flex-start}
.menu-line--described>div{max-width:82%}
.treatment-description{
  margin:6px 0 8px;
  color:#626b66;
  font-size:.86rem;
  line-height:1.55;
  font-weight:400;
}
.deep-tissue-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}
.deep-tissue-options .menu-line{border-bottom:1px solid #ebe2d4}

@media(max-width:720px){
  .deep-tissue-options{grid-template-columns:1fr;gap:0}
  .menu-line--described>div{max-width:76%}
}
@media(max-width:480px){
  .menu-line--described{flex-direction:column;gap:10px}
  .menu-line--described>div{max-width:none}
  .menu-line--described>strong{align-self:flex-end}
}


/* Spa Memberships and By the Pool — 5 August 2026 */
.menu-jump-nav{position:sticky;top:86px;z-index:35;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:14px 5vw;background:rgba(255,255,255,.96);border-top:1px solid #eee4d6;border-bottom:1px solid #e4d7c6;box-shadow:0 8px 24px rgba(38,49,45,.06);backdrop-filter:blur(12px)}
.menu-jump-nav a{padding:9px 15px;border-radius:999px;text-decoration:none;color:var(--green);font-size:.8rem;font-weight:600;border:1px solid rgba(30,56,43,.14);background:#fff;transition:.25s}
.menu-jump-nav a:hover{background:var(--green);color:#fff;transform:translateY(-2px)}

.membership-section{max-width:none;padding-left:7vw;padding-right:7vw;background:linear-gradient(180deg,#f7f3ed 0%,#ede7dd 100%)}
.membership-benefits{max-width:1200px;margin:0 auto 38px;padding:28px 30px;border-radius:18px;background:var(--green);color:#fff;box-shadow:var(--shadow)}
.membership-benefits>strong{display:block;font-family:"Cormorant Garamond",serif;font-size:2rem;font-weight:500;margin-bottom:18px;color:#e6c58e}
.membership-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.membership-benefit-grid span{display:flex;align-items:center;min-height:64px;padding:14px 16px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(255,255,255,.06);font-size:.86rem}
.membership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1200px;margin:0 auto}
.membership-card{display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:#fffaf3;border:1px solid rgba(184,137,64,.22);box-shadow:0 16px 45px rgba(40,35,25,.10)}
.membership-card--sage{background:#e7eee8;border-color:rgba(30,56,43,.16)}
.membership-card-top{padding:26px 30px;background:var(--green);color:#fff}
.membership-card-top .eyebrow{color:#d9b876;margin:0 0 7px}
.membership-card-top h3{font-size:clamp(2rem,3vw,3rem)}
.membership-card-body{position:relative;display:flex;flex-direction:column;flex:1;padding:30px}
.membership-card-body>p:not(.membership-gift){color:#5c6661;margin:0 0 24px}
.membership-gift{margin:0 0 18px;color:var(--green);font-weight:700;font-size:1rem}
.membership-saving{align-self:flex-start;margin:0 0 16px;padding:7px 10px;border-radius:999px;background:var(--gold);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.membership-price{display:flex;align-items:baseline;gap:10px;margin-top:auto;padding-top:18px;border-top:1px solid rgba(30,56,43,.13);color:var(--green)}
.membership-price strong{font-family:"Cormorant Garamond",serif;font-size:3.5rem;line-height:1;font-weight:600}
.membership-price span{text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}
.membership-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;max-width:1200px;margin:34px auto 0;padding:22px 26px;border-radius:14px;background:#fff}
.membership-footer p{margin:0;color:#6a726e}

.pool-day-section{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.35fr);max-width:1600px;margin:0 auto;background:#fff;overflow:hidden}
.pool-day-media{min-height:1050px;background:linear-gradient(rgba(14,37,27,.08),rgba(14,37,27,.18)),url("assets/pool.webp") center/cover no-repeat}
.pool-day-content{padding:90px clamp(35px,6vw,95px)}
.pool-day-content h2{font-size:clamp(3.5rem,5.8vw,6rem);color:var(--green);margin-bottom:18px}
.pool-day-lead{max-width:740px;color:#5f6863;font-size:1.02rem;margin-bottom:32px}
.pool-pricing{overflow:hidden;border:1px solid #d8c9b5;border-radius:14px;background:#fff}
.pool-price-row{display:grid;grid-template-columns:1.35fr 1fr 1.15fr;align-items:stretch}
.pool-price-row>*{display:flex;align-items:center;padding:16px 18px;border-right:1px solid #e5d9c8;border-bottom:1px solid #e5d9c8}
.pool-price-row>*:last-child{border-right:0}
.pool-price-row:last-child>*{border-bottom:0}
.pool-price-row--head{background:var(--gold);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.76rem}
.pool-price-row:not(.pool-price-row--head) strong{color:var(--green)}
.quaint-note{margin:15px 0 32px;color:#66706b;font-size:.87rem;font-style:italic}
.pool-day-details{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;margin:28px 0}
.pool-day-details article{padding:25px;border-radius:14px;background:var(--ivory);border:1px solid #e5d8c6}
.pool-day-details h3{font-size:2rem;color:var(--green);margin-bottom:17px}
.feature-list{list-style:none;padding:0;margin:0}
.feature-list li{position:relative;padding:9px 0 9px 27px;border-bottom:1px solid rgba(30,56,43,.1);font-size:.9rem}
.feature-list li:last-child{border-bottom:0}
.feature-list li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:800}
.pool-benefit-cards{display:grid;gap:12px}
.pool-benefit-cards span{display:flex;flex-direction:column;padding:18px;border-radius:10px;background:#fff;color:var(--green);box-shadow:0 8px 20px rgba(40,35,25,.06)}
.pool-benefit-cards strong{font-size:1.25rem;color:var(--gold)}
.pool-benefit-cards small{margin-top:4px;color:#6d746f}
.pool-terms{margin:26px 0;border:1px solid #cad7ce;border-radius:12px;background:#edf3ee;overflow:hidden}
.pool-terms summary{cursor:pointer;padding:18px 20px;color:var(--green);font-weight:700;list-style:none}
.pool-terms summary::-webkit-details-marker{display:none}
.pool-terms summary::after{content:"+";float:right;color:var(--gold);font-size:1.35rem}
.pool-terms[open] summary::after{content:"–"}
.pool-terms ul{margin:0;padding:0 38px 22px 42px;color:#58645e;font-size:.88rem}
.pool-terms li{margin:8px 0}
.pool-book-button{min-width:230px}

@media(max-width:1100px){
  .membership-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pool-day-section{grid-template-columns:1fr}
  .pool-day-media{min-height:520px}
}
@media(max-width:760px){
  .menu-jump-nav{top:74px;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:12px 20px}
  .menu-jump-nav a{white-space:nowrap}
  .membership-grid,.pool-day-details{grid-template-columns:1fr}
  .membership-footer{align-items:stretch;flex-direction:column}
  .membership-footer .btn{width:100%}
  .pool-price-row{grid-template-columns:1.2fr 1fr 1fr}
  .pool-price-row>*{padding:13px 10px;font-size:.76rem}
}
@media(max-width:520px){
  .membership-benefit-grid{grid-template-columns:1fr}
  .membership-card-top,.membership-card-body{padding:24px 22px}
  .pool-day-content{padding:65px 22px}
  .pool-price-row{grid-template-columns:1fr}
  .pool-price-row--head{display:none}
  .pool-price-row>*{border-right:0}
  .pool-price-row strong{background:#f3ecdf}
  .pool-price-row span::before{display:block;margin-right:8px;color:#807466;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
  .pool-price-row span:nth-child(2)::before{content:"Mon–Fri:"}
  .pool-price-row span:nth-child(3)::before{content:"Weekend / Holiday:"}
  .pool-book-button{width:100%}
}

/* v23: balance Lymphatic and Deep Tissue massage cards side by side. */
.individual-treatment-grid .treatment-category-card .deep-tissue-options{grid-template-columns:1fr;gap:0}


/* v27 — Unified navigation across homepage and Spa Treatment Menu page. */
@media (min-width:1001px){
  .menu-page .main-nav{gap:30px;margin:auto}
  .menu-page .main-nav a{font-size:.92rem;white-space:normal}
  .menu-page .header-cta{padding:14px 24px;font-size:inherit;white-space:normal}
}

/* v28 — Hens Party webpage + homepage feature */
.hens-home{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);gap:64px;align-items:center;background:linear-gradient(135deg,#f7f3ed 0%,#efe8dc 100%);max-width:none;padding-left:7vw;padding-right:7vw}
.hens-home-media{position:relative;min-height:560px;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);background:#e9e0d1}
.hens-home-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}
.hens-home-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,28,24,.02) 45%,rgba(20,28,24,.38) 100%)}
.hens-home-badge{position:absolute;z-index:2;left:24px;bottom:24px;padding:10px 14px;border-radius:999px;background:rgba(30,56,43,.94);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.hens-home-content h2{color:var(--green);margin-bottom:18px}
.hens-home-lead{max-width:680px;color:#5f6863;font-size:1.02rem}
.hens-home-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:28px 0}
.hens-home-price{padding:22px;border-radius:16px;background:#fff;border:1px solid #e2d5c2;box-shadow:0 10px 28px rgba(40,35,25,.07)}
.hens-home-price span{display:block;color:var(--green);font-family:"Cormorant Garamond",serif;font-size:1.55rem;line-height:1.05}
.hens-home-price strong{display:block;margin-top:8px;color:var(--gold);font-family:"Cormorant Garamond",serif;font-size:2.45rem;line-height:1}
.hens-home-includes{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 24px}
.hens-home-includes span{padding:8px 11px;border-radius:999px;background:#e7eee9;color:var(--green);font-size:.78rem;font-weight:600}
.hens-home-actions{display:flex;gap:12px;flex-wrap:wrap}
.hens-home-note{margin-top:16px;color:#737a76;font-size:.82rem}

.hens-page{background:var(--ivory)}
.hens-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);gap:64px;align-items:center;min-height:760px;padding:145px 7vw 80px;background:linear-gradient(135deg,#10281d 0%,#1e382b 60%,#2d4f3b 100%);color:#fff}
.hens-hero-copy{max-width:760px}
.hens-hero h1{font-size:clamp(4rem,7vw,7.4rem);margin-bottom:22px}
.hens-hero-lead{max-width:650px;color:#f0e9dc;font-size:1.14rem}
.hens-hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 32px}
.hens-hero-pills span{padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08);font-size:.78rem}
.hens-hero-visual{display:flex;justify-content:center}
.hens-hero-visual img{width:min(100%,590px);max-height:690px;object-fit:contain;border-radius:24px;box-shadow:0 30px 70px rgba(0,0,0,.28);background:#f7f3ed}
.hens-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.hens-intro h2{color:var(--green)}
.hens-intro-copy{font-size:1.04rem;color:#5d6762}
.hens-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.hens-package-card{display:flex;flex-direction:column;overflow:hidden;border-radius:22px;background:#fff;box-shadow:var(--shadow);border:1px solid #e7dccd}
.hens-package-top{padding:30px;background:linear-gradient(135deg,#1e382b,#294b39);color:#fff}
.hens-package-top .eyebrow{color:#d9b876}
.hens-package-top h2{font-size:clamp(2.5rem,4vw,4rem);margin:9px 0 12px}
.hens-package-meta{display:flex;align-items:baseline;gap:10px}
.hens-package-meta strong{font-family:"Cormorant Garamond",serif;font-size:3.5rem;line-height:1;color:#e5c584}
.hens-package-meta span{font-size:.74rem;text-transform:uppercase;letter-spacing:.09em}
.hens-package-body{padding:32px;display:flex;flex-direction:column;gap:14px;flex:1}
.hens-package-body>p{margin:0;color:#65706a}
.hens-option{padding:17px 18px;border-radius:14px;background:#f7f3ed;border:1px solid #eadfce}
.hens-option h3{font-size:1.65rem;color:var(--green);margin-bottom:5px}
.hens-option p{margin:0;color:#626b67;font-size:.9rem}
.hens-includes-section{background:#fff}
.hens-includes-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:34px}
.hens-include-card{padding:24px 18px;border-radius:16px;text-align:center;background:#f5f0e7;border:1px solid #e4d7c6}
.hens-include-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 13px;border-radius:50%;background:var(--gold);color:#fff;font-size:1.55rem}
.hens-include-card strong{display:block;color:var(--green);font-size:.96rem}
.hens-upgrade{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-top:30px;padding:26px 30px;border-radius:16px;background:linear-gradient(135deg,#5f6c55,#7b826a);color:#fff}
.hens-upgrade strong{display:block;font-family:"Cormorant Garamond",serif;font-size:2rem;font-weight:500}
.hens-upgrade-price{font-family:"Cormorant Garamond",serif;font-size:3rem;color:#f1d29a;white-space:nowrap}
.hens-booking-band{padding:90px 7vw;text-align:center;background:linear-gradient(rgba(16,40,29,.78),rgba(16,40,29,.82)),url("assets/pool.webp") center/cover;color:#fff}
.hens-booking-band h2{font-size:clamp(3rem,5.5vw,5.5rem);max-width:900px;margin:0 auto 18px}
.hens-booking-band p{max-width:700px;margin:0 auto 30px;color:#f0e9dc}
.hens-booking-band .hero-actions{justify-content:center}
.hens-smallprint{margin-top:18px;font-size:.8rem;color:#ded8cc}

@media(max-width:1000px){
  .hens-home,.hens-hero,.hens-intro{grid-template-columns:1fr}
  .hens-home-media{min-height:520px}
  .hens-hero{padding-top:125px;text-align:center}
  .hens-hero-copy{margin:auto}
  .hens-hero-pills,.hens-hero .hero-actions{justify-content:center}
  .hens-package-grid{grid-template-columns:1fr}
  .hens-includes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .hens-home{padding:75px 20px;gap:34px}
  .hens-home-media{min-height:auto;aspect-ratio:4/5}
  .hens-home-prices{grid-template-columns:1fr}
  .hens-home-actions{flex-direction:column}
  .hens-home-actions .btn{width:100%}
  .hens-hero{padding:110px 20px 65px;gap:34px}
  .hens-hero h1{font-size:3.7rem}
  .hens-hero-visual img{max-height:none}
  .hens-intro{padding:75px 20px}
  .hens-package-grid{gap:20px}
  .hens-package-top,.hens-package-body{padding:24px 22px}
  .hens-includes-grid{grid-template-columns:1fr 1fr;gap:12px}
  .hens-upgrade{grid-template-columns:1fr;text-align:center}
  .hens-booking-band{padding:75px 20px}
  .hens-booking-band .hero-actions{flex-direction:column}
  .hens-booking-band .btn{width:100%}
}


/* v31 — September refresh: seasonal offers, active Motherhood & Body Rituals, improved responsive navigation */
.menu-hero{background-image:url("assets/gallery/spa-reception-wellness-area.webp");background-position:center 43%}
.welcome-image img{aspect-ratio:4/5;object-fit:cover;object-position:center 45%;max-height:760px}

/* Prevent treatment labels and badges from colliding on narrower cards. */
.treatment-card{min-width:0;text-decoration:none}
.treatment-card>span:not(.card-status){right:16px;max-width:calc(100% - 34px);font-size:clamp(1.05rem,1.5vw,1.45rem);line-height:1.05;overflow-wrap:anywhere}
.treatment-card .card-status{left:auto!important;right:12px;top:12px;bottom:auto;max-width:52%;font-size:.62rem;line-height:1.1;text-align:center}

/* Seasonal homepage offers */
.seasonal-offers{max-width:none;padding-left:7vw;padding-right:7vw;background:linear-gradient(180deg,#f7f3ed 0%,#efe8dd 100%)}
.season-offer-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:34px}
.season-offer-feature-media{min-height:430px}.season-offer-feature-media img{width:100%;height:100%;object-fit:cover;display:block}
.season-offer-feature-copy{padding:48px clamp(30px,5vw,68px);display:flex;flex-direction:column;justify-content:center}.season-offer-feature-copy h3{font-size:clamp(2.8rem,4vw,4.6rem);color:var(--green);margin-bottom:18px}.season-offer-feature-copy .btn{align-self:flex-start;margin-top:12px}
.season-card-grid{display:grid;gap:22px}.season-card-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.season-card-grid--two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}
.season-card{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 14px 35px rgba(40,35,25,.09);min-width:0}.season-card img{width:100%;height:240px;object-fit:cover;display:block}.season-card>div{padding:28px;display:flex;flex-direction:column;flex:1}.season-card h3{font-size:2rem;color:var(--green);margin:9px 0}.season-card p{color:#5f6863}.season-card .text-link{margin-top:auto;text-decoration:none}.season-tag{align-self:flex-start;padding:7px 10px;border-radius:999px;background:#e7eee9;color:var(--green);font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.season-price{font-family:"Cormorant Garamond",serif;font-size:1.75rem!important;color:var(--gold)!important;font-weight:600;margin:0 0 9px}.season-card--autumn img{height:300px}.autumn-heading{text-align:center;margin:70px 0 24px}.autumn-heading h3{font-size:clamp(2.5rem,4vw,4rem);color:var(--green)}

/* Treatment-menu Motherhood and Body Ritual collections */
.ritual-collection-section{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:54px;align-items:center;max-width:none;padding-left:7vw;padding-right:7vw;background:#fff}
.ritual-collection-section--reverse{background:#f0ebe2}.ritual-collection-section--reverse .ritual-collection-media{order:2}.ritual-collection-media{height:100%;min-height:620px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.ritual-collection-media img{width:100%;height:100%;object-fit:cover;display:block}
.ritual-collection-content h2{color:var(--green);margin-bottom:16px}.ritual-intro{max-width:760px;color:#616a66;font-size:1.02rem}.ritual-list{display:grid;gap:10px;margin:28px 0}.ritual-item{padding:18px 20px;border-radius:13px;background:var(--ivory);border:1px solid #e6dac9}.ritual-item strong{display:block;color:var(--green);font-family:"Cormorant Garamond",serif;font-size:1.45rem}.ritual-item span{display:block;color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:3px}.ritual-item p{margin:7px 0 0;color:#626b67;font-size:.9rem}.ritual-price-note{font-size:.82rem;color:#777f7b;font-style:italic}.ritual-collection-content .btn{margin-top:12px}

/* Detailed seasonal menu */
.seasonal-menu{max-width:none;padding-left:7vw;padding-right:7vw;background:#f7f3ed}.seasonal-menu-block+ .seasonal-menu-block{margin-top:72px}.seasonal-menu-banner{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);border-radius:22px;overflow:hidden;background:var(--green);color:#fff;box-shadow:var(--shadow);margin-bottom:28px}.seasonal-menu-banner img{width:100%;height:310px;object-fit:cover;display:block}.seasonal-menu-banner>div{padding:38px 44px;display:flex;flex-direction:column;justify-content:center}.seasonal-menu-banner .eyebrow{color:#dfbf86}.seasonal-menu-banner h3{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:12px}.seasonal-menu-banner p{color:#e4ebe7}.seasonal-menu-banner--autumn{background:#5d644f}
.season-menu-grid{display:grid;gap:22px}.season-menu-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.season-menu-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.season-menu-card{background:#fff;border-radius:18px;padding:30px;box-shadow:0 12px 34px rgba(40,35,25,.09);display:flex;flex-direction:column;min-width:0;border-top:4px solid var(--gold)}.season-number{font-size:.72rem;color:#a69070;letter-spacing:.16em}.season-menu-card h3{font-size:2rem;color:var(--green);margin:10px 0}.season-menu-price{font-family:"Cormorant Garamond",serif;font-size:2rem;color:var(--gold);margin-bottom:12px}.season-menu-card>p{color:#616a66}.season-includes{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}.season-includes span{padding:8px 10px;border-radius:999px;background:#edf1ed;color:var(--green);font-size:.73rem;font-weight:600}.season-menu-card .btn{margin-top:auto;align-self:flex-start}.seasonal-terms{max-width:1050px;margin:34px auto 0;text-align:center;color:#707874;font-size:.82rem}

/* Earlier hamburger breakpoint prevents navigation labels from colliding on laptops and small screens. */
@media(max-width:1200px){
  .site-header{padding:0 22px;gap:14px}
  .brand{width:170px;flex:0 0 170px}
  .menu-toggle{display:block;margin-left:auto;color:currentColor;flex:0 0 auto}
  .menu-toggle span{display:block;width:25px;height:2px;background:currentColor;margin:5px}
  .main-nav,.menu-page .main-nav{position:fixed;inset:86px 0 auto;background:#fff;color:var(--ink);flex-direction:column;gap:0!important;padding:22px 28px 28px;transform:translateY(-155%);transition:.3s;max-height:calc(100vh - 86px);overflow-y:auto;box-shadow:0 18px 30px rgba(0,0,0,.12)}
  .main-nav.open,.menu-page .main-nav.open{transform:none}
  .main-nav a,.menu-page .main-nav a{font-size:.92rem!important;white-space:normal!important;padding:8px 0}
  .header-cta,.menu-page .header-cta{display:inline-flex;padding:10px 14px;font-size:.78rem;white-space:nowrap}
  .season-card-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .season-offer-feature,.ritual-collection-section,.seasonal-menu-banner{grid-template-columns:1fr}
  .ritual-collection-section--reverse .ritual-collection-media{order:0}
  .ritual-collection-media{min-height:440px}
  .season-menu-grid--three,.season-menu-grid--two,.season-card-grid--two{grid-template-columns:1fr}
  .season-card-grid--three{grid-template-columns:1fr 1fr}
  .seasonal-menu-banner img{height:340px}
}
@media(max-width:680px){
  .site-header{height:74px;padding:0 14px;gap:8px}
  .brand{width:125px;flex-basis:125px;height:56px}
  .logo{max-height:52px}
  .main-nav,.menu-page .main-nav{inset:74px 0 auto;max-height:calc(100vh - 74px)}
  .header-cta,.menu-page .header-cta{padding:9px 10px;font-size:.68rem;line-height:1.05;text-align:center;max-width:116px}
  .season-card-grid--three{grid-template-columns:1fr}
  .seasonal-offers,.seasonal-menu{padding-left:20px;padding-right:20px}
  .season-offer-feature-media{min-height:300px}.season-offer-feature-copy{padding:32px 24px}.season-offer-feature-copy .btn{width:100%}
  .season-card img,.season-card--autumn img{height:220px}.season-card>div{padding:23px}.season-card h3{font-size:1.8rem}
  .ritual-collection-section{padding:75px 20px;gap:30px}.ritual-collection-media{min-height:330px}.ritual-collection-content .btn{width:100%}
  .seasonal-menu-banner>div{padding:28px 24px}.seasonal-menu-banner img{height:260px}.season-menu-card{padding:24px 22px}.season-menu-card .btn{width:100%}
  .menu-jump-nav a{font-size:.78rem}
}
@media(max-width:420px){
  .brand{width:110px;flex-basis:110px}
  .header-cta,.menu-page .header-cta{font-size:.64rem;max-width:105px;padding:8px 8px}
  .treatment-card>span:not(.card-status){font-size:1.1rem;left:14px;right:14px;max-width:calc(100% - 28px)}
  .treatment-card .card-status{font-size:.56rem;padding:6px 8px;right:8px;top:8px}
}

/* ===== Commerce / Gift Voucher / Deposit / Contact refresh ===== */
.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.header-voucher-cta{display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;border:1px solid rgba(255,255,255,.72);border-radius:4px;color:#fff;text-decoration:none;font-size:.82rem;font-weight:600;white-space:nowrap;transition:.25s}.header-voucher-cta:hover{background:rgba(255,255,255,.13);transform:translateY(-1px)}.site-header.scrolled .header-voucher-cta,.menu-site-header .header-voucher-cta{border-color:var(--gold);color:var(--green);background:#fff}.site-header.scrolled .header-voucher-cta:hover,.menu-site-header .header-voucher-cta:hover{background:#f6efe3}.site-header .header-actions .header-cta{white-space:nowrap}
.footer-payment-links{display:flex;flex-direction:column;gap:7px;margin-top:16px}.footer-payment-links a{color:#e1c58e;text-decoration:none;font-weight:600}.booking-deposit-link{margin-top:14px;font-weight:700;color:var(--gold)!important;text-decoration:none}

.commerce-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px;flex-basis:100%;width:100%}.btn-compact{padding:10px 14px!important;font-size:.78rem!important;border-radius:6px!important;min-height:0!important}.menu-line{flex-wrap:wrap}.menu-line .commerce-actions{padding-top:2px}.ritual-item .commerce-actions{margin-top:12px}.package-menu-content .commerce-actions,.season-menu-card .commerce-actions{margin-top:auto;padding-top:18px}.package-menu-content .commerce-actions .btn,.season-menu-card .commerce-actions .btn{align-self:auto;margin-top:0}.journey-card .commerce-actions,.season-card .commerce-actions{padding:0 0 4px}.journey-card>div>.commerce-actions{margin-top:auto}.headspa-actions{flex-wrap:wrap}

.commerce-hero{min-height:58vh;position:relative;display:flex;align-items:center;color:#fff;background-size:cover;background-position:center}.commerce-hero--voucher{background-image:url("assets/gallery/poolside-couple-prosecco.webp")}.commerce-hero--deposit{background-image:url("assets/private-wellness-jacuzzi-sauna.webp")}.commerce-hero--contact{background-image:url("assets/gallery/spa-reception-wellness-area.webp")}.commerce-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,27,20,.82),rgba(11,27,20,.32) 68%,rgba(11,27,20,.18))}.commerce-hero-copy{position:relative;z-index:1;width:min(720px,86vw);margin:95px 0 35px 7vw}.commerce-hero h1{font-size:clamp(4rem,7vw,7.3rem)}.commerce-hero-copy>p:not(.eyebrow){font-size:1.08rem;max-width:620px}.commerce-hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.commerce-hero-pills span{padding:9px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.1);font-size:.78rem;font-weight:600;backdrop-filter:blur(5px)}
.voucher-purchase,.deposit-section{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:start}.voucher-info h2,.deposit-info h2{color:var(--green);margin-bottom:20px}.voucher-info>p,.deposit-info>p{color:#606964}.voucher-info a{color:var(--gold)}.voucher-process{display:grid;gap:14px;margin:30px 0}.voucher-process>div{display:grid;grid-template-columns:46px 1fr;column-gap:14px;padding:17px 18px;background:#fff;border-radius:12px;border:1px solid #e8dece}.voucher-process>div>span{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;font-size:.75rem}.voucher-process strong{color:var(--green)}.voucher-process p{margin:2px 0 0;color:#727a76;font-size:.84rem}.payment-trust{display:flex;flex-direction:column;gap:4px;padding:17px 18px;border-radius:12px;background:#edf2ed;color:var(--green);margin:24px 0}.payment-trust span{font-size:.82rem;color:#66706b}.voucher-form{background:#fff;padding:42px;border-radius:20px;box-shadow:var(--shadow);border-top:4px solid var(--gold)}.voucher-form h2{color:var(--green);font-size:3.2rem;margin-bottom:24px}.voucher-form small{display:block;margin-top:6px;color:#818782;font-weight:400}.voucher-form .form-grid input,.voucher-form .form-grid textarea,.voucher-form .form-grid select{width:100%;margin-top:7px;padding:14px;border:1px solid #d9d3ca;border-radius:7px;font:inherit}.voucher-form .form-grid label{font-weight:600;font-size:.85rem}.voucher-form textarea{min-height:100px}.terms-check{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important;color:#626b67}.terms-check input{width:auto!important;margin:4px 0 0!important}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.payment-note{margin:14px 0 0;color:#727a76;font-size:.78rem;line-height:1.5}.voucher-terms{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1200px;margin:0 auto 90px;padding:30px 5vw;border:1px solid #e2d5c1;border-radius:18px;background:#f5efe5}.voucher-terms h3{font-size:2rem;color:var(--green);margin-bottom:8px}.voucher-terms p{margin:0;color:#68716c;max-width:850px}.section-small{padding-top:0}.setup-warning{padding:14px 16px;margin:0 0 20px;border-radius:9px;background:#fff2d9;border:1px solid #e7c77e;color:#795c20;font-size:.86rem}.contact-booking{margin-top:0}

@media(max-width:1240px){.site-header{padding:0 2vw}.main-nav{gap:18px}.main-nav a{font-size:.84rem}.header-voucher-cta,.header-cta{padding:11px 14px;font-size:.78rem}.brand{width:175px}.voucher-purchase,.deposit-section{gap:42px}}
@media(max-width:1100px){.site-header .header-actions{gap:7px}.header-voucher-cta,.header-cta{padding:10px 12px;font-size:.74rem}.main-nav{gap:14px}.main-nav a{font-size:.8rem}}
@media(max-width:1000px){.header-actions{margin-left:auto;margin-right:12px}.site-header .header-actions .header-cta,.site-header .header-voucher-cta{display:none}.voucher-purchase,.deposit-section{grid-template-columns:1fr}.commerce-hero{min-height:52vh}.voucher-form{max-width:760px;width:100%;margin:auto}.voucher-terms{margin-left:20px;margin-right:20px}.commerce-actions{gap:8px}}
@media(max-width:700px){.commerce-hero-copy{margin:90px 22px 32px;width:auto}.commerce-hero h1{font-size:3.8rem}.voucher-form{padding:30px 22px}.voucher-form h2{font-size:2.7rem}.voucher-terms{flex-direction:column;align-items:flex-start}.voucher-terms .btn{width:100%}.commerce-actions{flex-direction:column}.commerce-actions .btn{width:100%}.menu-line{align-items:flex-start}.menu-line>strong{margin-left:auto}.package-menu-content .commerce-actions,.season-menu-card .commerce-actions{width:100%}}


/* Gift Voucher v35 — stronger split-panel treatment */
.commerce-page .voucher-purchase{gap:30px;align-items:stretch;padding-top:90px;padding-bottom:90px}
.commerce-page .voucher-info{position:relative;overflow:hidden;padding:48px 44px;border-radius:24px;background:linear-gradient(145deg,#10281d 0%,#1e382b 62%,#2a4b39 100%);color:#fff;box-shadow:0 24px 60px rgba(17,43,31,.22)}
.commerce-page .voucher-info::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-100px;bottom:-120px;background:rgba(184,137,64,.16);pointer-events:none}
.commerce-page .voucher-info .eyebrow{color:#e0bd7d}
.commerce-page .voucher-info h2{color:#fff;font-size:clamp(2.7rem,4vw,4rem)}
.commerce-page .voucher-info>p{color:#e8ece9}
.commerce-page .voucher-info>p strong{color:#fff}
.commerce-page .voucher-info a{color:#e7c98f;font-weight:600}
.commerce-page .voucher-process>div{position:relative;z-index:1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.17);box-shadow:none}
.commerce-page .voucher-process>div>span{background:var(--gold);color:#fff}
.commerce-page .voucher-process strong{color:#fff}
.commerce-page .voucher-process p{color:#d9e1dc}
.commerce-page .voucher-info .payment-trust{position:relative;z-index:1;background:#f3e7d3;color:#173426;border:1px solid rgba(184,137,64,.36)}
.commerce-page .voucher-info .payment-trust span{color:#56645c}
.commerce-page .voucher-form{padding:48px 44px;background:linear-gradient(180deg,#fffdfa 0%,#f5eee3 100%);border:1px solid #dfcfb7;border-top:6px solid var(--gold);box-shadow:0 24px 60px rgba(63,47,25,.14)}
.commerce-page .voucher-form .eyebrow{color:#9d6f2f}
.commerce-page .voucher-form h2{font-size:clamp(2.8rem,4vw,3.8rem)}
.commerce-page .voucher-form .form-grid input,.commerce-page .voucher-form .form-grid textarea,.commerce-page .voucher-form .form-grid select{background:#fff;border:1px solid #cfc1ad;transition:border-color .2s,box-shadow .2s}
.commerce-page .voucher-form .form-grid input:focus,.commerce-page .voucher-form .form-grid textarea:focus,.commerce-page .voucher-form .form-grid select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,137,64,.13)}
.commerce-page .voucher-form input[readonly]{background:#ece8df;color:#304138;border-color:#cfc6b8;cursor:not-allowed}
.selected-voucher{margin:0 0 28px;padding:20px 22px;border-radius:15px;background:var(--green);color:#fff;border-left:5px solid var(--gold);box-shadow:0 12px 26px rgba(30,56,43,.16)}
.selected-voucher-kicker{display:block;margin-bottom:6px;color:#e0bd7d;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700}
.selected-voucher strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.7rem;line-height:1.15}
.selected-voucher>span:not(.selected-voucher-kicker){display:block;margin-top:7px;color:#e7c98f;font-weight:700;font-size:1.1rem}
.selected-voucher small{display:block;margin-top:8px;color:#d9e1dc;font-size:.78rem}
@media(max-width:1000px){.commerce-page .voucher-info,.commerce-page .voucher-form{padding:38px 34px}}
@media(max-width:700px){.commerce-page .voucher-purchase{padding-top:65px;padding-bottom:65px}.commerce-page .voucher-info,.commerce-page .voucher-form{padding:30px 22px;border-radius:18px}.selected-voucher{padding:18px}}


/* v19 — unified compact booking & gift-voucher actions */
.commerce-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,max-content));
  align-items:center;
  justify-content:start;
  gap:8px;
  margin-top:14px;
  width:100%;
}
.commerce-actions .btn,
.btn-book-treatment,
.btn-gift-voucher{
  min-height:0!important;
  width:auto!important;
  max-width:100%;
  padding:8px 11px!important;
  border-radius:6px!important;
  font-size:.72rem!important;
  line-height:1.2!important;
  font-weight:600!important;
  letter-spacing:.01em;
  white-space:normal;
  text-align:center;
  box-shadow:none!important;
}
.btn-book-treatment,
.commerce-actions a[href*="contact.html"]{
  background:#fff!important;
  color:var(--green)!important;
  border:1.5px solid var(--green)!important;
}
.btn-book-treatment:hover,
.commerce-actions a[href*="contact.html"]:hover{
  background:var(--ivory)!important;
  color:var(--green)!important;
  border-color:var(--green)!important;
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(30,56,43,.10)!important;
}
.btn-gift-voucher,
.commerce-actions a[href*="gift-voucher.html"]{
  background:var(--green)!important;
  color:#fff!important;
  border:1.5px solid var(--green)!important;
}
.btn-gift-voucher:hover,
.commerce-actions a[href*="gift-voucher.html"]:hover{
  background:var(--green2)!important;
  color:#fff!important;
  border-color:var(--green2)!important;
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(30,56,43,.16)!important;
}
/* Apply the gift treatment style to standalone purchase CTAs too. */
a.btn[href*="gift-voucher.html"]{
  background:var(--green)!important;
  color:#fff!important;
  border:1.5px solid var(--green)!important;
}
a.btn[href*="gift-voucher.html"]:hover{
  background:var(--green2)!important;
  color:#fff!important;
  border-color:var(--green2)!important;
}
.menu-line .commerce-actions,
.ritual-item .commerce-actions,
.package-menu-content .commerce-actions,
.season-menu-card .commerce-actions,
.journey-card .commerce-actions,
.season-card .commerce-actions{
  margin-top:12px;
  padding-top:0;
}
@media(max-width:760px){
  .commerce-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .commerce-actions .btn{width:100%!important;padding:8px 8px!important;font-size:.7rem!important}
}
@media(max-width:440px){
  .commerce-actions{grid-template-columns:1fr}
  .commerce-actions .btn{width:100%!important}
}


/* v20 — full responsive layout overhaul */
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe{max-width:100%}
img{height:auto}
.section{width:min(100%,1440px);padding-left:clamp(20px,5vw,72px);padding-right:clamp(20px,5vw,72px)}
.section-heading{padding-inline:clamp(0px,2vw,24px)}
.section-heading h2{font-size:clamp(2.35rem,4vw,4.5rem)}
.btn,.header-cta,.header-voucher-cta{white-space:normal;text-align:center}

/* Navigation: collapse before labels can collide, but keep the two key CTAs visible on tablets. */
.mobile-nav-action{display:none!important}
@media(max-width:1280px){
  .site-header{height:82px;padding:0 18px;gap:10px}
  .brand{width:158px;flex:0 0 158px;height:58px}
  .logo{max-height:56px}
  .menu-toggle{display:block!important;margin-left:auto;order:2;color:currentColor;flex:0 0 auto;padding:7px}
  .header-actions{order:3;display:flex;gap:7px;align-items:center;margin:0}
  .header-voucher-cta,.header-cta{display:inline-flex!important;padding:9px 11px!important;font-size:.7rem!important;line-height:1.12!important;border-radius:5px!important;max-width:118px}
  .main-nav,.menu-page .main-nav{position:fixed!important;inset:82px 0 auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;margin:0!important;padding:18px 24px 24px!important;background:#fff!important;color:var(--ink)!important;box-shadow:0 18px 32px rgba(0,0,0,.13);transform:translateY(-160%);transition:transform .28s ease;max-height:calc(100dvh - 82px);overflow-y:auto;z-index:99}
  .main-nav.open,.menu-page .main-nav.open{transform:translateY(0)!important}
  .main-nav a,.menu-page .main-nav a{display:block;width:100%;font-size:.9rem!important;line-height:1.3!important;padding:10px 4px!important;white-space:normal!important;border-bottom:1px solid #eee7dd}
}
@media(max-width:620px){
  .site-header{height:70px;padding:0 12px;gap:7px}
  .brand{width:118px;flex-basis:118px;height:52px}
  .logo{max-height:49px}
  .main-nav,.menu-page .main-nav{inset:70px 0 auto!important;max-height:calc(100dvh - 70px)}
  .header-actions{display:none!important}
  .mobile-nav-action{display:block!important;border:0!important;margin-top:8px!important;padding:11px 13px!important;border-radius:7px;text-align:center!important;font-weight:700}
  .mobile-nav-voucher{background:var(--green)!important;color:#fff!important}
  .mobile-nav-book{background:#fff!important;color:var(--green)!important;border:1.5px solid var(--green)!important}
}

/* Hero areas scale instead of forcing desktop dimensions. */
.hero{min-height:clamp(590px,86vh,900px);background-position:center center}
.hero-content{width:min(720px,86vw);margin-left:clamp(20px,7vw,110px);margin-right:20px}
.hero h1{font-size:clamp(3.25rem,7vw,8rem);line-height:.94}
.hero-content>p:not(.eyebrow){font-size:clamp(.95rem,1.3vw,1.1rem)}
.menu-hero,.commerce-hero{min-height:clamp(470px,62vh,680px);padding-top:clamp(110px,14vw,150px);padding-bottom:clamp(55px,7vw,90px)}
.menu-hero-content,.commerce-hero-copy{width:min(760px,86vw);margin-left:clamp(20px,7vw,110px);margin-right:20px}
.menu-hero h1,.commerce-hero h1{font-size:clamp(3.1rem,7vw,7rem)}
@media(max-width:620px){
  .hero{min-height:680px;background-position:58% center}
  .hero-content{margin-left:20px;margin-right:20px;width:auto}
  .hero h1{font-size:clamp(3.15rem,16vw,4.4rem)}
  .hero-actions{flex-direction:column;align-items:stretch;max-width:330px}
  .hero-actions .btn{width:100%}
  .menu-hero,.commerce-hero{min-height:560px;padding:110px 20px 65px}
  .menu-hero-content,.commerce-hero-copy{width:auto;margin:0}
  .menu-hero h1,.commerce-hero h1{font-size:clamp(3rem,15vw,4rem)}
}

/* Global responsive image behaviour. */
.welcome-image,.story-image,.headspa-image,.season-offer-feature-media,.ritual-collection-media,.hens-home-media,.home-memberships-media{min-width:0}
.welcome-image img,.story-image img{width:100%;height:auto!important;max-height:none!important;aspect-ratio:4/3;object-fit:cover}
.headspa-video{width:100%!important;height:auto!important;aspect-ratio:9/16;max-height:620px;object-fit:cover}
.journey-card img,.season-card img,.season-card--autumn img,.package-menu-image img,.seasonal-menu-banner img{width:100%;height:auto!important;min-height:0!important;aspect-ratio:16/9;object-fit:cover}
.ritual-collection-media{min-height:0!important;aspect-ratio:4/5;height:auto!important}.ritual-collection-media img{width:100%;height:100%;object-fit:cover}
.home-memberships-media{min-height:0!important;aspect-ratio:4/3;height:auto}.home-memberships-photo{width:100%!important;height:100%!important;object-fit:cover}
.hens-home-media{min-height:0!important;aspect-ratio:4/5;height:auto}.hens-home-media img{width:100%;height:100%;object-fit:cover}

/* Homepage grids adapt 4 -> 3 -> 2 -> 1. */
.treatment-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.treatment-card{width:100%;min-width:0;aspect-ratio:16/10}
.treatment-card>span:not(.card-status){font-size:clamp(1rem,1.45vw,1.42rem);line-height:1.05;left:14px;right:14px;bottom:12px;max-width:calc(100% - 28px)}
.treatment-card .card-status{top:10px!important;right:10px!important;left:auto!important;max-width:48%;padding:6px 9px;font-size:.58rem!important;line-height:1.05}
@media(max-width:1180px){.treatment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.treatment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.value-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.value-strip div{border-right:0}}
@media(max-width:480px){.treatment-grid{grid-template-columns:1fr}.treatment-card{aspect-ratio:16/9}.value-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 12px}.value-strip div{font-size:.72rem;padding:7px 5px}}

/* Homepage content grids: stack early enough to preserve useful image size and readable text. */
@media(max-width:1050px){
  .welcome,.headspa,.booking,.story,.home-memberships,.hens-home,.find-us-card{grid-template-columns:1fr!important;gap:36px!important}
  .welcome-image,.story-image,.headspa-image,.home-memberships-media{max-width:760px;width:100%;margin-inline:auto}
  .headspa-video{aspect-ratio:16/10;max-height:520px}
  .home-memberships-media{aspect-ratio:16/10}
  .find-us-map,.find-us-map iframe{min-height:350px!important}
}
@media(max-width:620px){
  .section{padding-top:72px;padding-bottom:72px;padding-left:20px;padding-right:20px}
  .welcome-image img,.story-image img{aspect-ratio:16/11}
  .headspa-video{aspect-ratio:4/5;max-height:none}
  .home-memberships-media{aspect-ratio:4/5}
  .home-memberships-logo-badge{width:170px!important;max-width:58%!important;top:14px!important;left:14px!important;padding:9px 11px!important}
  .find-us-section{padding:65px 20px!important}
}

/* Seasonal and package cards */
.season-card-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.season-card-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.season-offer-feature{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr)}
.season-offer-feature-media{min-height:0!important;aspect-ratio:16/10}
@media(max-width:1050px){.season-card-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}.season-offer-feature{grid-template-columns:1fr}.season-offer-feature-media{aspect-ratio:16/8}}
@media(max-width:680px){.season-card-grid--three,.season-card-grid--two{grid-template-columns:1fr}.season-offer-feature-media{aspect-ratio:16/10}.season-card>div{padding:23px 20px}.season-card h3{font-size:1.75rem}}

.journey-grid,.package-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.package-menu-card{grid-template-rows:auto 1fr}.package-menu-image{aspect-ratio:16/9;overflow:hidden}
@media(max-width:900px){.journey-grid,.package-menu-grid{grid-template-columns:1fr}.journey-card,.package-menu-card{max-width:820px;width:100%;margin-inline:auto}.journey-card img,.package-menu-image{aspect-ratio:16/9}}
@media(max-width:620px){.journey-card div,.package-menu-content{padding:24px 20px!important}.journey-card h3,.package-menu-content h3{font-size:2.15rem!important}}

/* Treatment-menu cards and split panels */
.menu-split{grid-template-columns:repeat(2,minmax(0,1fr))}
.menu-panel,.treatment-category-card,.season-menu-card{min-width:0}
.menu-line{gap:14px;flex-wrap:wrap;align-items:flex-start}
.menu-line>div{min-width:0;flex:1 1 220px}.menu-line>strong{flex:0 0 auto;margin-left:auto}
.treatment-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.season-menu-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.season-menu-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1050px){.menu-split,.treatment-category-grid{grid-template-columns:1fr!important}.season-menu-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-panel{padding:34px 30px}.seasonal-menu-banner{grid-template-columns:1fr}.seasonal-menu-banner img{aspect-ratio:16/8}}
@media(max-width:680px){.season-menu-grid--three,.season-menu-grid--two{grid-template-columns:1fr}.menu-panel{padding:28px 20px}.menu-line{display:grid;grid-template-columns:1fr auto}.menu-line>div{min-width:0}.menu-line>strong{margin-left:0}.season-menu-card{padding:24px 20px}.seasonal-menu-banner img{aspect-ratio:16/10}.seasonal-menu-banner>div{padding:28px 22px}}

/* Tables remain usable on small screens rather than scaling beyond the viewport. */
.menu-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.menu-table{min-width:560px}
@media(max-width:600px){.menu-table th,.menu-table td{padding:14px 16px;font-size:.82rem}}

/* Commerce and contact pages */
.voucher-purchase,.deposit-section{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
@media(max-width:980px){.voucher-purchase,.deposit-section{grid-template-columns:1fr!important}.voucher-info,.deposit-info,.voucher-form{max-width:780px;width:100%;margin-inline:auto}.commerce-page .voucher-info,.commerce-page .voucher-form{padding:34px 28px}}
@media(max-width:620px){.commerce-page .voucher-info,.commerce-page .voucher-form,.voucher-form{padding:26px 20px!important}.voucher-form h2{font-size:2.45rem!important}.form-grid{grid-template-columns:1fr!important}.span-2{grid-column:auto!important}}

/* Action buttons: compact and safe inside every card. */
.commerce-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;justify-content:flex-start!important;width:100%!important}
.commerce-actions .btn,.btn-book-treatment,.btn-gift-voucher{flex:0 1 auto!important;min-width:0!important;max-width:100%!important;padding:8px 11px!important;font-size:.7rem!important;line-height:1.15!important}
@media(max-width:520px){.commerce-actions .btn,.btn-book-treatment,.btn-gift-voucher{flex:1 1 100%!important;width:100%!important}}

/* Footer and long strings cannot force horizontal overflow. */
footer{grid-template-columns:1.2fr 1fr .8fr 1fr;overflow:hidden}
footer a,.booking-contact a,.voucher-info a{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:980px){footer{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){footer{grid-template-columns:1fr!important;padding:55px 22px 28px!important}}

/* Hens Party page */
.hens-hero{grid-template-columns:minmax(0,1.05fr) minmax(300px,.72fr);min-height:0;padding-top:140px;padding-bottom:80px}
.hens-hero-visual img{width:100%;height:auto;max-height:none}
@media(max-width:980px){.hens-hero{grid-template-columns:1fr;padding-top:120px}.hens-hero-visual{max-width:650px;margin-inline:auto}.hens-package-grid{grid-template-columns:1fr!important}}
@media(max-width:620px){.hens-hero{padding:100px 20px 60px}.hens-hero h1{font-size:3.35rem!important}.hens-includes-grid{grid-template-columns:1fr!important}}

/* Prevent decorative/floating UI from obscuring content on compact screens. */
@media(max-width:480px){.chat-launcher span{display:none}.chat-launcher{width:52px!important;padding:0!important;justify-content:center!important}.chat-panel{right:12px!important;left:12px!important;width:auto!important}}

.voucher-fulfilment-note{margin:18px 0;padding:16px 18px;border-radius:12px;background:#e9f0eb;border-left:4px solid var(--green);color:var(--green)}.voucher-fulfilment-note strong{display:block;margin-bottom:4px}.voucher-fulfilment-note p{margin:0;color:#5c6861;font-size:.84rem;line-height:1.55}

/* v21 — Treatment Menu action layout refinement */
.menu-page .commerce-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin-top:16px!important;
  padding-top:0!important;
  align-items:stretch!important;
  justify-content:stretch!important;
}
.menu-page .commerce-actions .btn,
.menu-page .btn-book-treatment,
.menu-page .btn-gift-voucher{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px 12px!important;
  min-height:40px!important;
  font-size:.74rem!important;
  line-height:1.2!important;
  border-radius:7px!important;
  text-align:center!important;
}

/* Keep each treatment's actions visually attached to that treatment. */
.menu-page .menu-line{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  column-gap:16px!important;
  row-gap:4px!important;
  align-items:start!important;
}
.menu-page .menu-line > div:first-child{min-width:0!important;grid-column:1}
.menu-page .menu-line > strong{grid-column:2;margin-left:0!important;align-self:start}
.menu-page .menu-line > .commerce-actions{grid-column:1 / -1}

.menu-page .menu-line--described{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
}
.menu-page .menu-line--described > div{max-width:none!important;min-width:0!important}
.menu-page .menu-line--described > strong{align-self:start!important}

.menu-page .ritual-item{
  display:flex!important;
  flex-direction:column!important;
}
.menu-page .ritual-item > .commerce-actions{margin-top:16px!important}

.menu-page .package-menu-content,
.menu-page .season-menu-card{
  display:flex!important;
  flex-direction:column!important;
}
.menu-page .package-menu-content > .commerce-actions,
.menu-page .season-menu-card > .commerce-actions{
  margin-top:auto!important;
  padding-top:18px!important;
}

/* Compact screens: keep the two actions together while they still fit. */
@media(max-width:560px){
  .menu-page .commerce-actions{gap:7px!important}
  .menu-page .commerce-actions .btn,
  .menu-page .btn-book-treatment,
  .menu-page .btn-gift-voucher{
    padding:9px 7px!important;
    font-size:.68rem!important;
  }
}

/* Only very narrow phones stack the actions to avoid clipped text. */
@media(max-width:360px){
  .menu-page .commerce-actions{grid-template-columns:1fr!important}
}


/* v41 clean Treatment Menu redesign — built on v39 stable stylesheet */

/* Your Journeys stays as one wide treatment card with two visual sub-cards. */
.journeys-card{padding:38px!important;background:linear-gradient(180deg,#ffffff 0%,#f7f3ed 100%)!important}
.journeys-card-header{max-width:800px;margin-bottom:24px}
.journeys-card-header h3{font-size:clamp(2.5rem,4vw,3.8rem);color:var(--green);margin:4px 0 10px}
.journeys-card-header>p:last-child{color:#626b67;margin:0}
.journeys-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.journey-inner-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #e7dac8;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(40,35,25,.08)}
.journey-inner-media{aspect-ratio:16/9;overflow:hidden;background:#e8e0d4}
.journey-inner-media img{width:100%;height:100%;display:block;object-fit:cover}
.journey-inner-body{padding:24px;display:flex;flex-direction:column;flex:1}
.journey-tag{align-self:flex-start;display:inline-flex;padding:6px 10px;border-radius:999px;background:#edf1ee;color:var(--green);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.journey-inner-body h4{font-family:"Cormorant Garamond",serif;font-size:2rem;line-height:1.05;color:var(--green);margin:12px 0 9px}
.journey-inner-body>p{color:#626b67;margin:0 0 14px}
.journey-facts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.journey-facts span{padding:7px 10px;border-radius:999px;background:#f7f3ed;color:#56615b;font-size:.75rem;font-weight:600}
.journey-price{display:block;color:var(--gold);font-size:1.08rem;margin-top:auto}
.journey-inner-card .commerce-actions{margin-top:16px!important}

/* Motherhood redesigned in the same visual family as seasonal offers. */
.motherhood-showcase{max-width:none;padding-left:7vw;padding-right:7vw;background:#fff}
.motherhood-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);border-radius:22px;overflow:hidden;background:#f1eadf;box-shadow:var(--shadow);margin-bottom:28px}
.motherhood-feature-media{min-height:340px}
.motherhood-feature-media img{width:100%;height:100%;display:block;object-fit:cover}
.motherhood-feature-copy{padding:42px;display:flex;flex-direction:column;justify-content:center}
.motherhood-feature-copy h3{font-size:clamp(2.3rem,3.8vw,3.7rem);color:var(--green);margin:0 0 13px}
.motherhood-feature-copy>p:last-child{color:#616a66;margin:0}
.motherhood-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.motherhood-card{display:flex;flex-direction:column;min-width:0;padding:28px 24px 22px;border-radius:17px;background:#fff;border:1px solid #e7dccd;border-top:4px solid var(--gold);box-shadow:0 10px 30px rgba(40,35,25,.08)}
.motherhood-card--wide{grid-column:span 2}
.motherhood-card .season-number{display:block;color:#c6a269;font-size:.72rem;letter-spacing:.16em;margin-bottom:12px}
.motherhood-card h3{font-size:1.95rem;color:var(--green);margin-bottom:6px}
.motherhood-duration{display:block;color:var(--gold);font-size:.88rem;margin-bottom:12px}
.motherhood-card>p{color:#626b67;margin:0 0 14px}
.motherhood-card .season-includes{margin-top:0;margin-bottom:4px}
.motherhood-card .commerce-actions{margin-top:auto!important;padding-top:18px!important}

/* Feature package actions: always a clean two-button row using almost full card width. */
.menu-page .package-menu-content>.commerce-actions--feature,
.menu-page .season-menu-card>.commerce-actions--feature{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:20px!important;
}
.menu-page .commerce-actions--feature .btn{
  width:100%!important;
  max-width:none!important;
  padding:10px 9px!important;
  min-height:42px!important;
  font-size:.7rem!important;
  justify-content:center!important;
  text-align:center!important;
}

@media(max-width:1100px){
  .journeys-card-grid{grid-template-columns:1fr}
  .motherhood-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .motherhood-card--wide{grid-column:span 2}
}
@media(max-width:820px){
  .motherhood-feature{grid-template-columns:1fr}
  .motherhood-feature-media{min-height:0;aspect-ratio:16/9}
  .motherhood-feature-copy{padding:30px 26px}
}
@media(max-width:620px){
  .journeys-card{padding:24px 18px!important}
  .journey-inner-body{padding:20px 18px}
  .motherhood-showcase{padding-left:20px;padding-right:20px}
  .motherhood-grid{grid-template-columns:1fr}
  .motherhood-card--wide{grid-column:auto}
  .motherhood-card{padding:24px 18px 20px}
  .menu-page .package-menu-content>.commerce-actions--feature,
  .menu-page .season-menu-card>.commerce-actions--feature{grid-template-columns:1fr!important}
}


/* v42 treatment menu refinements */
.menu-hero{background-image:url("assets/treatment-menu-header.webp")!important;background-position:center center!important;background-size:cover!important}
.menu-hero-overlay{background:linear-gradient(90deg,rgba(18,31,24,.68) 0%, rgba(18,31,24,.42) 44%, rgba(18,31,24,.14) 100%)!important}
.menu-hero-content{position:relative;z-index:2}

/* Make key treatment/package buttons consistent and clean */
.menu-page .motherhood-card .commerce-actions,
.menu-page .package-menu-content > .commerce-actions,
.menu-page .season-menu-card > .commerce-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:18px!important;
  align-items:stretch!important;
}
.menu-page .motherhood-card .commerce-actions .btn,
.menu-page .package-menu-content > .commerce-actions .btn,
.menu-page .season-menu-card > .commerce-actions .btn{
  width:100%!important;
  max-width:none!important;
  min-height:42px!important;
  padding:10px 10px!important;
  font-size:.72rem!important;
  line-height:1.15!important;
  justify-content:center!important;
  text-align:center!important;
}

/* pregnancy/expecting text + button spacing */
.motherhood-card .season-includes{gap:8px!important}
.motherhood-card .season-includes span{display:inline-flex;align-items:center;justify-content:center;text-align:center}

/* Membership cards: add voucher CTA neatly at the bottom */
.membership-card-body{display:flex;flex-direction:column}
.membership-actions{margin-top:auto!important;padding-top:18px!important;display:grid!important;grid-template-columns:1fr!important;width:100%!important}
.membership-actions .btn{width:100%!important;max-width:none!important;justify-content:center!important;padding:11px 12px!important;font-size:.78rem!important;min-height:42px!important}

/* Slightly more compact feature card buttons so long labels fit */
.menu-page .commerce-actions--feature .btn,
.menu-page .season-menu-card > .commerce-actions .btn,
.menu-page .package-menu-content > .commerce-actions .btn{font-size:.7rem!important}

@media (max-width: 720px){
  .menu-page .motherhood-card .commerce-actions,
  .menu-page .package-menu-content > .commerce-actions,
  .menu-page .season-menu-card > .commerce-actions{grid-template-columns:1fr!important}
  .menu-hero{background-position:64% center!important}
}


/* v43 — final treatment-menu alignment and responsive button system */
/* Show more of the upper portion of the supplied header photograph. */
.menu-hero{
  background-image:url("assets/treatment-menu-header.webp")!important;
  background-position:center 22%!important;
  background-size:cover!important;
}
@media(max-width:900px){.menu-hero{background-position:center 18%!important}}
@media(max-width:620px){.menu-hero{background-position:58% 14%!important}}

/* One button system across every treatment/package card. */
.menu-page .commerce-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  width:100%!important;
  max-width:none!important;
  margin:16px 0 0!important;
  padding:0!important;
  align-items:stretch!important;
}
.menu-page .commerce-actions .btn,
.menu-page .btn-book-treatment,
.menu-page .btn-gift-voucher{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:40px!important;
  margin:0!important;
  padding:9px 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:7px!important;
  font-size:.72rem!important;
  font-weight:600!important;
  line-height:1.15!important;
  text-align:center!important;
  white-space:normal!important;
}
.menu-page .btn-book-treatment,
.menu-page .commerce-actions a[href*="contact.html"]{
  background:#fff!important;
  color:var(--green)!important;
  border:1.5px solid var(--green)!important;
}
.menu-page .btn-gift-voucher,
.menu-page .commerce-actions a[href*="gift-voucher.html"]{
  background:var(--green)!important;
  color:#fff!important;
  border:1.5px solid var(--green)!important;
}

/* Keep action rows physically attached to the item/card they belong to. */
.menu-page .menu-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;column-gap:16px!important;row-gap:5px!important;align-items:start!important}
.menu-page .menu-line>.commerce-actions{grid-column:1/-1!important}
.menu-page .ritual-item,.menu-page .motherhood-card,.menu-page .package-menu-content,.menu-page .season-menu-card,.menu-page .journey-inner-body{display:flex!important;flex-direction:column!important}
.menu-page .ritual-item>.commerce-actions,
.menu-page .motherhood-card>.commerce-actions,
.menu-page .package-menu-content>.commerce-actions,
.menu-page .season-menu-card>.commerce-actions,
.menu-page .journey-inner-body>.commerce-actions{margin-top:auto!important;padding-top:17px!important}

/* Membership price and voucher action share one clean horizontal row. */
.membership-purchase-row{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid rgba(184,137,64,.22);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(145px,.88fr);
  gap:16px;
  align-items:center;
}
.membership-purchase-row .membership-price{margin:0!important;padding:0!important;border:0!important;display:flex;align-items:baseline;gap:8px;min-width:0}
.membership-purchase-row .membership-price strong{font-size:clamp(2.15rem,3vw,3rem);line-height:1;color:var(--green)}
.membership-purchase-row .membership-price span{font-size:.78rem;color:#67716c;white-space:nowrap}
.membership-voucher-btn{
  width:100%!important;
  max-width:none!important;
  min-height:42px!important;
  margin:0!important;
  padding:10px 12px!important;
  background:var(--green)!important;
  color:#fff!important;
  border:1.5px solid var(--green)!important;
  border-radius:7px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:.75rem!important;
  line-height:1.15!important;
  text-align:center!important;
  text-decoration:none!important;
}
.membership-voucher-btn:hover{background:var(--green2)!important;border-color:var(--green2)!important;color:#fff!important}

/* Let buttons fit side-by-side longer; stack only when genuinely narrow. */
@media(max-width:760px){
  .menu-page .commerce-actions{gap:7px!important}
  .menu-page .commerce-actions .btn,.menu-page .btn-book-treatment,.menu-page .btn-gift-voucher{font-size:.68rem!important;padding:9px 7px!important}
  .membership-purchase-row{grid-template-columns:minmax(0,1fr) minmax(135px,.9fr);gap:10px}
  .membership-voucher-btn{font-size:.7rem!important;padding:9px 8px!important}
}
@media(max-width:480px){
  .menu-page .commerce-actions{grid-template-columns:1fr!important}
  .membership-purchase-row{grid-template-columns:1fr!important;align-items:stretch}
  .membership-voucher-btn{width:100%!important}
}


/* v44 VERIFIED FINAL BUTTON SYSTEM — scoped to Treatment Menu only */
.menu-page .commerce-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  margin:16px 0 0!important;
  padding:0!important;
  align-items:stretch!important;
  justify-items:stretch!important;
}
.menu-page .commerce-actions > .btn,
.menu-page .commerce-actions > a{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:42px!important;
  margin:0!important;
  padding:10px 9px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:7px!important;
  font-family:Inter,Arial,sans-serif!important;
  font-size:.72rem!important;
  font-weight:600!important;
  line-height:1.15!important;
  letter-spacing:0!important;
  text-align:center!important;
  white-space:normal!important;
  text-decoration:none!important;
}
.menu-page .commerce-actions > .btn-book-treatment,
.menu-page .commerce-actions > a[href*="contact.html"]{
  background:#fff!important;
  color:var(--green)!important;
  border:1.5px solid var(--green)!important;
}
.menu-page .commerce-actions > .btn-gift-voucher,
.menu-page .commerce-actions > a[href*="gift-voucher.html"]{
  background:var(--green)!important;
  color:#fff!important;
  border:1.5px solid var(--green)!important;
}
.menu-page .commerce-actions > .btn-book-treatment:hover,
.menu-page .commerce-actions > a[href*="contact.html"]:hover{
  background:var(--ivory)!important;
  color:var(--green)!important;
}
.menu-page .commerce-actions > .btn-gift-voucher:hover,
.menu-page .commerce-actions > a[href*="gift-voucher.html"]:hover{
  background:var(--green2)!important;
  color:#fff!important;
}

/* Ensure the buttons remain directly under their own treatment/card. */
.menu-page .menu-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;column-gap:16px!important;row-gap:6px!important;align-items:start!important}
.menu-page .menu-line > .commerce-actions{grid-column:1/-1!important}
.menu-page .journey-inner-body,
.menu-page .motherhood-card,
.menu-page .package-menu-content,
.menu-page .season-menu-card{display:flex!important;flex-direction:column!important;min-width:0!important}
.menu-page .journey-inner-body > .commerce-actions,
.menu-page .motherhood-card > .commerce-actions,
.menu-page .package-menu-content > .commerce-actions,
.menu-page .season-menu-card > .commerce-actions{margin-top:auto!important;padding-top:18px!important}

/* Membership: price left, voucher CTA immediately beside it on the right. */
.menu-page .membership-purchase-row{
  margin-top:auto!important;
  padding-top:18px!important;
  border-top:1px solid rgba(184,137,64,.22)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(150px,.9fr)!important;
  gap:14px!important;
  align-items:center!important;
}
.menu-page .membership-purchase-row .membership-price{
  margin:0!important;padding:0!important;border:0!important;min-width:0!important;
}
.menu-page .membership-voucher-btn{
  width:100%!important;max-width:none!important;min-width:0!important;min-height:42px!important;
  margin:0!important;padding:10px 9px!important;border-radius:7px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  background:var(--green)!important;color:#fff!important;border:1.5px solid var(--green)!important;
  font-family:Inter,Arial,sans-serif!important;font-size:.72rem!important;font-weight:600!important;
  line-height:1.15!important;text-align:center!important;text-decoration:none!important;white-space:normal!important;
}

/* Header crop: bias upward to show the top of the supplied photo. */
.menu-page .menu-hero{background-position:center 8%!important}
@media(max-width:900px){.menu-page .menu-hero{background-position:center 7%!important}}
@media(max-width:620px){.menu-page .menu-hero{background-position:58% 6%!important}}

/* Keep two actions side-by-side through normal mobile widths; stack only on very narrow phones. */
@media(max-width:620px){
  .menu-page .commerce-actions{gap:7px!important}
  .menu-page .commerce-actions > .btn,
  .menu-page .commerce-actions > a{font-size:.67rem!important;padding:9px 6px!important;min-height:40px!important}
  .menu-page .membership-purchase-row{grid-template-columns:minmax(0,1fr) minmax(130px,.9fr)!important;gap:9px!important}
  .menu-page .membership-voucher-btn{font-size:.68rem!important;padding:9px 7px!important}
}
@media(max-width:390px){
  .menu-page .commerce-actions{grid-template-columns:1fr!important}
  .menu-page .membership-purchase-row{grid-template-columns:1fr!important;align-items:stretch!important}
}


/* v45 focused treatment menu cleanup */
.menu-page .menu-hero{background-image:url("assets/treatment-menu-header-v2.webp")!important;background-position:center 14%!important;background-size:cover!important}
@media(max-width:900px){.menu-page .menu-hero{background-position:center 10%!important}}
@media(max-width:620px){.menu-page .menu-hero{background-position:52% 8%!important}}

/* move seasonal section near top with stronger button consistency */
.menu-page #seasonal-menu-offers{padding-top:18px}
.menu-page #seasonal-menu-offers .season-menu-grid--three,
.menu-page #seasonal-menu-offers .season-menu-grid--two{align-items:stretch}
.menu-page #seasonal-menu-offers .season-menu-card{display:flex!important;flex-direction:column!important;min-width:0!important}
.menu-page #seasonal-menu-offers .season-menu-card>p{margin-bottom:0}
.menu-page #seasonal-menu-offers .season-includes{margin:16px 0 0!important}
.menu-page #seasonal-menu-offers .season-menu-card>.commerce-actions,
.menu-page #seasonal-menu-offers .season-menu-card>.commerce-actions--feature{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;margin-top:auto!important;padding-top:18px!important;align-items:stretch!important}
.menu-page #seasonal-menu-offers .season-menu-card>.commerce-actions>a,
.menu-page #seasonal-menu-offers .season-menu-card>.commerce-actions--feature>a{display:inline-flex!important;justify-content:center!important;align-items:center!important;width:100%!important;min-height:42px!important;padding:10px 8px!important;font-size:.71rem!important;line-height:1.15!important;text-align:center!important;white-space:normal!important}
.menu-page #seasonal-menu-offers .season-menu-card .season-menu-price{margin-bottom:10px}
.menu-page #seasonal-menu-offers .season-menu-card h3{min-height:4.2rem}

/* feature autumn cards also match exactly */
.menu-page #seasonal-menu-offers .season-menu-card--feature{min-height:100%}

@media(max-width:680px){
  .menu-page #seasonal-menu-offers .season-menu-card>.commerce-actions,
  .menu-page #seasonal-menu-offers .season-menu-card>.commerce-actions--feature{grid-template-columns:1fr!important}
  .menu-page #seasonal-menu-offers .season-menu-card h3{min-height:0}
}


/* v46 — final visual polish for the Spa Treatment Menu */
/* Show more of the lower area of the supplied header photograph. */
.menu-page .menu-hero{
  background-position:center 72%!important;
}
@media(max-width:900px){.menu-page .menu-hero{background-position:center 68%!important}}
@media(max-width:620px){.menu-page .menu-hero{background-position:52% 64%!important}}

/* Consistent premium card language throughout the menu. */
.menu-page .menu-panel,
.menu-page .journey-inner-card,
.menu-page .motherhood-card,
.menu-page .package-menu-card,
.menu-page .season-menu-card,
.menu-page .membership-card{
  border:1px solid rgba(30,56,43,.10)!important;
  box-shadow:0 14px 36px rgba(35,39,31,.09)!important;
}
.menu-page .menu-panel,
.menu-page .journey-inner-card,
.menu-page .motherhood-card,
.menu-page .package-menu-card,
.menu-page .season-menu-card,
.menu-page .membership-card{
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
@media(hover:hover){
  .menu-page .menu-panel:hover,
  .menu-page .journey-inner-card:hover,
  .menu-page .motherhood-card:hover,
  .menu-page .package-menu-card:hover,
  .menu-page .season-menu-card:hover,
  .menu-page .membership-card:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 42px rgba(35,39,31,.12)!important;
    border-color:rgba(184,137,64,.28)!important;
  }
}

/* Make card typography and internal spacing more uniform. */
.menu-page .season-menu-card h3,
.menu-page .motherhood-card h3,
.menu-page .package-menu-content h3,
.menu-page .journey-inner-body h4{line-height:1.05}
.menu-page .season-includes span,
.menu-page .journey-facts span{line-height:1.25}

/* Back-to-School: three equal cards and six exactly equal buttons. */
.menu-page #back-to-school .season-menu-grid--three{align-items:stretch!important}
.menu-page #back-to-school .season-menu-card{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}
.menu-page #back-to-school .season-menu-card h3{
  min-height:4.25rem!important;
  display:flex!important;
  align-items:flex-start!important;
}
.menu-page #back-to-school .season-menu-card>p{
  min-height:5.8rem!important;
  margin-bottom:0!important;
}
.menu-page #back-to-school .season-includes{
  min-height:6.2rem!important;
  align-content:flex-start!important;
  margin:16px 0 0!important;
}
.menu-page #back-to-school .season-menu-card>.commerce-actions{
  margin-top:auto!important;
  padding-top:20px!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
.menu-page #back-to-school .season-menu-card>.commerce-actions>a{
  box-sizing:border-box!important;
  width:100%!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  padding:0 8px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:.70rem!important;
  line-height:1.12!important;
  text-align:center!important;
  white-space:normal!important;
}

/* All other two-action card areas use the same balanced action row. */
.menu-page .journey-inner-card .commerce-actions,
.menu-page .motherhood-card .commerce-actions,
.menu-page .package-menu-content>.commerce-actions,
.menu-page #autumn-escapes .season-menu-card>.commerce-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:18px!important;
}
.menu-page .journey-inner-card .commerce-actions>a,
.menu-page .motherhood-card .commerce-actions>a,
.menu-page .package-menu-content>.commerce-actions>a,
.menu-page #autumn-escapes .season-menu-card>.commerce-actions>a{
  width:100%!important;
  min-height:42px!important;
  margin:0!important;
  padding:9px 8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:.70rem!important;
  line-height:1.15!important;
  text-align:center!important;
}

/* Individual treatment rows remain compact but consistent. */
.menu-page .menu-line>.commerce-actions{
  margin-top:12px!important;
  padding-top:0!important;
}
.menu-page .menu-line>.commerce-actions>a{
  min-height:40px!important;
}

/* Membership price/button row remains compact and aligned. */
.menu-page .membership-purchase-row{
  margin-top:auto!important;
  padding-top:20px!important;
  align-items:center!important;
}
.menu-page .membership-voucher-btn{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

@media(max-width:760px){
  .menu-page #back-to-school .season-menu-card h3,
  .menu-page #back-to-school .season-menu-card>p,
  .menu-page #back-to-school .season-includes{min-height:0!important}
}
@media(max-width:560px){
  .menu-page #back-to-school .season-menu-card>.commerce-actions,
  .menu-page .journey-inner-card .commerce-actions,
  .menu-page .motherhood-card .commerce-actions,
  .menu-page .package-menu-content>.commerce-actions,
  .menu-page #autumn-escapes .season-menu-card>.commerce-actions{
    grid-template-columns:1fr!important;
  }
  .menu-page #back-to-school .season-menu-card>.commerce-actions>a{height:auto!important;max-height:none!important;min-height:42px!important;padding:10px 8px!important}
}


/* v47 final targeted action sizing */
/* Autumn Spa & Dining: all 4 action buttons are identical. */
.menu-page #autumn-escapes .season-menu-card > .commerce-actions,
.menu-page #autumn-escapes .season-menu-card > .commerce-actions--feature{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:18px!important;
  align-items:stretch!important;
}
.menu-page #autumn-escapes .season-menu-card > .commerce-actions > a,
.menu-page #autumn-escapes .season-menu-card > .commerce-actions--feature > a{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:44px!important;
  height:44px!important;
  padding:8px 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:.71rem!important;
  line-height:1.12!important;
  white-space:normal!important;
}

/* Motherhood: fixed button dimensions keep all ten actions visually identical,
   including the wider Expecting Couple card. */
.menu-page #motherhood .motherhood-card > .commerce-actions{
  display:grid!important;
  grid-template-columns:repeat(2,170px)!important;
  gap:10px!important;
  justify-content:start!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:18px!important;
}
.menu-page #motherhood .motherhood-card > .commerce-actions > a{
  width:170px!important;
  min-width:170px!important;
  max-width:170px!important;
  height:44px!important;
  min-height:44px!important;
  padding:8px 9px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:.69rem!important;
  line-height:1.12!important;
  white-space:normal!important;
}

/* Spa Facilities exception: gold Gift Voucher CTA on the green panel. */
.menu-page #facilities .btn-gift-voucher,
.menu-page #facilities a[href*="gift-voucher.html"]{
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  color:#fff!important;
}
.menu-page #facilities .btn-gift-voucher:hover,
.menu-page #facilities a[href*="gift-voucher.html"]:hover{
  background:#9f7332!important;
  border-color:#9f7332!important;
  color:#fff!important;
}

@media(max-width:760px){
  .menu-page #motherhood .motherhood-card > .commerce-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .menu-page #motherhood .motherhood-card > .commerce-actions > a{
    width:100%!important;min-width:0!important;max-width:none!important;
  }
}
@media(max-width:430px){
  .menu-page #autumn-escapes .season-menu-card > .commerce-actions,
  .menu-page #autumn-escapes .season-menu-card > .commerce-actions--feature,
  .menu-page #motherhood .motherhood-card > .commerce-actions{
    grid-template-columns:1fr!important;
  }
  .menu-page #autumn-escapes .season-menu-card > .commerce-actions > a,
  .menu-page #autumn-escapes .season-menu-card > .commerce-actions--feature > a,
  .menu-page #motherhood .motherhood-card > .commerce-actions > a{
    width:100%!important;min-width:0!important;max-width:none!important;height:44px!important;
  }
}


/* v48 — couples action alignment + adjusted header crop */
/* Move the header crop slightly upward from the previous lower crop. */
.menu-page .menu-hero{background-position:center 58%!important}
@media(max-width:900px){.menu-page .menu-hero{background-position:center 56%!important}}
@media(max-width:620px){.menu-page .menu-hero{background-position:52% 54%!important}}

/* Couples Spa Experiences: both cards stretch evenly and all four actions match exactly. */
.menu-page #packages .package-menu-grid{align-items:stretch!important}
.menu-page #packages .package-menu-card{height:100%!important;display:grid!important;grid-template-rows:auto 1fr!important}
.menu-page #packages .package-menu-content{display:flex!important;flex-direction:column!important;height:100%!important}
.menu-page #packages .package-menu-content>.commerce-actions,
.menu-page #packages .package-menu-content>.commerce-actions--feature{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:20px!important;
  align-items:stretch!important;
}
.menu-page #packages .package-menu-content>.commerce-actions>a,
.menu-page #packages .package-menu-content>.commerce-actions--feature>a{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  padding:8px 10px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:.71rem!important;
  line-height:1.12!important;
  white-space:normal!important;
  box-sizing:border-box!important;
}

@media(max-width:430px){
  .menu-page #packages .package-menu-content>.commerce-actions,
  .menu-page #packages .package-menu-content>.commerce-actions--feature{grid-template-columns:1fr!important}
  .menu-page #packages .package-menu-content>.commerce-actions>a,
  .menu-page #packages .package-menu-content>.commerce-actions--feature>a{
    width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important;
  }
}


/* v49 final bottom-button alignment + expecting couple image */
.menu-page .journey-inner-card,
.menu-page .motherhood-card,
.menu-page .package-menu-card,
.menu-page .season-menu-card,
.menu-page .membership-card,
.menu-page .ritual-item,
.menu-page .treatment-category-card,
.menu-page .kids-treatment-card,
.menu-page .facility-card{
  height:100%;
}

.menu-page .journey-inner-body,
.menu-page .motherhood-card,
.menu-page .package-menu-content,
.menu-page .season-menu-card,
.menu-page .membership-card-body,
.menu-page .ritual-item,
.menu-page .treatment-category-card,
.menu-page .kids-treatment-card,
.menu-page .facility-card{
  display:flex!important;
  flex-direction:column!important;
}

/* keep action blocks at the bottom of cards */
.menu-page .journey-inner-body > .commerce-actions,
.menu-page .motherhood-card > .commerce-actions,
.menu-page .package-menu-content > .commerce-actions,
.menu-page .package-menu-content > .commerce-actions--feature,
.menu-page .season-menu-card > .commerce-actions,
.menu-page .season-menu-card > .commerce-actions--feature,
.menu-page .ritual-item > .commerce-actions,
.menu-page .kids-treatment-card > .commerce-actions,
.menu-page .facility-card > .commerce-actions,
.menu-page .membership-actions{
  margin-top:auto!important;
  padding-top:18px!important;
}

/* expecting couple visual */
.menu-page .expecting-couple-media{
  margin:16px 0 2px;
  border-radius:14px;
  overflow:hidden;
  height:180px;
  box-shadow:0 10px 24px rgba(40,35,25,.12);
}
.menu-page .expecting-couple-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}

/* wide motherhood card still keeps buttons at the bottom */
.menu-page .motherhood-card--wide .season-includes{margin-bottom:0}

@media (max-width: 900px){
  .menu-page .expecting-couple-media{height:165px}
}
@media (max-width: 640px){
  .menu-page .expecting-couple-media{height:150px}
}


/* =========================================================
   Kate's Haven Spa — Production UI layer
   Consolidated September 2026
   ========================================================= */
:root{--green:#1e382b;--green2:#294b39;--gold:#b88940;--ivory:#f7f3ed;--stone:#ede7dd;--ink:#28312d;--white:#fff;--shadow:0 18px 55px rgba(40,35,25,.13)}
body{overflow-x:hidden}
.site-header{z-index:500}
.main-nav a{white-space:nowrap}

/* Offer navigation & conversion */
.menu-conversion-bar{position:sticky;top:82px;z-index:70;display:flex;gap:10px;align-items:center;justify-content:center;padding:12px 20px;background:rgba(247,243,237,.96);border-top:1px solid #e8dfd3;border-bottom:1px solid #e1d5c4;backdrop-filter:blur(12px)}
.menu-conversion-bar .btn{padding:10px 18px;font-size:.82rem}
.menu-jump-nav{position:sticky;top:136px;z-index:65;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;white-space:nowrap;padding-inline:5vw}
.menu-jump-nav::-webkit-scrollbar{display:none}
.menu-jump-nav a{flex:0 0 auto}

/* Booking request reassurance */
.booking-status-note{margin:18px 0 0;padding:14px 16px;border-radius:11px;background:#eef3ef;border-left:4px solid var(--green);color:#4c5b53;font-size:.86rem;line-height:1.55}
.booking-status-note strong{display:block;color:var(--green);margin-bottom:3px}
.booking-form .request-disclaimer{margin:12px 0 0;text-align:center;color:#69736d;font-size:.78rem;line-height:1.5}

/* Guest feedback / social proof without invented review copy */
.social-proof{max-width:none;background:#10281d;color:#fff;padding:78px 7vw}
.social-proof-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.social-proof h2{font-size:clamp(2.8rem,4.5vw,4.8rem);color:#fff;margin-bottom:15px}
.social-proof p{color:#d8e1dc;max-width:680px}
.social-proof-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.social-proof-actions a{display:flex;align-items:center;justify-content:center;min-height:56px;padding:12px 16px;border-radius:8px;text-decoration:none;font-weight:700;text-align:center}
.social-proof-actions .facebook-review{background:#fff;color:var(--green)}
.social-proof-actions .google-review{border:1px solid #d9b876;color:#f4e4c6;background:rgba(255,255,255,.04)}
.social-proof-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.social-proof-badges span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.08);font-size:.76rem;color:#eee7dc}

/* Mobile conversion bar */
.mobile-action-bar{display:none}
@media(max-width:700px){
  body{padding-bottom:66px}
  .mobile-action-bar{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;z-index:999;background:#fff;border-top:1px solid #ded6ca;box-shadow:0 -8px 28px rgba(0,0,0,.12);padding:max(6px,env(safe-area-inset-bottom)) 6px calc(6px + env(safe-area-inset-bottom))}
  .mobile-action-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:4px 2px;text-decoration:none;color:var(--green);font-size:.64rem;font-weight:700;text-align:center}
  .mobile-action-bar a strong{font-size:.78rem}
  .mobile-action-bar .mobile-gift{background:var(--green);color:#fff;border-radius:8px}
  .chat-widget{display:none!important}
  .menu-conversion-bar{top:70px;padding:9px 12px;justify-content:flex-start;overflow-x:auto}
  .menu-conversion-bar .btn{flex:0 0 auto;padding:9px 13px;font-size:.72rem}
  .menu-jump-nav{top:119px;padding-inline:14px}
}

/* Gift voucher experience selector */
.voucher-type-switch{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 24px}
.voucher-type-option{position:relative;display:block;border:1.5px solid #d8cbb8;background:#fff;border-radius:14px;padding:18px;cursor:pointer;transition:.2s}
.voucher-type-option:hover{border-color:var(--gold);transform:translateY(-1px)}
.voucher-type-option input{position:absolute;opacity:0;pointer-events:none}
.voucher-type-option:has(input:checked){border-color:var(--green);box-shadow:0 0 0 2px rgba(30,56,43,.09);background:#eef3ef}
.voucher-type-option strong{display:block;color:var(--green);font-family:"Cormorant Garamond",serif;font-size:1.55rem}.voucher-type-option span{display:block;color:#6e756f;font-size:.82rem;margin-top:4px}
.voucher-experience-select[hidden]{display:none!important}
.voucher-delivery-tip{margin-top:8px;font-size:.78rem;color:#737a76}

/* Dedicated offers page */
.offers-page .commerce-hero{background:linear-gradient(90deg,rgba(14,31,23,.72),rgba(14,31,23,.24)),url("assets/gallery/poolside-couple-prosecco.webp") center/cover}
.offers-index{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:32px auto 0;max-width:1180px;padding:0 5vw}
.offers-index a{background:#fff;border:1px solid #e4dacb;border-radius:10px;padding:13px;text-decoration:none;text-align:center;color:var(--green);font-weight:700;font-size:.8rem;box-shadow:0 8px 18px rgba(0,0,0,.05)}
@media(max-width:900px){.offers-index{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.offers-index{grid-template-columns:1fr}}

/* Better long-form card consistency */
.season-menu-card,.motherhood-card,.package-menu-card,.journey-inner-card,.membership-card{min-height:100%}
.season-menu-card>.commerce-actions,.motherhood-card>.commerce-actions,.package-menu-content>.commerce-actions,.journey-inner-body>.commerce-actions{margin-top:auto!important}

/* Performance-friendly images */
img[loading="lazy"]{content-visibility:auto}

/* Tablet refinements */
@media(max-width:1050px){
  .social-proof-inner{grid-template-columns:1fr}.social-proof-actions{max-width:620px}
  .site-header .main-nav{white-space:normal}
}
@media(max-width:560px){
  .voucher-type-switch{grid-template-columns:1fr}.social-proof{padding:60px 20px}.social-proof-actions{grid-template-columns:1fr}
}


/* Production v2 refinements — navigation, homepage cards, treatment conversion controls */

/* Homepage card actions: equal, side-by-side, anchored to card bottom. */
.home-page .season-card,
.home-page .journey-card{
  height:100%;
  display:flex!important;
  flex-direction:column!important;
}
.home-page .season-card > div:not(.commerce-actions),
.home-page .journey-card > div:not(.commerce-actions){
  flex:1 1 auto!important;
}
.home-page .season-card > .commerce-actions,
.home-page .journey-card > .commerce-actions{
  margin-top:auto!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  width:100%!important;
  align-items:stretch!important;
  flex:0 0 auto!important;
}
.home-page .season-card > .commerce-actions{
  padding:0 28px 28px!important;
}
.home-page .journey-card > .commerce-actions{
  padding:0 34px 34px!important;
}
.home-page .season-card > .commerce-actions > a,
.home-page .journey-card > .commerce-actions > a{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:44px!important;
  height:44px!important;
  padding:8px 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:.72rem!important;
  line-height:1.1!important;
  border-radius:7px!important;
  white-space:normal!important;
}
/* Preserve requested visual hierarchy. */
.home-page .commerce-actions .btn-book-treatment{
  background:#fff!important;
  color:var(--green)!important;
  border:1.5px solid var(--green)!important;
}
.home-page .commerce-actions .btn-gift-voucher{
  background:var(--green)!important;
  color:#fff!important;
  border:1.5px solid var(--green)!important;
}

/* Treatment menu: quick conversion actions share the entire available width equally. */
.menu-page .menu-conversion-bar{
  position:sticky;
  top:82px;
  z-index:70;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  padding:12px max(20px,5vw)!important;
  background:rgba(247,243,237,.97)!important;
  border-top:1px solid #e8dfd3;
  border-bottom:1px solid #e1d5c4;
  backdrop-filter:blur(12px);
}
.menu-page .menu-conversion-bar .btn{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:44px!important;
  height:44px!important;
  padding:8px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:.78rem!important;
  line-height:1.1!important;
  border-radius:7px!important;
  text-align:center!important;
}
.menu-page .menu-conversion-bar .btn-book-treatment{
  background:#fff!important;
  color:var(--green)!important;
  border:1.5px solid var(--green)!important;
}
.menu-page .menu-conversion-bar .btn-gift-voucher{
  background:var(--green)!important;
  color:#fff!important;
  border:1.5px solid var(--green)!important;
}
.menu-page .menu-conversion-bar .btn-special-offers{
  background:var(--gold)!important;
  color:#fff!important;
  border:1.5px solid var(--gold)!important;
}

/* Center category submenu on desktop; retain usable horizontal scrolling on compact screens. */
.menu-page .menu-jump-nav{
  position:sticky;
  top:138px;
  z-index:65;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:6px 18px!important;
  width:100%!important;
  padding:12px 4vw!important;
  white-space:normal!important;
  overflow:visible!important;
}
.menu-page .menu-jump-nav a{
  flex:0 0 auto!important;
  text-align:center!important;
}

@media(max-width:760px){
  .home-page .season-card > .commerce-actions{padding:0 20px 22px!important}
  .home-page .journey-card > .commerce-actions{padding:0 20px 24px!important}
  .home-page .season-card > .commerce-actions > a,
  .home-page .journey-card > .commerce-actions > a{font-size:.68rem!important;padding:7px 6px!important}

  .menu-page .menu-conversion-bar{top:70px;padding:9px 12px!important;gap:7px!important}
  .menu-page .menu-conversion-bar .btn{font-size:.68rem!important;padding:7px 6px!important;min-height:42px!important;height:42px!important}
  .menu-page .menu-jump-nav{
    top:130px;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
    padding:10px 14px!important;
    gap:14px!important;
    scrollbar-width:none;
  }
  .menu-page .menu-jump-nav::-webkit-scrollbar{display:none}
}
@media(max-width:440px){
  .home-page .season-card > .commerce-actions,
  .home-page .journey-card > .commerce-actions{grid-template-columns:1fr 1fr!important;gap:6px!important}
  .home-page .season-card > .commerce-actions > a,
  .home-page .journey-card > .commerce-actions > a{font-size:.63rem!important;min-height:42px!important;height:42px!important}
  .menu-page .menu-conversion-bar{grid-template-columns:1fr!important;position:relative!important;top:auto!important;padding:10px 20px!important}
  .menu-page .menu-jump-nav{top:70px}
}


/* Production v3 — gift voucher multi-treatment picker + simplified deposit */
.voucher-picker-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:6px 0 16px;padding:20px 22px;border-radius:16px;background:linear-gradient(135deg,#f8f3ea,#efe7db);border:1px solid #e2d4bf}.voucher-picker-heading h3{margin:2px 0 5px;color:var(--green);font-size:2rem}.voucher-picker-heading p{margin:0;max-width:610px;color:#68716c;font-size:.88rem;line-height:1.55}.voucher-picker-count{flex:0 0 auto;padding:8px 12px;border-radius:999px;background:var(--green);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.03em}.voucher-treatment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:470px;overflow:auto;padding:3px 5px 5px 2px;margin-bottom:24px;scrollbar-width:thin;scrollbar-color:#c9b38f transparent}.voucher-treatment-option{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:72px;padding:13px 14px;border:1px solid #ded4c5;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.voucher-treatment-option:hover{border-color:#bfa06e;box-shadow:0 7px 18px rgba(55,42,23,.07);transform:translateY(-1px)}.voucher-treatment-option input{appearance:none;width:20px;height:20px;border:1.5px solid #a99b88;border-radius:6px;margin:0;display:grid;place-items:center;background:#fff}.voucher-treatment-option input:checked{background:var(--green);border-color:var(--green)}.voucher-treatment-option input:checked:after{content:'✓';color:#fff;font-size:.78rem;font-weight:800}.voucher-treatment-option:has(input:checked){border-color:var(--green);background:#f0f4f1;box-shadow:0 0 0 2px rgba(30,56,43,.06)}.voucher-treatment-option span{min-width:0}.voucher-treatment-option strong{display:block;color:var(--green);font-family:"Cormorant Garamond",serif;font-size:1.2rem;line-height:1.05}.voucher-treatment-option small{display:block!important;margin:4px 0 0!important;color:#7b817d!important;font-size:.7rem!important}.voucher-treatment-option b{color:var(--gold);font-size:.9rem;white-space:nowrap}.voucher-selection-summary{display:flex;align-items:center;justify-content:space-between;gap:20px}.voucher-selection-summary>div{min-width:0}.voucher-selection-summary strong{font-size:1.55rem!important}.voucher-selection-summary #selectedVoucherPrice{flex:0 0 auto;font-family:"Cormorant Garamond",serif;font-size:2.2rem!important;color:#ebcc94!important}.voucher-selected-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.voucher-selected-list span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.1);color:#e9efeb!important;font-size:.7rem!important}.voucher-selected-list b{color:#efcf95}.voucher-picker-attention{animation:voucherPulse .6s ease 2}@keyframes voucherPulse{50%{box-shadow:0 0 0 5px rgba(184,137,64,.18)}}
.voucher-fulfilment-note{display:grid!important;grid-template-columns:46px 1fr;gap:14px!important;align-items:start!important;padding:20px 22px!important;border-radius:15px!important;background:linear-gradient(135deg,#eaf0eb,#f5f1e9)!important;border:1px solid #d7dfd8!important;border-left:none!important}.voucher-note-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;font-size:1rem;font-weight:800}.voucher-fulfilment-note strong{font-size:1rem;color:var(--green)}.voucher-fulfilment-note p{margin:4px 0 3px!important}.voucher-fulfilment-note span{color:#7a817d;font-size:.76rem}.voucher-terms{box-shadow:0 14px 34px rgba(55,42,23,.07);border-left:4px solid var(--gold)}
.deposit-simple-grid{grid-template-columns:1fr 1fr!important;align-items:start}.deposit-amount-field{display:flex;align-items:center;margin-top:7px;border:1px solid #cfc1ad;border-radius:8px;background:#fff;overflow:hidden;transition:border-color .2s,box-shadow .2s}.deposit-amount-field:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,137,64,.13)}.deposit-amount-field>span{display:flex;align-items:center;justify-content:center;align-self:stretch;min-width:46px;background:#f2ece2;color:var(--green);font-weight:800;border-right:1px solid #d8ccba}.deposit-amount-field input{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-size:1.08rem!important;font-weight:700!important}.deposit-confirmation-note{margin:18px 0 0;padding:16px 18px;border-radius:12px;background:#f4eee4;border:1px solid #e2d4bf;color:#59645e}.deposit-confirmation-note strong{display:block;color:var(--green);margin-bottom:4px}.deposit-confirmation-note span{font-size:.82rem;line-height:1.5}
@media(max-width:760px){.voucher-treatment-grid{grid-template-columns:1fr;max-height:520px}.voucher-picker-heading{align-items:flex-start;flex-direction:column;gap:12px}.voucher-selection-summary{align-items:flex-start}.deposit-simple-grid{grid-template-columns:1fr!important}}


/* Google Reviews section */
.google-reviews-section{padding:72px 7vw 82px;background:#f5f0e8}
.google-reviews-shell{max-width:1280px;margin:0 auto}
.google-reviews-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:42px;align-items:end;margin-bottom:30px}
.google-reviews-heading h2{font-size:clamp(2.8rem,5vw,4.8rem);color:var(--green);margin:4px 0 10px}
.google-reviews-heading>div:first-child>p:last-child{max-width:690px;color:#66706b;margin:0}
.google-rating-summary{min-width:235px;padding:20px 24px;border-radius:16px;background:var(--green);color:#fff;box-shadow:0 14px 34px rgba(30,56,43,.15)}
.google-stars,.review-stars{letter-spacing:.12em;color:var(--gold);font-size:1.05rem;line-height:1}
.google-rating-summary strong{display:block;font-family:"Cormorant Garamond",serif;font-size:2rem;margin:8px 0 2px}
.google-rating-summary span{display:block;color:#dde5e0;font-size:.82rem}
.google-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.google-review-card{display:flex;flex-direction:column;min-height:250px;padding:26px 26px 24px;border-radius:18px;background:#fff;border:1px solid rgba(184,137,64,.18);box-shadow:0 12px 32px rgba(40,35,25,.08)}
.google-review-card blockquote{margin:17px 0 22px;color:#4f5954;font-size:.96rem;line-height:1.75;flex:1}
.google-review-card footer{background:none!important;color:inherit!important;padding:0!important;margin:0!important;display:flex;align-items:center;gap:12px}
.google-review-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#edf0ed}
.google-review-author strong{display:block;color:var(--green);font-size:.88rem}
.google-review-author span{display:block;color:#858b88;font-size:.72rem;margin-top:2px}
.google-review-loading{min-height:180px;justify-content:center}
.google-review-loading p{color:#7a817e;margin:14px 0 0}
.google-reviews-footer{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:26px;padding-top:22px;border-top:1px solid #ded5c8;color:#727a76;font-size:.82rem}
.google-reviews-empty{grid-column:1/-1;text-align:center;min-height:auto}
@media(max-width:920px){.google-reviews-heading{grid-template-columns:1fr}.google-rating-summary{width:100%;min-width:0}.google-reviews-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.google-reviews-section{padding:55px 20px 68px}.google-reviews-grid{grid-template-columns:1fr}.google-reviews-footer{align-items:stretch;flex-direction:column}.google-reviews-footer .btn{width:100%;text-align:center}.google-review-card{min-height:0}}


/* Production v5 — homepage memberships + gift voucher refinement */
.home-memberships{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(42px,6vw,88px);
  align-items:stretch;
  max-width:1440px;
  margin:0 auto;
  padding-top:110px;
  padding-bottom:110px;
}
.home-memberships-media{
  position:relative;
  min-height:620px;
  border-radius:26px;
  overflow:hidden;
  background:#dfe7e5;
  box-shadow:0 28px 70px rgba(40,35,25,.16);
}
.home-memberships-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.home-memberships-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,36,29,.05) 34%,rgba(20,36,29,.73) 100%);pointer-events:none}
.home-memberships-logo-badge{position:absolute;z-index:2;top:26px;left:26px;width:220px;max-width:48%;padding:13px 16px;border-radius:14px;background:rgba(30,56,43,.92);box-shadow:0 14px 34px rgba(0,0,0,.16);backdrop-filter:blur(6px)}
.home-memberships-logo-badge img{display:block;width:100%!important;height:auto!important;object-fit:contain!important}
.home-memberships-overlay-copy{position:absolute;z-index:2;left:30px;right:30px;bottom:30px;color:#fff}
.home-memberships-overlay-copy span{display:block;color:#e4c88f;font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:8px}
.home-memberships-overlay-copy strong{display:block;font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,3.2vw,3.15rem);font-weight:500;line-height:1}
.home-memberships-content{display:flex;flex-direction:column;justify-content:center;padding:14px 0}
.home-memberships-content h2{font-size:clamp(3rem,4.6vw,5rem);color:var(--green);line-height:.95;margin-bottom:20px}
.home-memberships-lead{font-size:1.02rem;color:#5d6661;max-width:680px;margin-bottom:26px}
.home-membership-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 24px}
.home-membership-plans>div{padding:18px 12px 16px;border:1px solid #ddcfbb;background:#fffaf3;border-radius:13px;text-align:center;box-shadow:0 8px 20px rgba(40,35,25,.05)}
.home-membership-plans span{display:block;color:var(--green);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.home-membership-plans strong{display:block;font-family:"Cormorant Garamond",serif;color:var(--gold);font-size:2rem;line-height:1.05;margin:7px 0 2px}
.home-membership-plans small{color:#777d79;font-size:.68rem}
.home-memberships-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0 0 26px}
.home-memberships-benefits span{position:relative;padding:11px 12px 11px 34px;border-radius:10px;background:#edf2ee;color:var(--green);font-size:.8rem;font-weight:600}
.home-memberships-benefits span::before{content:"✓";position:absolute;left:12px;top:10px;color:var(--gold);font-weight:800}
.home-memberships-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}
.home-memberships-actions .btn{width:100%;min-height:48px;text-align:center}
.home-memberships-note{font-size:.76rem;color:#7a807c;margin:0}

.home-gift-section{padding:0 7vw 105px;background:#f7f3ed}
.home-gift-card{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;min-height:410px;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,#173226 0%,#254b39 65%,#315841 100%);box-shadow:0 28px 70px rgba(30,56,43,.18);position:relative}
.home-gift-card::before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(218,184,118,.18);border-radius:50%;right:-120px;top:-180px;box-shadow:0 0 0 55px rgba(218,184,118,.035),0 0 0 110px rgba(218,184,118,.025)}
.home-gift-copy{position:relative;z-index:2;padding:clamp(42px,6vw,76px);color:#fff;display:flex;flex-direction:column;justify-content:center}
.home-gift-copy h2{font-size:clamp(3rem,5vw,5rem);line-height:.94;margin:0 0 20px;color:#fff}
.home-gift-copy>p:not(.eyebrow){max-width:700px;color:#dce7e1;font-size:1rem}
.home-gift-highlights{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 26px}
.home-gift-highlights span{padding:9px 12px;border:1px solid rgba(218,184,118,.34);border-radius:999px;background:rgba(255,255,255,.06);color:#f1dfbb;font-size:.74rem;font-weight:600}
.home-gift-actions{display:flex;gap:10px;flex-wrap:wrap}
.home-gift-actions .btn{min-height:48px;min-width:190px}
.btn-outline-light{background:transparent!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.72)!important}
.btn-outline-light:hover{background:rgba(255,255,255,.1)!important;transform:translateY(-2px)}
.home-gift-visual{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:44px 50px;min-width:0}
.home-gift-ticket{width:min(100%,390px);aspect-ratio:1.52/1;border-radius:18px;padding:32px;background:linear-gradient(145deg,#f6efe3,#e6d2ad);box-shadow:0 28px 55px rgba(0,0,0,.22);transform:rotate(-4deg);display:flex;flex-direction:column;justify-content:center;color:var(--green);border:1px solid rgba(255,255,255,.65)}
.home-gift-ticket span{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:#6d6f65}
.home-gift-ticket strong{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,3vw,3rem);font-weight:600;line-height:1;margin:14px 0;color:var(--green)}
.home-gift-ticket small{color:#8b6c38;font-weight:700;letter-spacing:.08em}
.home-gift-seal{position:absolute;right:10%;bottom:18%;width:92px;height:92px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--gold);color:white;font-size:.67rem;font-weight:800;letter-spacing:.12em;box-shadow:0 12px 30px rgba(0,0,0,.2);transform:rotate(9deg)}

@media(max-width:1000px){
  .home-memberships{grid-template-columns:1fr!important;gap:38px!important;padding-top:88px;padding-bottom:88px}
  .home-memberships-media{min-height:0!important;aspect-ratio:16/10;max-width:760px;width:100%;margin-inline:auto}
  .home-membership-plans{grid-template-columns:repeat(4,minmax(0,1fr))}
  .home-gift-card{grid-template-columns:1fr}
  .home-gift-visual{padding-top:5px;padding-bottom:55px}
  .home-gift-ticket{max-width:430px}
}
@media(max-width:700px){
  .home-membership-plans{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-memberships-benefits{grid-template-columns:1fr}
  .home-memberships-actions{grid-template-columns:1fr}
  .home-memberships-media{aspect-ratio:4/5}
  .home-memberships-logo-badge{top:16px;left:16px;width:180px;max-width:58%;padding:10px 12px}
  .home-memberships-overlay-copy{left:22px;right:22px;bottom:22px}
  .home-gift-section{padding:0 20px 80px}
  .home-gift-card{border-radius:20px}
  .home-gift-copy{padding:42px 25px}
  .home-gift-actions{display:grid;grid-template-columns:1fr}
  .home-gift-actions .btn{width:100%;min-width:0}
  .home-gift-visual{padding:0 24px 44px}
  .home-gift-ticket{padding:25px}
  .home-gift-seal{width:78px;height:78px;right:5%;bottom:15%}
}


/* Production v6 — homepage final display corrections */
.headspa-actions--single{display:block!important;margin-top:18px!important}
.headspa-actions--single .btn{display:inline-flex!important;width:auto!important;min-width:260px!important;justify-content:center!important}

/* Membership section: image and content are strictly separate columns */
.home-memberships{
  position:relative!important;
  isolation:isolate;
  display:grid!important;
  grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr)!important;
  gap:clamp(36px,5vw,72px)!important;
  align-items:center!important;
  overflow:visible!important;
}
.home-memberships-media{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:4 / 3!important;
  grid-column:1!important;
  grid-row:1!important;
  overflow:hidden!important;
  border-radius:26px!important;
  z-index:1!important;
}
.home-memberships-photo{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  z-index:0!important;
}
.home-memberships-content{
  position:relative!important;
  z-index:3!important;
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  width:100%!important;
  padding:38px!important;
  border-radius:24px!important;
  background:#fffdf9!important;
  box-shadow:0 20px 55px rgba(40,35,25,.10)!important;
  overflow:visible!important;
}
.home-memberships-content h2,
.home-memberships-content p,
.home-memberships-content span,
.home-memberships-content strong,
.home-memberships-content small{position:relative!important;z-index:1!important}
.home-membership-plans{position:relative!important;z-index:2!important}
.home-membership-plans>div{background:#fff8ee!important;border:1px solid rgba(184,137,64,.28)!important}
.home-memberships-benefits{position:relative!important;z-index:2!important}
.home-memberships-actions{position:relative!important;z-index:2!important}

/* Gift voucher CTA must be visibly gold on the dark green panel */
.home-gift-actions .btn.btn-gold,
.home-gift-actions a.btn-gold{
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(184,137,64,.24)!important;
}
.home-gift-actions .btn.btn-gold:hover,
.home-gift-actions a.btn-gold:hover{
  background:#a47732!important;
  border-color:#a47732!important;
  color:#fff!important;
}

@media(max-width:1000px){
  .home-memberships{grid-template-columns:1fr!important;gap:28px!important}
  .home-memberships-media{grid-column:1!important;grid-row:1!important;aspect-ratio:16 / 9!important;max-width:none!important}
  .home-memberships-content{grid-column:1!important;grid-row:2!important;padding:32px!important}
}
@media(max-width:700px){
  .headspa-actions--single .btn{width:100%!important;min-width:0!important}
  .home-memberships{padding-left:20px!important;padding-right:20px!important}
  .home-memberships-media{aspect-ratio:4 / 3!important}
  .home-memberships-content{padding:26px 20px!important;border-radius:18px!important}
}


/* Production v9 payment status feedback */
.payment-status-banner{display:flex;flex-direction:column;gap:5px;margin:0 0 22px;padding:16px 18px;border-radius:12px;background:#f5efe4;border:1px solid rgba(184,137,64,.35);color:#1e382b}.payment-status-banner strong{font-family:"Cormorant Garamond",serif;font-size:1.35rem}.payment-status-banner span{font-size:.9rem;line-height:1.5;color:#56625c}.payment-status-banner--error{background:#fff2ef;border-color:#d9a093}.payment-status-banner--error strong{color:#8d3525}


/* Production v10 — membership image alignment + homepage booking parity */
@media (min-width:1001px){
  .home-memberships{align-items:stretch!important;}
  .home-memberships-media{height:100%!important;min-height:100%!important;aspect-ratio:auto!important;}
  .home-memberships-content{height:100%!important;box-sizing:border-box!important;}
}

/* Keep homepage booking treatment select visually identical to Contact booking form */
#booking select#treatment optgroup{font-weight:700;color:var(--green);}
#booking select#treatment option{font-weight:400;color:#26362e;}


/* v11 home journeys refinement */
.home-page #journeys .journey-grid{align-items:stretch!important;}
.home-page #journeys .journey-card{display:flex!important;flex-direction:column!important;height:100%!important;}
.home-page #journeys .journey-card > div:first-of-type{flex:1 1 auto!important;display:flex!important;flex-direction:column!important;}
.home-page #journeys .journey-card > .commerce-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;width:100%!important;padding:0 28px 28px!important;margin-top:auto!important;align-items:stretch!important;}
.home-page #journeys .journey-card > .commerce-actions > a{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;width:100%!important;min-height:48px!important;height:48px!important;padding:11px 12px!important;font-size:.84rem!important;line-height:1.2!important;white-space:normal!important;}
.home-page #journeys .journey-card .text-link{margin-bottom:0!important;}
@media (max-width: 760px){
  .home-page #journeys .journey-card > .commerce-actions{padding:0 22px 24px!important;gap:10px!important;}
  .home-page #journeys .journey-card > .commerce-actions > a{font-size:.78rem!important;min-height:46px!important;height:auto!important;}
}
@media (max-width: 520px){
  .home-page #journeys .journey-card > .commerce-actions{grid-template-columns:1fr 1fr!important;gap:8px!important;}
  .home-page #journeys .journey-card > .commerce-actions > a{font-size:.72rem!important;min-height:44px!important;padding:10px 8px!important;}
}


/* v12 premium couples experiences polish */
.home-page #journeys{
  position:relative;
  background:linear-gradient(180deg,#f7f3ed 0%,#f1eadf 100%);
  padding-top:105px!important;
  padding-bottom:105px!important;
}
.home-page #journeys .section-heading{
  max-width:820px;
  margin:0 auto 46px;
  text-align:center;
}
.home-page #journeys .section-heading h2{
  color:var(--green);
  margin-bottom:14px;
}
.home-page #journeys .section-heading>p:last-child{
  max-width:650px;
  margin:0 auto;
  color:#66706b;
}
.home-page #journeys .journey-grid{
  gap:30px!important;
  align-items:stretch!important;
}
.home-page #journeys .journey-card{
  position:relative;
  display:grid!important;
  grid-template-rows:310px 1fr auto!important;
  height:100%!important;
  overflow:hidden;
  border:1px solid rgba(184,137,64,.22);
  border-radius:22px!important;
  background:#fffdf9!important;
  box-shadow:0 18px 48px rgba(34,47,40,.11)!important;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
@media (hover:hover){
  .home-page #journeys .journey-card:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 58px rgba(34,47,40,.15)!important;
    border-color:rgba(184,137,64,.42);
  }
}
.home-page #journeys .journey-card>img{
  width:100%!important;
  height:310px!important;
  min-height:310px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block;
}
.home-page #journeys .journey-card:nth-child(2)>img{object-position:center 48%!important;}
.home-page #journeys .journey-card>.journey-card-body{
  display:flex!important;
  flex-direction:column!important;
  min-width:0;
  padding:34px 34px 24px!important;
}
.home-page #journeys .journey-card .badge{
  align-self:flex-start;
  min-height:27px;
  display:inline-flex;
  align-items:center;
  padding:5px 11px!important;
  border-radius:999px!important;
  background:#eef2ee!important;
  color:var(--green)!important;
  border:1px solid rgba(30,56,43,.10);
  font-size:.68rem!important;
  font-weight:700;
  letter-spacing:.09em;
}
.home-page #journeys .journey-card h3{
  color:var(--green);
  font-size:clamp(2.45rem,3.2vw,3.25rem)!important;
  margin:15px 0 6px!important;
}
.home-page #journeys .journey-meta{
  display:inline-block;
  color:var(--gold)!important;
  font-size:.92rem!important;
  font-weight:700!important;
  letter-spacing:.025em;
  margin:0 0 18px!important;
}
.home-page #journeys .package-intro{
  margin:0 0 18px!important;
  color:#59635e;
  font-size:1rem!important;
  line-height:1.62;
}
.home-page #journeys .package-story{
  margin:0 0 18px!important;
  color:#66706b;
  line-height:1.62;
}
.home-page #journeys .package-options{
  display:grid!important;
  gap:9px!important;
  padding:0!important;
  margin:3px 0 0!important;
}
.home-page #journeys .package-option{
  display:block!important;
  padding:13px 15px!important;
  border-radius:12px;
  background:#f5f1e9;
  border:1px solid rgba(184,137,64,.14);
}
.home-page #journeys .package-option h4{
  margin:0 0 3px;
  color:var(--green);
  font-family:"Cormorant Garamond",serif;
  font-size:1.18rem;
  line-height:1.15;
}
.home-page #journeys .package-option p{
  margin:0;
  color:#65706a;
  font-size:.84rem!important;
  line-height:1.45;
}
.home-page #journeys .package-flow{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px!important;
  margin:3px 0 0!important;
  padding:0!important;
}
.home-page #journeys .package-flow span{
  display:flex;
  align-items:center;
  min-height:48px;
  padding:10px 13px;
  border-radius:12px;
  background:#f5f1e9;
  border:1px solid rgba(184,137,64,.14);
  color:var(--green);
  font-size:.82rem;
  font-weight:650;
}
.home-page #journeys .package-flow span::before{
  content:"✓";
  color:var(--gold);
  font-weight:800;
  margin-right:8px;
}
.home-page #journeys .journey-card>.commerce-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:11px!important;
  width:100%!important;
  margin:0!important;
  padding:0 34px 32px!important;
  align-self:end;
}
.home-page #journeys .journey-card>.commerce-actions>a{
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  height:50px!important;
  padding:11px 12px!important;
  border-radius:7px!important;
  font-size:.86rem!important;
  font-weight:700!important;
  line-height:1.15!important;
  text-align:center!important;
  white-space:normal!important;
}
.home-page #journeys .journey-card>.commerce-actions .btn-book-treatment{
  background:#fff!important;
  color:var(--green)!important;
  border:1px solid var(--green)!important;
}
.home-page #journeys .journey-card>.commerce-actions .btn-gift-voucher{
  background:var(--green)!important;
  color:#fff!important;
  border:1px solid var(--green)!important;
}
.home-page #journeys .journey-menu-cta{
  display:flex;
  justify-content:center;
  margin-top:34px;
}
.home-page #journeys .journey-menu-cta .btn{
  min-width:270px;
}
@media(max-width:900px){
  .home-page #journeys .journey-card{grid-template-rows:280px 1fr auto!important;}
  .home-page #journeys .journey-card>img{height:280px!important;min-height:280px!important;}
}
@media(max-width:600px){
  .home-page #journeys{padding-top:78px!important;padding-bottom:78px!important;}
  .home-page #journeys .section-heading{margin-bottom:30px;}
  .home-page #journeys .journey-card{grid-template-rows:220px 1fr auto!important;}
  .home-page #journeys .journey-card>img{height:220px!important;min-height:220px!important;}
  .home-page #journeys .journey-card>.journey-card-body{padding:26px 22px 20px!important;}
  .home-page #journeys .journey-card>.commerce-actions{padding:0 22px 24px!important;gap:8px!important;}
  .home-page #journeys .journey-card>.commerce-actions>a{font-size:.74rem!important;min-height:46px!important;height:46px!important;padding:9px 7px!important;}
  .home-page #journeys .package-flow{grid-template-columns:1fr 1fr;}
}


/* v13 live stability + booking parity + treatment CTA readability */
.menu-page .menu-primary-actions,
.menu-page .menu-conversion-actions,
.menu-page .treatment-menu-actions{
  width:100%;
}

/* The three primary conversion buttons immediately below the Treatment Menu hero */
.menu-page .menu-primary-actions .btn,
.menu-page .menu-conversion-actions .btn,
.menu-page .treatment-menu-actions .btn,
.menu-page .menu-quick-actions .btn,
.menu-page .menu-hero-actions + .commerce-actions .btn{
  font-size:.92rem!important;
  line-height:1.2!important;
  font-weight:700!important;
  min-height:50px!important;
  padding:13px 18px!important;
}

/* Current markup uses the first three-action commerce row after the hero. */
.menu-page main > .commerce-actions:first-of-type,
.menu-page .menu-hero + .commerce-actions{
  font-size:.92rem!important;
}

/* Defensive styling for the known top conversion row */
.menu-page a[href="contact.html#booking"],
.menu-page a[href="gift-voucher.html"],
.menu-page a[href="offers.html"]{
  text-rendering:optimizeLegibility;
}

@media (max-width:700px){
  .menu-page .menu-primary-actions .btn,
  .menu-page .menu-conversion-actions .btn,
  .menu-page .treatment-menu-actions .btn,
  .menu-page .menu-quick-actions .btn,
  .menu-page .menu-hero-actions + .commerce-actions .btn{
    font-size:.82rem!important;
    min-height:46px!important;
    padding:11px 12px!important;
  }
}

/* v13 exact Treatment Menu conversion-bar typography */
.menu-page .menu-conversion-bar .btn{
  font-size:1rem!important;
  font-weight:700!important;
  line-height:1.2!important;
  min-height:52px!important;
  padding:14px 18px!important;
  letter-spacing:.01em!important;
}
@media (max-width:900px){
  .menu-page .menu-conversion-bar .btn{
    font-size:.88rem!important;
    min-height:48px!important;
    padding:12px 14px!important;
  }
}
@media (max-width:620px){
  .menu-page .menu-conversion-bar .btn{
    font-size:.82rem!important;
    min-height:46px!important;
    padding:11px 12px!important;
  }
}


/* v14 premium paired experiences + uniform motherhood actions */
.menu-page #autumn-escapes .season-menu-grid--two,
.menu-page #packages .package-menu-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:30px!important;
  align-items:stretch!important;
}
.menu-page #autumn-escapes .premium-experience-card,
.menu-page #packages .premium-experience-card{
  height:100%!important;
  overflow:hidden!important;
  border-radius:22px!important;
  border:1px solid rgba(184,137,64,.22)!important;
  box-shadow:0 18px 44px rgba(37,45,40,.10)!important;
  transition:transform .25s ease,box-shadow .25s ease!important;
}
@media (hover:hover){
  .menu-page #autumn-escapes .premium-experience-card:hover,
  .menu-page #packages .premium-experience-card:hover{
    transform:translateY(-4px)!important;
    box-shadow:0 24px 56px rgba(37,45,40,.14)!important;
  }
}
.menu-page #autumn-escapes .premium-experience-card{
  padding:0 30px 28px!important;
  display:flex!important;
  flex-direction:column!important;
}
.menu-page #autumn-escapes .premium-experience-media{
  margin:0 -30px 24px!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  background:#e9e1d6!important;
}
.menu-page #autumn-escapes .premium-experience-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.menu-page #autumn-escapes .season-number{
  margin-top:0!important;
  color:var(--gold)!important;
}
.menu-page #autumn-escapes .premium-experience-card h3,
.menu-page #packages .premium-experience-card h3{
  font-size:clamp(2.15rem,3vw,3.1rem)!important;
  line-height:1.02!important;
  min-height:0!important;
  margin-bottom:10px!important;
}
.menu-page #autumn-escapes .season-menu-price,
.menu-page #packages .package-meta strong{
  font-size:1.35rem!important;
  color:var(--gold)!important;
}
.menu-page #autumn-escapes .season-includes span,
.menu-page #packages .choice-pill,
.menu-page #packages .escape-inclusions span{
  border:1px solid rgba(30,56,43,.08)!important;
  box-shadow:0 4px 12px rgba(37,45,40,.035)!important;
}
.menu-page #packages .package-menu-card{
  grid-template-rows:auto 1fr!important;
  background:#fff!important;
}
.menu-page #packages .package-menu-image{
  aspect-ratio:16/9!important;
  overflow:hidden!important;
}
.menu-page #packages .package-menu-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.menu-page #packages .package-menu-content{
  padding:32px 30px 28px!important;
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
.menu-page #packages .package-meta{
  margin-bottom:8px!important;
}
.menu-page #autumn-escapes .premium-experience-card > .commerce-actions,
.menu-page #packages .premium-experience-card .commerce-actions,
.menu-page #motherhood .motherhood-card > .commerce-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:20px!important;
  align-items:stretch!important;
}
.menu-page #autumn-escapes .premium-experience-card > .commerce-actions > a,
.menu-page #packages .premium-experience-card .commerce-actions > a,
.menu-page #motherhood .motherhood-card > .commerce-actions > a{
  width:100%!important;
  min-height:46px!important;
  height:46px!important;
  padding:10px 9px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:.76rem!important;
  font-weight:700!important;
  line-height:1.15!important;
  white-space:normal!important;
}
.menu-page #motherhood .motherhood-grid{align-items:stretch!important;}
.menu-page #motherhood .motherhood-card{height:100%!important;}
.menu-page #motherhood .motherhood-card--wide{grid-column:span 2!important;}
.menu-page #motherhood .motherhood-card--wide .expecting-couple-media{
  width:100%!important;
  aspect-ratio:16/6!important;
  height:auto!important;
}
@media(max-width:900px){
  .menu-page #autumn-escapes .season-menu-grid--two,
  .menu-page #packages .package-menu-grid{grid-template-columns:1fr!important;}
  .menu-page #motherhood .motherhood-card--wide{grid-column:auto!important;}
}
@media(max-width:520px){
  .menu-page #autumn-escapes .premium-experience-card > .commerce-actions,
  .menu-page #packages .premium-experience-card .commerce-actions,
  .menu-page #motherhood .motherhood-card > .commerce-actions{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  .menu-page #autumn-escapes .premium-experience-card > .commerce-actions > a,
  .menu-page #packages .premium-experience-card .commerce-actions > a,
  .menu-page #motherhood .motherhood-card > .commerce-actions > a{
    min-height:44px!important;
    height:auto!important;
    font-size:.68rem!important;
    padding:9px 6px!important;
  }
}


/* v15 — availability + cross-site card consistency cleanup */

/* Homepage: Body Rituals temporarily unavailable, visually identical to other coming-soon cards. */
.home-page .treatment-card--disabled{
  cursor:default!important;
}
.home-page .treatment-card--disabled .card-status{
  display:inline-flex!important;
}

/* Treatment menu: centered jump navigation after temporary Body Rituals removal. */
.menu-page .menu-jump-nav{
  justify-content:center!important;
  align-items:center!important;
  gap:8px 10px!important;
}

/* Premium two-card experiences: one robust layout system, no fixed text heights. */
.menu-page #autumn-escapes .season-menu-grid--two,
.menu-page #packages .package-menu-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:1fr!important;
  gap:30px!important;
  align-items:stretch!important;
}

.menu-page #autumn-escapes .premium-experience-card,
.menu-page #packages .premium-experience-card{
  min-width:0!important;
  height:100%!important;
  border-radius:22px!important;
  overflow:hidden!important;
  border:1px solid rgba(184,137,64,.20)!important;
  background:#fff!important;
  box-shadow:0 18px 44px rgba(37,45,40,.10)!important;
}

/* Spa & Dining cards */
.menu-page #autumn-escapes .premium-experience-card{
  display:flex!important;
  flex-direction:column!important;
  padding:0 30px 28px!important;
}
.menu-page #autumn-escapes .premium-experience-media{
  flex:0 0 auto!important;
  width:calc(100% + 60px)!important;
  margin:0 -30px 24px!important;
  aspect-ratio:16/9!important;
  min-height:0!important;
  overflow:hidden!important;
}
.menu-page #autumn-escapes .premium-experience-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.menu-page #autumn-escapes .season-number{
  display:block!important;
  margin:0 0 8px!important;
  line-height:1!important;
}
.menu-page #autumn-escapes .premium-experience-card h3{
  margin:0 0 10px!important;
  min-height:0!important;
  font-size:clamp(2rem,2.7vw,2.85rem)!important;
  line-height:1.05!important;
  overflow-wrap:anywhere!important;
}
.menu-page #autumn-escapes .season-menu-price{
  display:block!important;
  margin:0 0 12px!important;
  font-size:1.45rem!important;
  line-height:1.15!important;
}
.menu-page #autumn-escapes .premium-experience-card>p{
  margin:0 0 16px!important;
  line-height:1.65!important;
}
.menu-page #autumn-escapes .season-includes{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin:0 0 2px!important;
}
.menu-page #autumn-escapes .season-includes span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  padding:9px 10px!important;
  border-radius:10px!important;
  text-align:center!important;
  font-size:.76rem!important;
  line-height:1.25!important;
  overflow-wrap:anywhere!important;
}

/* Couples cards */
.menu-page #packages .package-menu-card{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
.menu-page #packages .package-menu-image{
  width:100%!important;
  aspect-ratio:16/9!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.menu-page #packages .package-menu-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.menu-page #packages .package-menu-content{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:32px 30px 28px!important;
}
.menu-page #packages .package-menu-content h3{
  margin:4px 0 12px!important;
  min-height:0!important;
  font-size:clamp(2rem,2.7vw,2.85rem)!important;
  line-height:1.05!important;
  overflow-wrap:anywhere!important;
}
.menu-page #packages .package-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:space-between!important;
  gap:6px 14px!important;
  margin:0 0 18px!important;
  padding:13px 0!important;
  line-height:1.3!important;
}
.menu-page #packages .package-meta strong{
  white-space:normal!important;
  text-align:right!important;
}
.menu-page #packages .package-lead,
.menu-page #packages .package-inclusive{
  line-height:1.6!important;
}
.menu-page #packages .choice-pill,
.menu-page #packages .escape-inclusions span{
  min-width:0!important;
  padding:12px 14px!important;
  line-height:1.3!important;
  overflow-wrap:anywhere!important;
}
.menu-page #packages .escape-inclusions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  margin:12px 0 4px!important;
}

/* One action language throughout premium experiences and motherhood. */
.menu-page #autumn-escapes .premium-experience-card>.commerce-actions,
.menu-page #packages .premium-experience-card .commerce-actions,
.menu-page #motherhood .motherhood-card>.commerce-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:20px!important;
  align-items:stretch!important;
}
.menu-page #autumn-escapes .premium-experience-card>.commerce-actions>a,
.menu-page #packages .premium-experience-card .commerce-actions>a,
.menu-page #motherhood .motherhood-card>.commerce-actions>a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:auto!important;
  min-height:50px!important;
  max-height:none!important;
  padding:11px 10px!important;
  font-size:.82rem!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Motherhood cards: consistent spacing and no squeezed text. */
.menu-page #motherhood .motherhood-grid{
  align-items:stretch!important;
}
.menu-page #motherhood .motherhood-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  height:100%!important;
  padding:26px 24px 24px!important;
}
.menu-page #motherhood .motherhood-card h3{
  min-height:0!important;
  margin:8px 0 6px!important;
  line-height:1.08!important;
  overflow-wrap:anywhere!important;
}
.menu-page #motherhood .motherhood-card>p{
  line-height:1.6!important;
}
.menu-page #motherhood .season-includes{
  margin-bottom:0!important;
}
.menu-page #motherhood .season-includes span{
  line-height:1.25!important;
  overflow-wrap:anywhere!important;
}

/* General menu card guardrails against overflow. */
.menu-page .season-menu-card,
.menu-page .package-menu-card,
.menu-page .motherhood-card,
.menu-page .journey-inner-card,
.menu-page .membership-card,
.home-page .season-card,
.home-page .journey-card{
  min-width:0!important;
}
.menu-page .season-menu-card *,
.menu-page .package-menu-card *,
.menu-page .motherhood-card *,
.menu-page .journey-inner-card *,
.menu-page .membership-card *,
.home-page .season-card *,
.home-page .journey-card *{
  box-sizing:border-box;
}

@media(max-width:1000px){
  .menu-page #autumn-escapes .season-menu-grid--two,
  .menu-page #packages .package-menu-grid{
    grid-template-columns:1fr!important;
    grid-auto-rows:auto!important;
  }
}
@media(max-width:620px){
  .menu-page #autumn-escapes .premium-experience-card{
    padding:0 20px 22px!important;
  }
  .menu-page #autumn-escapes .premium-experience-media{
    width:calc(100% + 40px)!important;
    margin:0 -20px 20px!important;
  }
  .menu-page #packages .package-menu-content{
    padding:26px 20px 22px!important;
  }
  .menu-page #autumn-escapes .season-includes,
  .menu-page #packages .escape-inclusions{
    grid-template-columns:1fr!important;
  }
  .menu-page #autumn-escapes .premium-experience-card>.commerce-actions,
  .menu-page #packages .premium-experience-card .commerce-actions,
  .menu-page #motherhood .motherhood-card>.commerce-actions{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  .menu-page #autumn-escapes .premium-experience-card>.commerce-actions>a,
  .menu-page #packages .premium-experience-card .commerce-actions>a,
  .menu-page #motherhood .motherhood-card>.commerce-actions>a{
    min-height:46px!important;
    padding:9px 7px!important;
    font-size:.72rem!important;
  }
}
@media(max-width:390px){
  .menu-page #autumn-escapes .premium-experience-card>.commerce-actions,
  .menu-page #packages .premium-experience-card .commerce-actions,
  .menu-page #motherhood .motherhood-card>.commerce-actions{
    grid-template-columns:1fr!important;
  }
  .menu-page #autumn-escapes .premium-experience-card>.commerce-actions>a,
  .menu-page #packages .premium-experience-card .commerce-actions>a,
  .menu-page #motherhood .motherhood-card>.commerce-actions>a{
    font-size:.78rem!important;
  }
}


/* v16 — restored Treatment Menu design system (v12 baseline, larger type) */
/* This final scoped layer intentionally restores the proven v12 action system and
   overrides later v14/v15 regressions without altering the current content/order. */

/* Main header navigation: restored readable desktop sizing after menu simplification. */
.menu-page .main-nav{
  gap:24px!important;
}
.menu-page .main-nav a{
  font-size:.92rem!important;
  line-height:1.25!important;
  font-weight:500!important;
  white-space:nowrap!important;
}

/* Top 3 conversion actions: equally divided, larger and more legible. */
.menu-page .menu-conversion-bar{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  padding:14px 7vw!important;
  align-items:stretch!important;
  justify-content:stretch!important;
}
.menu-page .menu-conversion-bar .btn{
  width:100%!important;
  min-width:0!important;
  min-height:54px!important;
  height:54px!important;
  padding:12px 16px!important;
  font-size:1rem!important;
  font-weight:700!important;
  line-height:1.15!important;
  text-align:center!important;
}

/* Centered Treatment Menu section navigation with restored larger type. */
.menu-page .menu-jump-nav{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:9px 12px!important;
  width:100%!important;
  padding:14px 4vw!important;
  overflow:visible!important;
  white-space:normal!important;
}
.menu-page .menu-jump-nav a{
  flex:0 0 auto!important;
  padding:10px 16px!important;
  font-size:.88rem!important;
  line-height:1.15!important;
  font-weight:650!important;
  text-align:center!important;
  white-space:nowrap!important;
}

/* =========================================================
   UNIFORM TWO-ACTION BUTTON SYSTEM
   v12 proportions restored, typography deliberately enlarged.
   ========================================================= */
.menu-page #back-to-school .season-menu-card > .commerce-actions,
.menu-page #autumn-escapes .season-menu-card > .commerce-actions,
.menu-page #autumn-escapes .season-menu-card > .commerce-actions--feature,
.menu-page #packages .package-menu-content > .commerce-actions,
.menu-page #packages .package-menu-content > .commerce-actions--feature,
.menu-page #motherhood .motherhood-card > .commerce-actions,
.menu-page .journey-inner-card .commerce-actions,
.menu-page .menu-line > .commerce-actions,
.menu-page .ritual-item > .commerce-actions,
.menu-page .kids-treatment-card > .commerce-actions,
.menu-page #facilities .commerce-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:18px!important;
  align-items:stretch!important;
}

.menu-page #back-to-school .season-menu-card > .commerce-actions > a,
.menu-page #autumn-escapes .season-menu-card > .commerce-actions > a,
.menu-page #autumn-escapes .season-menu-card > .commerce-actions--feature > a,
.menu-page #packages .package-menu-content > .commerce-actions > a,
.menu-page #packages .package-menu-content > .commerce-actions--feature > a,
.menu-page #motherhood .motherhood-card > .commerce-actions > a,
.menu-page .journey-inner-card .commerce-actions > a,
.menu-page .menu-line > .commerce-actions > a,
.menu-page .ritual-item > .commerce-actions > a,
.menu-page .kids-treatment-card > .commerce-actions > a,
.menu-page #facilities .commerce-actions > a{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  margin:0!important;
  padding:0 10px!important;
  border-radius:7px!important;
  font-size:.82rem!important;
  font-weight:700!important;
  line-height:1.12!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
}

/* Preserve the established white/green action language everywhere. */
.menu-page .commerce-actions .btn-book-treatment,
.menu-page .commerce-actions a[href*="contact.html"]{
  background:#fff!important;
  color:var(--green)!important;
  border:1.5px solid var(--green)!important;
}
.menu-page .commerce-actions .btn-gift-voucher,
.menu-page .commerce-actions a[href*="gift-voucher.html"]{
  background:var(--green)!important;
  color:#fff!important;
  border:1.5px solid var(--green)!important;
}
.menu-page .commerce-actions .btn-book-treatment:hover,
.menu-page .commerce-actions a[href*="contact.html"]:hover{
  background:#f2f6f3!important;
  color:var(--green)!important;
}
.menu-page .commerce-actions .btn-gift-voucher:hover,
.menu-page .commerce-actions a[href*="gift-voucher.html"]:hover{
  background:var(--green2)!important;
  color:#fff!important;
}

/* Spa Facilities remains the deliberate gold-voucher exception. */
.menu-page #facilities .commerce-actions .btn-gift-voucher,
.menu-page #facilities .commerce-actions a[href*="gift-voucher.html"]{
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  color:#fff!important;
}

/* Back-to-school: restore v12 matched card rhythm. */
.menu-page #back-to-school .season-menu-grid--three{
  align-items:stretch!important;
}
.menu-page #back-to-school .season-menu-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
.menu-page #back-to-school .season-menu-card h3{
  min-height:4.25rem!important;
  display:flex!important;
  align-items:flex-start!important;
}
.menu-page #back-to-school .season-menu-card > p{
  min-height:5.8rem!important;
  margin-bottom:0!important;
}
.menu-page #back-to-school .season-includes{
  min-height:6.2rem!important;
  align-content:flex-start!important;
  margin:16px 0 0!important;
}

/* Spa & Dine and Couples: premium cards retain flexible text but share the exact
   same bottom-action geometry as Back-to-School. */
.menu-page #autumn-escapes .season-menu-grid--two,
.menu-page #packages .package-menu-grid{
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}
.menu-page #autumn-escapes .premium-experience-card,
.menu-page #packages .package-menu-card{
  height:100%!important;
  min-width:0!important;
}
.menu-page #autumn-escapes .premium-experience-card{
  display:flex!important;
  flex-direction:column!important;
}
.menu-page #packages .package-menu-card{
  display:grid!important;
  grid-template-rows:auto 1fr!important;
}
.menu-page #packages .package-menu-content{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-width:0!important;
}

/* Keep premium card copy comfortably readable and prevent title/content collisions. */
.menu-page #autumn-escapes .premium-experience-card h3,
.menu-page #packages .package-menu-content h3{
  min-height:0!important;
  line-height:1.08!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.menu-page #autumn-escapes .premium-experience-card > p,
.menu-page #packages .package-menu-content p{
  line-height:1.55!important;
}
.menu-page #autumn-escapes .season-includes span,
.menu-page #packages .choice-pill,
.menu-page #packages .escape-inclusions span{
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Motherhood: equal action rows; wide card follows the same dimensions. */
.menu-page #motherhood .motherhood-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-width:0!important;
}
.menu-page #motherhood .motherhood-card h3{
  line-height:1.08!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Individual treatment rows: same button language, slightly compact placement only. */
.menu-page .menu-line > .commerce-actions{
  grid-column:1/-1!important;
  margin-top:12px!important;
  padding-top:0!important;
}

/* Membership voucher rows are separate from the two-button system. */
.menu-page .membership-voucher-btn{
  font-size:.82rem!important;
  font-weight:700!important;
  min-height:44px!important;
}

/* Responsive: preserve side-by-side actions until genuinely narrow screens. */
@media(max-width:1000px){
  .menu-page .main-nav a{
    font-size:.92rem!important;
    white-space:normal!important;
  }
  .menu-page #autumn-escapes .season-menu-grid--two,
  .menu-page #packages .package-menu-grid{
    grid-template-columns:1fr!important;
    grid-auto-rows:auto!important;
  }
}

@media(max-width:760px){
  .menu-page .menu-conversion-bar{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    padding:10px 12px!important;
  }
  .menu-page .menu-conversion-bar .btn{
    min-height:46px!important;
    height:auto!important;
    padding:9px 7px!important;
    font-size:.78rem!important;
  }
  .menu-page .menu-jump-nav{
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
    gap:10px!important;
    padding:10px 14px!important;
    scrollbar-width:none;
  }
  .menu-page .menu-jump-nav::-webkit-scrollbar{display:none}
  .menu-page .menu-jump-nav a{
    font-size:.84rem!important;
    padding:9px 14px!important;
  }
  .menu-page #back-to-school .season-menu-card h3,
  .menu-page #back-to-school .season-menu-card > p,
  .menu-page #back-to-school .season-includes{
    min-height:0!important;
  }
}

@media(max-width:520px){
  .menu-page #back-to-school .season-menu-card > .commerce-actions > a,
  .menu-page #autumn-escapes .season-menu-card > .commerce-actions > a,
  .menu-page #autumn-escapes .season-menu-card > .commerce-actions--feature > a,
  .menu-page #packages .package-menu-content > .commerce-actions > a,
  .menu-page #packages .package-menu-content > .commerce-actions--feature > a,
  .menu-page #motherhood .motherhood-card > .commerce-actions > a,
  .menu-page .journey-inner-card .commerce-actions > a,
  .menu-page .menu-line > .commerce-actions > a,
  .menu-page .kids-treatment-card > .commerce-actions > a,
  .menu-page #facilities .commerce-actions > a{
    height:auto!important;
    min-height:44px!important;
    max-height:none!important;
    padding:9px 7px!important;
    font-size:.76rem!important;
  }
}

@media(max-width:390px){
  .menu-page #back-to-school .season-menu-card > .commerce-actions,
  .menu-page #autumn-escapes .season-menu-card > .commerce-actions,
  .menu-page #autumn-escapes .season-menu-card > .commerce-actions--feature,
  .menu-page #packages .package-menu-content > .commerce-actions,
  .menu-page #packages .package-menu-content > .commerce-actions--feature,
  .menu-page #motherhood .motherhood-card > .commerce-actions,
  .menu-page .journey-inner-card .commerce-actions,
  .menu-page .menu-line > .commerce-actions,
  .menu-page .kids-treatment-card > .commerce-actions,
  .menu-page #facilities .commerce-actions{
    grid-template-columns:1fr!important;
  }
  .menu-page .menu-conversion-bar{
    position:relative!important;
    top:auto!important;
    grid-template-columns:1fr!important;
    padding:10px 20px!important;
  }
  .menu-page .menu-conversion-bar .btn{
    font-size:.86rem!important;
    min-height:46px!important;
  }
}


/* =========================================================
   v17 — FINAL TREATMENT MENU NORMALIZATION
   One authoritative layer to prevent text/price overlap.
   Keeps v12-style action geometry, with larger type.
   ========================================================= */

/* Main menu + treatment jump navigation typography */
.menu-page .main-nav a{
  font-size:.94rem!important;
  line-height:1.25!important;
  font-weight:600!important;
}
.menu-page .menu-jump-nav{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px 12px!important;
  white-space:normal!important;
  overflow:visible!important;
}
.menu-page .menu-jump-nav a{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px 16px!important;
  font-size:.9rem!important;
  line-height:1.2!important;
  font-weight:700!important;
  white-space:nowrap!important;
}

/* Top three conversion buttons */
.menu-page .menu-conversion-bar{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.menu-page .menu-conversion-bar .btn{
  width:100%!important;
  min-width:0!important;
  min-height:54px!important;
  height:auto!important;
  padding:12px 14px!important;
  font-size:1rem!important;
  line-height:1.2!important;
  font-weight:700!important;
  white-space:normal!important;
  text-align:center!important;
}

/* --- Back to School: retain proven v12 rhythm without collisions --- */
.menu-page #back-to-school .season-menu-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-width:0!important;
}
.menu-page #back-to-school .season-menu-card h3,
.menu-page #back-to-school .season-menu-card>p,
.menu-page #back-to-school .season-includes{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.menu-page #back-to-school .season-menu-card h3{
  min-height:4.25rem!important;
  margin:10px 0 8px!important;
  line-height:1.05!important;
}
.menu-page #back-to-school .season-menu-price{
  position:static!important;
  display:block!important;
  margin:0 0 12px!important;
  line-height:1.15!important;
}
.menu-page #back-to-school .season-menu-card>p{
  min-height:5.8rem!important;
  margin:0!important;
  line-height:1.55!important;
}
.menu-page #back-to-school .season-includes{
  min-height:6.2rem!important;
  margin:16px 0 0!important;
  align-content:flex-start!important;
}

/* --- Spa & Dining cards: fully fluid copy stack --- */
.menu-page #autumn-escapes .season-menu-grid--two{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:30px!important;
  align-items:stretch!important;
}
.menu-page #autumn-escapes .premium-experience-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-width:0!important;
  padding:0 30px 28px!important;
  overflow:hidden!important;
}
.menu-page #autumn-escapes .premium-experience-media{
  position:static!important;
  flex:0 0 auto!important;
  width:calc(100% + 60px)!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  margin:0 -30px 24px!important;
  overflow:hidden!important;
}
.menu-page #autumn-escapes .premium-experience-media img{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.menu-page #autumn-escapes .season-number,
.menu-page #autumn-escapes .premium-experience-card h3,
.menu-page #autumn-escapes .season-menu-price,
.menu-page #autumn-escapes .premium-experience-card>p,
.menu-page #autumn-escapes .season-includes{
  position:static!important;
  float:none!important;
  transform:none!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.menu-page #autumn-escapes .season-number{
  display:block!important;
  margin:0 0 8px!important;
  line-height:1!important;
}
.menu-page #autumn-escapes .premium-experience-card h3{
  display:block!important;
  margin:0 0 10px!important;
  font-size:clamp(2rem,2.7vw,2.85rem)!important;
  line-height:1.06!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.menu-page #autumn-escapes .season-menu-price{
  display:block!important;
  margin:0 0 14px!important;
  font-size:1.5rem!important;
  line-height:1.15!important;
  white-space:normal!important;
}
.menu-page #autumn-escapes .premium-experience-card>p{
  display:block!important;
  margin:0 0 18px!important;
  line-height:1.6!important;
}
.menu-page #autumn-escapes .season-includes{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin:0!important;
}
.menu-page #autumn-escapes .season-includes span{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  height:auto!important;
  min-height:42px!important;
  padding:9px 10px!important;
  line-height:1.25!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
}

/* --- Couples Spa Experiences: explicit vertical flow --- */
.menu-page #packages .package-menu-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:30px!important;
  align-items:stretch!important;
}
.menu-page #packages .package-menu-card{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  height:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.menu-page #packages .package-menu-image{
  position:static!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
}
.menu-page #packages .package-menu-image img{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.menu-page #packages .package-menu-content{
  position:static!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:32px 30px 28px!important;
  overflow:visible!important;
}
.menu-page #packages .package-menu-content h3,
.menu-page #packages .package-meta,
.menu-page #packages .package-lead,
.menu-page #packages .package-inclusive,
.menu-page #packages .escape-inclusions,
.menu-page #packages .choice-pill{
  position:static!important;
  transform:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.menu-page #packages .package-menu-content h3{
  display:block!important;
  margin:4px 0 12px!important;
  font-size:clamp(2rem,2.7vw,2.85rem)!important;
  line-height:1.06!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.menu-page #packages .package-meta{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px 16px!important;
  width:100%!important;
  margin:0 0 18px!important;
  padding:13px 0!important;
  line-height:1.3!important;
}
.menu-page #packages .package-meta span{
  min-width:0!important;
  white-space:normal!important;
}
.menu-page #packages .package-meta strong{
  position:static!important;
  display:block!important;
  margin:0!important;
  font-size:1.5rem!important;
  line-height:1.15!important;
  text-align:right!important;
  white-space:normal!important;
}
.menu-page #packages .package-lead,
.menu-page #packages .package-inclusive{
  margin-top:0!important;
  line-height:1.6!important;
}
.menu-page #packages .choice-pill{
  display:block!important;
  width:100%!important;
  margin:5px 0!important;
  padding:12px 14px!important;
  line-height:1.35!important;
  white-space:normal!important;
}
.menu-page #packages .escape-inclusions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  margin:12px 0 4px!important;
}
.menu-page #packages .escape-inclusions span{
  position:static!important;
  min-width:0!important;
  height:auto!important;
  min-height:42px!important;
  padding:12px 14px!important;
  line-height:1.3!important;
  white-space:normal!important;
  overflow:visible!important;
}

/* --- Motherhood: prevent title/duration/price-like metadata collisions --- */
.menu-page #motherhood .motherhood-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  height:100%!important;
  overflow:hidden!important;
}
.menu-page #motherhood .motherhood-card h3,
.menu-page #motherhood .motherhood-duration,
.menu-page #motherhood .motherhood-card>p,
.menu-page #motherhood .season-includes,
.menu-page #motherhood .expecting-couple-media{
  position:static!important;
  transform:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.menu-page #motherhood .motherhood-card h3{
  margin-bottom:8px!important;
  line-height:1.08!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.menu-page #motherhood .motherhood-duration{
  display:block!important;
  margin:0 0 12px!important;
  line-height:1.2!important;
}
.menu-page #motherhood .motherhood-card>p{
  margin:0 0 14px!important;
  line-height:1.55!important;
}
.menu-page #motherhood .season-includes{
  margin:0!important;
}

/* --- Individual treatment rows: price always occupies its own column --- */
.menu-page .menu-line{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  column-gap:18px!important;
  row-gap:8px!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
}
.menu-page .menu-line>div:first-child{
  min-width:0!important;
  max-width:none!important;
}
.menu-page .menu-line>div:first-child strong,
.menu-page .menu-line>div:first-child span,
.menu-page .menu-line>div:first-child p{
  position:static!important;
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  line-height:1.4!important;
  overflow:visible!important;
  white-space:normal!important;
}
.menu-page .menu-line>strong{
  position:static!important;
  display:block!important;
  align-self:start!important;
  justify-self:end!important;
  margin:0!important;
  padding:0!important;
  font-size:1.25rem!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.menu-page .menu-line>.commerce-actions{
  grid-column:1/-1!important;
  margin-top:8px!important;
  padding-top:0!important;
}

/* --- One consistent two-button geometry (v12 proportions + larger type) --- */
.menu-page #back-to-school .season-menu-card>.commerce-actions,
.menu-page #autumn-escapes .premium-experience-card>.commerce-actions,
.menu-page #packages .package-menu-content>.commerce-actions,
.menu-page #motherhood .motherhood-card>.commerce-actions,
.menu-page .journey-inner-card .commerce-actions,
.menu-page .menu-line>.commerce-actions,
.menu-page .kids-treatment-card>.commerce-actions,
.menu-page #facilities .commerce-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:18px!important;
  align-items:stretch!important;
}
.menu-page #back-to-school .season-menu-card>.commerce-actions>a,
.menu-page #autumn-escapes .premium-experience-card>.commerce-actions>a,
.menu-page #packages .package-menu-content>.commerce-actions>a,
.menu-page #motherhood .motherhood-card>.commerce-actions>a,
.menu-page .journey-inner-card .commerce-actions>a,
.menu-page .menu-line>.commerce-actions>a,
.menu-page .kids-treatment-card>.commerce-actions>a,
.menu-page #facilities .commerce-actions>a{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  margin:0!important;
  padding:0 10px!important;
  border-radius:7px!important;
  font-size:.86rem!important;
  font-weight:700!important;
  line-height:1.15!important;
  text-align:center!important;
  white-space:normal!important;
}

/* Maintain established action colours. */
.menu-page .commerce-actions .btn-book-treatment,
.menu-page .commerce-actions a[href*="contact.html"]{
  background:#fff!important;
  color:var(--green)!important;
  border:1.5px solid var(--green)!important;
}
.menu-page .commerce-actions .btn-gift-voucher,
.menu-page .commerce-actions a[href*="gift-voucher.html"]{
  background:var(--green)!important;
  color:#fff!important;
  border:1.5px solid var(--green)!important;
}
.menu-page #facilities .commerce-actions .btn-gift-voucher,
.menu-page #facilities .commerce-actions a[href*="gift-voucher.html"]{
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  color:#fff!important;
}

/* Responsive */
@media(max-width:1000px){
  .menu-page #autumn-escapes .season-menu-grid--two,
  .menu-page #packages .package-menu-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:760px){
  .menu-page .menu-jump-nav{
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    padding:10px 14px!important;
    scrollbar-width:none;
  }
  .menu-page .menu-jump-nav::-webkit-scrollbar{display:none}
  .menu-page .menu-jump-nav a{font-size:.86rem!important;}
  .menu-page #packages .package-meta{
    grid-template-columns:1fr!important;
  }
  .menu-page #packages .package-meta strong{
    text-align:left!important;
  }
  .menu-page #back-to-school .season-menu-card h3,
  .menu-page #back-to-school .season-menu-card>p,
  .menu-page #back-to-school .season-includes{
    min-height:0!important;
  }
}
@media(max-width:520px){
  .menu-page .menu-conversion-bar{
    grid-template-columns:1fr!important;
  }
  .menu-page #autumn-escapes .season-includes,
  .menu-page #packages .escape-inclusions{
    grid-template-columns:1fr!important;
  }
  .menu-page #back-to-school .season-menu-card>.commerce-actions>a,
  .menu-page #autumn-escapes .premium-experience-card>.commerce-actions>a,
  .menu-page #packages .package-menu-content>.commerce-actions>a,
  .menu-page #motherhood .motherhood-card>.commerce-actions>a,
  .menu-page .journey-inner-card .commerce-actions>a,
  .menu-page .menu-line>.commerce-actions>a,
  .menu-page .kids-treatment-card>.commerce-actions>a,
  .menu-page #facilities .commerce-actions>a{
    height:auto!important;
    min-height:46px!important;
    max-height:none!important;
    font-size:.8rem!important;
    padding:9px 8px!important;
  }
}
@media(max-width:390px){
  .menu-page #back-to-school .season-menu-card>.commerce-actions,
  .menu-page #autumn-escapes .premium-experience-card>.commerce-actions,
  .menu-page #packages .package-menu-content>.commerce-actions,
  .menu-page #motherhood .motherhood-card>.commerce-actions,
  .menu-page .journey-inner-card .commerce-actions,
  .menu-page .menu-line>.commerce-actions,
  .menu-page .kids-treatment-card>.commerce-actions,
  .menu-page #facilities .commerce-actions{
    grid-template-columns:1fr!important;
  }
}

/* v18 — final verified Treatment Menu action sizing reset
   Prevent older generic .commerce-actions flex rules from stretching grid rows on mobile. */
.menu-page #back-to-school .season-menu-card > .commerce-actions,
.menu-page #autumn-escapes .premium-experience-card > .commerce-actions,
.menu-page #packages .package-menu-content > .commerce-actions,
.menu-page #motherhood .motherhood-card > .commerce-actions,
.menu-page .journey-inner-card .commerce-actions,
.menu-page .menu-line > .commerce-actions,
.menu-page .kids-treatment-card > .commerce-actions,
.menu-page #facilities .commerce-actions{
  flex:0 0 auto!important;
  flex-basis:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  grid-auto-rows:48px!important;
  align-content:end!important;
}
.menu-page #back-to-school .season-menu-card > .commerce-actions > a,
.menu-page #autumn-escapes .premium-experience-card > .commerce-actions > a,
.menu-page #packages .package-menu-content > .commerce-actions > a,
.menu-page #motherhood .motherhood-card > .commerce-actions > a,
.menu-page .journey-inner-card .commerce-actions > a,
.menu-page .menu-line > .commerce-actions > a,
.menu-page .kids-treatment-card > .commerce-actions > a,
.menu-page #facilities .commerce-actions > a{
  flex:none!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
}
@media(max-width:520px){
  .menu-page #back-to-school .season-menu-card > .commerce-actions,
  .menu-page #autumn-escapes .premium-experience-card > .commerce-actions,
  .menu-page #packages .package-menu-content > .commerce-actions,
  .menu-page #motherhood .motherhood-card > .commerce-actions,
  .menu-page .journey-inner-card .commerce-actions,
  .menu-page .menu-line > .commerce-actions,
  .menu-page .kids-treatment-card > .commerce-actions,
  .menu-page #facilities .commerce-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:48px!important;
  }
  .menu-page #back-to-school .season-menu-card > .commerce-actions > a,
  .menu-page #autumn-escapes .premium-experience-card > .commerce-actions > a,
  .menu-page #packages .package-menu-content > .commerce-actions > a,
  .menu-page #motherhood .motherhood-card > .commerce-actions > a,
  .menu-page .journey-inner-card .commerce-actions > a,
  .menu-page .menu-line > .commerce-actions > a,
  .menu-page .kids-treatment-card > .commerce-actions > a,
  .menu-page #facilities .commerce-actions > a{
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    font-size:.78rem!important;
    padding:7px 6px!important;
  }
}
@media(max-width:340px){
  .menu-page #back-to-school .season-menu-card > .commerce-actions,
  .menu-page #autumn-escapes .premium-experience-card > .commerce-actions,
  .menu-page #packages .package-menu-content > .commerce-actions,
  .menu-page #motherhood .motherhood-card > .commerce-actions,
  .menu-page .journey-inner-card .commerce-actions,
  .menu-page .menu-line > .commerce-actions,
  .menu-page .kids-treatment-card > .commerce-actions,
  .menu-page #facilities .commerce-actions{
    grid-template-columns:1fr!important;
  }
}


/* v19 controlled typography refinement — preserves v18 layout geometry */
/* Global primary navigation: slightly larger and easier to scan */
.site-header .main-nav a{
  font-size:1rem!important;
  line-height:1.2!important;
  font-weight:650!important;
  letter-spacing:.01em!important;
}

/* Treatment Menu: category navigation */
.menu-page .menu-jump-nav a{
  font-size:.96rem!important;
  line-height:1.2!important;
  font-weight:700!important;
}

/* Treatment Menu: section introductions */
.menu-page .section-heading > p:not(.eyebrow),
.menu-page .seasonal-menu-intro,
.menu-page .ritual-intro{
  font-size:1.04rem!important;
  line-height:1.65!important;
}

/* Treatment Menu: promotional / experience cards */
.menu-page .season-menu-card h3,
.menu-page #motherhood .motherhood-card h3,
.menu-page #packages .package-menu-content h3{
  font-size:clamp(2.05rem,2.5vw,2.45rem)!important;
  line-height:1.05!important;
}
.menu-page .season-menu-price,
.menu-page #motherhood .motherhood-duration,
.menu-page #packages .package-meta strong{
  font-size:1.28rem!important;
  line-height:1.2!important;
  font-weight:750!important;
}
.menu-page .season-menu-card > p,
.menu-page #motherhood .motherhood-card > p,
.menu-page #packages .package-menu-content > p,
.menu-page #packages .package-menu-content .package-lead,
.menu-page #packages .package-menu-content .package-inclusive{
  font-size:1rem!important;
  line-height:1.58!important;
}
.menu-page .season-includes span,
.menu-page #packages .choice-pill,
.menu-page #packages .escape-inclusions span{
  font-size:.84rem!important;
  line-height:1.3!important;
}

/* Treatment Menu: individual treatments and journey cards */
.menu-page .treatment-category-card h3{
  font-size:clamp(2.4rem,3vw,3.15rem)!important;
}
.menu-page .menu-line strong,
.menu-page .menu-line > div > strong{
  font-size:1.03rem!important;
  line-height:1.35!important;
}
.menu-page .menu-line span{
  font-size:.92rem!important;
  line-height:1.35!important;
}
.menu-page .menu-line > strong{
  font-size:1.28rem!important;
}
.menu-page .journey-inner-body h4{
  font-size:2.15rem!important;
}
.menu-page .journey-inner-body > p{
  font-size:1rem!important;
  line-height:1.58!important;
}

/* Treatment Menu: primary action buttons — text larger, dimensions unchanged */
.menu-page .commerce-actions > a,
.menu-page .commerce-actions > .btn{
  font-size:.9rem!important;
  font-weight:750!important;
  line-height:1.15!important;
}
.menu-page .menu-conversion-bar .btn{
  font-size:1.05rem!important;
  font-weight:750!important;
}

/* Offers page: improve promotional readability without altering card sizing */
.offers-page .offers-index a{
  font-size:.92rem!important;
  line-height:1.25!important;
}
.offers-page .section-heading > p:not(.eyebrow){
  font-size:1.06rem!important;
  line-height:1.65!important;
}
.offers-page .season-menu-card h3{
  font-size:clamp(2.1rem,2.6vw,2.5rem)!important;
  line-height:1.05!important;
}
.offers-page .season-menu-price{
  font-size:1.36rem!important;
  line-height:1.2!important;
}
.offers-page .season-menu-card > p{
  font-size:1.02rem!important;
  line-height:1.6!important;
}
.offers-page .season-includes span{
  font-size:.86rem!important;
  line-height:1.3!important;
}
.offers-page .commerce-actions > a{
  font-size:.9rem!important;
  font-weight:750!important;
}
.offers-page .seasonal-terms,
.offers-page .voucher-terms p{
  font-size:.92rem!important;
  line-height:1.6!important;
}

@media(max-width:900px){
  .site-header .main-nav a{font-size:.96rem!important;}
  .menu-page .menu-jump-nav a{font-size:.9rem!important;}
  .menu-page .commerce-actions > a,
  .menu-page .commerce-actions > .btn,
  .offers-page .commerce-actions > a{font-size:.84rem!important;}
}

@media(max-width:520px){
  .menu-page .menu-jump-nav a{font-size:.88rem!important;}
  .menu-page .season-menu-card h3,
  .menu-page #motherhood .motherhood-card h3,
  .menu-page #packages .package-menu-content h3,
  .offers-page .season-menu-card h3{font-size:2rem!important;}
  .menu-page .season-menu-card > p,
  .menu-page #motherhood .motherhood-card > p,
  .offers-page .season-menu-card > p{font-size:.96rem!important;}
  .menu-page .commerce-actions > a,
  .menu-page .commerce-actions > .btn,
  .offers-page .commerce-actions > a{font-size:.8rem!important;}
}

/* v20 — authoritative Offers page card/action layout fix */
.offers-page .season-menu-grid{
  align-items:stretch!important;
}
.offers-page .season-menu-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
.offers-page .season-menu-card h3,
.offers-page .season-menu-card .season-menu-price,
.offers-page .season-menu-card > p,
.offers-page .season-menu-card .season-includes{
  flex:0 0 auto!important;
}
.offers-page .season-includes{
  margin-bottom:0!important;
}
.offers-page .season-menu-card > .commerce-actions,
.offers-page .season-menu-card > .commerce-actions--feature{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:48px!important;
  gap:10px!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  flex:0 0 auto!important;
  flex-basis:auto!important;
  margin-top:auto!important;
  padding:20px 0 0!important;
  align-items:stretch!important;
  align-content:end!important;
  justify-content:stretch!important;
}
.offers-page .season-menu-card > .commerce-actions > a,
.offers-page .season-menu-card > .commerce-actions--feature > a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  flex:none!important;
  margin:0!important;
  padding:9px 10px!important;
  align-self:stretch!important;
  text-align:center!important;
  white-space:normal!important;
  line-height:1.15!important;
  font-size:.9rem!important;
  font-weight:750!important;
  border-radius:7px!important;
}
@media(max-width:900px){
  .offers-page .season-menu-card > .commerce-actions,
  .offers-page .season-menu-card > .commerce-actions--feature{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:48px!important;
  }
  .offers-page .season-menu-card > .commerce-actions > a,
  .offers-page .season-menu-card > .commerce-actions--feature > a{
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    font-size:.86rem!important;
  }
}
@media(max-width:520px){
  .offers-page .season-menu-card > .commerce-actions,
  .offers-page .season-menu-card > .commerce-actions--feature{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:46px!important;
    gap:8px!important;
    padding-top:18px!important;
  }
  .offers-page .season-menu-card > .commerce-actions > a,
  .offers-page .season-menu-card > .commerce-actions--feature > a{
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    padding:8px 6px!important;
    font-size:.78rem!important;
  }
}
@media(max-width:340px){
  .offers-page .season-menu-card > .commerce-actions,
  .offers-page .season-menu-card > .commerce-actions--feature{
    grid-template-columns:1fr!important;
    grid-auto-rows:46px!important;
  }
}


/* v21 dining inclusions note */
.dining-included-note{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:4px 0 18px;
  padding:15px 16px;
  border:1px solid rgba(184,137,64,.28);
  border-left:4px solid var(--gold);
  border-radius:12px;
  background:#fbf7f0;
  color:var(--green);
  line-height:1.45;
}
.dining-included-note strong{
  font-family:"Cormorant Garamond",serif;
  font-size:1.18rem;
  font-weight:700;
  color:var(--green);
}
.dining-included-note span{
  font-size:.95rem;
  font-weight:600;
  color:#59635e;
}
@media(max-width:620px){
  .dining-included-note{padding:14px 14px;margin-bottom:16px}
  .dining-included-note strong{font-size:1.1rem}
  .dining-included-note span{font-size:.9rem}
}


/* v22 Special Offers page premium redesign */
.offers-page{background:#f8f5ef;}
.offers-page .commerce-hero{min-height:58vh;}
.offers-page .commerce-hero-copy{max-width:760px;}
.offers-page .commerce-hero-copy>p:not(.eyebrow){font-size:1.08rem;line-height:1.7;max-width:650px;}
.offers-page .commerce-hero-pills{gap:10px;margin-top:24px;}
.offers-page .commerce-hero-pills span{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(7px);}

.offers-page .offers-index{max-width:1240px;margin:34px auto 10px;padding:0 5vw;gap:10px;}
.offers-page .offers-index a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 16px;border-radius:999px;background:#eef3ef;border:1px solid rgba(30,56,43,.14);box-shadow:none;color:var(--green);font-size:.9rem;font-weight:700;transition:.2s ease;}
.offers-page .offers-index a:hover{background:var(--green);color:#fff;transform:translateY(-1px);}

.offers-page .seasonal-menu{background:transparent;padding-top:72px;}
.offers-page .section-heading{max-width:850px;margin:0 auto 26px;text-align:center;}
.offers-page .section-heading h2{font-size:clamp(3.2rem,5.5vw,5.4rem);line-height:.95;margin-bottom:18px;}
.offers-page .section-heading>p:not(.eyebrow){font-size:1.08rem;line-height:1.7;color:#646c68;}

.offers-important-note{max-width:980px;margin:0 auto 46px;display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:start;padding:22px 24px;border-radius:18px;background:linear-gradient(135deg,#1e382b,#294b39);box-shadow:0 16px 36px rgba(30,56,43,.18);color:#fff;}
.offers-important-note-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gold);font-family:"Cormorant Garamond",serif;font-size:1.8rem;font-weight:600;color:#fff;}
.offers-important-note span{display:block;color:#e4c88f;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;margin-bottom:5px;}
.offers-important-note strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.7rem;line-height:1.15;font-weight:600;margin-bottom:5px;}
.offers-important-note p{margin:0;color:#dfe8e3;font-size:.9rem;line-height:1.55;}

.offers-page .seasonal-menu-block{position:relative;max-width:1320px;margin-left:auto;margin-right:auto;padding:34px;border-radius:28px;background:#fff;box-shadow:0 18px 55px rgba(43,37,27,.07);border:1px solid rgba(184,137,64,.13);}
.offers-page .seasonal-menu-block + .seasonal-menu-block{margin-top:56px;}
.offers-page .seasonal-menu-banner{margin-bottom:30px;border-radius:20px;box-shadow:none;border:1px solid rgba(255,255,255,.06);}
.offers-page .seasonal-menu-banner img{aspect-ratio:16/8.5!important;}
.offers-page .seasonal-menu-banner>div{padding:38px 42px;}
.offers-page .seasonal-menu-banner h3{font-size:clamp(2.7rem,4vw,4rem);}
.offers-page .seasonal-menu-banner p:last-child{font-size:.98rem;line-height:1.65;}

.offers-page .season-menu-grid{gap:20px;align-items:stretch;}
.offers-page .season-menu-card{position:relative;overflow:hidden;padding:28px 28px 26px;border-radius:18px;border:1px solid #e8dfd2;border-top:none;background:linear-gradient(180deg,#fff 0%,#fffdfa 100%);box-shadow:0 12px 32px rgba(43,37,27,.07);}
.offers-page .season-menu-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--gold),#d6b675);}
.offers-page .season-menu-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(43,37,27,.11);transition:.2s ease;}
.offers-page .season-number{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#f1e8d9;color:var(--gold);font-size:.78rem;font-weight:800;letter-spacing:.08em;margin-bottom:10px;}
.offers-page .season-menu-card h3{font-size:clamp(2rem,2.7vw,2.65rem)!important;line-height:1.02;margin:5px 0 10px;color:var(--green);min-height:0!important;}
.offers-page .season-menu-price{display:inline-flex;align-items:center;align-self:flex-start;padding:7px 12px;border-radius:999px;background:#f6efe3;color:#a77125;font-size:1.55rem!important;line-height:1;margin-bottom:16px;}
.offers-page .season-menu-card>p{font-size:1rem!important;line-height:1.65;color:#606963;margin:0 0 6px;}
.offers-page .season-includes{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important;margin:18px 0 2px!important;}
.offers-page .season-includes span{display:flex;align-items:center;justify-content:center;min-height:46px;padding:9px 12px;border-radius:11px;background:#eef2ee;border:1px solid #dce4dd;color:var(--green);font-size:.86rem!important;line-height:1.25;font-weight:700;text-align:center;}

.offers-page #autumn-escapes .season-menu-card{padding:32px;background:linear-gradient(180deg,#fffefa,#fff 100%);}
.offers-page #autumn-escapes .season-menu-card::before{height:5px;}
.offers-page #autumn-escapes .season-menu-card h3{font-size:clamp(2.4rem,3.4vw,3.4rem)!important;}
.offers-page #autumn-escapes .season-menu-price{font-size:1.75rem!important;}
.offers-page #autumn-escapes .season-includes{grid-template-columns:repeat(2,minmax(0,1fr));}

.offers-page .dining-included-note{margin:18px 0 2px!important;padding:17px 18px!important;border-radius:13px!important;background:linear-gradient(135deg,#f5ead8,#fbf7f0)!important;border:1px solid #e5cfaa!important;border-left:4px solid var(--gold)!important;box-shadow:none!important;}
.offers-page .dining-included-note strong{font-size:1.16rem!important;color:var(--green)!important;margin-bottom:5px!important;}
.offers-page .dining-included-note span{font-size:.94rem!important;line-height:1.5!important;color:#5e655f!important;}

.offers-page .season-menu-card>.commerce-actions,
.offers-page .season-menu-card>.commerce-actions--feature{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important;margin-top:auto!important;padding-top:22px!important;align-items:stretch!important;flex:0 0 auto!important;min-height:0!important;height:auto!important;}
.offers-page .season-menu-card>.commerce-actions>a,
.offers-page .season-menu-card>.commerce-actions--feature>a{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:48px!important;min-height:48px!important;max-height:48px!important;padding:10px 10px!important;border-radius:8px!important;font-size:.88rem!important;font-weight:700!important;line-height:1.15!important;text-align:center!important;white-space:normal!important;flex:none!important;}

.offers-page .seasonal-terms{max-width:980px;margin:38px auto 0;padding:18px 20px;border-radius:14px;background:#f0ece4;color:#676e69;font-size:.9rem;line-height:1.6;border-left:4px solid var(--gold);}
.offers-page .voucher-terms{margin-top:22px;margin-bottom:90px;padding:28px 34px;background:#fff;border:1px solid #e5dac8;border-left:4px solid var(--gold);box-shadow:0 12px 32px rgba(43,37,27,.06);}
.offers-page .voucher-terms h3{font-size:2.25rem;}
.offers-page .voucher-terms p{font-size:.95rem;line-height:1.65;}

@media(max-width:1050px){
  .offers-page .seasonal-menu-block{padding:26px;}
  .offers-page .season-menu-grid--three{grid-template-columns:repeat(2,minmax(0,1fr));}
  .offers-page .seasonal-menu-banner>div{padding:30px 30px;}
}
@media(max-width:760px){
  .offers-page .commerce-hero{min-height:52vh;}
  .offers-page .seasonal-menu{padding-top:54px;padding-left:18px;padding-right:18px;}
  .offers-page .seasonal-menu-block{padding:18px;border-radius:20px;}
  .offers-page .seasonal-menu-block + .seasonal-menu-block{margin-top:34px;}
  .offers-important-note{grid-template-columns:44px 1fr;padding:18px 17px;gap:12px;border-radius:15px;margin-bottom:32px;}
  .offers-important-note-icon{width:42px;height:42px;font-size:1.45rem;}
  .offers-important-note strong{font-size:1.38rem;}
  .offers-page .seasonal-menu-banner>div{padding:25px 22px;}
  .offers-page .season-menu-grid--three,.offers-page .season-menu-grid--two{grid-template-columns:1fr;}
  .offers-page .season-menu-card,.offers-page #autumn-escapes .season-menu-card{padding:24px 21px;}
  .offers-page .season-menu-card h3,.offers-page #autumn-escapes .season-menu-card h3{font-size:2.15rem!important;}
  .offers-page .season-menu-price,.offers-page #autumn-escapes .season-menu-price{font-size:1.55rem!important;}
  .offers-page .season-includes,.offers-page #autumn-escapes .season-includes{grid-template-columns:1fr!important;}
  .offers-page .season-menu-card>.commerce-actions,
  .offers-page .season-menu-card>.commerce-actions--feature{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding-top:18px!important;}
  .offers-page .season-menu-card>.commerce-actions>a,
  .offers-page .season-menu-card>.commerce-actions--feature>a{height:46px!important;min-height:46px!important;max-height:46px!important;font-size:.8rem!important;padding:8px 6px!important;}
  .offers-page .voucher-terms{margin-left:18px;margin-right:18px;padding:24px 22px;}
}
@media(max-width:360px){
  .offers-page .season-menu-card>.commerce-actions,
  .offers-page .season-menu-card>.commerce-actions--feature{grid-template-columns:1fr!important;}
  .offers-page .season-menu-card>.commerce-actions>a,
  .offers-page .season-menu-card>.commerce-actions--feature>a{height:auto!important;max-height:none!important;min-height:44px!important;}
}


/* v23 Special Offers refinement: larger typography + bottom pricing notice */
.offers-page .section-heading{max-width:900px;margin-bottom:38px}
.offers-page .section-heading .eyebrow{font-size:.84rem;letter-spacing:.16em}
.offers-page .section-heading h2{font-size:clamp(3.5rem,5.8vw,5.8rem);letter-spacing:-.025em}
.offers-page .section-heading>p:not(.eyebrow){font-size:1.18rem!important;line-height:1.75!important;max-width:760px;margin-inline:auto}

.offers-page .seasonal-menu-block{padding:40px;border-radius:30px}
.offers-page .seasonal-menu-banner{margin-bottom:34px;border-radius:22px;overflow:hidden}
.offers-page .seasonal-menu-banner>div{padding:44px 46px}
.offers-page .seasonal-menu-banner .eyebrow{font-size:.84rem}
.offers-page .seasonal-menu-banner h3{font-size:clamp(3rem,4.4vw,4.35rem)!important;line-height:.95}
.offers-page .seasonal-menu-banner p:last-child{font-size:1.08rem!important;line-height:1.7!important;max-width:760px}

.offers-page .season-menu-grid{gap:24px}
.offers-page .season-menu-card{padding:32px 32px 30px;border-radius:20px}
.offers-page .season-number{width:42px;height:42px;font-size:.84rem}
.offers-page .season-menu-card h3{font-size:clamp(2.2rem,2.95vw,2.9rem)!important;line-height:1.02!important;margin:7px 0 12px!important}
.offers-page .season-menu-price{font-size:1.7rem!important;padding:9px 14px!important;margin-bottom:18px!important}
.offers-page .season-menu-card>p{font-size:1.08rem!important;line-height:1.72!important;color:#555f59!important}
.offers-page .season-includes{gap:10px!important;margin-top:20px!important}
.offers-page .season-includes span{font-size:.94rem!important;line-height:1.3!important;min-height:50px!important;padding:11px 13px!important}

.offers-page #autumn-escapes .season-menu-card{padding:34px}
.offers-page #autumn-escapes .season-menu-card h3{font-size:clamp(2.55rem,3.6vw,3.6rem)!important}
.offers-page #autumn-escapes .season-menu-price{font-size:1.9rem!important}
.offers-page .dining-included-note{padding:19px 20px!important;margin-top:20px!important}
.offers-page .dining-included-note strong{font-size:1.3rem!important}
.offers-page .dining-included-note span{font-size:1rem!important;line-height:1.6!important}

.offers-page .season-menu-card>.commerce-actions>a,
.offers-page .season-menu-card>.commerce-actions--feature>a{font-size:.95rem!important;font-weight:750!important;height:50px!important;min-height:50px!important;max-height:50px!important}

.offers-bottom-info{max-width:1120px;margin:56px auto 0;display:grid;gap:16px}
.offers-bottom-card{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start;padding:26px 28px;border-radius:20px;background:#fff;border:1px solid #e4dacb;box-shadow:0 12px 30px rgba(43,37,27,.06)}
.offers-bottom-card--booking{border-left:5px solid var(--green)}
.offers-bottom-card--pricing{border-left:5px solid var(--gold);background:linear-gradient(135deg,#fffaf1,#fff)}
.offers-bottom-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--green);color:#fff;font-family:"Cormorant Garamond",serif;font-size:1.45rem;font-weight:700}
.offers-bottom-card--pricing .offers-bottom-icon{background:var(--gold)}
.offers-bottom-label{display:block;margin-bottom:5px;color:var(--gold);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em}
.offers-bottom-card h3{font-size:2rem;color:var(--green);margin:0 0 7px;line-height:1.05}
.offers-bottom-card p{font-size:1.02rem;line-height:1.65;color:#606963;margin:0;max-width:900px}

.offers-page .offers-final-cta{max-width:1120px;margin:18px auto 90px;padding:30px 34px;border-radius:20px;background:var(--green);border:none;box-shadow:0 16px 36px rgba(30,56,43,.14);color:#fff}
.offers-page .offers-final-cta h3{color:#fff;font-size:2.35rem;margin-bottom:6px}
.offers-page .offers-final-cta p{color:#dfe7e2;font-size:1rem;line-height:1.6;margin:0}
.offers-page .offers-final-cta .btn{background:var(--gold);border-color:var(--gold);color:#fff;min-height:50px;font-size:.92rem;font-weight:750}
.offers-page .offers-final-cta .btn:hover{background:#a97934;border-color:#a97934}

@media(max-width:1050px){
  .offers-page .seasonal-menu-block{padding:30px}
  .offers-page .seasonal-menu-card{padding:28px}
  .offers-page #autumn-escapes .season-menu-card{padding:30px}
}
@media(max-width:760px){
  .offers-page .section-heading h2{font-size:3.3rem}
  .offers-page .section-heading>p:not(.eyebrow){font-size:1.05rem!important}
  .offers-page .seasonal-menu-block{padding:18px}
  .offers-page .seasonal-menu-banner>div{padding:28px 23px}
  .offers-page .seasonal-menu-banner h3{font-size:2.65rem!important}
  .offers-page .seasonal-menu-banner p:last-child{font-size:1rem!important}
  .offers-page .season-menu-card,.offers-page #autumn-escapes .season-menu-card{padding:25px 22px}
  .offers-page .season-menu-card h3,.offers-page #autumn-escapes .season-menu-card h3{font-size:2.25rem!important}
  .offers-page .season-menu-card>p{font-size:1rem!important;line-height:1.68!important}
  .offers-page .season-includes span{font-size:.91rem!important;min-height:48px!important}
  .offers-page .season-menu-card>.commerce-actions>a,
  .offers-page .season-menu-card>.commerce-actions--feature>a{font-size:.82rem!important;height:46px!important;min-height:46px!important;max-height:46px!important}
  .offers-bottom-info{margin-top:38px}
  .offers-bottom-card{grid-template-columns:48px 1fr;padding:21px 19px;gap:14px;border-radius:16px}
  .offers-bottom-icon{width:44px;height:44px;font-size:1.15rem}
  .offers-bottom-card h3{font-size:1.65rem}
  .offers-bottom-card p{font-size:.96rem}
  .offers-page .offers-final-cta{margin:14px 18px 80px;padding:25px 22px;gap:18px}
  .offers-page .offers-final-cta h3{font-size:1.95rem}
}
@media(max-width:390px){
  .offers-bottom-card{grid-template-columns:1fr}
  .offers-bottom-icon{margin-bottom:2px}
}


/* v24 offers conversion polish + image system */
.offers-page .seasonal-menu-block{
  position:relative;
  overflow:hidden;
}
.offers-page .seasonal-menu-block::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,var(--gold),#d7b773,var(--gold));
  opacity:.9;
}
.offers-page .seasonal-menu-banner{
  display:grid!important;
  grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr)!important;
  align-items:stretch!important;
  min-height:330px!important;
}
.offers-page .seasonal-menu-banner>img{
  width:100%!important;
  height:100%!important;
  min-height:330px!important;
  object-fit:cover!important;
  object-position:center 48%!important;
  aspect-ratio:auto!important;
}
.offers-page .seasonal-menu-banner--autumn>img{object-position:center 54%!important}
.offers-page .seasonal-menu-banner>div{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
}

.offers-page .season-menu-card{
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(184,137,64,.22)!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(34,30,23,.10)!important;
}
.offers-page .season-menu-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 24px 54px rgba(34,30,23,.15)!important;
}
.offers-page .offer-card-media{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  min-height:210px;
  overflow:hidden;
  margin:0 0 0!important;
  background:#e9e4dc;
}
.offers-page .offer-card-media::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:42%;
  background:linear-gradient(180deg,transparent,rgba(22,40,31,.20));
  pointer-events:none;
}
.offers-page .offer-card-media img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  transition:transform .45s ease;
}
.offers-page .season-menu-card:hover .offer-card-media img{transform:scale(1.025)}
.offers-page .offer-card-media--besties img{object-position:center 56%!important}
.offers-page .offer-card-media--massage img{object-position:center 46%!important}
.offers-page .offer-card-media--headspa img{object-position:center 50%!important}
.offers-page .offer-card-media--lunch img{object-position:center 52%!important}
.offers-page .offer-card-media--dinner img{object-position:center 58%!important}

/* content spacing after image */
.offers-page .season-menu-card>.season-number{margin:26px 30px 0!important}
.offers-page .season-menu-card>h3,
.offers-page .season-menu-card>.season-menu-price,
.offers-page .season-menu-card>p,
.offers-page .season-menu-card>.season-includes,
.offers-page .season-menu-card>.dining-included-note{margin-left:30px!important;margin-right:30px!important}
.offers-page .season-menu-card>h3{margin-top:11px!important}
.offers-page .season-menu-card>.season-menu-price{align-self:flex-start!important}
.offers-page .season-menu-card>.season-includes{margin-bottom:8px!important}
.offers-page .season-menu-card>.commerce-actions,
.offers-page .season-menu-card>.commerce-actions--feature{
  margin-left:30px!important;
  margin-right:30px!important;
  width:calc(100% - 60px)!important;
  padding:22px 0 30px!important;
}

/* stronger conversion hierarchy */
.offers-page .season-menu-price{
  background:linear-gradient(135deg,#fff9ec,#f7ead0)!important;
  border:1px solid rgba(184,137,64,.30)!important;
  box-shadow:0 5px 14px rgba(184,137,64,.08)!important;
}
.offers-page .season-menu-card>.commerce-actions>a[href*="gift-voucher"]{
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(184,137,64,.18)!important;
}
.offers-page .season-menu-card>.commerce-actions>a[href*="gift-voucher"]:hover{
  background:#a87834!important;
  border-color:#a87834!important;
}
.offers-page .season-menu-card>.commerce-actions>a[href*="contact.html"]{
  border-width:1.5px!important;
}
.offers-page .dining-included-note{
  background:linear-gradient(135deg,#f7f1e7,#fffaf1)!important;
  border:1px solid rgba(184,137,64,.28)!important;
  border-left:4px solid var(--gold)!important;
  border-radius:13px!important;
}

@media(max-width:1000px){
  .offers-page .seasonal-menu-banner{grid-template-columns:1fr!important;min-height:0!important}
  .offers-page .seasonal-menu-banner>img{height:300px!important;min-height:300px!important}
  .offers-page .offer-card-media{min-height:200px}
}
@media(max-width:700px){
  .offers-page .seasonal-menu-banner>img{height:240px!important;min-height:240px!important}
  .offers-page .seasonal-menu-banner>div{padding:26px 22px!important}
  .offers-page .offer-card-media{aspect-ratio:16/10;min-height:190px}
  .offers-page .season-menu-card>.season-number{margin:22px 22px 0!important}
  .offers-page .season-menu-card>h3,
  .offers-page .season-menu-card>.season-menu-price,
  .offers-page .season-menu-card>p,
  .offers-page .season-menu-card>.season-includes,
  .offers-page .season-menu-card>.dining-included-note{margin-left:22px!important;margin-right:22px!important}
  .offers-page .season-menu-card>.commerce-actions,
  .offers-page .season-menu-card>.commerce-actions--feature{margin-left:22px!important;margin-right:22px!important;width:calc(100% - 44px)!important;padding-bottom:24px!important}
}
@media(max-width:420px){
  .offers-page .seasonal-menu-banner>img{height:215px!important;min-height:215px!important}
  .offers-page .offer-card-media{min-height:180px}
}


/* v25 offers page authoritative text-flow reset — prevents all overlap */
.offers-page .season-menu-card,
.offers-page #autumn-escapes .season-menu-card{
  display:flex!important;
  flex-direction:column!important;
  height:auto!important;
  min-height:100%!important;
  overflow:hidden!important;
  contain:layout paint;
}

.offers-page .season-menu-card > .offer-card-media{
  flex:0 0 auto!important;
  position:relative!important;
  inset:auto!important;
}

.offers-page .season-menu-card > .season-number,
.offers-page .season-menu-card > h3,
.offers-page .season-menu-card > .season-menu-price,
.offers-page .season-menu-card > p,
.offers-page .season-menu-card > .season-includes,
.offers-page .season-menu-card > .dining-included-note,
.offers-page .season-menu-card > .commerce-actions{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  float:none!important;
  clear:both!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

.offers-page .season-menu-card > .season-number{
  flex:0 0 auto!important;
  align-self:flex-start!important;
  margin:26px 30px 0!important;
}

.offers-page .season-menu-card > h3,
.offers-page #autumn-escapes .season-menu-card > h3{
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:12px 30px 12px!important;
  padding:0!important;
  line-height:1.12!important;
  overflow:visible!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

.offers-page .season-menu-card > .season-menu-price,
.offers-page #autumn-escapes .season-menu-card > .season-menu-price{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-self:flex-start!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 30px 18px!important;
  padding:10px 15px!important;
  line-height:1.15!important;
  white-space:normal!important;
  overflow:visible!important;
}

.offers-page .season-menu-card > p{
  display:block!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-height:0!important;
  margin:0 30px 8px!important;
  padding:0!important;
  line-height:1.72!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
}

.offers-page .season-menu-card > .season-includes,
.offers-page #autumn-escapes .season-menu-card > .season-includes{
  flex:0 0 auto!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:18px 30px 8px!important;
  padding:0!important;
  align-content:start!important;
  overflow:visible!important;
}

.offers-page .season-menu-card > .season-includes span{
  position:static!important;
  height:auto!important;
  min-height:50px!important;
  max-height:none!important;
  line-height:1.35!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
}

.offers-page .season-menu-card > .dining-included-note{
  display:block!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:18px 30px 8px!important;
  padding:19px 20px!important;
  overflow:visible!important;
}
.offers-page .dining-included-note strong,
.offers-page .dining-included-note span{
  display:block!important;
  position:static!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
}
.offers-page .dining-included-note strong{line-height:1.2!important;margin:0 0 6px!important}
.offers-page .dining-included-note span{line-height:1.55!important;margin:0!important}

.offers-page .season-menu-card > .commerce-actions,
.offers-page .season-menu-card > .commerce-actions--feature{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  flex:0 0 auto!important;
  align-self:stretch!important;
  width:calc(100% - 60px)!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:auto 30px 0!important;
  padding:22px 0 30px!important;
  gap:10px!important;
  overflow:visible!important;
}
.offers-page .season-menu-card > .commerce-actions > a,
.offers-page .season-menu-card > .commerce-actions--feature > a{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  height:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  margin:0!important;
  padding:9px 10px!important;
  line-height:1.18!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-align:center!important;
}

@media(max-width:760px){
  .offers-page .season-menu-card > .season-number{margin:22px 22px 0!important}
  .offers-page .season-menu-card > h3,
  .offers-page #autumn-escapes .season-menu-card > h3{margin:11px 22px 12px!important;line-height:1.13!important}
  .offers-page .season-menu-card > .season-menu-price,
  .offers-page #autumn-escapes .season-menu-card > .season-menu-price{margin:0 22px 16px!important;padding:9px 13px!important}
  .offers-page .season-menu-card > p{margin:0 22px 8px!important}
  .offers-page .season-menu-card > .season-includes,
  .offers-page #autumn-escapes .season-menu-card > .season-includes{margin:16px 22px 7px!important}
  .offers-page .season-menu-card > .dining-included-note{margin:16px 22px 7px!important;padding:17px 18px!important}
  .offers-page .season-menu-card > .commerce-actions,
  .offers-page .season-menu-card > .commerce-actions--feature{width:calc(100% - 44px)!important;margin:auto 22px 0!important;padding:20px 0 24px!important;gap:8px!important}
  .offers-page .season-menu-card > .commerce-actions > a,
  .offers-page .season-menu-card > .commerce-actions--feature > a{height:46px!important;min-height:46px!important;max-height:46px!important}
}

@media(max-width:360px){
  .offers-page .season-menu-card > .commerce-actions,
  .offers-page .season-menu-card > .commerce-actions--feature{grid-template-columns:1fr!important}
  .offers-page .season-menu-card > .commerce-actions > a,
  .offers-page .season-menu-card > .commerce-actions--feature > a{height:auto!important;min-height:46px!important;max-height:none!important}
}


/* =========================================================
   v27 OFFERS PAGE – BACK TO SCHOOL CARDS PADDING FIX
   ========================================================= */

.offers-page #back-to-school .season-menu-grid--three{
  align-items: stretch !important;
}

.offers-page #back-to-school .season-menu-card{
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.offers-page #back-to-school .season-menu-card > .offer-card-media{
  margin: 0 !important;
  width: 100% !important;
  flex: 0 0 auto !important;
}

.offers-page #back-to-school .season-menu-card > .season-number{
  margin: 28px 32px 0 !important;
  align-self: flex-start !important;
}

.offers-page #back-to-school .season-menu-card > h3{
  margin: 14px 32px 14px !important;
  line-height: 1.08 !important;
  min-height: 0 !important;
}

.offers-page #back-to-school .season-menu-card > .season-menu-price{
  margin: 0 32px 18px !important;
  align-self: flex-start !important;
}

.offers-page #back-to-school .season-menu-card > p{
  margin: 0 32px 16px !important;
  line-height: 1.65 !important;
  min-height: 0 !important;
}

.offers-page #back-to-school .season-menu-card > .season-includes{
  margin: 14px 32px 0 !important;
  gap: 10px !important;
  min-height: 0 !important;
}

.offers-page #back-to-school .season-menu-card > .season-includes span{
  min-height: 54px !important;
  padding: 10px 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.3 !important;
}

.offers-page #back-to-school .season-menu-card > .commerce-actions{
  margin: 22px 32px 32px !important;
  width: calc(100% - 64px) !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.offers-page #back-to-school .season-menu-card > .commerce-actions > a{
  width: 100% !important;
  min-width: 0 !important;
  min-height: 50px !important;
  height: auto !important;
  max-height: none !important;
  padding: 11px 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

@media (max-width: 900px){
  .offers-page #back-to-school .season-menu-card > .season-number{
    margin: 24px 24px 0 !important;
  }

  .offers-page #back-to-school .season-menu-card > h3,
  .offers-page #back-to-school .season-menu-card > .season-menu-price,
  .offers-page #back-to-school .season-menu-card > p,
  .offers-page #back-to-school .season-menu-card > .season-includes{
    margin-left: 24px !important;
    margin-right: 24px !important;
  }

  .offers-page #back-to-school .season-menu-card > .commerce-actions{
    margin: 20px 24px 24px !important;
    width: calc(100% - 48px) !important;
  }
}

@media (max-width: 560px){
  .offers-page #back-to-school .season-menu-card > .commerce-actions{
    grid-template-columns: 1fr !important;
  }

  .offers-page #back-to-school .season-menu-card > .commerce-actions > a{
    min-height: 46px !important;
  }
}
