/* =========================================================
   WA Cushion — Typography lock (load near end)
   Cormorant Garamond (display) + Sora (body/UI)
   Editorial furniture brand — quieter than Instrument/Jakarta.
   ========================================================= */

:root {
  --wa-font-display: "Cormorant Garamond", "Times New Roman", Georgia, "Noto Serif SC", serif !important;
  --wa-font-body: "Sora", "Segoe UI", system-ui, "PingFang SC", "Noto Sans SC", sans-serif !important;
  --font-display: "Cormorant Garamond", "Times New Roman", Georgia, "Noto Serif SC", serif !important;
  --font-body: "Sora", "Segoe UI", system-ui, "PingFang SC", "Noto Sans SC", sans-serif !important;
  --font-ui: "Sora", "Segoe UI", system-ui, "PingFang SC", "Noto Sans SC", sans-serif !important;

  --wa-fs-hero: clamp(3.6rem, 8vw, 6.4rem);
  --wa-fs-h2: clamp(2.55rem, 5.1vw, 4.15rem);
  --wa-fs-h3: clamp(1.55rem, 2.35vw, 2.1rem);
  --wa-fs-body: clamp(1rem, 1.08vw, 1.125rem);
  --wa-fs-lead: clamp(1.18rem, 1.55vw, 1.42rem);
  --wa-fs-eyebrow: 0.64rem;
  --wa-lh-display: 1.02;
  --wa-lh-body: 1.72;
  --wa-track-display: 0.01em;
}

