/* ==========================================================================
   Mambo Leo homepage sections for Elementor
   GENERATED from mockups/mockup-1/styles.css by tools/scope-css.ps1, then
   tools/sections-overrides.css is appended. Do not edit by hand.
   Every rule is scoped under .ml-elementor-section.mlhf-root.
   ========================================================================== */
.ml-elementor-section.mlhf-root {--ml-espresso: #5C3A39;
  --ml-espresso-deep: #3A2322;
  --ml-ink: #241514;
  --ml-cream: #FFF0D2;
  --ml-parchment: #FAF3E6;
  --ml-sand: #EFE1C8;
  --ml-sand-deep: #E3D1B2;
  --ml-gold: #C9A063;
  --ml-gold-deep: #9C7437;
  --ml-leaf: #4F6B3B;
  --ml-cherry: #A8362E;
  --ml-muted: #7A6460;
  --ml-line: rgba(92, 58, 57, .14);

  --ml-font-display: "Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --ml-font-body: "Manrope", "Segoe UI", system-ui, -apple-system, sans-serif;
  --ml-font-mark: "Josefin Sans", "Futura", "Century Gothic", sans-serif;

  --ml-container: 1240px;
  --ml-gutter: clamp(16px, 4vw, 48px);
  --ml-section: clamp(72px, 10vw, 128px);
  --ml-radius: 22px;
  --ml-radius-sm: 12px;
  --ml-shadow: 0 30px 60px -30px rgba(36, 21, 20, .45);
  --ml-ease: cubic-bezier(.2, .7, .2, 1);

  font-family: var(--ml-font-body);
  font-size: 17px;
  line-height: 1.65;
  color: var(--ml-ink);
  background: var(--ml-parchment);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;}
.ml-elementor-section.mlhf-root :where(*, *::before, *::after) {box-sizing: border-box;}
.ml-elementor-section.mlhf-root :where(h1, h2, h3, h4, p, ul, ol, figure, blockquote, dl, dd) {margin: 0;}
.ml-elementor-section.mlhf-root :where(ul, ol) {padding: 0; list-style: none;}
.ml-elementor-section.mlhf-root :where(img) {display: block; max-width: 100%; height: auto;}
.ml-elementor-section.mlhf-root :where(a) {color: inherit; text-decoration: none;}
.ml-elementor-section.mlhf-root :where(button, input, select, textarea) {font: inherit; color: inherit;}
.ml-elementor-section.mlhf-root :focus-visible {outline: 3px solid var(--ml-gold); outline-offset: 3px; border-radius: 4px;}
.ml-elementor-section.mlhf-root :where(h1, h2, h3),
.ml-elementor-section.mlhf-root .ml-display {font-family: var(--ml-font-display);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.015em;
  text-wrap: balance;
  font-variation-settings: "SOFT" 60, "opsz" 72;}
.ml-elementor-section.mlhf-root :where(h1) {font-size: clamp(2.6rem, 6.2vw, 4.9rem);}
.ml-elementor-section.mlhf-root :where(h2) {font-size: clamp(2rem, 4vw, 3.15rem);}
.ml-elementor-section.mlhf-root :where(h3) {font-size: clamp(1.25rem, 1.8vw, 1.5rem); line-height: 1.2;}
.ml-elementor-section.mlhf-root .ml-lede {font-size: clamp(1.05rem, 1.35vw, 1.22rem); line-height: 1.6; color: var(--ml-muted); max-width: 60ch;}
.ml-elementor-section.mlhf-root .ml-eyebrow {display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--ml-font-mark); font-size: .78rem; letter-spacing: .28em; text-transform: uppercase;
  color: var(--ml-gold-deep); margin-bottom: 18px;}
.ml-elementor-section.mlhf-root .ml-eyebrow::before {content: ""; width: 34px; height: 1px; background: currentColor; opacity: .7;}
.ml-elementor-section.mlhf-root :where(em) {font-style: italic; font-variation-settings: "SOFT" 100, "opsz" 72;}
.ml-elementor-section.mlhf-root .ml-accent {color: var(--ml-gold-deep);}
.ml-elementor-section.mlhf-root .ml-container {width: 100%; max-width: var(--ml-container); margin-inline: auto; padding-inline: var(--ml-gutter);}
.ml-elementor-section.mlhf-root .ml-section {padding-block: var(--ml-section); position: relative;}
.ml-elementor-section.mlhf-root .ml-section--tight {padding-block: calc(var(--ml-section) * .7);}
.ml-elementor-section.mlhf-root .ml-band--espresso {background: var(--ml-espresso); color: var(--ml-cream);}
.ml-elementor-section.mlhf-root .ml-band--espresso .ml-eyebrow {color: var(--ml-gold);}
.ml-elementor-section.mlhf-root .ml-band--espresso .ml-lede {color: rgba(255, 240, 210, .78);}
.ml-elementor-section.mlhf-root .ml-band--sand {background: var(--ml-sand);}
.ml-elementor-section.mlhf-root .ml-section-head {max-width: 760px; margin-bottom: clamp(40px, 5vw, 64px);}
.ml-elementor-section.mlhf-root .ml-section-head--split {max-width: none; display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: end;}
.ml-elementor-section.mlhf-root .ml-section-head--split .ml-lede {max-width: none;}
.ml-elementor-section.mlhf-root .ml-section-head--center {margin-inline: auto; text-align: center;}
.ml-elementor-section.mlhf-root .ml-section-head--center .ml-lede {margin-inline: auto;}
.ml-elementor-section.mlhf-root .ml-section-head--center .ml-eyebrow::before {display: none;}
.ml-elementor-section.mlhf-root .ml-btn {display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 16px 28px; border-radius: 999px; border: 1.5px solid transparent;
  font-weight: 700; font-size: .95rem; letter-spacing: .01em; line-height: 1;
  cursor: pointer; transition: transform .35s var(--ml-ease), background .3s, color .3s, border-color .3s, box-shadow .3s;
  white-space: nowrap;}
.ml-elementor-section.mlhf-root .ml-btn svg {width: 18px; height: 18px; flex: none; transition: transform .35s var(--ml-ease);}
.ml-elementor-section.mlhf-root .ml-btn:hover {transform: translateY(-2px);}
.ml-elementor-section.mlhf-root .ml-btn:hover svg {transform: translateX(3px);}
.ml-elementor-section.mlhf-root .ml-btn--gold {background: var(--ml-gold); color: var(--ml-ink); box-shadow: 0 12px 30px -12px rgba(201, 160, 99, .8);}
.ml-elementor-section.mlhf-root .ml-btn--gold:hover {background: #D6B27A;}
.ml-elementor-section.mlhf-root .ml-btn--ink {background: var(--ml-espresso); color: var(--ml-cream);}
.ml-elementor-section.mlhf-root .ml-btn--ink:hover {background: var(--ml-espresso-deep);}
.ml-elementor-section.mlhf-root .ml-btn--ghost {border-color: rgba(255, 240, 210, .5); color: var(--ml-cream); background: rgba(36, 21, 20, .15); backdrop-filter: blur(6px);}
.ml-elementor-section.mlhf-root .ml-btn--ghost:hover {border-color: var(--ml-cream); background: rgba(255, 240, 210, .12);}
.ml-elementor-section.mlhf-root .ml-btn--outline {border-color: var(--ml-espresso); color: var(--ml-espresso);}
.ml-elementor-section.mlhf-root .ml-btn--outline:hover {background: var(--ml-espresso); color: var(--ml-cream);}
.ml-elementor-section.mlhf-root .ml-btn--sm {padding: 12px 20px; font-size: .88rem;}
.ml-elementor-section.mlhf-root .ml-link {display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--ml-gold-deep);}
.ml-elementor-section.mlhf-root .ml-link svg {width: 16px; height: 16px; transition: transform .3s var(--ml-ease);}
.ml-elementor-section.mlhf-root .ml-link:hover svg {transform: translateX(4px);}
.ml-elementor-section.mlhf-root .ml-hero {position: relative; min-height: clamp(640px, 92vh, 900px); display: flex; align-items: flex-end; color: var(--ml-cream); background: var(--ml-ink); isolation: isolate;}
.ml-elementor-section.mlhf-root .ml-hero__media {position: absolute; inset: 0; z-index: -2; overflow: hidden;}
.ml-elementor-section.mlhf-root .ml-hero__media img {width: 100%; height: 100%; object-fit: cover; object-position: 62% 45%; transform: scale(1.04); animation: ml-hero-zoom 14s var(--ml-ease) forwards;}
@keyframes ml-hero-zoom { to { transform: scale(1); } }
.ml-elementor-section.mlhf-root .ml-hero__scrim {position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(90deg, rgba(36, 21, 20, .92) 0%, rgba(36, 21, 20, .72) 38%, rgba(36, 21, 20, .18) 70%, rgba(36, 21, 20, .05) 100%),
    linear-gradient(0deg, rgba(36, 21, 20, .85) 0%, rgba(36, 21, 20, 0) 45%);}
