.signature-page {
  background: var(--color-burgundy-dark);
}

.signature-page .signature-text-link {
  display: inline-block;
  color: currentColor;
  font-size: var(--text-label);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-decoration: none;
  text-transform: uppercase;
  background-image: linear-gradient(var(--color-gold-old), var(--color-gold-old));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  transition: color var(--transition-fast), background-size var(--transition-fast);
}

.signature-page .signature-text-link:hover {
  color: var(--color-gold-old);
  background-size: 100% 2px;
}

.signature-hero {
  position: relative;
  min-height: 45rem;
  overflow: hidden;
  background: var(--color-walnut);
  color: var(--color-cream);
  isolation: isolate;
}

.signature-hero__image,
.signature-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.signature-hero__image {
  object-fit: cover;
  object-position: 68% center;
}

.signature-hero__shade {
  z-index: 1;
  background: linear-gradient(90deg, rgba(24, 12, 12, 0.9) 0%, rgba(24, 12, 12, 0.72) 40%, rgba(24, 12, 12, 0.1) 78%);
}

.signature-hero__container {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: end;
  min-height: 45rem;
  padding-block: var(--space-8);
}

.signature-hero__panel {
  grid-column: 1 / span 5;
  width: 100%;
  min-width: 0;
  padding: var(--space-6);
}

.signature-hero__panel > :last-child {
  margin-block-end: 0;
}

.signature-hero__panel h1 {
  font-size: clamp(2.625rem, 6vw, 4.5rem);
}

.signature-hero__panel .lead {
  max-width: 34rem;
}

.signature-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  min-width: 0;
  margin-block: var(--space-5);
}

.signature-hero__actions > * {
  min-width: 0;
}

.signature-hero__location {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--text-meta);
}

.signature-principles__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-7) var(--space-6);
}

.signature-principles__intro {
  grid-column: 2 / span 5;
  min-width: 0;
}

.signature-principles__intro .lead {
  max-width: 35rem;
}

.signature-principles__cards {
  grid-column: 2 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
}

.signature-principle {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border-gold);
}

.signature-principle > :last-child {
  margin-block-end: 0;
}

.signature-principle__mark {
  margin-block: 0 var(--space-4);
  color: var(--color-gold-old);
  font-family: var(--font-heading);
  font-size: 1.75rem;
  line-height: 1;
}

.signature-principle h3 {
  font-size: var(--text-h4);
}

.signature-principle--velvet {
  padding: var(--space-5);
  border-top: 0;
  background: var(--color-burgundy-velvet);
  color: var(--color-cream);
}

.signature-courses__intro {
  width: 50%;
  min-width: 0;
}

.signature-courses__intro .lead {
  max-width: 37.5rem;
}

.signature-dish {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  min-width: 0;
  margin-block-start: var(--space-8);
}

.signature-dish__copy {
  min-width: 0;
}

.signature-dish__copy > :last-child {
  margin-block-end: 0;
}

.signature-dish__number {
  margin-block: 0 var(--space-3);
  color: var(--color-gold-old);
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1;
}

.signature-dish h3 {
  font-size: clamp(2rem, 3.5vw, 3rem);
}

.signature-dish--first .signature-dish__copy {
  grid-column: 1 / span 8;
  width: 100%;
  max-width: 31.25rem;
}

.signature-dish--feature {
  align-items: center;
  gap: var(--space-6);
}

.signature-dish__media {
  grid-column: 1 / span 6;
  width: 100%;
  min-width: 0;
  margin: 0;
  aspect-ratio: 3 / 4;
}

.signature-dish__media img {
  height: 100%;
}

.signature-dish--feature .signature-dish__copy {
  grid-column: 8 / span 5;
  width: 100%;
  max-width: 31.25rem;
}

.signature-dish--plant {
  justify-content: end;
  padding: var(--space-6);
  background: var(--color-cream-marble);
  border: 1px solid var(--color-border-dark);
}

.signature-dish--plant .signature-dish__copy {
  grid-column: 5 / span 8;
  width: 100%;
  max-width: 31.25rem;
}

