/* 19 October 2026: the six C4 public pages only. No commerce or voucher-rendering rules. */

/* At 360 px, retain the three existing header actions without horizontal overflow. */
@media (max-width: 380px) {
  .oni-c .c-header { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; }
  .oni-c .c-header .c-brand-symbol { width: 40px; height: 40px; }
  .oni-c .c-header .c-brand-name { font-size: 23px; }
  .oni-c .c-header .c-brand-baseline { font-size: 8px; margin-top: 5px; }
  .oni-c .c-header .c-menu-toggle { padding-inline: 9px; white-space: nowrap; }
  .oni-c .c-header .c-menu-toggle span { margin-left: 5px; }
  .oni-c .c-header .c4-cart-link { margin-left: 0; font-size: 12px; }
}

/* The workshop audience choices each sit below their own description. */
.cu-collectif .cu-hero .c4-audiences > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.cu-collectif .cu-hero .c4-audiences p { margin-bottom: 20px; }
.cu-collectif .cu-hero .c4-audiences .c-button {
  width: 100%;
  margin-top: auto;
  gap: 14px;
  padding: 14px 16px;
  min-height: 56px;
  font-size: 14px;
  line-height: 1.45;
  text-align: left;
  white-space: normal;
}
.cu-collectif .cu-hero .c4-audiences .c-button > span { flex-shrink: 0; }