/* ---------- Base ---------- */
html body {
  font-family: var(--wa-font-body) !important;
  font-weight: 400 !important;
  font-size: var(--wa-fs-body) !important;
  line-height: var(--wa-lh-body) !important;
  letter-spacing: -0.008em !important;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1 !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* Lock UI chrome to the body face */
html body,
html body .btn,
html body a.btn,
html body .hero-cta,
html body .eyebrow,
html body .header-cats a,
html body .lang-bar__link,
html body .site-footer,
html body .pcat-card__cta,
html body .link-arrow {
  font-family: var(--wa-font-body) !important;
}

/* ---------- Display headings ---------- */
html body h1,
html body h2,
html body h3,
html body .hero-brand,
html body .contact-hero__title,
html body .about-hero__title,
html body .product-hero__title,
html body .craft-hero__title,
html body .news-hero__title,
html body .faq-hero__title,
html body .dl-hero__title,
html body .pcat-hero h1,
html body .home-hero .hero-brand,
html body .feat-card__body h3,
html body .pcat-card__body h3,
html body .pcat-feat-card__body h3,
html body .gallery-item__name,
html body .pcat-gallery__name,
html body .col-item__name,
html body .craft-flow__node h3,
html body .why-strip__item h3,
html body .news-journal__card h3,
html body .news-launch__card h3,
html body .dl-feat-card h3,
html body .about-mv__card h3,
html body .about-custom__card h3,
html body .faq-desk__intro h2,
html body .about-clients__intro h2,
html body .logo__word,
html body .page-loader__brand,
html body .page-loader__logo-word {
  font-family: var(--wa-font-display) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  letter-spacing: var(--wa-track-display) !important;
  text-wrap: balance !important;
  text-transform: none !important;
  font-optical-sizing: auto !important;
}

html body h1,
html body .hero-brand,
html body .contact-hero__title,
html body .about-hero__title,
html body .product-hero__title,
html body .craft-hero__title,
html body .news-hero__title,
html body .faq-hero__title,
html body .dl-hero__title,
html body .pcat-hero h1,
html body .home-hero .hero-brand,
html body.page-download .dl-hero__title,
html body.page-download .dl-hero h1,
html body.page-faq .faq-hero__title,
html body.page-faq .faq-hero h1,
html body.page-about .about-hero__title,
html body.page-news .news-hero__title,
html body.page-contact .contact-hero__title,
html body.page-products .product-hero__title,
html body.page-products-catalog .pcat-hero h1,
html body.page-craftsmanship .craft-hero__title,
html body.page-home .home-hero .hero-brand,
html body.page-home .hero-brand {
  font-size: var(--wa-fs-hero) !important;
  line-height: var(--wa-lh-display) !important;
  font-weight: 500 !important;
  letter-spacing: 0.005em !important;
}

html body h2,
html body .home-section-head h2,
html body .pcat-head h2,
html body .home-about__copy h2,
html body .home-why__head h2,
html body .contact-form-section__head h2,
html body .block-head h2,
html body .faq-desk__intro h2,
html body .about-clients__intro h2,
html body.page-home .home-about__copy h2,
html body.page-home .home-section-head h2,
html body.page-home .home-why__head h2,
html body.page-home .home-featured__head h2 {
  font-family: var(--wa-font-display) !important;
  font-size: var(--wa-fs-h2) !important;
  line-height: 1.08 !important;
  letter-spacing: 0.008em !important;
  font-weight: 500 !important;
  max-width: none !important;
  text-transform: none !important;
}

html body .home-section-head h2,
html body .pcat-head h2,
html body .home-about__copy h2 {
  max-width: 15ch !important;
}

/* Editorial italic leads — signature voice */
html body .lead,
html body .home-about__copy .lead,
html body.page-home .home-about__copy .lead,
html body .pcat-head p,
html body .home-section-head p,
html body .contact-form-section__head p,
html body .hero-line,
html body.page-home .hero-line,
html body .product-hero p,
html body .about-hero p,
html body .craft-hero p,
html body .faq-hero p,
html body .dl-hero p,
html body .contact-hero p,
html body .news-hero p,
html body .pcat-hero p,
html body .pdet-hero__lead {
  font-family: var(--wa-font-display) !important;
  font-size: var(--wa-fs-lead) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 1.48 !important;
  letter-spacing: 0.01em !important;
  max-width: 36ch !important;
  text-transform: none !important;
}

html body h3,
html body .feat-card__body h3,
html body .pcat-card__body h3,
html body .pcat-feat-card__body h3,
html body .gallery-item__name,
html body .pcat-gallery__name,
html body .col-item__name,
html body .craft-flow__node h3,
html body .why-strip__item h3,
html body .news-journal__card h3,
html body .news-launch__card h3,
html body.page-download .dl-feat-card h3,
html body .dl-feat-card h3 {
  font-family: var(--wa-font-display) !important;
  font-size: var(--wa-fs-h3) !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
  font-weight: 600 !important;
  text-transform: none !important;
}

html body.page-download .dl-feat-card h3 {
  font-size: clamp(1.7rem, 2.6vw, 2.2rem) !important;
  letter-spacing: 0.012em !important;
}

html body h4,
html body .site-footer h4 {
  font-family: var(--wa-font-body) !important;
  font-size: 0.66rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

/* ---------- Body ---------- */
html body p,
html body li,
html body .col-item__desc,
html body .feat-card__body p,
html body .pcat-card__body p,
html body .pcat-feat-card__body p,
html body .craft-flow__node p,
html body .why-strip__item p,
html body .faq-item__a,
html body .pcat-faq__a {
  font-family: var(--wa-font-body) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: var(--wa-fs-body) !important;
  line-height: 1.72 !important;
  letter-spacing: -0.006em !important;
}

/* ---------- Eyebrows ---------- */
html body .eyebrow,
html body .hero-kicker,
html body .product-hero__label,
html body .craft-hero__label,
html body .news-hero__label,
html body .faq-hero__label,
html body .dl-hero__label,
html body .contact-hero__label,
html body .pcat-hero__label {
  font-family: var(--wa-font-body) !important;
  font-size: var(--wa-fs-eyebrow) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  line-height: 1.35 !important;
}

/* Editorial numerals */
html body .col-item__index,
html body .feat-card__index,
html body .craft-flow__num,
html body .about-clients__item-num,
html body .faq-item__num,
html body .pcat-faq__num,
html body .faq-popular__num {
  font-family: var(--wa-font-display) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  font-size: clamp(1.55rem, 2.35vw, 2.15rem) !important;
}

/* ---------- Nav ---------- */
html body .site-header .header-cats a,
html body .site-header .header-link,
html body .nav__links a,
html body .lang-bar__link,
html body .lang-bar__link span {
  font-family: var(--wa-font-body) !important;
  font-size: 0.66rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-style: normal !important;
}

/* ---------- Buttons ---------- */
html body .btn,
html body a.btn,
html body .hero-cta,
html body a.hero-cta,
html body .contact-hero__cta,
html body .contact-form__submit,
html body .pcat-card__cta,
html body .gallery-item__cta,
html body .pcat-gallery__cta,
html body .link-arrow,
html body .product-hero__cta,
html body .dl-feat-card__btn {
  font-family: var(--wa-font-body) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

html body .link-arrow {
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
}

/* ---------- Stats ---------- */
html body .home-stats__item strong,
html body .ed-figures__item strong,
html body .about-stat strong,
html body [data-count] {
  font-family: var(--wa-font-display) !important;
  font-weight: 500 !important;
  font-style: italic !important;
  letter-spacing: 0.01em !important;
  line-height: 0.96 !important;
}

html body .home-stats__item span,
html body .ed-figures__item span,
html body .about-stat span {
  font-family: var(--wa-font-body) !important;
  font-size: 0.74rem !important;
  font-weight: 500 !important;
  font-style: normal !important;
  letter-spacing: 0.06em !important;
}

/* ---------- Dark photo overlays ---------- */
html body.page-home .col-item__name,
html body.page-home a.col-item .col-item__name {
  font-family: var(--wa-font-display) !important;
  font-weight: 400 !important;
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

html body.page-home .col-item__desc,
html body.page-home .col-item__cta,
html body.page-home .col-item__cta * {
  font-family: var(--wa-font-body) !important;
  font-style: normal !important;
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

html body.page-home .col-item__index {
  font-family: var(--wa-font-display) !important;
  font-style: italic !important;
  color: #E0C8A8 !important;
  -webkit-text-fill-color: #E0C8A8 !important;
}

/* Hero cream on dark */
html body.page-home .home-hero .hero-brand,
html body.page-home .home-hero .hero-kicker,
html body.page-home .home-hero .hero-line {
  color: #F5EFE4 !important;
  -webkit-text-fill-color: #F5EFE4 !important;
}

html body.page-home .home-hero .hero-line {
  font-family: var(--wa-font-display) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  max-width: 32ch !important;
  opacity: 0.9 !important;
}

html body.page-home .home-hero .hero-brand {
  font-style: normal !important;
}

/* Soften italic numerals on light plates */
html body .feat-card__index {
  color: var(--wa-accent, #8F7358) !important;
  -webkit-text-fill-color: var(--wa-accent, #8F7358) !important;
}

/* Loader / brand mark */
html body .page-loader__eyebrow,
html body .page-loader__tagline {
  font-family: var(--wa-font-body) !important;
}

html body .page-loader__tagline {
  font-family: var(--wa-font-display) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}

@media (max-width: 720px) {
  html body h1,
  html body .hero-brand {
    font-size: clamp(2.85rem, 12vw, 3.75rem) !important;
  }

  html body h2,
  html body .home-section-head h2,
  html body .pcat-head h2 {
    font-size: clamp(2.15rem, 8.5vw, 2.9rem) !important;
    max-width: none !important;
  }

  html body .lead,
  html body .hero-line {
    max-width: 42ch !important;
  }
}
