/*
 * MAWSIM · The Seasons (harvests:index) and a harvest (harvests:detail).
 * Builds on mawsim.css tokens and classes; every class here is .harvest-*.
 *
 *  01 Opening            05 Next seasons, waitlist, Harvest Collection
 *  02 The season wheel   06 Illustration for harvests without a photograph
 *  03 Altitude profile   07 Passport teaser
 *  04 Harvest cards      08 Harvest detail
 */

/* ═════════════════════════════════════════════════════════════════════════════
   01 · OPENING
   ═════════════════════════════════════════════════════════════════════════════ */
.harvest-hero { padding-block: var(--space-xl) var(--space-2xl); }
.harvest-hero__inner { display: grid; gap: var(--space-xl); align-items: center; }
.harvest-hero__text { display: grid; gap: var(--space-m); justify-items: start; }
.harvest-hero__title { font-size: clamp(3.25rem, 1.6rem + 7.4vw, 8.5rem); margin-block: var(--space-2xs) 0; }
.harvest-hero__lede { max-inline-size: 31em; }

.harvest-now {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-s);
  align-items: start;
  max-inline-size: 30rem;
  padding-block: var(--space-s);
  border-block: 1px solid var(--line);
}
.harvest-now__dot {
  position: relative;
  inline-size: .5rem;
  block-size: .5rem;
  margin-block-start: .45em;
  border-radius: 50%;
  background: var(--c-gold);
}
.harvest-now__dot::after {
  content: "";
  position: absolute;
  inset: -.35rem;
  border-radius: 50%;
  border: 1px solid var(--c-gold);
  animation: harvest-pulse 3.2s var(--ease-out) infinite;
}
@keyframes harvest-pulse {
  0% { opacity: .9; scale: .4; }
  70%, 100% { opacity: 0; scale: 1.4; }
}
.harvest-now__text { margin-block-start: .3rem; font-family: var(--f-display); font-size: var(--step-1); line-height: 1.45; color: var(--fg-soft); }
.harvest-now__text:lang(ar) { line-height: 1.75; }

.harvest-hero__nav { display: flex; flex-wrap: wrap; gap: 0 var(--space-m); }
.harvest-hero__nav .link-arrow__text { background-size: 100% 1px; background-image: linear-gradient(var(--line-strong), var(--line-strong)); }
@media (hover: hover) {
  .harvest-hero__nav .link-arrow:hover .link-arrow__text { background-image: linear-gradient(currentColor, currentColor); }
}

.harvest-hero__media { margin: 0; display: grid; gap: var(--space-xs); }
.harvest-hero__frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
  border-radius: var(--radius-s);
  background: var(--c-beige);
}
.harvest-hero__frame img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.harvest-hero__caption { display: flex; gap: .6em; align-items: baseline; font-size: var(--step--1); color: var(--fg-muted); }

@media (min-width: 56em) {
  .harvest-hero { padding-block: var(--space-2xl) var(--space-3xl); }
  .harvest-hero__inner { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: var(--space-2xl); align-items: end; }
  .harvest-hero__frame { aspect-ratio: 2 / 3; }
}

/* ═════════════════════════════════════════════════════════════════════════════
   02 · THE SEASON WHEEL
   ═════════════════════════════════════════════════════════════════════════════ */
.harvest-year__layout {
  display: grid;
  gap: var(--space-xl);
  grid-template-areas: "head" "dial" "legend";
}
.harvest-year__head { grid-area: head; display: grid; gap: var(--space-s); align-content: start; }
.harvest-year__dial { grid-area: dial; }
.harvest-year__legend { grid-area: legend; display: grid; gap: var(--space-m); align-content: start; }
.harvest-year__title { margin-block-start: var(--space-xs); max-inline-size: 12em; }
.harvest-year__text { max-inline-size: 34em; color: var(--fg-soft); }
.harvest-year__today {
  display: flex;
  gap: .75em;
  align-items: baseline;
  font-family: var(--f-display);
  font-size: var(--step-1);
  line-height: 1.45;
  color: var(--fg);
}
.harvest-year__today:lang(ar) { line-height: 1.75; }
.harvest-year__diamond { flex: none; inline-size: 7px; block-size: 7px; background: var(--c-gold-ink); rotate: 45deg; translate: 0 -.15em; }

@media (min-width: 64em) {
  .harvest-year__layout {
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    grid-template-rows: auto 1fr;
    grid-template-areas: "head dial" "legend dial";
    column-gap: var(--space-2xl);
    row-gap: var(--space-l);
  }
  .harvest-year__dial { align-self: center; }
}

