.home-page {
  background: var(--color-obsidian-night);
}

.home-page .container,
.home-page .container-wide {
  width: min(100% - (var(--gutter) * 2), var(--container-content));
}

.home-page .home-hero {
  overflow: hidden;
  padding-block: clamp(3rem, 7vw, 7rem) clamp(4rem, 7vw, 8rem);
}

.home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: minmax(2rem, 7vw, 7rem);
  align-items: center;
}

.home-hero__grid > * { min-width: 0; }

.home-hero__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.home-hero__copy > * { min-width: 0; margin: 0; }

.home-hero__kicker {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-porcelain);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.home-hero__monogram {
  display: grid;
  width: 2.5rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid var(--color-antique-champagne);
  color: var(--color-burnished-copper);
  font-family: var(--font-heading);
  font-size: 1.25rem;
  letter-spacing: 0;
}

.home-hero__kicker-line { width: 2.5rem; height: 1px; background: var(--color-antique-champagne); }
.home-hero__kicker small { color: var(--color-cool-ash); font-size: var(--text-meta); }
.home-hero__lead { max-width: 38rem; color: var(--color-porcelain); font-size: var(--text-lead); line-height: var(--leading-lead); }

.home-hero__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
}
.home-hero__actions > * { min-width: 0; }

.home-button { gap: var(--space-3); }
.home-button .arrow-mark { color: currentColor; }

.home-text-link {
  position: relative;
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-2);
  padding-block-end: 0.2rem;
  color: var(--color-porcelain);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: 1.35;
}
.home-text-link::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: var(--color-antique-champagne);
  content: "";
  transform: scaleX(0.25);
  transform-origin: left;
  transition: transform var(--transition-fast);
}
.home-text-link:hover::after { transform: scaleX(1); }
.home-text-link .arrow-mark { font-size: 1rem; }

.home-hero__fineprint {
  max-width: 27rem;
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid var(--color-antique-champagne);
  color: var(--color-cool-ash);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.home-hero__media {
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0;
}
.home-hero__media img {
  width: 100%;
  min-height: 38rem;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center;
  border: 1px solid rgba(230, 199, 139, 0.28);
}
.home-hero__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(11,13,18,.28), transparent 45%);
  content: "";
  pointer-events: none;
}
.home-hero__seal {
  position: absolute;
  z-index: 1;
  bottom: -2.5rem;
  left: -2.5rem;
  display: grid;
  width: clamp(6rem, 9vw, 7.75rem);
  aspect-ratio: 1;
  place-items: center;
  align-content: center;
  gap: var(--space-1);
  border: 1px solid var(--color-antique-champagne);
  border-radius: 50%;
  background: var(--color-smoked-plum);
  text-align: center;
}
.home-hero__seal strong { color: var(--color-burnished-copper); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.home-hero__seal span { color: var(--color-porcelain); font-size: .56rem; font-weight: 700; letter-spacing: .11em; line-height: 1.3; text-transform: uppercase; }
.home-hero__media figcaption { max-width: 15rem; margin: var(--space-3) 0 0 auto; padding-top: var(--space-3); border-top: 1px solid var(--color-divider); color: var(--color-cool-ash); font-size: var(--text-small); line-height: var(--leading-small); }

.home-frame { background: var(--color-deep-petrol); }
.home-frame__inner { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 10fr); gap: var(--space-6); padding-block: clamp(2rem, 4vw, 3rem); }
.home-frame__inner > * { min-width: 0; }
.home-frame__label { margin: 0; color: var(--color-antique-champagne); font-size: var(--text-meta); font-weight: 700; letter-spacing: var(--tracking-meta); text-transform: uppercase; }
.home-frame__facts { padding: 0; background: transparent; }
.home-frame__facts > article { flex: 1 1 13.75rem; min-width: 0; }
.home-frame__facts article p { margin: var(--space-2) 0 0; color: var(--color-porcelain); font-size: var(--text-small); line-height: var(--leading-small); }

.home-section-rail { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); }
.home-section-rail p { margin: 0; }
.home-section-rail span { color: var(--color-cool-ash); font-size: var(--text-meta); font-weight: 700; letter-spacing: var(--tracking-meta); line-height: 1.2; }

.home-formats__head { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 7fr) minmax(0, 3fr); gap: var(--space-6); align-items: start; }
.home-formats__head > * { min-width: 0; }
.home-formats__intro { max-width: 41rem; }
.home-formats__intro .lead { max-width: 39rem; }
.home-formats__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-4); margin-top: var(--space-8); }
.home-formats__grid > * { min-width: 0; }
.home-format { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--color-border); background: rgba(245,240,232,.018); transition: border-color var(--transition-fast), background-color var(--transition-fast); }
.home-format:nth-child(2) { background: var(--color-smoked-plum); }
.home-format:nth-child(3) { background: var(--color-deep-petrol); }
.home-format--poker { border-top: 2px solid var(--color-burnished-copper); }
.home-format:hover { border-color: var(--color-antique-champagne); background-color: rgba(245,240,232,.05); }
.home-format > * { min-width: 0; margin: 0; }
.home-format__index { color: var(--color-antique-champagne); font-size: var(--text-meta); font-weight: 700; letter-spacing: var(--tracking-meta); }
.home-format h3 { max-width: 18ch; }
.home-format p { max-width: 38ch; color: var(--color-cool-ash); }

