/* Brand refinement: preserve the original photographs; edit the space around them. */
[hidden] { display: none !important; }
.site-menu__owner { display: none; }
@media (min-width: 1280px) { .site-menu__owner { display: list-item; } }
.eyebrow { letter-spacing: 0; font-family: var(--font-sans); font-weight: 500; }
.hero--home { display: flex; flex-direction: column; min-height: 0; max-height: none; width: min(calc(100% - 48px), 1240px, calc((100svh - 240px) * 1672 / 941)); margin-inline: auto; background: var(--paper); }
.hero__media { order: 0; width: 100%; height: auto; aspect-ratio: 1672 / 941; min-height: 0; background: transparent; }
.hero__media img { width: 100%; height: 100%; object-fit: contain; }
.hero__copy { order: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: center; width: 100%; max-width: none; margin: 0; padding: 20px 0 24px; background: var(--paper); }
.hero__copy h1 { font-size: 28px; line-height: 1.45; }
.hero__heading > p { margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.hero__copy .button-row { margin: 0; display: flex; flex-direction: row; align-items: center; gap: 10px; }
.hero__copy .button { width: auto; min-height: 46px; font-size: 13px; padding-inline: 18px; }
.page-home .products-preview { padding-top: 20px; }
.page-home .products-preview .section-heading { display: grid; grid-template-columns: 130px 1fr; align-items: baseline; column-gap: 24px; row-gap: 8px; max-width: none; margin-bottom: 28px; }
.page-home .products-preview .section-heading .eyebrow { margin: 0; }
.page-home .products-preview .section-heading h2 { font-size: 32px; }
.page-home .products-preview .section-heading__copy { grid-column: 2; margin: 0; font-size: 14px; }
.product-summary__image-link { display: block; }
.product-summary__copy h3 a { text-decoration: none; }
.product-summary__copy h3 a:hover { text-decoration: underline; text-underline-offset: 5px; }
.products-preview { background: #f4f5f1; }
.product-summary-grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 28px; }
.product-summary { display: flex; flex-direction: column; align-items: stretch; gap: 24px; }
.product-summary .product-visual { aspect-ratio: 4/5; }
.product-summary__copy { flex: 1; display: flex; flex-direction: column; }
.product-summary__copy .product-number { margin-bottom: 8px; }
.product-summary__copy .product-label { font-size: 11px; }
.product-summary h3 { font-size: 22px; margin-bottom: 14px; }
.product-summary__copy .button { margin-top: auto; align-self: start; }
.page-products .page-hero { padding-block: 48px 36px; }
.page-products .page-hero h1 { font-size: 38px; }
.product-choice--visual { padding-block: 0 56px; background: var(--paper); }
.product-choice--visual .product-choice__grid { display: block; }
.product-choice--visual .product-choice__heading { padding: 0; }
.product-choice--visual .product-choice__list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.product-choice--visual .product-choice__list a { display: grid; grid-template-columns: 1fr 20px; gap: 8px; padding: 0 0 18px; border-top: 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.product-choice--visual .product-choice__list a:hover strong { text-decoration: underline; }
.product-choice--visual .product-choice__list a:hover { padding-left: 0; background: transparent; }
.product-choice--visual .product-visual { grid-column: 1/-1; width: 100%; aspect-ratio: 1/1; background: var(--linen); }
.product-choice--visual .product-choice__list strong { grid-column: 1; font-family: var(--font-serif); font-size: 19px; line-height: 1.6; }
.product-choice--visual .product-choice__list span { grid-column: 1/-1; padding-top: 8px; }
.product-choice--visual .product-choice__list small { grid-column: 1; font-size: 12px; }
.product-choice--visual .product-choice__list b { grid-column: 2; grid-row: 3; align-self: center; }
.product-original { margin: 16px 0 22px; font-size: 13px; }
.product-use dt { margin-top: 8px; }
.product-detail { scroll-margin-top: 100px; }
.business-hero__word { display: none; }
.article-toc__more { margin-top: 16px; border-top: 1px solid var(--line); }
.product-reading { padding-block: 40px; }
.product-reading h2 { font-size: 24px; margin-bottom: 24px; }
.product-reading a { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-block: 18px; border-bottom: 1px solid var(--line); font-size: 15px; }
.article-toc__more summary { padding: 16px 0; min-height: 48px; cursor: pointer; font-size: 14px; }
.article-toc__more summary:focus-visible { outline: 2px solid var(--brown); outline-offset: 4px; }
.business-stockists { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; padding-block: 88px; }
.business-stockists header > p:last-child { margin-top: 24px; max-width: 420px; color: var(--muted); font-size: 14px; }
.business-stockists li { padding: 16px 0; border-top: 1px solid var(--line); font-size: 15px; }
.business-stockists li:last-child { border-bottom: 1px solid var(--line); }
.business-owner-link { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding-block: 40px; border-block: 1px solid var(--line); }
.business-owner-link h2 { font-size: 26px; }
.contact-hero { padding-block: 48px; }
.contact-hero h1 { font-size: 44px; }
.contact-main { padding-top: 48px; }
.contact-form label small { margin-left: 12px; color: var(--muted); font-size: 12px; font-weight: 400; }
.company-tools { padding-block: 60px; }
.article-header h1 { font-size: 38px; line-height: 1.5; }
.article-header__lead { font-size: 16px; line-height: 1.9; }

/* A distinct, photographic introduction to the annual programme. */
.owner-invitation, .owner-hero { position: relative; isolation: isolate; overflow: hidden; background: #263b2f; color: #fff; }
.owner-invitation > figure, .owner-hero > figure { position: absolute; inset: 0; z-index: -2; }
.owner-invitation picture, .owner-hero picture { display: block; width: 100%; height: 100%; }
.owner-invitation img, .owner-hero img { width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
.owner-invitation::before, .owner-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgb(14 32 22 / 58%) 0%, rgb(14 32 22 / 30%) 56%, rgb(14 32 22 / 12%) 100%); }
.owner-invitation__copy { padding-block: 108px; }
.owner-invitation .eyebrow, .owner-hero .eyebrow { color: #fff; }
.owner-invitation h2 { font-size: 42px; line-height: 1.55; }
.owner-invitation__copy > p:not(.eyebrow) { margin-top: 24px; max-width: 470px; font-size: 15px; }
.owner-invitation .button { margin-top: 32px; color: #fff; border-color: rgb(255 255 255 / 70%); background: transparent; }
.owner-invitation .button:hover { background: #fff; color: #213c2e; }
.page-owner { --gold: #536749; --muted: #665e55; }
.page-owner > .breadcrumbs { padding-block: 14px; }
.owner-hero { min-height: 560px; height: min(68svh,700px); display: flex; align-items: center; }
.owner-hero h1 { color: #fff; font-size: 48px; line-height: 1.5; }
.owner-hero__copy > p:not(.eyebrow) { margin-top: 26px; font-family: var(--font-serif); font-size: 24px; line-height: 1.8; }
.owner-hero__scroll { display: inline-flex; align-items: center; gap: 40px; margin-top: 42px; padding-block: 10px; border-bottom: 1px solid rgb(255 255 255 / 60%); text-decoration: none; font-size: 13px; }
.owner-photo-credit { position: absolute; bottom: 20px; right: 32px; padding: 4px 8px; background: rgb(14 32 22 / 70%); font-size: 11px; }
.owner-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; padding-block: 100px; }
.owner-intro h2 { font-size: 38px; }
.owner-intro .button { margin-top: 30px; }
.owner-note { margin-top: 22px; color: var(--muted); font-size: 13px; line-height: 1.9; }
.page-owner .button--solid { background: #294836; border-color: #294836; color: #fff; }
.page-owner .button--solid:hover { background: #172d20; }
.owner-roles { background: #eef1eb; padding-block: 76px; }
.owner-section-heading { margin-bottom: 40px; }
.owner-section-heading h2 { font-size: 32px; }
.owner-roles ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 44px; }
.owner-roles li { position: relative; border-top: 1px solid #c6cebf; padding-top: 30px; }
.owner-index { display: block; font-family: Georgia,serif; font-size: 48px; font-weight: 400; line-height: 1; color: #607456; margin-bottom: 30px; }
.owner-roles h3 { margin-bottom: 16px; font-size: 24px; }
.owner-roles li > p:last-child { color: var(--muted); font-size: 14px; max-width: 320px; }
.owner-programme { display: grid; grid-template-columns: 0.9fr 1fr; gap: 100px; padding-block: 104px; align-items: start; }
.owner-work picture { display: block; background: #e9eee5; aspect-ratio: 3/4; }
.owner-work img { width: 100%; height: 100%; object-fit: contain; }
.owner-work figcaption { padding-top: 12px; font-size: 12px; color: var(--muted); }
.owner-programme h2 { font-size: 34px; }
.owner-price { padding-block: 32px; border-bottom: 1px solid var(--line); }
.owner-price > span { font-size: 13px; }
.owner-price p { display: flex; flex-wrap: wrap; gap: 12px; align-items: baseline; }
.owner-price strong { font-family: Georgia,serif; font-size: 54px; font-weight: 400; }
.owner-price p > span { font-size: 14px; }
.owner-price > small { display: block; color: var(--muted); font-size: 12px; }
.owner-seasons { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; padding-block: 28px; border-bottom: 1px solid var(--line); }
.owner-seasons span { display: block; color: var(--gold); font-size: 12px; }
.owner-seasons strong { display: block; font-family: Georgia,serif; font-weight: 400; font-size: 48px; line-height: 1.5; }
.owner-seasons small { margin-left: 8px; font-family: var(--font-sans); font-size: 12px; }
.owner-seasons p { font-size: 13px; color: var(--muted); }
.owner-programme .button { margin-top: 28px; }
.owner-conditions { background: #f4f5f2; padding-block: 80px; }
.owner-conditions dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0 64px; }
.owner-conditions dl > div { padding-block: 26px; border-top: 1px solid var(--line); }
.owner-conditions dt { margin-bottom: 12px; font-weight: 500; }
.owner-conditions dd { color: var(--muted); font-size: 14px; }
.owner-final { padding-block: 88px 104px; text-align: center; }
.owner-final h2 { font-size: 36px; }
.owner-final > p:not(.eyebrow) { margin: 24px auto 30px; max-width: 520px; font-size: 15px; color: var(--muted); }

@media (max-width: 1023px) {
  .site-menu__owner { display: block; }
  .hero--home { width: 100%; }
  .hero__copy { gap: 18px; padding: 20px 28px 24px; grid-template-columns: minmax(0, 1fr) auto; }
  .hero__copy h1 { font-size: 26px; }
  .hero__media { height: auto; aspect-ratio: 1672/941; }
  .hero__copy .button-row { flex-direction: column; align-items: stretch; }
  .product-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .owner-intro, .owner-programme { gap: 48px; }
  .owner-roles ol { gap: 24px; }
  .owner-roles h3 { font-size: 21px; }
  .business-stockists { gap: 40px; }
  .business-owner-link { align-items: start; flex-direction: column; }
}
@media (max-width: 767px) {
  :root { --section-space: 64px; }
  .hero__copy { display: block; padding: 20px; }
  .hero__copy h1 { font-size: 24px; line-height: 1.5; }
  .hero__heading > p { margin-top: 8px; font-size: 13px; line-height: 1.8; }
  .hero__copy .button-row { margin-top: 16px; flex-direction: row; gap: 10px; }
  .hero__copy .button { width: auto; min-width: 0; font-size: 12px; padding-inline: 12px; }
  .hero__copy .button--solid { flex: 1.4; }
  .hero__copy .button--outline { flex: 1; }
  .hero__copy .button__mark { display: none; }
  .page-home .products-preview { padding-top: 28px; }
  .page-home .products-preview .section-heading { display: block; }
  .page-home .products-preview .section-heading h2 { margin-top: 12px; font-size: 26px; }
  .page-home .products-preview .section-heading__copy { margin-top: 12px; }
  .product-summary-grid { gap: 36px 16px; }
  .product-summary { gap: 18px; }
  .product-summary h3 { font-size: 18px; }
  .product-summary__copy > p:not(.product-number,.product-label) { font-size: 13px; }
  .product-summary__copy .button { font-size: 12px; gap: 8px; }
  .page-products .page-hero { padding-block: 26px 24px; }
  .page-products .page-hero h1 { font-size: 28px; }
  .page-products .page-hero > p:not(.eyebrow) { font-size: 14px; margin-top: 14px; }
  .product-choice--visual { padding-bottom: 32px; }
  .product-choice--visual .product-choice__list { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
  .product-choice--visual .product-choice__list strong { font-size: 17px; }
  .product-choice--visual .product-choice__list small { font-size: 11px; }
  .product-choice--visual .product-choice__list a { gap: 5px; }
  .product-detail { padding-block: 48px; }
  .business-stockists { grid-template-columns: 1fr; gap: 28px; padding-block: 56px; }
  .business-stockists h2, .business-owner-link h2 { font-size: 26px; }
  .business-stockists li { font-size: 14px; }
  .business-owner-link { gap: 20px; }
  .contact-hero { padding-block: 28px 32px; }
  .contact-main { padding-top: 32px; }
  .contact-form-heading { margin-bottom: 26px; }
  .contact-hero h1 { font-size: 30px; }
  .contact-form label small { font-size: 11px; }
  .article-header { padding-top: 24px; }
  .article-header h1 { font-size: 27px; line-height: 1.6; }
  .article-header__lead { font-size: 15px; line-height: 1.85; margin-top: 20px; }
  .owner-invitation__copy { padding-block: 64px; }
  .owner-invitation h2 { font-size: 30px; }
  .owner-invitation__copy > p:not(.eyebrow) { font-size: 14px; }
  .owner-invitation img { object-position: 45% center; }
  .owner-hero { min-height: 460px; height: 64svh; max-height: 600px; }
  .owner-hero h1 { font-size: 32px; }
  .owner-hero__copy > p:not(.eyebrow) { font-size: 22px; }
  .owner-photo-credit { right: 20px; left: 20px; bottom: 16px; font-size: 10px; }
  .owner-intro, .owner-programme { grid-template-columns: 1fr; gap: 30px; padding-block: 56px; }
  .owner-intro h2 { font-size: 30px; }
  .owner-roles { padding-block: 48px; }
  .owner-section-heading h2 { font-size: 27px; }
  .owner-roles ol { grid-template-columns: 1fr; gap: 26px; }
  .owner-roles li { display: grid; grid-template-columns: 48px 1fr; gap: 8px 20px; padding-top: 24px; }
  .owner-index { grid-row: span 3; font-size: 36px; margin: 0; }
  .owner-roles .eyebrow { margin: 0; }
  .owner-roles h3 { margin: 0; }
  .owner-roles li > p:last-child { grid-column: 2; }
  .owner-work { max-width: 320px; margin-inline: auto; }
  .owner-programme h2 { font-size: 30px; }
  .owner-price strong { font-size: 46px; }
  .owner-price { padding-block: 24px; }
  .owner-conditions { padding-block: 48px; }
  .owner-conditions dl { grid-template-columns: 1fr; }
  .owner-final { padding-block: 56px 64px; }
  .owner-final h2 { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) { .mobile-cta { transition: none; } }