/* The dial ─────────────────────────────────────────────────────────────────── */
.harvest-wheel { margin: 0; }
.harvest-wheel__dial {
  position: relative;
  container-type: inline-size;
  aspect-ratio: 1;
  inline-size: min(100%, 44rem);
  margin-inline: auto;
  user-select: none;
  -webkit-user-select: none;
}
.harvest-wheel__svg { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; overflow: visible; }
.harvest-wheel__sector { fill: url(#wheel-season-glow); }
.harvest-wheel__inner { fill: var(--c-ivory); stroke: var(--c-line); stroke-width: 1.2; }
.harvest-wheel__divider { stroke: var(--c-line); stroke-width: 1.2; }
.harvest-wheel__track { fill: none; stroke: rgb(31 26 22 / .16); stroke-width: 1.4; stroke-dasharray: .5 7; stroke-linecap: round; }
.harvest-wheel__ring { fill: none; stroke: rgb(31 26 22 / .55); stroke-width: 1.4; }
.harvest-wheel__tick { stroke: rgb(31 26 22 / .3); stroke-width: 1.2; }
.harvest-wheel__tick.is-major { stroke: rgb(31 26 22 / .6); stroke-width: 1.5; }
.harvest-wheel__hand { stroke: var(--c-gold-ink); stroke-width: 1.6; stroke-linecap: round; }
.harvest-wheel__now { fill: var(--c-gold-ink); }

.harvest-wheel__arc { cursor: pointer; transition: opacity var(--dur-3) var(--ease-out); }
.harvest-wheel__hit { fill: none; stroke: transparent; stroke-width: 32; pointer-events: stroke; }
.harvest-wheel__line { fill: none; stroke-linecap: round; pointer-events: none; transition: stroke-width var(--dur-3) var(--ease-out), filter var(--dur-3); }
.harvest-wheel__end { pointer-events: none; fill: var(--c-ivory); stroke-width: 2.5; transition: r var(--dur-3) var(--ease-out); }
.harvest-wheel__arc.is-available .harvest-wheel__line { stroke: var(--c-gold); stroke-width: 15; }
.harvest-wheel__arc.is-available .harvest-wheel__end { stroke: var(--c-gold-ink); }
.harvest-wheel__arc.is-upcoming .harvest-wheel__line { stroke: var(--c-gold-ink); stroke-width: 4; stroke-dasharray: .1 13; }
.harvest-wheel__arc.is-upcoming .harvest-wheel__end { stroke: var(--c-gold-ink); stroke-width: 2; r: 6px; }
.harvest-wheel__arc.is-resting .harvest-wheel__line { stroke: var(--c-stone); stroke-width: 9; }
.harvest-wheel__arc.is-resting .harvest-wheel__end { stroke: var(--c-stone); }

/* mawsim.js measures every stroke inside data-reveal="draw" (--len) and hides it until
   revealed; dotted strokes keep their own pattern, the rest draws on with the ring. */
.harvest-wheel__svg.is-revealed [style*="--len"]:not([pathLength]) { stroke-dashoffset: 0; }
.harvest-wheel__svg :is(.harvest-wheel__track, .harvest-wheel__hit) { stroke-dashoffset: 0 !important; }
.harvest-wheel__track { stroke-dasharray: .5 7 !important; }
.harvest-wheel__arc.is-upcoming .harvest-wheel__line { stroke-dasharray: .1 13 !important; stroke-dashoffset: 0 !important; }
@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  .harvest-wheel__svg:not(.is-revealed) :is(.harvest-wheel__track, .harvest-wheel__arc.is-upcoming, .harvest-wheel__end, .harvest-wheel__now, .harvest-wheel__sector) { opacity: 0; }
  .harvest-wheel__svg :is(.harvest-wheel__track, .harvest-wheel__arc.is-upcoming, .harvest-wheel__now, .harvest-wheel__sector) { transition: opacity 1.4s var(--ease-out) 1.1s; }
  .harvest-wheel__svg .harvest-wheel__end { transition: opacity .8s var(--ease-out) 1.6s, r var(--dur-3) var(--ease-out); }
  .harvest-wheel__svg.is-revealed .harvest-wheel__arc.is-upcoming { transition-delay: 1.5s; }
  html:not(.js-ready) .harvest-wheel__svg * { animation: reveal-failsafe 0s linear 3s forwards; }
}

/* Highlighting — one harvest steps forward, the others recede */
.harvest-wheel.has-active .harvest-wheel__arc:not(.is-active) { opacity: .22; }
.harvest-wheel__arc.is-active.is-available .harvest-wheel__line { stroke-width: 21; filter: drop-shadow(0 0 10px rgb(200 154 74 / .55)); }
.harvest-wheel__arc.is-active.is-upcoming .harvest-wheel__line { stroke-width: 6; }
.harvest-wheel__arc.is-active .harvest-wheel__end { r: 9px; }
.harvest-wheel.has-active .harvest-wheel__hand,
.harvest-wheel.has-active .harvest-wheel__now { opacity: .35; transition: opacity var(--dur-3); }

/* Month names along the ring, seasons inside it (HTML, placed by percentage) */
.harvest-wheel__month,
.harvest-wheel__season {
  position: absolute;
  left: var(--x);
  top: var(--y);
  white-space: nowrap;
  pointer-events: none;
}
.harvest-wheel__month {
  translate: -50% -50%;
  rotate: var(--rot);
  font-size: clamp(.625rem, 2.15cqi, .8125rem);
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--fg-muted);
  line-height: 1;
}
.harvest-wheel__month:lang(ar) { font-size: clamp(.6875rem, 2.5cqi, .9375rem); letter-spacing: 0; font-weight: 400; }
.harvest-wheel__month:lang(en) { margin-inline-end: -.22em; }
.harvest-wheel__month.is-current { color: var(--c-gold-ink); font-weight: 500; }

.harvest-wheel__season {
  display: grid;
  justify-items: center;
  gap: .35em;
  translate: -50% -50%;
  font-size: clamp(.5625rem, 1.85cqi, .75rem);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--fg-muted);
}
.harvest-wheel__season:lang(ar) { font-size: clamp(.625rem, 2.2cqi, .875rem); letter-spacing: 0; }
.harvest-wheel__season .icon {
  --icon-size: clamp(1.1rem, 4.4cqi, 1.65rem);
  box-sizing: content-box;
  padding: clamp(.3rem, 1.1cqi, .45rem);
  border: 1px solid rgb(31 26 22 / .18);
  border-radius: 50%;
  background: var(--c-ivory);
  color: var(--fg-muted);
}
.harvest-wheel__season--summer .harvest-wheel__season-name { order: -1; }  /* keep the name inside, away from the tracks */
.harvest-wheel__season.is-current { color: var(--c-gold-ink); }
.harvest-wheel__season.is-current .icon { color: var(--c-gold-ink); border-color: color-mix(in srgb, var(--c-gold-ink) 60%, transparent); }

