/*
 * Luxeo 3.7 client-feedback refinement.
 * Compact editorial proportions for MacBook, 16-inch desktop and mobile views.
 */

:root {
  --warm: #f6f3ec;
  --mist: #e9f0eb;
  --gold: #c7a566;
  --radius: 6px;
  --shadow: 0 24px 64px rgba(3, 44, 25, .1);
  --container: 1380px;
}

html { overflow-x: hidden; }
body { overflow-x: clip; background: var(--warm); font-size: 15.5px; line-height: 1.65; }
.container { width: min(calc(100% - clamp(40px, 6vw, 96px)), var(--container)); }

/* Simple editorial labels replace the repeated line-and-uppercase treatment. */
.eyebrow {
  display: block;
  margin-bottom: 18px;
  color: var(--green);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .035em;
  line-height: 1.4;
  text-transform: none;
}
.eyebrow::before { display: none; content: none; }
.eyebrow--light { color: #e2c992; }

.display { font-size: clamp(44px, 4.2vw, 64px); }
.section-title { max-width: 760px; font-size: clamp(32px, 3vw, 46px); line-height: 1.12; }
.section-lead { font-size: clamp(15px, 1.05vw, 17px); line-height: 1.7; }
.page-content h2 { font-size: clamp(28px, 2.6vw, 38px); }
.archive-head h1 { font-size: clamp(38px, 4vw, 56px); }
.single-article__header h1 { font-size: clamp(34px, 3.8vw, 52px); }
.button { min-height: 50px; padding-inline: 24px; font-size: 12px; letter-spacing: .045em; }
.text-link { letter-spacing: .045em; text-transform: none; }

/* Gold is reserved for hero-level brand moments instead of every heading. */
main h2 em { color: inherit !important; font-style: normal; }
.hero h1 em,
.about-hero-premium h1 em,
.innovation-hero-premium h1 em,
.sustainability-hero-premium h1 em,
.fragrance-hero h1 em,
.editorial-hero h1 em { color: #e2c48b !important; font-style: normal; }

/* Header: balanced at common 13-inch, 16-inch and desktop widths. */
.announcement { font-size: 10px; letter-spacing: .055em; }
.announcement__inner { min-height: 30px; }
.site-header__inner { min-height: 72px; gap: 24px; }
.brand-logo { width: 114px; }
.footer-brand .brand-logo { width: 140px; }
.primary-nav { gap: 26px; }
.primary-nav .menu { gap: clamp(16px, 1.65vw, 28px); }
.primary-nav .menu > li,
.primary-nav .menu > li > a { min-height: 72px; }
.primary-nav .menu a { font-size: 12.5px; }
.primary-nav .sub-menu { top: calc(100% - 5px); min-width: 300px; border-top-width: 2px; border-radius: 0 0 5px 5px; }
.primary-nav .sub-menu a { min-height: 48px; border-radius: 2px; }

/* Homepage hero: cinematic full bleed without a floating glass card. */
.hero,
.hero__content { min-height: clamp(540px, calc(100svh - 102px), 700px); }
.hero::before { display: none; }
.hero__media::after {
  background:
    linear-gradient(90deg, rgba(2, 39, 23, .94) 0%, rgba(2, 39, 23, .78) 40%, rgba(2, 39, 23, .28) 72%, rgba(2, 39, 23, .08) 100%),
    linear-gradient(0deg, rgba(2, 30, 18, .34), transparent 54%);
}
.hero__media img { object-position: 64% center; filter: saturate(.84) contrast(1.02); }
.hero__content { padding-block: clamp(54px, 6vw, 82px); }
.hero__panel {
  max-width: 690px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.hero .display,
.hero h1 { max-width: 620px; margin-bottom: 20px; font-size: clamp(44px, 4.2vw, 64px); line-height: 1.04; }
.hero__lead { max-width: 560px; margin-bottom: 24px; font-size: clamp(15px, 1.05vw, 17px); line-height: 1.65; }
.hero__proof { max-width: 620px; margin-top: 28px; padding-top: 15px; }
.hero__index { right: 22px; bottom: 26px; opacity: .8; }

.trust-band__inner > div { padding: 24px clamp(20px, 2.4vw, 34px); }
.trust-band strong { font-size: 16px; }

/* Homepage: varied editorial rhythm rather than repeated card grids. */
.intro { padding: clamp(78px, 7vw, 102px) 0; }
.intro-grid { grid-template-columns: 1.08fr .92fr; gap: clamp(56px, 8vw, 120px); }
.intro__copy { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.intro__copy p { font-size: 16px; line-height: 1.75; }

.solutions { padding: clamp(82px, 7vw, 104px) 0; }
.solutions__head { grid-template-columns: 1fr .78fr; gap: clamp(48px, 8vw, 112px); margin-bottom: 54px; }
.solution-grid { grid-template-columns: repeat(12, 1fr); gap: clamp(14px, 1.5vw, 22px); }
.solution-card:nth-child(1),
.solution-card:nth-child(4) { min-height: 430px; grid-column: span 7; }
.solution-card:nth-child(2),
.solution-card:nth-child(3) { min-height: 370px; grid-column: span 5; }
.solution-card:nth-child(n) { border-radius: 3px; box-shadow: none; }
.solution-card::after { background: linear-gradient(0deg, rgba(1, 29, 17, .94), rgba(1, 29, 17, .45) 42%, transparent 78%); }
.solution-card__body { padding: clamp(26px, 3vw, 40px); }
.solution-card h3 { max-width: 82%; font-size: clamp(25px, 2.3vw, 34px); }
.solution-card p { max-width: 500px; font-size: 14px; }

.proof { padding: clamp(82px, 7vw, 106px) 0; }
.proof__image img { min-height: 500px; border-radius: 2px; box-shadow: none; }
.proof__image::before { border-radius: 0; }
.proof-item { min-height: 136px; }

.innovation { padding: clamp(82px, 7vw, 106px) 0; }
.innovation::before { display: none; }
.innovation__media img { border-radius: 2px; box-shadow: none; }
.innovation__note { left: -30px; border-radius: 2px; }
.innovation-points { gap: 0 24px; }
.innovation-points div { min-height: auto; padding: 18px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.14); border-radius: 0; background: transparent; }

.process { padding: clamp(82px, 7vw, 104px) 0; }
.process__head { grid-template-columns: 1fr .78fr; gap: clamp(48px, 8vw, 112px); }
.process-grid { gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.process-step {
  min-height: 250px;
  padding: 30px clamp(22px, 2.4vw, 34px);
  border: 0 !important;
  border-right: 1px solid var(--line) !important;
  border-radius: 0;
  background: transparent;
}
.process-step:last-child { border-right: 0 !important; }
.process-step:hover { background: rgba(255,255,255,.5); box-shadow: none; transform: none; }
.process-step__number { margin-bottom: 44px; }

.location-card,
.post-card { border-radius: 2px; box-shadow: none; }
.location-card { min-height: 380px; }
.post-card { border-top: 2px solid var(--green); }
.post-card:hover { box-shadow: none; transform: translateY(-3px); }
.post-card__body { padding-inline: 0; }
.post-card__image { aspect-ratio: 1.45; }

.cta { padding: clamp(82px, 7vw, 104px) 0; text-align: left; }
.cta::before, .cta::after { display: none; }
.cta__inner { max-width: var(--container); }
.cta h2 { max-width: 780px; font-size: clamp(38px, 3.8vw, 56px); }
.cta p { max-width: 620px; margin: 0 0 30px; }

/* Consistent, restrained inner-page heroes. */
.page-hero h1,
.editorial-hero h1,
.about-hero-premium h1,
.innovation-hero-premium h1,
.sustainability-hero-premium h1,
.fragrance-hero h1 { font-size: clamp(42px, 4.4vw, 64px); line-height: 1.04; }
.page-hero,
.page-hero__content { min-height: 540px; }
.editorial-hero,
.editorial-hero__content { min-height: 540px; }
.about-hero-premium,
.about-hero-premium__content,
.innovation-hero-premium,
.innovation-hero-premium__content,
.sustainability-hero-premium,
.sustainability-hero-premium__content { min-height: 600px; }

.solution-hero { min-height: 540px; grid-template-columns: 1fr 1fr; }
.solution-hero__copy { padding-top: 62px; padding-bottom: 62px; }
.solution-hero h1 { max-width: 660px; font-size: clamp(40px, 4.2vw, 58px); line-height: 1.07; text-wrap: balance; }
.solution-hero p { font-size: 16px; }
.solution-hero__media { min-height: 540px; }
.solution-hero__media img { height: 100%; min-height: 540px; object-position: center; }

/* Crisp surfaces across the custom inner templates. */
.application-card,
.team-card,
.infra-capabilities article,
.about-principle,
.innovation-perfumer,
.innovation-capabilities__grid article,
.innovation-method { border-radius: 2px; box-shadow: none; }
.application-card { border: 0; border-top: 2px solid var(--green); background: rgba(255,255,255,.5); }
.team-card:hover,
.innovation-capabilities__grid article:hover { box-shadow: none; transform: translateY(-3px); }
.about-principle:hover,
.innovation-method:hover { transform: translateY(-3px); }
.about-overview__image--main,
.about-overview__image--secondary,
.about-scent-story__media img,
.infra-feature__media img,
.innovation-engineered__media img,
.sustainability-promise__media img,
.sustainability-pillar__media { border-radius: 2px; }
.about-overview__note,
.about-scent-story__media > span,
.innovation-engineered__media > span,
.sustainability-promise__media > div { border-radius: 0; }

/* Keep the full story visible without oversized headings or excessive scrolling. */
.page-content,
.solution-details,
.team-intro,
.infra-intro,
.values-section,
.infra-feature,
.infra-locations,
.about-overview,
.about-scent-story,
.about-reach,
.about-principles,
.about-partner,
.fragrance-overview,
.fragrance-confidence,
.innovation-perfumers,
.innovation-engineered,
.innovation-capabilities,
.innovation-blending,
.sustainability-focus,
.sustainability-promise,
.sustainability-pillars { padding-block: clamp(82px, 7vw, 106px); }

.about-overview__copy h2,
.about-scent-story__copy h2,
.about-reach__head h2,
.about-principles__head h2,
.fragrance-overview h2,
.fragrance-confidence__head h2,
.innovation-perfumers__head h2,
.innovation-engineered__copy h2,
.innovation-capabilities__head h2,
.innovation-blending__head h2,
.sustainability-focus__head h2,
.sustainability-promise__copy h2,
.sustainability-pillars__head h2,
.infra-feature__copy h2,
.values-head h2 { font-size: clamp(34px, 3.4vw, 50px); line-height: 1.1; }

.about-partner h2,
.fragrance-partner h2,
.innovation-lab-cta h2,
.sustainability-cta-premium h2 { font-size: clamp(40px, 4.2vw, 60px); line-height: 1.07; }

.about-overview__visual { min-height: 560px; }
.about-scent-story__media img,
.innovation-engineered__media img,
.sustainability-promise__media img,
.infra-feature__media img { min-height: 500px; }
.innovation-perfumer { min-height: 540px; }
.innovation-perfumer--featured { min-height: 570px; }
.innovation-capabilities__grid article > img { height: 320px; }
.innovation-capabilities__grid article > div { min-height: 220px; }
.innovation-capabilities__grid h3 { margin-top: 42px; }
.sustainability-focus__grid article { min-height: 280px; }
.sustainability-pillar { min-height: 540px; padding-block: 54px; }
.sustainability-pillar__media { height: 460px; }
.fragrance-category { min-height: 560px; padding-block: 58px; }
.fragrance-category h2 { font-size: clamp(34px, 3.5vw, 50px); }
.fragrance-confidence__grid article { min-height: 270px; }
.about-partner,
.fragrance-partner,
.fragrance-partner__inner,
.innovation-lab-cta,
.innovation-lab-cta__inner,
.sustainability-cta-premium,
.sustainability-cta-premium__inner { min-height: 560px; }
.about-partner,
.innovation-lab-cta__inner,
.sustainability-cta-premium__inner,
.fragrance-partner__inner { padding-block: 82px; }

@media (min-width: 1500px) {
  .site-header__inner { min-height: 74px; }
  .primary-nav .menu > li,
  .primary-nav .menu > li > a { min-height: 74px; }
  .hero__panel { max-width: 720px; }
  .hero .display, .hero h1 { max-width: 700px; }
}

@media (max-width: 1240px) {
  .site-header__inner { min-height: 70px; }
  .brand-logo { width: 114px; }
  .primary-nav {
    inset: 100% 0 auto;
    max-height: calc(100dvh - 70px);
    padding: 24px clamp(24px, 5vw, 56px) 38px;
    background: #f8f6f0;
  }
  .primary-nav .menu > li,
  .primary-nav .menu > li > a { min-height: 0; }
  .primary-nav .menu > li > a { padding-block: 14px; font-size: 17px; }
  .primary-nav .menu > li > a::after { bottom: 8px; }
  .hero, .hero__content { min-height: clamp(520px, calc(100svh - 100px), 640px); }
  .solution-grid { grid-template-columns: repeat(2, 1fr); }
  .solution-card:nth-child(n) { min-height: 370px; grid-column: auto; }
}

@media (max-width: 900px) {
  .container { width: min(calc(100% - 44px), var(--container)); }
  .hero__media::after { background: linear-gradient(90deg, rgba(2,39,23,.93), rgba(2,39,23,.64)), linear-gradient(0deg, rgba(2,30,18,.42), transparent); }
  .hero__panel { max-width: 620px; }
  .intro-grid,
  .proof-grid,
  .innovation-grid { gap: 54px; }
  .solution-hero { min-height: 0; grid-template-columns: 1fr; }
  .solution-hero__media { min-height: 330px; order: -1; }
  .solution-hero__media img { min-height: 330px; max-height: 44vh; }
  .solution-hero__copy { min-height: 0; padding: 52px max(22px, calc((100vw - var(--container))/2)); }
  .solution-hero h1 { max-width: 760px; font-size: clamp(36px, 6.3vw, 50px); }
}

@media (max-width: 720px) {
  .container, .narrow, .entry-content, .single-article__image { width: min(calc(100% - 36px), var(--container)); }
  .announcement__inner { min-height: 28px; justify-content: center; text-align: center; }
  .announcement a { display: none; }
  .site-header__inner { min-height: 66px; }
  .brand-logo { width: 108px; }
  .footer-brand .brand-logo { width: 126px; }
  .menu-toggle { width: 42px; height: 42px; }
  .primary-nav { max-height: calc(100dvh - 66px); padding: 16px 18px 26px; }
  .primary-nav .menu > li > a { font-size: 16px; }

  .eyebrow { margin-bottom: 14px; font-size: 12px; }
  .display, .section-title { font-size: clamp(30px, 8.8vw, 39px); }

  .hero, .hero__content { min-height: 560px; }
  .hero__content { padding-block: 50px; }
  .hero__panel { padding: 0; background: transparent; }
  .hero .display, .hero h1 { font-size: clamp(34px, 9.4vw, 42px); line-height: 1.08; }
  .hero__lead { font-size: 15px; line-height: 1.68; }
  .hero__media img { object-position: 61% center; }
  .hero__media::after { background: rgba(2,39,23,.77); }
  .hero__proof { display: grid; margin-top: 28px; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
  .trust-band__inner > div { padding: 18px 10px; }

  .intro, .proof, .process, .global, .journal, .solutions, .innovation, .cta { padding: 64px 0; }
  .intro-grid, .proof-grid, .innovation-grid, .solutions__head, .process__head, .global__head { gap: 34px; }
  .intro__copy p { font-size: 16px; }
  .solution-grid { grid-template-columns: 1fr; }
  .solution-card:nth-child(n) { min-height: 330px; }
  .solution-card h3 { font-size: 27px; }
  .proof__image img { min-height: 370px; }
  .innovation__note { right: 14px; bottom: 14px; left: 14px; }
  .process-grid { grid-template-columns: 1fr; border-bottom: 0; }
  .process-step { min-height: auto; border-right: 0 !important; border-bottom: 1px solid var(--line) !important; }
  .process-step__number { margin-bottom: 30px; }
  .location-card { min-height: 320px; }
  .post-grid { grid-template-columns: 1fr; }
  .post-card:last-child { grid-column: auto; }
  .cta h2 { font-size: clamp(32px, 8.8vw, 42px); }

  .page-hero, .page-hero__content { min-height: 440px; }
  .fragrance-hero, .fragrance-hero__content { min-height: 530px; }
  .fragrance-hero__content { padding-block: 54px 112px; }
  .editorial-hero, .editorial-hero__content,
  .about-hero-premium, .about-hero-premium__content,
  .innovation-hero-premium, .innovation-hero-premium__content,
  .sustainability-hero-premium, .sustainability-hero-premium__content { min-height: 520px; }
  .page-hero h1, .editorial-hero h1, .about-hero-premium h1,
  .innovation-hero-premium h1, .sustainability-hero-premium h1,
  .fragrance-hero h1 { font-size: clamp(34px, 9.3vw, 43px); line-height: 1.08; }

  /* Critical feedback fix: imagery appears before compact solution copy on mobile. */
  .solution-hero__media,
  .solution-hero__media img { min-height: 250px; max-height: 38vh; }
  .solution-hero__copy { padding: 42px 22px 48px; }
  .solution-hero h1 { margin-bottom: 16px; font-size: clamp(31px, 8.5vw, 39px); line-height: 1.1; }
  .solution-hero p { font-size: 15px; line-height: 1.62; }
  .solution-hero .button-row { margin-top: 6px; }
  .solution-hero .button { width: auto; }

  .about-hero-premium__rail,
  .innovation-hero-premium__rail { min-height: 66px; overflow-x: auto; }
  .about-hero-premium__rail { grid-template-columns: repeat(5, minmax(125px, 1fr)); }
  .innovation-hero-premium__rail { grid-template-columns: repeat(4, minmax(170px, 1fr)); }
  .about-hero-premium__rail span,
  .innovation-hero-premium__rail span { padding-inline: 16px; font-size: 9px; letter-spacing: .08em; }
  .about-overview, .about-scent-story, .about-reach, .about-principles,
  .innovation-perfumers, .innovation-engineered, .innovation-capabilities,
  .innovation-blending, .sustainability-focus, .sustainability-promise,
  .sustainability-pillars, .page-content, .solution-details, .team-intro,
  .infra-intro, .values-section, .infra-feature, .infra-locations,
  .about-partner, .fragrance-overview, .fragrance-confidence { padding-block: 66px; }

  .about-overview__copy h2, .about-scent-story__copy h2, .about-reach__head h2,
  .about-principles__head h2, .fragrance-overview h2, .fragrance-confidence__head h2,
  .innovation-perfumers__head h2, .innovation-engineered__copy h2,
  .innovation-capabilities__head h2, .innovation-blending__head h2,
  .sustainability-focus__head h2, .sustainability-promise__copy h2,
  .sustainability-pillars__head h2, .infra-feature__copy h2, .values-head h2 {
    font-size: clamp(30px, 8.5vw, 39px);
  }
  .about-overview__visual { min-height: 430px; }
  .about-scent-story__media img, .innovation-engineered__media img,
  .sustainability-promise__media img, .infra-feature__media img { min-height: 390px; }
  .innovation-perfumer, .innovation-perfumer--featured { min-height: 0; }
  .sustainability-pillar { min-height: 0; padding-block: 44px; }
  .sustainability-pillar__media { height: 390px; }
  .fragrance-category { min-height: 0; padding-block: 48px; }
  .about-partner, .fragrance-partner, .fragrance-partner__inner,
  .innovation-lab-cta, .innovation-lab-cta__inner,
  .sustainability-cta-premium, .sustainability-cta-premium__inner { min-height: 500px; }
}

@media (max-width: 430px) {
  .container, .narrow, .entry-content, .single-article__image { width: min(calc(100% - 28px), var(--container)); }
  .announcement { font-size: 8px; }
  .announcement__inner { min-height: 26px; }
  .brand-logo { width: 104px; }
  .footer-brand .brand-logo { width: 120px; }
  .hero, .hero__content { min-height: 530px; }
  .hero .display, .hero h1 { font-size: clamp(32px, 9vw, 38px); }
  .hero .button-row { display: grid; width: 100%; grid-template-columns: 1fr; }
  .hero .button { width: 100%; }
  .hero__proof li { font-size: 8.5px; }
  .trust-band__inner { grid-template-columns: 1fr 1fr; }
  .trust-band strong { font-size: 13px; }
  .solution-card:nth-child(n) { min-height: 310px; }
  .solution-card__body { padding: 24px; }
  .solution-card h3 { max-width: 100%; font-size: 27px; }
  .solution-card p { font-size: 13px; }
  .solution-hero__media,
  .solution-hero__media img { min-height: 225px; max-height: 34vh; }
  .solution-hero__copy { padding: 38px 16px 44px; }
  .solution-hero h1 { font-size: clamp(30px, 8.3vw, 36px); }
  .solution-hero .button { width: 100%; }
  .page-hero h1, .editorial-hero h1, .about-hero-premium h1,
  .innovation-hero-premium h1, .sustainability-hero-premium h1,
  .fragrance-hero h1 { font-size: clamp(32px, 9vw, 39px); }
}

/* --------------------------------------------------------------------------
   3.9 homepage mobile layout correction

   These final rules intentionally sit at the end of the stylesheet. They
   prevent the desktop editorial grids from winning the cascade on phones and
   keep every homepage content block at a readable, full-width measure.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .container,
  .narrow,
  .entry-content,
  .single-article__image {
    width: calc(100% - 32px) !important;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }

  .intro-grid,
  .solutions__head,
  .proof-grid,
  .innovation-grid,
  .process__head,
  .global__head,
  .journal__head {
    display: grid !important;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
  }

  .intro-grid > *,
  .solutions__head > *,
  .proof-grid > *,
  .innovation-grid > *,
  .process__head > *,
  .global__head > *,
  .journal__head > * {
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .intro .section-title,
  .solutions .section-title,
  .process .section-title,
  .global .section-title,
  .journal .section-title,
  .solutions__head .section-lead,
  .process__head .section-lead,
  .global__head .section-lead {
    width: 100%;
    max-width: none;
  }

  .section-title,
  .section-lead,
  .intro__copy p {
    overflow-wrap: normal;
    word-break: normal;
  }

  .intro__copy {
    width: 100%;
    padding: 0 !important;
  }

  .intro__signature {
    display: grid !important;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .solution-grid,
  .process-grid,
  .location-grid,
  .post-grid {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .solution-card,
  .process-step,
  .location-card,
  .post-card {
    width: 100%;
    min-width: 0;
    grid-column: auto !important;
  }

  .solutions__head,
  .process__head,
  .global__head,
  .journal__head {
    margin-bottom: 38px;
  }
}

@media (max-width: 430px) {
  .container,
  .narrow,
  .entry-content,
  .single-article__image {
    width: calc(100% - 28px) !important;
  }

  .intro-grid,
  .solutions__head,
  .proof-grid,
  .innovation-grid,
  .process__head,
  .global__head,
  .journal__head {
    gap: 24px !important;
  }

  .section-title {
    font-size: clamp(30px, 9vw, 36px);
    line-height: 1.12;
  }

  .section-lead,
  .intro__copy p {
    font-size: 15px;
    line-height: 1.7;
  }
}

/* Sticky-header mobile menu reliability. The header is pinned while its menu
   is open so changing body overflow cannot detach the sticky element on iOS. */
@media (max-width: 1240px) {
  body.menu-open {
    overflow: hidden !important;
  }

  .site-header {
    overflow: visible;
    isolation: isolate;
  }

  .site-header.menu-active {
    position: fixed !important;
    z-index: 9998 !important;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
  }

  .site-header.menu-active .site-header__inner {
    position: relative;
  }

  .site-header .menu-toggle {
    position: relative;
    z-index: 10002;
    cursor: pointer;
    pointer-events: auto;
    touch-action: manipulation;
  }

  .site-header.menu-active .primary-nav.is-open {
    position: absolute !important;
    z-index: 10001;
    top: 100% !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    display: block !important;
    width: 100%;
    height: auto;
    max-height: calc(100dvh - 70px) !important;
    overflow-x: hidden;
    overflow-y: auto;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  body.admin-bar .site-header.menu-active {
    top: 32px;
  }
}

@media (max-width: 782px) {
  body.admin-bar .site-header.menu-active {
    top: 46px;
  }
}

@media (max-width: 720px) {
  .site-header.menu-active .primary-nav.is-open {
    max-height: calc(100dvh - 66px) !important;
  }
}


/* 01/10/2026 client-supplied Perfumers + Team photography sliders */
.luxeo-updated-gallery{overflow:hidden}
.luxeo-slider{position:relative;margin-top:34px}
.luxeo-slider__toolbar{display:flex;justify-content:flex-end;gap:10px;margin:0 0 16px}
.luxeo-slider__button{width:48px;height:48px;border:1px solid rgba(20,47,41,.22);border-radius:50%;background:#fff;color:#173d34;font-size:22px;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease}
.luxeo-slider__button:hover{transform:translateY(-2px);background:#173d34;color:#fff}
.luxeo-slider__track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(310px,40%);gap:20px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:none;padding:2px 2px 18px}
.luxeo-slider__track::-webkit-scrollbar{display:none}
.luxeo-slider__slide{margin:0;scroll-snap-align:start;overflow:hidden;border-radius:2px;background:#f0f0ec;aspect-ratio:4/3}
.luxeo-slider__slide img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.luxeo-slider__slide:hover img{transform:scale(1.025)}
@media(max-width:900px){.luxeo-slider__track{grid-auto-columns:minmax(280px,78%)}}
@media(max-width:560px){.luxeo-slider__track{grid-auto-columns:90%;gap:14px}.luxeo-slider__toolbar{justify-content:flex-start}.luxeo-slider__button{width:44px;height:44px}}
