/* Local hospitality surfaces; the established site system remains unchanged. */
.dining-story {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
  background:var(--cream);
}
.dining-hero {margin:0}
.dining-hero img {width:100%;height:auto}
.dining-hero figcaption {
  margin-top:1rem;
  color:var(--ink);
  font-size:.875rem;
}
.dining-copy {max-width:38rem}
.dining-copy h2 {
  font-size:clamp(2.6rem,4.5vw,4.75rem);
  letter-spacing:-.035em;
  line-height:1.06;
}
.dining-copy>p:not(.dining-signature) {
  font-size:1rem;
  line-height:1.8;
  margin:1.75rem 0 0;
}
.dining-details {
  display:flex;
  flex-wrap:wrap;
  gap:.65rem 1.5rem;
  margin-top:2rem;
  padding-top:1.5rem;
  border-top:1px solid var(--line);
  font-size:.875rem;
  font-weight:600;
}
.dining-signature {
  font:italic 1.65rem/1.4 var(--serif);
  margin:2rem 0 0;
}
.dining-collection {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(.65rem,1.5vw,1.5rem);
  align-items:start;
}
.dining-collection img {width:100%;height:auto}
.guest-stories {background:var(--paper)}
.guest-heading {
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(12rem,1fr);
  align-items:end;
  gap:2rem;
  margin-bottom:clamp(3rem,6vw,5rem);
}
.guest-heading h2 {
  max-width:21ch;
  font-size:clamp(2.4rem,3.7vw,3.75rem);
  line-height:1.12;
  letter-spacing:-.03em;
}
.guest-heading p {margin:0;font-size:.875rem;max-width:20ch}
.guest-accounts {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:2.5rem clamp(3rem,7vw,7rem);
}
.guest-account {
  display:grid;
  grid-template-columns:3.5rem minmax(0,1fr);
  gap:1.25rem;
  align-content:start;
  align-items:center;
  margin:0;
}
.guest-account:first-child {grid-row:span 2}
.guest-account:last-child {
  padding-top:2.5rem;
  border-top:1px solid var(--line);
}
.guest-account img {
  width:3.5rem;height:3.5rem;object-fit:cover;border-radius:50%;
  grid-column:1;grid-row:2;
}
.guest-account blockquote {
  grid-column:1/-1;grid-row:1;
  margin:0 0 .5rem;
  font:400 clamp(1.2rem,1.55vw,1.5rem)/1.55 var(--serif);
  overflow-wrap:break-word;
}
.guest-account:first-child blockquote {
  font-size:clamp(1.6rem,2.25vw,2.1rem);
  line-height:1.45;
}
.guest-account figcaption {
  grid-column:2;grid-row:2;
  font-size:.875rem;font-weight:600;
}
.dining-story ::selection,.guest-stories ::selection {background:var(--gold);color:var(--deep)}
@media(max-width:980px) {
  .dining-story {gap:2.5rem}
  .dining-copy h2 {font-size:clamp(2.5rem,4.6vw,3.75rem)}
  .guest-heading {grid-template-columns:1fr}
  .guest-heading p {max-width:none}
  .guest-accounts {column-gap:2.5rem}
}
@media(max-width:680px) {
  .dining-story {grid-template-columns:1fr;gap:2.25rem}
  .dining-copy {grid-row:1}
  .dining-copy h2 {font-size:clamp(2.5rem,10vw,3.75rem)}
  .dining-collection {grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
  .guest-heading {margin-bottom:2.5rem;gap:1.25rem}
  .guest-heading h2 {font-size:clamp(2.3rem,8.8vw,3.5rem)}
  .guest-accounts {grid-template-columns:1fr;gap:2rem}
  .guest-account:first-child {grid-row:auto}
  .guest-account:not(:first-child) {border-top:1px solid var(--line);padding-top:2rem}
}