/* The readout in the centre */
.harvest-wheel__readout {
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  display: grid;
  inline-size: 34%;
  aspect-ratio: 1;
  place-items: center;
  text-align: center;
}
.harvest-wheel__state {
  grid-area: 1 / 1;
  display: grid;
  justify-items: center;
  gap: clamp(.15rem, .9cqi, .45rem);
  opacity: 0;
  translate: 0 .4rem;
  transition: opacity var(--dur-2) var(--ease-out), translate var(--dur-2) var(--ease-out);
}
.harvest-wheel__state.is-shown { opacity: 1; translate: 0 0; }
.harvest-wheel__kicker {
  font-size: clamp(.5625rem, 1.7cqi, .75rem);
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-gold-ink);
}
.harvest-wheel__kicker:lang(ar) { font-size: clamp(.6875rem, 2.1cqi, .875rem); letter-spacing: 0; }
.harvest-wheel__big {
  font-family: var(--f-display);
  font-size: clamp(1.15rem, 5.4cqi, 2.6rem);
  line-height: 1.05;
  color: var(--fg);
}
.harvest-wheel__big:lang(ar) { line-height: 1.35; }
.harvest-wheel__small { font-size: clamp(.625rem, 1.9cqi, .875rem); line-height: 1.35; color: var(--fg-muted); }

/* The legend — the accessible version of the dial */
.harvest-legend { display: grid; margin: 0; border-block-start: 1px solid var(--line); }
.harvest-legend__item {
  position: relative;
  display: grid;
  gap: .35rem var(--space-s);
  align-items: center;
  padding: var(--space-s) var(--space-2xs);
  border-block-end: 1px solid var(--line);
  color: var(--fg);
  text-decoration: none;
  transition: background-color var(--dur-2) var(--ease-out), padding var(--dur-3) var(--ease-out);
}
.harvest-legend__item::before {
  content: "";
  position: absolute;
  inset-block: -1px;
  inset-inline-start: 0;
  inline-size: 2px;
  background: var(--c-gold);
  scale: 1 0;
  transition: scale var(--dur-3) var(--ease-out);
}
.harvest-legend__item.is-active,
.harvest-legend__item:focus-visible { background: rgb(200 154 74 / .07); padding-inline-start: var(--space-s); }
.harvest-legend__item.is-active::before,
.harvest-legend__item:focus-visible::before { scale: 1 1; }
@media (hover: hover) {
  .harvest-legend__item:hover { background: rgb(200 154 74 / .07); padding-inline-start: var(--space-s); }
  .harvest-legend__item:hover::before { scale: 1 1; }
}
.harvest-legend__item:focus-visible { outline-offset: 2px; }
.harvest-legend__mini { inline-size: 2.75rem; block-size: 2.75rem; overflow: visible; align-self: start; margin-block-start: .2rem; }
.harvest-legend__mini-ring { fill: none; stroke: rgb(31 26 22 / .22); stroke-width: 1; }
.harvest-legend__mini-track { fill: none; stroke: rgb(31 26 22 / .1); stroke-width: 1; }
.harvest-legend__mini-arc { fill: none; stroke-linecap: round; }
.is-available .harvest-legend__mini-arc { stroke: var(--c-gold); stroke-width: 4; }
.is-upcoming .harvest-legend__mini-arc { stroke: var(--c-gold-ink); stroke-width: 2.2; stroke-dasharray: .1 3.6; }
.is-resting .harvest-legend__mini-arc { stroke: var(--c-stone); stroke-width: 3; }
.harvest-legend__text { display: grid; gap: .1rem; min-inline-size: 0; }
.harvest-legend__kicker {
  font-size: var(--step--2);
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--fg-muted);
}
.harvest-legend__kicker:lang(ar) { font-size: var(--step--1); letter-spacing: 0; }
.harvest-legend__name { font-family: var(--f-display); font-size: var(--step-2); line-height: 1.2; }
.harvest-legend__name:lang(ar) { line-height: 1.5; }
.harvest-legend__meta { font-size: var(--step--1); color: var(--fg-muted); line-height: 1.5; }
.harvest-legend__status { margin-block-start: .2rem; }
.harvest-legend__status .status { padding-block: 0; }
.harvest-legend__arrow { --icon-size: 1rem; color: var(--accent); opacity: .6; transition: translate var(--dur-2) var(--ease-out), opacity var(--dur-2); }
.harvest-legend__item.is-active .harvest-legend__arrow,
.harvest-legend__item:focus-visible .harvest-legend__arrow { opacity: 1; translate: calc(var(--dir) * .25rem) 0; }
[dir="rtl"] .harvest-legend__arrow { scale: -1 1; }
@media (hover: hover) { .harvest-legend__item:hover .harvest-legend__arrow { opacity: 1; translate: calc(var(--dir) * .25rem) 0; } }
.harvest-legend__item { grid-template-columns: 2.75rem minmax(0, 1fr) auto; }

.harvest-legend__key {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .6rem;
  font-size: var(--step--1);
  color: var(--fg-muted);
}
.harvest-legend__swatch { flex: none; display: inline-block; inline-size: 1.6rem; block-size: 4px; border-radius: 4px; }
.harvest-legend__swatch + span { margin-inline-end: var(--space-xs); }
.harvest-legend__swatch--solid { background: var(--c-gold); }
.harvest-legend__swatch--dotted { background: radial-gradient(circle, var(--c-gold-ink) 1.2px, transparent 1.6px) 0 50% / 6px 4px repeat-x; }
.harvest-legend__swatch--now { inline-size: 7px; block-size: 7px; border-radius: 0; background: var(--c-gold-ink); rotate: 45deg; margin-inline: .35rem; }

/* ═════════════════════════════════════════════════════════════════════════════
   03 · ALTITUDE PROFILE
   ═════════════════════════════════════════════════════════════════════════════ */
.harvest-altitude-section { overflow: clip; }
.harvest-altitude-section__head { display: grid; gap: var(--space-s); max-inline-size: 46rem; }
.harvest-altitude-section__head .h2 { margin-block-start: var(--space-xs); }
.harvest-altitude-section__text { color: var(--fg-soft); max-inline-size: 38em; }

