/* LUSH CELEBRATIONS | ALL PAGES | unified stylesheet v5.0
   Source: the four CSS files supplied Oct 20, 2026.
   Does not target the company Portfolio app internals.
   Includes the original PDF styling, hover animations and content-size changes.
   IMPORTANT: load this in lieu of all previous Lush stylesheets.
*/


/* ========== 01 - Global Lush base + homepage + navigation hover : lush(1).css ========== */
/* ========================================================================
   LUSH CELEBRATIONS — HOMEPAGE 1/9 — BASED ON WEBSITE BLUEPRINT PDF PAGE 2
   Exclusive styles for pages containing #lush-site (BigCommerce Page Builder)
   The black PDF annotation bar with 'Home 1/9' is intentionally omitted.
   Images were cropped from the supplied PDF as TEMPORARY previews.
   Font families are CLOSE MATCHES pending the actual brand font names.
   ======================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');

/* BigCommerce storefront sections on Lush pages ONLY; do not hide the widget region */
body:has(#lush-site) .top-bar,
body:has(#lush-site) .main-header,
body:has(#lush-site) .sticky-header,
body:has(#lush-site) .store-info-mob,
body:has(#lush-site) #main-content,
body:has(#lush-site) .site-footer,
body:has(#lush-site) .OurLocations{
  display: none !important;
}

body:has(#lush-site) [data-content-region="region_above_footer"] {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Guard Page Builder/Stencil region wrappers if they add unwanted default spacing */
body:has(#lush-site) {
  background: #fbeff0;
}

/* All Lush styles are namespaced to avoid changing original theme or portfolio app */
.lush {
  --lush-bg: #fbefef;
  --lush-pink: #f5d8da;
  --lush-black: #110f0e;
  --lush-text: #272322;
  --lush-muted: #6a6260;
  --lush-olive: #626c45;
  --lush-rose: #c52d48;
  --lush-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --lush-sans: 'Inter', Arial, sans-serif;
  --lush-gutter: clamp(22px, 6.55vw, 125px);
  margin: 0;
  padding: 0;
  color: var(--lush-text);
  background: var(--lush-bg);
  font: 400 16px/1.65 var(--lush-sans);
  width: 100%;
  max-width: none;
  -webkit-font-smoothing: antialiased;
}
.lush, .lush *, .lush *::before, .lush *::after { box-sizing: border-box; }
.lush h1, .lush h2, .lush h3, .lush h4, .lush p, .lush figure, .lush blockquote { margin: 0; padding: 0; }
.lush h1, .lush h2, .lush h3, .lush .lush-service-title, .lush blockquote {
  font-family: var(--lush-serif);
  font-weight: 400;
  letter-spacing: -.023em;
}
.lush a { color: inherit; text-decoration: none; }
.lush a:hover { text-decoration: none; }
.lush img { display: block; max-width: 100%; height: auto; }
.lush button, .lush input { font: inherit; }
.lush .lush-container {
  max-width: 1400px;
  width: calc(100% - (var(--lush-gutter) * 2));
  margin-inline: auto;
}
.lush .lush-eyebrow {
  font-family: var(--lush-sans);
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: .275em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--lush-olive);
}
.lush .lush-sr-only {
  border: 0!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;
  height: 1px!important;margin:-1px!important;overflow:hidden!important;
  padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important;
}

/* BUTTONS */
.lush .lush-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 48px;
  min-width: 215px;
  padding: 13px 24px;
  border-radius: 0;
  border: 1px solid transparent;
  font: 500 11px/1.2 var(--lush-sans);
  letter-spacing: .23em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: opacity .2s ease;
  cursor: pointer;
}
.lush .lush-button:hover { opacity: .86; }
.lush .lush-button:focus-visible, .lush a:focus-visible, .lush summary:focus-visible {
  outline: 2px solid var(--lush-rose);outline-offset: 3px;
}
.lush .lush-button-dark { background: var(--lush-black); color: #fff; }
.lush .lush-button-pink { background: #fbefef; color: var(--lush-black); }
.lush .lush-button-outline { border-color: #dfd6d3; background: transparent; color: #fff; }

/* HEADER */
.lush .lush-header { background: var(--lush-bg); position: relative; z-index: 5; }
.lush .lush-header-inner {
  min-height: 84px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.lush .lush-brand { display: block; flex: 0 0 auto; width: 185px; padding: 10px 0; }
.lush .lush-brand img { width: 185px; height: auto; }
.lush .lush-desktop-nav { display: flex; gap: clamp(20px, 2.65vw, 38px); align-items: center; }
.lush .lush-desktop-nav > a:not(.lush-button) {
  font: 600 13px/1.4 var(--lush-sans);
  text-transform: uppercase;
  letter-spacing: .17em;
  white-space: nowrap;
}
.lush .lush-header-cta { min-width: 207px; min-height: 43px; padding: 11px 16px; margin-left: -6px; }
.lush .lush-mobile-nav { display: none; }

/* HERO */
.lush .lush-hero {
  position: relative;
  min-height: clamp(570px, 50vw, 780px);
  display: flex;
  align-items: flex-end;
  background-image: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.53) 58%, rgba(0,0,0,.66) 100%), url('/content/lush/images/hero-photo-TEMPORARY.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 52%;
  color: #fff;
}
.lush .lush-hero-inner { position: relative; z-index: 1; padding-top: 150px; padding-bottom: 45px; }
.lush .lush-hero-location { color: #fff; font-size: 11px; letter-spacing: .27em; margin-bottom: 26px; }
.lush .lush-hero h1 {
  color: #fff;
  max-width: 1190px;
  font-size: clamp(48px, 5.05vw, 78px);
  line-height: 1.02;
  margin-bottom: 12px;
}
.lush .lush-hero-desc {
  font: 400 clamp(14px, 1.25vw, 16px)/1.7 var(--lush-sans);
  margin: 0 0 22px;
  max-width: 740px;
}
.lush .lush-button-row { display: flex; gap: 16px; flex-wrap: wrap; }

/* PROOF STRIP */
.lush .lush-proof { background: var(--lush-pink); }
.lush .lush-proof-items { min-height: 62px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.lush .lush-proof p { font-size: 13px; line-height: 1.35; }
.lush .lush-star { color: var(--lush-rose); font-size: 21px; vertical-align: middle; margin-right: 7px; }

/* WHO WE ARE */
.lush .lush-about-intro { padding: 75px 0 87px; background: var(--lush-bg); }
.lush .lush-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 88px); align-items: start; }
.lush .lush-about-title .lush-eyebrow { margin-bottom: 16px; }
.lush .lush-about-title h2 { font-size: clamp(38px, 3.48vw, 60px); line-height: 1.11; max-width: 600px; }
.lush .lush-about-detail { padding-top: 22px; }
.lush .lush-about-detail p { font-size: 15px; line-height: 1.8; margin-bottom: 16px; }
.lush .lush-about-detail img { width: 100%; aspect-ratio: 535 / 344; object-fit: cover; margin-top: 30px; }

/* THREE SERVICES */
.lush .lush-services { padding: 40px 0 80px; background: var(--lush-pink); }
.lush .lush-section-centered { text-align: center; margin-bottom: 32px; }
.lush .lush-section-centered .lush-eyebrow { margin-bottom: 8px; }
.lush .lush-section-centered h2 { font-size: clamp(34px, 3.15vw, 55px); line-height: 1.2; }
.lush .lush-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 26px; }
.lush .lush-service-card { display: flex; flex-direction: column; background: var(--lush-bg); min-width: 0; }
.lush .lush-service-card > img { width: 100%; aspect-ratio: 340 / 217; object-fit: cover; }
.lush .lush-service-body { display: flex; flex: 1; flex-direction: column; padding: 22px 23px 14px; min-height: 173px; }
.lush .lush-service-title { display: block; font-size: clamp(22px, 2vw, 30px); line-height: 1.2; margin-bottom: 9px; }
.lush .lush-service-copy { display: block; font-size: 12px; line-height: 1.7; color: var(--lush-muted); }
.lush .lush-service-tag { display: block; margin-top: auto; padding-top: 18px; font-size: 11px; font-weight: 600; letter-spacing: .17em; color: var(--lush-olive); text-transform: uppercase; }

/* RECENT WORK + GALLERY (GALLERY widget can be replaced with COMPANY app) */
.lush .lush-portfolio-intro { background: var(--lush-bg); padding: 70px 0 20px; }
.lush .lush-portfolio-intro .lush-eyebrow { margin-bottom: 7px; }
.lush .lush-portfolio-intro h2 { font-size: clamp(34px, 3.15vw, 54px); line-height: 1.22; }
.lush.lush-gallery-preview { background: var(--lush-bg); padding-bottom: 65px; }
.lush .lush-portfolio-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px 19px; }
.lush .lush-portfolio-grid figure { min-width: 0; }
.lush .lush-portfolio-grid img { width: 100%; aspect-ratio: 338/424; object-fit: cover; }
.lush .lush-portfolio-grid figcaption { margin-top: 7px; color: var(--lush-muted); font-size: 10px; line-height: 1.3; letter-spacing: .1em; text-transform: uppercase; }
/* The company portfolio app controls its own HTML. After insertion, inspect app markup
   before styling its grid; do not use selectors that could break its behavior. */

/* TESTIMONIAL */
.lush .lush-testimonial { background: var(--lush-pink); padding: 38px 0 35px; text-align: center; }
.lush .lush-testimonial-stars { color: var(--lush-rose); font-size: 18px; letter-spacing: .16em; margin-bottom: 15px; }
.lush .lush-testimonial blockquote { font-size: clamp(25px, 2.65vw, 43px); line-height: 1.24; max-width: 1120px; margin: 0 auto 15px; }
.lush .lush-testimonial-name { font-size: 12px; line-height: 1.4; }
.lush .lush-testimonial-meta { font-size: 11px; color: var(--lush-muted); margin-top: 3px; }

/* WEDDING FLOWER COST GUIDE */
.lush .lush-guide { background: var(--lush-bg); padding: 75px 0 34px; }
.lush .lush-guide-grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: clamp(45px, 4.4vw, 80px); }
.lush .lush-guide-image { width: 100%; height: auto; aspect-ratio: 397 / 483; object-fit: cover; }
.lush .lush-guide-content .lush-eyebrow { margin-bottom: 9px; }
.lush .lush-guide-content h2 { font-size: clamp(36px, 3.45vw, 56px); line-height: 1.1; margin-bottom: 10px; max-width: 710px; }
.lush .lush-guide-content > p:not(.lush-eyebrow):not(.lush-guide-small) { font-size: 15px; line-height: 1.78; max-width: 680px; }
.lush .lush-guide-form-preview { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 13px; margin-top: 26px; }
.lush .lush-guide-form-preview input { border-radius: 0; border: 1px solid #655e5d; background: transparent; box-shadow:none; width: 100%; min-height: 49px; padding: 0 15px; font-size: 14px; color: var(--lush-text); }
.lush .lush-guide-form-preview input:disabled { opacity: 1; -webkit-text-fill-color: var(--lush-text); }
.lush .lush-guide-form-preview .lush-button { min-width: 216px; min-height: 49px; }
.lush .lush-guide-form-preview .lush-button:disabled { opacity: 1; cursor: not-allowed; }
.lush .lush-guide-small { font-size: 11px; color: var(--lush-muted); margin-top: 11px; }

/* BLACK FINAL CALL-TO-ACTION AND FOOTER */
.lush .lush-footer { color: #fff; background: var(--lush-black); padding: 50px 0 38px; }
.lush .lush-footer-callout { text-align: center; padding-bottom: 69px; }
.lush .lush-footer-callout .lush-eyebrow { color: #b9a077; margin-bottom: 12px; }
.lush .lush-footer-callout h2 { font-size: clamp(34px, 3.5vw, 56px); line-height: 1.12; color: #fff; margin-bottom: 12px; }
.lush .lush-footer-callout > p:not(.lush-eyebrow) { font-size: 13px; line-height: 1.75; color: #e7e0dc; }
.lush .lush-footer-callout .lush-button { margin-top: 16px; }
.lush .lush-footer-bottom { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.lush .lush-footer-bottom p { font-size: 11px!important; line-height: 1.65; color: #ccc2c0; }
.lush .lush-footer-bottom p:first-child { font-size: 13px !important; }
.lush .lush-footer-bottom p:last-child { letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; }

/* RESPONSIVE */
@media (max-width: 1120px) {
  .lush .lush-desktop-nav { gap: 16px; }
  .lush .lush-header-cta { min-width: 168px; }
  .lush .lush-brand { width: 150px; }
  .lush .lush-brand img { width: 150px; }
  .lush .lush-service-body { padding-inline: 17px; }
}
@media (max-width: 930px) {
  .lush .lush-header-inner { min-height: 75px; }
  .lush .lush-desktop-nav { display: none; }
  .lush .lush-mobile-nav { display: block; position: relative; }
  .lush .lush-mobile-nav > summary { display: flex; gap: 13px; align-items: center; cursor: pointer; list-style: none; font:600 12px/1.4 var(--lush-sans); text-transform: uppercase; letter-spacing: .17em; }
  .lush .lush-mobile-nav > summary::-webkit-details-marker { display: none; }
  .lush .lush-mobile-nav > summary span { font-size: 18px; letter-spacing: 0; }
  .lush .lush-mobile-nav nav { position: absolute; z-index: 20; top: calc(100% + 20px); right: -12px; width: min(295px, 87vw); padding: 12px 22px; background: var(--lush-bg); border: 1px solid #e3d1d1; box-shadow: 0 14px 25px rgba(0,0,0,.09); }
  .lush .lush-mobile-nav nav a { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .13em; padding: 12px 0; border-bottom:1px solid #ecdada; }
  .lush .lush-mobile-nav nav a:last-child { border-bottom:0; }
  .lush .lush-hero { min-height: 595px; }
  .lush .lush-about-grid { gap: 35px; }
  .lush .lush-about-title h2 { font-size: clamp(36px,4vw,48px); }
  .lush .lush-proof p { font-size:11px; }
  .lush .lush-guide-form-preview { grid-template-columns: 1fr; }
  .lush .lush-guide-form-preview .lush-button { width:100%; }
}
@media (max-width: 700px) {
  .lush { --lush-gutter: 22px; }
  .lush .lush-hero { min-height: 630px; }
  .lush .lush-hero-inner { padding-top: 100px; padding-bottom: 44px; }
  .lush .lush-hero h1 { font-size: clamp(40px, 9vw, 57px); line-height: 1.1; }
  .lush .lush-hero-location { font-size: 9px; line-height: 1.9; margin-bottom: 20px; }
  .lush .lush-hero-desc { font-size: 14px; }
  .lush .lush-desktop-break { display: none; }
  .lush .lush-button-row { flex-direction: column; align-items: start; }
  .lush .lush-button { min-width: 212px; }
  .lush .lush-proof-items { display:grid; grid-template-columns:1fr; gap: 5px; padding-block: 20px; text-align: center; }
  .lush .lush-about-intro { padding: 55px 0 62px; }
  .lush .lush-about-grid { grid-template-columns: 1fr; gap: 20px; }
  .lush .lush-about-detail { padding-top: 0; }
  .lush .lush-services { padding: 50px 0 58px; }
  .lush .lush-services-grid { grid-template-columns: 1fr; gap: 22px; }
  .lush .lush-service-title { font-size: 29px; }
  .lush .lush-service-body { min-height: 160px; padding: 22px; }
  .lush .lush-portfolio-intro { padding: 56px 0 23px; }
  .lush .lush-portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap: 18px 12px; }
  .lush .lush-portfolio-grid figcaption { font-size: 9px; }
  .lush .lush-testimonial { padding: 50px 0; }
  .lush .lush-testimonial blockquote { font-size: 31px; }
  .lush .lush-guide { padding: 60px 0; }
  .lush .lush-guide-grid { grid-template-columns: 1fr; gap: 32px; }
  .lush .lush-guide-image { max-width: 460px; width: 100%; }
  .lush .lush-guide-form-preview { grid-template-columns: 1fr; }
  .lush .lush-footer-callout { padding-bottom: 54px; }
  .lush .lush-footer-bottom { flex-direction: column; align-items: flex-start; gap: 24px; }
  .lush .lush-footer-bottom p:last-child { white-space: normal; }
}
@media (max-width: 400px) {
  .lush .lush-hero h1 { font-size: 36px; }
  .lush .lush-button-row .lush-button { min-width: min(100%, 240px); width:100%; }
  .lush .lush-portfolio-grid { gap: 14px 10px; }
}


/* ==========================================
   LUSH NAVIGATION - CODROPS EFFECT #08
   Inspired by "Explore More" (link--kale)
========================================== */

.lush .lush-desktop-nav > a:not(.lush-button) {
    position: relative;
    display: inline-block;
}

/* Animated underline */
.lush .lush-desktop-nav > a:not(.lush-button)::before {
    content: "";
    position: absolute;
    left: 0;
    top: calc(100% + 4px);

    width: 100%;
    height: 8px;

    background: currentColor;
    opacity: 0;
    pointer-events: none;
}

/* On hover or keyboard focus */
.lush .lush-desktop-nav > a:not(.lush-button):is(:hover, :focus-visible)::before {
    opacity: 1;
    animation: lushLineUp 0.3s ease forwards;
}

/* Effect #08 animation */
@keyframes lushLineUp {
    0% {
        transform-origin: 50% 100%;
        transform: scale3d(1, 0.045, 1);
    }

    50% {
        transform-origin: 50% 100%;
        transform: scale3d(1, 1, 1);
    }

    51% {
        transform-origin: 50% 0%;
        transform: scale3d(1, 1, 1);
    }

    100% {
        transform-origin: 50% 0%;
        transform: scale3d(1, 0.045, 1);
    }
}

/* Accessibility: reduced motion */
@media (prefers-reduced-motion: reduce) {
    .lush .lush-desktop-nav > a:not(.lush-button):is(:hover, :focus-visible)::before {
        animation: none;
        transform: scaleY(0.125);
    }
}




/* ========== 02 - Motion and button effects : lush-motion.css ========== */
/* =====================================================================
   LUSH CELEBRATIONS | MOTION SYSTEM v2.0
   Replaces older lush-motion.css. LOAD AFTER /content/lush/css/lush.css.
   Keeps the PDF layout, fonts, dimensions and resting button colors.
   Only animates native elements inside .lush, not the Portfolio app.
   ===================================================================== */

/* 1. SCROLL REVEAL — one-time, slower and more graceful. The script only
      adds this class after it has initialized (no blank content if JS fails). */
body:has(#lush-site) .lush .lush-motion-reveal {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition-property: opacity, transform;
  transition-duration: 1100ms, 1100ms;
  transition-timing-function: ease-out, cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--lush-motion-delay, 0ms);
  will-change: opacity, transform;
}
body:has(#lush-site) .lush .lush-motion-reveal.lush-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

/* 2. PAGE-OPEN ANIMATION — header logo, individual navigation links,
      Request a Quote and hero content, arranged in a gentle sequence. */
body:has(#lush-site) .lush .lush-motion-intro {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition-property: opacity, transform;
  transition-duration: 1200ms, 1200ms;
  transition-timing-function: ease-out, cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--lush-motion-delay, 0ms);
  will-change: opacity, transform;
}
body:has(#lush-site) .lush .lush-motion-intro.lush-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

/* 3. SERVICE CARDS — very small image zoom; clip inside original
      340:217 image area. The card's own size and text do not change. */
body:has(#lush-site) .lush .lush-service-card .lush-service-media {
  display: block;
  width: 100%;
  aspect-ratio: 340 / 217;
  overflow: hidden;
}
body:has(#lush-site) .lush .lush-service-card .lush-service-media > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 780ms cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}
body:has(#lush-site) .lush .lush-service-card:is(:hover, :focus-visible) .lush-service-media > img {
  transform: scale(1.055);
}

/* Future services/clickable cards can opt into zoom by wrapping the photo in
   .lush-card-media, without styling the external Portfolio app widget. */
body:has(#lush-site) .lush a.lush-card .lush-card-media,
body:has(#lush-site) .lush a.lush-rental-card .lush-card-media {
  display: block;
  overflow: hidden;
}
body:has(#lush-site) .lush a.lush-card .lush-card-media > img,
body:has(#lush-site) .lush a.lush-rental-card .lush-card-media > img {
  transition: transform 780ms cubic-bezier(.22, 1, .36, 1);
  transform: scale(1);
}
body:has(#lush-site) .lush a:is(.lush-card, .lush-rental-card):is(:hover, :focus-visible) .lush-card-media > img {
  transform: scale(1.055);
}

/* 4. BUTTON HOVER — Codrops #03-inspired diagonal sweep.
   Normal color, font, width, height, border, padding, letter spacing and
   button placement remain exactly as defined in the existing lush.css.
   Hover destination color: #F5D8DA, requested by client. */
body.lush-motion-buttons-ready:has(#lush-site) .lush .lush-button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transition: color 420ms ease, opacity 200ms ease;
}
body.lush-motion-buttons-ready:has(#lush-site) .lush .lush-button::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #F5D8DA;
  transform: translate3d(-115%, 0, 0) skewX(30deg);
  transition: transform 580ms cubic-bezier(.3, 1, .35, 1);
  pointer-events: none;
}
body.lush-motion-buttons-ready:has(#lush-site) .lush .lush-button > .lush-motion-button-label {
  position: relative;
  z-index: 1;
}
body.lush-motion-buttons-ready:has(#lush-site) .lush .lush-button:not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible) {
  color: #110F0E;
  opacity: 1;
}
body.lush-motion-buttons-ready:has(#lush-site) .lush .lush-button:not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible)::before {
  transform: translate3d(0, 0, 0) skewX(0deg);
}

/* Target sections on the future Services page, without affecting size. */
body:has(#lush-site) .lush [id^="lush-service-"] {
  scroll-margin-top: 20px;
}

/* Keyboard and accessibility behavior */
@media (prefers-reduced-motion: reduce) {
  body:has(#lush-site) .lush .lush-motion-reveal,
  body:has(#lush-site) .lush .lush-motion-intro {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto;
  }
  body:has(#lush-site) .lush .lush-service-card .lush-service-media > img,
  body:has(#lush-site) .lush a.lush-card .lush-card-media > img,
  body:has(#lush-site) .lush a.lush-rental-card .lush-card-media > img {
    transition: none;
  }
  body.lush-motion-buttons-ready:has(#lush-site) .lush .lush-button::before {
    transition: none;
  }
}



/* ========== 03 - Six inner-page layouts : lush-inner-pages.css ========== */
/* =====================================================================
 LUSH CELEBRATIONS — INNER PAGES 2/9, 3/9, 4/9, 7/9, 8/9 & 9/9
 PDF website blueprint (black page-number bars are NOT site design).
 Requires existing: lush.css + lush-motion.css + lush-motion.js.
 Scoped ONLY to Lush's own .lush-inner wrapper. Avoids app widget selectors.
 ===================================================================== */

/* Shared inner-page elements — typography/width follows existing homepage */
.lush.lush-inner { background: var(--lush-bg); }
.lush-inner .lush-page-banner { padding: 65px 0 60px; background: var(--lush-pink); }
.lush-inner .lush-page-banner .lush-eyebrow { margin-bottom: 9px; }
.lush-inner .lush-page-banner h1 { font-size: clamp(40px, 4.4vw, 70px); line-height: 1.08; letter-spacing: -.023em; }
.lush-inner .lush-banner-desc { font-size: clamp(14px, 1.2vw, 18px); max-width: 820px; line-height: 1.7; }
.lush-inner .lush-inner-footer .lush-footer-callout { padding-top: 6px; }
.lush-inner .lush-inner-footer .lush-footer-bottom { align-items: end; }
.lush-inner .lush-inner-footer .lush-footer-bottom p { margin: 0; }
.lush-inner .lush-starting-amount .lush-eyebrow { color: var(--lush-olive); }
.lush-inner .lush-square-list { list-style: none; margin: 0; padding: 0; }
.lush-inner .lush-square-list li { position: relative; padding-left: 22px; font-size: 14px; line-height: 1.8; }
.lush-inner .lush-square-list li::before { content: ''; position: absolute; left: 2px; top: .8em; width: 7px; height: 7px; background: #b88c8c; }

/* Jotform areas are placeholders ONLY — no fake forms or scripts. */
.lush-inner .lush-jotform-slot { width: 100%; max-width: 100%; min-width: 0; }
.lush-inner .lush-jotform-placeholder {
  display: flex; align-items: center; justify-content: center;
  width: 100%; padding: 22px; border: 1px dashed #ba9396;
  color: #826365; background: rgba(255,255,255,.30);
  font: 600 12px/1.5 var(--lush-sans); text-align: center; letter-spacing: .13em;
  overflow-wrap: anywhere;
}
.lush-inner .lush-jotform-slot iframe { display: block; max-width: 100%; }

/* =====================================================
   PAGE 2/9 — REQUEST A QUOTE — PDF physical page 3
   ===================================================== */
.lush-page-quote .lush-quote-main { padding: 74px 0 92px; background: var(--lush-bg); }
.lush-page-quote .lush-quote-grid {
  display: grid; grid-template-columns: minmax(0, 2.05fr) minmax(260px, .95fr);
  align-items: start; gap: clamp(50px, 7vw, 120px);
}
.lush-page-quote .lush-quote-left, .lush-page-quote .lush-quote-aside { min-width: 0; }
.lush-page-quote .lush-quote-notice { padding: 18px 24px; background: var(--lush-pink); font-size: 14px; font-weight: 500; line-height: 1.6; }
.lush-page-quote .lush-quote-step { margin: 38px 0 18px; }
.lush-page-quote .lush-quote-note { margin-top: 16px; font-size: 13px; color: var(--lush-muted); }
.lush-page-quote .lush-quote-review { padding: 21px 24px 17px; background: var(--lush-pink); }
.lush-page-quote .lush-quote-review-star { font-size: 26px; color: var(--lush-rose); display:block; line-height: 1; margin-bottom: 8px; }
.lush-page-quote .lush-quote-review blockquote { font-size: clamp(20px, 1.65vw, 28px); line-height: 1.28; }
.lush-page-quote .lush-quote-review p { font-size: 12px; color: var(--lush-muted); margin-top: 13px; }
.lush-page-quote .lush-quote-contact { padding-top: 40px; }
.lush-page-quote .lush-quote-contact h2 { font-size: clamp(22px, 1.8vw, 29px); line-height: 1.26; margin: 12px 0 8px; }
.lush-page-quote .lush-quote-contact > p:not(.lush-eyebrow) { font-size: 14px; color: var(--lush-muted); line-height: 1.7; max-width: 370px; }
.lush-page-quote .lush-quote-contact .lush-call-label { margin-top: 35px; margin-bottom: 7px; }
.lush-page-quote .lush-quote-phone { font: 400 clamp(24px, 2.2vw, 36px)/1.2 var(--lush-serif); }
.lush-page-quote .lush-inner-footer { padding: 36px 0; }

/* =====================================================
   PAGE 3/9 — THE FLOWER GUIDE — PDF physical page 4
   ===================================================== */
.lush-page-flower-guide .lush-flower-intro { background: var(--lush-pink); padding: 66px 0 26px; }
.lush-page-flower-guide .lush-flower-grid { display: grid; grid-template-columns: minmax(0,1.42fr) minmax(0,1fr); gap: clamp(38px, 6vw, 95px); align-items: start; }
.lush-page-flower-guide .lush-flower-left, .lush-page-flower-guide .lush-flower-right { min-width: 0; }
.lush-page-flower-guide .lush-flower-left .lush-eyebrow { margin-bottom: 12px; }
.lush-page-flower-guide .lush-flower-left h1 { font-size: clamp(40px,4vw,67px); line-height: 1.07; }
.lush-page-flower-guide .lush-flower-left > p:not(.lush-eyebrow) { font-size: clamp(14px,1.15vw,17px); line-height: 1.72; max-width: 790px; }
.lush-page-flower-guide .lush-flower-right img { display:block; width:100%; height:100%; aspect-ratio:397/483; object-fit:cover; object-position:center; }
.lush-page-flower-guide .lush-video-placeholder { height: auto; aspect-ratio: 2.95 / 1; margin-top: 27px; padding: 20px; position:relative; background:#110f0e; color: #fff; display:flex; align-items:center; justify-content:center; }
.lush-page-flower-guide .lush-play-icon { font-size: clamp(31px,3vw,48px); color:#fff; line-height: 1; }
.lush-page-flower-guide .lush-video-caption { position:absolute; bottom:20px; left:22px; color:#bb986f; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:600; }
.lush-page-flower-guide .lush-video-admin-note { position:absolute; top:14px; right:14px; color:#e3bdbf; font-size:10px; letter-spacing:.12em; }
.lush-page-flower-guide .lush-real-video,
.lush-page-flower-guide .lush-video-placeholder iframe { display:block; width:100%; aspect-ratio: 2.95/1; border:0; }
.lush-page-flower-guide .lush-flower-form { margin-top: 16px; }
.lush-page-flower-guide .lush-flower-form .lush-guide-small { margin-top: 12px; }
.lush-page-flower-guide .lush-flower-tiers { padding: 65px 0 70px; background:var(--lush-bg); }
.lush-page-flower-guide .lush-flower-tiers h2 { font-size:clamp(34px,3.35vw,55px); margin: 12px 0 27px; line-height:1.15; }
.lush-page-flower-guide .lush-tier-grid { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:22px; }
.lush-page-flower-guide .lush-tier-card { padding: 24px 19px 30px; border:1px solid #e3d0d0; min-width:0; }
.lush-page-flower-guide .lush-tier-card h3 { font-size: clamp(23px,1.7vw,28px); line-height:1.25; }
.lush-page-flower-guide .lush-tier-card .lush-tier-price { color:var(--lush-olive); font:400 clamp(34px,2.6vw,46px)/1.25 var(--lush-serif); margin:9px 0 11px; }
.lush-page-flower-guide .lush-tier-card > p:last-child { font-size:13px; line-height:1.7; color:var(--lush-muted); }

/* =====================================================
   PAGE 4/9 — SERVICES — PDF physical page 5
   3 homepage anchors required. DESCRIPTION MUST STAY INSIDE box.
   ===================================================== */
.lush-page-services .lush-page-banner { padding-bottom: 44px; }
.lush-page-services .lush-service-detail { padding: 70px 0 64px; background:var(--lush-bg); }
.lush-page-services .lush-service-detail-reverse { background:var(--lush-pink); }
.lush-page-services .lush-service-detail-grid { display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1.17fr); gap: clamp(35px,4.5vw,75px); align-items:center; }
.lush-page-services .lush-service-detail-reverse .lush-service-detail-grid { grid-template-columns:minmax(0,1.17fr) minmax(0,1fr); }
.lush-page-services .lush-service-detail-grid > * { min-width:0; }
.lush-page-services .lush-service-detail-image img { width:100%; aspect-ratio: 1.02/1; height:auto; object-fit:cover; }
.lush-page-services .lush-service-detail-content h2 { font-size: clamp(32px,3.1vw,52px); line-height:1.13; }
.lush-page-services .lush-service-number { margin-bottom:6px; }
.lush-page-services .lush-service-description { font-size:14px; line-height:1.68; margin-top:4px; }
.lush-page-services .lush-service-list-label { margin:24px 0 4px; font-size:10px; }
.lush-page-services .lush-square-list li { font-size:13px; line-height:1.6; padding-left:19px; }
.lush-page-services .lush-square-list li::before { width:5px; height:5px; top:.77em; }
/* FIX: all text INSIDE outlined pricing box, never spill beyond right border. */
.lush-page-services .lush-starting-box {
 display:grid; grid-template-columns: minmax(145px,35%) minmax(0,1fr);
 align-items:center; gap: clamp(12px,2vw,28px); width:100%; min-width:0;
 margin-top:24px; border:1px solid #dfcbcb; padding:18px 21px;
 overflow-wrap:anywhere;
}
.lush-page-services .lush-starting-amount { min-width:0; }
.lush-page-services .lush-starting-amount .lush-eyebrow { font-size:9px; margin-bottom:4px; }
.lush-page-services .lush-starting-amount strong { display:block; font:400 clamp(25px,2.15vw,36px)/1.1 var(--lush-serif); letter-spacing:-.022em; white-space:normal; }
.lush-page-services .lush-starting-description { min-width:0; width:auto; max-width:100%; font-size:12px; line-height:1.6; color:var(--lush-muted); overflow-wrap:break-word; }
.lush-page-services [id^="lush-service-"] { scroll-margin-top: 20px; }
.lush-page-services .lush-how-it-works { background:var(--lush-black); color:white; padding:60px 0 20px; }
.lush-page-services .lush-how-it-works .lush-eyebrow { color:#b99b6d; }
.lush-page-services .lush-how-it-works h2 { font-size:clamp(35px,3.1vw,54px); color:white; }
.lush-page-services .lush-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin-top:38px; }
.lush-page-services .lush-process-grid article { border-top:1px solid #5b5754; padding-top:15px; min-width:0; }
.lush-page-services .lush-process-grid span { color:#c5a176; font:400 27px/1.2 var(--lush-serif); }
.lush-page-services .lush-process-grid h3 { color:white; font-size:24px; line-height:1.2; margin:3px 0; }
.lush-page-services .lush-process-grid p { color:#d0c9c6; font-size:12px; line-height:1.5; }
.lush-page-services .lush-how-it-works + .lush-inner-footer { background:var(--lush-black); }
.lush-page-services .lush-inner-footer { padding-top:30px; }

/* =====================================================
   PAGE 7/9 — QUINCEAÑERAS — PDF physical page 8
   ===================================================== */
.lush-page-quinceaneras .lush-quince-hero {
 min-height:clamp(430px,37vw,630px);
 background-image:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.48) 68%,rgba(0,0,0,.68) 100%),url('/content/lush/images/portfolio-bridesmaids.jpg');
 background-position:center 46%;
}
.lush-page-quinceaneras .lush-quince-hero .lush-hero-inner { padding-bottom:60px; }
.lush-page-quinceaneras .lush-quince-hero h1 { font-size:clamp(42px,4.7vw,76px); max-width:1200px; }
.lush-page-quinceaneras .lush-quince-build { background:var(--lush-bg); padding:80px 0 75px; }
.lush-page-quinceaneras .lush-quince-build h2 { font-size:clamp(38px,3.45vw,60px); line-height:1.18; margin:8px 0 2px; }
.lush-page-quinceaneras .lush-quince-build > .lush-container > p:not(.lush-eyebrow) { max-width:850px; font-size:15px; line-height:1.7; }
.lush-page-quinceaneras .lush-quince-build .lush-square-list { margin-top:34px; }
.lush-page-quinceaneras .lush-quince-build .lush-square-list li { font-size:15px; }
.lush-page-quinceaneras .lush-quince-pricing { background:var(--lush-pink); padding:64px 0; }
.lush-page-quinceaneras .lush-quince-pricing-grid { display:grid; grid-template-columns: 1fr 1fr; gap:clamp(75px,12vw,210px); }
.lush-page-quinceaneras .lush-quince-pricing-grid > div { min-width:0; }
.lush-page-quinceaneras .lush-quince-prices { display:flex; gap:clamp(25px,3vw,52px); margin:10px 0 5px; }
.lush-page-quinceaneras .lush-quince-prices strong,
.lush-page-quinceaneras .lush-quince-pricing h2 { font:400 clamp(37px,3vw,52px)/1.12 var(--lush-serif); letter-spacing:-.023em; }
.lush-page-quinceaneras .lush-quince-pricing-grid p:not(.lush-eyebrow) { font-size:14px; line-height:1.74; }
.lush-page-quinceaneras .lush-quince-pricing h2 { margin:11px 0 8px; }
.lush-page-quinceaneras .lush-quince-spanish { background:var(--lush-bg); padding:28px 0; }
.lush-page-quinceaneras .lush-quince-spanish p { font:400 clamp(20px,2vw,30px)/1.3 var(--lush-serif); }
.lush-page-quinceaneras .lush-quince-spanish span { margin:0 12px; color:#b88c8c; }

/* =====================================================
   PAGE 8/9 — ABOUT — PDF physical page 9
   ===================================================== */
.lush-page-about .lush-page-banner { padding-bottom:46px; }
.lush-page-about .lush-about-story { padding:65px 0 68px; background:var(--lush-bg); }
.lush-page-about .lush-about-story-photo { margin-bottom:40px; }
.lush-page-about .lush-about-story-photo img { width:100%; max-height:410px; aspect-ratio: 2.6/1; object-fit:cover; object-position:center 40%; }
.lush-page-about .lush-about-story-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:clamp(50px,7vw,130px); }
.lush-page-about .lush-about-story-grid h2 { font-size:clamp(36px,3.3vw,58px); line-height:1.1; margin-top:8px; max-width:470px; }
.lush-page-about .lush-about-story-copy p { font-size:14px; line-height:1.8; margin-bottom:14px; }
.lush-page-about .lush-about-approach { background:var(--lush-pink); padding:54px 0 62px; }
.lush-page-about .lush-about-approach .lush-section-centered { margin-bottom:25px; }
.lush-page-about .lush-about-values { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; }
.lush-page-about .lush-about-values article { border-top:1px solid #d6babe; padding-top:13px; min-width:0; }
.lush-page-about .lush-about-values h3 { font-size:clamp(19px,1.7vw,26px); line-height:1.2; margin-bottom:9px; }
.lush-page-about .lush-about-values p { font-size:12px; line-height:1.65; }
.lush-page-about .lush-about-studio { background:var(--lush-bg); padding:65px 0 55px; }
.lush-page-about .lush-about-studio h2 { font-size:clamp(38px,3.5vw,60px); line-height:1.15; margin:10px 0 4px; }
.lush-page-about .lush-about-studio-lead { font-size:15px; line-height:1.7; max-width:780px; margin-bottom:32px; }
.lush-page-about .lush-studio-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.lush-page-about .lush-studio-card { min-width:0; }
.lush-page-about .lush-studio-card img { width:100%; aspect-ratio:1/1.12; height:auto; object-fit:cover; }
.lush-page-about .lush-studio-card h3 { font-size:clamp(24px,2vw,32px); line-height:1.2; margin-top:16px; }
.lush-page-about .lush-studio-card p { color:var(--lush-muted); font-size:12px; line-height:1.65; margin-top:2px; }

/* =====================================================
   PAGE 9/9 — FAQ — PDF physical page 10
   PDF SHOWS OPEN QUESTIONS/ANSWERS (NOT ACCORDIONS)
   ===================================================== */
.lush-page-faq .lush-faq-list { background:var(--lush-bg); padding:45px 0 63px; }
.lush-page-faq .lush-faq-item { border-top:1px solid #ddc5c8; padding:27px 0 34px; }
.lush-page-faq .lush-faq-item h2 { font-size:clamp(24px,2.2vw,35px); line-height:1.2; }
.lush-page-faq .lush-faq-item p { font-size:15px; line-height:1.72; color:var(--lush-muted); max-width:1020px; margin-top:8px; }

/* =============== Tablet =============== */
@media (max-width: 1050px) {
 .lush-page-services .lush-starting-box { grid-template-columns:1fr; gap:7px; }
 .lush-page-services .lush-starting-description { font-size:12px; }
 .lush-page-quote .lush-quote-grid { gap:42px; }
 .lush-page-flower-guide .lush-tier-grid { gap:14px; }
 .lush-page-about .lush-about-values { gap:18px; }
}
@media (max-width: 800px) {
 .lush-inner .lush-page-banner { padding:51px 0 46px; }
 .lush-page-quote .lush-quote-grid { grid-template-columns:1fr; gap:40px; }
 .lush-page-quote .lush-quote-main { padding:50px 0 65px; }
 .lush-page-quote .lush-quote-aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px; }
 .lush-page-quote .lush-quote-contact { padding-top:0; }
 .lush-page-flower-guide .lush-flower-grid { grid-template-columns:1fr 0.8fr; gap:28px; }
 .lush-page-flower-guide .lush-tier-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .lush-page-services .lush-service-detail-grid,
 .lush-page-services .lush-service-detail-reverse .lush-service-detail-grid { gap:30px; grid-template-columns:1fr 1fr; }
 .lush-page-services .lush-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .lush-page-about .lush-about-values { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
/* =============== Phone =============== */
@media (max-width: 700px) {
 .lush-inner .lush-page-banner { padding:48px 0 42px; }
 .lush-inner .lush-page-banner h1 { font-size:clamp(36px,8vw,50px); }
 .lush-inner .lush-banner-desc { font-size:14px; }
 .lush-page-quote .lush-quote-aside { display:block; }
 .lush-page-quote .lush-quote-contact { padding-top:30px; }
 .lush-page-flower-guide .lush-flower-grid { grid-template-columns:1fr; }
 .lush-page-flower-guide .lush-flower-right { order:-1; }
 .lush-page-flower-guide .lush-flower-right img { max-height:520px; }
 .lush-page-flower-guide .lush-video-placeholder { aspect-ratio:2/1; }
 .lush-page-flower-guide .lush-flower-intro { padding:45px 0 48px; }
 .lush-page-flower-guide .lush-flower-tiers { padding:50px 0; }
 .lush-page-services .lush-service-detail { padding:54px 0; }
 .lush-page-services .lush-service-detail-grid,
 .lush-page-services .lush-service-detail-reverse .lush-service-detail-grid { display:flex; flex-direction:column; gap:24px; }
 .lush-page-services .lush-service-detail-image,
 .lush-page-services .lush-service-detail-content { width:100%; }
 .lush-page-services .lush-service-detail-reverse .lush-service-detail-image { order:0; }
 .lush-page-services .lush-service-detail-reverse .lush-service-detail-content { order:1; }
 .lush-page-services .lush-service-detail-image img { aspect-ratio:1.1/1; }
 .lush-page-services .lush-starting-box { grid-template-columns:minmax(0,1fr); }
 .lush-page-quinceaneras .lush-quince-hero { min-height:530px; }
 .lush-page-quinceaneras .lush-quince-build { padding:52px 0; }
 .lush-page-quinceaneras .lush-quince-pricing-grid { grid-template-columns:1fr; gap:37px; }
 .lush-page-quinceaneras .lush-quince-pricing { padding:50px 0; }
 .lush-page-quinceaneras .lush-quince-spanish p { font-size:19px; overflow-wrap:anywhere; }
 .lush-page-about .lush-about-story { padding:50px 0; }
 .lush-page-about .lush-about-story-grid { grid-template-columns:1fr; gap:21px; }
 .lush-page-about .lush-studio-grid { grid-template-columns:1fr; gap:27px; }
 .lush-page-about .lush-studio-card img { aspect-ratio:4/3; }
 .lush-page-about .lush-about-approach { padding:50px 0; }
 .lush-page-faq .lush-faq-list { padding:30px 0 55px; }
 .lush-page-faq .lush-faq-item { padding:24px 0 28px; }
}
@media (max-width: 450px) {
 .lush-page-flower-guide .lush-tier-grid { grid-template-columns:1fr; }
 .lush-page-about .lush-about-values { grid-template-columns:1fr; }
 .lush-page-services .lush-process-grid { grid-template-columns:1fr; }
 .lush-page-quinceaneras .lush-quince-prices { gap:26px; }
 .lush-page-quinceaneras .lush-quince-prices strong { font-size:35px; }
}



/* ========== 04 - Rentals and Portfolio layouts : lush-catalog-pages.css ========== */
/* ================================================================
   LUSH CELEBRATIONS | RENTALS 5/9 + PORTFOLIO 6/9
   Follow client's Website Blueprint PDF pages 6 and 7.
   Load AFTER existing lush.css, lush-motion.css, lush-inner-pages.css.
   Does not style or alter the company's third-party Portfolio widget.
   ================================================================ */

/* The Page Builder app sits BETWEEN two independently pasted HTML widgets.
   Match its surrounding background to the PDF's soft blush. */
body:has(#lush-site.lush-catalog-page) [data-content-region="region_above_footer"] {
    background: #fbefef;
}

.lush.lush-catalog-page {
    background: var(--lush-bg);
}

/* Page headers: compact and editorial as shown in the PDF. */
.lush.lush-catalog-page .lush-page-banner {
    background: var(--lush-pink);
    padding: 60px 0 54px;
}
.lush.lush-catalog-page .lush-page-banner .lush-eyebrow {
    margin: 0 0 10px;
}
.lush.lush-catalog-page .lush-page-banner h1 {
    font-size: clamp(40px, 4vw, 64px);
    line-height: 1.06;
    margin: 0 0 6px;
}
.lush.lush-catalog-page .lush-banner-desc {
    max-width: 830px;
    font-size: clamp(14px, 1.13vw, 17px);
    line-height: 1.65;
}

/* Tabs: normal and active appearance faithfully follow PDF.
   CSS sweep on hover matches Codrops #03-inspired Lush buttons;
   no changes to global `.lush-button` dimensions, fonts or sizing. */
.lush.lush-catalog-page .lush-catalog-controls {
    padding: 38px 0 16px;
    background: var(--lush-bg);
}
.lush.lush-catalog-page .lush-catalog-tabs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
}
.lush.lush-catalog-page .lush-catalog-tab {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    max-width: 100%;
    margin: 0;
    padding: 12px 22px;
    border: 1px solid #e1cdcd;
    border-radius: 0;
    background: transparent;
    color: #665e5c;
    font: 600 10px/1.25 var(--lush-sans);
    letter-spacing: .17em;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
    box-shadow: none;
    transition: color 420ms ease, border-color 420ms ease;
}
.lush.lush-catalog-page .lush-catalog-tab.is-active {
    background: #4d6125;
    color: #fff;
    border-color: #4d6125;
}
.lush.lush-catalog-page .lush-catalog-tab > span {
    position: relative;
    z-index: 1;
}
.lush.lush-catalog-page .lush-catalog-tab::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background: #F5D8DA; /* user-requested Lush button hover color */
    transform: translate3d(-115%,0,0) skewX(30deg);
    transition: transform 580ms cubic-bezier(.3,1,.35,1);
    pointer-events: none;
}
.lush.lush-catalog-page .lush-catalog-tab:is(:hover,:focus-visible)::before {
    transform: translate3d(0,0,0) skewX(0deg);
}
.lush.lush-catalog-page .lush-catalog-tab:is(:hover,:focus-visible) {
    color: #110f0e;
    border-color: #caa5a8;
}
.lush.lush-catalog-page .lush-catalog-tab:focus-visible {
    outline: 2px solid var(--lush-rose);
    outline-offset: 3px;
}

/* Rentals-only section following company Portfolio app. */
.lush.lush-page-rentals .lush-rentals-planners {
    background: var(--lush-pink);
    padding: 72px 0 76px;
}
.lush.lush-page-rentals .lush-rentals-planners .lush-eyebrow {
    margin-bottom: 11px;
}
.lush.lush-page-rentals .lush-rentals-planners h2 {
    font-size: clamp(35px, 3.5vw, 57px);
    line-height: 1.12;
    margin: 0 0 8px;
}
.lush.lush-page-rentals .lush-rentals-planners p:not(.lush-eyebrow) {
    max-width: 1030px;
    font-size: 15px;
    line-height: 1.7;
}

/* Black CTA footer is reused from the other inner pages. */
.lush.lush-catalog-page .lush-inner-footer {
    padding-top: 48px;
    padding-bottom: 36px;
}

@media (max-width: 700px) {
    .lush.lush-catalog-page .lush-page-banner {
        padding: 48px 0 44px;
    }
    .lush.lush-catalog-page .lush-catalog-controls {
        padding: 26px 0 14px;
    }
    .lush.lush-catalog-page .lush-catalog-tabs {
        gap: 8px;
    }
    .lush.lush-catalog-page .lush-catalog-tab {
        min-height: 40px;
        padding: 10px 13px;
        font-size: 9px;
        letter-spacing: .115em;
    }
    .lush.lush-page-rentals .lush-rentals-planners {
        padding: 47px 0 53px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lush.lush-catalog-page .lush-catalog-tab,
    .lush.lush-catalog-page .lush-catalog-tab::before {
        transition: none !important;
    }
}


/* =====================================================================
   05 — LUSH READING-SIZE STANDARD | USER REQUEST: MINIMUM 18PX
   Applies only to .lush elements, not the embedded third-party app or Jotform iframe.
   Small UI controls (site nav, buttons' internal text, mobile menu controls)
   retain approved dimensions, per earlier instructions.
   This increases text size versus the client's PDF by request.
   ===================================================================== */
.lush {
  font-size: 16px;
  line-height: 1.65;
}
.lush p,
.lush li,
.lush figcaption,
.lush dt,
.lush dd,
.lush small,
.lush .lush-eyebrow,
.lush .lush-service-copy,
.lush .lush-service-tag,
.lush .lush-starting-description,
.lush .lush-jotform-placeholder,
.lush .lush-video-caption,
.lush .lush-video-admin-note,
.lush .lush-catalog-tab,
.lush .lush-banner-desc,
.lush .lush-studio-card p,
.lush .lush-square-list li,
.lush .lush-faq-answer,
.lush .lush-faq-list p {
  font-size: 16px !important;
  line-height: 1.6;
}
/* Non-paragraph reader text that had been set smaller */
.lush .lush-testimonial-meta,
.lush .lush-testimonial-name,
.lush .lush-hero-location,
.lush .lush-service-description,
.lush .lush-about-studio-lead,
.lush .lush-tier-card > p:last-child,
.lush .lush-catalog-controls + .lush-catalog-app-placeholder {
  font-size: 16px !important;
}
/* Avoid awkward columns and oversized labels with the larger copy. */
.lush .lush-service-body { min-height: auto; }
.lush .lush-service-tag { line-height: 1.35; }
.lush .lush-starting-box { align-items: start; }
.lush .lush-starting-description { overflow-wrap: anywhere; }
.lush .lush-catalog-tabs { align-items: stretch; }
.lush .lush-catalog-tab { white-space: normal; text-align: center; }
.lush .lush-catalog-tab > span { line-height: 1.3; }
.lush .lush-footer-bottom { align-items: flex-start; }
.lush .lush-hero-desc { max-width: 850px; }
@media(max-width:1050px) {
  .lush .lush-proof-items { flex-wrap: wrap; justify-content: center; text-align: center; }
  .lush .lush-footer-bottom { flex-wrap: wrap; }
  .lush .lush-footer-bottom p:last-child { white-space: normal; }
  .lush .lush-page-services .lush-starting-box,
  .lush-page-services .lush-starting-box { grid-template-columns: 1fr; }
}
@media(max-width:700px) {
  .lush .lush-catalog-tab { min-width: 0; }
  .lush .lush-service-body { min-height: 0; }
  .lush .lush-studio-grid { gap: 24px; }
}
