/* Preview content refinements: contextual sections and shared open-information layouts. */
.bespoke-standard { scroll-margin-top: var(--hdr-h); }
.bespoke-standard .sec-head .h2 { max-width: 26ch; }
.bespoke-standard__layout {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.28fr);
  gap: clamp(40px,5vw,72px); align-items: center;
}
.bespoke-standard__photo { margin: 0 14px 14px 0; }
.bespoke-standard__photo img { width: 100%; aspect-ratio: 1 / 1.05; object-fit: cover; object-position: 50% 53%; }
.bespoke-standard .principles-list { gap: 28px 36px; }
.bespoke-standard .principle > h3 { font-size: clamp(24px,2vw,28px); margin-bottom: 12px; }
.bespoke-standard .principle--access { padding-block: 24px; }
.bespoke-standard .principle p { font-size: 18px; line-height: 1.62; }

.retreat-planning__layout {
  display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.24fr);
  gap: clamp(40px,5vw,72px); align-items: center;
}
.retreat-planning__photo { margin: 0 14px 14px 0; }
.retreat-planning__photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.retreat-planning .info-row { grid-template-columns: minmax(0,1fr); gap: 8px; padding-block: 18px; }
.retreat-planning .info-row > h3 { font-size: 24px; }
.retreat-planning .info-row > p { max-width: 58ch; }

.encounter-collection__layout {
  display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr);
  gap: clamp(40px,5vw,72px); align-items: center;
}
.encounter-collection__photo { margin: 0 14px 14px 0; }
.encounter-collection__photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 47% center; }
.encounter-collection .principles-list--columns { grid-template-columns: minmax(0,1fr); gap: 0; }
.encounter-collection .principle {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 0;
  padding-block: 24px; border: 0; border-top: 1px solid var(--content-rule);
}
.encounter-collection .principle:first-child { padding-top: 0; border-top: 0; }
.encounter-collection .principle:last-child { padding-bottom: 0; }
.encounter-collection .principles-list--columns .principle + .principle { border-left: 0; padding-left: 0; }
.encounter-collection .principle > h3 { grid-column: auto; grid-row: auto; font-size: clamp(26px,2.2vw,30px); margin-bottom: 12px; }
.encounter-collection .principle > p { grid-column: auto; margin: 0; }
.encounter-collection .principle > .arrow { grid-column: auto; justify-self: start; margin-top: 16px; }
.encounter-collection .principle:hover .h3, .encounter-collection .principle:focus-visible .h3 { color: var(--gold-700); }
.encounter-collection .principle:focus-visible { outline: 2px solid var(--gold-700); outline-offset: 8px; }
.encounter-formats .format-grid { border-block: 0; padding-block: 0; }

.destination-detail[open] { background: transparent; border-top: 1px solid var(--gold-500); }
.destination-detail[open] summary { padding: 18px 4px; }
.destination-detail[open] .acc__thumb { visibility: visible; display: block; }
.destination-detail .acc__body { padding: 0 22px 30px 146px; grid-template-columns: minmax(0,1fr); }
.destination-detail .acc__body > div:not(.framed) { max-width: 70ch; }
.destination-detail .acc__role { display: block; }
.destination-detail summary:focus-visible { outline: 2px solid var(--gold-700); outline-offset: 4px; }