.harvest-altitude { margin: var(--space-xl) 0 0; }
.harvest-altitude__chart {
  position: relative;
  aspect-ratio: 1200 / 520;
  max-block-size: 44rem;
  inline-size: 100vw;
  margin-inline: calc(50% - 50vw);
}
@media (max-width: 47.99em) {
  .harvest-altitude__chart { aspect-ratio: 10 / 9; }
}
.harvest-altitude__svg { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; overflow: visible; }
.harvest-altitude__svg path { vector-effect: non-scaling-stroke; }
.harvest-altitude__svg {
  -webkit-mask-image: linear-gradient(to right, transparent, #000 3%, #000 97%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 3%, #000 97%, transparent);
}
.harvest-altitude.is-revealed [style*="--len"]:not([pathLength]) { stroke-dashoffset: 0; }
.harvest-altitude :is(.harvest-altitude__grid, .harvest-altitude__sea, .harvest-altitude__water) { stroke-dashoffset: 0 !important; }
.harvest-altitude__water { stroke-dasharray: none !important; }
.harvest-altitude__far { fill: rgb(246 241 232 / .035); }
.harvest-altitude__near { fill: rgb(246 241 232 / .055); }
.harvest-altitude__grid { stroke: rgb(246 241 232 / .12); stroke-width: 1; stroke-dasharray: 1 6 !important; }
.harvest-altitude__sea { stroke: rgb(246 241 232 / .55); stroke-width: 1; stroke-dasharray: 7 6 !important; }
.harvest-altitude__water { stroke: rgb(246 241 232 / .5); stroke-width: 1; opacity: calc(1 - var(--i) * .24); }
.harvest-altitude__ridge { fill: none; stroke: var(--c-gold); stroke-width: 1.75; stroke-linejoin: round; }
.harvest-altitude__area { stroke: none; }

.harvest-altitude__tick,
.harvest-altitude__sea-label {
  position: absolute;
  top: var(--y);
  translate: 0 -135%;
  font-size: var(--step--2);
  letter-spacing: .12em;
  color: var(--fg-muted);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.harvest-altitude__tick:lang(ar), .harvest-altitude__sea-label:lang(ar) { letter-spacing: 0; }
.harvest-altitude__tick { inset-inline-start: var(--gutter); }
.harvest-altitude__sea-label {
  inset-inline-end: var(--gutter);
  color: var(--c-ivory);
  text-transform: uppercase;
  letter-spacing: .2em;
}
.harvest-altitude__sea-label:lang(ar) { text-transform: none; }

.harvest-altitude__shore { position: absolute; left: var(--x); top: var(--y); }
.harvest-altitude__diamond {
  position: absolute;
  inline-size: 9px;
  block-size: 9px;
  translate: -50% -50%;
  rotate: 45deg;
  background: var(--c-ivory);
}
.harvest-altitude__shore-text {
  position: absolute;
  inset-block-start: .9rem;
  inset-inline-start: -.75rem;
  display: grid;
  gap: .1rem;
  inline-size: max-content;
  max-inline-size: 11rem;
  font-size: var(--step--2);
  line-height: 1.35;
  color: var(--fg-soft);
}
[dir="rtl"] .harvest-altitude__shore-text { inset-inline-start: -.75rem; }
.harvest-altitude__shore-name { color: var(--c-ivory); letter-spacing: .14em; text-transform: uppercase; }
.harvest-altitude__shore-name:lang(ar) { letter-spacing: 0; font-size: var(--step--1); }
.harvest-altitude__shore-alt { font-variant-numeric: tabular-nums; }

.harvest-altitude__pin { position: absolute; left: var(--x); top: 0; bottom: 0; inline-size: 0; }
.harvest-altitude__label {
  position: absolute;
  top: 1%;
  left: 0;
  translate: -50% 0;
  display: grid;
  justify-items: center;
  gap: .1rem;
  inline-size: max-content;
  text-align: center;
}
.harvest-altitude__num { font-family: var(--f-latin-display); font-size: var(--step-1); line-height: 1; color: var(--c-gold); }
.harvest-altitude__name { font-family: var(--f-display); font-size: var(--step-1); line-height: 1.15; color: var(--c-ivory); }
.harvest-altitude__name:lang(ar) { line-height: 1.4; }
.harvest-altitude__alt { font-size: var(--step--1); color: var(--fg-soft); font-variant-numeric: tabular-nums; }
.harvest-altitude__leader {
  position: absolute;
  left: -.5px;
  top: 19%;
  bottom: calc(100% - var(--y) + 12px);
  inline-size: 1px;
  background: repeating-linear-gradient(to bottom, rgb(200 154 74 / .75) 0 3px, transparent 3px 7px);
  transform-origin: 50% 100%;
}
.harvest-altitude__dot {
  position: absolute;
  left: 0;
  top: var(--y);
  inline-size: 13px;
  block-size: 13px;
  translate: -50% -50%;
  border-radius: 50%;
}
.harvest-altitude__pin.is-available .harvest-altitude__dot { background: var(--c-gold); box-shadow: 0 0 0 5px rgb(200 154 74 / .18), 0 0 24px 4px rgb(200 154 74 / .35); }
.harvest-altitude__pin.is-upcoming .harvest-altitude__dot,
.harvest-altitude__pin.is-resting .harvest-altitude__dot { background: var(--c-olive-deep); border: 1.5px dashed var(--c-gold); }
@media (max-width: 47.99em) {
  .harvest-altitude__leader { top: 21%; }
  .harvest-altitude__num, .harvest-altitude__name { font-size: var(--step-0); }
}

/* Draw-in: the ridge traces itself (pathLength + mawsim.js), then the pins land */
@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  .harvest-altitude:not(.is-revealed) :is(.harvest-altitude__label, .harvest-altitude__shore, .harvest-altitude__tick, .harvest-altitude__sea-label) { opacity: 0; translate: 0 .5rem; }
  .harvest-altitude:not(.is-revealed) .harvest-altitude__label { translate: -50% .5rem; }
  .harvest-altitude:not(.is-revealed) .harvest-altitude__tick,
  .harvest-altitude:not(.is-revealed) .harvest-altitude__sea-label { translate: 0 -100%; }
  .harvest-altitude:not(.is-revealed) .harvest-altitude__leader { scale: 1 0; }
  .harvest-altitude:not(.is-revealed) .harvest-altitude__dot { scale: 0; }
  .harvest-altitude:not(.is-revealed) :is(.harvest-altitude__area, .harvest-altitude__near, .harvest-altitude__far, .harvest-altitude__water) { opacity: 0; }
  .harvest-altitude__area, .harvest-altitude__near, .harvest-altitude__far { transition: opacity 1.6s var(--ease-out) .5s; }
  .harvest-altitude__water { transition: opacity 1.2s var(--ease-out) calc(.3s + var(--i) * 120ms); }
  .harvest-altitude__tick, .harvest-altitude__sea-label, .harvest-altitude__shore { transition: opacity 1s var(--ease-out) .4s, translate 1s var(--ease-out) .4s; }
  .harvest-altitude__dot { transition: scale .9s cubic-bezier(.3, 1.6, .5, 1) calc(1s + var(--i) * 260ms); }
  .harvest-altitude__leader { transition: scale 1.1s var(--ease-out) calc(1.2s + var(--i) * 260ms); }
  .harvest-altitude__label { transition: opacity 1s var(--ease-out) calc(1.6s + var(--i) * 260ms), translate 1s var(--ease-out) calc(1.6s + var(--i) * 260ms); }
  html:not(.js-ready) .harvest-altitude * { animation: reveal-failsafe 0s linear 3s forwards; }
  .harvest-altitude [pathLength="1"] { transition-duration: 2.6s !important; }
}

.harvest-altitude__caption { margin-block-start: var(--space-xl); }
.harvest-altitude__list {
  display: grid;
  gap: var(--space-m) var(--space-m);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  margin: 0;
  padding-block-start: var(--space-m);
  border-block-start: 1px solid var(--line);
}
.harvest-altitude__item { display: grid; gap: .25rem; align-content: start; }
.harvest-altitude__item-mark { inline-size: 9px; block-size: 9px; margin-block-end: .4rem; border-radius: 50%; }
.harvest-altitude__item--shore .harvest-altitude__item-mark { border-radius: 0; rotate: 45deg; background: var(--c-ivory); inline-size: 8px; block-size: 8px; }
.harvest-altitude__item.is-available .harvest-altitude__item-mark { background: var(--c-gold); }
.harvest-altitude__item.is-upcoming .harvest-altitude__item-mark,
.harvest-altitude__item.is-resting .harvest-altitude__item-mark { border: 1.5px dashed var(--c-gold); }
.harvest-altitude__item-alt { font-family: var(--f-display); font-size: var(--step-3); line-height: 1.05; color: var(--c-ivory); font-variant-numeric: lining-nums; }
.harvest-altitude__item-name { font-size: var(--step--1); color: var(--c-ivory); text-decoration: none; }
a.harvest-altitude__item-name { display: inline-flex; align-items: center; min-block-size: 2.75rem; margin-block: -.6rem; text-decoration: underline; text-decoration-color: rgb(200 154 74 / .5); text-underline-offset: .3em; }
a.harvest-altitude__item-name:hover { text-decoration-color: var(--c-gold); }
.harvest-altitude__item-note { font-size: var(--step--1); color: var(--fg-muted); line-height: 1.5; }

/* ═════════════════════════════════════════════════════════════════════════════
   04 · HARVEST CARDS
   ═════════════════════════════════════════════════════════════════════════════ */
.harvest-list__head, .harvest-next__head { display: grid; gap: var(--space-s); margin-block-end: var(--space-xl); }
.harvest-list__head .h2, .harvest-next__head .h2 { margin-block-start: var(--space-xs); max-inline-size: 16em; }

.harvest-feature {
  position: relative;
  display: grid;
  gap: var(--space-l);
  align-items: center;
  scroll-margin-block-start: calc(var(--header-h) + var(--space-m));
}
.harvest-feature__media { position: relative; }
.harvest-feature__frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-s);
  background: var(--c-beige);
}
.harvest-feature__frame > img,
.harvest-feature__frame > .harvest-art { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: 46% 50%; }
.harvest-feature__stamp {
  position: absolute;
  inset-block-end: calc(-1 * var(--space-m));
  inset-inline-end: var(--space-m);
  display: grid;
  place-items: center;
  inline-size: clamp(4.5rem, 3.5rem + 4vw, 6.5rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--c-paper);
  color: var(--c-gold-ink);
  box-shadow: inset 0 0 0 1px var(--c-gold), inset 0 0 0 5px var(--c-paper), inset 0 0 0 6px rgb(200 154 74 / .45);
  font-family: var(--f-latin-display);
  font-size: var(--step-4);
  line-height: 1;
}
.harvest-feature__body { display: grid; gap: var(--space-s); justify-items: start; }
.harvest-feature__title { font-size: var(--step-5); line-height: var(--lh-display); margin-block: var(--space-3xs) var(--space-2xs); }
.harvest-feature__title a { text-decoration: none; }
.harvest-feature__title a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; text-decoration-color: var(--c-gold); }
.harvest-feature__summary { font-family: var(--f-display); font-size: var(--step-1); line-height: 1.5; color: var(--fg-soft); max-inline-size: 32em; }
.harvest-feature__summary:lang(ar) { line-height: 1.85; }
.harvest-feature__body .spec { inline-size: 100%; margin-block: var(--space-2xs); }
.harvest-feature__actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-block-start: var(--space-2xs); }
.harvest-feature__actions .btn .icon--qr { --icon-size: 1.15rem; }