/* The outer gutters used to expose the forest background around lime links. */
.cu-collectif .cu-path-links { background: var(--lime); }
@media (min-width: 701px) {
  .cu-collectif .cu-path-links a + a { border-left: 1px solid #28532a4d; }
}

/* Keep the caption inside the image, above its sloping lower edge. */
@media (min-width: 1051px) {
  .cd-refined .cd-hero-image figcaption {
    display: block;
    left: 10%;
    right: 27%;
    bottom: clamp(62px, 12%, 86px);
    font-size: 14px;
    line-height: 1.5;
    text-shadow: 0 2px 8px #000d;
  }
  .cd-refined .cd-hero-image figcaption strong {
    font-size: clamp(23px, 1.7vw, 31px);
    line-height: 1.15;
    margin-top: 7px;
  }
}
@media (min-width: 761px) and (max-width: 1050px) {
  .cd-refined .cd-hero-image figcaption { bottom: 64px; font-size: 13px; }
}
@media (max-width: 760px) {
  .cd-refined .cd-hero-image figcaption {
    display: block;
    left: 8%;
    right: 29%;
    bottom: 44px;
    font-size: 12px;
    line-height: 1.4;
    text-shadow: 0 2px 7px #000d;
  }
  .cd-refined .cd-hero-image figcaption strong {
    font-size: clamp(18px, 5vw, 24px);
    line-height: 1.15;
    margin-top: 5px;
  }
}

/* Removing the ornamental MEVO line also releases the space reserved for it. */
.cu-mevo .cu-hero-art { padding-bottom: 42px; }
@media (max-width: 700px) {
  .cu-mevo .cu-hero-art { padding-bottom: 24px; }
}

/* Component-level desktop typography; mobile and PDF lettering retain their own scale. */
@media (min-width: 1101px) {
  .oni-c {
    --ux-body-size: clamp(17px, calc(13px + .3vw), 19px);
    --ux-intro-size: clamp(19px, calc(14px + .4vw), 22px);
    --ux-label-size: clamp(13px, calc(12px + .1vw), 14px);
  }

  .c-home .ch-description,
  .cu-studio .cu-hero-lead,
  .cu-formation .cu-hero-lead,
  .cu-collectif .cu-hero-lead,
  .cu-mevo .cu-hero-lead,
  .cd-refined .cd-lead {
    font-size: var(--ux-intro-size);
    line-height: 1.65;
  }

  .c-home .c4-audiences p,
  .cu-collectif .c4-audiences p,
  .cu-studio .cu-prose,
  .cu-formation .cu-prose,
  .cu-collectif .cu-prose,
  .cu-mevo .cu-prose,
  .cu-formation .cu-offer > p:not(.c-eyebrow):not(.cu-smallprint):not(.c3-tariff-caption),
  .cu-collectif .cu-offer > p:not(.c-eyebrow):not(.cu-smallprint):not(.c3-tariff-caption),
  .c3-practice-grid p,
  .c3-practice-more,
  .c3-workshop-method p,
  .cu-formation .c4-demo-originals p:not(.c4-demo-rights),
  .c4-review-context,
  .mevo-method p,
  .mevo-pack > p:not(.c-eyebrow):not(.mevo-price):not(.mevo-pack-detail),
  .mevo-formulas-action p,
  .cd-refined .cd-section-intro > p:last-child,
  .cd-refined .cd-steps p,
  .cd-refined .c4-cabin-copy > p:not(.c-eyebrow),
  .cd-refined .c43-group-copy > p:not(.c-eyebrow),
  .cd-refined .cd-gift-guide-heading > p:last-child,
  .cd-refined .cd-gift-steps p,
  .cd-refined .cd-faq details p,
  .cu-local-dialog > p:not(.c-eyebrow):not(.cu-smallprint),
  .c3-session-state p {
    font-size: var(--ux-body-size);
    line-height: 1.7;
  }

  .cu-studio .cu-end p:not(.c-eyebrow),
  .cu-formation .cu-end p:not(.c-eyebrow),
  .cu-collectif .cu-end p:not(.c-eyebrow),
  .cu-mevo .cu-end p:not(.c-eyebrow),
  .cu-mevo .cu-strip p {
    font-size: var(--ux-body-size);
    line-height: 1.6;
  }
  .cu-mevo .cu-strip strong { font-size: 21px; line-height: 1.35; }

  .c-home .ch-kicker,
  .cu-studio .c-eyebrow,
  .cu-formation .c-eyebrow,
  .cu-collectif .c-eyebrow,
  .cu-mevo .c-eyebrow,
  .cd-refined .c-eyebrow,
  .cu-local-dialog > .c-eyebrow {
    font-size: var(--ux-label-size);
    line-height: 1.55;
    letter-spacing: .075em;
  }
  .c-home .ch-kicker > span { font-size: 13px; }

  .c-home .ch-photo-caption {
    width: max-content;
    max-width: 80%;
    padding: 6px 9px;
    border-radius: 4px;
    background: #101611c4;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: .015em;
    text-shadow: 0 1px 4px #0009;
  }
  .cu-studio .cu-photo-caption,
  .cu-formation .cu-photo-caption,
  .cu-collectif .cu-photo-caption,
  .mevo-browser figcaption,
  .c41-studio-photos figcaption,
  .cd-refined .c43-group-photo figcaption,
  .cd-refined .c4-cabin-photo figcaption,
  .cu-collectif .c3-luc-photo figcaption {
    font-size: 14px;
    line-height: 1.55;
  }
  .cu-collectif .c3-luc-role { font-size: 14px; }
  .cu-formation .c3-practice-index { font-size: 13px; }
  .cu-collectif .c3-workshop-method > div > span { font-size: 13px; }

  .cu-studio .cu-smallprint,
  .cu-formation .cu-smallprint,
  .cu-collectif .cu-smallprint,
  .cu-mevo .cu-smallprint,
  .cu-local-dialog .cu-smallprint,
  .cu-formation .c4-demo-originals .c4-demo-rights,
  .c4-review-grid figcaption small,
  .cd-refined .cd-contact .cu-smallprint {
    font-size: 14px;
    line-height: 1.65;
  }
  /* Override only the existing important rule on these MEVO card footnotes. */
  .cu-mevo .mevo-pack .mevo-pack-detail { font-size: 15px !important; line-height: 1.65; }

  .cu-formation .cu-facts li,
  .cu-collectif .cu-facts li,
  .cu-collectif .cu-path-links a,
  .cu-collectif .c3-tariff-caption,
  .cd-refined .cd-hero-terms,
  .cd-refined .cd-finish-options small {
    font-size: 16px;
    line-height: 1.6;
  }
  .cu-collectif .cu-path-links a small,
  .cd-refined .cd-location,
  .cd-refined .cd-facts span,
  .cd-refined .cd-small,
  .cd-refined .cd-finish-options em,
  .cd-refined .cd-config-heading > p:not(.c-eyebrow) {
    font-size: 14px;
    line-height: 1.6;
  }

  .c-home .ch-cta,
  .cu-hero-actions .c-button,
  .cu-offer .c-button,
  .cu-end .c-button,
  .cu-collectif .cu-hero .c4-audiences .c-button {
    font-size: 15px;
    line-height: 1.45;
    white-space: normal;
  }
  .c-home .ch-offer { font-size: 16px; line-height: 1.5; }
  .cu-hero-actions .cu-text-link { font-size: 15px; }
}