.signature-sweets__intro {
  width: 41.666%;
  min-width: 0;
}

.signature-sweets__intro .lead {
  max-width: 32.5rem;
}

.signature-sweets__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-block-start: var(--space-7);
}

.signature-sweet-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 18rem;
  padding: var(--space-6);
  border: 1px solid var(--color-border-gold);
}

.signature-sweet-card > :last-child {
  margin-block-end: 0;
}

.signature-sweet-card h3 {
  font-size: var(--text-h4);
}

.signature-sweet-card__tag {
  margin-block: 0 var(--space-5);
  font-size: var(--text-label);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.signature-sweet-card--cream {
  background: var(--color-cream);
  color: var(--color-walnut);
}

.signature-sweet-card--burgundy {
  background: var(--color-burgundy-velvet);
  color: var(--color-cream);
}

.signature-sweet-card--blue {
  background: var(--color-blue-muted);
  color: var(--color-cream);
}

.signature-sweet-card:hover {
  border-color: var(--color-gold-old);
}

.signature-rhythm__intro {
  width: 41.666%;
  min-width: 0;
}

.signature-rhythm__intro .lead {
  max-width: 33.75rem;
}

.signature-rhythm__steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-block-start: var(--space-7);
}

.signature-rhythm__steps::before {
  position: absolute;
  top: 1.25rem;
  right: 0;
  left: 0;
  height: 1px;
  background: var(--color-border-gold);
  content: "";
}

.signature-rhythm__step {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding-top: var(--space-6);
  background: var(--color-cream-marble);
}

.signature-rhythm__step h3 {
  font-size: var(--text-h4);
}

.signature-rhythm__step--middle {
  padding: var(--space-6);
  background: var(--color-cream);
  border: 1px solid var(--color-border-dark);
}

.signature-rhythm__number {
  display: inline-block;
  margin-block: 0 var(--space-4);
  padding-inline-end: var(--space-3);
  background: var(--color-cream-marble);
  color: var(--color-gold-old);
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1;
}

.signature-rhythm__step--middle .signature-rhythm__number {
  background: var(--color-cream);
}

.signature-detail {
  padding-block: var(--space-9);
  background: var(--color-burgundy-dark);
}

.signature-detail__figure {
  position: relative;
  min-height: 0;
  margin: 0;
  aspect-ratio: 2 / 1;
}

.signature-detail__figure > img {
  height: 100%;
  object-position: center;
}

.signature-detail__caption {
  position: absolute;
  right: var(--space-6);
  bottom: var(--space-6);
  width: min(33.333%, 26.25rem);
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-border-gold);
  border-radius: var(--radius-panel);
  background: var(--color-smoked-glass);
  color: var(--color-cream);
}

.signature-detail__caption blockquote {
  margin: 0 0 var(--space-3);
  padding: 0;
  border: 0;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  line-height: 1.08;
}

.signature-detail__caption p {
  margin-block-end: var(--space-2);
}

.signature-detail__caption > :last-child {
  margin-block-end: 0;
}

.signature-detail__note {
  color: var(--color-text-muted);
  font-size: var(--text-meta);
  line-height: var(--line-meta);
}

.signature-interior__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  gap: var(--space-6);
}

.signature-interior__copy {
  grid-column: 1 / span 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  max-width: 33.75rem;
}

.signature-interior__copy > :last-child {
  margin-block-end: 0;
}

.signature-interior__media {
  grid-column: 6 / span 7;
  width: 100%;
  min-width: 0;
  margin: 0;
  aspect-ratio: 4 / 5;
}

.signature-interior__media img {
  height: 100%;
}

.signature-poker {
  padding-block: clamp(var(--space-8), 10vw, var(--space-11));
  background: var(--color-burgundy-dark);
  color: var(--color-cream);
}

.signature-poker__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  gap: var(--space-6);
}

.signature-poker__media {
  grid-column: 1 / span 6;
  width: 100%;
  min-width: 0;
  margin: 0;
  aspect-ratio: 4 / 5;
}