.ml-elementor-section.mlhf-root .ml-hero__inner {padding-top: 150px; padding-bottom: clamp(96px, 12vw, 150px); display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 48px; align-items: end;}
.ml-elementor-section.mlhf-root .ml-hero__eyebrow {color: var(--ml-gold);}
.ml-elementor-section.mlhf-root .ml-hero h1 {max-width: 13ch;}
.ml-elementor-section.mlhf-root .ml-hero h1 em {color: var(--ml-gold);}
.ml-elementor-section.mlhf-root .ml-hero__lede {margin-top: 26px; max-width: 54ch; font-size: clamp(1.05rem, 1.4vw, 1.2rem); color: rgba(255, 240, 210, .82);}
.ml-elementor-section.mlhf-root .ml-hero__actions {display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px;}
.ml-elementor-section.mlhf-root .ml-hero__meta {display: flex; flex-wrap: wrap; gap: 28px; margin-top: 46px; font-size: .85rem; color: rgba(255, 240, 210, .7);}
.ml-elementor-section.mlhf-root .ml-hero__meta strong {display: block; color: var(--ml-cream); font-family: var(--ml-font-mark); letter-spacing: .2em; text-transform: uppercase; font-size: .7rem; margin-bottom: 4px;}
.ml-elementor-section.mlhf-root .ml-lotcard {justify-self: end; width: min(100%, 400px); background: rgba(250, 243, 230, .1); backdrop-filter: blur(16px); border: 1px solid rgba(255, 240, 210, .22); border-radius: var(--ml-radius); padding: 28px; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .7);}
.ml-elementor-section.mlhf-root .ml-lotcard__head {display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid rgba(255, 240, 210, .18);}
.ml-elementor-section.mlhf-root .ml-lotcard__head h3 {font-size: 1.15rem;}
.ml-elementor-section.mlhf-root .ml-lotcard__pill {font-family: var(--ml-font-mark); font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ml-ink); background: var(--ml-gold); padding: 7px 12px 5px; border-radius: 999px;}
.ml-elementor-section.mlhf-root .ml-lotcard__grid {display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; padding-block: 20px;}
.ml-elementor-section.mlhf-root .ml-lotcard__grid div {min-width: 0;}
.ml-elementor-section.mlhf-root .ml-lotcard__grid dt {font-family: var(--ml-font-mark); font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(255, 240, 210, .6);}
.ml-elementor-section.mlhf-root .ml-lotcard__grid dd {margin: 4px 0 0; font-family: var(--ml-font-display); font-size: 1.45rem; font-variant-numeric: tabular-nums; line-height: 1.1;}
.ml-elementor-section.mlhf-root .ml-lotcard__grid dd small {font-family: var(--ml-font-body); font-size: .8rem; opacity: .7; margin-left: 4px;}
.ml-elementor-section.mlhf-root .ml-lotcard__notes {border-top: 1px solid rgba(255, 240, 210, .18); padding-top: 18px;}
.ml-elementor-section.mlhf-root .ml-lotcard__notes dt {font-family: var(--ml-font-mark); font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(255, 240, 210, .6); margin-bottom: 10px;}
.ml-elementor-section.mlhf-root .ml-chips {display: flex; flex-wrap: wrap; gap: 8px;}
.ml-elementor-section.mlhf-root .ml-chip {font-size: .82rem; font-weight: 600; padding: 7px 13px; border-radius: 999px; border: 1px solid rgba(255, 240, 210, .3); color: var(--ml-cream);}
.ml-elementor-section.mlhf-root .ml-chip--solid {border-color: var(--ml-sand-deep); background: var(--ml-sand); color: var(--ml-espresso);}
.ml-elementor-section.mlhf-root .ml-scrollcue {position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; font-family: var(--ml-font-mark); font-size: .62rem; letter-spacing: .3em; text-transform: uppercase; opacity: .6;}
.ml-elementor-section.mlhf-root .ml-scrollcue i {width: 1px; height: 36px; background: linear-gradient(var(--ml-cream), transparent); display: block; animation: ml-cue 2s infinite;}
@keyframes ml-cue { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
.ml-elementor-section.mlhf-root .ml-stats {position: relative; z-index: 2; margin-top: -58px;}
.ml-elementor-section.mlhf-root .ml-stats__grid {display: grid; grid-template-columns: repeat(4, 1fr); background: var(--ml-espresso); color: var(--ml-cream); border-radius: var(--ml-radius); overflow: hidden; box-shadow: var(--ml-shadow);}
.ml-elementor-section.mlhf-root .ml-stat {padding: 34px 30px; border-right: 1px solid rgba(255, 240, 210, .12); position: relative;}
.ml-elementor-section.mlhf-root .ml-stat:last-child {border-right: 0;}
.ml-elementor-section.mlhf-root .ml-stat__num {font-family: var(--ml-font-display); font-size: clamp(2.4rem, 3.6vw, 3.4rem); line-height: 1; font-variant-numeric: tabular-nums; color: var(--ml-cream);}
.ml-elementor-section.mlhf-root .ml-stat__num sup {font-size: .5em; color: var(--ml-gold); top: -.6em;}
.ml-elementor-section.mlhf-root .ml-stat__label {margin-top: 10px; font-size: .92rem; color: rgba(255, 240, 210, .78); line-height: 1.4;}
.ml-elementor-section.mlhf-root .ml-about {padding-top: calc(var(--ml-section) + 40px);}
.ml-elementor-section.mlhf-root .ml-about__grid {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: center;}
.ml-elementor-section.mlhf-root .ml-collage {position: relative; aspect-ratio: 5 / 5.4; max-width: 100%;}
.ml-elementor-section.mlhf-root .ml-collage__main {position: absolute; left: 0; top: 0; width: 82%; height: 78%; border-radius: var(--ml-radius); overflow: hidden; box-shadow: var(--ml-shadow);}
.ml-elementor-section.mlhf-root .ml-collage__main img {width: 100%; height: 100%; object-fit: cover;}
.ml-elementor-section.mlhf-root .ml-collage__small {position: absolute; right: 0; bottom: 0; width: 46%; aspect-ratio: 1; border-radius: var(--ml-radius); overflow: hidden; border: 8px solid var(--ml-parchment); box-shadow: var(--ml-shadow);}
.ml-elementor-section.mlhf-root .ml-collage__small img {width: 100%; height: 100%; object-fit: cover;}
.ml-elementor-section.mlhf-root .ml-collage__frame {position: absolute; left: 6%; top: 6%; width: 82%; height: 78%; border: 1.5px solid var(--ml-gold); border-radius: var(--ml-radius); z-index: -1; opacity: .7;}
.ml-elementor-section.mlhf-root .ml-collage__badge {position: absolute; left: -10px; bottom: 14%; background: var(--ml-espresso); color: var(--ml-cream); border-radius: 16px; padding: 16px 18px; display: flex; align-items: center; gap: 14px; box-shadow: var(--ml-shadow); max-width: 240px;}
.ml-elementor-section.mlhf-root .ml-collage__badge img {width: 44px; height: 44px; flex: none;}
.ml-elementor-section.mlhf-root .ml-collage__badge b {display: block; font-family: var(--ml-font-mark); font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ml-gold);}
.ml-elementor-section.mlhf-root .ml-collage__badge span {font-size: .85rem; line-height: 1.35; display: block; margin-top: 3px;}
.ml-elementor-section.mlhf-root .ml-about__copy p + p {margin-top: 18px;}
.ml-elementor-section.mlhf-root .ml-mv {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 36px;}
.ml-elementor-section.mlhf-root .ml-mv__item {padding: 22px 0 0; border-top: 2px solid var(--ml-gold);}
.ml-elementor-section.mlhf-root .ml-mv__item h3 {font-size: 1.1rem; margin-bottom: 8px;}
.ml-elementor-section.mlhf-root .ml-mv__item p {font-size: .92rem; color: var(--ml-muted);}
.ml-elementor-section.mlhf-root .ml-about__actions {margin-top: 36px; display: flex; flex-wrap: wrap; gap: 14px; align-items: center;}
.ml-elementor-section.mlhf-root .ml-coffee__grid {display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 6vw, 88px); align-items: start;}
.ml-elementor-section.mlhf-root .ml-coffee__media {position: sticky; top: 110px; border-radius: var(--ml-radius); overflow: hidden; aspect-ratio: 4 / 5; max-width: 100%; box-shadow: var(--ml-shadow);}
.ml-elementor-section.mlhf-root .ml-coffee__media img {width: 100%; height: 100%; object-fit: cover;}
.ml-elementor-section.mlhf-root .ml-coffee__caption {position: absolute; left: 20px; right: 20px; bottom: 20px; background: rgba(36, 21, 20, .72); backdrop-filter: blur(8px); color: var(--ml-cream); padding: 16px 18px; border-radius: 14px; font-size: .85rem; display: flex; gap: 14px; align-items: center;}
.ml-elementor-section.mlhf-root .ml-coffee__caption b {font-family: var(--ml-font-mark); font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ml-gold); display: block; margin-bottom: 3px;}
.ml-elementor-section.mlhf-root .ml-spec {display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--ml-line); border-left: 1px solid var(--ml-line); margin-top: 36px;}
.ml-elementor-section.mlhf-root .ml-spec div {padding: 22px 20px; border-right: 1px solid var(--ml-line); border-bottom: 1px solid var(--ml-line); min-width: 0;}
.ml-elementor-section.mlhf-root .ml-spec dt {font-family: var(--ml-font-mark); font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ml-muted);}
.ml-elementor-section.mlhf-root .ml-spec dd {margin: 8px 0 0; font-family: var(--ml-font-display); font-size: clamp(1.1rem, 1.45vw, 1.35rem); line-height: 1.15; color: var(--ml-espresso); font-variant-numeric: tabular-nums; white-space: nowrap;}
.ml-elementor-section.mlhf-root .ml-spec dd small {font-family: var(--ml-font-body); font-size: .82rem; color: var(--ml-muted); display: block; margin-top: 4px;}
.ml-elementor-section.mlhf-root .ml-grades {margin-top: 44px;}
.ml-elementor-section.mlhf-root .ml-grades__title {display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 20px;}
.ml-elementor-section.mlhf-root .ml-grades__title p {font-size: .9rem; color: var(--ml-muted);}
.ml-elementor-section.mlhf-root .ml-grades__list {display: grid; grid-template-columns: 1fr 1fr; gap: 16px;}
.ml-elementor-section.mlhf-root .ml-grade {background: #fff; border: 1px solid var(--ml-line); border-radius: var(--ml-radius-sm); padding: 22px 22px 22px 24px; display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start; transition: transform .35s var(--ml-ease), box-shadow .35s, border-color .3s;}
.ml-elementor-section.mlhf-root .ml-grade:hover {transform: translateY(-4px); box-shadow: var(--ml-shadow); border-color: var(--ml-gold);}
.ml-elementor-section.mlhf-root .ml-grade__code {font-family: var(--ml-font-display); font-size: 2rem; line-height: 1; color: var(--ml-gold-deep); min-width: 2.2ch;}
.ml-elementor-section.mlhf-root .ml-grade h4 {font-size: 1rem; font-weight: 700; margin-bottom: 6px;}
.ml-elementor-section.mlhf-root .ml-grade p {font-size: .88rem; color: var(--ml-muted); line-height: 1.5;}
.ml-elementor-section.mlhf-root .ml-grade__tag {display: inline-block; margin-top: 10px; font-family: var(--ml-font-mark); font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ml-leaf);}
.ml-elementor-section.mlhf-root .ml-journey {background: var(--ml-ink); color: var(--ml-cream); overflow: hidden;}
.ml-elementor-section.mlhf-root .ml-journey .ml-eyebrow {color: var(--ml-gold);}
.ml-elementor-section.mlhf-root .ml-journey .ml-lede {color: rgba(255, 240, 210, .75);}
.ml-elementor-section.mlhf-root .ml-journey__track {display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; position: relative;}
.ml-elementor-section.mlhf-root .ml-step {position: relative; min-width: 0;}
.ml-elementor-section.mlhf-root .ml-step__img {aspect-ratio: 4 / 4.6; border-radius: 16px; overflow: hidden; max-width: 100%; position: relative;}
.ml-elementor-section.mlhf-root .ml-step__img img {width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ml-ease);}
.ml-elementor-section.mlhf-root .ml-step:hover .ml-step__img img {transform: scale(1.06);}
.ml-elementor-section.mlhf-root .ml-step__img::after {content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(36, 21, 20, .55), transparent 55%);}
.ml-elementor-section.mlhf-root .ml-step__marker {position: relative; height: 40px; margin-top: 20px; display: grid; place-items: center;}
.ml-elementor-section.mlhf-root .ml-step__marker::before {content: ""; position: absolute; left: -9px; right: -9px; top: 50%; height: 1px; background: var(--ml-gold); opacity: .45;}
.ml-elementor-section.mlhf-root .ml-step:first-child .ml-step__marker::before {left: 50%;}
.ml-elementor-section.mlhf-root .ml-step:last-child .ml-step__marker::before {right: 50%;}
.ml-elementor-section.mlhf-root .ml-step__num {position: relative; z-index: 1; width: 38px; height: 38px; border-radius: 50%; background: var(--ml-ink); border: 1.5px solid var(--ml-gold); color: var(--ml-gold); display: grid; place-items: center; font-family: var(--ml-font-display); font-size: .95rem; font-variant-numeric: tabular-nums;}
.ml-elementor-section.mlhf-root .ml-step h3 {font-size: 1.15rem; margin-top: 14px;}
.ml-elementor-section.mlhf-root .ml-step p {margin-top: 8px; font-size: .9rem; color: rgba(255, 240, 210, .72); line-height: 1.5;}
.ml-elementor-section.mlhf-root .ml-journey__foot {margin-top: 56px; display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255, 240, 210, .14); padding-top: 32px;}
.ml-elementor-section.mlhf-root .ml-journey__foot p {max-width: 62ch; color: rgba(255, 240, 210, .78); font-size: .95rem;}
.ml-elementor-section.mlhf-root .ml-notes {background: var(--ml-parchment); overflow: hidden;}
.ml-elementor-section.mlhf-root .ml-notes__head {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px 40px; margin-bottom: 36px;}
.ml-elementor-section.mlhf-root .ml-notes__head .ml-lede {max-width: 52ch;}
.ml-elementor-section.mlhf-root .ml-notes__meta {font-family: var(--ml-font-mark); font-size: .68rem; letter-spacing: .26em; text-transform: uppercase; color: var(--ml-gold-deep); display: inline-flex; align-items: center; gap: 10px;}
.ml-elementor-section.mlhf-root .ml-notes__meta i {width: 8px; height: 8px; border-radius: 50%; background: var(--ml-gold); display: inline-block;}
.ml-elementor-section.mlhf-root .ml-notes__track {display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--ml-gutter); padding: 6px var(--ml-gutter) 28px; margin-inline: calc(var(--ml-gutter) * -1); scrollbar-width: thin; scrollbar-color: var(--ml-gold) transparent; -webkit-overflow-scrolling: touch;}
.ml-elementor-section.mlhf-root .ml-notes__track::-webkit-scrollbar {height: 6px;}
.ml-elementor-section.mlhf-root .ml-notes__track::-webkit-scrollbar-thumb {background: var(--ml-gold); border-radius: 999px;}
.ml-elementor-section.mlhf-root .ml-note {flex: 0 0 clamp(260px, 26vw, 340px); scroll-snap-align: start; display: flex; flex-direction: column; min-width: 0;}
.ml-elementor-section.mlhf-root .ml-note--wide {flex-basis: clamp(360px, 40vw, 520px);}
.ml-elementor-section.mlhf-root .ml-note__img {aspect-ratio: 4 / 5; border-radius: 18px; overflow: hidden; max-width: 100%; position: relative; box-shadow: var(--ml-shadow);}
.ml-elementor-section.mlhf-root .ml-note--wide .ml-note__img {aspect-ratio: 16 / 12.5;}
.ml-elementor-section.mlhf-root .ml-note__img img {width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ml-ease);}
.ml-elementor-section.mlhf-root .ml-note:hover .ml-note__img img {transform: scale(1.04);}
.ml-elementor-section.mlhf-root .ml-note__day {position: absolute; top: 14px; left: 14px; background: rgba(36, 21, 20, .62); backdrop-filter: blur(6px); color: var(--ml-cream); font-family: var(--ml-font-mark); font-size: .6rem; letter-spacing: .22em; text-transform: uppercase; padding: 8px 12px 6px; border-radius: 999px;}
.ml-elementor-section.mlhf-root .ml-note h3 {font-size: 1.15rem; margin-top: 16px;}
.ml-elementor-section.mlhf-root .ml-note p {margin-top: 6px; font-size: .9rem; color: var(--ml-muted); line-height: 1.5;}
.ml-elementor-section.mlhf-root .ml-notes__foot {display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; margin-top: 8px;}
.ml-elementor-section.mlhf-root .ml-notes__foot p {font-size: .9rem; color: var(--ml-muted); max-width: 60ch;}
.ml-elementor-section.mlhf-root .ml-notes__nav {display: flex; gap: 8px;}
.ml-elementor-section.mlhf-root .ml-notes__nav button {width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--ml-espresso); background: transparent; color: var(--ml-espresso); cursor: pointer; display: grid; place-items: center; transition: background .25s, color .25s;}
.ml-elementor-section.mlhf-root .ml-notes__nav button:hover {background: var(--ml-espresso); color: var(--ml-cream);}
.ml-elementor-section.mlhf-root .ml-notes__nav svg {width: 18px; height: 18px;}
.ml-elementor-section.mlhf-root .ml-impact__grid {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: center;}
.ml-elementor-section.mlhf-root .ml-impact__media {position: relative; aspect-ratio: 4 / 4.6; max-width: 100%;}
.ml-elementor-section.mlhf-root .ml-impact__media .ml-impact__main {position: absolute; inset: 0 12% 0 0; border-radius: var(--ml-radius); overflow: hidden; box-shadow: var(--ml-shadow);}
.ml-elementor-section.mlhf-root .ml-impact__media .ml-impact__main img {width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%;}
.ml-elementor-section.mlhf-root .ml-impact__media .ml-impact__small {position: absolute; right: 0; bottom: 8%; width: 48%; aspect-ratio: 3 / 2; border-radius: 16px; overflow: hidden; border: 6px solid var(--ml-espresso); box-shadow: var(--ml-shadow);}
.ml-elementor-section.mlhf-root .ml-impact__media .ml-impact__small img {width: 100%; height: 100%; object-fit: cover;}
.ml-elementor-section.mlhf-root .ml-impact__quote {position: absolute; top: 6%; right: 0; max-width: 200px; background: var(--ml-gold); color: var(--ml-ink); padding: 18px 20px; border-radius: 16px; font-family: var(--ml-font-display); font-size: 1.05rem; line-height: 1.3; box-shadow: var(--ml-shadow);}
.ml-elementor-section.mlhf-root .ml-impact__quote small {display: block; margin-top: 8px; font-family: var(--ml-font-mark); font-size: .6rem; letter-spacing: .2em; text-transform: uppercase;}
.ml-elementor-section.mlhf-root .ml-impact__list {display: grid; gap: 18px; margin-top: 34px;}
.ml-elementor-section.mlhf-root .ml-impact__item {display: grid; grid-template-columns: 48px 1fr; gap: 18px; align-items: start;}
.ml-elementor-section.mlhf-root .ml-impact__icon {width: 48px; height: 48px; border-radius: 14px; background: rgba(201, 160, 99, .14); border: 1px solid rgba(201, 160, 99, .4); display: grid; place-items: center; color: var(--ml-gold);}
.ml-elementor-section.mlhf-root .ml-impact__icon svg {width: 22px; height: 22px;}
.ml-elementor-section.mlhf-root .ml-impact__item h3 {font-size: 1.08rem;}
.ml-elementor-section.mlhf-root .ml-impact__item p {margin-top: 4px; font-size: .92rem; color: rgba(255, 240, 210, .75);}
.ml-elementor-section.mlhf-root .ml-impact__actions {margin-top: 38px; display: flex; flex-wrap: wrap; gap: 14px;}
.ml-elementor-section.mlhf-root .ml-values__grid {display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px;}
.ml-elementor-section.mlhf-root .ml-value {background: #fff; border: 1px solid var(--ml-line); border-radius: var(--ml-radius-sm); padding: 28px 24px; min-width: 0; transition: transform .35s var(--ml-ease), box-shadow .35s;}
.ml-elementor-section.mlhf-root .ml-value:hover {transform: translateY(-4px); box-shadow: var(--ml-shadow);}
.ml-elementor-section.mlhf-root .ml-value__icon {width: 46px; height: 46px; border-radius: 50%; background: var(--ml-sand); color: var(--ml-espresso); display: grid; place-items: center; margin-bottom: 20px;}
.ml-elementor-section.mlhf-root .ml-value__icon svg {width: 22px; height: 22px;}
.ml-elementor-section.mlhf-root .ml-value h3 {font-size: 1.12rem; margin-bottom: 8px;}
.ml-elementor-section.mlhf-root .ml-value p {font-size: .9rem; color: var(--ml-muted); line-height: 1.5;}
.ml-elementor-section.mlhf-root .ml-trade__grid {display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(40px, 6vw, 88px); align-items: center;}
.ml-elementor-section.mlhf-root .ml-trade__cards {display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 36px;}
.ml-elementor-section.mlhf-root .ml-trade__card {background: var(--ml-parchment); border-radius: var(--ml-radius-sm); padding: 24px; border: 1px solid var(--ml-line); min-width: 0;}
.ml-elementor-section.mlhf-root .ml-trade__card b {display: block; font-family: var(--ml-font-display); font-size: 1.7rem; line-height: 1.05; color: var(--ml-espresso); font-variant-numeric: tabular-nums;}
.ml-elementor-section.mlhf-root .ml-trade__card b small {font-size: .55em; color: var(--ml-gold-deep); margin-left: 3px;}
.ml-elementor-section.mlhf-root .ml-trade__card span {display: block; margin-top: 8px; font-size: .9rem; color: var(--ml-muted); line-height: 1.45;}
.ml-elementor-section.mlhf-root .ml-trade__media {position: relative; border-radius: var(--ml-radius); overflow: hidden; aspect-ratio: 4 / 5; max-width: 100%; box-shadow: var(--ml-shadow);}
.ml-elementor-section.mlhf-root .ml-trade__media img {width: 100%; height: 100%; object-fit: cover;}
.ml-elementor-section.mlhf-root .ml-trade__stamp {position: absolute; top: 20px; left: 20px; background: var(--ml-cream); color: var(--ml-espresso); border-radius: 12px; padding: 12px 16px; font-family: var(--ml-font-mark); font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; line-height: 1.6;}
.ml-elementor-section.mlhf-root .ml-trade__actions {margin-top: 36px; display: flex; flex-wrap: wrap; gap: 14px; align-items: center;}
.ml-elementor-section.mlhf-root .ml-quote {text-align: center; max-width: 900px; margin-inline: auto;}
.ml-elementor-section.mlhf-root .ml-quote__mark {font-family: var(--ml-font-display); font-size: 5rem; line-height: .6; color: var(--ml-gold); display: block; margin-bottom: 20px;}
.ml-elementor-section.mlhf-root .ml-quote blockquote {margin: 0; font-family: var(--ml-font-display); font-size: clamp(1.35rem, 2.3vw, 1.9rem); line-height: 1.4; font-variation-settings: "SOFT" 80, "opsz" 48; text-wrap: balance;}
.ml-elementor-section.mlhf-root .ml-quote__who {margin-top: 32px; display: flex; flex-direction: column; align-items: center; gap: 4px;}
.ml-elementor-section.mlhf-root .ml-quote__who b {font-weight: 700;}
.ml-elementor-section.mlhf-root .ml-quote__who span {font-size: .9rem; color: var(--ml-muted);}
.ml-elementor-section.mlhf-root .ml-quote__stars {color: var(--ml-gold); letter-spacing: .15em; margin-bottom: 14px; font-size: 1rem;}
.ml-elementor-section.mlhf-root .ml-gallery__grid {display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 14px;}
.ml-elementor-section.mlhf-root .ml-gallery__item {border-radius: 16px; overflow: hidden; position: relative; max-width: 100%;}
.ml-elementor-section.mlhf-root .ml-gallery__item img {width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ml-ease);}
.ml-elementor-section.mlhf-root .ml-gallery__item:hover img {transform: scale(1.05);}
.ml-elementor-section.mlhf-root .ml-gallery__item--tall {grid-row: span 2;}
.ml-elementor-section.mlhf-root .ml-gallery__item--wide {grid-column: span 2;}
.ml-elementor-section.mlhf-root .ml-gallery__cap {position: absolute; left: 14px; bottom: 14px; color: var(--ml-cream); font-family: var(--ml-font-mark); font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; background: rgba(36, 21, 20, .6); padding: 8px 12px 6px; border-radius: 999px; backdrop-filter: blur(6px);}
.ml-elementor-section.mlhf-root .ml-posts {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;}
.ml-elementor-section.mlhf-root .ml-post {display: flex; flex-direction: column; min-width: 0;}
.ml-elementor-section.mlhf-root .ml-post__img {aspect-ratio: 16 / 11; border-radius: 16px; overflow: hidden; max-width: 100%;}
.ml-elementor-section.mlhf-root .ml-post__img img {width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ml-ease);}
.ml-elementor-section.mlhf-root .ml-post:hover .ml-post__img img {transform: scale(1.05);}
.ml-elementor-section.mlhf-root .ml-post__meta {margin-top: 18px; font-family: var(--ml-font-mark); font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ml-gold-deep); display: flex; gap: 14px;}
.ml-elementor-section.mlhf-root .ml-post h3 {font-size: 1.3rem; margin-top: 10px;}
.ml-elementor-section.mlhf-root .ml-post h3 a:hover {color: var(--ml-gold-deep);}
.ml-elementor-section.mlhf-root .ml-post p {margin-top: 10px; font-size: .92rem; color: var(--ml-muted);}
.ml-elementor-section.mlhf-root .ml-post .ml-link {margin-top: 14px; font-size: .9rem;}
.ml-elementor-section.mlhf-root .ml-contact {background: var(--ml-espresso-deep); color: var(--ml-cream); position: relative; overflow: hidden;}
.ml-elementor-section.mlhf-root .ml-contact::before {content: ""; position: absolute; width: 760px; height: 760px; right: -280px; top: -260px; border-radius: 50%; background: radial-gradient(circle, rgba(201, 160, 99, .22), transparent 65%); pointer-events: none;}
.ml-elementor-section.mlhf-root .ml-contact .ml-eyebrow {color: var(--ml-gold);}
.ml-elementor-section.mlhf-root .ml-contact__grid {display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 6vw, 88px); align-items: start; position: relative;}
.ml-elementor-section.mlhf-root .ml-contact__lede {margin-top: 22px; color: rgba(255, 240, 210, .78); max-width: 46ch;}
.ml-elementor-section.mlhf-root .ml-contact__list {margin-top: 36px; display: grid; gap: 22px;}
.ml-elementor-section.mlhf-root .ml-contact__row {display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: start;}
.ml-elementor-section.mlhf-root .ml-contact__row svg {width: 44px; height: 44px; padding: 11px; border-radius: 12px; border: 1px solid rgba(255, 240, 210, .22); color: var(--ml-gold);}
.ml-elementor-section.mlhf-root .ml-contact__row b {display: block; font-family: var(--ml-font-mark); font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(255, 240, 210, .6); margin-bottom: 4px;}
.ml-elementor-section.mlhf-root .ml-contact__row a,
.ml-elementor-section.mlhf-root .ml-contact__row span {display: block; font-size: 1.02rem;}
.ml-elementor-section.mlhf-root .ml-contact__row a:hover {color: var(--ml-gold);}
.ml-elementor-section.mlhf-root .ml-social {display: flex; gap: 10px; margin-top: 30px;}
.ml-elementor-section.mlhf-root .ml-social a {width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255, 240, 210, .25); display: grid; place-items: center; transition: background .3s, border-color .3s, transform .3s var(--ml-ease);}
.ml-elementor-section.mlhf-root .ml-social a:hover {background: var(--ml-gold); border-color: var(--ml-gold); color: var(--ml-ink); transform: translateY(-3px);}
.ml-elementor-section.mlhf-root .ml-social svg {width: 18px; height: 18px;}
.ml-elementor-section.mlhf-root .ml-form {background: var(--ml-parchment); color: var(--ml-ink); border-radius: var(--ml-radius); padding: clamp(24px, 3.5vw, 44px); box-shadow: var(--ml-shadow);}
.ml-elementor-section.mlhf-root .ml-form__head {margin-bottom: 26px;}
.ml-elementor-section.mlhf-root .ml-form__head h3 {font-size: 1.5rem;}
.ml-elementor-section.mlhf-root .ml-form__head p {margin-top: 6px; color: var(--ml-muted); font-size: .92rem;}
.ml-elementor-section.mlhf-root .ml-form__grid {display: grid; grid-template-columns: 1fr 1fr; gap: 18px;}
.ml-elementor-section.mlhf-root .ml-field {display: flex; flex-direction: column; gap: 7px; min-width: 0;}
.ml-elementor-section.mlhf-root .ml-field--full {grid-column: 1 / -1;}
.ml-elementor-section.mlhf-root .ml-field label {font-size: .82rem; font-weight: 700; letter-spacing: .02em;}
.ml-elementor-section.mlhf-root .ml-field input,
.ml-elementor-section.mlhf-root .ml-field select,
.ml-elementor-section.mlhf-root .ml-field textarea {width: 100%; padding: 14px 16px; border-radius: 10px; border: 1.5px solid var(--ml-sand-deep); background: #fff; transition: border-color .2s, box-shadow .2s;}
.ml-elementor-section.mlhf-root .ml-field input:focus,
.ml-elementor-section.mlhf-root .ml-field select:focus,
.ml-elementor-section.mlhf-root .ml-field textarea:focus {outline: none; border-color: var(--ml-gold-deep); box-shadow: 0 0 0 4px rgba(201, 160, 99, .22);}
.ml-elementor-section.mlhf-root .ml-field textarea {min-height: 110px; resize: vertical;}
.ml-elementor-section.mlhf-root .ml-checks {display: flex; flex-wrap: wrap; gap: 10px;}
.ml-elementor-section.mlhf-root .ml-check {position: relative;}
.ml-elementor-section.mlhf-root .ml-check input {position: absolute; opacity: 0; width: 1px; height: 1px;}
.ml-elementor-section.mlhf-root .ml-check span {display: inline-flex; align-items: center; padding: 10px 16px; border-radius: 999px; border: 1.5px solid var(--ml-sand-deep); background: #fff; font-size: .9rem; font-weight: 600; cursor: pointer; transition: background .2s, border-color .2s, color .2s;}
.ml-elementor-section.mlhf-root .ml-check input:checked + span {background: var(--ml-espresso); border-color: var(--ml-espresso); color: var(--ml-cream);}
.ml-elementor-section.mlhf-root .ml-check input:focus-visible + span {outline: 3px solid var(--ml-gold); outline-offset: 2px;}
.ml-elementor-section.mlhf-root .ml-form__foot {margin-top: 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px;}
.ml-elementor-section.mlhf-root .ml-form__foot small {font-size: .8rem; color: var(--ml-muted); max-width: 36ch;}
.ml-elementor-section.mlhf-root .ml-form__success {display: none; padding: 20px; border-radius: 12px; background: rgba(79, 107, 59, .12); border: 1px solid rgba(79, 107, 59, .35); color: var(--ml-leaf); font-weight: 600; margin-top: 20px;}
.ml-elementor-section.mlhf-root .ml-form.is-sent .ml-form__success {display: block;}
.ml-elementor-section.mlhf-root .ml-reveal {transition: opacity .9s var(--ml-ease), transform .9s var(--ml-ease);}
.ml-elementor-section.mlhf-root .ml-reveal.is-pre {opacity: 0; transform: translateY(28px);}
.ml-elementor-section.mlhf-root .ml-reveal.is-in {opacity: 1; transform: none;}
@media (prefers-reduced-motion: reduce) {
.ml-elementor-section.mlhf-root *,
.ml-elementor-section.mlhf-root *::before,
.ml-elementor-section.mlhf-root *::after {animation: none !important; transition-duration: .01ms !important;}
.ml-elementor-section.mlhf-root .ml-reveal.is-pre {opacity: 1; transform: none;}
}
@media (max-width: 1100px) {
.ml-elementor-section.mlhf-root .ml-hero__inner {grid-template-columns: 1fr;}
.ml-elementor-section.mlhf-root .ml-lotcard {justify-self: start;}
.ml-elementor-section.mlhf-root .ml-stats__grid {grid-template-columns: repeat(2, 1fr);}
.ml-elementor-section.mlhf-root .ml-stat:nth-child(2) {border-right: 0;}
.ml-elementor-section.mlhf-root .ml-stat:nth-child(-n+2) {border-bottom: 1px solid rgba(255, 240, 210, .12);}
.ml-elementor-section.mlhf-root .ml-journey__track {grid-template-columns: repeat(3, 1fr); gap: 28px 18px;}
.ml-elementor-section.mlhf-root .ml-step__marker {justify-items: start; height: 38px; margin-top: 16px;}
.ml-elementor-section.mlhf-root .ml-step__marker::before {left: 0; right: 0;}
.ml-elementor-section.mlhf-root .ml-step:first-child .ml-step__marker::before,
.ml-elementor-section.mlhf-root .ml-step:last-child .ml-step__marker::before {left: 0; right: 0;}
.ml-elementor-section.mlhf-root .ml-values__grid {grid-template-columns: repeat(3, 1fr);}
}
@media (max-width: 860px) {
.ml-elementor-section.mlhf-root {font-size: 16px;}
.ml-elementor-section.mlhf-root .ml-section-head--split {grid-template-columns: 1fr; gap: 16px;}
.ml-elementor-section.mlhf-root .ml-about__grid,
.ml-elementor-section.mlhf-root .ml-coffee__grid,
.ml-elementor-section.mlhf-root .ml-impact__grid,
.ml-elementor-section.mlhf-root .ml-trade__grid,
.ml-elementor-section.mlhf-root .ml-contact__grid {grid-template-columns: 1fr;}
.ml-elementor-section.mlhf-root .ml-coffee__media {position: relative; top: auto; aspect-ratio: 4 / 3;}
.ml-elementor-section.mlhf-root .ml-collage {aspect-ratio: 5 / 5;}
.ml-elementor-section.mlhf-root .ml-collage__badge {left: 0;}
.ml-elementor-section.mlhf-root .ml-impact__media {aspect-ratio: 4 / 3.6;}
.ml-elementor-section.mlhf-root .ml-trade__media {aspect-ratio: 4 / 3;}
.ml-elementor-section.mlhf-root .ml-journey__track {grid-template-columns: repeat(2, 1fr);}
.ml-elementor-section.mlhf-root .ml-step:last-child:nth-child(odd) {grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: 18px; align-items: start;}
.ml-elementor-section.mlhf-root .ml-step:last-child:nth-child(odd) .ml-step__img {grid-row: 1 / span 3; aspect-ratio: 4 / 3;}
.ml-elementor-section.mlhf-root .ml-step:last-child:nth-child(odd) .ml-step__marker {margin-top: 0;}
.ml-elementor-section.mlhf-root .ml-values__grid {grid-template-columns: repeat(2, 1fr);}
.ml-elementor-section.mlhf-root .ml-posts {grid-template-columns: 1fr;}
.ml-elementor-section.mlhf-root .ml-gallery__grid {grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px;}
.ml-elementor-section.mlhf-root .ml-gallery__item--wide {grid-column: span 2;}
.ml-elementor-section.mlhf-root .ml-hero {min-height: 0;}
.ml-elementor-section.mlhf-root .ml-hero__inner {padding-top: 130px; padding-bottom: 110px;}
.ml-elementor-section.mlhf-root .ml-hero h1 {max-width: none;}
}
@media (max-width: 600px) {
.ml-elementor-section.mlhf-root .ml-stats__grid {grid-template-columns: 1fr;}
.ml-elementor-section.mlhf-root .ml-stat {border-right: 0 !important; border-bottom: 1px solid rgba(255, 240, 210, .12);}
.ml-elementor-section.mlhf-root .ml-stat:last-child {border-bottom: 0;}
.ml-elementor-section.mlhf-root .ml-stats {margin-top: -40px;}
.ml-elementor-section.mlhf-root .ml-spec {grid-template-columns: 1fr 1fr;}
.ml-elementor-section.mlhf-root .ml-grades__list,
.ml-elementor-section.mlhf-root .ml-trade__cards,
.ml-elementor-section.mlhf-root .ml-mv,
.ml-elementor-section.mlhf-root .ml-form__grid {grid-template-columns: 1fr;}
.ml-elementor-section.mlhf-root .ml-journey__track {grid-template-columns: 1fr 1fr; gap: 20px 12px;}
.ml-elementor-section.mlhf-root .ml-step:last-child:nth-child(odd) {column-gap: 12px;}
.ml-elementor-section.mlhf-root .ml-step h3 {font-size: 1rem;}
.ml-elementor-section.mlhf-root .ml-step p {font-size: .82rem;}
.ml-elementor-section.mlhf-root .ml-values__grid {grid-template-columns: 1fr;}
.ml-elementor-section.mlhf-root .ml-note {flex-basis: 78vw;}
.ml-elementor-section.mlhf-root .ml-note--wide {flex-basis: 78vw;}
.ml-elementor-section.mlhf-root .ml-note--wide .ml-note__img {aspect-ratio: 4 / 5;}
.ml-elementor-section.mlhf-root .ml-gallery__grid {grid-auto-rows: 150px;}
.ml-elementor-section.mlhf-root .ml-gallery__item--tall {grid-row: span 1;}
.ml-elementor-section.mlhf-root .ml-hero__actions .ml-btn {width: 100%;}
.ml-elementor-section.mlhf-root .ml-lotcard__grid {grid-template-columns: 1fr 1fr; gap: 14px;}
.ml-elementor-section.mlhf-root .ml-impact__quote {max-width: 160px; font-size: .92rem; padding: 14px;}
.ml-elementor-section.mlhf-root .ml-scrollcue {display: none;}
}

/* ==========================================================================
   Plugin-specific overrides (appended after the converted mockup CSS)
   R = .ml-elementor-section.mlhf-root (outer wrapper of every section widget)
   The inner <section class="ml-sec ..."> carries the original design classes.
   ========================================================================== */

/* Root: transparent, contains margins, no sideways scroll */
.ml-elementor-section.mlhf-root { background: transparent; display: flow-root; }

/* Section colours come from Elementor controls (CSS variables) with the
   design values as fallbacks. */
.ml-elementor-section.mlhf-root > section.ml-sec { background: var(--ml-sec-bg, var(--ml-parchment)); color: var(--ml-sec-text, var(--ml-ink)); }
.ml-elementor-section.mlhf-root > section.ml-sec.ml-band--sand { background: var(--ml-sec-bg, var(--ml-sand)); }
.ml-elementor-section.mlhf-root > section.ml-sec.ml-band--espresso { background: var(--ml-sec-bg, var(--ml-espresso)); color: var(--ml-sec-text, var(--ml-cream)); }
.ml-elementor-section.mlhf-root > section.ml-sec.ml-journey { background: var(--ml-sec-bg, var(--ml-ink)); color: var(--ml-sec-text, var(--ml-cream)); }
.ml-elementor-section.mlhf-root > section.ml-sec.ml-contact { background: var(--ml-sec-bg, var(--ml-espresso-deep)); color: var(--ml-sec-text, var(--ml-cream)); }
.ml-elementor-section.mlhf-root > section.ml-sec.ml-hero { background: var(--ml-ink); color: var(--ml-sec-text, var(--ml-cream)); }

/* Stats band overlaps the hero: transparent strip on top, page colour below */
.ml-elementor-section.mlhf-root > section.ml-sec.ml-stats { background: linear-gradient(to bottom, transparent 58px, var(--ml-sec-bg, var(--ml-parchment)) 58px); }
.ml-elementor-section.mlhf-root > section.ml-sec.ml-stats.ml-stats--flat { margin-top: 0; padding-top: 40px; background: var(--ml-sec-bg, var(--ml-parchment)); }
@media (max-width: 600px) {
  .ml-elementor-section.mlhf-root > section.ml-sec.ml-stats { background: linear-gradient(to bottom, transparent 40px, var(--ml-sec-bg, var(--ml-parchment)) 40px); }
}

/* Secondary text + accent colours */
.ml-elementor-section.mlhf-root > section.ml-sec .ml-lede { color: var(--ml-sec-muted, var(--ml-muted)); }
.ml-elementor-section.mlhf-root > section.ml-band--espresso .ml-lede,
.ml-elementor-section.mlhf-root > section.ml-journey .ml-lede,
.ml-elementor-section.mlhf-root > section.ml-contact .ml-lede { color: var(--ml-sec-muted, rgba(255, 240, 210, .78)); }
.ml-elementor-section.mlhf-root > section.ml-sec .ml-eyebrow { color: var(--ml-sec-accent, var(--ml-gold-deep)); }
.ml-elementor-section.mlhf-root > section.ml-band--espresso .ml-eyebrow,
.ml-elementor-section.mlhf-root > section.ml-journey .ml-eyebrow,
.ml-elementor-section.mlhf-root > section.ml-contact .ml-eyebrow,
.ml-elementor-section.mlhf-root > section.ml-hero .ml-eyebrow { color: var(--ml-sec-accent, var(--ml-gold)); }

/* Section spacing from controls */
.ml-elementor-section.mlhf-root > section.ml-section { padding-block: var(--ml-pad-top, var(--ml-section)) var(--ml-pad-bottom, var(--ml-section)); }
.ml-elementor-section.mlhf-root > section.ml-section.ml-section--tight { padding-block: var(--ml-pad-top, calc(var(--ml-section) * .7)) var(--ml-pad-bottom, calc(var(--ml-section) * .7)); }
.ml-elementor-section.mlhf-root > section.ml-section.ml-about { padding-top: var(--ml-pad-top, calc(var(--ml-section) + 40px)); }

/* Section titles (any tag) */
.ml-elementor-section.mlhf-root .ml-section-title {
  font-family: var(--ml-font-display); font-weight: 500; line-height: 1.08; letter-spacing: -.015em;
  text-wrap: balance; font-variation-settings: "SOFT" 60, "opsz" 72; font-size: clamp(2rem, 4vw, 3.15rem); margin: 0;
}
.ml-elementor-section.mlhf-root .ml-section-title em { font-style: italic; font-variation-settings: "SOFT" 100, "opsz" 72; }

/* Heading variants */
.ml-elementor-section.mlhf-root .ml-section-head:not(.ml-section-head--split) .ml-lede { margin-top: 18px; }
.ml-elementor-section.mlhf-root .ml-section-head--inline { max-width: none; margin-bottom: 0; }
.ml-elementor-section.mlhf-root .ml-section-head--inline .ml-lede { margin-top: 22px; }
.ml-elementor-section.mlhf-root .ml-about__copy > p { margin-top: 18px; }
.ml-elementor-section.mlhf-root .ml-impact__list { margin-top: 34px; }

/* Repeater-driven column counts (desktop only; tablet/mobile keep the design breakpoints) */
@media (min-width: 1101px) {
  .ml-elementor-section.mlhf-root .ml-stats .ml-stats__grid { grid-template-columns: repeat(var(--ml-stat-cols, 4), 1fr); }
  .ml-elementor-section.mlhf-root .ml-values__grid { grid-template-columns: repeat(var(--ml-value-cols, 5), 1fr); }
  .ml-elementor-section.mlhf-root .ml-journey__track { grid-template-columns: repeat(var(--ml-steps, 5), 1fr); }
}
.ml-elementor-section.mlhf-root .ml-stat:last-child { border-right: 0; }

/* Hero height from control (desktop; mobile keeps the design's auto height) */
@media (min-width: 861px) {
  .ml-elementor-section.mlhf-root .ml-hero { min-height: var(--ml-hero-minh, clamp(640px, 92vh, 900px)); }
}

/* Elementor icon output (inline SVG or <i>) inside the design's icon tiles */
.ml-elementor-section.mlhf-root .ml-impact__icon .e-font-icon-svg,
.ml-elementor-section.mlhf-root .ml-value__icon .e-font-icon-svg,
.ml-elementor-section.mlhf-root .ml-social .e-font-icon-svg { fill: currentColor; }
.ml-elementor-section.mlhf-root .ml-impact__icon i { font-size: 22px; line-height: 1; }
.ml-elementor-section.mlhf-root .ml-value__icon i { font-size: 22px; line-height: 1; }
.ml-elementor-section.mlhf-root .ml-social i { font-size: 18px; line-height: 1; }
.ml-elementor-section.mlhf-root .ml-social { flex-wrap: wrap; }

/* Form extras */
.ml-elementor-section.mlhf-root .ml-field__label { font-size: .82rem; font-weight: 700; letter-spacing: .02em; }
.ml-elementor-section.mlhf-root .ml-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ml-elementor-section.mlhf-root .ml-form { position: relative; }
.ml-elementor-section.mlhf-root .ml-form__error { margin-top: 16px; padding: 14px 16px; border-radius: 12px; background: rgba(168, 54, 46, .1); border: 1px solid rgba(168, 54, 46, .3); color: var(--ml-cherry); font-weight: 600; }
.ml-elementor-section.mlhf-root .ml-form__error[hidden] { display: none; }
.ml-elementor-section.mlhf-root .ml-form.is-sending button[type="submit"] { opacity: .7; pointer-events: none; }
.ml-elementor-section.mlhf-root .ml-trade__note { font-size: .9rem; color: var(--ml-sec-muted, var(--ml-muted)); }

/* Theme / Elementor-kit guards for native controls inside the design */
.ml-elementor-section.mlhf-root .ml-btn,
.ml-elementor-section.mlhf-root .ml-notes__nav button { text-transform: none; text-decoration: none; }
.ml-elementor-section.mlhf-root .ml-notes__nav button { padding: 0; }
.ml-elementor-section.mlhf-root .ml-collage figure,
.ml-elementor-section.mlhf-root .ml-impact__media figure,
.ml-elementor-section.mlhf-root .ml-coffee__media,
.ml-elementor-section.mlhf-root .ml-trade__media,
.ml-elementor-section.mlhf-root .ml-gallery__item { margin: 0; }
.ml-elementor-section.mlhf-root dl, .ml-elementor-section.mlhf-root dd { margin: 0; }
.ml-elementor-section.mlhf-root ol, .ml-elementor-section.mlhf-root ul { margin: 0; padding: 0; list-style: none; }

/* Field-notes strip: snap cards to the page gutter, not the screen edge */
.ml-elementor-section.mlhf-root .ml-notes__track { scroll-padding-inline: var(--ml-gutter); }

/* In the Elementor editor: never hide anything behind scroll reveals */
.ml-elementor-section.mlhf-root.mlhf-editor .ml-reveal { opacity: 1; transform: none; }

/* ==========================================================================
   Inner-page widgets (Page Hero, Text + Image, Mission, Regions, FAQ, CTA,
   Envira gallery). Same tokens and scoping root as the homepage sections.
   ========================================================================== */

/* ---------- Page hero ---------- */
.ml-elementor-section.mlhf-root > section.ml-sec.ml-phero {
  position: relative; display: flex; align-items: flex-end; overflow: hidden; isolation: isolate;
  min-height: clamp(460px, 66vh, 660px); background: var(--ml-ink); color: var(--ml-sec-text, var(--ml-cream));
}
.ml-elementor-section.mlhf-root .ml-phero__media { position: absolute; inset: 0; z-index: -3; overflow: hidden; }
.ml-elementor-section.mlhf-root .ml-phero__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; transform: scale(1.05); animation: ml-hero-zoom 14s var(--ml-ease) forwards; }
.ml-elementor-section.mlhf-root .ml-phero__scrim {
  position: absolute; inset: 0; z-index: -2;
  background:
    linear-gradient(90deg, rgba(36, 21, 20, .9) 0%, rgba(36, 21, 20, .66) 46%, rgba(36, 21, 20, .22) 100%),
    linear-gradient(0deg, rgba(36, 21, 20, .85) 0%, rgba(36, 21, 20, 0) 58%);
}
.ml-elementor-section.mlhf-root .ml-phero__mark { position: absolute; right: -70px; bottom: -90px; width: clamp(240px, 32vw, 460px); max-width: none; opacity: .08; z-index: -1; pointer-events: none; }
.ml-elementor-section.mlhf-root .ml-phero__inner { position: relative; padding-top: 170px; padding-bottom: clamp(64px, 8vw, 104px); }
.ml-elementor-section.mlhf-root .ml-phero__crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 26px; font-family: var(--ml-font-mark); font-size: .68rem; letter-spacing: .24em; text-transform: uppercase; color: rgba(255, 240, 210, .66); }
.ml-elementor-section.mlhf-root .ml-phero__crumbs a { color: inherit; transition: color .25s; }
.ml-elementor-section.mlhf-root .ml-phero__crumbs a:hover { color: var(--ml-gold); }
.ml-elementor-section.mlhf-root .ml-phero__crumbs [aria-current] { color: var(--ml-cream); }
.ml-elementor-section.mlhf-root > section.ml-phero .ml-eyebrow { color: var(--ml-sec-accent, var(--ml-gold)); }
.ml-elementor-section.mlhf-root .ml-phero__title {
  margin: 0; max-width: 17ch; font-family: var(--ml-font-display); font-weight: 500; line-height: 1.06; letter-spacing: -.015em;
  font-size: clamp(2.5rem, 5.6vw, 4.6rem); text-wrap: balance; font-variation-settings: "SOFT" 60, "opsz" 72; color: inherit;
}
.ml-elementor-section.mlhf-root .ml-phero__title em { color: var(--ml-gold); font-style: italic; font-variation-settings: "SOFT" 100, "opsz" 72; }
.ml-elementor-section.mlhf-root .ml-phero__lede { margin-top: 22px; max-width: 58ch; font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.6; color: rgba(255, 240, 210, .84); }
.ml-elementor-section.mlhf-root .ml-phero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }

/* ---------- Text + image ---------- */
.ml-elementor-section.mlhf-root .ml-split__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.ml-elementor-section.mlhf-root .ml-split--right .ml-split__media { order: 2; }
.ml-elementor-section.mlhf-root .ml-split__media { position: relative; margin-bottom: 32px; min-width: 0; }
.ml-elementor-section.mlhf-root .ml-split__main { margin: 0; border-radius: var(--ml-radius); overflow: hidden; box-shadow: var(--ml-shadow); aspect-ratio: 4 / 5; max-width: 100%; }
.ml-elementor-section.mlhf-root .ml-split--square .ml-split__main { aspect-ratio: 1; }
.ml-elementor-section.mlhf-root .ml-split--landscape .ml-split__main { aspect-ratio: 4 / 3; }
.ml-elementor-section.mlhf-root .ml-split__main img,
.ml-elementor-section.mlhf-root .ml-split__small img { width: 100%; height: 100%; object-fit: cover; }
.ml-elementor-section.mlhf-root .ml-split__small {
  position: absolute; right: -28px; bottom: -36px; width: 30%; aspect-ratio: 1; margin: 0;
  border-radius: 16px; overflow: hidden; border: 6px solid var(--ml-sec-bg, var(--ml-parchment)); box-shadow: var(--ml-shadow);
}
.ml-elementor-section.mlhf-root .ml-split--right .ml-split__small { right: auto; left: -28px; }
.ml-elementor-section.mlhf-root .ml-band--sand .ml-split__small { border-color: var(--ml-sec-bg, var(--ml-sand)); }
.ml-elementor-section.mlhf-root .ml-band--espresso .ml-split__small { border-color: var(--ml-sec-bg, var(--ml-espresso)); }
.ml-elementor-section.mlhf-root .ml-journey .ml-split__small { border-color: var(--ml-sec-bg, var(--ml-ink)); }
.ml-elementor-section.mlhf-root .ml-split__badge {
  position: absolute; left: -14px; bottom: 8%; max-width: 200px; display: flex; align-items: center; gap: 9px;
  padding: 9px 12px; border-radius: 12px; background: var(--ml-espresso); color: var(--ml-cream); box-shadow: var(--ml-shadow);
}
.ml-elementor-section.mlhf-root .ml-split--right .ml-split__badge { left: auto; right: -14px; }
.ml-elementor-section.mlhf-root .ml-split__badge img { width: 28px; height: 28px; flex: none; }
.ml-elementor-section.mlhf-root .ml-split__badge b { display: block; font-family: var(--ml-font-mark); font-size: .56rem; font-weight: 400; letter-spacing: .2em; text-transform: uppercase; color: var(--ml-gold); }
.ml-elementor-section.mlhf-root .ml-split__badge span { display: block; margin-top: 2px; font-size: .74rem; line-height: 1.3; }
.ml-elementor-section.mlhf-root .ml-band--espresso .ml-split__badge,
.ml-elementor-section.mlhf-root .ml-journey .ml-split__badge { background: var(--ml-gold); color: var(--ml-ink); }
.ml-elementor-section.mlhf-root .ml-band--espresso .ml-split__badge b,
.ml-elementor-section.mlhf-root .ml-journey .ml-split__badge b { color: var(--ml-ink); }
.ml-elementor-section.mlhf-root .ml-split__copy { min-width: 0; }
.ml-elementor-section.mlhf-root .ml-split__body { margin-top: 22px; }
.ml-elementor-section.mlhf-root .ml-split__body > * + * { margin-top: 16px; }
.ml-elementor-section.mlhf-root .ml-split__body a { color: var(--ml-gold-deep); text-decoration: underline; text-underline-offset: 3px; }
.ml-elementor-section.mlhf-root .ml-split__body ul, .ml-elementor-section.mlhf-root .ml-split__body ol { padding-left: 1.2em; list-style: disc; }
.ml-elementor-section.mlhf-root .ml-band--espresso .ml-split__body,
.ml-elementor-section.mlhf-root .ml-journey .ml-split__body { color: rgba(255, 240, 210, .86); }
.ml-elementor-section.mlhf-root .ml-split__list { margin-top: 26px; display: grid; gap: 12px; }
.ml-elementor-section.mlhf-root .ml-split__list li { display: flex; align-items: flex-start; gap: 12px; font-weight: 600; line-height: 1.45; }
.ml-elementor-section.mlhf-root .ml-split__list svg { width: 22px; height: 22px; flex: none; margin-top: 1px; color: var(--ml-sec-accent, var(--ml-gold-deep)); }
.ml-elementor-section.mlhf-root .ml-band--espresso .ml-split__list svg,
.ml-elementor-section.mlhf-root .ml-journey .ml-split__list svg { color: var(--ml-gold); }
.ml-elementor-section.mlhf-root .ml-split__actions { margin-top: 32px; display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.ml-elementor-section.mlhf-root .ml-band--espresso .ml-link,
.ml-elementor-section.mlhf-root .ml-journey .ml-link { color: var(--ml-gold); }

/* ---------- Mission & vision ---------- */
.ml-elementor-section.mlhf-root .ml-mission__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.ml-elementor-section.mlhf-root .ml-mission__card {
  position: relative; overflow: hidden; min-width: 0; padding: clamp(28px, 4vw, 52px);
  border: 1px solid rgba(255, 240, 210, .14); border-radius: var(--ml-radius);
  background: linear-gradient(160deg, rgba(255, 240, 210, .07), rgba(255, 240, 210, .01));
}
.ml-elementor-section.mlhf-root .ml-mission__mark { position: absolute; right: -44px; top: -44px; width: 190px; max-width: none; opacity: .13; pointer-events: none; }
.ml-elementor-section.mlhf-root .ml-mission__label { font-family: var(--ml-font-mark); font-size: .72rem; letter-spacing: .28em; text-transform: uppercase; color: var(--ml-gold); }
.ml-elementor-section.mlhf-root .ml-mission__text { position: relative; margin-top: 18px; font-family: var(--ml-font-display); font-size: clamp(1.15rem, 1.8vw, 1.5rem); line-height: 1.5; font-variation-settings: "SOFT" 80, "opsz" 36; color: var(--ml-sec-text, var(--ml-cream)); }

/* ---------- Growing regions ---------- */
.ml-elementor-section.mlhf-root .ml-regions__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ml-elementor-section.mlhf-root .ml-region { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--ml-line); border-radius: var(--ml-radius); transition: transform .35s var(--ml-ease), box-shadow .35s; }
.ml-elementor-section.mlhf-root .ml-region:hover { transform: translateY(-4px); box-shadow: var(--ml-shadow); }
.ml-elementor-section.mlhf-root .ml-region__img { position: relative; aspect-ratio: 16 / 10; overflow: hidden; max-width: 100%; }
.ml-elementor-section.mlhf-root .ml-region__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ml-ease); }
.ml-elementor-section.mlhf-root .ml-region:hover .ml-region__img img { transform: scale(1.05); }
.ml-elementor-section.mlhf-root .ml-region__tag { position: absolute; left: 16px; top: 16px; padding: 8px 12px 6px; border-radius: 999px; background: rgba(36, 21, 20, .62); backdrop-filter: blur(6px); color: var(--ml-cream); font-family: var(--ml-font-mark); font-size: .6rem; letter-spacing: .22em; text-transform: uppercase; }
.ml-elementor-section.mlhf-root .ml-region__body { flex: 1; display: flex; flex-direction: column; gap: 14px; padding: clamp(22px, 3vw, 34px); }
.ml-elementor-section.mlhf-root .ml-region__body h3 { font-size: clamp(1.5rem, 2.4vw, 2rem); }
.ml-elementor-section.mlhf-root .ml-region__body p { color: var(--ml-sec-muted, var(--ml-muted)); font-size: .98rem; }
.ml-elementor-section.mlhf-root .ml-region__facts { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--ml-line); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; }
.ml-elementor-section.mlhf-root .ml-region__facts dt { font-family: var(--ml-font-mark); font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ml-muted); }
.ml-elementor-section.mlhf-root .ml-region__facts dd { margin-top: 4px; font-family: var(--ml-font-display); font-size: 1.05rem; line-height: 1.3; color: var(--ml-espresso); }
.ml-elementor-section.mlhf-root .ml-regions__note { margin-top: 28px; text-align: center; font-size: .92rem; color: var(--ml-sec-muted, var(--ml-muted)); }