@media (min-width: 56em) {
  .harvest-feature { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: var(--space-2xl); }
  .harvest-feature__frame { aspect-ratio: 4 / 5; }
}

/* Highlight when the wheel, the legend or a link points here */
.harvest-feature::after,
.harvest-upcoming::after {
  content: "";
  position: absolute;
  inset: calc(-1 * var(--space-s));
  border: 1px solid var(--c-gold);
  border-radius: var(--radius-m);
  opacity: 0;
  scale: .985;
  pointer-events: none;
  transition: opacity var(--dur-3) var(--ease-out), scale var(--dur-3) var(--ease-out);
}
.harvest-feature:target::after, .harvest-feature.is-flash::after,
.harvest-upcoming:target::after, .harvest-upcoming.is-flash::after { opacity: 1; scale: 1; }
.harvest-feature.is-active::after, .harvest-upcoming.is-active::after { opacity: .55; scale: 1; }

.harvest-notes { display: grid; gap: .5rem; }
.harvest-notes__list { display: flex; flex-wrap: wrap; gap: .4rem 1.1rem; margin: 0; }
.harvest-notes__list li {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-family: var(--f-display);
  font-size: var(--step-1);
  line-height: 1.4;
  color: var(--fg);
}
:lang(en) .harvest-notes__list li { font-style: italic; }
.harvest-notes__list li:not(:first-child)::before {
  content: "";
  inline-size: 5px;
  block-size: 5px;
  background: var(--c-gold);
  rotate: 45deg;
}

