.home-page {
  position: relative;
  overflow: clip;
}

.home-page .section,
.home-page .section--compact {
  position: relative;
}

.home-page .home-inline-link {
  display: inline-flex;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-white-100);
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.03em;
  text-decoration-thickness: 1px;
  text-transform: uppercase;
}

.home-page .home-inline-link:hover,
.home-page .home-inline-link:focus-visible {
  color: var(--color-lime-400);
  transform: translateX(2px);
}

.home-page .home-inline-link--lime { color: var(--color-lime-400); }
.home-page .home-inline-link--fuchsia { color: var(--color-fuchsia-500); }

.home-hero { padding-block-start: clamp(7rem, 12vw, 11rem); }
.home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);
  align-items: end;
  gap: clamp(var(--space-8), 5vw, var(--space-16));
  min-height: 760px;
}
.home-hero__copy,
.home-hero__media { min-width: 0; width: 100%; }
.home-hero__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-hero__copy > * { margin: 0; }
.home-hero__copy h1 { max-width: 18ch; font-size: clamp(3rem, 8vw, 7.5rem); line-height: 0.94; }
.home-hero__manifest { max-width: 48ch; font-size: clamp(1rem, 1.35vw, 1.125rem); line-height: 1.62; }
.home-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); min-width: 0; }
.home-hero__actions > * { min-width: 0; width: auto; }
.home-hero__micro { display: flex; align-items: center; gap: var(--space-2); color: var(--color-white-300); font-size: var(--text-sm); }
.home-hero__micro span { width: 2.5rem; height: 1px; flex: 0 0 auto; background: var(--color-lime-400); }
.home-hero__media { aspect-ratio: 4 / 5; margin: 0; }
.home-hero__media img { width: 100%; height: calc(100% - 2rem); object-position: 70% 65%; }
.home-hero__media figcaption { margin: var(--space-2) var(--space-3) 0; }

.home-rhythm__intro { max-width: 42ch; }
.home-rhythm__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-12); border-block: var(--border-subtle); }
.home-rhythm__item { display: grid; grid-template-columns: 1fr; min-width: 0; padding: var(--space-6); }
.home-rhythm__item + .home-rhythm__item { border-inline-start: var(--border-subtle); }
.home-rhythm__number { margin: 0 0 var(--space-12); color: var(--color-fuchsia-500); font-family: var(--font-heading); font-size: var(--text-3xl); font-weight: 700; line-height: 1; }
.home-rhythm__content { min-width: 0; }
.home-rhythm__content h3 { max-width: 16ch; }
.home-rhythm__content p:last-child { max-width: 32ch; margin-bottom: 0; }

.home-kitchen__grid { display: grid; grid-template-columns: minmax(0, 46fr) minmax(0, 54fr); align-items: start; gap: clamp(var(--space-8), 6vw, var(--space-24)); }
.home-kitchen__media,
.home-kitchen__copy { min-width: 0; width: 100%; }
.home-kitchen__media { aspect-ratio: 4 / 5; margin: 0; }
.home-kitchen__media img { height: calc(100% - 2rem); object-position: center 65%; }
.home-kitchen__media figcaption { margin: var(--space-2) var(--space-3) 0; }
.home-kitchen__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-6); }
.home-kitchen__copy > * { margin: 0; }
.home-kitchen__copy h2 { max-width: 15ch; }
.home-kitchen__manifest { max-width: 50ch; font-size: var(--text-lg); line-height: 1.62; }
.home-kitchen__signature { width: min(100%, 35ch); padding: var(--space-6); }
.home-kitchen__signature > *:last-child { margin-bottom: 0; }
.home-kitchen__signature h3 { font-size: var(--text-xl); }
.home-kitchen__action { width: min(100%, 46ch); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.home-kitchen__action > * { margin: 0; }

.home-cardroom__grid { display: grid; grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); align-items: start; gap: clamp(var(--space-8), 5vw, var(--space-16)); }
.home-cardroom__copy,
.home-cardroom__media { min-width: 0; width: 100%; }
.home-cardroom__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-6); }
.home-cardroom__copy > * { margin: 0; }
.home-cardroom__copy h2 { max-width: 16ch; }
.home-cardroom__lead { max-width: 48ch; font-size: var(--text-lg); line-height: 1.62; }
.home-cardroom__media { aspect-ratio: 4 / 5; margin: 0; }
.home-cardroom__media img { height: calc(100% - 2rem); object-position: center 65%; }
.home-cardroom__media figcaption { margin: var(--space-2) var(--space-3) 0; }
.home-cardroom__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: var(--space-4); }
.home-cardroom__panel { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-6); }
.home-cardroom__panel > * { margin: 0; }
.home-cardroom__panel h3 { font-size: var(--text-xl); }
.home-cardroom__panel p:not(.label) { max-width: 32ch; }
.home-cardroom__panel:focus-within { border-color: var(--color-lime-400); }
.home-cardroom__panel--offset { transform: translateY(var(--space-4)); }

.home-private__grid { display: grid; grid-template-columns: minmax(0, 60fr) minmax(0, 40fr); align-items: start; gap: clamp(var(--space-8), 6vw, var(--space-24)); }
.home-private__intro,
.home-private__uses { min-width: 0; width: 100%; }
.home-private__intro { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-6); padding: clamp(var(--space-6), 4vw, var(--space-12)); border-inline-start: 6px solid var(--color-fuchsia-500); }
.home-private__intro > * { margin: 0; }
.home-private__intro h2 { max-width: 16ch; }
.home-private__intro p { max-width: 50ch; font-size: var(--text-lg); }
.home-private__uses { display: flex; flex-direction: column; gap: 0; }
.home-private__use { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding: var(--space-6) 0; border-top: var(--border-subtle); }
.home-private__use > * { min-width: 0; }
.home-private__number { margin: 0; color: var(--color-fuchsia-500); font-family: var(--font-heading); font-weight: 700; }
.home-private__use h3 { font-size: var(--text-xl); }
.home-private__use div > :last-child { margin-bottom: 0; }