/* ---------- FAQ ---------- */
.ml-elementor-section.mlhf-root .ml-faq__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.ml-elementor-section.mlhf-root .ml-faq__side { position: sticky; top: 110px; min-width: 0; }
.ml-elementor-section.mlhf-root .ml-faq__actions { margin-top: 28px; }
.ml-elementor-section.mlhf-root .ml-faq__list { display: grid; gap: 12px; min-width: 0; }
.ml-elementor-section.mlhf-root .ml-faq__item { padding: 0 24px; background: #fff; border: 1px solid var(--ml-line); border-radius: var(--ml-radius-sm); transition: border-color .2s, box-shadow .2s; }
.ml-elementor-section.mlhf-root .ml-faq__item[open] { border-color: var(--ml-gold); box-shadow: 0 18px 40px -28px rgba(36, 21, 20, .4); }
.ml-elementor-section.mlhf-root .ml-faq__item summary {
  list-style: none; cursor: pointer; padding: 22px 0; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  font-family: var(--ml-font-display); font-weight: 500; font-size: 1.15rem; line-height: 1.3; color: var(--ml-ink);
}
.ml-elementor-section.mlhf-root .ml-faq__item summary::-webkit-details-marker { display: none; }
.ml-elementor-section.mlhf-root .ml-faq__item summary::after {
  content: "+"; flex: none; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--ml-line);
  display: grid; place-items: center; font-family: var(--ml-font-body); font-size: 1.15rem; line-height: 1; color: var(--ml-gold-deep);
  transition: transform .3s var(--ml-ease), background .2s;
}
.ml-elementor-section.mlhf-root .ml-faq__item[open] summary::after { transform: rotate(45deg); background: var(--ml-sand); }
.ml-elementor-section.mlhf-root .ml-faq__item summary:focus-visible { outline: 3px solid var(--ml-gold); outline-offset: 4px; border-radius: 6px; }
.ml-elementor-section.mlhf-root .ml-faq__answer { padding: 0 0 22px; }
.ml-elementor-section.mlhf-root .ml-faq__answer p { max-width: 62ch; color: var(--ml-muted); }

