/* Family portraits and a compact coffee availability panel. */
.hero-signature {
  position: relative;
  width: max-content;
  max-width: calc(100% - 100px);
}
.hero-signature .son-portrait {
  position: absolute;
  left: calc(100% + 20px);
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 80px;
  height: 80px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 50%;
}
.hero-signature .son-portrait img {
  position: absolute;
  left: -22.727273%;
  top: -2.840909%;
  width: 145.454545%;
  max-width: none;
  height: auto;
  display: block;
}
#coffee .coffee-copy h2 { max-width: none; font-size: clamp(41.8px, 3.52vw, 50.6px); }
#coffee .coffee-pitch { font-size: 17.6px; line-height: 1.65; margin-bottom: 26px; }
#coffee .coffee-offer { max-width: 420px; padding: 22px 24px; background: var(--cream); color: var(--ink); }
#coffee .coffee-offer h3 { font: 600 18.7px/1.4 var(--sans); color: var(--burgundy); margin: 0 0 6px; }
#coffee .coffee-offer .coffee-format { font-size: 15.4px; line-height: 1.5; margin: 0 0 18px; color: var(--ink); }
#coffee .offer-options { display: grid; gap: 18px; margin: 0; }
#coffee .offer-option { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; align-items: baseline; }
#coffee .offer-option dt { font-size: 17.6px; font-weight: 600; }
#coffee .offer-option dd { margin: 0; }
#coffee .compact-price {
  display: block;
  font-family: var(--sans);
  color: var(--burgundy);
  font-size: 26.4px;
  font-weight: 600;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  line-height: 1.25;
}
#coffee .price-pending { font-size: 17.6px; line-height: 1.5; color: var(--burgundy); }
#coffee .compact-regular { display: block; font-size: 14.3px; line-height: 1.5; margin-top: 3px; }
#coffee .offer-action { margin-top: 22px; }
#coffee .compact-terms { margin: 16px 0 0; font-size: 14.3px; line-height: 1.6; max-width: 58ch; }
#coffee .offer-terms-link { color: var(--cream); font-size: 15.4px; }
@media (max-width: 760px) {
  .hero-signature { max-width: calc(100% - 80px); }
  .hero-signature .son-portrait { width: 64px; height: 64px; left: calc(100% + 16px); }
  #coffee .coffee-copy h2 { font-size: 39.6px; }
  #coffee .coffee-offer { padding: 20px; }
  #coffee .compact-price { font-size: 24.2px; }
}
@media (max-width: 360px) {
  #coffee .coffee-copy h2 { font-size: 35.2px; }
  #coffee .coffee-offer { padding: 20px 16px; }
  #coffee .offer-option { grid-template-columns: 52px minmax(0, 1fr); gap: 10px; }
}

/* Contact-only launch: keep the established panel and type scale. */
#coffee .availability-note { color: var(--ink); font-size: 17.6px; line-height: 1.65; margin: 12px 0 0; }
.contact-section .paths-heading { align-items: flex-start; margin-bottom: 0; }
.contact-section .contact-copy { flex: 0 1 520px; }
.contact-section .contact-copy p { max-width: 48ch; margin: 0 0 24px; }
.contact-section .contact-address { display: block; margin-top: 18px; font-size: 15.4px; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .contact-section .contact-copy { margin-top: 26px; }
  .contact-section .button { max-width: 100%; }
}
@media (scripting: none) and (max-width: 1100px) {
  .site-nav { display: flex; position: static; flex-wrap: wrap; padding: 0; box-shadow: none; border: 0; }
  .header-inner { flex-wrap: wrap; padding-block: 16px; }
  .menu-toggle { display: none; }
}

/* Full father name and origin remain directly below his portrait. */
.hero-visual { padding-bottom: 18px; }
.portrait-caption {
  position: static;
  display: block;
  max-width: none;
  margin: 10px 0 0;
  line-height: 1.4;
}

/* Approved 500 g offer and request-based local pickup. */
#coffee .coffee-offer .coffee-format { margin: 14px 0; }
#coffee .coffee-offer .pickup-offer-price { color: var(--burgundy); margin: 0 0 16px; font-size: 17.6px; line-height: 1.4; }
#coffee .pickup-offer-price strong { font-size: 39.6px; line-height: 1; font-variant-numeric: tabular-nums; }
#coffee .pickup-offer-price span { display: block; margin-top: 8px; font-size: 15.4px; color: var(--ink); }
#coffee .coffee-offer .pickup-request-note { margin: 0; color: var(--ink); font-size: 16.5px; line-height: 1.6; }
