/* Homepage campaign: full-bleed dark stage, with the original KINQ copy. */
.hero.hero-home {
  --hero-black: #10120f;
  position: relative;
  isolation: isolate;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  min-height: clamp(620px, 51vw, 820px);
  padding: 0;
  overflow: hidden;
  background: var(--hero-black);
  color: var(--paper);
}
.hero-home .hero-copy {
  position: relative;
  z-index: 2;
  padding: 70px 24px 70px max(56px, calc((100vw - 1440px) / 2));
}
.hero-home h1 {
  font-size: clamp(100px, 10.7vw, 174px);
  line-height: 1.02;
  letter-spacing: -.035em;
  margin: 0 0 46px;
}
.hero-home h1 span { color: var(--hero-black); font-size: 1.08em; }
.hero-home h1 span::before { inset: 13% -7px 2%; transform: rotate(-1.2deg); }
.hero-home .hero-actions { margin: 0; flex-direction: row; flex-wrap: wrap; gap: 12px; }
.hero-home .hero-actions .button {
  --fill-base: var(--lime);
  --fill-text: var(--ink);
  --fill-color: var(--paper);
  --hover-text: var(--ink);
  min-height: 60px;
  padding-inline: 25px;
  border-radius: 3px;
}
.hero-home .hero-benefits { display: flex; flex-wrap: wrap; gap: 17px; margin-top: 30px; color: #c1c5ba; }
.hero-home .hero-benefits span { font-size: 10px; }
.hero-home .hero-benefits svg { color: var(--lime); width: 18px; height: 18px; }
/* Static wallpaper with recognisable kink pictograms and staggered columns. */
.hero-home .hero-art {
  position: absolute;
  inset: 0;
  height: auto;
  min-height: 0;
  min-width: 0;
  padding: 0;
  border-radius: 0;
  background: var(--hero-black);
  overflow: hidden;
}
.hero-home .hero-art::after { content: none; }
.hero-kink-tapestry { position: absolute; inset: 0; }
.hero-kink-tapestry::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, #10120ffa 0%, #10120ff2 28%, #10120fc4 42%, #10120f38 65%, transparent 100%);
}
.hero-kink-field {
  --tile-gap: 12px;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: var(--tile-gap);
  height: 100%;
  padding-inline: var(--tile-gap);
}
.hero-kink-field--mobile { display: none; }
.hero-kink-column { min-width: 0; }
.hero-kink-track {
  display: flex;
  flex-direction: column;
}
.hero-kink-column:nth-child(even) .hero-kink-track { transform: translateY(-64px); }
.hero-kink-group { display: grid; gap: var(--tile-gap); padding-bottom: var(--tile-gap); }
.hero-kink-tile {
  --ink: var(--lime);
  --accent: var(--lime);
  --cut: var(--hero-black);
  --muted: var(--lime);
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  border-radius: 4px;
  background: #1b2116;
}
.hero-kink-tile:nth-child(even) { background: #202719; }
.hero-kink-tile svg {
  width: 70%;
  height: 70%;
  fill: none;
  stroke: var(--lime);
  stroke-width: 1.5;
}
.hero-home :focus-visible { outline-color: var(--lime); }
@media (max-width: 1100px) and (min-width: 761px) {
  .hero-home .hero-copy { padding: 56px 12px 56px 32px; }
  .hero-home h1 { font-size: 10.7vw; }
  .hero-home .hero-benefits { gap: 14px; max-width: 310px; }
}
@media (max-width: 760px) {
  .hero.hero-home { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .hero-home .hero-copy { padding: 48px 24px 30px; }
  .hero-home h1 { font-size: clamp(74px, 18.8vw, 120px); line-height: 1.05; margin-bottom: 30px; }
  .hero-home .hero-actions .button { min-height: 54px; font-size: 12px; padding-inline: 20px; }
  .hero-home .hero-benefits { gap: 12px; margin-top: 24px; justify-content: flex-start; }
  .hero-home .hero-benefits span { font-size: 9px; gap: 5px; }
  .hero-home .hero-benefits svg { width: 16px; height: 16px; }
  .hero.hero-home { min-height: 850px; align-items: start; }
  .hero-kink-field--desktop { display: none; }
  .hero-kink-field--mobile { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); --tile-gap: 8px; }
  .hero-kink-tapestry::after { background: linear-gradient(180deg, #10120ff5 0%, #10120ff2 39%, #10120f99 58%, transparent 80%); }
  .hero-kink-column:nth-child(even) .hero-kink-track { transform: translateY(-40px); }
}
@media (max-width: 370px) {
  .hero-home .hero-copy { padding-inline: 20px; }
  .hero-home .hero-benefits { column-gap: 10px; }
  .hero-home .hero-benefits span { font-size: 8px; }
}
@media (max-width: 480px) {
  .hero-home .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-home .hero-actions .button { width: 100%; }
}