.harvest-past { display: grid; gap: var(--space-m); margin-block-start: var(--space-2xl); padding-block-start: var(--space-l); border-block-start: 1px solid var(--line); }
@media (min-width: 48em) { .harvest-past { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.harvest-past__item { display: grid; gap: .3rem; }
.harvest-past__item a { text-decoration: none; }

/* ═════════════════════════════════════════════════════════════════════════════
   05 · NEXT SEASONS · WAITLIST · HARVEST COLLECTION
   ═════════════════════════════════════════════════════════════════════════════ */
.harvest-next__text { color: var(--fg-soft); max-inline-size: 40em; }
.harvest-next__grid { display: grid; gap: var(--space-2xl) var(--space-xl); }
@media (min-width: 52em) { .harvest-next__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.harvest-upcoming {
  position: relative;
  display: grid;
  gap: var(--space-m);
  align-content: start;
  scroll-margin-block-start: calc(var(--header-h) + var(--space-m));
}
.harvest-upcoming__art {
  position: relative;
  display: block;
  aspect-ratio: 5 / 4;
  border-radius: var(--radius-s);
  overflow: hidden;
}
.harvest-upcoming__status { position: absolute; inset-block-start: var(--space-xs); inset-inline-start: var(--space-xs); }
.harvest-upcoming__body { display: grid; gap: var(--space-s); justify-items: start; }
.harvest-upcoming__title { font-size: var(--step-4); margin-block: var(--space-3xs) 0; }
.harvest-upcoming__title a { text-decoration: none; }
.harvest-upcoming__title a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; text-decoration-color: var(--c-gold); }
.harvest-upcoming__summary { color: var(--fg-soft); max-inline-size: 34em; }
.harvest-upcoming__body .spec { inline-size: 100%; }

.harvest-waitlist { inline-size: 100%; max-inline-size: 30rem; margin-block-start: var(--space-xs); gap: var(--space-2xs); }
.harvest-waitlist__label { font-size: var(--step--1); font-weight: 500; color: var(--fg); }
.harvest-waitlist .newsletter__input { font-size: var(--step-1); }
.harvest-waitlist.is-done .newsletter__status::before {
  content: "";
  display: inline-block;
  inline-size: 7px;
  block-size: 7px;
  margin-inline-end: .7em;
  background: var(--c-gold);
  rotate: 45deg;
  vertical-align: .2em;
}
.harvest-waitlist.is-done .harvest-waitlist__label { display: none; }

.harvest-collection {
  display: grid;
  gap: var(--space-l);
  align-items: center;
  margin-block-start: var(--space-3xl);
  padding: var(--space-l);
  border: 1px solid var(--line);
  border-radius: var(--radius-s);
  background: var(--c-paper) var(--grain);
  background-size: auto, 220px 220px;
}
.harvest-collection__media {
  display: grid;
  place-items: center;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  max-inline-size: 16rem;
  border-radius: var(--radius-s);
  background: var(--c-beige);
  color: var(--c-gold);
}
.harvest-collection__media img { inline-size: 100%; block-size: 100%; object-fit: cover; filter: saturate(.8); }
.harvest-collection__media .brand-svg { block-size: 40%; }
.harvest-collection__body { display: grid; gap: var(--space-s); justify-items: start; }
.harvest-collection__title { font-size: var(--step-3); }
.harvest-collection__title a { text-decoration: none; }
.harvest-collection__text { color: var(--fg-soft); max-inline-size: 36em; }
@media (min-width: 48em) {
  .harvest-collection { grid-template-columns: minmax(0, 14rem) minmax(0, 1fr); gap: var(--space-xl); padding: var(--space-xl); }
}

/* ═════════════════════════════════════════════════════════════════════════════
   06 · ILLUSTRATION — a harvest that has no photograph yet
   ═════════════════════════════════════════════════════════════════════════════ */
.harvest-art {
  --pattern-opacity: .1;
  --pattern-size: 64px;
  --pattern-color: var(--c-gold-ink);
  position: relative;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  overflow: hidden;
  background-color: var(--c-paper);
  background-image: radial-gradient(120% 90% at 50% 38%, rgb(246 241 232 / .95), rgb(246 241 232 / 0) 62%), url("../../img/texture/paper.14e96cbe7863.webp");
  background-size: auto, 512px 512px;
  background-blend-mode: normal, multiply;
  color: var(--c-gold-ink);
}
.harvest-art--summer { background-color: #EDE3CF; }
.harvest-art--autumn { background-color: #EADCC8; }
.harvest-art--winter { background-color: var(--c-beige); }
.harvest-art__frame { position: absolute; inset: 10px; border: 1px solid rgb(126 94 40 / .25); border-radius: 2px; }
.harvest-art__frame::after { content: ""; position: absolute; inset: 4px; border: 1px solid rgb(126 94 40 / .12); }
.harvest-art__seal { --seal-size: clamp(2.75rem, 2rem + 2.5vw, 3.75rem); position: absolute; inset-block-start: 9%; inset-inline-end: 7%; background: var(--c-ivory); }
.harvest-art__mark { position: absolute; inset: 13% 0 17%; color: var(--c-gold-ink); }
.harvest-art__mark .brand-svg { position: absolute; inset-block: 0; left: 50%; translate: -50% 0; block-size: 100%; inline-size: auto; fill: none; --line-weight: 2.2; }
.harvest-art__number {
  position: absolute;
  inset-block-end: 4%;
  inset-inline-start: 6%;
  font-family: var(--f-latin-display);
  font-size: clamp(4.5rem, 3rem + 7vw, 9rem);
  line-height: .9;
  color: transparent;
  -webkit-text-stroke: 1px rgb(126 94 40 / .55);
}
.harvest-art__caption {
  position: absolute;
  inset-block-end: 9%;
  inset-inline-end: 7%;
  display: grid;
  justify-items: end;
  gap: .15rem;
  text-align: end;
}
.harvest-art__honey { font-family: var(--f-display); font-size: var(--step-2); line-height: 1.1; color: var(--c-ink); }
:lang(en) .harvest-art__honey { font-style: italic; }
.harvest-art__months { font-size: var(--step--2); letter-spacing: .2em; text-transform: uppercase; color: var(--c-gold-ink); }
.harvest-art__months:lang(ar) { font-size: var(--step--1); letter-spacing: 0; }
.harvest-art--lg .harvest-art__mark { inset: 15% 0 19%; }

/* ═════════════════════════════════════════════════════════════════════════════
   07 · PASSPORT TEASER
   ═════════════════════════════════════════════════════════════════════════════ */
.harvest-teaser { overflow: clip; }
.harvest-teaser__inner { display: grid; gap: var(--space-xl); align-items: center; }
.harvest-teaser__text { display: grid; gap: var(--space-m); justify-items: start; }
.harvest-teaser__text .h2 { font-size: var(--step-5); max-inline-size: 11em; }
.harvest-teaser__lede { color: var(--fg-soft); font-size: var(--step-1); max-inline-size: 30em; }
.harvest-teaser__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s) var(--space-l); }
.harvest-teaser__visual { position: relative; display: grid; place-items: center; min-block-size: 18rem; }
.harvest-teaser__glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(closest-side, rgb(184 115 42 / .32), rgb(184 115 42 / 0));
}
.harvest-teaser__lid { position: relative; inline-size: min(78%, 24rem); aspect-ratio: 1; }
.harvest-teaser__lid img { inline-size: 100%; block-size: 100%; object-fit: contain; filter: drop-shadow(0 30px 40px rgb(0 0 0 / .45)); }
.harvest-teaser__lid.parallax-frame { overflow: visible; }
.harvest-teaser__lid.parallax-frame > [data-parallax] { scale: 1; }
@media (min-width: 56em) {
  .harvest-teaser__inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
}

/* ═════════════════════════════════════════════════════════════════════════════
   08 · HARVEST DETAIL
   ═════════════════════════════════════════════════════════════════════════════ */
.harvest-detail-hero { padding-block: var(--space-l) var(--space-2xl); }
.harvest-detail-hero__inner { display: grid; gap: var(--space-xl); align-items: center; }
.harvest-detail-hero__text { display: grid; gap: var(--space-m); justify-items: start; }
.harvest-detail-hero__title { font-size: clamp(3rem, 1.6rem + 6vw, 7rem); margin-block: var(--space-3xs) 0; }
.harvest-detail-hero__lede { max-inline-size: 30em; }
.harvest-detail-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.harvest-detail-hero__actions .btn .icon--qr { --icon-size: 1.15rem; }
.harvest-detail-hero__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-s);
  background: var(--c-beige);
}
.harvest-detail-hero__media > img,
.harvest-detail-hero__media > .harvest-art { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: 46% 50%; }
.harvest-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr));
  gap: var(--space-s);
  inline-size: 100%;
  margin: var(--space-2xs) 0 0;
  padding-block-start: var(--space-s);
  border-block-start: 1px solid var(--line);
}
.harvest-facts div { display: grid; gap: .2rem; align-content: start; }
.harvest-facts dt { display: flex; gap: .45em; align-items: center; font-size: var(--step--2); font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--fg-muted); }
.harvest-facts dt:lang(ar) { font-size: var(--step--1); letter-spacing: 0; }
.harvest-facts dt .icon { --icon-size: 1rem; color: var(--accent); }
.harvest-facts dd { margin: 0; font-family: var(--f-display); font-size: var(--step-1); line-height: 1.3; color: var(--fg); }
.harvest-facts dd:lang(ar) { line-height: 1.6; }
@media (min-width: 56em) {
  .harvest-detail-hero__inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: var(--space-2xl); }
}

