/* EMPAMARI 42.0 — scoped, owner-authorized founder introduction.
   #1: existing introduction below food hero + existing Story (twice).
   #3: existing Classes instructor slot (once).
   #4 and #5: existing TWO-column founder gallery (once each).
   No food-hero, navigation, flavor, form or other grid changes.
   Prepared portraits are already cropped consistently; CSS never crops again.
   All content grows naturally. No fixed panel heights or internal scrolling. */
.founder-intro-layout {
  display: grid;
  grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}
.founder-intro-portrait {
  width: 100%;
  max-width: 280px;
  min-width: 0;
  margin: 0;
}
.founder-intro-portrait img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}
.founder-intro-portrait figcaption {
  padding-top: 14px;
  color: #6f5a4c;
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}
.founder-intro-copy { min-width: 0; text-align: left; }
.founder-intro-copy .eyebrow { justify-content: flex-start; }
.founder-intro-copy .display {
  font-size: clamp(34px, 3.6vw, 52px);
  line-height: 1.2;
  text-align: left;
}
.founder-intro-copy .intro-copy { margin-inline: 0; }
.founder-intro-copy .signature-divider { justify-content: flex-start; }
.founder-gallery-grid img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}
@media (max-width: 800px) {
  .founder-intro-layout { grid-template-columns: minmax(0, 1fr); }
  .founder-intro-portrait { max-width: 320px; justify-self: center; }
  .founder-intro-copy { text-align: center; }
  .founder-intro-copy .display { text-align: center; }
  .founder-intro-copy .eyebrow,
  .founder-intro-copy .signature-divider { justify-content: center; }
  .founder-intro-copy .intro-copy { margin-inline: auto; }
}
/* New approved story subsections: readable on the existing espresso panel. */
#story .founder-panel h3 {
  color: #f2d79f;
  font-family: var(--font-display);
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 500;
  line-height: 1.3;
  margin: 32px 0 12px;
}
.founder-intro-copy .founder-intro-story-link {
  color: #93432e;
  text-decoration: underline;
  text-underline-offset: .18em;
  text-decoration-thickness: 1px;
  font-weight: 600;
}

/* V42 full uploaded frames; captions remain below each image. */
.mari-v42-figure { min-width:0; }
.mari-v42-figure img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; object-position:center; }
.mari-v42-figure .portrait-caption { display:flex; flex-direction:column; align-items:center; gap:10px; padding-top:20px; text-align:center; width:100%; }
.portrait-title { font-family:var(--font-display); font-size:clamp(20px,2vw,26px); line-height:1.35; font-weight:500; }
.portrait-copy { display:block; font-size:14px; line-height:1.7; max-width:42ch; }
.portrait-signature { display:block; font-family:var(--font-display); font-style:italic; font-size:17px; line-height:1.5; }
.founder-art .portrait-caption,.classes-portrait .portrait-caption { color:#ead7b5; }
.founder-intro-portrait .portrait-caption { color:#6f5a4c; }
.founder-gallery-grid .portrait-caption { color:#513b2b; }
.founder-art.mari-v42-figure img { width:100%; max-width:560px; height:auto; max-height:none; }
@media(max-width:800px){.founder-art.mari-v42-figure img{max-width:360px;}.mari-v42-figure .portrait-caption{padding-top:16px;}}

/* Explicit house selections, never presented as customer-review data. */
.flavor-title-row .flavor-editorial-badge{display:inline-block;max-width:100%;padding:6px 10px;border:1px solid #cbb18b;border-radius:999px;font-size:11px;font-weight:600;line-height:1.5;color:#654128;background:#f8eddc;text-align:center;white-space:normal;}
.house-rating{display:flex;flex-direction:column;gap:5px;margin:12px 0 14px;min-width:0;}
.house-rating-value{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:14px;font-weight:700;color:#6e401d;}
.house-stars{display:inline-flex;gap:3px;line-height:1.2;color:#a66518;font-size:19px;}
.house-star{display:inline-block;width:1em;position:relative;}
.house-star-base{color:#d9cbb8;}
.house-star-fill{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;}
.house-rating-label{display:block;font-size:11px;line-height:1.5;color:#6f5a4c;}

/* Three equal top actions aligned with the full-width inquiry action. */
.v42-item-actions{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:auto;padding-top:18px;min-width:0;}
.item-actions-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;min-width:0;align-items:stretch;}
.item-actions-top>button{width:100%;min-width:0;min-height:48px;height:100%;padding:10px 4px;display:flex;justify-content:center;align-items:center;text-align:center;line-height:1.4;white-space:normal;overflow-wrap:normal;}
.v42-item-actions>.item-order{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;}
.v42-item-actions button:focus-visible{outline:3px solid #95521c;outline-offset:3px;}
.flavor-copy:has(.v42-item-actions){display:flex;flex-direction:column;}
.v42-like-note{max-width:1100px;margin:0 auto;padding:0 24px 32px;text-align:center;font-size:12px;line-height:1.7;color:#6f5a4c;}

.house-star-svg{display:block;width:19px;height:19px;flex:0 0 19px;overflow:visible;}
