
/* Ultra Luxury Index — R155 editorial refinement layer.
   Conservative, semantic-only adjustments. No product facts/content hidden. */

:root {
  --uli-reading-measure: 68ch;
  --uli-touch: 42px;
}

html {
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  hanging-punctuation: first last;
}

body {
  overflow-wrap: break-word;
  font-kerning: normal;
  font-optical-sizing: auto;
}

h1, h2, h3 {
  text-wrap: balance;
  hyphens: auto;
  orphans: 2;
  widows: 2;
}

p, li, dd {
  text-wrap: pretty;
  orphans: 2;
  widows: 2;
}

img, svg, video {
  max-inline-size: 100%;
}

nav a,
header a {
  text-decoration-thickness: .06em;
  text-underline-offset: .18em;
}

a:focus-visible,
button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

@media (max-width: 640px) {
  header {
    min-block-size: 44px;
  }

  header nav,
  nav {
    row-gap: .35rem;
  }

  header nav a,
  nav a {
    min-block-size: var(--uli-touch);
    display: inline-flex;
    align-items: center;
  }

  main h1 {
    font-size: clamp(2rem, 10.5vw, 3.35rem);
    line-height: .96;
    letter-spacing: -.025em;
  }

  main h2 {
    line-height: 1.02;
  }

  main h3 {
    line-height: 1.06;
  }

  article h1,
  article h2,
  article h3 {
    overflow-wrap: break-word;
    word-break: normal;
  }

  /* Long luxury product names should remain readable rather than becoming a dense slab. */
  article h1,
  main > h1 {
    max-inline-size: 18ch;
  }

  /* Preserve full titles while slightly improving dense catalogue/list scanning. */
  article p,
  main p {
    line-height: 1.42;
  }
}

@media (min-width: 1000px) {
  main h1 {
    line-height: .96;
    letter-spacing: -.026em;
  }

  main p {
    max-inline-size: var(--uli-reading-measure);
  }
}