.harvest-story__layout { display: grid; gap: var(--space-xl); }
.harvest-story__text { display: grid; gap: var(--space-m); align-content: start; }
.harvest-story__text .prose { font-size: var(--step-1); line-height: 1.75; }
.harvest-story__text .prose:lang(ar) { line-height: 2; }
.harvest-story__text .prose p:first-child::first-letter {
  float: inline-start;
  margin-inline-end: .08em;
  font-family: var(--f-display);
  font-size: 3.4em;
  line-height: .85;
  color: var(--c-gold-ink);
}
.harvest-story__text .prose:lang(ar) p:first-child::first-letter { float: none; font-size: inherit; margin: 0; color: inherit; line-height: inherit; }
.harvest-story__aside { display: grid; gap: var(--space-l); align-content: start; }
.harvest-story__months { display: flex; gap: var(--space-s); align-items: center; }
.harvest-story__months .harvest-legend__mini { inline-size: 3.5rem; block-size: 3.5rem; }
.harvest-story__months p { font-size: var(--step--1); color: var(--fg-muted); line-height: 1.5; }
.harvest-story__months strong { display: block; font-family: var(--f-display); font-size: var(--step-1); font-weight: 400; color: var(--fg); }
.harvest-mini-profile { display: grid; gap: var(--space-2xs); }
.harvest-mini-profile svg { inline-size: 100%; block-size: auto; overflow: visible; }
.harvest-mini-profile__ridge { fill: none; stroke: var(--c-gold-ink); stroke-width: 1.5; }
.harvest-mini-profile__area { fill: rgb(200 154 74 / .12); }
.harvest-mini-profile__sea { stroke: rgb(31 26 22 / .35); stroke-width: 1; stroke-dasharray: 4 4; }
.harvest-mini-profile__pin { fill: var(--c-ivory); stroke: rgb(31 26 22 / .4); stroke-width: 1.2; }
.harvest-mini-profile__pin.is-current { fill: var(--c-gold); stroke: var(--c-gold-ink); }
.harvest-mini-profile p { font-size: var(--step--1); color: var(--fg-muted); }
@media (min-width: 60em) {
  .harvest-story__layout { grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); gap: var(--space-3xl); }
  .harvest-story__aside { position: sticky; inset-block-start: calc(var(--header-h) + var(--space-l)); }
}