@media(max-width:1000px) {
  .bespoke-standard__layout { grid-template-columns: minmax(0,.95fr) minmax(0,1.2fr); gap: 32px; align-items: start; }
  .bespoke-standard__photo img { aspect-ratio: 4 / 5; }
  .bespoke-standard .principles-list { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .bespoke-standard .principle--access { grid-column: auto; padding-block: 20px; }
  .retreat-planning__layout, .encounter-collection__layout { grid-template-columns: minmax(0,.9fr) minmax(0,1.2fr); gap: 32px; }
  .retreat-planning .info-row > h3 { font-size: 23px; }
  .encounter-collection .principle > h3 { font-size: 26px; }
}
@media(max-width:760px) {
  .bespoke-standard__layout, .retreat-planning__layout, .encounter-collection__layout { grid-template-columns: minmax(0,1fr); gap: 36px; }
  .bespoke-standard .sec-head .h2 { max-width: 23ch; }
  .bespoke-standard__photo img { aspect-ratio: 4 / 3; }
  .bespoke-standard .principles-list { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .bespoke-standard .principle--access { padding-block: 24px; }
  .retreat-planning__photo img { aspect-ratio: 4 / 3; }
  .retreat-planning .info-row { padding-block: 20px; }
  .retreat-planning .info-row > h3 { font-size: 24px; }
  .encounter-collection__photo img { aspect-ratio: 4 / 3; }
  .encounter-collection .principle { padding-block: 24px; }
  .encounter-collection .principle > h3 { margin-bottom: 12px; }
  .encounter-collection .principle > .arrow { margin-top: 16px; }
}
@media(max-width:640px) {
  .destination-detail summary, .destination-detail[open] summary { grid-template-columns: 64px minmax(0,1fr) 44px; gap: 12px; align-items: start; }
  .destination-detail .acc__thumb { margin-top: 4px; }
  .destination-detail .acc__body { padding: 0 4px 26px; }
  .destination-detail .acc__role { font-size: 1rem; line-height: 1.55; margin-top: 6px; }
}


/* Shared content families. Short copy remains visible on every page. */
.editorial-layout { display: block; }
.editorial-layout > .sec-head { margin-bottom: clamp(30px,4vw,52px); }
.editorial-layout > .sec-head .h2 { max-width: 26ch; }
.editorial-layout .principles-list { gap: 36px 48px; }
.editorial-layout .principles-list:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3,minmax(0,1fr)); }
.editorial-layout .principles-list:has(> :nth-child(3):last-child) > :last-child { grid-column: auto; max-width: none; }
.editorial-layout .principles-list:has(> :nth-child(5):last-child) { grid-template-columns: repeat(6,minmax(0,1fr)); }
.editorial-layout .principles-list:has(> :nth-child(5):last-child) > * { grid-column: span 2; }
.editorial-layout .principles-list:has(> :nth-child(5):last-child) > :nth-child(n+4) { grid-column: span 3; max-width: none; }
:is(.principle,.notes-item,.info-row,.travel-stage,.service-detail,.route-highlight) > h3 { margin-bottom: 12px; }
:is(.principle,.notes-item,.info-row,.format-detail,.travel-stage,.service-detail,.route-highlight,.route-aside) p { font-size: 18px; line-height: 1.62; }
.info-row { padding-block: 24px; align-items: baseline; }
.info-row > h3 { margin-bottom: 0; }
.notes-grid { border-top: 0; padding-top: 0; gap: 36px clamp(32px,5vw,72px); }
.notes-item { border-top: 1px solid var(--content-rule); padding-top: 24px; }
.notes-item .checks { font-size: 18px; line-height: 1.62; }
.format-grid { border-block: 0; padding-block: 0; }
.format-detail .note { font-size: 16px; line-height: 1.65; }
.travel-stage h3,.route-highlight h3 { font-size: clamp(24px,2vw,28px); line-height: 1.25; }
.service-detail { padding-top: 24px; }
.service-note { padding-block: 24px; }
.route-aside { background: transparent; }
@media(max-width:1000px) {
  .editorial-layout .principles-list:has(> :nth-child(3):last-child),
  .editorial-layout .principles-list:has(> :nth-child(5):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .editorial-layout .principles-list:has(> :nth-child(5):last-child) > :nth-child(n) { grid-column: auto; }
  .editorial-layout .principles-list:has(> :nth-child(3):last-child) > :last-child,
  .editorial-layout .principles-list:has(> :nth-child(5):last-child) > :last-child { grid-column: 1 / -1; }
}
@media(max-width:760px) {
  .editorial-layout .principles-list,
  .editorial-layout .principles-list:has(> :nth-child(3):last-child),
  .editorial-layout .principles-list:has(> :nth-child(5):last-child) { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .editorial-layout .principles-list:has(> :nth-child(3):last-child) > *,
  .editorial-layout .principles-list:has(> :nth-child(5):last-child) > :nth-child(n) { grid-column: auto; }
  .notes-grid { gap: 28px; }
  .notes-item { padding-top: 20px; }
  .info-row { gap: 12px; padding-block: 20px; }
  .info-row > h3 { margin-bottom: 0; }
}

/* Audit refinements: preserve the approved identity, improve the content geometry. */
.enquiry-support { border-top: 1px solid var(--content-rule); padding-block: 24px; }
.enquiry-support > h3 { font: 400 27px/1.2 var(--font-display); margin-bottom: 14px; color: var(--navy); }
.enquiry-support p:last-child { margin-bottom: 0; }
.enquiry-support .clock { font-variant-numeric: tabular-nums; }
.enquiry-support .link { overflow-wrap: anywhere; }
.subnav__short { display: none; }
.retreat-jumps { display: flex; flex-wrap: wrap; gap: 16px 32px; padding-block: 24px; border-bottom: 1px solid var(--content-rule); }
.retreat-jumps a { color: var(--navy); text-underline-offset: 5px; font-size: 16px; }
.page-beyond-the-boardroom :is(#programme,#accommodation,#included,#tailoring) { scroll-margin-top: calc(var(--hdr-h) + 24px); }
.prose h2 { line-height: 1.2; }
/* A single case is an editorial feature, not a spare catalogue tile. */
.grid--center:has(> .card:only-child) { display: block; }
.grid--center > .card:only-child {
  width: 100%; max-width: none; display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px 48px; align-content: center;
}
.grid--center > .card:only-child .card__media { grid-column: 1; grid-row: 1 / span 4; }
.grid--center > .card:only-child > :not(.card__media) { grid-column: 2; margin: 0; align-self: center; }
.grid--center > .card:only-child .card__title { font-size: clamp(28px,3vw,42px); }
/* Keep regional collections and property specifications; remove the heavy outer frame. */
.region { background: transparent; border-radius: 0; padding-bottom: 0; }
.region__media { border-bottom: 0; }
.region__line { padding-inline: 0; padding-top: 22px; }
.region .exp-rows { padding-inline: 0; }
.region > p:last-child { padding-inline: 0; }
.region .exp-rows li { border-bottom: 1px solid var(--content-rule); padding-block: 10px; }
.rep { background: transparent; border: 0; padding: 0; border-radius: 0; }
.rep .dl { border-top: 1px solid var(--content-rule); }
.page-luxury-destinations .crit { grid-template-columns: repeat(6,minmax(0,1fr)); }
.page-luxury-destinations .crit > li { grid-column: span 2; }
.page-luxury-destinations .crit > li:nth-child(n+4) { grid-column: span 3; }
.filters .filter { min-width: 0; }
.filters .filter select { width: 100%; min-width: 0; max-width: 100%; }
@media (max-width: 1024px) {
  .page-enquire .enquire__side { position: static; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
  .enquiry-support { min-width: 0; }
  .enquiry-support > h3 { font-size: 24px; }
}
@media (max-width: 760px) {
  .subnav .wrap { gap: 18px; scrollbar-width: thin; scrollbar-color: var(--gold-500) transparent; }
  .page-corporate-destinations .subnav .wrap { justify-content: space-between; gap: 12px; }
  .subnav__long { display: none; }
  .subnav__short { display: inline; }
  .page-enquire .enquire__side { grid-template-columns: minmax(0,1fr); gap: 0; }
  .grid--center > .card:only-child { display: block; }
  .grid--center > .card:only-child > :not(.card__media) { margin-top: 14px; }
  .index-list a { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .index-list a:hover, .index-list a:focus-visible { padding-left: 0; }
  .destination-location { display: block; line-height: 1.6; }
  .destination-location::before { display: none; }
  .destination-location > a { display: block; margin-bottom: 8px; }
  .retreat-jumps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 24px; }
  .retreat-jumps a { font-size: 15px; padding-block: 6px; }
  .page-luxury-destinations .crit { grid-template-columns: minmax(0,1fr); }
  .page-luxury-destinations .crit > li:nth-child(n) { grid-column: auto; }
}
/* Verified detail refinements: centered single-case text and usable filter tracks. */
@media (min-width: 761px) {
  .grid--center > .card:only-child { grid-template-rows: 1fr auto auto auto 1fr; }
  .grid--center > .card:only-child .card__media { grid-row: 1 / 6; }
  .grid--center > .card:only-child > .meta { grid-row: 2; }
  .grid--center > .card:only-child > .card__title { grid-row: 3; }
  .grid--center > .card:only-child > .card__text { grid-row: 4; }
}
.filters { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 20px; align-items: end; }
.filters .filter { width: 100%; }
.filters > .toggle { grid-column: 1 / 4; justify-self: start; }
.filters > button { grid-column: 5; justify-self: end; }
@media (max-width: 1000px) {
  .filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .filters > .toggle { grid-column: auto; }
  .filters > button { grid-column: auto; }
}
@media (max-width: 640px) {
  .filters { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 22px; gap: 18px 16px; }
  .filters > .filter:first-child { grid-column: 1 / -1; }
  .filters > .toggle { grid-column: 1; }
  .filters > button { grid-column: 2; }
}
@media (max-width: 760px) {
  .page-corporate-destinations .subnav a { letter-spacing: .08em; }
}

/* Enquiry: opened in the visitor's email app (no form backend yet) */
.mail-status { display: grid; gap: 12px; margin-top: 18px; padding: 16px 20px; background: var(--ivory-2); border-top: 2px solid var(--gold-500); color: var(--navy); }
.mail-status:focus { outline: 2px solid var(--gold-700); outline-offset: 4px; }
.mail-status p { margin: 0; }
.mail-status textarea { width: 100%; font: inherit; font-size: .95rem; }
.mail-status .btn { justify-self: start; }

/* Enquiry: honeypot field (hidden from people), Turnstile widget and the thank-you panel */
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cf-turnstile { margin: 18px 0 4px; }
.thanks { display: grid; gap: 12px; padding: 28px 0; justify-items: start; text-align: left; }
.thanks :is(h2, p) { text-align: left; margin-inline: 0; }
.thanks:focus { outline: none; }