/* ---------- Call to action ---------- */
.ml-elementor-section.mlhf-root > section.ml-sec.ml-cta { padding-block: var(--ml-pad-top, clamp(56px, 7vw, 96px)) var(--ml-pad-bottom, clamp(56px, 7vw, 96px)); }
.ml-elementor-section.mlhf-root .ml-cta__card {
  position: relative; overflow: hidden; isolation: isolate; text-align: center;
  padding: clamp(48px, 7vw, 96px) clamp(22px, 5vw, 72px); border-radius: calc(var(--ml-radius) + 6px);
  background: var(--ml-espresso-deep); color: var(--ml-cream); box-shadow: var(--ml-shadow);
}
.ml-elementor-section.mlhf-root .ml-cta__media { position: absolute; inset: 0; z-index: -3; }
.ml-elementor-section.mlhf-root .ml-cta__media img { width: 100%; height: 100%; object-fit: cover; opacity: .3; }
.ml-elementor-section.mlhf-root .ml-cta__card::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 82% 0%, rgba(201, 160, 99, .3), transparent 55%), linear-gradient(180deg, rgba(58, 35, 34, .55), rgba(36, 21, 20, .92)); }
.ml-elementor-section.mlhf-root .ml-cta__mark { position: absolute; left: -60px; bottom: -70px; width: 260px; max-width: none; opacity: .07; z-index: -1; pointer-events: none; }
.ml-elementor-section.mlhf-root .ml-cta__card .ml-section-head { margin-bottom: 0; }
.ml-elementor-section.mlhf-root > section.ml-sec.ml-cta .ml-cta__card .ml-eyebrow { color: var(--ml-gold); }
.ml-elementor-section.mlhf-root > section.ml-sec.ml-cta .ml-cta__card .ml-lede { color: rgba(255, 240, 210, .82); }
.ml-elementor-section.mlhf-root .ml-cta__card .ml-section-title em { color: var(--ml-gold); }
.ml-elementor-section.mlhf-root .ml-cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 32px; }

