.weekend-section .section-heading { display: block; max-width: 760px; margin: 0 auto clamp(40px, 6vw, 78px); text-align: center; }
.weekend-section .section-heading .eyebrow { margin: 0 0 18px; }
.weekend-section .section-heading h2 { margin: 0 0 22px; }
.weekend-section .section-heading > p:last-child { max-width: none; margin: 0; }
.event-list.event-cards { max-width: 860px; margin: 0 auto; border: 0; }
.event-row.event-card { display: block; min-height: 0; padding: clamp(72px, 10vw, 132px) 18px; border: 0; border-bottom: 1px solid #bccec870; text-align: center; }
.event-row.event-card:last-child { border-bottom: 0; }
.event-card .event-main { width: 100%; }
.event-card .event-main h3 { margin: 0; font-family: var(--font-display), Georgia, serif; font-size: clamp(28px, 4vw, 46px); font-weight: 400; letter-spacing: .16em; line-height: 1.35; text-transform: uppercase; }
.event-card .event-full-date { margin: 16px 0 0; font-family: var(--font-display), Georgia, serif; font-size: clamp(20px, 3vw, 34px); font-weight: 400; letter-spacing: .15em; line-height: 1.45; text-transform: uppercase; }
.event-card .event-information { margin-top: clamp(36px, 5vw, 58px); }
.event-card .event-information p { margin: 9px 0 0; font-family: var(--font-display), Georgia, serif; font-size: clamp(17px, 2vw, 25px); font-weight: 400; letter-spacing: .14em; line-height: 1.55; text-transform: none; }
.event-card .event-information p:first-child { margin-top: 0; }
.event-card .brunch-information { max-width: 760px; margin-inline: auto; }
.event-card .brunch-information p { margin-top: 24px; }
.event-card .brunch-information a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.event-card .brunch-venue { margin-top: 36px; }
.event-card .brunch-venue p { margin-top: 9px; }
.beaufort-section[data-has-photo] { grid-template-columns: minmax(340px, .9fr) minmax(420px, 1.1fr); gap: clamp(34px, 5vw, 76px); align-items: start; }
.beaufort-section[data-has-photo] .beaufort-copy { grid-column: 2; padding-right: 0; }
.beaufort-section[data-has-photo] .beaufort-list { grid-column: 2; }
.beaufort-photo { grid-row: 1 / 3; aspect-ratio: 1075 / 1583; width: 100%; height: auto; min-height: 0; margin: 0; overflow: hidden; }
.beaufort-photo img { width: 100%; height: auto; min-height: 0; aspect-ratio: 1075 / 1583; object-fit: contain; }
.stay-section .stay-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stay-grid .stay-booking-copy { margin-top: 18px; }
.stay-section .stay-grid a { font-size: 18px; text-decoration: underline; text-underline-offset: 5px; }
.beaufort-list .beaufort-item { border-bottom: 1px solid rgba(255, 255, 255, .55); display: grid; grid-template-columns: 48px 1fr; gap: 12px; align-items: start; padding: 30px 0; }
.beaufort-list .beaufort-item p { margin: 0; font-family: var(--font-display), Georgia, serif; font-size: clamp(18px, 1.7vw, 25px); line-height: 1.55; }
.beaufort-list .beaufort-item a { border: 0 !important; display: inline; min-height: 0; padding: 0; font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.beaufort-list .beaufort-item a:hover { padding: 0; }

@media (max-width: 1100px) {
  .beaufort-section[data-has-photo] { grid-template-columns: minmax(280px, .8fr) minmax(360px, 1.2fr); }
}

@media (max-width: 900px) {
  .beaufort-section[data-has-photo] { grid-template-columns: 1fr; }
  .beaufort-section[data-has-photo] .beaufort-copy,
  .beaufort-section[data-has-photo] .beaufort-list { grid-column: 1; }
  .beaufort-photo { grid-row: auto; }
  .stay-section .stay-grid { grid-template-columns: 1fr; }
  .beaufort-list .beaufort-item { grid-template-columns: 32px 1fr; }
}
.stay-intro { margin: -32px 0 38px; color: #bccec8; font-size: 16px; }
.stay-grid article { min-height: 285px; }
.stay-grid article h3 { margin-top: 55px; }
.stay-grid article em { padding-top: 28px; }
.stay-note { margin: 28px 0 0; color: #bccec8; font-size: 16px; }
.dining-section { background: #ffffff; padding: clamp(80px, 10vw, 140px) clamp(24px, 7vw, 110px); }
.dining-heading { margin-bottom: 54px; }
.dining-heading h2 { font-family: var(--font-display), Georgia, serif; font-weight: 400; font-size: clamp(48px, 6vw, 84px); line-height: 1; margin: 12px 0 16px; }
.dining-heading > p:last-child { color: #bccec8; font-size: 16px; }
.dining-meals { display: grid; gap: clamp(54px, 7vw, 86px); }
.dining-meal h3 { margin: 0 0 20px; font-family: var(--font-display), Georgia, serif; font-size: clamp(34px, 4vw, 52px); font-style: italic; font-weight: 400; letter-spacing: .025em; line-height: 1.1; text-transform: none; }
.dining-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #bccec870; }
.dining-grid .dining-item { display: grid; grid-template-columns: 40px 1fr; align-items: center; gap: 16px; min-height: 112px; border-bottom: 1px solid #bccec870; color: #bccec8; }
.dining-grid .dining-item:nth-child(odd) { padding-right: 26px; }
.dining-grid .dining-item:nth-child(even) { padding-left: 26px; }
.dining-grid span { color: #bccec8; font-size: 12px; letter-spacing: .1em; }
.dining-grid strong { font-family: var(--font-display), Georgia, serif; font-size: clamp(25px, 3vw, 38px); font-weight: 400; }
.story-feature { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 50px; }
.story-photo { margin: 0; overflow: hidden; background: #ffffff; }
.story-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.story-feature .story-photo { aspect-ratio: 4 / 5; }
.story-feature .story-proposal { transform: translateY(-28px); box-shadow: 0 20px 40px #bccec826; }
.story-gallery { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin-top: 42px; }
.story-gallery .story-photo { aspect-ratio: 4 / 5; }
.story-gallery .story-photo:nth-child(3n + 2) { transform: translateY(18px); }
.photos-section.gallery-only { padding: 6px; }
.gallery-grid {
  display: block;
  column-count: 4;
  column-width: auto;
  column-gap: 6px;
  column-fill: balance;
}
.gallery-grid figure {
  display: inline-block;
  width: 100%;
  break-inside: avoid;
  margin: 0 0 6px;
  overflow: hidden;
  vertical-align: top;
}
.gallery-grid img { display: block; width: 100%; height: auto; vertical-align: top; }
@media (max-width: 900px) {
  .dining-grid { grid-template-columns: 1fr; }
  .dining-grid .dining-item:nth-child(n) { padding-inline: 0; }
  .story-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .event-row.event-card { padding-inline: 8px; }
  .stay-intro { margin-top: -10px; }
  .dining-grid .dining-item { grid-template-columns: 28px 1fr; gap: 8px; padding-block: 18px; }
  .story-feature { gap: 7px; margin-top: 22px; }
  .story-feature .story-photo { aspect-ratio: 3 / 5; }
  .story-feature .story-proposal { transform: translateY(-10px); box-shadow: 0 8px 18px #bccec826; }
  .story-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 25px; }
  .story-gallery .story-photo:nth-child(3n + 2) { transform: none; }
  .photos-section.gallery-only { padding: 4px; }
  .gallery-grid { column-count: 4; column-gap: 3px; }
  .gallery-grid figure { margin-bottom: 3px; }
}
@media (max-width: 420px) {
  .gallery-grid { column-count: 4; }
}
