/* English and French copy use normal tracking throughout, including animated letter spans. */
html:is(:lang(en), :lang(fr)) body * {
  letter-spacing: normal !important;
}

/* Preserve the original feature layout and effects; only turn the heading horizontal. */
html:is(:lang(en), :lang(fr)) .feature__title {
  writing-mode: horizontal-tb;
  -webkit-writing-mode: horizontal-tb;
  text-orientation: mixed;
  max-width: min(520px, calc(100vw - 48px));
}

html:is(:lang(en), :lang(fr)) .feature__title-line {
  text-align: center;
}

/* Put text and the LINE link in real grid cells, rather than overlapping offsets. */
html:is(:lang(en), :lang(fr)) .news-letter {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 24px 64px;
  align-items: start;
  padding: 64px max(32px, calc((100% - 1260px) / 2));
}
html:is(:lang(en), :lang(fr)) .news-letter__title {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  padding: 0;
  max-width: 100%;
  font-size: clamp(72px, 7.5vw, 108px);
}
html:is(:lang(en), :lang(fr)) .news-letter__inner {
  display: contents;
}
html:is(:lang(en), :lang(fr)) .news-letter__content {
  position: static;
  grid-column: 2;
  grid-row: 1 / span 2;
  min-width: 0;
  width: auto;
  margin: 0;
}
html:is(:lang(en), :lang(fr)) .news-letter__text {
  font-family: acumin-pro, sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.6;
  max-width: none;
  margin: 0 0 20px;
  transform: none;
}
html:is(:lang(en), :lang(fr)) .news-letter__form-block {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
  width: 100%;
  margin: 0;
}
html:is(:lang(en), :lang(fr)) .news-letter__line-btn {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
html:is(:lang(en), :lang(fr)) .news-letter__line-text {
  min-width: 0;
}
html:is(:lang(en), :lang(fr)) .news-letter__line-arrow {
  flex-shrink: 0;
}

@media (max-width: 1024px) {
  html:is(:lang(en), :lang(fr)) .news-letter {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    padding: 48px 24px 56px;
  }
  html:is(:lang(en), :lang(fr)) .news-letter__title {
    grid-column: 1;
    grid-row: 1;
    font-size: clamp(64px, 19vw, 85px);
  }
  html:is(:lang(en), :lang(fr)) .news-letter__content {
    grid-column: 1;
    grid-row: 2;
  }
  html:is(:lang(en), :lang(fr)) .news-letter__form-block {
    grid-column: 1;
    grid-row: 3;
  }
  html:is(:lang(en), :lang(fr)) .news-letter__text {
    font-size: 16px;
    line-height: 1.65;
  }
}

@media (max-width: 374px) {
  html:is(:lang(en), :lang(fr)) .topics__title {
    font-size: 20vw;
  }
}

/* Normal Latin tracking needs a smaller decorative FAQ heading on narrow phones. */
@media (max-width: 374px) {
  html:is(:lang(en), :lang(fr)) .faq__title-en { font-size: 17vw; }
  html:is(:lang(en), :lang(fr)) .faq__title-en .faq-know { font-size: inherit; }
}

/* Preserve source separators and long words while allowing narrow product prose to wrap. */
html:is(:lang(en), :lang(fr)) .menu-detail-hero__lead { overflow-wrap: anywhere; }

/* Keep the original English FAQ lettering and scale its offsets together on phones. */
@media (max-width: 767px) {
  html:lang(fr) .faq__title-en { box-sizing: border-box; padding-inline: 12px; font-size: min(75px, 15.5vw); }
  html:lang(fr) .faq__title-en .faq-all { left: -0.04em; }
  html:lang(fr) .faq__title-en .faq-you { left: -0.067em; }
  html:lang(fr) .faq__title-en .faq-need { left: -0.093em; }
  html:lang(fr) .faq__title-en .faq-to { font-size: 0.6em; top: -0.58em; }
  html:lang(fr) .faq__title-en .faq-know { font-size: inherit; left: -0.57em; }
}

/* Scale the original English word composition as a unit on French phone screens. */
@media (max-width: 768px) {
  html:lang(fr) .kv__content__title { --parade-hero-type: min(90px, 20.5vw); width: min(100%, 430px); }
  html:lang(fr) .kv__content__title__part { white-space: nowrap; text-align: center; }
  html:lang(fr) .kv__content__title__part:nth-child(2) { text-align: left; }
  html:lang(fr) .kv__content__title .kv__content__title__part div { font-size: var(--parade-hero-type); }
  html:lang(fr) .kv__content__title .kv__content__title__part div.kv-making { top: 0.4em; left: -0.078em; }
  html:lang(fr) .kv__content__title .kv__content__title__part div.kv-sweets { top: 0.389em; left: 0.056em; }
  html:lang(fr) .kv__content__title .kv__content__title__part div.kv-to { font-size: calc(var(--parade-hero-type) * 0.478); top: -0.209em; left: 0.512em; }
  html:lang(fr) .kv__content__title .kv__content__title__part div.kv-share { top: 0.344em; left: 0.211em; }
  html:lang(fr) .kv__content__title .kv__content__title__part div.kv-happiness { font-size: calc(var(--parade-hero-type) * 0.961); top: -0.694em; left: 32%; text-align: left; }
  html:lang(fr) .kv__content__title .kv__content__title__part div.kv-with { font-size: calc(var(--parade-hero-type) * 0.478); top: -2.14em; left: -0.419em; }
  html:lang(fr) .kv__content__title .kv__content__title__part div.kv-loved { top: -0.767em; left: -0.133em; }
  html:lang(fr) .kv__content__title .kv__content__title__part div.kv-ones { top: -0.767em; left: -0.089em; }
}
