/*
  PressPair V2028 — locked editorial typography system.
  This sheet is intentionally loaded last. It standardizes text only and never
  touches the official PP mark, the PressPair wordmark image, model art,
  products, selectors, cart controls, or page geometry.
*/

@font-face {
  font-family: "PressPair Bodoni";
  src: url("../fonts/bodoni-moda-latin-400-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "PressPair Bodoni";
  src: url("../fonts/bodoni-moda-latin-600-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "PressPair Bodoni";
  src: url("../fonts/bodoni-moda-latin-400-italic.woff2") format("woff2");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

:root {
  --pp-v2028-display: "PressPair Bodoni", "Bodoni 72", Didot, "Times New Roman", serif;
  --pp-v2028-sans: Inter, "Helvetica Neue", Arial, Helvetica, sans-serif;
  --pp-v2028-ink: #061b34;
  --pp-v2028-gold: #c99a37;
  --pp-v2028-gold-deep: #9a6b21;
}

/* Keep the navigation compact and sharp. The official brand lockup remains an
   untouched image and is deliberately outside this selector. */
html body #ppGlobalHeader .pp-global-links a,
html body #ppGlobalHeader .pp-global-mobile a,
html body #ppGlobalHeader .pp-global-topbar,
html body #ppGlobalHeader .pp-global-count {
  font-family: var(--pp-v2028-sans) !important;
}

/* The common PressPair page-title language: crisp Didone display, never
   Playfair, Cormorant, or a rounded display fallback. No size or spacing is
   changed here; existing approved layouts keep their own measurements. */
html body main h1,
html body main h2,
html body .suite-title h1,
html body .pp-v2013-opening h1,
html body .pp-v2013-sailing .hero-copy h1,
html body .v77-hero h1,
html body .v77-destination h2,
html body .v77-color-copy h2,
html body .v77-look-head h2,
html body .v77-shop-head h2,
html body .v77-closing h2,
html body .pp-v2004-cabana-panel h2,
html body .pp110-heading h2,
html body .pp-v2013-cabana-copy h2,
html body .home-v115-confidence-grid .editorial-copy h2,
html body .noir51-hero-content h1,
html body .noir51-intro h2,
html body .noir51-section-head h2,
html body .noir51-final-copy h2,
html body .pp-design-title,
html body .pp-design-heading,
html body .pride-intro h1,
html body .pride-page .head h2,
html body .pride-page .split h2,
html body .pride-pocket h2,
html body .shop-copy h2,
html body .pride-close h2,
html body .lb-hero h1 {
  font-family: var(--pp-v2028-display) !important;
}

/* FAQ follows the same title / refined italic line / clean readable answer
   hierarchy as the reference, without changing the approved accordion grid. */
html body .faq-page .faq-hero h1,
html body .faq-page .faq-intro,
html body .faq-page .faq-list summary {
  font-family: var(--pp-v2028-display) !important;
}

html body .faq-page .faq-intro {
  font-style: italic !important;
  font-weight: 400 !important;
}

html body .faq-page .faq-answer,
html body .faq-page .faq-benefit p {
  font-family: var(--pp-v2028-sans) !important;
}

/* Gold labels stay precise and tailored; paragraph copy stays in the existing
   clean sans system so purchasing controls and text flow do not shift. */
html body main .eyebrow,
html body main .pp-v2013-kicker,
html body main .pp-design-eyebrow,
html body main .v77-kicker,
html body main .noir-kicker,
html body main .noir51-kicker,
html body main .lb-hero small {
  font-family: var(--pp-v2028-sans) !important;
}

html body main .lead,
html body main .tagline,
html body main .pp-design-lead,
html body main .lb-hero > p,
html body .suite-title > p:first-of-type,
html body .v77-hero > p,
html body .noir51-hero-content > p {
  font-family: var(--pp-v2028-display) !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

/* Exact direction from the approved Next Collections reference: navy Bodoni
   title, gold overline, italic gold statement, and simple sans body copy.
   The desktop title breaks naturally between NEXT and COLLECTIONS; a phone
   keeps each complete word on its own readable line without clipping. */
html body.next-page .pp-v2026-next-silk-copy h1 {
  max-width: 680px !important;
  margin: 10px 0 16px !important;
  color: var(--pp-v2028-ink) !important;
  font-family: var(--pp-v2028-display) !important;
  font-size: clamp(64px, 6.2vw, 94px) !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: .86 !important;
  letter-spacing: .012em !important;
  text-transform: uppercase !important;
  overflow-wrap: normal !important;
  text-wrap: balance !important;
}

html body.next-page .pp-v2026-next-silk-copy .eyebrow {
  color: var(--pp-v2028-gold) !important;
  font-family: var(--pp-v2028-sans) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .2em !important;
}

html body.next-page .pp-v2026-next-silk-copy .lead {
  margin: 4px 0 18px !important;
  color: var(--pp-v2028-gold-deep) !important;
  font-family: var(--pp-v2028-display) !important;
  font-size: clamp(23px, 1.8vw, 30px) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

html body.next-page .pp-v2026-next-silk-copy > p:not(.lead) {
  color: var(--pp-v2028-ink) !important;
  font-family: var(--pp-v2028-sans) !important;
}

/* Approved Home framing correction: the existing White & Gold World artwork
   stays untouched, but has a little more breathing room from the copy and
   keeps the complete lower garment area inside the frame. */
@media (min-width: 1051px) {
  html:not(.pp-mobile-mode) body.home-page main.page-main.pp-v2013-home .pp-v2013-opening-media img {
    width: 96% !important;
    height: 96% !important;
    transform: translateX(2%) !important;
  }
}

@media (max-width: 760px) {
  html body.next-page .pp-v2026-next-silk-copy h1 {
    max-width: 100% !important;
    font-size: clamp(42px, 13vw, 60px) !important;
    line-height: .9 !important;
    letter-spacing: .006em !important;
    text-wrap: balance !important;
  }
}