.home-archive__intro { max-width: 44ch; }
.home-archive__cards { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.15fr) minmax(0, .95fr); align-items: start; gap: var(--space-4); margin-top: var(--space-12); }
.home-archive__card { display: flex; min-width: 0; min-height: 16rem; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-6); }
.home-archive__card > * { margin: 0; }
.home-archive__card p:not(.home-archive__index) { max-width: 28ch; }
.home-archive__card--raised { margin-top: var(--space-12); }
.home-archive__index { color: var(--color-lime-400); font-family: var(--font-heading); font-size: var(--text-sm); font-weight: 700; letter-spacing: .08em; }
.home-archive__card:hover,
.home-archive__card:focus-within { border-color: var(--color-fuchsia-500); transform: translateY(-2px); }

.home-location__panel { display: grid; grid-template-columns: minmax(0, 62fr) minmax(20rem, 38fr); gap: clamp(var(--space-8), 6vw, var(--space-24)); padding: clamp(var(--space-6), 5vw, var(--space-16)); }
.home-location__address,
.home-location__contact { min-width: 0; width: 100%; }
.home-location__address { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-location__address > * { margin: 0; }
.home-location__address h2 { max-width: 20ch; font-size: clamp(2rem, 4vw, 4rem); }
.home-location__note { color: var(--color-lime-400); font-family: var(--font-heading); font-weight: 700; }
.home-location__contact { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-location__contact > * { margin: 0; }
.home-location__contact p:not(.label) { max-width: 44ch; }
.home-location__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.home-location__actions > * { min-width: 0; width: auto; }

.home-final__panel { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-6); padding: clamp(var(--space-8), 7vw, var(--space-24)); }
.home-final__panel > * { margin: 0; }
.home-final__panel h2 { max-width: 18ch; font-size: clamp(2.7rem, 6vw, 6rem); line-height: .96; }
.home-final__panel p { max-width: 46ch; font-size: var(--text-lg); line-height: 1.62; }

@media (max-width: 1119px) {
  .home-hero__grid { grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); min-height: 640px; }
  .home-hero__copy h1 { font-size: clamp(3rem, 7vw, 5.8rem); }
}

@media (max-width: 1099px) {
  .home-kitchen__grid,
  .home-cardroom__grid { grid-template-columns: minmax(0, 1fr); }
  .home-kitchen__media { grid-row: 2; aspect-ratio: 3 / 2; }
  .home-kitchen__media img,
  .home-cardroom__media img { height: calc(100% - 2rem); }
  .home-cardroom__media { aspect-ratio: 3 / 2; }
}

@media (max-width: 1023px) {
  .home-rhythm__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-rhythm__item:nth-child(3) { grid-column: 1 / -1; border-inline-start: 0; border-top: var(--border-subtle); }
  .home-private__grid { grid-template-columns: minmax(0, 1fr); }
  .home-private__uses { max-width: 42rem; }
}

@media (max-width: 979px) {
  .home-location__panel { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 899px) {
  .home-hero__grid { grid-template-columns: minmax(0, 1fr); min-height: 0; align-items: start; }
  .home-hero__copy h1 { max-width: 12ch; font-size: clamp(3rem, 15vw, 5.4rem); }
  .home-hero__manifest { max-width: 34ch; }
  .home-hero__media { aspect-ratio: 3 / 2; max-height: 300px; }
  .home-hero__media img { height: calc(100% - 2rem); object-position: 70% 68%; }
}

@media (max-width: 719px) {
  .home-rhythm__list { grid-template-columns: minmax(0, 1fr); }
  .home-rhythm__item,
  .home-rhythm__item:nth-child(3) { grid-column: auto; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-3); padding: var(--space-6) 0; border-inline-start: 0; border-top: var(--border-subtle); }
  .home-rhythm__item:first-child { border-top: 0; }
  .home-rhythm__number { margin: 0; font-size: var(--text-2xl); }
  .home-rhythm__content h3 { max-width: none; }
  .home-kitchen__copy h2,
  .home-cardroom__copy h2 { max-width: 13ch; }
  .home-kitchen__media,
  .home-cardroom__media { aspect-ratio: 3 / 2; }
  .home-cardroom__cards { grid-template-columns: minmax(0, 1fr); }
  .home-cardroom__panel--offset { transform: none; }
  .home-archive__cards { grid-template-columns: minmax(0, 1fr); }
  .home-archive__card--raised { margin-top: 0; }
  .home-archive__card { min-height: 150px; }
}

@media (max-width: 479px) {
  .home-hero__actions,
  .home-location__actions { width: 100%; flex-direction: column; align-items: stretch; }
  .home-hero__actions > *,
  .home-location__actions > * { width: 100%; }
  .home-hero__micro { align-items: flex-start; }
  .home-rhythm__item { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .home-private__use { grid-template-columns: minmax(0, 1fr); }
  .home-private__number { font-size: var(--text-xl); }
  .home-final__panel .button { width: 100%; max-width: 360px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-cardroom__panel--offset,
  .home-archive__card:hover,
  .home-archive__card:focus-within,
  .home-page .home-inline-link:hover,
  .home-page .home-inline-link:focus-visible { transform: none; }
}
