:root {
  --ink: #201c19;
  --paper: #eee9df;
  --cream: #f7f3ed;
  --gold: #c7a76a;
  --mono: "DM Mono", "Courier New", monospace;
  --display: "Playfair Display", Georgia, serif;
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  margin: 0;
}

body {
  background: var(--ink);
  color: var(--ink);
  font-family: var(--mono);
}

.landing {
  display: none;
  min-height: 100svh;
  position: relative;
  overflow: hidden;
}

html[data-sample="2"] .landing--detail,
html[data-sample="3"] .landing--signet,
html[data-sample="4"] .landing--still,
html[data-sample="5"] .landing--gallery,
html[data-sample="6"] .landing--halo {
  display: grid;
}

.masthead,
.microcopy {
  align-items: center;
  display: flex;
  font-size: 0.59rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.45;
  text-transform: uppercase;
}

.masthead {
  justify-content: space-between;
  z-index: 2;
}

.masthead p,
.microcopy span {
  margin: 0;
}

.wordmark {
  color: inherit;
  font-family: var(--display);
  font-size: clamp(1.25rem, 1.8vw, 1.8rem);
  font-style: normal;
  letter-spacing: -0.065em;
  line-height: 0.9;
  text-decoration: none;
}

.wordmark span {
  color: var(--gold);
  font-style: italic;
  font-weight: 400;
}

.eyebrow {
  font-size: 0.61rem;
  letter-spacing: 0.14em;
  margin: 0 0 1.2rem;
  text-transform: uppercase;
}

h1 {
  font-family: var(--display);
  font-size: clamp(3.4rem, 7.5vw, 8.4rem);
  font-weight: 400;
  letter-spacing: -0.075em;
  line-height: 0.84;
  margin: 0;
}

.lede {
  font-family: Arial, sans-serif;
  font-size: clamp(0.9rem, 1.2vw, 1.08rem);
  line-height: 1.55;
  margin: 1.55rem 0 0;
  max-width: 26rem;
}

.cta {
  align-items: baseline;
  border-bottom: 1px solid currentColor;
  color: inherit;
  display: inline-flex;
  font-size: 0.63rem;
  gap: 0.75rem;
  letter-spacing: 0.1em;
  margin-top: 2.2rem;
  padding: 0 0 0.55rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: opacity 160ms ease;
}

.cta:hover,
.cta:focus-visible {
  opacity: 0.6;
}

.cta i {
  font-size: 1.1rem;
  font-style: normal;
  line-height: 0.7;
}

.microcopy {
  justify-content: space-between;
  z-index: 2;
}

.channel-links {
  align-items: center;
  display: flex;
  gap: 1.15rem;
}

.channel-links a {
  color: inherit;
  text-decoration: none;
}

.microcopy__link {
  color: inherit;
  text-decoration: none;
}

.microcopy__link:hover,
.microcopy__link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}

.channel-links a:hover,
.channel-links a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}

.masthead--light,
.microcopy--light,
.eyebrow--light {
  color: var(--cream);
}

.eyebrow--gold,
.cta--gold {
  color: var(--gold);
}

/* The Detail — warm editorial split */
.landing--detail {
  background: var(--paper);
  grid-template-columns: minmax(20rem, 0.93fr) minmax(26rem, 1.07fr);
}

.detail__copy {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 100%;
  padding: clamp(1.1rem, 2.5vw, 2.9rem);
}

.detail__message {
  align-self: center;
  padding: clamp(3rem, 5vw, 5.5rem) 0;
}

.detail__message h1 {
  max-width: 38rem;
}

.detail__image-frame,
.signet__image-frame {
  margin: 0;
  overflow: hidden;
  position: relative;
}

.detail__image-frame {
  background: #dfd5c4;
  min-height: 100%;
}

.detail__image-frame img {
  display: block;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: clamp(1rem, 3vw, 3rem);
  width: 100%;
}

figcaption {
  bottom: clamp(1.1rem, 2.2vw, 2.1rem);
  color: var(--cream);
  font-size: 0.56rem;
  left: clamp(1.1rem, 2.2vw, 2.1rem);
  letter-spacing: 0.12em;
  position: absolute;
  text-transform: uppercase;
}

