/* Home page only (body.home-page): editorial photos, serif headings, warm
   accents. Ported from the 2026-10-24 white preview. Colours, header and
   footer are the site-wide ones in home.css. */
.home-page {
  --home-accent: #89624b;
  --home-link: #6f4834;
  --home-serif: "Cormorant Garamond", Georgia, serif;
}
.home-page main .eyebrow {
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: 2.6px;
  color: var(--home-accent);
}
.home-page main .text-link {
  font-size: 13px;
  gap: 22px;
  padding-bottom: 5px;
  border-bottom: 1px solid currentColor;
  color: var(--home-link);
}
.home-page main .text-link > span[aria-hidden] {
  font-size: 13px;
}
.home-page main a.text-link:hover > span:not([aria-hidden]) {
  text-decoration: none;
}
.home-page main a.text-link:hover {
  opacity: 0.7;
}
.home-page main {
  font-weight: 400;
}
.home-page main img {
  display: block;
  width: 100%;
  height: auto;
}

/* Layout: text and a 3:4 photo side by side, half each; one column below
   700px. Home content starts on the header's left edge: --home-gutter
   follows the header's side padding in home.css (5.5%, then 4%, 20px, 16px). */
.home-page {
  --home-gutter: 5.5%;
}
@media (max-width: 1050px) {
  .home-page {
    --home-gutter: 4%;
  }
}
@media (max-width: 650px) {
  .home-page {
    --home-gutter: 20px;
  }
}
@media (max-width: 360px) {
  .home-page {
    --home-gutter: 16px;
  }
}
.home-hero,
.home-story {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 5%;
  align-items: center;
  padding: 64px var(--home-gutter);
}
.home-hero {
  padding-top: 54px;
}
.home-hero > img {
  grid-column: 2;
  grid-row: 1;
}
.home-hero-copy {
  grid-column: 1;
  grid-row: 1;
}
.home-plate-story,
.home-cup-story {
  border-top: 1px solid var(--border);
}

/* Serif headings, one size for all three where it fits. It shrinks with the
   screen so the longest line fits its column (about 42% of the screen, 44%
   below 1050px): "Good things take" is about 6.6em; the hero's "a brighter
   everyday." about 7.4em, so the hero steps down sooner. The -6px allows
   for the text blocks' 20px side padding. */
.home-hero h1,
.home-story h2 {
  font-family: var(--home-serif);
  font-weight: 400;
  font-size: min(72px, calc(6.4vw - 6px));
  line-height: 1.01;
  letter-spacing: -0.02em;
  margin: 24px 0 28px;
}
.home-hero .hero-description {
  font-size: 16px;
  line-height: 1.8;
  color: var(--ink2);
  margin: 0;
}
.home-story-copy > p:not(.eyebrow) {
  max-width: 440px;
  font-size: 16px;
  line-height: 1.9;
  color: var(--ink2);
}
.home-hero .text-link {
  margin-top: 32px;
}
.home-story .text-link {
  margin-top: 28px;
}

.home-hero h1 {
  font-size: min(72px, calc(5.6vw - 6px));
}
@media (max-width: 1050px) {
  .home-hero h1 {
    font-size: calc(5.8vw - 6px);
  }
  .home-story h2 {
    font-size: calc(6.6vw - 6px);
  }
}
/* Text blocks sit 20px in from their column edges, toward the middle (the
   plate's 40px on its left, away from the photo). One column undoes this. */
.home-hero-copy,
.home-story-copy {
  padding: 0 20px;
}
.home-plate-story .home-story-copy {
  padding-left: 40px;
}

/* Portrait photos, 3:4. Each file is already cut to 3:4 around its piece,
   centered side to side. */
.home-hero > img,
.home-story-photo {
  aspect-ratio: 3/4;
}
.home-hero > img {
  object-fit: cover;
}
.home-story-photo {
  overflow: hidden;
  background: #fff;
}
.home-page .home-story-photo img {
  height: 100%;
  object-fit: cover;
}

/* Phones and small tablets: one column. Hero copy above its photo; both
   story photos above their copy. */
@media (max-width: 700px) {
  .home-hero-copy,
  .home-story-copy,
  .home-plate-story .home-story-copy {
    padding: 0;
  }
  .home-page main .eyebrow {
    font-size: 10px;
  }
  .home-page main .text-link,
  .home-page main .text-link > span[aria-hidden] {
    font-size: 12px;
  }
  .home-hero .hero-description,
  .home-story-copy > p:not(.eyebrow) {
    font-size: 14px;
  }
  .home-story-copy > p:not(.eyebrow) {
    max-width: 420px;
  }
  .home-hero,
  .home-story {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 30px;
    padding: 40px var(--home-gutter) 44px;
  }
  .home-hero {
    padding-top: 32px;
  }
  .home-hero-copy {
    order: 1;
  }
  .home-hero > img {
    order: 2;
  }
  .home-cup-photo {
    order: -1;
  }
  .home-hero > img,
  .home-story-photo {
    width: 100%;
  }
  .home-hero h1,
  .home-story h2 {
    font-size: min(13vw, 64px);
    margin: 18px 0 22px;
  }
  .home-hero h1 {
    font-size: min(11.6vw, 64px);
  }
  .home-hero .text-link {
    margin-top: 22px;
  }
}
@media (max-width: 540px) {
  .home-hero .hero-description {
    font-size: 13px;
  }
}