.harvest-tasting { display: grid; gap: var(--space-l); }
.harvest-tasting__list { display: grid; margin: 0; border-block-start: 1px solid var(--line); counter-reset: note; }
.harvest-tasting__list li {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  align-items: baseline;
  padding-block: var(--space-s);
  border-block-end: 1px solid var(--line);
  font-family: var(--f-display);
  font-size: var(--step-4);
  line-height: 1.15;
  color: var(--fg);
  counter-increment: note;
}
.harvest-tasting__list li:lang(ar) { line-height: 1.5; }
:lang(en) .harvest-tasting__list li { font-style: italic; }
.harvest-tasting__list li::before {
  content: counter(note, decimal-leading-zero);
  font-family: var(--f-latin-text);
  font-style: normal;
  font-size: var(--step--2);
  letter-spacing: .14em;
  color: var(--c-gold-ink);
}
.harvest-tasting__colour { display: flex; gap: var(--space-s); align-items: center; font-size: var(--step--1); color: var(--fg-muted); }
.harvest-tasting__swatch {
  flex: none;
  inline-size: 2.25rem;
  block-size: 2.25rem;
  border-radius: 50% 50% 50% 0;
  rotate: -45deg;
  background: radial-gradient(circle at 35% 30%, #E0A75A, #B8732A 55%, #7A4A18);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .2);
}
[dir="rtl"] .harvest-tasting__swatch { rotate: 45deg; border-radius: 50% 50% 0 50%; }
.harvest-tasting__colour strong { display: block; font-family: var(--f-display); font-size: var(--step-1); font-weight: 400; color: var(--fg); }
@media (min-width: 56em) {
  .harvest-tasting { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--space-2xl); align-items: start; }
}

.harvest-note { text-align: center; }
.harvest-note__inner { display: grid; justify-items: center; gap: var(--space-l); }
.harvest-note__mark { block-size: clamp(4rem, 3rem + 4vw, 6rem); color: var(--c-gold); }
.harvest-note__mark .brand-svg { block-size: 100%; fill: none; --line-weight: 2; }
.harvest-note .quote { max-inline-size: 22em; font-size: var(--step-4); color: var(--c-ivory); }
.harvest-note figcaption { font-size: var(--step--1); color: var(--fg-muted); }

.harvest-products__head { display: grid; gap: var(--space-s); margin-block-end: var(--space-xl); }
.harvest-products__head .h2 { margin-block-start: var(--space-xs); }
.harvest-products__grid { display: grid; gap: var(--space-xl) var(--space-m); grid-template-columns: repeat(auto-fit, minmax(min(100%, 13.5rem), 1fr)); }
@media (max-width: 29.99em) { .harvest-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-l) var(--space-s); } }

.harvest-expect { display: grid; gap: var(--space-xl); }
.harvest-expect__text { display: grid; gap: var(--space-m); align-content: start; }
.harvest-expect__panel {
  position: relative;
  display: grid;
  gap: var(--space-m);
  align-content: start;
  padding: var(--space-l);
  border: 1px solid var(--line);
  border-radius: var(--radius-s);
  background: var(--c-ivory);
}
.harvest-expect__panel::before { content: ""; position: absolute; inset: 5px; border: 1px solid rgb(200 154 74 / .25); border-radius: 1px; pointer-events: none; }
.harvest-expect__panel .h3 { font-size: var(--step-3); }
.harvest-expect__panel > .status { justify-self: start; }
@media (min-width: 56em) { .harvest-expect { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-2xl); } }

.harvest-passport-band__inner { display: grid; gap: var(--space-xl); align-items: center; }
.harvest-passport-band__text { display: grid; gap: var(--space-m); justify-items: start; }
.harvest-passport-band__text p:not(.label) { color: var(--fg-soft); max-inline-size: 34em; }
.harvest-passport-band__actions { display: flex; flex-wrap: wrap; gap: var(--space-s) var(--space-l); align-items: center; }
.harvest-passport-band__photo { position: relative; overflow: hidden; aspect-ratio: 4 / 5; max-inline-size: 22rem; justify-self: center; border-radius: var(--radius-s); background: var(--c-beige); }
.harvest-passport-band__photo img { inline-size: 100%; block-size: 100%; object-fit: cover; }
@media (min-width: 56em) { .harvest-passport-band__inner { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); } }

.harvest-others { display: grid; gap: var(--space-l); grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); margin-block-start: var(--space-xl); }
.harvest-other { position: relative; display: grid; gap: var(--space-s); align-content: start; color: var(--fg); text-decoration: none; }
.harvest-other__media { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: var(--radius-s); background: var(--c-beige); }
.harvest-other__media > img, .harvest-other__media > .harvest-art { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; transition: scale 1.6s var(--ease-out); }
.harvest-other__title { font-family: var(--f-display); font-size: var(--step-2); line-height: 1.2; }
.harvest-other__title:lang(ar) { line-height: 1.5; }
@media (hover: hover) {
  .harvest-other:hover .harvest-other__media > * { scale: 1.035; }
  .harvest-other:hover .harvest-other__title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; text-decoration-color: var(--c-gold); }
}

@media (prefers-reduced-motion: reduce) {
  .harvest-now__dot::after { display: none; }
}