/* The Signet — graphic and quiet */
.landing--signet {
  background: var(--ink);
  color: var(--cream);
  grid-template-columns: 1fr minmax(18rem, 31vw) 1fr;
  grid-template-rows: auto 1fr auto;
  padding: clamp(1.1rem, 2.4vw, 2.8rem);
}

.landing--signet .masthead,
.landing--signet .microcopy {
  grid-column: 1 / -1;
}

.signet__message {
  align-self: center;
  grid-column: 1 / 2;
  max-width: 27rem;
  padding-bottom: 3rem;
}

.signet__message h1 {
  max-width: 22rem;
}

.signet__image-frame {
  align-self: center;
  aspect-ratio: 0.63;
  background: #d7c8b2;
  grid-column: 2 / 3;
  max-height: min(68vh, 48rem);
}

.signet__image-frame img {
  display: block;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: clamp(0.6rem, 1.5vw, 1.2rem);
  width: 100%;
}

.signet__image-frame figcaption {
  color: var(--ink);
}

/* The Still Life — a dark, cinematic introduction */
.landing--still {
  background: var(--ink);
  color: var(--cream);
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  isolation: isolate;
  padding: clamp(1.1rem, 2.4vw, 2.8rem);
}

.still__image-wrap,
.still__veil {
  inset: 0;
  position: absolute;
}

.still__image {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center 57%;
  width: 100%;
}

.still__veil {
  background:
    linear-gradient(90deg, rgba(25, 21, 19, 0.88) 0%, rgba(25, 21, 19, 0.68) 33%, rgba(25, 21, 19, 0.12) 70%),
    linear-gradient(0deg, rgba(25, 21, 19, 0.48) 0%, transparent 36%);
  z-index: -1;
}

.still__image-wrap {
  z-index: -2;
}

.still__panel {
  align-self: center;
  border-top: 1px solid var(--gold);
  max-width: min(34rem, 47vw);
  padding: clamp(1.8rem, 3.5vw, 4rem) 0 clamp(1.8rem, 4vw, 3.5rem);
}

.still__panel h1 {
  max-width: 27rem;
}

/* The Gallery — restrained editorial columns */
.landing--gallery {
  background: var(--paper);
  color: var(--ink);
  column-gap: clamp(1rem, 2vw, 2.8rem);
  grid-template-columns: minmax(15rem, 0.72fr) minmax(19rem, 0.98fr) minmax(11rem, 0.5fr);
  grid-template-rows: auto 1fr auto;
  padding: clamp(1.1rem, 2.4vw, 2.8rem);
}

.landing--gallery .masthead,
.landing--gallery .microcopy {
  grid-column: 1 / -1;
}

.gallery__copy {
  align-self: center;
  max-width: 26rem;
  padding-bottom: clamp(1.5rem, 4vw, 4rem);
}

.gallery__copy h1 {
  font-size: clamp(3.1rem, 5.4vw, 6.6rem);
  max-width: 24rem;
}

.gallery__image-frame {
  align-self: center;
  background: #dfd5c4;
  margin: 0;
  max-height: min(70vh, 51rem);
  min-height: 27rem;
  overflow: hidden;
  position: relative;
}

.gallery__image-frame img {
  display: block;
  height: 100%;
  object-fit: contain;
  padding: clamp(0.7rem, 1.5vw, 1.35rem);
  width: 100%;
}

.gallery__image-frame figcaption {
  color: var(--ink);
}

.gallery__note {
  align-self: center;
  border-left: 1px solid rgba(32, 28, 25, 0.32);
  margin: 0;
  max-width: 15rem;
  padding-left: clamp(1rem, 2vw, 2.2rem);
}

.gallery__note p {
  font-family: Arial, sans-serif;
  font-size: clamp(0.87rem, 1vw, 1rem);
  line-height: 1.58;
  margin: 0;
}

.gallery__note span {
  color: #79664b;
  display: block;
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  margin-top: 1.45rem;
  text-transform: uppercase;
}

