/* Content additions using the existing site's typography, colours and components. */
.refresh-home-hero { padding: 10.2rem 0 2.5rem; }
.refresh-hero-grid { display: grid; grid-template-columns: 1fr 1.03fr; align-items: center; gap: 4rem; }
.refresh-hero-copy { max-width: 34rem; }
.refresh-home-photo { aspect-ratio: 1.08; border-radius: 9rem 9rem 1.75rem 1.75rem; }
.refresh-home-photo img { object-position: 50% 52%; }
.refresh-lead { font-size: 1.1rem; line-height: 1.8; margin: 1.2rem 0; color: var(--text); }
.refresh-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 1.8rem; }
.refresh-small { font-size: .9rem; line-height: 1.65; color: var(--text-light); }
.refresh-hero-note { margin-top: 1.15rem; }
.refresh-section { padding: 4.8rem 0; }
.refresh-white { background: #fff; }
.refresh-section-heading { max-width: 45rem; margin: 0 auto 2.3rem; text-align: center; }
.refresh-heading-note { margin-top: .9rem; color: var(--text-light); }
.refresh-format-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.7rem; }
.refresh-format-img { display: block; width: 100%; height: auto; aspect-ratio: 1.5; object-fit: cover; }
.refresh-card-copy { padding: 1.5rem; }
.refresh-card-copy h3 { font-size: 1.25rem; margin-bottom: .65rem; }
.refresh-card-copy p { font-size: .95rem; color: var(--text-light); }
.refresh-text-link { color: var(--forest); text-decoration: underline; text-underline-offset: .23em; text-decoration-thickness: 1px; font-weight: 600; }
.refresh-card-copy .refresh-text-link { display: inline-block; margin-top: .85rem; font-size: .9rem; }
.refresh-feature { display: grid; grid-template-columns: 1.08fr 1fr; gap: 4rem; align-items: center; }
.refresh-feature-photo { overflow: hidden; border-radius: 1.5rem 4rem 1.5rem 1.5rem; }
.refresh-feature-photo img { width: 100%; aspect-ratio: 1.5; object-fit: cover; display: block; }
.refresh-feature-copy p:not(.section-eyebrow) { margin: 1.2rem 0 1.6rem; color: var(--text-light); }
.refresh-heading-row { display: flex; gap: 1.5rem; justify-content: space-between; align-items: baseline; margin-bottom: 2rem; }
.refresh-gallery-preview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.refresh-gallery-preview img { height: 100%; width: 100%; object-fit: cover; }
.refresh-page-hero { padding: 10.3rem 0 4rem; }
.refresh-page-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 4rem; }
.refresh-page-title { font-size: clamp(2.3rem, 4vw, 3.6rem); line-height: 1.12; margin-bottom: 1.5rem; }
.refresh-page-photo { aspect-ratio: 1.38; border-radius: 6rem 6rem 1.75rem 1.75rem; }
.refresh-page-grid > div > p:not(.section-eyebrow):not(.refresh-lead) { color: var(--text-light); }
.refresh-inline-cta { margin-top: 1.5rem; }
.refresh-food-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 4rem; }
.refresh-dish-list { margin-top: 1.5rem; }
.refresh-dish-list > div { padding: 1rem 0; border-bottom: 1px solid var(--border-c); }
.refresh-dish-list dt { font-weight: 700; color: var(--forest-dark); margin-bottom: .2rem; font-size: 1.06rem; }
.refresh-dish-list dd { font-size: .95rem; color: var(--text-light); }
.refresh-food-photo { margin-top: .4rem; }
.refresh-food-photo img { display: block; width: 100%; aspect-ratio: 1.15; object-fit: cover; border-radius: 1.5rem; }
.refresh-food-photo figcaption { font-size: .85rem; color: var(--text-light); margin-top: .8rem; }
.refresh-workshops { display: grid; grid-template-columns: .8fr 1.2fr; gap: 4rem; }
.refresh-workshops .refresh-lead { margin-top: 0; }
.refresh-workshop-list { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem 1.5rem; margin: 1.3rem 0 1.6rem; }
.refresh-workshop-list li { border-left: 3px solid var(--sage); padding-left: 1rem; }
.refresh-callout { background: var(--sage-light); padding: 2.8rem 0; }
.refresh-callout-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.refresh-callout-inner h2 { font-size: 1.55rem; margin-bottom: .55rem; }
.refresh-callout-inner p { max-width: 46rem; font-size: .95rem; }
.refresh-callout-inner .btn-green { white-space: nowrap; flex-shrink: 0; }
.refresh-preserves-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
.refresh-preserves-grid img { width: 100%; aspect-ratio: 1.9; object-fit: cover; border-radius: 1.5rem; display: block; margin-bottom: 1.5rem; }
.refresh-preserves-grid h2 { font-size: 1.6rem; margin-bottom: .8rem; }
.refresh-preserves-grid p { color: var(--text-light); }
.refresh-product-feature { grid-template-columns: .85fr 1.15fr; }
.refresh-product-feature .refresh-feature-photo img { aspect-ratio: 1.25; }
.refresh-catalog-title { margin-bottom: 2rem; }
.refresh-price { margin-top: 1rem; font-weight: 700; }
.refresh-pdf-link { padding-top: 1rem; padding-bottom: 2rem; }
.refresh-order-dialog { position: fixed; inset: 0; margin: auto; width: min(28rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); overflow-y: auto; padding: 2rem; border: 0; border-radius: 1.5rem; background: #fff; color: var(--text); }
.refresh-order-dialog::backdrop { background: rgba(29,46,26,.55); }
.refresh-order-dialog h2 { font-size: 1.5rem; padding-right: 1rem; }
.refresh-order-dialog label { display: block; margin: 1rem 0 .35rem; font-size: .9rem; }
.refresh-order-dialog .refresh-small { margin-top: 1rem; }
.refresh-dialog-close { position: absolute; top: .7rem; right: 1rem; font-size: 1.8rem; line-height: 1; padding: .3rem; }
.refresh-order-success { padding: 1rem 1.25rem; margin-bottom: 1.5rem; border-radius: 1rem; background: var(--sage-light); }
#visit, #workshops { scroll-margin-top: 8rem; }
@media (min-width: 1600px) {
  .refresh-home-hero { padding-top: 11rem; }
}
@media (max-width: 1023px) {
  .refresh-hero-grid, .refresh-page-grid, .refresh-feature, .refresh-food-grid { gap: 2rem; }
  .refresh-home-hero, .refresh-page-hero { padding-top: 9rem; }
  .refresh-format-grid { gap: 1rem; }
  .refresh-card-copy { padding: 1.2rem; }
  .refresh-callout-inner { align-items: flex-start; }
}
@media (max-width: 767px) {
  .refresh-home-hero { padding-top: 8.8rem; padding-bottom: 1.5rem; }
  .refresh-hero-grid, .refresh-page-grid, .refresh-feature, .refresh-food-grid, .refresh-workshops { grid-template-columns: 1fr; gap: 2rem; }
  .refresh-hero-copy { max-width: none; }
  .refresh-home-photo { aspect-ratio: 1.35; border-radius: 5rem 5rem 1.5rem 1.5rem; }
  .refresh-section { padding: 3.2rem 0; }
  .refresh-section-heading { text-align: left; margin-bottom: 1.8rem; }
  .refresh-format-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .refresh-format-img { aspect-ratio: 1.7; }
  .refresh-feature-copy { max-width: none; }
  .refresh-heading-row { flex-direction: column; gap: .7rem; }
  .refresh-gallery-preview { grid-template-columns: 1fr 1fr; gap: .7rem; }
  .refresh-gallery-preview .gallery-item:first-child { grid-column: 1 / -1; aspect-ratio: 1.8; }
  .refresh-page-hero { padding-top: 8.8rem; padding-bottom: 2.8rem; }
  .refresh-page-photo { border-radius: 4rem 4rem 1.5rem 1.5rem; }
  .refresh-food-photo img { aspect-ratio: 1.4; }
  .refresh-workshop-list { grid-template-columns: 1fr; }
  .refresh-callout-inner { flex-direction: column; gap: 1.4rem; }
  .refresh-preserves-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .refresh-product-feature .refresh-feature-photo img { aspect-ratio: 1.6; }
  .refresh-actions { gap: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
  .refresh-format-grid .service-card, .refresh-format-grid img { transition: none; }
}