.home-hosting__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); gap: var(--space-6); align-items: start; }
.home-hosting__grid > * { min-width: 0; }
.home-hosting__copy { grid-column: 1 / span 2; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.home-hosting__copy > * { min-width: 0; margin: 0; }
.home-hosting__copy > .lead { max-width: 41rem; }
.home-principles { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); width: min(100%, 31.875rem); }
.home-principles > article { min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-divider); }
.home-principles article > * { margin: 0; }
.home-principles article span { color: var(--color-antique-champagne); font-size: var(--text-meta); font-weight: 700; letter-spacing: var(--tracking-meta); }
.home-principles h3 { margin-top: var(--space-2); font-size: clamp(1.25rem, 1.7vw, 1.5rem); }
.home-principles p { margin-top: var(--space-2); color: var(--color-cool-ash); }
.home-hosting blockquote { max-width: 32.5rem; padding: var(--space-5); border-inline-start: 2px solid var(--color-antique-champagne); background: rgba(11,13,18,.18); }
.home-hosting__media { grid-column: 3; width: 100%; min-width: 0; margin: var(--space-8) 0 0; }
.home-hosting__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: 1px solid var(--color-border); transition: transform var(--transition-fast); }
.home-hosting__media:hover img { transform: scale(1.02); }
.home-hosting__media figcaption { margin-top: var(--space-3); color: var(--color-cool-ash); font-size: var(--text-small); line-height: var(--leading-small); }

.home-portfolio__head { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: var(--space-6); align-items: end; }
.home-portfolio__head > * { min-width: 0; }
.home-portfolio__head > div { max-width: 38.75rem; }
.home-portfolio__head > .home-text-link { justify-self: end; }
.home-portfolio__grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(18.75rem, 4fr); gap: var(--space-5); align-items: end; margin-top: var(--space-8); }
.home-portfolio__grid > * { min-width: 0; }
.home-portfolio__corporate { width: 100%; margin: 0; }
.home-portfolio__corporate img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border: 1px solid var(--color-border); }
.home-portfolio__corporate figcaption { max-width: 37.5rem; margin-top: var(--space-4); padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-border); }
.home-portfolio__corporate figcaption p { margin: var(--space-2) 0 0; }
.home-portfolio__private { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--color-border); background: var(--color-smoked-plum); }
.home-portfolio__private > * { min-width: 0; margin: 0; }
.home-portfolio__private p { max-width: 34ch; }

.home-process__head { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 6fr) minmax(0, 4fr); gap: var(--space-6); }
.home-process__head > * { min-width: 0; }
.home-process__head > div:nth-child(2) { max-width: 40.625rem; }
.home-process__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: var(--space-8); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.home-process__steps > article { min-width: 0; padding: var(--space-5); border-inline-end: 1px solid var(--color-border); }
.home-process__steps > article:last-child { border-inline-end: 0; }
.home-process__steps article > * { margin: 0; }
.home-process__steps span { color: var(--color-antique-champagne); font-size: var(--text-meta); font-weight: 700; letter-spacing: var(--tracking-meta); transition: color var(--transition-fast); }
.home-process__steps article:hover span { color: var(--color-burnished-copper); }
.home-process__steps h3 { margin-top: var(--space-3); font-size: clamp(1.35rem, 1.8vw, 1.75rem); }
.home-process__steps p { margin-top: var(--space-3); color: var(--color-porcelain); font-size: var(--text-small); line-height: var(--leading-small); }
.home-process__link { margin-top: var(--space-5); }

.home-themes__head { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 7fr) minmax(0, 3fr); gap: var(--space-6); align-items: end; }
.home-themes__head > * { min-width: 0; }
.home-themes__head > div:nth-child(2) { max-width: 40rem; }
.home-themes__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-8); }
.home-themes__cards > article { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border-top: 2px solid var(--color-antique-champagne); background: rgba(11,13,18,.24); }
.home-themes__cards > article:nth-child(2) { background: var(--color-deep-petrol); }
.home-themes__cards article > * { min-width: 0; margin: 0; }
.home-themes__cards h3 { max-width: 15ch; }
.home-themes__cards p { max-width: 36ch; color: var(--color-cool-ash); }