/* The Halo — a quiet object-study */
.landing--halo {
  background: var(--ink);
  color: var(--cream);
  grid-template-columns: minmax(16rem, 0.83fr) minmax(18rem, 0.76fr) minmax(11rem, 0.46fr);
  grid-template-rows: auto 1fr auto;
  padding: clamp(1.1rem, 2.4vw, 2.8rem);
}

.landing--halo .masthead,
.landing--halo .microcopy {
  grid-column: 1 / -1;
}

.halo__message {
  align-self: center;
  max-width: 25rem;
  padding-bottom: 3rem;
}

.halo__message h1 {
  max-width: 19rem;
}

.halo__image-frame {
  align-self: center;
  aspect-ratio: 0.72;
  background: #d8c7aa;
  border-radius: 50% 50% 44% 44% / 38% 38% 56% 56%;
  box-shadow: 0 2.4rem 5rem rgba(0, 0, 0, 0.22);
  margin: 0;
  max-height: min(68vh, 49rem);
  overflow: hidden;
  position: relative;
}

.halo__image-frame img {
  display: block;
  height: 100%;
  object-fit: contain;
  padding: clamp(0.8rem, 1.7vw, 1.5rem);
  width: 100%;
}

.halo__image-frame figcaption {
  color: var(--ink);
}

@media (max-width: 760px) {
  .masthead,
  .microcopy {
    font-size: 0.51rem;
    gap: 0.8rem;
  }

  .masthead p,
  .microcopy span:last-child {
    text-align: right;
  }

  .channel-links {
    gap: 0.72rem;
  }

  .landing--detail {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(56svh, auto) minmax(44svh, auto);
  }

  .detail__copy {
    grid-row: 2;
    min-height: 44svh;
  }

  .detail__image-frame {
    grid-row: 1;
    min-height: 44svh;
  }

  .detail__image-frame img {
    padding: 0.8rem;
  }

  .landing--signet {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto 1fr auto;
  }

  .signet__message {
    grid-column: 1;
    grid-row: 2;
    padding: 3.6rem 0 1.8rem;
  }

  .signet__image-frame {
    align-self: start;
    grid-column: 1;
    grid-row: 3;
    justify-self: center;
    max-height: none;
    min-height: 20rem;
    width: min(66vw, 22rem);
  }

  .landing--signet .microcopy {
    grid-row: 4;
    margin-top: 2rem;
  }

  .landing--still {
    min-height: 100svh;
  }

  .still__image {
    object-position: 57% 55%;
  }

  .still__veil {
    background:
      linear-gradient(0deg, rgba(25, 21, 19, 0.88) 0%, rgba(25, 21, 19, 0.48) 48%, rgba(25, 21, 19, 0.14) 100%),
      linear-gradient(90deg, rgba(25, 21, 19, 0.44) 0%, transparent 80%);
  }

  .still__panel {
    align-self: end;
    max-width: 100%;
    padding-bottom: 2rem;
  }

  .landing--gallery {
    column-gap: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto minmax(23rem, auto) auto auto;
    row-gap: 0;
  }

  .landing--gallery .masthead {
    grid-row: 1;
  }

  .gallery__copy {
    grid-row: 2;
    padding: 3.2rem 0 1.8rem;
  }

  .gallery__copy h1 {
    max-width: 20rem;
  }

  .gallery__image-frame {
    grid-row: 3;
    max-height: none;
    min-height: 23rem;
  }

  .gallery__note {
    border-left: 0;
    border-top: 1px solid rgba(32, 28, 25, 0.32);
    grid-row: 4;
    margin-top: 1.4rem;
    max-width: 100%;
    padding: 1.2rem 0 0;
  }

  .gallery__note p {
    max-width: 26rem;
  }

  .landing--gallery .microcopy {
    grid-row: 5;
    margin-top: 2.2rem;
  }

  .landing--halo {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
  }

  .landing--halo .masthead {
    grid-row: 1;
  }

  .halo__message {
    grid-row: 2;
    padding: 3.4rem 0 1.8rem;
  }

  .halo__image-frame {
    grid-row: 3;
    justify-self: center;
    max-height: none;
    min-height: 24rem;
    width: min(76vw, 24rem);
  }

  .landing--halo .microcopy {
    grid-row: 4;
    margin-top: 2rem;
  }
}
