/* =========================================================
   ELK HOMEPAGE
   Full replacement for homepage.css
   Flexbox only
========================================================= */

/* ---------------------------------------------------------
   HOMEPAGE ROOT
--------------------------------------------------------- */

body.home {
  --elk-home-gutter: 48px;

  background-color: var(--elk-page-canvas, transparent);
  color: var(--elk-black);
}

body.home main,
body.home .site-main,
body.home .elementor-location-single {
  width: 100%;
  max-width: none;
  overflow: hidden;
}

body.home .e-con,
body.home .e-con-inner {
  min-width: 0;
}

/* ---------------------------------------------------------
   SHARED HOMEPAGE WRAPPERS
--------------------------------------------------------- */

body.home .elk-home-section,
body.home .elk-home-inner,
body.home .elk-home-focus,
body.home .elk-focus-section,
body.home .elk-home-about,
body.home .elk-about-section,
body.home .elk-home-cta {
  width: min(var(--elk-wide-width), calc(100% - var(--elk-home-gutter)));
  max-width: none;
  margin-inline: auto;
}

body.home .elk-home-section {
  padding-block: 72px;
}

body.home .elk-home-section + .elk-home-section {
  border-top: 1px solid rgba(0, 0, 0, 0.18);
}

body.home .elk-home-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px;
}

body.home .elk-home-section-title,
body.home .elk-home-section-title .elementor-heading-title {
  margin: 0;
  font-family: var(--elk-font-body);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.home .elk-home-section-link,
body.home .elk-home-section-link a,
body.home .elk-home-section-link .elementor-button {
  min-height: 44px !important;
  padding-block: 14px !important;
  background: none !important;
  border: 0 !important;
  color: var(--elk-black) !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

body.home .elk-home-section-link .elementor-button-text::after {
  content: " →";
}

/* =========================================================
   CURRENT EDITION HERO
========================================================= */

body.home .elk-edition-hero {
  position: relative !important;
  display: block !important;
  /*
   * The current-edition loop is already inside the shared-width Elementor
   * wrapper. Keep the hero at 100% here so it is not inset a second time.
   */
  width: 100% !important;
  max-width: none !important;
  min-height: 560px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;

  background: var(--elk-paper) !important;
  color: var(--elk-black) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.24) !important;
}

/* Reset conflicting single-edition rules */

body.home .elk-edition-hero {
  gap: 0 !important;
  align-items: initial !important;
}

body.home .elk-edition-hero-slide,
body.home .elk-edition-hero > .e-con-inner {
  position: relative !important;
  z-index: 5 !important;

  width: 100% !important;
  max-width: none !important;
  min-height: 560px !important;

  margin: 0 !important;
  padding: 64px 0 !important;

  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;

  border: 0 !important;
}

body.home .elk-edition-hero-content {
  position: relative !important;
  z-index: 6 !important;

  flex: 0 0 68% !important;
  width: 68% !important;
  max-width: 720px !important;
  min-width: 0 !important;

  padding: 34px clamp(24px, 3vw, 40px) 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;

  color: var(--elk-black) !important;
  text-align: left !important;
}

body.home .elk-edition-hero-content > .elementor-widget-heading {
  width: 100% !important;
  max-width: none !important;
}

/* Background image */

body.home .elk-edition-hero-image {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  overflow: hidden !important;
  pointer-events: none;
}

body.home .elk-edition-hero-image,
body.home .elk-edition-hero-image .elementor-widget-container,
body.home .elk-edition-hero-image picture {
  width: 100% !important;
  height: 100% !important;
}

body.home .elk-edition-hero-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center center !important;

  filter:
    grayscale(100%)
    blur(18px)
    contrast(1.04) !important;

  opacity: 0.24 !important;
  transform: scale(1.1) !important;
}

/* Gradient veil */

body.home .elk-edition-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;

  background:
    linear-gradient(
      90deg,
      rgba(246, 245, 242, 1) 0%,
      rgba(246, 245, 242, 0.99) 25%,
      rgba(246, 245, 242, 0.9) 43%,
      rgba(246, 245, 242, 0.55) 68%,
      rgba(246, 245, 242, 0.14) 100%
    );

  pointer-events: none;
}

