/* Homepage typography — World Class Brand Guidelines v1.2, pp. 10–11.
   Loaded only by index.html. Sizes are responsive web adaptations, not
   literal reproductions of the brandbook's presentation examples. */

/* Keep the display face separate from the legacy Display/700 text alias.
   The slant is already drawn into World Class 2.0 OG Regular. */
@font-face {
  font-family: "World Class 2.0 OG";
  src: url("../assets/fonts/world-class-display-900-italic.woff2") format("woff2"),
       url("../assets/fonts/world-class-display-900-italic.woff") format("woff");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

:root {
  --t-headline-font: "World Class 2.0 OG", Arial, sans-serif;
  --wc-font-display: var(--t-headline-font);
}

body { font-synthesis: none; font-kerning: normal; }

/* Homepage rhythm: equal section types share one responsive spacing step. */
body { --home-section-space: clamp(40px, 4vw, 64px); }

main > :is(.wc-directions-route, .wct, .wc-numbers-block, .features-block,
           .wc-memberships, .wc-gallery, .wc-tour, .wc-faq) {
  padding-block: var(--home-section-space);
}

:is(.wh-title, .wc-directions-route__title, .wc-direction-card__name,
    .wct-title, .wct-name, .numbers h2, .numbers-value, .numbers-index,
    .features-block__title, .features-block__title-why,
    .features-block__title-accent, .features-block__card-cta-title,
    .wc-section__title, .wh-corporate h2, .wc-gallery__title,
    .wc-tour__title, .wc-faq__title, .wc-contacts__title,
    .wc-direction-card__number, .features-block__card-number,
    .wc-card__plastic-text, .wc-gallery__caption-number,
    .wc-gallery__item-number, .wc-gallery__lightbox-number) {
  font-family: var(--t-headline-font) !important;
  font-weight: 900 !important;
  font-style: italic !important;
  letter-spacing: 0;
  font-kerning: normal;
}

/* Descriptive subheadings and interface labels use the primary typeface. */
:is(.numbers h3, .features-block__card-title, .wc-card__heading,
    .wc-gallery__caption-title, .wc-gallery__lightbox-title,
    .wc-gallery__item-title, .wc-tour__button, .wc-tour__button-text) {
  font-family: var(--t-text-font) !important;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
}

.wc-faq .wc-faq__question {
  font-family: var(--t-text-font) !important;
  font-weight: 500;
  font-style: normal;
  line-height: 1.35;
}

.wh-motto { font-style: normal; }
.wh-benefit strong { text-transform: none; }
.wc-numbers-block .numbers h2,
.wc-numbers-block .numbers-value,
.wc-numbers-block .numbers-index { transform: none; }

.wc-directions-route__title { line-height: .95; }
.wc-direction-card__name { line-height: 1; }

/* Removed labels must not leave their former height in the section header. */
.wc-directions-route__header {
  min-height: 0;
  margin-bottom: clamp(28px, 3vw, 44px);
}

.wc-directions-route__left { gap: 0; }

/* Text and display faces keep separate, content-specific leading. */
:is(.wh-description, .numbers-subtitle, .features-block__subtitle,
    .features-block__card-text, .wc-section__description,
    .wh-spa-announcement__text, .wc-gallery__caption-text,
    .wc-gallery__item-text, .wc-tour__description, .site-faq p) {
  line-height: 1.5;
}

:is(.features-block__card-title, .wc-gallery__caption-title,
    .wc-gallery__item-title) {
  line-height: 1.25;
}

:is(.wh-title, .wc-directions-route__title, .numbers h2,
    .features-block__title, .wc-section__title, .wc-gallery__title,
    .wc-tour__title, .wc-faq__title) {
  text-rendering: optimizeLegibility;
}