.home-answers__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 4fr) minmax(0, 1fr) minmax(0, 5fr); gap: var(--space-5); }
.home-answers__grid > * { min-width: 0; }
.home-answers__heading { grid-column: 1 / span 2; max-width: 28.125rem; }
.home-answers__list { grid-column: 4; display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.home-answers__list > article { min-width: 0; padding-top: var(--space-5); border-top: 1px solid var(--color-border); }
.home-answers__list article > * { margin: 0; }
.home-answers__list h3 { font-size: clamp(1.4rem, 2vw, 1.75rem); }
.home-answers__list p { max-width: 38.75rem; margin-top: var(--space-3); }
.home-answers__list a { color: var(--color-porcelain); text-decoration: underline; }

.home-final { padding-block: clamp(5rem, 10vw, 8rem); }
.home-final__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 1fr) minmax(0, 5fr); gap: var(--space-5); align-items: center; }
.home-final__grid > * { min-width: 0; }
.home-final__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); grid-column: 1; }
.home-final__copy > * { min-width: 0; margin: 0; }
.home-final__copy > p { max-width: 37.5rem; color: var(--color-porcelain); font-size: var(--text-lead); line-height: var(--leading-lead); }
.home-final__copy > .section-index { color: var(--color-antique-champagne); font-size: var(--text-meta); }
.home-final__actions { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.home-final__actions > * { min-width: 0; }
.home-final__statement { grid-column: 3; display: grid; min-width: 0; justify-items: start; gap: var(--space-4); padding: var(--space-6); border-inline-start: 1px solid var(--color-border); }
.home-final__statement span { color: rgba(230,199,139,.72); font-family: var(--font-heading); font-size: clamp(5rem, 12vw, 10rem); font-weight: 600; letter-spacing: -.1em; line-height: .8; }
.home-final__statement i { display: block; width: min(100%, 9rem); height: 1px; background: var(--color-antique-champagne); }
.home-final__statement small { color: var(--color-cool-ash); font-size: var(--text-meta); font-weight: 700; letter-spacing: var(--tracking-meta); text-transform: uppercase; }

@media (max-width: 68.6875rem) {
  .home-hero__grid { gap: var(--space-6); }
  .home-hero__media img { min-height: 30rem; }
  .home-hosting__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-hosting__copy { grid-column: 1; }
  .home-hosting__media { grid-column: 2; margin-top: var(--space-7); }
}

@media (max-width: 61.25rem) {
  .home-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-process__steps > article:nth-child(2) { border-inline-end: 0; }
  .home-process__steps > article:nth-child(-n+2) { border-bottom: 1px solid var(--color-border); }
  .home-themes__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-themes__cards > article:nth-child(3) { grid-column: 1 / span 2; }
}

@media (max-width: 56.1875rem) {
  .home-formats__head,
  .home-themes__head,
  .home-process__head { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .home-formats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-portfolio__grid { grid-template-columns: minmax(0, 1fr); }
  .home-portfolio__private { max-width: 38rem; }
  .home-answers__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-answers__heading,
  .home-answers__list { grid-column: 1; }
  .home-final__grid { grid-template-columns: minmax(0, 1fr); }
  .home-final__statement { grid-column: 1; max-width: 100%; padding: var(--space-5); border-top: 1px solid var(--color-border); border-inline-start: 0; }
}

@media (max-width: 47.9375rem) {
  .home-page .home-hero { padding-block: var(--space-7); }
  .home-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-hero__copy { gap: var(--space-5); }
  .home-hero__actions { width: 100%; flex-direction: column; align-items: stretch; }
  .home-hero__actions > .button { width: 100%; }
  .home-hero__actions > .home-text-link { align-self: flex-start; }
  .home-hero__media { order: 2; }
  .home-hero__media img { min-height: 0; aspect-ratio: 4 / 3; }
  .home-hero__seal { right: var(--space-3); bottom: -2rem; left: auto; width: 4.75rem; }
  .home-hero__seal strong { font-size: 1.55rem; }
  .home-hero__seal span { font-size: .45rem; }
  .home-hero__media figcaption { margin-top: var(--space-3); margin-left: 0; }
  .home-frame__inner { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .home-frame__facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
  .home-frame__facts > article { width: 100%; padding-block: var(--space-4); border-top: 1px solid var(--color-border); }
  .home-frame__facts > article + article::before { display: none; }
  .home-formats__grid,
  .home-hosting__grid,
  .home-themes__cards { grid-template-columns: minmax(0, 1fr); }
  .home-format { padding: var(--space-5); }
  .home-hosting__copy,
  .home-hosting__media { grid-column: 1; }
  .home-hosting__media { margin-top: var(--space-2); }
  .home-principles { width: 100%; }
  .home-hosting blockquote { width: 100%; padding: var(--space-5); }
  .home-portfolio__head { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .home-portfolio__head > .home-text-link { justify-self: start; }
  .home-process__steps { grid-template-columns: minmax(0, 1fr); margin-top: var(--space-6); }
  .home-process__steps > article,
  .home-process__steps > article:nth-child(2) { border-inline-end: 0; border-bottom: 1px solid var(--color-border); }
  .home-process__steps > article:last-child { border-bottom: 0; }
  .home-themes__cards > article:nth-child(3) { grid-column: 1; }
  .home-final__actions { width: 100%; flex-direction: column; align-items: stretch; }
  .home-final__actions .button { width: 100%; }
  .home-final__actions .home-text-link { align-self: flex-start; }
}

@media (max-width: 26.25rem) {
  .home-hero__kicker-line { display: none; }
  .home-hero__kicker small { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .home-hosting__media:hover img { transform: none; }
  .home-text-link::after { transition: none; }
}
