/*
 * EWNS design consistency v1
 * 2026-08-13
 *
 * A final, cache-busted layer for the six-language production site.
 * It brings the compact service/news detail routes into the EWNS editorial
 * system and contains the three narrowly scoped responsive corrections found
 * during the 204-route visual audit.
 */

body[data-ewns-detail] {
  --ewns-detail-image: url('/assets/images/ewns-network-original.webp');
}

body[data-ewns-detail="news-destination-golf-tourism"] {
  --ewns-detail-image: url('/assets/images/montgomerie-sunset.webp');
}

body[data-ewns-detail="news-golf-event-sponsorship"] {
  --ewns-detail-image: url('/assets/images/editorial-business-conversation-v21.webp');
}

body[data-ewns-detail="service-event-strategy-format"] {
  --ewns-detail-image: url('/assets/images/nation-course.webp');
}

body[data-ewns-detail="service-venue-partner-coordination"] {
  --ewns-detail-image: url('/assets/images/editorial-business-conversation-v21.webp');
}

body[data-ewns-detail="service-guest-experience-event-delivery"] {
  --ewns-detail-image: url('/assets/images/bucharest-hospitality.webp');
}

body[data-ewns-detail="service-content-reporting-follow-up"] {
  --ewns-detail-image: url('/assets/images/montgomerie-night-course-v32.webp');
}

body[data-ewns-detail] main {
  min-height: 0 !important;
  background: #061923 !important;
}

body[data-ewns-detail] main > .static-route {
  position: relative;
  isolation: isolate;
  display: grid;
  align-content: center;
  min-height: clamp(690px, calc(100svh - 96px), 900px) !important;
  box-sizing: border-box;
  overflow: hidden;
  padding: clamp(132px, 11vw, 188px) max(24px, calc((100% - 1580px) / 2)) clamp(104px, 9vw, 154px) !important;
  background-color: #061923 !important;
  background-image:
    linear-gradient(90deg, rgba(2, 20, 29, .98) 0%, rgba(2, 20, 29, .91) 40%, rgba(2, 20, 29, .55) 68%, rgba(2, 20, 29, .26) 100%),
    linear-gradient(0deg, rgba(2, 20, 29, .48), rgba(2, 20, 29, .08)),
    var(--ewns-detail-image) !important;
  background-position: center, center, center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  color: #fffaf0 !important;
}

body[data-ewns-detail] main > .static-route::before {
  content: "";
  position: absolute;
  inset: clamp(26px, 3vw, 54px);
  z-index: -1;
  border: 1px solid rgba(213, 173, 89, .22);
  border-left-color: rgba(213, 173, 89, .66);
  pointer-events: none;
}

body[data-ewns-detail] main > .static-route::after {
  content: "EWNS";
  position: absolute;
  right: clamp(34px, 5vw, 96px);
  bottom: clamp(34px, 5vw, 80px);
  z-index: -1;
  color: rgba(255, 255, 255, .09);
  font-family: "Montserrat", Arial, sans-serif;
  font-size: clamp(62px, 8vw, 148px);
  font-weight: 600;
  line-height: .8;
  letter-spacing: .14em;
  pointer-events: none;
}

