:root {
  --relyx-deep: #003d34;
  --relyx-green: #00d87b;
  --relyx-mint: #24d9a6;
  --relyx-content: 90rem;
}

body.relyx-project-page { background: #fff; }

.relyx-project,
.relyx-project *,
.relyx-project *::before,
.relyx-project *::after { box-sizing: border-box; }

.relyx-project { width: 100%; margin: 0 auto; padding: clamp(5.5rem,7vw,7.5rem) 0 clamp(3.5rem,6vw,6rem); overflow-x: clip; }
.relyx-project figure { margin: 0; }
.relyx-project__sr-only { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }

.relyx-project__hero {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: none;
  margin-left: -50vw !important;
  overflow: hidden;
  background: var(--relyx-deep);
}
.relyx-project__hero img { display: block; width: 100%; height: auto; aspect-ratio: 2200 / 1131; object-fit: cover; object-position: center; }

.relyx-project__intro,
.relyx-project__product-grid,
.relyx-project__booth,
.relyx-project__closing { width: min(calc(100vw - 3rem), var(--relyx-content)); margin-inline: auto !important; }

.relyx-project__intro {
  position: relative;
  z-index: 2;
  display: grid;
  gap: clamp(.8rem,1.25vw,1.25rem);
  width: min(calc(100vw - 8rem), 82rem);
  margin-top: 0 !important;
  padding: clamp(2.4rem,4.5vw,4.4rem) clamp(2rem,6vw,6.2rem);
  border-radius: 0 0 clamp(1.8rem,3vw,3.2rem) clamp(1.8rem,3vw,3.2rem);
  background: var(--relyx-deep);
  color: #fff;
}
.relyx-project__intro h2 { display: grid; gap: .16rem; max-width: none; margin: 0; color: #fff; font-size: clamp(1.65rem,2.5vw,2.65rem); font-weight: 400; line-height: 1.05; letter-spacing: -.025em; }
.relyx-project__intro h2 span,
.relyx-project__intro h2 strong { display: block; font: inherit; }
.relyx-project__intro-line { width: clamp(5rem,10vw,9rem); height: .24rem; border-radius: 999px; background: var(--relyx-green); }
.relyx-project__intro p { max-width: 72rem; margin: 0; color: rgba(255,255,255,.94); font-size: clamp(.9rem,1.15vw,1.13rem); line-height: 1.46; }

.relyx-project__product-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr)) minmax(16rem,.96fr);
  grid-template-rows: repeat(2,minmax(0,1fr));
  gap: clamp(.65rem,1.1vw,1rem);
  margin-top: clamp(1.5rem,3vw,3rem) !important;
}
.relyx-project__product-grid figure { min-width: 0; overflow: hidden; background: #ecebeb; }
.relyx-project__product-grid img { display: block; width: 100%; height: 100%; object-fit: cover; }
.relyx-project__product-grid-tall { grid-column: 3; grid-row: 1 / span 2; }

.relyx-project__booth { margin-top: clamp(1.5rem,3vw,3rem) !important; overflow: hidden; background: #ececec; }
.relyx-project__booth img { display: block; width: 100%; height: auto; }

.relyx-project__closing {
  display: grid;
  grid-template-columns: minmax(32rem,.9fr) minmax(0,1.1fr);
  align-items: center;
  gap: clamp(2rem,5vw,6rem);
  padding: clamp(3.5rem,7vw,7rem) clamp(1rem,4vw,4rem) 1rem;
}
.relyx-project__closing h2 { display: grid; max-width: none; margin: 0; color: var(--relyx-deep); font-size: clamp(2.7rem,4.3vw,4.7rem); font-weight: 400; line-height: .92; letter-spacing: -.045em; }
.relyx-project__closing h2 span,
.relyx-project__closing h2 strong { display: block; font: inherit; white-space: nowrap; }
.relyx-project__closing h2 strong { color: var(--relyx-mint); }
.relyx-project__closing-cta { display: block; width: min(100%,48rem); justify-self: end; text-decoration: none; transition: transform 220ms cubic-bezier(.22,1,.36,1); }
.relyx-project__closing-cta img { display: block; width: 100%; height: auto; }
.relyx-project__closing-cta:hover,
.relyx-project__closing-cta:focus-visible { transform: translateY(-.35rem); }
.relyx-project__closing-cta:focus-visible { outline: .2rem solid var(--relyx-green); outline-offset: .4rem; }

@media (max-width: 1100px) {
  .relyx-project__closing { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .relyx-project__closing-cta { justify-self: center; }
}

@media (max-width: 900px) {
  .relyx-project__intro { width: min(calc(100vw - 2rem),82rem); margin-top: 0 !important; border-radius: 0 0 1.8rem 1.8rem; }
  .relyx-project__product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: auto; }
  .relyx-project__product-grid img { height: auto; }
  .relyx-project__product-grid-tall { grid-column: 1 / -1; grid-row: auto; }
  .relyx-project__product-grid-tall img { width: min(100%,28rem); margin-inline: auto; }
}

@media (max-width: 640px) {
  .relyx-project { padding-top: 4.8rem; }
  .relyx-project__intro,
  .relyx-project__product-grid,
  .relyx-project__booth,
  .relyx-project__closing { width: min(calc(100vw - 1.2rem),var(--relyx-content)); }
  .relyx-project__intro { padding: 2.2rem 1.35rem; }
  .relyx-project__product-grid { grid-template-columns: 1fr; }
  .relyx-project__product-grid-tall { grid-column: 1; }
  .relyx-project__closing h2 { font-size: clamp(2.1rem,10vw,3.4rem); }
}

@media (prefers-reduced-motion: reduce) { .relyx-project__closing-cta { transition: none; } }
