/* Editorial photo scene. Every element is visible before JavaScript runs. */
.coffee-scene { background: #101914; color: #f1eddf; padding: 88px 5vw; }
.coffee-inner { max-width: 1280px; margin: auto; display: grid; grid-template-columns: .85fr 1.15fr; gap: 7vw; align-items: start; }
.coffee-copy { position: sticky; top: calc(112px + var(--wp-admin-offset)); padding-block: 18px; }
.coffee-copy h2 { font-family: var(--ff-display); font-size: clamp(48px, 5.6vw, 78px); line-height: 1.08; letter-spacing: -.025em; }
.coffee-copy h2 em { color: var(--gold); }
.coffee-copy > p { font-size: 16px; line-height: 1.8; max-width: 39ch; margin-top: 26px; color: #d4ddce; }
.coffee-copy .coffee-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; margin-block: 28px; }
.coffee-price strong { font-size: 26px; color: #f1eddf; }
.coffee-price span { font-size: 14px; }
.coffee-copy .btn-primary { min-height: 54px; font-size: 14px; gap: 20px; }
.coffee-visual { min-width: 0; margin: 0; }
.coffee-frame { overflow: hidden; aspect-ratio: 4 / 5; }
.coffee-frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 70%; }
.coffee-visual figcaption { margin-top: 16px; font-size: 14px; line-height: 1.65; color: #c3ceba; }
@media (max-width: 800px) {
  .coffee-scene { padding: 58px 6vw; }
  .coffee-inner { grid-template-columns: 1fr; gap: 32px; }
  .coffee-copy { position: static; padding: 0; }
  .coffee-copy h2 { font-size: clamp(42px, 10vw, 64px); }
  .coffee-copy .btn-primary { width: 100%; justify-content: space-between; }
  .coffee-copy .coffee-price { margin-block: 22px; }
  .coffee-frame { aspect-ratio: 3 / 4; }
}
@media (prefers-reduced-motion: reduce) {
  .coffee-copy { position: static; }
}