body[data-ewns-detail] main > .static-route > * {
  position: relative;
  z-index: 1;
  width: min(100%, 820px) !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body[data-ewns-detail] main > .static-route .eyebrow {
  margin: 0 0 22px !important;
  color: #d5ad59 !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase;
}

body[data-ewns-detail] main > .static-route h1 {
  max-width: 12ch !important;
  margin: 0 !important;
  color: #fffaf0 !important;
  font-family: "Newsreader", Georgia, serif !important;
  font-size: clamp(58px, 5.7vw, 104px) !important;
  font-weight: 400 !important;
  line-height: .92 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance;
}

body[data-ewns-detail] main > .static-route .lede {
  max-width: 660px !important;
  margin: 28px 0 0 !important;
  color: rgba(255, 255, 255, .82) !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: clamp(16px, 1.2vw, 20px) !important;
  line-height: 1.7 !important;
}

body[data-ewns-detail] main > .static-route p:last-child {
  margin-top: 34px !important;
}

body[data-ewns-detail] main > .static-route .button--signal {
  min-height: 54px;
  border-color: #d5ad59 !important;
  background: #d5ad59 !important;
  color: #061923 !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .22);
}

body[data-ewns-detail] main > .static-route .button--signal:hover,
body[data-ewns-detail] main > .static-route .button--signal:focus-visible {
  border-color: #fffaf0 !important;
  background: #fffaf0 !important;
  color: #061923 !important;
}

/* English contact: the 900px headline crossed the 1920px viewport edge. */
@media (min-width: 1800px) {
  html[lang="en"] body.signature-route-contact .inner-page-hero h1 {
    width: min(100%, 820px) !important;
    max-width: 820px !important;
  }
}

/* Russian services: allow long Cyrillic card headings to size inside the card. */
@media (min-width: 1181px) {
  html[lang="ru"] body.signature-route-ru-uslugi .inner-card,
  html[lang="ru"] body.signature-route-ru-uslugi .inner-card-body {
    min-width: 0 !important;
  }

  html[lang="ru"] body.signature-route-ru-uslugi .inner-card h3 {
    max-width: 100% !important;
    font-size: clamp(30px, 2.05vw, 40px) !important;
    overflow-wrap: anywhere;
  }
}

/* Home story grids: protect translated copy from min-content expansion. */
body.signature-home .curated-legacy__grid,
body.signature-home .curated-legacy__copy,
body.signature-home .curated-legacy__media,
body.signature-home .curated-legacy__visual,
body.signature-home .curated-proof {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.signature-home .curated-legacy__copy :is(h2, p, dt, dd) {
  max-width: 100% !important;
  overflow-wrap: break-word;
  word-break: normal;
}

@media (max-width: 620px) {
  body[data-ewns-detail] main > .static-route {
    min-height: 660px !important;
    padding: 106px 20px 88px !important;
    background-image:
      linear-gradient(90deg, rgba(2, 20, 29, .96) 0%, rgba(2, 20, 29, .83) 72%, rgba(2, 20, 29, .58) 100%),
      linear-gradient(0deg, rgba(2, 20, 29, .58), rgba(2, 20, 29, .18)),
      var(--ewns-detail-image) !important;
    background-position: center, center, 62% center !important;
  }

  body[data-ewns-detail] main > .static-route::before {
    inset: 16px;
  }

  body[data-ewns-detail] main > .static-route::after {
    right: 14px;
    bottom: 26px;
    font-size: 56px;
  }

  body[data-ewns-detail] main > .static-route h1 {
    max-width: 11ch !important;
    font-size: clamp(46px, 13.5vw, 62px) !important;
    line-height: .94 !important;
  }

  body[data-ewns-detail] main > .static-route .lede {
    margin-top: 22px !important;
    font-size: 16px !important;
    line-height: 1.62 !important;
  }

  body[data-ewns-detail] main > .static-route p:last-child {
    margin-top: 28px !important;
  }

  body[data-ewns-detail] main > .static-route .button--signal {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  html[lang="ru"] body.signature-home .curated-legacy__copy h2 {
    font-size: clamp(38px, 11.8vw, 50px) !important;
    line-height: .98 !important;
  }

  /* Long translated event copy must shrink with the one-column mobile grid. */
  body.signature-inner .event-detail-story__grid > *,
  body.signature-inner .event-detail-story__grid figure,
  body.signature-inner .event-detail-story__grid img,
  body.signature-inner .event-detail-story__grid figcaption {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.signature-inner .event-detail-story__grid :is(h2, p, figcaption) {
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
  }

  body.signature-inner .events-hub-hero h1 em {
    display: block !important;
    max-width: 100% !important;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
  }

  /* Event facts must shrink inside the two-column mobile definition list. */
  body.signature-inner .event-detail-meta > div {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
  }

  /* Translated network copy must not turn the grid track into min-content width. */
  body.signature-inner .inner-signature-band > .inner-shell {
    width: calc(100% - 36px) !important;
    max-width: calc(100% - 36px) !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    box-sizing: border-box;
  }

  body.signature-inner .inner-signature-copy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }

  body.signature-inner .inner-signature-copy :is(h2, p) {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
  }

  /* Long Russian engine copy must include padding in the one-column track. */
  body.signature-inner .client-engine-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.signature-inner :is(.client-engine-mark, .client-engine-copy) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
    overflow-wrap: anywhere;
  }
}