/* Edition label */

body.home .elk-edition-hero-label,
body.home .elk-edition-label,
body.home .elk-edition-hero-content h5,
body.home .elk-edition-hero-content h5.elementor-heading-title {
  margin: 0 0 14px !important;

  font-family: var(--elk-font-body) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  color: var(--elk-black) !important;
}

/* Edition number */

body.home .elk-edition-hero-content h1,
body.home .elk-edition-hero-content h1.elementor-heading-title,
body.home .elk-edition-hero-number,
body.home .elk-edition-hero-number .elementor-heading-title {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;

  font-family: var(--elk-font-heading) !important;
  font-size: clamp(82px, 8vw, 120px) !important;
  font-weight: 800 !important;
  line-height: 0.82 !important;
  letter-spacing: -0.095em !important;

  color: var(--elk-black) !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

/* Optional separate theme field */

body.home .elk-edition-hero-theme,
body.home .elk-edition-hero-theme .elementor-heading-title {
  width: auto !important;
  max-width: 8ch !important;
  margin: 42px 0 0 !important;

  font-family: var(--elk-font-serif) !important;
  font-size: clamp(52px, 5.6vw, 76px) !important;
  font-weight: 400 !important;
  line-height: 0.88 !important;
  letter-spacing: -0.06em !important;

  color: var(--elk-black) !important;
  text-transform: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body.home .elk-edition-hero-content h2::before,
body.home .elk-edition-hero-theme::before {
  content: "";
  display: block;

  width: 48px;
  height: 1px;
  margin-bottom: 26px;

  background: var(--elk-black);
}

/* Dates */

body.home .elk-edition-hero-meta,
body.home .elk-edition-hero-meta p,
body.home .elk-edition-date,
body.home .elk-edition-date p,
body.home .elk-edition-date .elementor-widget-container,
body.home .elk-edition-hero-content > .elementor-widget-heading h2,
body.home .elk-edition-hero-content > .elementor-widget-heading h2.elementor-heading-title {
  width: 100% !important;
  max-width: none !important;
  margin: 28px 0 0 !important;

  font-family: var(--elk-font-serif) !important;
  font-size: clamp(28px, 2.8vw, 40px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: -0.055em !important;

  color: var(--elk-black) !important;
  text-wrap: balance;
  white-space: nowrap;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body.home .elk-edition-hero-content > .elementor-widget-heading h2 a {
  display: block;
  width: 100%;
  white-space: inherit;
}

/* Hide accidental list bullets in date field */

body.home .elk-edition-hero-meta ul,
body.home .elk-edition-hero-meta ol,
body.home .elk-edition-date ul,
body.home .elk-edition-date ol {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.home .elk-edition-hero-meta li,
body.home .elk-edition-date li {
  margin: 0 !important;
  padding: 0 !important;
}

body.home .elk-edition-hero-meta li::marker,
body.home .elk-edition-date li::marker {
  content: "" !important;
}

/* Subtitle / location */

body.home .elk-edition-hero-subtitle,
body.home .elk-edition-hero-subtitle p,
body.home .elk-edition-location,
body.home .elk-edition-location p {
  max-width: 340px !important;
  margin: 26px 0 0 !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  color: var(--elk-black) !important;
}

/* Hero button */

body.home .elk-hero-button,
body.home .elk-edition-hero .elk-button {
  width: auto !important;
  margin-top: 34px !important;
}

body.home .elk-hero-button .elementor-button-wrapper,
body.home .elk-edition-hero .elk-button .elementor-button-wrapper {
  display: inline-block !important;
  width: auto !important;
}

body.home .elk-hero-button .elementor-button,
body.home .elk-edition-hero .elk-button .elementor-button {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 44px !important;

  padding: 13px 20px !important;

  background: var(--elk-black) !important;
  color: var(--elk-white) !important;

  border: 1px solid var(--elk-black) !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

body.home .elk-hero-button .elementor-button:hover,
body.home .elk-edition-hero .elk-button .elementor-button:hover {
  background: var(--elk-white) !important;
  color: var(--elk-black) !important;
  opacity: 1 !important;
}

/* =========================================================
   FOCUS / EDITIONS SECTION
========================================================= */

body.home .elk-home-focus,
body.home .elk-focus-section {
  padding-block: 70px 78px;
}

body.home .elk-home-focus .elk-home-section-header,
body.home .elk-focus-section .elk-home-section-header {
  margin-bottom: 24px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.28);
}

body.home .elk-editions-layout > .e-con-inner {
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: stretch !important;
  gap: 18px !important;
}

/*
 * Elementor stores the first edition and the next three editions in two
 * separate Loop Grid widgets. Flatten their non-visual wrappers so all four
 * cards participate in the same responsive row.
 */
body.home .elk-editions-layout > .e-con-inner > .elementor-widget-loop-grid,
body.home .elk-editions-layout > .e-con-inner > .elementor-widget-loop-grid > .elementor-widget-container,
body.home .elk-editions-layout > .e-con-inner > .elementor-widget-loop-grid .elementor-loop-container {
  display: contents !important;
}

body.home .elk-editions-layout .e-loop-item {
  flex: 0 0 calc(25% - 13.5px) !important;
  width: auto !important;
  min-width: 0 !important;
}

/* Match the edition archive cards */

body.home .elk-edition-card,
body.home .elk-edition-card-small,
body.home .elk-edition-card-featured {
  position: relative !important;
  width: 100% !important;
  min-height: 340px !important;
  height: 100% !important;
  padding: 22px !important;
  overflow: hidden !important;

  display: flex !important;
  align-items: flex-start !important;

  background: var(--elk-black) !important;
  color: var(--elk-white) !important;
  cursor: pointer;
}

body.home .elk-edition-card,
body.home .elk-edition-card-small,
body.home .elk-edition-card-featured,
body.home .elk-edition-card *,
body.home .elk-edition-card-small *,
body.home .elk-edition-card-featured * {
  transition: none !important;
}

body.home .elk-edition-card > .e-con-inner,
body.home .elk-edition-card-small > .e-con-inner,
body.home .elk-edition-card-featured > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  min-height: 296px;
  margin: 0 !important;
  padding: 0 !important;
}

body.home .elk-edition-card .elk-edition-card-content,
body.home .elk-edition-card-small .elk-edition-card-content,
body.home .elk-edition-card-featured .elk-edition-card-content {
  position: relative !important;
  z-index: 4 !important;

  width: 100% !important;
  max-width: 240px !important;
  min-height: 296px;

  color: var(--elk-white) !important;
}

body.home .elk-edition-card .elk-edition-number,
body.home .elk-edition-card-small .elk-edition-number,
body.home .elk-edition-card-featured .elk-edition-number,
body.home .elk-edition-card .elk-edition-number .elementor-heading-title,
body.home .elk-edition-card-small .elk-edition-number .elementor-heading-title,
body.home .elk-edition-card-featured .elk-edition-number .elementor-heading-title {
  margin: 0 !important;

  font-size: 48px !important;
  font-weight: 800 !important;
  line-height: 0.8 !important;
  letter-spacing: -0.08em !important;

  color: var(--elk-white) !important;
}

body.home .elk-edition-card .elk-edition-theme,
body.home .elk-edition-card-small .elk-edition-theme,
body.home .elk-edition-card-featured .elk-edition-theme,
body.home .elk-edition-card .elk-edition-theme .elementor-heading-title,
body.home .elk-edition-card-small .elk-edition-theme .elementor-heading-title,
body.home .elk-edition-card-featured .elk-edition-theme .elementor-heading-title {
  margin: 0 !important;

  font-family: var(--elk-font-serif) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.04em !important;

  color: var(--elk-white) !important;
  text-transform: uppercase !important;
}

body.home .elk-edition-card .elk-edition-date,
body.home .elk-edition-card-small .elk-edition-date,
body.home .elk-edition-card-featured .elk-edition-date,
body.home .elk-edition-card .elk-edition-date p,
body.home .elk-edition-card-small .elk-edition-date p,
body.home .elk-edition-card-featured .elk-edition-date p,
body.home .elk-edition-card .elk-edition-date .elementor-widget-container,
body.home .elk-edition-card-small .elk-edition-date .elementor-widget-container,
body.home .elk-edition-card-featured .elk-edition-date .elementor-widget-container {
  margin-top: auto !important;
  padding-top: 36px;

  font-family: var(--elk-font-body) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;

  color: rgba(255, 255, 255, 0.9) !important;
}

body.home .elk-edition-card:hover .elk-edition-image img,
body.home .elk-edition-card-small:hover .elk-edition-image img,
body.home .elk-edition-card-featured:hover .elk-edition-image img,
body.home .elk-edition-card:focus-within .elk-edition-image img,
body.home .elk-edition-card-small:focus-within .elk-edition-image img,
body.home .elk-edition-card-featured:focus-within .elk-edition-image img {
  transform: scale(1.15);
}

body.home .elk-edition-card:focus-within,
body.home .elk-edition-card-small:focus-within,
body.home .elk-edition-card-featured:focus-within {
  outline: 2px solid var(--elk-black);
  outline-offset: 3px;
}

/* =========================================================
   ABOUT FESTIVAL
========================================================= */

body.home .elk-home-about,
body.home .elk-about-section {
  padding-block: 84px;
  border-top: 1px solid rgba(0, 0, 0, 0.18);
}

body.home .elk-about-layout {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 72px !important;
}

body.home .elk-about-primary {
  flex: 0 1 46%;
  min-width: 0;
}

body.home .elk-about-secondary {
  flex: 1 1 0;
  min-width: 0;
}

body.home .elk-about-kicker,
body.home .elk-about-kicker .elementor-heading-title {
  margin: 0 0 32px !important;

  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

body.home .elk-about-title,
body.home .elk-about-title .elementor-heading-title {
  max-width: 16ch !important;
  margin: 0 !important;

  font-family: var(--elk-font-serif) !important;
  font-size: clamp(31px, 3.6vw, 48px) !important;
  font-weight: 400 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.05em !important;
}

body.home .elk-about-text,
body.home .elk-about-text p {
  max-width: 540px !important;
  margin: 0 !important;

  font-size: 13px !important;
  line-height: 1.55 !important;
}

body.home .elk-about-link {
  margin-top: 34px !important;
}

/* =========================================================
   STATISTICS
========================================================= */

body.home .elk-stats-row,
body.home .elk-home-stats,
body.home .elk-stats-grid {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  width: 100%;
  margin-top: 52px;
  padding-top: 24px;

  border-top: 1px solid rgba(0, 0, 0, 0.18);
}

body.home .elk-stat {
  flex: 1 1 0 !important;
  min-width: 0;
  padding: 0 24px;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;

  border-left: 1px solid rgba(0, 0, 0, 0.18);
}

body.home .elk-stat:first-child {
  padding-left: 0;
  border-left: 0;
}

body.home .elk-stat-label,
body.home .elk-stat-label p {
  margin: 0 0 10px !important;

  font-size: 11px !important;
  line-height: 1.25 !important;
}

body.home .elk-stat-value,
body.home .elk-stat-value .elementor-heading-title,
body.home .elk-stat-number,
body.home .elk-stat-number .elementor-heading-title {
  margin: 0 !important;

  font-family: var(--elk-font-heading) !important;
  font-size: clamp(42px, 5vw, 68px) !important;
  font-weight: 800 !important;
  line-height: 0.82 !important;
  letter-spacing: -0.075em !important;
}

body.home .elk-stat-note,
body.home .elk-stat-note p,
body.home .elk-stat-caption,
body.home .elk-stat-caption p {
  margin: 8px 0 0 !important;

  font-size: 11px !important;
  line-height: 1.25 !important;
}

/* =========================================================
   HOMEPAGE CTA / TEXT BANDS
========================================================= */

body.home .elk-home-band {
  width: 100%;
  padding-block: 72px;

  background: var(--elk-paper);
}

body.home .elk-home-band-inner {
  width: min(var(--elk-wide-width), calc(100% - var(--elk-home-gutter)));
  margin-inline: auto;

  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 64px;
}

body.home .elk-home-band-title,
body.home .elk-home-band-title .elementor-heading-title {
  flex: 0 1 46%;
  max-width: 15ch;

  font-family: var(--elk-font-serif);
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: -0.05em;
}

body.home .elk-home-band-content {
  flex: 1 1 0;
  max-width: 520px;
}

/* =========================================================
   HOMEPAGE IMAGE RULES
========================================================= */

body.home .elk-home-image img,
body.home .elk-about-image img,
body.home .elk-feature-image img {
  width: 100%;
  height: auto;
  filter: grayscale(100%);
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

  body.home {
    --elk-home-gutter: 32px;
  }

  body.home .elk-edition-hero {
    width: 100% !important;
    min-height: 500px !important;
  }

  body.home .elk-edition-hero-slide,
  body.home .elk-edition-hero > .e-con-inner {
    min-height: 500px !important;
    padding-block: 42px !important;
  }

  body.home .elk-edition-hero-content {
    flex-basis: 68% !important;
    width: 68% !important;
    max-width: 600px !important;
  }

  body.home .elk-edition-hero-content h1,
  body.home .elk-edition-hero-content h1.elementor-heading-title,
  body.home .elk-edition-hero-number,
  body.home .elk-edition-hero-number .elementor-heading-title {
    font-size: clamp(70px, 10vw, 104px) !important;
  }

  body.home .elk-editions-layout .e-loop-item {
    flex-basis: calc(50% - 9px) !important;
  }

  body.home .elk-about-layout {
    gap: 48px !important;
  }
}

/* =========================================================
   PHONE
========================================================= */

@media (max-width: 767px) {

  body.home {
    --elk-home-gutter: 24px;
  }

  body.home .elk-home-section,
  body.home .elk-home-inner,
  body.home .elk-home-focus,
  body.home .elk-focus-section,
  body.home .elk-home-about,
  body.home .elk-about-section,
  body.home .elk-home-cta,
  body.home .elk-home-band-inner {
    width: calc(100% - var(--elk-home-gutter));
  }

  body.home .elk-home-section {
    padding-block: 52px;
  }

  body.home .elk-home-section-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  /* Hero */

  body.home .elk-edition-hero {
    width: 100% !important;
    min-height: 430px !important;
  }

  body.home .elk-edition-hero-slide,
  body.home .elk-edition-hero > .e-con-inner {
    min-height: 430px !important;
    padding: 34px 0 !important;

    align-items: flex-start !important;
  }

  body.home .elk-edition-hero-content {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 390px !important;
    padding: 0 18px !important;
  }

  body.home .elk-edition-hero::before {
    background:
      linear-gradient(
        90deg,
        rgba(246, 245, 242, 1) 0%,
        rgba(246, 245, 242, 0.98) 55%,
        rgba(246, 245, 242, 0.66) 78%,
        rgba(246, 245, 242, 0.22) 100%
      );
  }

  body.home .elk-edition-hero-content h1,
  body.home .elk-edition-hero-content h1.elementor-heading-title,
  body.home .elk-edition-hero-number,
  body.home .elk-edition-hero-number .elementor-heading-title {
    font-size: clamp(58px, 19vw, 82px) !important;
  }

  body.home .elk-edition-hero-theme,
  body.home .elk-edition-hero-theme .elementor-heading-title {
    margin-top: 26px !important;
    font-size: clamp(38px, 12vw, 54px) !important;
  }

  body.home .elk-edition-hero-meta,
  body.home .elk-edition-hero-meta p,
  body.home .elk-edition-date,
  body.home .elk-edition-date p,
  body.home .elk-edition-date .elementor-widget-container,
  body.home .elk-edition-hero-content > .elementor-widget-heading h2,
  body.home .elk-edition-hero-content > .elementor-widget-heading h2.elementor-heading-title {
    max-width: 100% !important;
    font-size: clamp(25px, 8vw, 34px) !important;
    line-height: 1.02 !important;
    white-space: normal;
  }

  body.home .elk-edition-hero-image img {
    filter:
      grayscale(100%)
      blur(10px)
      contrast(1.04) !important;

    opacity: 0.24 !important;
    transform: scale(1.1) !important;
  }

  /* Focus */

  body.home .elk-home-focus,
  body.home .elk-focus-section {
    padding-block: 52px 58px;
  }

  body.home .elk-home-focus .elk-home-section-header,
  body.home .elk-focus-section .elk-home-section-header {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  /* About */

  body.home .elk-home-about,
  body.home .elk-about-section {
    padding-block: 58px;
  }

  body.home .elk-about-layout {
    flex-direction: column !important;
    gap: 42px !important;
  }

  body.home .elk-about-primary,
  body.home .elk-about-secondary {
    flex: none;
    width: 100%;
  }

  body.home .elk-about-title,
  body.home .elk-about-title .elementor-heading-title {
    max-width: 14ch !important;
  }

  /* Statistics */

  body.home .elk-stats-row,
  body.home .elk-home-stats,
  body.home .elk-stats-grid {
    flex-flow: row nowrap !important;
    gap: 0 !important;
    margin-top: 34px;
    padding-top: 0;
    border: 1px solid rgba(0, 0, 0, 0.18);
  }

  body.home .elk-stat {
    flex: 1 1 0 !important;
    width: 0 !important;
    min-height: 136px;
    padding: 16px 12px !important;
    border-left: 1px solid rgba(0, 0, 0, 0.18);
  }

  body.home .elk-stat:first-child {
    border-left: 0;
  }

  body.home .elk-stat-value,
  body.home .elk-stat-value .elementor-heading-title,
  body.home .elk-stat-number,
  body.home .elk-stat-number .elementor-heading-title {
    margin-block: 8px 0 !important;
    font-size: clamp(36px, 12vw, 52px) !important;
    line-height: 0.9 !important;
    letter-spacing: -0.065em !important;
  }

  body.home .elk-stat-label,
  body.home .elk-stat-label p,
  body.home .elk-stat-note,
  body.home .elk-stat-note p,
  body.home .elk-stat-caption,
  body.home .elk-stat-caption p {
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  body.home .elk-stat-caption,
  body.home .elk-stat-caption p,
  body.home .elk-stat-note,
  body.home .elk-stat-note p {
    margin-top: auto !important;
    padding-top: 10px;
    overflow-wrap: anywhere;
  }

  /* CTA bands */

  body.home .elk-home-band {
    padding-block: 54px;
  }

  body.home .elk-home-band-inner {
    flex-direction: column;
    gap: 34px;
  }

  body.home .elk-home-band-title,
  body.home .elk-home-band-title .elementor-heading-title {
    flex: none;
    width: 100%;
  }

  body.home .elk-home-band-content {
    max-width: none;
  }
}

/* =========================================================
   EDITION LOOP — ONE COLUMN LIKE THE ARCHIVE
========================================================= */

@media (max-width: 560px) {
  body.home .elk-editions-layout .e-loop-item {
    flex-basis: 100% !important;
  }

  body.home .elk-edition-card,
  body.home .elk-edition-card-small,
  body.home .elk-edition-card-featured {
    min-height: 340px !important;
  }
}

/* =========================================================
   SMALL PHONE
========================================================= */

@media (max-width: 420px) {

  body.home .elk-edition-hero {
    min-height: 410px !important;
  }

  body.home .elk-edition-hero-slide,
  body.home .elk-edition-hero > .e-con-inner {
    min-height: 410px !important;
    padding-block: 30px !important;
  }

  body.home .elk-edition-hero-content {
    width: 100% !important;
  }

  body.home .elk-edition-hero-content h1,
  body.home .elk-edition-hero-content h1.elementor-heading-title,
  body.home .elk-edition-hero-number,
  body.home .elk-edition-hero-number .elementor-heading-title {
    font-size: clamp(54px, 18vw, 72px) !important;
  }

  body.home .elk-edition-hero-theme,
  body.home .elk-edition-hero-theme .elementor-heading-title {
    font-size: clamp(36px, 12vw, 48px) !important;
  }

  body.home .elk-stats-row,
  body.home .elk-home-stats,
  body.home .elk-stats-grid {
    width: 100% !important;
  }

  body.home .elk-stat {
    flex: 1 1 0 !important;
    width: 0 !important;
    min-height: 128px;
    padding: 14px 9px !important;
  }

  body.home .elk-stat-value,
  body.home .elk-stat-value .elementor-heading-title,
  body.home .elk-stat-number,
  body.home .elk-stat-number .elementor-heading-title {
    font-size: clamp(34px, 11vw, 46px) !important;
  }
}
