/* Launch audit: semantics and readability, without changing the normal layout. */
html { scroll-padding-top: 90px; }
:where(main, section, article, h1, h2, h3, a, button, input, select, textarea)[id] { scroll-margin-top: 90px; }
body .skip-link, body .legal-skip-link {
  position: fixed;
  z-index: 100000;
  top: 8px;
  left: 12px;
  padding: 12px 18px;
  color: #231a10;
  background: #f5efe3;
  border: 2px solid #231a10;
  border-radius: 4px;
  transform: translateY(-180%);
  transition: none;
}
body .skip-link:focus, body .legal-skip-link:focus { transform: none; }
body :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid #231a10;
  outline-offset: 3px;
  box-shadow: 0 0 0 5px #f5efe3;
}
main:focus { outline: none; }
/* Keep real form labels readable after typing, instead of placeholder-only UI.
   Never override display on the group: Flodesk's hidden honeypots stay hidden. */
body [data-ff-el="root"] .fd-form-group > .fd-form-label {
  position: static;
  display: block !important;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0 0 6px;
  transform: none;
  pointer-events: auto !important;
  color: #231a10 !important;
  white-space: normal;
  text-overflow: clip;
  overflow: visible;
}
body [data-ff-el="root"] .fd-form-group > input { color: #231a10 !important; }
body [data-ff-el="root"] .fd-form-group:has(> .fd-form-label) { height: auto; }
.form-accessibility-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.enquiry-load-fallback { margin: 1em 0; text-align: center; }
.enquiry-load-fallback[hidden] { display: none; }
.article-newsletter-embed,
.article-newsletter-status,
.article-newsletter-actions { width: min(900px, calc(100% - 48px)); margin-inline: auto; }
.article-newsletter-embed { margin-block: 48px 16px; }
.article-newsletter-status { text-align: center; }
.fallback-navigation {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 24px;
  padding: 90px 24px 20px;
  background: #f5efe3;
  color: #231a10;
}
.fallback-navigation a { padding: 8px; text-decoration: underline; }
html.zuvani-js .fallback-navigation { display: none; }
html.zuvani-navigation-failed .fallback-navigation { display: flex; }
html[data-zuvani-navigation-initialized="true"] .fallback-navigation { display: none; }

/* At ordinary text size this is still exactly 276px. Extra text magnification
   can widen an action within its column instead of splitting a single word. */
@media (min-width: 368px) {
  :root { --content-button-width: max(276px, 12rem); }
}

/* A slightly deeper bronze for small text on limestone; artwork is unchanged. */
body :is(.eyebrow, .photo-caption__location, .travel-together__copy > .section-eyebrow,
  .travel-together__status, .designed__label, .designed-plan__title, .designed-plan__highlight,
  .seasonal__copy > .section-label, .collective-invite__copy > .section-label, .collective-status,
  .work-supported__inner > .section-eyebrow, .article-aside > h2, .experience-booking__partner-label,
  .article-details dt) { color: #805a3b; }
body .founder-intro .section-label { color: #805a3b; }
body .collective-invite__copy .collective-status { color: #805a3b !important; }
body .designed-plan :is(#designed-plan-title, .designed-plan__highlight) { color: #704a2f; }
body .legal-callout a { color: #805a3b; }
body .work-supported__note { color: #231a10; }
body .step--three :is(.step__number, .step__icon, h3, p) { color: #231a10; }
body .step--three .step__icon { border-color: #231a10; }

/* Text remains readable when enhancement scripts are unavailable. */
html:not(.zuvani-js) :is(.reveal, .scroll-reveal, .legal-footer__reveal, .zuvani-process__reveal) {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  clip-path: none !important;
}
html:not(.zuvani-js) .article-video { opacity: 1; transform: none; }
html:not(.zuvani-js) .article-video-loader { display: none; }
@media (prefers-reduced-motion: reduce) {
  html, body { scroll-behavior: auto !important; scroll-snap-type: none !important; }
  /* .legal-footer__reveal left out since 27 September 2026: legal-footer.css
     already shows it at once under reduced motion, and the site-wide policy in
     public-refinements.css cross-fades it as it arrives. */
  :is(.word-flow-word, .founder-flow-word, .founder-signature, .reveal, .scroll-reveal,
    .zuvani-process__reveal, .work-supported__inner, .work-supported__inner > *, .savannah__picture) {
    opacity: 1 !important;
    transform: none !important;
    scale: none !important;
    filter: none !important;
    clip-path: none !important;
    animation: none !important;
    transition: none !important;
  }
  .hero-video { visibility: hidden; }
}