/* ---------- Envira gallery inside the design ---------- */
.ml-elementor-section.mlhf-root .ml-envira { --ml-envira-radius: 14px; min-height: 120px; }
.ml-elementor-section.mlhf-root .ml-envira .envira-gallery-wrap { margin: 0; }
.ml-elementor-section.mlhf-root .ml-envira .envira-gallery-item-inner,
.ml-elementor-section.mlhf-root .ml-envira .envira-gallery-item a { border-radius: var(--ml-envira-radius); overflow: hidden; display: block; }
/* Only fade and zoom photos; Envira's "transition: all" would animate the
   justified layout (margins, sizes) and make photos jump on load. */
.ml-elementor-section.mlhf-root .ml-envira .envira-gallery-wrap .envira-gallery-public .envira-gallery-item img { border-radius: var(--ml-envira-radius); transition: opacity .35s ease, transform .8s var(--ml-ease), filter .4s; }
.ml-elementor-section.mlhf-root .ml-envira .envira-gallery-wrap .envira-gallery-public .envira-gallery-item a:hover img { transform: scale(1.04); filter: saturate(1.05); }
.ml-elementor-section.mlhf-root .ml-envira .envira-gallery-item a:focus-visible { outline: 2px solid var(--ml-gold); outline-offset: -2px; }

/* Envira lightbox in brand colours. The lightbox is appended to <body>, so it
   is scoped with :has() to pages that carry the Mambo Leo gallery widget only. */
body:has(.mlhf-root .ml-envira) #envirabox-overlay { background-color: #1A0F0E !important; }
body:has(.mlhf-root .ml-envira) #envirabox-outer { background: transparent !important; box-shadow: none !important; }
body:has(.mlhf-root .ml-envira) #envirabox-content { border-color: transparent !important; background: transparent !important; }
body:has(.mlhf-root .ml-envira) #envirabox-img { border-radius: 12px; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .7); }
body:has(.mlhf-root .ml-envira) #envirabox-title-float-left,
body:has(.mlhf-root .ml-envira) #envirabox-title-float-right { background: none !important; padding: 0 !important; }
body:has(.mlhf-root .ml-envira) #envirabox-title-float-main {
  background: #F3E7D3 !important; color: #2A1714 !important; border-radius: 999px !important; padding: 7px 20px !important;
  font: 600 13px/1.4 "Manrope", system-ui, sans-serif !important; letter-spacing: .01em; text-shadow: none !important;
}

/* Phones: an even, cropped grid instead of tall single-photo rows.
   !important is needed to override the inline positions Envira's script writes. */
@media (max-width: 767px) {
  .ml-elementor-section.mlhf-root .ml-envira--mgrid .envira-gallery-public.justified-gallery {
    display: grid !important; grid-template-columns: repeat(var(--ml-envira-mcols, 2), minmax(0, 1fr));
    gap: var(--ml-envira-mgap, 8px); height: auto !important; opacity: 1 !important;
  }
  .ml-elementor-section.mlhf-root .ml-envira--mgrid .envira-gallery-public.justified-gallery > .envira-gallery-item {
    padding: 0 !important; margin: 0 !important; width: auto !important; height: auto !important; position: static !important; float: none !important;
  }
  .ml-elementor-section.mlhf-root .ml-envira--mgrid .envira-gallery-public.justified-gallery .jg-entry {
    position: relative !important; top: auto !important; left: auto !important;
    width: 100% !important; height: auto !important; aspect-ratio: var(--ml-envira-mratio, 1 / 1); opacity: 1 !important;
  }
  .ml-elementor-section.mlhf-root .ml-envira--mgrid .envira-gallery-public.justified-gallery .jg-entry img {
    position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
    margin: 0 !important; max-width: none !important; object-fit: cover;
  }
  .ml-elementor-section.mlhf-root .ml-envira--mgrid .envira-gallery-public.justified-gallery .jg-entry .caption { display: none !important; }
}
.ml-elementor-section.mlhf-root .ml-envira__foot { margin-top: 30px; text-align: center; }
.ml-elementor-section.mlhf-root .ml-envira__notice { padding: 28px; text-align: center; border: 1px dashed var(--ml-gold); border-radius: 14px; color: var(--ml-muted); }
.ml-elementor-section.mlhf-root .ml-envira__preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; margin-top: 16px; }
.ml-elementor-section.mlhf-root .ml-envira__preview img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--ml-envira-radius); }

/* ---------- Responsive ---------- */
@media (max-width: 860px) {
  .ml-elementor-section.mlhf-root .ml-split__grid,
  .ml-elementor-section.mlhf-root .ml-mission__grid,
  .ml-elementor-section.mlhf-root .ml-regions__grid,
  .ml-elementor-section.mlhf-root .ml-faq__grid { grid-template-columns: 1fr; }
  .ml-elementor-section.mlhf-root .ml-split--right .ml-split__media { order: 0; }
  .ml-elementor-section.mlhf-root .ml-split__main { aspect-ratio: 4 / 3; }
  .ml-elementor-section.mlhf-root .ml-split__small { right: 12px; bottom: -28px; width: 28%; }
  .ml-elementor-section.mlhf-root .ml-split--right .ml-split__small { left: auto; right: 12px; }
  .ml-elementor-section.mlhf-root .ml-split__badge { left: 12px; top: auto; bottom: 12px; }
  .ml-elementor-section.mlhf-root .ml-split--right .ml-split__badge { right: auto; left: 12px; }
  .ml-elementor-section.mlhf-root .ml-faq__side { position: static; }
  .ml-elementor-section.mlhf-root > section.ml-sec.ml-phero { min-height: 0; }
  .ml-elementor-section.mlhf-root .ml-phero__inner { padding-top: 150px; }
}
@media (max-width: 600px) {
  .ml-elementor-section.mlhf-root .ml-phero__inner { padding-top: 130px; padding-bottom: 56px; }
  .ml-elementor-section.mlhf-root .ml-phero__actions .ml-btn,
  .ml-elementor-section.mlhf-root .ml-cta__actions .ml-btn { width: 100%; }
  .ml-elementor-section.mlhf-root .ml-split__badge { max-width: 170px; padding: 8px 10px; }
  .ml-elementor-section.mlhf-root .ml-split__badge img { width: 24px; height: 24px; }
  .ml-elementor-section.mlhf-root .ml-faq__item { padding: 0 18px; }
  .ml-elementor-section.mlhf-root .ml-faq__item summary { font-size: 1.05rem; padding: 18px 0; }
  .ml-elementor-section.mlhf-root .ml-region__facts { grid-template-columns: 1fr 1fr; gap: 12px; }
}

/* ==========================================================================
   Founders + Membership (IWCA Australia)
   ========================================================================== */
