.events-page .event-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(38px, 6vw, 90px);
  align-items: center;
  padding-top: 42px;
  padding-bottom: 52px;
}
.event-intro-copy { min-width: 0; }
.events-page .event-intro h1 { font-size: clamp(58px, 6.1vw, 88px); line-height: 1.02; letter-spacing: -.035em; margin: 23px 0 25px; }
.event-intro-copy>.eyebrow { letter-spacing: .13em; }
.event-intro-copy>p { color: var(--muted); line-height: 1.85; max-width: 470px; margin: 0 0 15px; }
.event-intro-copy>.button { margin-top: 13px; }
.event-intro-note { display: block; color: var(--muted); font-size: .8125rem; line-height: 1.7; margin-top: 19px; }
.event-intro-photo { padding: 12px 12px 0; border: 1px solid #c5a27b; border-radius: 44% 44% 4px 4px; overflow: hidden; }
.event-intro-photo img { height: auto; aspect-ratio: .98; border-radius: 43% 43% 2px 2px; object-position: 48% 45%; }
.event-intro-photo figcaption { color: var(--wine); text-align: center; font: 400 27px/1.2 var(--serif); padding: 19px 8px 23px; }
.event-intro-photo figcaption em { font-weight: 400; }
.events-page .event-routes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding-top: 0; padding-bottom: 32px; scroll-margin-top: 25px; }
.event-routes>a { display: flex; gap: 16px; padding: 23px 0; border-block: 1px solid var(--line); min-width: 0; }
.event-route-number { color: var(--gold); font: italic 25px/1.2 var(--serif); }
.event-routes strong { display: block; color: var(--wine); font: 400 28px/1.15 var(--serif); }
.event-routes small { display: block; font-size: .875rem; color: var(--muted); line-height: 1.65; margin-top: 7px; }
.event-routes>a:hover strong { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.events-page .event-feature { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(38px, 7vw, 95px); align-items: center; padding-top: 65px; padding-bottom: 76px; scroll-margin-top: 18px; }
.event-feature-photo { position: relative; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.event-feature-photo img { aspect-ratio: .82; height: auto; object-position: 50% 38%; border-radius: 3px; }
.event-feature-photo figcaption { color: var(--wine); font: italic 25px/1.25 var(--serif); margin-top: 17px; }
.event-feature-copy { min-width: 0; }
.event-feature-copy>.eyebrow { letter-spacing: .11em; }
.event-feature-copy h2, .event-questions h2 { font: 400 clamp(43px, 4.45vw, 64px)/1.04 var(--serif); letter-spacing: -.03em; margin: 17px 0 26px; }
.event-feature-copy>p { color: var(--muted); line-height: 1.85; margin: 0 0 21px; }
.event-feature-copy>.button { margin-top: 9px; }
.event-occasions { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; padding: 0; margin: 25px 0; }
.event-occasions li { color: var(--wine); border: 1px solid #d9bcc4; border-radius: 24px; font-size: .8125rem; padding: 6px 12px; }
.event-practical { margin: 25px 0 21px; padding: 18px 20px; border-left: 2px solid var(--gold); background: #f5e9e8; }
.event-practical strong { font-size: .875rem; font-weight: 500; color: var(--wine); }
.event-practical p { color: var(--muted); font-size: .875rem; line-height: 1.8; margin: 7px 0 0; }
.event-contact-note { display: block; font-size: .8125rem; line-height: 1.7; color: var(--muted); margin-top: 12px; }
.open-workshop-section { background: #f1e2e6; border-block: 1px solid #e6cbd2; scroll-margin-top: 0; }
.events-page .event-feature-reversed { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); padding-top: 72px; padding-bottom: 72px; }
.event-macro-photo { border-color: #d3b3bf; }
.event-macro-photo img { aspect-ratio: .85; border-radius: 44% 44% 3px 3px; object-position: 58% 50%; }
.event-workshop-inquiry { background: #fffaf6b8; border: 1px solid #dbc0c9; padding: 28px; margin-top: 27px; scroll-margin-top: 24px; }
.event-workshop-inquiry h3 { color: var(--wine); font: 400 34px/1.12 var(--serif); letter-spacing: -.02em; margin: 12px 0 16px; }
.event-workshop-inquiry p { color: #6e4f59; font-size: .9375rem; line-height: 1.8; margin: 0 0 23px; }
.event-workshop-inquiry .button { min-height: 50px; }
.event-feature-copy>.event-small-note { font-size: .8125rem; margin: 15px 0 0; }
.event-request-preparation { margin: 26px 0 23px; padding-top: 22px; border-top: 1px solid var(--line); }
.event-request-preparation h3 { font: 400 31px/1.15 var(--serif); color: var(--wine); margin: 0 0 19px; }
.event-request-preparation ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; padding: 0; margin: 0; list-style: none; }
.event-request-preparation li { font-size: .875rem; line-height: 1.7; color: var(--muted); }
.event-request-preparation li>span { display: block; color: var(--wine); font-weight: 500; margin-bottom: 3px; }
.events-page .event-questions { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 7vw; align-items: start; padding-top: 12px; padding-bottom: 30px; }
.event-questions h2 { font-size: clamp(42px, 4vw, 57px); margin-bottom: 23px; }
.event-questions-intro>p { color: var(--muted); line-height: 1.8; margin: 0; }
.event-questions-intro a { color: var(--wine); text-decoration: underline; text-underline-offset: 5px; }
.events-page .event-image-note { padding-top: 0; padding-bottom: 53px; color: var(--muted); font-size: .8125rem; line-height: 1.8; }
.events-page .events-invitation { padding-top: 62px; padding-bottom: 60px; }
.events-invitation h2 { font-size: clamp(51px, 5.8vw, 81px); }
.events-cake-link { color: #f0dbe1; font-size: .875rem; line-height: 1.7; text-decoration: underline; text-underline-offset: 5px; margin-top: 25px; min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 1100px) {
  .events-page .event-intro { gap: 38px; }
  .event-routes strong { font-size: 25px; }
  .events-page .event-feature { gap: 38px; }
  .event-feature-copy>.eyebrow { letter-spacing: .075em; }
  .event-workshop-inquiry { padding: 24px; }
}
@media (max-width: 850px) {
  .events-page .event-intro { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 27px; padding-top: 31px; padding-bottom: 38px; }
  .events-page .event-intro h1 { font-size: 53px; }
  .event-intro-copy>.eyebrow { font-size: .6875rem; letter-spacing: .1em; }
  .event-intro-photo { padding: 8px 8px 0; }
  .event-intro-photo img { aspect-ratio: .77; }
  .event-intro-photo figcaption { font-size: 23px; padding: 17px 4px 20px; }
  .events-page .event-routes { gap: 19px; padding-bottom: 22px; }
  .event-routes>a { gap: 10px; }
  .event-routes strong { font-size: 24px; }
  .events-page .event-feature { grid-template-columns: 1fr; gap: 32px; padding-top: 49px; padding-bottom: 52px; }
  .event-feature-photo { max-width: 650px; width: 100%; margin: auto; }
  .event-feature-photo img { aspect-ratio: 1.25; }
  .event-feature-copy h2 { font-size: 53px; }
  .event-feature-copy { max-width: 680px; }
  .event-macro-photo img { aspect-ratio: 1.15; border-radius: 38% 38% 3px 3px; }
  .events-page .event-feature-reversed { grid-template-columns: 1fr; }
  .event-feature-reversed .event-feature-photo { grid-row: 1; }
  .events-page .event-questions { grid-template-columns: 1fr; gap: 30px; }
  .event-questions h2 { font-size: 49px; }
}
@media (max-width: 600px) {
  .events-page .event-intro { grid-template-columns: 1fr; padding: 28px 23px 36px; gap: 32px; }
  .event-intro-copy .breadcrumbs { margin-bottom: 26px; }
  .events-page .event-intro h1 { font-size: clamp(48px, 12.4vw, 68px); margin: 21px 0 24px; }
  .event-intro-copy>.eyebrow { font-size: .6875rem; }
  .event-intro-copy>.button { width: 100%; margin-top: 12px; }
  .event-intro-photo { max-width: 390px; width: 100%; margin: auto; padding: 9px 9px 0; }
  .event-intro-photo img { aspect-ratio: 1.07; }
  .event-intro-photo figcaption { font-size: 26px; padding: 19px 5px 21px; }
  .events-page .event-routes { grid-template-columns: 1fr; gap: 0; padding: 0 23px 7px; }
  .event-routes>a { padding: 21px 0; gap: 17px; border-bottom: 0; min-height: 90px; }
  .event-routes>a:last-child { border-bottom: 1px solid var(--line); }
  .event-route-number { font-size: 26px; }
  .event-routes strong { font-size: 29px; }
  .event-routes small { font-size: .875rem; margin-top: 5px; }
  .events-page .event-feature { padding: 42px 23px 46px; gap: 29px; }
  .event-feature-photo img { aspect-ratio: 1.05; }
  .event-feature-photo figcaption { font-size: 23px; margin-top: 15px; }
  .event-feature-copy>.eyebrow { font-size: .6875rem; letter-spacing: .1em; }
  .event-feature-copy h2 { font-size: 48px; margin: 15px 0 24px; }
  .event-feature-copy>p { margin-bottom: 19px; }
  .event-occasions { margin: 22px 0; }
  .event-practical { margin: 23px 0 20px; padding: 18px; }
  .event-feature-copy>.button { width: 100%; padding-inline: 16px; }
  .event-contact-note { text-align: center; }
  .event-macro-photo img { aspect-ratio: 1.05; }
  .event-workshop-inquiry { padding: 24px 21px; margin-top: 23px; }
  .event-workshop-inquiry h3 { font-size: 33px; }
  .event-workshop-inquiry .button { width: 100%; padding-inline: 10px; }
  .event-request-preparation { margin-top: 24px; }
  .event-request-preparation h3 { font-size: 30px; }
  .event-request-preparation ul { gap: 19px 17px; }
  .events-page .event-questions { padding: 10px 23px 25px; gap: 27px; }
  .event-questions h2 { font-size: 44px; }
  .events-page .event-image-note { padding: 0 23px 39px; }
  .events-page .events-invitation { padding: 47px 23px 49px; }
  .events-invitation h2 { font-size: 57px; }
  .events-cake-link { max-width: 290px; }
}
@media (max-width: 370px) {
  .event-feature-copy h2 { font-size: 44px; }
  .event-routes strong { font-size: 27px; }
  .event-request-preparation ul { grid-template-columns: 1fr; gap: 15px; }
}