.signature-poker__media img {
  height: 100%;
}

.signature-poker__content {
  grid-column: 8 / span 5;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-5);
}

.signature-poker__primary,
.signature-poker__secondary,
.signature-poker__actions {
  width: 100%;
  min-width: 0;
}

.signature-poker__primary {
  padding: var(--space-6);
}

.signature-poker__primary > :last-child,
.signature-poker__secondary > :last-child,
.signature-poker__actions > :last-child {
  margin-block-end: 0;
}

.signature-poker__primary h2 {
  font-size: clamp(2rem, 4vw, 3rem);
}

.signature-poker__primary h3,
.signature-poker__secondary h3 {
  font-size: var(--text-h4);
}

.signature-poker__secondary {
  padding: var(--space-5);
  background: var(--color-blue-muted);
  border: 1px solid rgba(241, 230, 208, 0.35);
}

.signature-poker__secondary .badge {
  margin-block-end: var(--space-4);
}

.signature-poker__actions {
  padding-inline: var(--space-2);
}

.signature-poker__actions .button-group {
  align-items: center;
}

.signature-next__intro {
  width: 50%;
  min-width: 0;
}

.signature-next__intro .lead {
  max-width: 35rem;
}

.signature-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-block-start: var(--space-7);
}

.signature-next-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  min-height: 18.5rem;
  padding: var(--space-6);
  border: 1px solid var(--color-border-gold);
}

.signature-next-card > :last-child {
  margin-block-end: 0;
}

.signature-next-card h3 {
  font-size: var(--text-h4);
}

.signature-next-card__number {
  margin-block: 0 var(--space-5);
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1;
}

.signature-next-card--cream {
  background: var(--color-cream);
  color: var(--color-walnut);
}

.signature-next-card--blue {
  background: var(--color-blue-muted);
  color: var(--color-cream);
}

.signature-next-card--burgundy {
  background: var(--color-burgundy-dark);
  color: var(--color-cream);
}

.signature-next-card__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
}

.signature-next-card .button--outline {
  margin-top: auto;
}

.signature-closing__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 58.333%;
  min-width: 0;
  margin-inline: auto;
  padding: var(--space-7);
  border: 1px solid var(--color-border-gold);
  background: var(--color-cream);
  color: var(--color-walnut);
  text-align: center;
}

.signature-closing__panel > :last-child {
  margin-block-end: 0;
}

.signature-closing__panel p:not(.eyebrow) {
  max-width: 37.5rem;
}

.signature-closing__panel .button--primary {
  margin-top: var(--space-2);
}

@media (max-width: 61.24rem) {
  .signature-hero {
    min-height: 0;
    overflow: visible;
    background: var(--color-burgundy-dark);
  }

  .signature-hero__image {
    position: relative;
    height: min(56vw, 37rem);
    object-position: 68% center;
  }

  .signature-hero__shade {
    display: none;
  }

  .signature-hero__container {
    display: block;
    min-height: 0;
    padding-block: 0;
  }

  .signature-hero__panel {
    width: min(100%, 42.5rem);
    margin-top: calc(var(--space-6) * -1);
    padding: var(--space-6);
  }

  .signature-principles__intro {
    grid-column: 1 / span 6;
  }

  .signature-principles__cards {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .signature-principle--velvet {
    grid-column: 1 / span 2;
  }

  .signature-dish--feature {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-5);
  }

  .signature-dish__media,
  .signature-dish--feature .signature-dish__copy {
    width: 100%;
    max-width: none;
  }

  .signature-dish--feature .signature-dish__copy {
    padding-inline: var(--space-5);
  }

  .signature-dish--plant .signature-dish__copy {
    grid-column: 1 / -1;
    max-width: 31.25rem;
  }

  .signature-sweets__grid,
  .signature-next__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .signature-sweet-card--blue,
  .signature-next-card--burgundy {
    grid-column: 1 / span 2;
  }

  .signature-rhythm__steps {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
  }

  .signature-rhythm__steps::before {
    top: 0;
    bottom: 0;
    left: 1rem;
    right: auto;
    width: 1px;
    height: auto;
  }

  .signature-rhythm__step,
  .signature-rhythm__step--middle {
    padding: var(--space-5) var(--space-5) var(--space-5) calc(var(--space-6) + var(--space-4));
  }

  .signature-rhythm__number,
  .signature-rhythm__step--middle .signature-rhythm__number {
    margin-left: calc(-1 * (var(--space-6) + var(--space-4)));
    padding-inline: var(--space-2);
  }

  .signature-interior__layout,
  .signature-poker__layout {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-6);
  }

  .signature-interior__media,
  .signature-interior__copy,
  .signature-poker__media,
  .signature-poker__content {
    width: 100%;
    max-width: none;
  }

  .signature-interior__media {
    order: 1;
  }

  .signature-interior__copy {
    order: 2;
  }

  .signature-detail__caption {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    border-radius: 0;
  }

  .signature-detail__figure {
    overflow: visible;
    aspect-ratio: auto;
  }

  .signature-detail__figure > img {
    aspect-ratio: 2 / 1;
  }

  .signature-closing__panel {
    width: 75%;
  }
}