.ml-elementor-section.mlhf-root .ml-founders { --ml-founder-photo: 330px; --ml-founder-ratio: 1 / 2; }
.ml-elementor-section.mlhf-root .ml-founders__list { display: grid; gap: clamp(56px, 7vw, 96px); }
.ml-elementor-section.mlhf-root .ml-founder { isolation: isolate; display: grid; grid-template-columns: var(--ml-founder-photo) minmax(0, 1fr); align-items: center; gap: clamp(32px, 6vw, 96px); }
.ml-elementor-section.mlhf-root .ml-founders__list--alt .ml-founder:nth-child(even) { grid-template-columns: minmax(0, 1fr) var(--ml-founder-photo); }
.ml-elementor-section.mlhf-root .ml-founders__list--alt .ml-founder:nth-child(even) .ml-founder__photo { order: 2; }
/* The frame has the photo's own shape, so the whole photo shows. */
.ml-elementor-section.mlhf-root .ml-founder__photo { position: relative; margin: 0; width: 100%; aspect-ratio: var(--ml-founder-ratio); border-radius: var(--ml-radius); background: var(--ml-sand-deep); box-shadow: 0 34px 60px -34px rgba(36, 21, 20, .55); }
.ml-elementor-section.mlhf-root .ml-founder__photo::after { content: ""; position: absolute; inset: 14px -14px -14px 14px; z-index: -1; border: 1px solid var(--ml-gold); border-radius: var(--ml-radius); }
.ml-elementor-section.mlhf-root .ml-founders__list--alt .ml-founder:nth-child(even) .ml-founder__photo::after { inset: 14px 14px -14px -14px; }
.ml-elementor-section.mlhf-root .ml-founder__photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center 20%; border-radius: var(--ml-radius); }
.ml-elementor-section.mlhf-root .ml-founder__body { max-width: 640px; }
.ml-elementor-section.mlhf-root .ml-founders__list--alt .ml-founder:nth-child(even) .ml-founder__body { justify-self: end; }
.ml-elementor-section.mlhf-root .ml-founder__role { display: flex; align-items: center; gap: 12px; font-family: var(--ml-font-mark); font-size: .72rem; letter-spacing: .28em; text-transform: uppercase; color: var(--ml-gold-deep); }
.ml-elementor-section.mlhf-root .ml-founder__role::before { content: ""; width: 34px; height: 1px; background: currentColor; opacity: .7; }
.ml-elementor-section.mlhf-root .ml-founder__name { margin-top: 10px; font-size: clamp(2.4rem, 4.4vw, 3.6rem); line-height: 1; color: var(--ml-ink); }
.ml-elementor-section.mlhf-root .ml-founder__tagline { margin-top: 16px; font-family: var(--ml-font-display); font-style: italic; font-size: clamp(1.15rem, 1.6vw, 1.4rem); line-height: 1.4; color: var(--ml-espresso); }
.ml-elementor-section.mlhf-root .ml-founder__bio p { margin-top: 14px; font-size: 1.02rem; line-height: 1.75; color: var(--ml-muted); }
.ml-elementor-section.mlhf-root .ml-founder__bio p:first-child { margin-top: 18px; padding-left: 18px; border-left: 2px solid var(--ml-gold); font-family: var(--ml-font-display); font-style: italic; font-size: clamp(1.15rem, 1.6vw, 1.4rem); line-height: 1.45; color: var(--ml-espresso); font-variation-settings: "SOFT" 100, "opsz" 72; }
.ml-elementor-section.mlhf-root .ml-member__card { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: clamp(28px, 5vw, 64px); max-width: 1040px; margin-inline: auto; }
.ml-elementor-section.mlhf-root a.ml-member__badge { display: flex; align-items: center; justify-content: center; width: clamp(150px, 17vw, 210px); aspect-ratio: 1; padding: clamp(16px, 2vw, 24px); border-radius: 24px; background: #FFF8EC; box-shadow: 0 24px 50px -28px rgba(0, 0, 0, .55); transition: transform .4s var(--ml-ease); }
.ml-elementor-section.mlhf-root a.ml-member__badge:hover { transform: translateY(-4px); }
.ml-elementor-section.mlhf-root .ml-member__badge img { width: auto; height: 100%; max-width: 100%; object-fit: contain; }
.ml-elementor-section.mlhf-root .ml-member__title { font-size: clamp(1.7rem, 3vw, 2.5rem); }
.ml-elementor-section.mlhf-root .ml-member__text { margin-top: 16px; max-width: 62ch; font-size: clamp(1rem, 1.25vw, 1.1rem); line-height: 1.65; color: var(--ml-muted); }
.ml-elementor-section.mlhf-root .ml-member__link { margin-top: 20px; }
.ml-elementor-section.mlhf-root .ml-member.ml-band--espresso .ml-member__title em { color: var(--ml-gold); }
.ml-elementor-section.mlhf-root .ml-member.ml-band--espresso .ml-member__text { color: rgba(255, 240, 210, .82); }
.ml-elementor-section.mlhf-root .ml-member.ml-band--espresso .ml-member__link { color: var(--ml-gold); }

@media (max-width: 1100px) {
  .ml-elementor-section.mlhf-root .ml-founders { --ml-founder-photo: 260px; }
}
@media (max-width: 600px) {
  .ml-elementor-section.mlhf-root .ml-founder,
  .ml-elementor-section.mlhf-root .ml-founders__list--alt .ml-founder:nth-child(even) { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .ml-elementor-section.mlhf-root .ml-founders__list--alt .ml-founder:nth-child(even) .ml-founder__photo { order: 0; }
  .ml-elementor-section.mlhf-root .ml-founder__photo { width: min(250px, 72%); justify-self: center; }
  .ml-elementor-section.mlhf-root .ml-founders__list--alt .ml-founder:nth-child(even) .ml-founder__body { justify-self: start; }
  .ml-elementor-section.mlhf-root .ml-member__card { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .ml-elementor-section.mlhf-root a.ml-member__badge { width: 140px; }
}

/* ==========================================================================
   Blog: Post Hero, Post Content, Post Grid (Journal page, archives, related)
   ========================================================================== */

/* ---------- Post hero ---------- */
.ml-elementor-section.mlhf-root > section.ml-sec.ml-ph { position: relative; isolation: isolate; background: var(--ml-sec-bg, var(--ml-parchment)); color: var(--ml-ink); }
.ml-elementor-section.mlhf-root .ml-ph__band {
  position: relative; overflow: hidden; color: var(--ml-ph-text, var(--ml-cream));
  background: radial-gradient(circle at 82% 18%, rgba(201, 160, 99, .16), transparent 52%), var(--ml-ph-band, var(--ml-ink));
  padding-top: 168px; padding-bottom: clamp(150px, 15vw, 210px);
}
.ml-elementor-section.mlhf-root .ml-ph__mark { position: absolute; right: -80px; top: 50px; width: clamp(240px, 30vw, 440px); max-width: none; opacity: .07; pointer-events: none; }
.ml-elementor-section.mlhf-root .ml-ph__inner { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; }
.ml-elementor-section.mlhf-root .ml-ph__crumbs { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; margin-bottom: 28px; font-family: var(--ml-font-mark); font-size: .68rem; letter-spacing: .24em; text-transform: uppercase; color: rgba(255, 240, 210, .62); }
.ml-elementor-section.mlhf-root .ml-ph__crumbs a { color: inherit; transition: color .25s; }
.ml-elementor-section.mlhf-root .ml-ph__crumbs a:hover { color: var(--ml-gold); }
.ml-elementor-section.mlhf-root .ml-ph__cat {
  display: inline-flex; align-items: center; padding: 8px 16px; margin-bottom: 24px; border: 1px solid rgba(201, 160, 99, .55); border-radius: 999px;
  font-family: var(--ml-font-mark); font-size: .68rem; letter-spacing: .24em; text-transform: uppercase; color: var(--ml-gold); transition: background .3s, color .3s;
}
.ml-elementor-section.mlhf-root .ml-ph__cat:hover { background: var(--ml-gold); color: var(--ml-ink); }
.ml-elementor-section.mlhf-root .ml-ph__title {
  margin: 0; max-width: 22ch; font-family: var(--ml-font-display); font-weight: 500; line-height: 1.07; letter-spacing: -.015em;
  font-size: clamp(2.2rem, 4.8vw, 4rem); text-wrap: balance; font-variation-settings: "SOFT" 60, "opsz" 72; color: inherit;
}
.ml-elementor-section.mlhf-root .ml-ph__lede { margin-top: 22px; max-width: 62ch; font-size: clamp(1.04rem, 1.35vw, 1.18rem); line-height: 1.65; color: rgba(255, 240, 210, .8); }
.ml-elementor-section.mlhf-root .ml-ph__meta { margin-top: 30px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 26px; font-size: .92rem; color: rgba(255, 240, 210, .7); }
.ml-elementor-section.mlhf-root .ml-ph__meta > * { position: relative; }
.ml-elementor-section.mlhf-root .ml-ph__meta > * + *::before { content: ""; position: absolute; left: -15px; top: 50%; width: 4px; height: 4px; margin-top: -2px; border-radius: 50%; background: var(--ml-gold); }
.ml-elementor-section.mlhf-root .ml-ph__by { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; color: var(--ml-ph-text, var(--ml-cream)); }
.ml-elementor-section.mlhf-root .ml-ph__by img { width: 32px; height: 32px; padding: 5px; border-radius: 50%; border: 1px solid rgba(201, 160, 99, .45); background: rgba(255, 240, 210, .06); }
.ml-elementor-section.mlhf-root .ml-ph__figure { position: relative; z-index: 1; margin-top: calc(-1 * clamp(110px, 12vw, 160px)); }
.ml-elementor-section.mlhf-root .ml-ph__figure figure { margin: 0; }
.ml-elementor-section.mlhf-root .ml-ph__figure-frame { aspect-ratio: 16 / 8; overflow: hidden; border-radius: var(--ml-radius); background: var(--ml-sand); box-shadow: 0 40px 80px -40px rgba(36, 21, 20, .55); }
.ml-elementor-section.mlhf-root .ml-ph__figure-frame img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.ml-elementor-section.mlhf-root .ml-ph__figure figcaption { margin-top: 12px; text-align: center; font-size: .86rem; color: var(--ml-muted); }
.ml-elementor-section.mlhf-root .ml-ph__empty { padding: 160px 0 80px; text-align: center; color: var(--ml-muted); }
/* Cover layout: photo behind the title. */
.ml-elementor-section.mlhf-root > section.ml-sec.ml-ph--cover { display: flex; align-items: flex-end; min-height: clamp(520px, 78vh, 760px); background: var(--ml-ink); overflow: hidden; }
.ml-elementor-section.mlhf-root .ml-ph--cover .ml-ph__band { width: 100%; background: transparent; padding-bottom: clamp(64px, 8vw, 104px); }
.ml-elementor-section.mlhf-root .ml-ph__media { position: absolute; inset: 0; z-index: -2; }
.ml-elementor-section.mlhf-root .ml-ph__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.ml-elementor-section.mlhf-root .ml-ph__scrim { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(36, 21, 20, .94) 0%, rgba(36, 21, 20, .6) 50%, rgba(36, 21, 20, .35) 100%); }

/* ---------- Post content ---------- */
.ml-elementor-section.mlhf-root > section.ml-sec.ml-pb { padding-top: var(--ml-pad-top, clamp(48px, 6vw, 80px)); padding-bottom: var(--ml-pad-bottom, clamp(64px, 8vw, 104px)); }
.ml-elementor-section.mlhf-root .ml-pb__progress { position: fixed; top: 0; left: 0; right: 0; z-index: 100000; height: 3px; pointer-events: none; opacity: 0; transition: opacity .3s; }
.ml-elementor-section.mlhf-root .ml-pb__progress.is-on { opacity: 1; }
.ml-elementor-section.mlhf-root .ml-pb__progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--ml-gold-deep), var(--ml-gold)); transform: scaleX(0); transform-origin: 0 50%; }
.ml-elementor-section.mlhf-root .ml-pb__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, var(--ml-measure, 720px)) minmax(0, 1fr); column-gap: clamp(24px, 4vw, 56px); }
.ml-elementor-section.mlhf-root .ml-pb__article { grid-column: 2; grid-row: 1; min-width: 0; }
.ml-elementor-section.mlhf-root .ml-pb__share { grid-column: 1; grid-row: 1; justify-self: end; align-self: start; position: sticky; top: 120px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.ml-elementor-section.mlhf-root .ml-pb__share-label { margin-bottom: 6px; font-family: var(--ml-font-mark); font-size: .62rem; letter-spacing: .24em; text-transform: uppercase; color: var(--ml-muted); writing-mode: vertical-rl; transform: rotate(180deg); }
.ml-elementor-section.mlhf-root .ml-pb__share-link {
  display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0; border-radius: 50%; border: 1px solid var(--ml-line);
  background: #fff; color: var(--ml-espresso); cursor: pointer; transition: background .25s, color .25s, border-color .25s, transform .25s var(--ml-ease);
}
.ml-elementor-section.mlhf-root .ml-pb__share-link svg { width: 17px; height: 17px; }
.ml-elementor-section.mlhf-root .ml-pb__share-link:hover { background: var(--ml-espresso); border-color: var(--ml-espresso); color: var(--ml-cream); transform: translateY(-2px); }
.ml-elementor-section.mlhf-root .ml-pb__copied { position: absolute; top: 100%; left: 50%; margin-top: 8px; transform: translateX(-50%); white-space: nowrap; font-size: .78rem; font-weight: 600; color: var(--ml-gold-deep); opacity: 0; transition: opacity .25s; }
.ml-elementor-section.mlhf-root .ml-pb__copied.is-on { opacity: 1; }

/* Article typography */
.ml-elementor-section.mlhf-root .ml-prose { --ml-prose-heading: var(--ml-ink); --ml-prose-link: var(--ml-gold-deep); font-size: 1.12rem; line-height: 1.8; color: #3B2A28; }
.ml-elementor-section.mlhf-root .ml-prose > * + * { margin-top: 1.35em; }
.ml-elementor-section.mlhf-root .ml-prose > p:first-child { font-size: 1.24em; line-height: 1.65; color: var(--ml-ink); }
.ml-elementor-section.mlhf-root .ml-prose > p:first-child::first-letter { float: left; padding: .06em .12em 0 0; font-family: var(--ml-font-display); font-size: 3.4em; line-height: .82; font-weight: 500; color: var(--ml-gold-deep); }
.ml-elementor-section.mlhf-root .ml-prose h2 { margin-top: 2em; font-family: var(--ml-font-display); font-size: clamp(1.65rem, 2.6vw, 2.15rem); line-height: 1.16; color: var(--ml-prose-heading); }
.ml-elementor-section.mlhf-root .ml-prose h3 { margin-top: 1.7em; font-family: var(--ml-font-display); font-size: clamp(1.28rem, 1.8vw, 1.5rem); line-height: 1.22; color: var(--ml-prose-heading); }
.ml-elementor-section.mlhf-root .ml-prose h4 { margin-top: 1.6em; font-size: 1.05rem; font-weight: 700; color: var(--ml-prose-heading); }
.ml-elementor-section.mlhf-root .ml-prose h2 + *,
.ml-elementor-section.mlhf-root .ml-prose h3 + *,
.ml-elementor-section.mlhf-root .ml-prose h4 + * { margin-top: .7em; }
.ml-elementor-section.mlhf-root .ml-prose a { color: var(--ml-prose-link); text-decoration: underline; text-decoration-thickness: 1px; text-decoration-color: rgba(201, 160, 99, .55); text-underline-offset: 3px; transition: text-decoration-color .25s, color .25s; }
.ml-elementor-section.mlhf-root .ml-prose a:hover { text-decoration-color: currentColor; color: var(--ml-espresso); }
.ml-elementor-section.mlhf-root .ml-prose strong { font-weight: 700; color: var(--ml-ink); }
.ml-elementor-section.mlhf-root .ml-prose li { position: relative; padding-left: 1.6em; }
.ml-elementor-section.mlhf-root .ml-prose li + li { margin-top: .6em; }
.ml-elementor-section.mlhf-root .ml-prose ul > li::before { content: ""; position: absolute; left: .25em; top: .7em; width: 8px; height: 8px; border-radius: 50%; background: var(--ml-gold); }
.ml-elementor-section.mlhf-root .ml-prose ol { counter-reset: ml-ol; }
.ml-elementor-section.mlhf-root .ml-prose ol > li { counter-increment: ml-ol; }
.ml-elementor-section.mlhf-root .ml-prose ol > li::before { content: counter(ml-ol) "."; position: absolute; left: 0; font-weight: 700; color: var(--ml-gold-deep); }
.ml-elementor-section.mlhf-root .ml-prose blockquote { margin: 2.2em 0; padding: 6px 0 6px 28px; border: 0; border-left: 3px solid var(--ml-gold); background: none; }
.ml-elementor-section.mlhf-root .ml-prose blockquote p { margin: 0; font-family: var(--ml-font-display); font-style: italic; font-size: clamp(1.3rem, 2.1vw, 1.65rem); line-height: 1.42; color: var(--ml-espresso); font-variation-settings: "SOFT" 100, "opsz" 72; }
.ml-elementor-section.mlhf-root .ml-prose blockquote cite { display: block; margin-top: 14px; font-style: normal; font-family: var(--ml-font-mark); font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ml-muted); }
.ml-elementor-section.mlhf-root > section.ml-sec.ml-pb .ml-prose figure { margin: 2.2em 0; }
/* Tall (portrait) photos are cropped to a comfortable height instead of filling the screen. */
.ml-elementor-section.mlhf-root > section.ml-sec.ml-pb .ml-prose figure img { max-height: min(78vh, 680px); object-fit: cover; }
.ml-elementor-section.mlhf-root .ml-prose figure img,
.ml-elementor-section.mlhf-root .ml-prose > p img { width: 100%; height: auto; border-radius: 16px; }
.ml-elementor-section.mlhf-root .ml-prose figcaption { margin-top: 12px; text-align: center; font-size: .86rem; line-height: 1.5; color: var(--ml-muted); }
.ml-elementor-section.mlhf-root > section.ml-sec.ml-pb .ml-prose .alignwide { margin-left: calc(-1 * min(120px, 9vw)); margin-right: calc(-1 * min(120px, 9vw)); max-width: none; }
.ml-elementor-section.mlhf-root .ml-prose .alignwide img { border-radius: var(--ml-radius); }
.ml-elementor-section.mlhf-root .ml-prose hr { height: 1px; margin: 2.6em 0; border: 0; background: var(--ml-line); }
.ml-elementor-section.mlhf-root .ml-prose table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.ml-elementor-section.mlhf-root .ml-prose th,
.ml-elementor-section.mlhf-root .ml-prose td { padding: 10px 12px; border-bottom: 1px solid var(--ml-line); text-align: left; }
.ml-elementor-section.mlhf-root .ml-prose iframe,
.ml-elementor-section.mlhf-root .ml-prose video { max-width: 100%; border-radius: 16px; }

/* After the article */
.ml-elementor-section.mlhf-root .ml-pb__after.ml-container { max-width: calc(var(--ml-measure, 720px) + var(--ml-gutter) * 2); margin-top: 48px; }
.ml-elementor-section.mlhf-root .ml-pb__tags { display: flex; flex-wrap: wrap; gap: 10px; }
.ml-elementor-section.mlhf-root .ml-pb__tags a { display: inline-block; padding: 7px 15px; border-radius: 999px; background: var(--ml-sand); font-size: .86rem; font-weight: 600; color: var(--ml-espresso); transition: background .25s, color .25s; }
.ml-elementor-section.mlhf-root .ml-pb__tags a:hover { background: var(--ml-espresso); color: var(--ml-cream); }
.ml-elementor-section.mlhf-root .ml-pb__box { position: relative; overflow: hidden; display: flex; align-items: flex-start; gap: 24px; margin-top: 40px; padding: clamp(24px, 3vw, 34px); border-radius: var(--ml-radius); background: var(--ml-espresso); color: var(--ml-cream); }
.ml-elementor-section.mlhf-root .ml-pb__box::after { content: ""; position: absolute; right: -60px; bottom: -80px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(201, 160, 99, .22), transparent 70%); pointer-events: none; }
.ml-elementor-section.mlhf-root .ml-pb__box-mark { flex: none; width: 64px; height: 64px; padding: 10px; border-radius: 50%; border: 1px solid rgba(201, 160, 99, .4); background: rgba(255, 240, 210, .06); }
.ml-elementor-section.mlhf-root .ml-pb__box-title { font-family: var(--ml-font-display); font-size: 1.4rem; line-height: 1.2; }
.ml-elementor-section.mlhf-root .ml-pb__box-text { margin-top: 8px; font-size: .98rem; color: rgba(255, 240, 210, .78); }
.ml-elementor-section.mlhf-root .ml-pb__box-actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 18px; }
.ml-elementor-section.mlhf-root .ml-pb__box .ml-link { color: var(--ml-gold); }
.ml-elementor-section.mlhf-root .ml-pb__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 40px; }
.ml-elementor-section.mlhf-root .ml-pb__nav-link { display: flex; flex-direction: column; gap: 6px; padding: 22px 24px; border: 1px solid var(--ml-line); border-radius: 16px; background: #fff; transition: border-color .25s, transform .3s var(--ml-ease), box-shadow .3s; }
.ml-elementor-section.mlhf-root .ml-pb__nav-link:hover { border-color: var(--ml-gold); transform: translateY(-3px); box-shadow: 0 20px 40px -28px rgba(36, 21, 20, .45); }
.ml-elementor-section.mlhf-root .ml-pb__nav-link--next { grid-column: 2; text-align: right; }
.ml-elementor-section.mlhf-root .ml-pb__nav-label { font-family: var(--ml-font-mark); font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ml-gold-deep); }
.ml-elementor-section.mlhf-root .ml-pb__nav-title { font-family: var(--ml-font-display); font-size: 1.14rem; line-height: 1.3; color: var(--ml-ink); }

