  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap');

  /* Sticky footer — short pages keep footer at bottom of viewport */
  html {
      height: 100%;
      overflow-x: hidden;
      max-width: 100%;
  }

  body {
      min-height: 100%;
      min-height: 100dvh;
      display: flex;
      flex-direction: column;
      overflow-x: hidden;
      max-width: 100%;
  }

  body > main {
      flex: 1 0 auto;
  }

  body > footer {
      flex-shrink: 0;
  }

  /* Footer nav only — smaller than main header nav */
  .site-footer-nav {
      font-size: 0.6875rem;
  }

  @media (min-width: 640px) {
      .site-footer-nav {
          font-size: 0.75rem;
      }
  }

  /* Hero Scroller Animation */
  .scroller {
      animation: bounce 2s infinite;
  }

  @keyframes bounce {

      0%,
      20%,
      50%,
      80%,
      100% {
          transform: translateY(0);
      }

      40% {
          transform: translateY(-10px);
      }

      60% {
          transform: translateY(-5px);
      }
  }

  /* Custom Scrollbar */
  ::-webkit-scrollbar {
      width: 8px;
  }

  ::-webkit-scrollbar-track {
      background: #f1f1f1;
  }

  ::-webkit-scrollbar-thumb {
      background: #cbd5e1;
      border-radius: 4px;
  }

  ::-webkit-scrollbar-thumb:hover {
      background: #94a3b8;
  }

  /* Navigation active state underline */
  a.nav-item {
      text-decoration: none;
      color: inherit;
  }

  .nav-item {
      position: relative;
  }

  .nav-item::after {
      content: '';
      position: absolute;
      width: 0;
      height: 2px;
      bottom: -4px;
      left: 0;
      background-color: #ca8a04;
      transition: width 0.3s ease;
  }

  .nav-item:hover::after,
  .nav-item.active-nav::after {
      width: 100%;
  }

  .nav-item.active-nav {
      color: #0f172a;
      font-weight: 600;
  }

  .site-brand {
      text-decoration: none;
      color: inherit;
  }

  .site-brand:focus-visible {
      outline: 2px solid #ca8a04;
      outline-offset: 4px;
      border-radius: 4px;
  }

  .site-logo-img {
      display: block;
      height: 3.5rem;
      width: auto;
      max-width: min(180px, 40vw);
      object-fit: contain;
      object-position: left center;
  }

  /* Header nav: keep labels on one line and tighten spacing on medium desktops */
  #main-header nav {
      gap: clamp(0.75rem, 1.6vw, 2rem);
      font-size: clamp(0.90rem, 0.72vw, 1rem);
      letter-spacing: 0.04em;
  }

  #main-header nav .nav-item {
      white-space: nowrap;
      line-height: 1.1;
  }

  /* Partner mark — same bounding box as Vitral ( .site-logo-img ) for visual parity */
  .site-partner-logo {
      display: block;
      height: 3.5rem;
      width: auto;
      max-width: min(180px, 40vw);
      object-fit: contain;
      object-position: center;
  }

  /* Free more room for center nav by tightening side blocks */
  @media (min-width: 1280px) {
      #main-header .container {
          padding-left: 0.75rem;
          padding-right: 0.75rem;
          gap: 0.5rem;
      }
  }

  @media (max-width: 399.98px) {
      .site-partner-logo {
          height: 3.25rem;
          max-width: min(200px, 48vw);
      }
  }

  /* Mobile header: keep right hamburger fully visible */
  @media (max-width: 767.98px) {
      #main-header .container {
          padding-left: 0.75rem;
          padding-right: 0.75rem;
          gap: 0.35rem;
      }

      .site-logo-img,
      .site-partner-logo {
          height: 2.35rem;
          max-width: min(132px, 34vw);
      }

      #main-header .container > div:last-child {
          gap: 0.25rem;
      }

      #mobile-menu-btn {
          padding: 0.35rem;
          min-width: 2rem;
          min-height: 2rem;
          margin-left: 0.1rem;
      }
  }

  @media (max-width: 1365.98px) {
      .site-logo-img,
      .site-partner-logo {
          height: 3.5rem;
          max-width: min(190px, 42vw);
      }
  }

  .certifications-list__item {
      display: flex;
      align-items: center;
      gap: 1rem;
      padding: 1rem 1.15rem;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 0.75rem;
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
  }

  .certifications-list__item:hover {
      border-color: rgba(202, 138, 4, 0.28);
      box-shadow: 0 8px 24px -8px rgba(15, 23, 42, 0.1);
  }

  .certifications-list__logo {
      flex-shrink: 0;
      width: 3.5rem;
      height: 3.5rem;
      object-fit: contain;
      border-radius: 0.5rem;
      box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
  }

  .certifications-list__name {
      font-weight: 600;
      font-size: 0.9375rem;
      line-height: 1.4;
      color: #0f172a;
  }

  /* Home hero — image carousel (3 slides) */
  .hero-carousel {
      position: absolute;
      inset: 0;
      z-index: 0;
  }

  .hero-slide {
      position: absolute;
      inset: 0;
      opacity: 0;
      transition: opacity 1s ease;
      z-index: 0;
  }

  .hero-slide.is-active {
      opacity: 1;
      z-index: 1;
  }

  .hero-slide img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center;
      filter: brightness(1.08) contrast(1.04) saturate(1.06);
  }

  /* Lighter overlay so banners stay vivid; strong dark only behind headline column */
  .hero-carousel__shade {
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      background: linear-gradient(105deg,
              rgba(15, 23, 42, 0.78) 0%,
              rgba(15, 23, 42, 0.45) 28%,
              rgba(15, 23, 42, 0.18) 48%,
              rgba(15, 23, 42, 0.05) 62%,
              transparent 78%);
  }

  /* Mobile hero: stronger contrast so copy never blends into bright slides */
  @media (max-width: 767.98px) {
      .hero-carousel__shade {
          background: linear-gradient(108deg,
                  rgba(15, 23, 42, 0.86) 0%,
                  rgba(15, 23, 42, 0.66) 38%,
                  rgba(15, 23, 42, 0.34) 62%,
                  rgba(15, 23, 42, 0.14) 78%,
                  transparent 100%);
      }

      .hero-copy {
          background: linear-gradient(120deg, rgba(2, 6, 23, 0.46), rgba(2, 6, 23, 0.16));
          padding: 0.85rem 0.8rem 0.95rem;
          border-radius: 0.5rem;
      }

      .hero-copy .hero-headline-line,
      .hero-copy p,
      .hero-copy .hero-eyebrow {
          text-shadow: 0 2px 8px rgba(0, 0, 0, 0.62);
      }
  }

  @media (min-width: 1024px) {
      .hero-carousel__shade {
          background: linear-gradient(to right,
                  rgba(15, 23, 42, 0.72) 0%,
                  rgba(15, 23, 42, 0.38) 32%,
                  rgba(15, 23, 42, 0.12) 52%,
                  transparent 68%);
      }
  }

  /* Hero type: soft shadow only where it doesn’t blur the gold gradient word */
  .hero-copy h1 {
      text-shadow: none;
  }

  .hero-copy .hero-headline-line {
      text-shadow: 0 2px 20px rgba(0, 0, 0, 0.55), 0 1px 6px rgba(0, 0, 0, 0.45);
  }

  .hero-copy p,
  .hero-copy .hero-eyebrow {
      text-shadow: 0 2px 20px rgba(0, 0, 0, 0.55), 0 1px 6px rgba(0, 0, 0, 0.45);
  }

  /* Sharp gold headline — no filter blur; high-contrast gradient + hairline edge */
  .hero-copy .hero-headline-accent {
      display: inline-block;
      text-rendering: geometricPrecision;
      background: linear-gradient(105deg,
              #f59e0b 0%,
              #fbbf24 35%,
              #fde047 65%,
              #fef9c3 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      -webkit-text-fill-color: transparent;
      -webkit-text-stroke: 0.45px rgba(15, 23, 42, 0.35);
  }

  @supports not (-webkit-background-clip: text) {
      .hero-copy .hero-headline-accent {
          color: #fbbf24;
          -webkit-text-fill-color: currentColor;
          background: none;
          -webkit-text-stroke: 0;
      }
  }

  .hero-copy a {
      text-shadow: none;
  }

  .hero-carousel__dots {
      position: absolute;
      bottom: 5.5rem;
      left: 50%;
      transform: translateX(-50%);
      z-index: 20;
      display: flex;
      align-items: center;
      gap: 0.625rem;
  }

  @media (max-width: 767.98px) {
      /* Keep carousel controls clear of the mobile hero content card */
      .hero-carousel__dots {
          bottom: 4.15rem;
          z-index: 25;
      }

      .hero-scroll-down {
          bottom: 0.85rem;
          z-index: 25;
      }

      .hero-copy {
          margin-bottom: 4.25rem;
      }
  }

  .hero-carousel__dot {
      width: 0.625rem;
      height: 0.625rem;
      padding: 0;
      border: 2px solid rgba(255, 255, 255, 0.45);
      border-radius: 50%;
      background: transparent;
      cursor: pointer;
      transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
  }

  .hero-carousel__dot:hover {
      border-color: rgba(255, 255, 255, 0.85);
      transform: scale(1.15);
  }

  .hero-carousel__dot:focus-visible {
      outline: 2px solid #eab308;
      outline-offset: 3px;
  }

  .hero-carousel__dot[aria-current="true"] {
      background: #eab308;
      border-color: #eab308;
  }

  @media (prefers-reduced-motion: reduce) {
      .hero-slide {
          transition: none;
      }
  }

  /* Hero — “Scroll” control: keyboard focusable, scrolls to #home-stats */
  .hero-scroll-down {
      margin: 0;
      padding: 0.45rem 0.75rem 0.35rem;
      border: none;
      cursor: pointer;
      font: inherit;
      line-height: 1;
  }

  .hero-scroll-down:focus-visible {
      outline: 2px solid #eab308;
      outline-offset: 3px;
  }

  .hero-scroll-down:focus:not(:focus-visible) {
      outline: none;
  }

  /* Deep-linked gallery (#safari, #polos, …) clears fixed header */
  #product-gallery-tabs {
      scroll-margin-top: 6.5rem;
  }

  /* Products page — garment gallery */
  .product-gallery-tablist {
      display: flex;
      flex-wrap: nowrap;
      justify-content: flex-start;
      gap: 0.5rem;
      margin-bottom: 2.5rem;
      padding: 0 0 0.5rem;
      overflow-x: auto;
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: thin;
      scroll-snap-type: x proximity;
  }

  .product-gallery-tablist::-webkit-scrollbar {
      height: 5px;
  }

  .product-gallery-tablist::-webkit-scrollbar-thumb {
      background: #cbd5e1;
      border-radius: 999px;
  }

  @media (min-width: 768px) {
      .product-gallery-tablist {
          flex-wrap: wrap;
          justify-content: center;
          overflow-x: visible;
          scroll-snap-type: none;
          gap: 0.75rem;
          padding: 0 0.25rem 0.25rem;
      }
  }

  .product-gallery-tab {
      flex-shrink: 0;
      scroll-snap-align: start;
      padding: 0.625rem 1rem;
      border: 1px solid #e2e8f0;
      border-radius: 9999px;
      background: #fff;
      color: #475569;
      -webkit-text-fill-color: currentColor;
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      cursor: pointer;
      transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  }

  @media (min-width: 768px) {
      .product-gallery-tab {
          font-size: 0.875rem;
      }
  }

  .product-gallery-tab:hover {
      border-color: #ca8a04;
      color: #ffffff;
      -webkit-text-fill-color: currentColor;
      background: #0f172a;
  }

  .product-gallery-tab--active,
  .product-gallery-tab[aria-selected="true"] {
      background: #0f172a;
      color: #fff;
      border-color: #ca8a04;
      -webkit-text-fill-color: currentColor;
  }

  .product-gallery-tab--active:hover,
  .product-gallery-tab[aria-selected="true"]:hover {
      background: #0f172a;
      color: #fff;
      border-color: #ca8a04;
      -webkit-text-fill-color: currentColor;
  }

  .product-gallery-tab:focus-visible {
      outline: 2px solid #ca8a04;
      outline-offset: 2px;
  }

  .product-gallery-panel {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 1rem;
  }

  @media (min-width: 480px) {
      .product-gallery-panel {
          grid-template-columns: repeat(2, minmax(0, 1fr));
      }
  }

  @media (min-width: 768px) {
      .product-gallery-panel {
          grid-template-columns: repeat(3, minmax(0, 1fr));
      }
  }

  @media (min-width: 1024px) {
      .product-gallery-panel {
          grid-template-columns: repeat(4, minmax(0, 1fr));
          gap: 1.5rem;
      }
  }

  .product-gallery__figure {
      margin: 0;
      width: 100%;
      min-width: 0;
      max-width: 100%;
      justify-self: stretch;
      align-self: start;
      border-radius: 0.5rem;
      background: #f1f5f9;
      border: 1px solid rgba(226, 232, 240, 0.9);
      overflow: hidden;
  }

  .product-gallery__img {
      display: block;
      width: 100%;
      height: auto;
      max-width: 100%;
      transition: transform 0.5s ease;
  }

  .product-gallery__figure:hover .product-gallery__img {
      transform: scale(1.05);
  }

  @media (prefers-reduced-motion: reduce) {
      .product-gallery__img {
          transition: none;
      }

      .product-gallery__figure:hover .product-gallery__img {
          transform: none;
      }
  }

  /* Fabric library — natural image size */
  .fabric-library__grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1rem;
  }

  @media (min-width: 768px) {
      .fabric-library__grid {
          grid-template-columns: repeat(4, minmax(0, 1fr));
          gap: 2rem;
      }
  }

  .fabric-library-card {
      cursor: pointer;
  }

  .fabric-library__thumb {
      overflow: hidden;
      border-radius: 0.5rem;
      margin-bottom: 1rem;
  }

  .fabric-library__img {
      display: block;
      width: auto;
      height: auto;
      max-width: 100%;
      transition: transform 0.5s ease;
  }

  .fabric-library-card:hover .fabric-library__img {
      transform: scale(1.05);
  }

  .fabric-library-card h2 {
      margin: 0;
      font-size: 1.125rem;
      font-weight: 700;
      color: #0f172a;
      transition: color 0.2s ease;
  }

  .fabric-library-card:hover h2 {
      color: #ca8a04;
  }

  /* Facility — The Process (timeline + highlights) */
  .process-section {
      position: relative;
  }

  .process-timeline {
      list-style: none;
      margin: 0;
      padding: 0;
      position: relative;
  }

  .process-step {
      position: relative;
      display: grid;
      grid-template-columns: 3rem 1fr;
      gap: 0 1.25rem;
      padding-bottom: 2.5rem;
  }

  @media (min-width: 640px) {
      .process-step {
          grid-template-columns: 3.5rem 1fr;
          gap: 0 1.75rem;
      }
  }

  .process-step--last {
      padding-bottom: 0;
  }

  .process-step__rail {
      position: absolute;
      left: 1.375rem;
      top: 3rem;
      bottom: -0.5rem;
      width: 2px;
      background: linear-gradient(180deg, rgba(202, 138, 4, 0.45) 0%, rgba(148, 163, 184, 0.35) 100%);
      transform: translateX(-50%);
  }

  @media (min-width: 640px) {
      .process-step__rail {
          left: 1.625rem;
      }
  }

  .process-step--last .process-step__rail {
      display: none;
  }

  .process-step__icon {
      position: relative;
      z-index: 1;
      width: 2.75rem;
      height: 2.75rem;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(145deg, #fefce8 0%, #fde68a 55%, #eab308 100%);
      color: #713f12;
      font-size: 0.95rem;
      box-shadow: 0 4px 14px rgba(234, 179, 8, 0.28), 0 0 0 4px #fff;
      flex-shrink: 0;
      transition: transform 0.25s ease, box-shadow 0.25s ease;
  }

  @media (min-width: 640px) {
      .process-step__icon {
          width: 3.25rem;
          height: 3.25rem;
          font-size: 1.05rem;
      }
  }

  .process-step:hover .process-step__icon {
      transform: scale(1.06);
      box-shadow: 0 6px 20px rgba(234, 179, 8, 0.35), 0 0 0 4px #fff;
  }

  .process-step__card {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 0.75rem;
      padding: 1.25rem 1.35rem;
      box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
      transition: border-color 0.25s ease, box-shadow 0.25s ease;
  }

  @media (min-width: 640px) {
      .process-step__card {
          padding: 1.5rem 1.75rem;
      }
  }

  .process-step:hover .process-step__card {
      border-color: rgba(234, 179, 8, 0.35);
      box-shadow: 0 12px 40px -12px rgba(15, 23, 42, 0.12);
  }

  .process-step__label {
      display: inline-block;
      font-size: 0.65rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #ca8a04;
      margin-bottom: 0.35rem;
  }

  .process-step__title {
      font-size: 1.125rem;
      font-weight: 700;
      color: #0f172a;
      margin: 0 0 0.65rem;
  }

  @media (min-width: 640px) {
      .process-step__title {
          font-size: 1.25rem;
      }
  }

  .process-step__text {
      margin: 0;
      font-size: 0.9375rem;
      line-height: 1.65;
      color: #475569;
  }

  .process-highlight {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 0.75rem;
      padding: 1.5rem 1.35rem;
      transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  }

  @media (min-width: 768px) {
      .process-highlight {
          padding: 1.75rem 1.5rem;
      }
  }

  .process-highlight:hover {
      transform: translateY(-3px);
      border-color: rgba(202, 138, 4, 0.25);
      box-shadow: 0 16px 36px -14px rgba(15, 23, 42, 0.14);
  }

  .process-highlight__icon {
      width: 2.5rem;
      height: 2.5rem;
      border-radius: 0.5rem;
      background: #fef9c3;
      color: #a16207;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.1rem;
      margin-bottom: 1rem;
  }

  /* Ensure Font Awesome glyphs render (Tailwind/base styles must not override FA font on <i>) */
  .process-highlight__icon > .fa-solid,
  .process-highlight__icon > i[class^="fa-"],
  .process-step__icon > .fa-solid,
  .process-step__icon > i[class^="fa-"] {
      font-family: "Font Awesome 6 Free";
      font-weight: 900;
      font-style: normal;
      font-variant: normal;
      line-height: 1;
      display: block;
      -webkit-font-smoothing: antialiased;
  }

  .process-highlight__title {
      font-size: 1.05rem;
      font-weight: 700;
      color: #0f172a;
      margin: 0 0 0.65rem;
  }

  .process-highlight__text {
      margin: 0;
      font-size: 0.875rem;
      line-height: 1.65;
      color: #64748b;
  }

  @media (prefers-reduced-motion: reduce) {
      .process-step:hover .process-step__icon,
      .process-highlight:hover {
          transform: none;
      }
  }

  /* Products page — range intro cards (three equal columns on large screens) */
  .product-range-grid {
      display: grid;
      gap: 1.5rem;
      align-items: stretch;
  }

  @media (min-width: 768px) and (max-width: 1023.98px) {
      .product-range-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .product-range-grid .product-range-card:last-child {
          grid-column: 1 / -1;
      }
  }

  @media (min-width: 1024px) {
      .product-range-grid {
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 1.25rem;
      }
  }

  @media (min-width: 1280px) {
      .product-range-grid {
          gap: 1.75rem;
      }
  }

  .product-range-card {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 0.875rem;
      padding: 1.35rem 1.35rem 1.5rem;
      box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
      border-left: 4px solid #ca8a04;
      transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
  }

  @media (min-width: 640px) {
      .product-range-card {
          padding: 1.5rem 1.75rem 1.65rem;
      }
  }

  .product-range-card:hover {
      box-shadow: 0 16px 40px -14px rgba(15, 23, 42, 0.12);
      border-color: rgba(202, 138, 4, 0.28);
      transform: translateY(-2px);
  }

  .product-range-card__head {
      display: flex;
      align-items: flex-start;
      gap: 1rem;
      margin-bottom: 1.25rem;
      padding-bottom: 1.1rem;
      border-bottom: 1px solid #f1f5f9;
  }

  .product-range-card__icon {
      flex-shrink: 0;
      width: 3rem;
      height: 3rem;
      border-radius: 0.65rem;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.2rem;
      background: linear-gradient(145deg, #fefce8 0%, #fde68a 100%);
      color: #854d0e;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
  }

  .product-range-card__icon--knit {
      background: linear-gradient(145deg, #eff6ff 0%, #bfdbfe 100%);
      color: #1e40af;
  }

  .product-range-card__icon--garment {
      background: linear-gradient(145deg, #f0fdf4 0%, #bbf7d0 100%);
      color: #166534;
  }

  .product-range-card__title {
      font-family: "Playfair Display", Georgia, serif;
      font-size: 1.25rem;
      font-weight: 700;
      color: #0f172a;
      margin: 0 0 0.2rem;
      line-height: 1.25;
  }

  @media (min-width: 640px) {
      .product-range-card__title {
          font-size: 1.35rem;
      }
  }

  .product-range-card__tagline {
      margin: 0;
      font-size: 0.8125rem;
      font-weight: 600;
      color: #64748b;
      line-height: 1.45;
  }

  .product-range-card__body {
      display: flex;
      flex-direction: column;
      gap: 1.1rem;
  }

  .product-range-card__label {
      font-size: 0.65rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: #ca8a04;
      margin: 0 0 0.4rem;
  }

  .product-range-card__block p {
      margin: 0;
      font-size: 0.9375rem;
      line-height: 1.65;
      color: #475569;
  }

  @media (min-width: 1024px) {
      .product-range-card__block p {
          font-size: 0.875rem;
      }

      .product-range-card__block--muted p {
          font-size: 0.8125rem;
      }

      .product-range-card__title {
          font-size: 1.2rem;
      }

      .product-range-card__tagline {
          font-size: 0.75rem;
      }
  }

  .product-range-card__block--muted p {
      color: #64748b;
      font-size: 0.875rem;
  }

  .product-range-checklist {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      gap: 0.65rem;
      grid-template-columns: 1fr;
  }

  @media (min-width: 640px) and (max-width: 1023px) {
      .product-range-checklist {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 0.75rem 1.25rem;
      }
  }

  @media (min-width: 1024px) {
      .product-range-checklist {
          grid-template-columns: 1fr;
      }

      .product-range-checklist li {
          font-size: 0.8125rem;
          padding: 0.45rem 0.55rem;
      }
  }

  .product-range-checklist li {
      display: flex;
      align-items: flex-start;
      gap: 0.5rem;
      font-size: 0.875rem;
      line-height: 1.5;
      color: #475569;
      padding: 0.5rem 0.65rem;
      background: #f8fafc;
      border-radius: 0.5rem;
      border: 1px solid #f1f5f9;
  }

  .product-range-checklist li i {
      margin-top: 0.2rem;
      color: #ca8a04;
      font-size: 0.75rem;
      flex-shrink: 0;
  }

  @media (prefers-reduced-motion: reduce) {
      .product-range-card:hover {
          transform: none;
      }
  }

  /* Facility — three division cards */
  .facility-division-card {
      transition: box-shadow 0.25s ease, transform 0.25s ease;
  }

  .facility-division-card:hover {
      box-shadow: 0 16px 40px -12px rgba(15, 23, 42, 0.12);
      transform: translateY(-3px);
  }

  @media (prefers-reduced-motion: reduce) {
      .facility-division-card:hover {
          transform: none;
      }
  }

  /* Home — curated categories (minimal bordered cards + category images) */
  .home-curated-card {
      display: flex;
      align-items: center;
      gap: 1.5rem;
      padding: 2rem 1.75rem;
      border-radius: 2rem;
      border: 1px solid var(--curated-border, #c9a66b);
      background: #ffffff;
      color: var(--curated-ink, #9a7b4a);
      transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease,
          transform 0.25s ease;
      min-height: 8.5rem;
  }

  .home-curated-card:hover {
      transform: scale(1.02);
  }

  .home-curated-card__icon {
      flex-shrink: 0;
      width: 7rem;
      height: 7rem;
      display: flex;
      align-items: center;
      justify-content: center;
  }

  @media (min-width: 768px) {
      .home-curated-card__icon {
          width: 7.5rem;
          height: 7.5rem;
      }
  }

  .home-curated-card__icon img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
  }

  .home-curated-card__label {
      font-family: Inter, system-ui, sans-serif;
      font-weight: 600;
      font-size: 1.125rem;
      line-height: 1.25;
      text-align: left;
      letter-spacing: -0.01em;
  }

  @media (min-width: 768px) {
      .home-curated-card__label {
          font-size: 1.1875rem;
      }
  }

  @media (prefers-reduced-motion: reduce) {
      .home-curated-card {
          transition: none;
      }

      .home-curated-card:hover {
          transform: none;
      }
  }

  /* Collections page — mobile-only readability and spacing */
  @media (max-width: 767.98px) {
      .collections-section {
          padding-top: 2.5rem;
          padding-bottom: 3.25rem;
      }

      .collections-block {
          margin-bottom: 2.75rem;
      }

      .collections-copy {
          text-align: center;
          padding: 0 0.35rem;
      }

      .collections-copy__title {
          font-size: clamp(2.35rem, 11vw, 3.05rem);
          line-height: 1.02;
          margin-bottom: 1rem;
      }

      .collections-copy__text {
          font-size: 1.05rem;
          line-height: 1.6;
          margin-bottom: 0.85rem;
      }
  }