@media (max-width: 47.99rem) {
  .signature-hero__image {
    height: auto;
    aspect-ratio: 4 / 5;
    object-position: 70% center;
  }

  .signature-hero__panel {
    width: 100%;
    margin-top: calc(var(--space-5) * -1);
    padding: var(--space-5);
    border-radius: var(--radius-paper);
  }

  .signature-hero__panel h1 {
    font-size: clamp(2.625rem, 12vw, 3.25rem);
  }

  .signature-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .signature-hero__actions > * {
    width: 100%;
  }

  .signature-hero__actions .signature-text-link {
    padding: var(--space-3) 0;
    text-align: center;
  }

  .signature-principles__layout {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
  }

  .signature-principles__intro,
  .signature-principles__cards,
  .signature-principle--velvet {
    width: 100%;
  }

  .signature-principles__cards,
  .signature-sweets__grid,
  .signature-next__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .signature-principle--velvet,
  .signature-sweet-card--blue,
  .signature-next-card--burgundy {
    grid-column: auto;
  }

  .signature-courses__intro,
  .signature-sweets__intro,
  .signature-rhythm__intro,
  .signature-next__intro {
    width: 100%;
  }

  .signature-dish {
    margin-block-start: var(--space-7);
  }

  .signature-dish--first,
  .signature-dish--plant {
    display: block;
  }

  .signature-dish--first .signature-dish__copy,
  .signature-dish--plant .signature-dish__copy {
    width: 100%;
    max-width: none;
  }

  .signature-dish--feature .signature-dish__copy {
    padding-inline: 0;
  }

  .signature-dish--plant {
    padding: var(--space-5);
  }

  .signature-dish h3 {
    font-size: clamp(1.875rem, 9vw, 2.25rem);
  }

  .signature-sweet-card,
  .signature-next-card {
    min-height: 11.25rem;
    padding: var(--space-5);
  }

  .signature-detail {
    padding-block: var(--space-7);
  }

  .signature-detail__figure > img {
    aspect-ratio: 4 / 5;
    object-position: center;
  }

  .signature-detail__caption {
    padding: var(--space-5);
  }

  .signature-interior__media,
  .signature-poker__media {
    aspect-ratio: 4 / 5;
  }

  .signature-interior__copy {
    align-items: stretch;
  }

  .signature-poker__primary,
  .signature-poker__secondary {
    padding: var(--space-5);
  }

  .signature-poker__actions {
    padding-inline: 0;
  }

  .signature-poker__actions .button-group {
    align-items: stretch;
  }

  .signature-poker__actions .signature-text-link {
    width: 100%;
    padding: var(--space-3) 0;
    text-align: center;
  }

  .signature-closing__panel {
    width: 100%;
    padding: var(--space-5);
  }
}

@media (prefers-reduced-motion: reduce) {
  .signature-page .signature-text-link {
    transition: none;
  }
}