/* ---------- Post grid ---------- */
.ml-elementor-section.mlhf-root .ml-pg__filter { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: clamp(32px, 4vw, 48px); }
.ml-elementor-section.mlhf-root .ml-pg__chip { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 999px; border: 1px solid var(--ml-line); background: #fff; font-size: .9rem; font-weight: 600; color: var(--ml-espresso); transition: background .25s, color .25s, border-color .25s; }
.ml-elementor-section.mlhf-root .ml-pg__chip span { font-size: .74rem; font-weight: 700; color: var(--ml-gold-deep); }
.ml-elementor-section.mlhf-root .ml-pg__chip:hover,
.ml-elementor-section.mlhf-root .ml-pg__chip.is-active { background: var(--ml-espresso); border-color: var(--ml-espresso); color: var(--ml-cream); }
.ml-elementor-section.mlhf-root .ml-pg__chip:hover span,
.ml-elementor-section.mlhf-root .ml-pg__chip.is-active span { color: var(--ml-gold); }
.ml-elementor-section.mlhf-root .ml-posts.ml-pg__grid { grid-template-columns: repeat(var(--ml-pg-cols, 3), minmax(0, 1fr)); gap: clamp(32px, 4vw, 48px) clamp(20px, 2.4vw, 28px); }
.ml-elementor-section.mlhf-root .ml-pg .ml-post__body { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.ml-elementor-section.mlhf-root .ml-pg .ml-post__meta { flex-wrap: wrap; row-gap: 6px; }
.ml-elementor-section.mlhf-root .ml-pg .ml-post__meta a { color: inherit; transition: color .25s; }
.ml-elementor-section.mlhf-root .ml-pg .ml-post__meta a:hover { color: var(--ml-espresso); }
.ml-elementor-section.mlhf-root .ml-pg .ml-post__body .ml-link { align-self: flex-start; }
.ml-elementor-section.mlhf-root .ml-pg__featured { margin-bottom: clamp(40px, 5vw, 64px); }
.ml-elementor-section.mlhf-root .ml-post.ml-post--featured { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; gap: clamp(28px, 4vw, 64px); }
.ml-elementor-section.mlhf-root .ml-post--featured .ml-post__img { aspect-ratio: 16 / 11; border-radius: var(--ml-radius); box-shadow: var(--ml-shadow); }
.ml-elementor-section.mlhf-root .ml-post--featured .ml-post__meta { margin-top: 0; }
.ml-elementor-section.mlhf-root .ml-post--featured h2 { margin-top: 14px; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.12; }
.ml-elementor-section.mlhf-root .ml-post--featured h2 a:hover { color: var(--ml-gold-deep); }
.ml-elementor-section.mlhf-root .ml-post--featured p { margin-top: 16px; font-size: 1.04rem; }
.ml-elementor-section.mlhf-root .ml-post--featured .ml-link { margin-top: 22px; }
.ml-elementor-section.mlhf-root .ml-pg__pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: clamp(40px, 5vw, 64px); }
.ml-elementor-section.mlhf-root .ml-pg__pages .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 46px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--ml-line); background: #fff; font-weight: 600; color: var(--ml-espresso); transition: background .25s, color .25s; }
.ml-elementor-section.mlhf-root .ml-pg__pages a.page-numbers:hover,
.ml-elementor-section.mlhf-root .ml-pg__pages .page-numbers.current { background: var(--ml-espresso); border-color: var(--ml-espresso); color: var(--ml-cream); }
.ml-elementor-section.mlhf-root .ml-pg__pages .page-numbers.dots { border: 0; background: none; }
.ml-elementor-section.mlhf-root .ml-pg__empty { padding: 40px 0; text-align: center; color: var(--ml-muted); }
.ml-elementor-section.mlhf-root .ml-pg__all { display: flex; justify-content: center; margin-top: clamp(40px, 5vw, 56px); }

/* Avoid a lone card on the last row: 4 posts → 4 across, 2 posts → 2 across (desktop only). */
@media (min-width: 1025px) {
  .ml-elementor-section.mlhf-root .ml-posts.ml-pg__grid--n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ml-elementor-section.mlhf-root .ml-posts.ml-pg__grid--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ml-elementor-section.mlhf-root .ml-pg__grid--n4 .ml-post h3 { font-size: 1.18rem; }
}
@media (max-width: 1024px) {
  .ml-elementor-section.mlhf-root .ml-pb__grid { grid-template-columns: minmax(0, 1fr); max-width: calc(var(--ml-measure, 720px) + var(--ml-gutter) * 2); }
  .ml-elementor-section.mlhf-root .ml-pb__article { grid-column: 1; }
  .ml-elementor-section.mlhf-root .ml-pb__share { grid-column: 1; grid-row: 2; position: relative; top: auto; justify-self: start; flex-direction: row; flex-wrap: wrap; margin-top: 40px; }
  .ml-elementor-section.mlhf-root .ml-pb__share-label { writing-mode: horizontal-tb; transform: none; margin: 0 6px 0 0; }
  .ml-elementor-section.mlhf-root .ml-pb__copied { left: 0; transform: none; }
  .ml-elementor-section.mlhf-root > section.ml-sec.ml-pb .ml-prose .alignwide { margin-left: 0; margin-right: 0; }
}
@media (max-width: 860px) {
  .ml-elementor-section.mlhf-root .ml-post.ml-post--featured { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ml-elementor-section.mlhf-root .ml-post--featured .ml-post__meta { margin-top: 20px; }
  .ml-elementor-section.mlhf-root .ml-ph__band { padding-top: 140px; }
}
@media (max-width: 600px) {
  .ml-elementor-section.mlhf-root .ml-ph__band { padding-top: 124px; padding-bottom: 120px; }
  .ml-elementor-section.mlhf-root .ml-ph__figure { margin-top: -84px; }
  .ml-elementor-section.mlhf-root .ml-ph__figure-frame { aspect-ratio: 4 / 3; border-radius: 16px; }
  .ml-elementor-section.mlhf-root .ml-ph__meta { gap: 8px 22px; font-size: .86rem; }
  .ml-elementor-section.mlhf-root .ml-ph__by { flex-basis: 100%; justify-content: center; }
  .ml-elementor-section.mlhf-root .ml-ph__by + *::before { display: none; }
  .ml-elementor-section.mlhf-root .ml-prose { font-size: 1.04rem; line-height: 1.75; }
  .ml-elementor-section.mlhf-root .ml-prose > p:first-child { font-size: 1.14em; }
  .ml-elementor-section.mlhf-root .ml-prose blockquote { padding-left: 20px; }
  .ml-elementor-section.mlhf-root .ml-pb__box { flex-direction: column; gap: 16px; }
  .ml-elementor-section.mlhf-root .ml-pb__nav { grid-template-columns: 1fr; }
  .ml-elementor-section.mlhf-root .ml-pb__nav-link--next { grid-column: 1; }
  .ml-elementor-section.mlhf-root .ml-pg__filter { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(-1 * var(--ml-gutter)); padding: 2px var(--ml-gutter) 6px; scrollbar-width: none; }
  .ml-elementor-section.mlhf-root .ml-pg__filter::-webkit-scrollbar { display: none; }
  .ml-elementor-section.mlhf-root .ml-pg__chip { flex: none; }
}

/* ==========================================================================
   Flavour ticker (ml_ticker) and cupping notes (ml_taste), October 2026
   ========================================================================== */
.ml-elementor-section.mlhf-root .ml-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ml-elementor-section.mlhf-root > section.ml-sec.ml-ticker { position: relative; overflow: hidden; padding: 18px 0; background: var(--ml-sec-bg, var(--ml-espresso)); color: var(--ml-sec-text, var(--ml-cream)); border-block: 1px solid rgba(255, 240, 210, .1); }
.ml-elementor-section.mlhf-root .ml-ticker__track { display: flex; width: max-content; animation: mlhfTicker var(--ml-ticker-speed, 45s) linear infinite; }
.ml-elementor-section.mlhf-root .ml-ticker:hover .ml-ticker__track { animation-play-state: paused; }
.ml-elementor-section.mlhf-root .ml-ticker__run { display: flex; flex: none; align-items: center; gap: 30px; padding-right: 30px; }
.ml-elementor-section.mlhf-root .ml-ticker__item { font-family: var(--ml-font-mark); font-size: .8rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; white-space: nowrap; color: rgba(255, 240, 210, .86); }
.ml-elementor-section.mlhf-root .ml-ticker__item--strong { color: var(--ml-sec-accent, var(--ml-gold)); }
.ml-elementor-section.mlhf-root .ml-ticker__sep { font-size: .7rem; color: var(--ml-sec-accent, var(--ml-gold)); }
@keyframes mlhfTicker { to { transform: translateX(-50%); } }

.ml-elementor-section.mlhf-root > section.ml-sec.ml-taste { position: relative; isolation: isolate; overflow: hidden; background: var(--ml-sec-bg, var(--ml-ink)); color: var(--ml-sec-text, var(--ml-cream)); border-bottom: 1px solid rgba(201, 160, 99, .28); }
.ml-elementor-section.mlhf-root .ml-taste__media { position: absolute; inset: 0; z-index: -2; }
.ml-elementor-section.mlhf-root .ml-taste__media img { width: 100%; height: 100%; object-fit: cover; }
.ml-elementor-section.mlhf-root .ml-taste__scrim { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(36, 21, 20, .95) 0%, rgba(36, 21, 20, .82) 42%, rgba(36, 21, 20, .6) 100%), linear-gradient(0deg, rgba(36, 21, 20, .92) 0%, rgba(36, 21, 20, 0) 45%); }
.ml-elementor-section.mlhf-root > section.ml-taste .ml-eyebrow { color: var(--ml-sec-accent, var(--ml-gold)); }
.ml-elementor-section.mlhf-root > section.ml-taste .ml-section-title { color: var(--ml-sec-text, var(--ml-cream)); }
.ml-elementor-section.mlhf-root > section.ml-taste .ml-section-title em { color: var(--ml-sec-accent, var(--ml-gold)); }
.ml-elementor-section.mlhf-root > section.ml-taste .ml-lede { color: var(--ml-sec-muted, rgba(255, 240, 210, .78)); max-width: 56ch; }
.ml-elementor-section.mlhf-root .ml-taste__notes { list-style: none; margin: 0; padding: 0; }
.ml-elementor-section.mlhf-root .ml-taste__note { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; text-align: center; padding: 16px 26px 14px; border: 1px solid rgba(255, 240, 210, .22); border-radius: 16px; background: rgba(36, 21, 20, .58); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 22px 44px -26px rgba(0, 0, 0, .75); transition: border-color .35s var(--ml-ease), background-color .35s var(--ml-ease); }
.ml-elementor-section.mlhf-root .ml-taste__note:hover { border-color: rgba(201, 160, 99, .7); background: rgba(92, 58, 57, .66); }
.ml-elementor-section.mlhf-root .ml-taste__name { font-family: var(--ml-font-display); font-size: clamp(1.05rem, 1.45vw, 1.3rem); line-height: 1.2; color: var(--ml-cream); }
.ml-elementor-section.mlhf-root .ml-taste__tag { font-family: var(--ml-font-mark); font-size: .68rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--ml-sec-accent, var(--ml-gold)); }
.ml-elementor-section.mlhf-root .ml-taste--grid .ml-taste__notes { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.ml-elementor-section.mlhf-root .ml-taste__legend { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 18px 28px; margin: clamp(36px, 5vw, 56px) 0 0; padding-top: 26px; border-top: 1px solid rgba(255, 240, 210, .16); }
.ml-elementor-section.mlhf-root .ml-taste__legend div { margin: 0; }
.ml-elementor-section.mlhf-root .ml-taste__legend dt { font-family: var(--ml-font-mark); font-size: .68rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--ml-sec-accent, var(--ml-gold)); }
.ml-elementor-section.mlhf-root .ml-taste__legend dd { margin: 6px 0 0; font-size: .95rem; color: var(--ml-sec-muted, rgba(255, 240, 210, .78)); }
@media (min-width: 901px) {
  .ml-elementor-section.mlhf-root .ml-taste--float .ml-taste__notes { position: relative; height: var(--ml-taste-h, 360px); margin-top: 8px; }
  .ml-elementor-section.mlhf-root .ml-taste--float .ml-taste__note { position: absolute; left: min(var(--x, 10%), calc(100% - 240px)); top: var(--y, 10%); min-width: 190px; border-radius: 999px; padding: 15px 30px 13px; }
  .ml-elementor-section.mlhf-root .ml-taste--animate .ml-taste__note { animation: mlhfFloat 7s ease-in-out var(--d, 0s) infinite alternate; }
}
@keyframes mlhfFloat { from { transform: translateY(0); } to { transform: translateY(-12px); } }
@media (max-width: 900px) {
  .ml-elementor-section.mlhf-root .ml-taste__notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .ml-elementor-section.mlhf-root .ml-taste__note { padding: 16px 10px 14px; }
  .ml-elementor-section.mlhf-root .ml-taste__legend { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ml-elementor-section.mlhf-root .ml-taste__scrim { background: rgba(36, 21, 20, .84); }
}
@media (prefers-reduced-motion: reduce) {
  .ml-elementor-section.mlhf-root .ml-ticker__track, .ml-elementor-section.mlhf-root .ml-taste--animate .ml-taste__note { animation: none; }
}