/* Webflow-inspired treatment for the alternate-site sub-pages. */
body.update-subpage {
  --subpage-paper: #ebe5df;
  --subpage-khaki: #b5ab91;
  --subpage-ink: #050505;
  background: var(--subpage-paper);
  color: var(--subpage-ink);
  font-family: "SofiaPro", Arial, Helvetica, sans-serif;
  font-weight: 300;
}

.update-subpage .site-header,
.update-subpage .nav-cascade { display: none !important; }
.update-subpage [hidden] { display: none !important; }
.update-subpage .partner-banner,
.update-subpage .update-header,
.update-subpage .menu-panel { font-family: "SofiaPro", Arial, Helvetica, sans-serif; }
.update-subpage main { padding-top: 0; background: var(--subpage-paper); }
.update-subpage main,
.update-subpage main button,
.update-subpage main input,
.update-subpage main select,
.update-subpage main textarea { font-family: "SofiaPro", Arial, Helvetica, sans-serif; }

/* Media-led page opening shared by the Webflow interior pages. */
.update-subpage .page-hero {
  position: relative;
  min-height: min(860px, 100svh);
  margin: 0;
  overflow: hidden;
  background: #111;
  color: #fff;
}
.update-subpage .page-hero__media {
  position: absolute;
  inset: 0;
  margin: 0;
}
.update-subpage .page-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.12) 24%, rgba(0,0,0,.7));
}
.update-subpage .page-hero__media img,
.update-subpage .page-hero__media video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.update-subpage .page-hero__breadcrumb { display: none; }
.update-subpage .page-hero__caption {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: clamp(45px, 8vw, 105px);
  width: min(calc(100% - 40px), 1225px);
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(250px, .8fr) minmax(360px, 1.2fr);
  gap: clamp(55px, 11vw, 175px);
  align-items: end;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: inherit;
  max-width: 1225px;
  cursor: default;
  transform: translateX(-50%);
  transition: none;
}
.update-subpage .page-hero__caption-overline,
.update-subpage .pcg-lockup {
  grid-column: 1 / -1;
  margin: 0 0 -28px;
  color: rgba(255,255,255,.72);
  text-transform: uppercase;
  letter-spacing: .17em;
  font-size: 10px;
}
.update-subpage .page-hero__caption-headline {
  grid-column: 1;
  margin: 0;
  color: inherit;
  text-transform: uppercase;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif;
  font-size: clamp(36px, 4.4vw, 66px);
  font-style: normal;
  font-weight: 200;
  letter-spacing: -.02em;
  line-height: .98;
}
.update-subpage .page-hero__caption-headline em { font-style: normal; }
.update-subpage .page-hero__caption-reveal {
  grid-column: 2;
  align-self: end;
  max-width: 540px;
  max-height: none !important;
  margin: 0;
  overflow: visible !important;
  opacity: 1 !important;
  transform: none;
  transition: none !important;
}
.update-subpage .page-hero__caption-body {
  margin: 0 0 14px;
  color: rgba(255,255,255,.84);
  font-size: 17px;
  line-height: 1.38;
}
.update-subpage .page-hero__caption-actions { margin: 22px 0 0; }
.update-subpage .page-hero__caption-cue { display: none; }

/* The PCG reference page uses a warm khaki editorial opening. */
.update-page-private-client-group .page-hero {
  min-height: 850px;
  background: var(--subpage-khaki);
  color: #000;
}
.update-page-private-client-group .page-hero::after {
  display: none !important;
}
.update-page-private-client-group .page-hero__media {
  top: 180px;
  right: 5%;
  bottom: 70px;
  left: 58%;
}
.update-page-private-client-group .page-hero__media::after { background: rgba(0,0,0,.08); }
.update-page-private-client-group .page-hero__caption {
  top: 205px;
  bottom: auto;
  grid-template-columns: minmax(0, 560px);
  gap: 35px;
  align-items: start;
}
.update-page-private-client-group .pcg-lockup,
.update-page-private-client-group .page-hero__caption-headline,
.update-page-private-client-group .page-hero__caption-reveal { grid-column: 1; }
.update-page-private-client-group .pcg-lockup { margin: 0; color: rgba(0,0,0,.62); }
.update-page-private-client-group .pcg-lockup__mark { width: 38px; height: 38px; }
.update-page-private-client-group .pcg-lockup__rule {
  display: block;
  width: clamp(44px, 4vw, 60px);
  height: 1px;
  margin: 0;
  background: var(--color-gold, #b8975a);
}
.update-page-private-client-group .page-hero__caption-headline { font-size: clamp(40px, 4.6vw, 68px); }
.update-page-private-client-group .page-hero__caption-body { color: rgba(0,0,0,.76); }
.update-page-private-client-group .page-hero__caption-reveal {
  max-height: none !important;
  overflow: visible !important;
  opacity: 1 !important;
}

/* Long-form editorial rhythm used throughout the Webflow reference. */
.update-subpage .intro-block,
.update-subpage .about-intro,
.update-subpage .editorial-body,
.update-subpage .process-section,
.update-subpage .booking-section,
.update-subpage .feature-cards-section,
.update-subpage .pcg-module,
.update-subpage .pcg-services,
.update-subpage .team-bench,
.update-subpage .faq-register,
.update-subpage .press-journal,
.update-subpage .occasions-roster,
.update-subpage .pillars-section,
.update-subpage .compare-section,
.update-subpage .quote-section,
.update-subpage .section--rooms,
.update-subpage .editorial-split,
.update-subpage .commission-body {
  padding: clamp(105px, 12vw, 175px) 20px;
  background: var(--subpage-paper);
}
.update-subpage .intro-block__inner,
.update-subpage .about-intro__inner,
.update-subpage .editorial-body__inner,
.update-subpage .container,
.update-subpage .pcg-module__inner,
.update-subpage .pcg-services__inner,
.update-subpage .team-bench__inner,
.update-subpage .faq-register__inner,
.update-subpage .press-journal__inner,
.update-subpage .occasions-roster__inner,
.update-subpage .editorial-pillars__inner,
.update-subpage .legal-hero__inner,
.update-subpage .legal-doc__inner,
.update-subpage .commission-hero__inner,
.update-subpage .commission-body__column {
  width: min(100%, 1225px);
  margin-inline: auto;
}
.update-subpage .intro-block__lead,
.update-subpage .editorial-body__column,
.update-subpage .about-intro__inner > p,
.update-subpage .commission-body__stanza {
  font-family: "SofiaPro", Arial, Helvetica, sans-serif;
  font-size: clamp(27px, 3vw, 43px);
  font-weight: 200;
  line-height: 1.18;
}
.update-subpage .intro-block__body,
.update-subpage .editorial-body__column p,
.update-subpage .about-intro__inner > p + p {
  max-width: 740px;
  font-size: 18px;
  line-height: 1.45;
}
.update-subpage .intro-block__eyebrow,
.update-subpage .section-header .gold,
.update-subpage .contact-single__eyebrow {
  color: rgba(0,0,0,.58);
  text-transform: uppercase;
  letter-spacing: .17em;
  font-size: 10px;
}
.update-subpage .typo-headline-l,
.update-subpage .pcg-module__headline,
.update-subpage .pcg-services__title,
.update-subpage .contact-single__title {
  margin: 0;
  text-transform: uppercase;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif;
  font-size: clamp(33px, 4vw, 58px);
  font-weight: 200;
  line-height: 1.06;
}

/* Repeating cards and pillars. */
.update-subpage .editorial-pillars { padding: 0 20px 150px; background: var(--subpage-paper); }
.update-subpage .editorial-pillars__inner,
.update-subpage .process-grid,
.update-subpage .pillars-grid,
.update-subpage .pcg-services__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(0,0,0,.28);
}
.update-subpage .editorial-pillars__pillar,
.update-subpage .process-step,
.update-subpage .pillar,
.update-subpage .pcg-service {
  min-height: 340px;
  display: flex;
  flex-direction: column;
  padding: 20px 30px 32px;
  border-right: 1px solid rgba(0,0,0,.22);
}
.update-subpage .editorial-pillars__pillar:first-child,
.update-subpage .process-step:first-child,
.update-subpage .pillar:first-child,
.update-subpage .pcg-service:first-child { padding-left: 0; }
.update-subpage .editorial-pillars__pillar:last-child,
.update-subpage .process-step:last-child,
.update-subpage .pillar:last-child,
.update-subpage .pcg-service:last-child { border-right: 0; }
.update-subpage .editorial-pillars__lede,
.update-subpage .process-step__title,
.update-subpage .pillar__title,
.update-subpage .pcg-service__name {
  margin: auto 0 18px;
  text-transform: uppercase;
  font-size: 24px;
  font-weight: 200;
  line-height: 1.13;
}
.update-subpage .editorial-pillars__body,
.update-subpage .process-step__body,
.update-subpage .pillar__body,
.update-subpage .pcg-service__body { margin: 0; font-size: 15px; line-height: 1.45; }
.update-subpage .editorial-pillars__icon,
.update-subpage .pcg-service__icon { width: 42px; height: 42px; }

.update-page-owners .editorial-pillars {
  padding-top: 135px;
  background: #000;
  color: #fff;
}
.update-page-owners .editorial-pillars__inner { grid-template-columns: repeat(4, minmax(0,1fr)); border-color: rgba(255,255,255,.32); }
.update-page-owners .editorial-pillars__pillar { border-color: rgba(255,255,255,.23); }

/* PCG modules mirror the reference page's warm, image-led composition. */
.update-subpage .pcg-module__inner { display: grid; grid-template-columns: 1fr .9fr; gap: clamp(60px, 10vw, 150px); align-items: center; }
.update-subpage .pcg-module__body { font-size: 17px; line-height: 1.45; }
.update-subpage .pcg-module__media { margin: 0; aspect-ratio: .92; overflow: hidden; }
.update-subpage .pcg-module__media img { width: 100%; height: 100%; object-fit: cover; }
.update-subpage .pcg-services { background: var(--subpage-khaki); }
.update-subpage .pcg-services__title { max-width: 700px; margin-bottom: 100px; }
.update-subpage .pcg-services__grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.update-subpage .pcg-closing,
.update-subpage .coda,
.update-subpage .commission-close {
  min-height: 430px;
  display: grid;
  place-items: center;
  padding: 90px 20px;
  background: #000;
  color: #fff;
  text-align: center;
}
.update-subpage .pcg-closing__inner { width: min(100%, 960px); }
.update-subpage .pcg-closing__line,
.update-subpage .coda__line,
.update-subpage .commission-close__line { margin: 0; font-size: clamp(30px, 4vw, 56px); font-weight: 200; line-height: 1.1; }
.update-subpage .coda a,
.update-subpage .pcg-closing a { color: inherit; text-underline-offset: 5px; }

/* Forms retain the current backend and field contract, with Webflow styling. */
.update-subpage .booking-section { background: #f7f5f2; }
.update-subpage .booking-section .section-header { width: min(100%, 1225px); margin: 0 auto 80px; }
.update-subpage .booking-form,
.update-subpage .contact-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 34px 24px;
  padding: 0;
  border: 0;
  background: transparent;
}
.update-subpage .form-field { display: flex; flex-direction: column; gap: 10px; }
.update-subpage .form-field--full { grid-column: 1 / -1; }
.update-subpage .form-field > label { text-transform: uppercase; letter-spacing: .13em; font-size: 10px; }
.update-subpage .form-field input:not([type="checkbox"]),
.update-subpage .form-field select,
.update-subpage .form-field textarea {
  width: 100%;
  min-height: 54px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid rgba(0,0,0,.4);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: #000;
  font: inherit;
  font-size: 17px;
}
.update-subpage .form-field textarea { min-height: 100px; resize: vertical; }
.update-subpage .form-field input:focus,
.update-subpage .form-field select:focus,
.update-subpage .form-field textarea:focus { border-bottom-color: #000; box-shadow: 0 1px 0 #000; }
.update-subpage .booking-form__actions,
.update-subpage .contact-form__actions { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; margin-top: 25px; }
.update-subpage .btn--primary {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 24px;
  border: 1px solid #000;
  border-radius: 100px;
  background: #000;
  color: #fff;
  text-decoration: none;
  text-transform: none;
}
.update-subpage .contact-single { padding: 130px 20px 170px; background: var(--subpage-paper); }
.update-subpage .contact-single__inner { width: min(100%, 1225px); display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(65px, 10vw, 150px); margin: 0 auto; }
.update-subpage .contact-single__details { margin: 45px 0; font-size: 17px; }
.update-subpage .contact-single__privacy { font-size: 13px; }

/* FAQs, team roster, press, and legal copy. */
.update-subpage .faq-register__entry { border-top: 1px solid rgba(0,0,0,.28); }
.update-subpage .faq-register__entry:last-child { border-bottom: 1px solid rgba(0,0,0,.28); }
.update-subpage .faq-register__entry summary { position: relative; padding: 29px 55px 29px 0; cursor: pointer; list-style: none; text-transform: uppercase; font-family: "SofiaPro", Arial, Helvetica, sans-serif; font-size: 21px; font-weight: 200; }
.update-subpage .faq-register__entry summary::-webkit-details-marker { display: none; }
.update-subpage .faq-register__entry summary::after { content: "+"; position: absolute; top: 23px; right: 3px; font-size: 28px; font-weight: 200; }
.update-subpage .faq-register__entry[open] summary::after { content: "−"; }
.update-subpage .faq-register__answer { max-width: 850px; margin: 0; padding: 0 0 35px; font-family: "SofiaPro", Arial, Helvetica, sans-serif; font-size: 17px; line-height: 1.55; }
.update-subpage .team-bench__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(0,0,0,.3); }
.update-subpage .team-bench__member { border-bottom: 1px solid rgba(0,0,0,.3); }
.update-subpage .team-bench__trigger { width: 100%; display: grid; grid-template-columns: 1.3fr 1fr; gap: 30px; padding: 25px 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.update-subpage .team-bench__name { text-transform: uppercase; font-size: 23px; font-weight: 200; }
.update-subpage .team-detail { display: grid; grid-template-columns: 280px 1fr; gap: 40px; padding: 0 0 38px; }
.update-subpage .team-detail[aria-hidden="true"] { display: none; }
.update-subpage .team-detail__media { margin: 0; aspect-ratio: .82; overflow: hidden; }
.update-subpage .team-detail__media img { width: 100%; height: 100%; object-fit: cover; }
.update-subpage .team-detail__bio { max-width: 680px; margin: 0; font-size: 16px; line-height: 1.5; }

.update-subpage .legal-hero,
.update-subpage .commission-hero {
  padding: 235px 20px 100px;
  background: var(--subpage-paper);
}
.update-subpage .legal-hero__title,
.update-subpage .commission-hero__title {
  max-width: 1050px;
  margin: 0;
  text-transform: uppercase;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif;
  font-size: clamp(43px, 6vw, 88px);
  font-weight: 200;
  line-height: .98;
}
.update-subpage .legal-hero__lede,
.update-subpage .commission-hero__lede { max-width: 760px; margin-top: 35px; font-size: 18px; line-height: 1.48; }
.update-subpage .legal-hero,
.update-subpage .legal-hero__eyebrow,
.update-subpage .legal-hero__title,
.update-subpage .legal-hero__lede {
  color: #000 !important;
}
.update-subpage .legal-doc { padding: 40px 20px 150px; background: var(--subpage-paper); }
.update-subpage .legal-doc__inner { max-width: 900px; }
.update-subpage .legal-doc h2 { margin: 72px 0 18px; text-transform: uppercase; font-size: 25px; font-weight: 200; }
.update-subpage .legal-doc h3 { margin-top: 42px; font-size: 18px; font-weight: 400; }
.update-subpage .legal-doc p,
.update-subpage .legal-doc li { font-size: 15px; line-height: 1.65; }
.update-subpage .legal-doc a {
  color: inherit;
  text-decoration-line: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}

/* Keep the current content footer while bringing it into the reference palette. */
.update-subpage .site-footer { background: #000; color: #fff; }
.update-subpage .footer-inner { width: min(100%, 1225px); margin: 0 auto; padding-inline: 20px; }
.update-subpage .footer__signup { padding-top: 115px; }
.update-subpage .footer__signup-form input { color: #fff; border-color: rgba(255,255,255,.5); background: transparent; }
.update-subpage .footer__nav { padding-block: 90px; border-color: rgba(255,255,255,.23); }
.update-subpage .footer__nav a,
.update-subpage .footer__legal a { color: inherit; }
.update-subpage .footer__carrier,
.update-subpage .footer__legal { color: rgba(255,255,255,.62); }

@media (max-width: 991px) {
  .update-subpage .page-hero__caption { grid-template-columns: 1fr; gap: 24px; }
  .update-subpage .page-hero__caption-overline,
  .update-subpage .pcg-lockup { margin-bottom: 0; }
  .update-subpage .page-hero__caption-headline,
  .update-subpage .page-hero__caption-reveal { grid-column: 1; }
  .update-page-private-client-group .page-hero__media { left: 52%; opacity: .72; }
  .update-page-private-client-group .page-hero__caption { width: calc(100% - 50px); }
  .update-subpage .editorial-pillars__inner,
  .update-subpage .process-grid,
  .update-subpage .pillars-grid,
  .update-subpage .pcg-services__grid,
  .update-page-owners .editorial-pillars__inner { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .update-subpage .pcg-module__inner,
  .update-subpage .contact-single__inner { grid-template-columns: 1fr; }
  .update-subpage .pcg-module__media { max-width: 600px; }
}

@media (max-width: 767px) {
  .update-subpage .page-hero { min-height: 780px; }
  .update-subpage .page-hero__caption { bottom: 42px; width: calc(100% - 32px); }
  .update-subpage .page-hero__caption-headline { font-size: 36px; }
  .update-subpage .page-hero__caption-body { font-size: 15px; }
  .update-page-private-client-group .page-hero { min-height: 900px; }
  .update-page-private-client-group .page-hero__media { top: 465px; right: 16px; bottom: 35px; left: 16px; }
  .update-page-private-client-group .page-hero__caption { top: 150px; width: calc(100% - 32px); }
  .update-subpage .intro-block,
  .update-subpage .about-intro,
  .update-subpage .editorial-body,
  .update-subpage .process-section,
  .update-subpage .booking-section,
  .update-subpage .feature-cards-section,
  .update-subpage .pcg-module,
  .update-subpage .pcg-services,
  .update-subpage .team-bench,
  .update-subpage .faq-register,
  .update-subpage .press-journal,
  .update-subpage .occasions-roster,
  .update-subpage .pillars-section,
  .update-subpage .compare-section,
  .update-subpage .quote-section,
  .update-subpage .section--rooms,
  .update-subpage .editorial-split,
  .update-subpage .commission-body { padding: 90px 16px; }
  .update-subpage .editorial-pillars { padding: 0 16px 95px; }
  .update-subpage .editorial-pillars__inner,
  .update-subpage .process-grid,
  .update-subpage .pillars-grid,
  .update-subpage .pcg-services__grid,
  .update-page-owners .editorial-pillars__inner { grid-template-columns: 1fr; }
  .update-subpage .editorial-pillars__pillar,
  .update-subpage .process-step,
  .update-subpage .pillar,
  .update-subpage .pcg-service,
  .update-subpage .editorial-pillars__pillar:first-child,
  .update-subpage .process-step:first-child,
  .update-subpage .pillar:first-child,
  .update-subpage .pcg-service:first-child { min-height: 255px; padding: 18px 0 28px; border-right: 0; border-bottom: 1px solid rgba(0,0,0,.22); }
  .update-page-owners .editorial-pillars__pillar { border-color: rgba(255,255,255,.23); }
  .update-subpage .booking-form,
  .update-subpage .contact-form { grid-template-columns: 1fr; }
  .update-subpage .form-field,
  .update-subpage .form-field--full { grid-column: 1; }
  .update-subpage .booking-form__actions,
  .update-subpage .contact-form__actions { align-items: flex-start; flex-direction: column; }
  .update-subpage .contact-single { padding: 90px 16px 110px; }
  .update-subpage .team-bench__trigger { grid-template-columns: 1fr; gap: 6px; }
  .update-subpage .team-detail { grid-template-columns: 1fr; }
  .update-subpage .team-detail__media { max-width: 280px; }
  .update-subpage .legal-hero,
  .update-subpage .commission-hero { padding: 175px 16px 75px; }
  .update-subpage .legal-doc { padding: 15px 16px 100px; }
}

/* --------------------------------------------------------------------------
   Page-specific Webflow compositions (v2)
   The reference site does not use one interchangeable interior-page hero.
   These rules retain the current FlyHouse copy, media, and form contracts,
   while matching the composition of each corresponding Webflow page.
   -------------------------------------------------------------------------- */

/* Shared paper openings used by Press, Owners, Team, Careers, Contact, FAQs. */
.update-page-news .page-hero,
.update-page-owners .page-hero,
.update-page-team .page-hero,
.update-page-careers .page-hero,
.update-page-about .page-hero,
.update-page-contact .page-hero,
.update-page-faqs .page-hero {
  min-height: 0;
  overflow: visible;
  background: var(--subpage-paper);
  color: var(--subpage-ink);
}

.update-page-news .page-hero__media::after,
.update-page-owners .page-hero__media::after,
.update-page-team .page-hero__media::after,
.update-page-careers .page-hero__media::after,
.update-page-about .page-hero__media::after,
.update-page-contact .page-hero__media::after,
.update-page-faqs .page-hero__media::after {
  display: none;
}

.update-page-news .page-hero::after,
.update-page-owners .page-hero::after,
.update-page-team .page-hero::after,
.update-page-careers .page-hero::after,
.update-page-about .page-hero::after,
.update-page-contact .page-hero::after,
.update-page-faqs .page-hero::after {
  display: none !important;
}

.update-page-news .page-hero__caption,
.update-page-owners .page-hero__caption,
.update-page-team .page-hero__caption,
.update-page-careers .page-hero__caption,
.update-page-about .page-hero__caption,
.update-page-contact .page-hero__caption,
.update-page-faqs .page-hero__caption {
  position: relative;
  inset: auto;
  width: min(calc(100% - 40px), 1225px);
  color: var(--subpage-ink);
  transform: none;
}

.update-page-news .page-hero__caption-overline,
.update-page-owners .page-hero__caption-overline,
.update-page-team .page-hero__caption-overline,
.update-page-careers .page-hero__caption-overline,
.update-page-about .page-hero__caption-overline,
.update-page-contact .page-hero__caption-overline,
.update-page-faqs .page-hero__caption-overline {
  color: rgba(0, 0, 0, .56);
}

.update-page-news .page-hero__caption-body,
.update-page-owners .page-hero__caption-body,
.update-page-team .page-hero__caption-body,
.update-page-careers .page-hero__caption-body,
.update-page-about .page-hero__caption-body,
.update-page-contact .page-hero__caption-body,
.update-page-faqs .page-hero__caption-body {
  color: rgba(0, 0, 0, .76);
}

.update-page-news .page-hero__caption-reveal,
.update-page-owners .page-hero__caption-reveal,
.update-page-team .page-hero__caption-reveal,
.update-page-careers .page-hero__caption-reveal,
.update-page-about .page-hero__caption-reveal,
.update-page-contact .page-hero__caption-reveal,
.update-page-faqs .page-hero__caption-reveal {
  max-height: none !important;
  overflow: visible !important;
  opacity: 1 !important;
}

/* News / Press — title followed by the three-column image journal. */
.update-page-news .page-hero {
  padding: 152px 0 26px;
}
.update-page-news .page-hero__media,
.update-page-news .page-hero__caption-overline,
.update-page-news .page-hero__caption-reveal {
  display: none;
}
.update-page-news .page-hero__caption {
  display: block;
  max-width: none;
  margin: 0 auto;
  padding: 0;
}
.update-page-news .page-hero__caption-headline {
  margin: 0;
  color: #000;
  font-size: clamp(40px, 3.55vw, 45px);
  font-weight: 200;
  line-height: 1;
}
.update-page-news .editorial-body {
  padding: 0 20px 52px;
}
.update-page-news .editorial-body__column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  max-width: 1000px;
  width: 100%;
  margin: 0;
  color: #000;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.48;
}
.update-page-news .editorial-body__inner {
  display: block;
  width: min(100%, 1225px);
  max-width: none;
  padding: 0;
}
.update-page-news .editorial-body__column p {
  margin: 0;
  color: #000 !important;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif !important;
  font-style: normal;
  font-size: inherit;
  line-height: inherit;
}
.update-page-news .press-journal {
  padding: 0 20px 145px;
  background: var(--subpage-paper);
}
.update-page-news .press-journal__inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 88px 30px;
  width: min(100%, 1225px);
  max-width: none;
  padding: 0;
  border: 0 !important;
}
.update-page-news .press-journal__entry {
  min-width: 0;
  display: flex !important;
  flex-direction: column;
  gap: 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #000 !important;
  cursor: default;
}
.update-page-news .press-journal__entry::before,
.update-page-news .press-journal__entry::after {
  display: none !important;
}
.update-page-news .press-detail {
  display: contents !important;
  max-height: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.update-page-news .press-detail__media {
  order: -3;
  width: 100%;
  aspect-ratio: 1.86;
  margin: 0 0 20px !important;
  overflow: hidden;
  background: #d8d3ce;
}
.update-page-news .press-detail__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.22,.61,.36,1);
}
.update-page-news .press-journal__entry:hover .press-detail__media img {
  transform: scale(1.025);
}
.update-page-news .press-journal__content {
  order: -2;
  display: block !important;
  padding: 0 !important;
}
.update-page-news .press-journal__headline {
  margin: 0 0 12px !important;
  color: #000 !important;
  text-transform: uppercase;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  font-style: normal !important;
  font-weight: 200 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
}
.update-page-news .press-journal__meta {
  order: -1;
  display: flex !important;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  color: rgba(0, 0, 0, .58) !important;
  text-transform: uppercase;
  font-size: 11px !important;
  font-weight: 200;
  letter-spacing: .04em;
  line-height: 1.3;
}
.update-page-news .press-journal__summary {
  margin: 0 !important;
  color: rgba(0, 0, 0, .76) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
.update-page-news .press-detail__body {
  display: none !important;
}
.update-page-news .coda {
  min-height: 360px;
  background: #b5ab91;
  color: #000;
}

/* Owners — centered paper introduction, full-width media, editorial economics. */
.update-page-owners .page-hero {
  display: grid;
  grid-template-rows: auto 580px;
  padding: 135px 0 0;
}
.update-page-owners .page-hero__caption {
  grid-row: 1;
  min-height: 148px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  max-width: 940px;
  margin: 0 auto 27px;
  padding: 0 20px;
  text-align: center;
}
.update-page-owners .page-hero__caption-overline {
  display: block;
  margin: 0 0 8px;
}
.update-page-owners .page-hero__caption-headline {
  max-width: 880px;
  margin: 0 auto;
  color: #000;
  font-size: clamp(38px, 3.55vw, 45px);
  line-height: 1.2;
}
.update-page-owners .page-hero__caption-reveal {
  display: block;
  width: 100%;
  max-width: 780px;
  margin: 10px auto 0;
}
.update-page-owners .page-hero__caption-body {
  margin: 0;
  font-size: 17px;
}
.update-page-owners .page-hero__media {
  position: relative;
  inset: auto;
  grid-row: 2;
  width: 100vw;
  height: 100%;
  margin: 0 0 0 50%;
  overflow: hidden;
  transform: translateX(-50%);
}
.update-page-owners .page-hero__media img {
  object-position: center 58%;
}
.update-page-owners .editorial-body {
  padding: 145px 20px;
}
.update-page-owners .page-hero + .editorial-body {
  padding-top: 100px;
}
.update-page-owners .editorial-body__inner {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(70px, 11vw, 160px);
  width: min(100%, 1225px);
  max-width: none;
  padding: 0;
  color: #000;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif;
}
.update-page-owners .editorial-body__inner::before {
  content: "A NEW TYPE OF OWNER PROGRAM";
  display: block;
  max-width: 390px;
  color: #000 !important;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif !important;
  text-transform: uppercase;
  font-size: clamp(33px, 3.8vw, 54px);
  font-weight: 200;
  line-height: 1.05;
}
.update-page-owners .editorial-body__column {
  max-width: 620px;
  font-size: 17px;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif;
  line-height: 1.5;
}
.update-page-owners .editorial-body__column p {
  max-width: none;
  margin: 0 0 25px;
  color: inherit;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif !important;
  font-style: normal;
  font-size: inherit;
  line-height: inherit;
}
.update-page-owners .editorial-pillars {
  padding: 55px 20px 150px;
  background: var(--subpage-paper);
  color: #000;
}
.update-page-owners .editorial-pillars__inner {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-color: rgba(0, 0, 0, .3);
}
.update-page-owners .editorial-pillars__pillar {
  min-height: 430px;
  border-color: rgba(0, 0, 0, .24);
  color: #000 !important;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif;
}
.update-page-owners .editorial-pillars__pillar * {
  color: inherit !important;
}
.update-page-owners .editorial-pillars__eyebrow {
  color: #9b720c !important;
}
.update-page-owners .editorial-pillars__lede {
  margin-top: auto;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif !important;
  font-style: normal;
  font-size: 22px;
}
.update-page-owners .editorial-pillars__body {
  font-family: "SofiaPro", Arial, Helvetica, sans-serif !important;
  font-style: normal;
}
.update-page-owners .editorial-body:nth-of-type(4) {
  background: #000;
  color: #fff;
}
.update-page-owners .editorial-body:nth-of-type(4) .editorial-body__inner::before {
  content: "SO, WHERE DO WE MAKE OUR MONEY?";
  color: #fff !important;
}
.update-page-owners .editorial-body:nth-of-type(4) .editorial-body__column,
.update-page-owners .editorial-body:nth-of-type(4) .editorial-body__column p,
.update-page-owners .editorial-body:nth-of-type(4) .editorial-body__column em,
.update-page-owners .editorial-body:nth-of-type(4) .editorial-body__column strong {
  color: #fff !important;
}
.update-page-owners .editorial-body:nth-of-type(4) .editorial-body__column p:first-child {
  display: none;
}
.update-page-owners .coda {
  min-height: 560px;
  background: var(--subpage-paper);
  color: #000 !important;
}
.update-page-owners .coda__line,
.update-page-owners .coda__line a {
  color: #000 !important;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif !important;
  font-style: normal;
}

/* Team, Careers, and About share the reference site's centered story opening. */
.update-page-team .page-hero,
.update-page-careers .page-hero,
.update-page-about .page-hero {
  display: grid;
  grid-template-rows: auto clamp(360px, 46vw, 650px);
  padding-top: 145px;
}
.update-page-team .page-hero {
  padding-bottom: 0;
}
.update-page-team .page-hero__caption,
.update-page-careers .page-hero__caption,
.update-page-about .page-hero__caption {
  grid-row: 1;
  display: block;
  max-width: 980px;
  margin: 0 auto;
  padding: 34px 20px 68px;
  text-align: center;
}
.update-page-team .page-hero__caption-overline,
.update-page-careers .page-hero__caption-overline,
.update-page-about .page-hero__caption-overline {
  display: block;
  margin: 0 0 18px;
}
.update-page-team .page-hero__caption-headline,
.update-page-careers .page-hero__caption-headline,
.update-page-about .page-hero__caption-headline {
  margin: 0 auto;
  color: #000;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1;
}
.update-page-team .page-hero__caption-reveal,
.update-page-careers .page-hero__caption-reveal,
.update-page-about .page-hero__caption-reveal {
  display: block;
  max-width: 760px;
  margin: 23px auto 0;
}
.update-page-team .page-hero__caption-body,
.update-page-careers .page-hero__caption-body,
.update-page-about .page-hero__caption-body {
  margin: 0;
  font-size: 17px;
}
.update-page-team .page-hero__media,
.update-page-careers .page-hero__media,
.update-page-about .page-hero__media {
  position: relative;
  inset: auto;
  grid-row: 2;
  width: min(calc(100% - 40px), 940px);
  height: 100%;
  margin: 0 auto;
  overflow: hidden;
}
.update-page-team .page-hero__media img,
.update-page-careers .page-hero__media img,
.update-page-about .page-hero__media img {
  object-position: center;
}
.update-page-team .editorial-body,
.update-page-careers .editorial-body,
.update-page-about .about-intro {
  padding-top: 115px;
  padding-bottom: 115px;
  text-align: center;
}
.update-page-team .editorial-body {
  padding-top: 50px;
}
.update-page-team .editorial-body__column,
.update-page-careers .editorial-body__column,
.update-page-about .about-intro__inner {
  max-width: 850px;
  margin: 0 auto;
}
.update-page-team .editorial-body__column,
.update-page-team .editorial-body__column p,
.update-page-careers .editorial-body__column,
.update-page-careers .editorial-body__column p,
.update-page-about .about-intro__inner,
.update-page-about .about-intro__inner p {
  color: #000;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif !important;
  font-style: normal;
}

/* The Webflow team is an image-led executive grid, not a text-only accordion. */
.update-page-team .team-bench {
  padding-top: 70px;
}
.update-page-team .team-bench__inner {
  width: 100%;
  max-width: 1380px;
  padding: 0;
}
.update-page-team .team-bench__eyebrow {
  display: none;
}
.update-page-team .team-bench__lede {
  margin: 0 0 45px;
  text-transform: uppercase;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif !important;
  font-style: normal;
  font-size: 45px;
  font-weight: 200;
  line-height: 1.2;
}
.update-page-team .team-bench__roster {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 80px 30px;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}
.update-page-team .team-bench__member {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 0;
  border: 0;
  background: transparent !important;
}
.update-page-team .team-bench__member:hover,
.update-page-team .team-bench__member:focus-within,
.update-page-team .team-bench__member.is-open {
  background: transparent !important;
}
.update-page-team .team-detail,
.update-page-team .team-detail[aria-hidden="true"] {
  display: contents !important;
}
.update-page-team .team-detail__media {
  position: relative;
  order: -1;
  flex: none;
  align-self: flex-start;
  width: 100%;
  max-width: none;
  aspect-ratio: 440 / 500;
  height: auto !important;
  min-height: 0;
  margin: 0 0 23px;
  overflow: hidden;
  background: #d8d3ce;
}
.update-page-team .team-detail__media img,
.update-page-team .team-bench__member:hover .team-detail__media img,
.update-page-team .team-bench__member:focus-within .team-detail__media img,
.update-page-team .team-bench__member.is-open .team-detail__media img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  filter: none !important;
  transform: none !important;
  transition: none !important;
}
.update-page-team .team-detail__body {
  order: 1;
  display: block !important;
  width: 100%;
  margin: 0;
  color: rgba(0, 0, 0, .74);
  font-family: "SofiaPro", Arial, Helvetica, sans-serif !important;
  font-style: normal;
}
.update-page-team .team-detail__bio {
  max-width: none;
  margin: 0;
  color: inherit;
  font-family: inherit !important;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 1.5;
}
.update-page-team .team-bench__trigger {
  order: 0;
  display: block;
  padding: 0;
  cursor: default;
  pointer-events: none;
}
.update-page-team .team-bench__name,
.update-page-team .team-bench__title {
  display: block;
  color: #000;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif !important;
  font-style: normal;
  text-transform: uppercase;
}
.update-page-team .team-bench__name {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 200;
  line-height: 1.2;
}
.update-page-team .team-bench__title {
  margin: 0 0 17px;
  color: #000;
  font-size: 12px;
  font-weight: 200;
  letter-spacing: 0;
  line-height: 1.2;
}
.update-page-team .team-bench__member:hover .team-bench__name,
.update-page-team .team-bench__member:hover .team-bench__title,
.update-page-team .team-bench__member:focus-within .team-bench__name,
.update-page-team .team-bench__member:focus-within .team-bench__title,
.update-page-team .team-bench__member.is-open .team-bench__name,
.update-page-team .team-bench__member.is-open .team-bench__title {
  color: #000 !important;
}

/* Careers — four benefit blocks, then a quiet paper CTA. */
.update-page-careers .editorial-pillars {
  padding-top: 45px;
}
.update-page-careers .editorial-pillars__inner {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.update-page-careers .editorial-pillars__pillar {
  min-height: 300px;
  border-bottom: 1px solid rgba(0, 0, 0, .22);
}
.update-page-careers .coda--career-future {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 28px;
  background: #b5ab91;
  color: #000;
}
.update-page-careers .coda--career-future .coda__line,
.update-page-careers .coda--career-future a {
  color: inherit !important;
}
.update-page-careers .coda--career-actions {
  display: flex;
  justify-content: center;
}

/* Contact — compact Webflow composition: details/media, then a wide two-column form. */
.update-page-contact .page-hero {
  height: 380px;
  min-height: 380px;
  padding: 0;
}
.update-page-contact .page-hero__media {
  position: absolute;
  top: 48px;
  right: max(20px, calc((100vw - 1000px) / 2));
  bottom: auto;
  left: auto;
  width: min(38.2vw, 483px);
  height: 330px;
  overflow: hidden;
}
.update-page-contact .page-hero__media img {
  object-position: center;
}
.update-page-contact .page-hero__caption {
  display: block;
  width: min(calc(100% - 40px), 1000px);
  max-width: 1000px;
  margin: 0 auto;
  padding: 146px 0 0;
}
.update-page-contact .page-hero__caption-overline {
  display: none;
}
.update-page-contact .contact-hero__title {
  width: min(38.2vw, 483px);
  margin: 0 0 22px;
  color: #000;
  text-transform: uppercase;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif;
  font-size: 37px;
  font-weight: 200;
  line-height: 1.2;
}
.update-page-contact .contact-hero__details {
  width: min(38.2vw, 483px);
  color: #000;
  font-size: 17px;
  line-height: 1.45;
}
.update-page-contact .contact-hero__details p {
  margin: 0 0 14px;
}
.update-page-contact .contact-hero__details a,
.update-page-contact .contact-form__privacy a {
  color: inherit;
  text-decoration-line: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}
.update-page-contact .page-hero__caption-headline,
.update-page-contact .page-hero__caption-reveal {
  display: none;
}
.update-page-contact .contact-single {
  padding: 24px 20px 140px;
}
.update-page-contact .contact-single__inner {
  width: min(100%, 1000px);
  display: block;
  margin: 0 auto;
  padding: 0;
}
.update-page-contact .contact-single__intro {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px;
  align-items: start;
  margin: 0 0 24px;
  padding: 0;
}
.update-page-contact .contact-single__story {
  max-width: 483px;
}
.update-page-contact .contact-single__story-title {
  margin: 0 0 8px;
  color: #000;
  text-transform: uppercase;
  font-size: 20px;
  font-weight: 200;
  line-height: 1.2;
}
.update-page-contact .contact-single__story-copy {
  margin: 0;
  color: rgba(0, 0, 0, .72);
  font-size: 14px;
  line-height: 1.45;
}
.update-page-contact .contact-single__title {
  font-size: 28px;
  line-height: 1.2;
}
.update-page-contact .contact-single__eyebrow,
.update-page-contact .contact-single__details,
.update-page-contact .contact-single__intro > .contact-single__privacy {
  display: none;
}
.update-page-contact .contact-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: auto;
  gap: 6px 34px !important;
}
.update-page-contact .contact-form .form-field {
  min-height: 86px;
  justify-content: center;
  padding: 14px 24px 12px;
  border-radius: 17px;
}
.update-page-contact .contact-form .form-field--name {
  grid-column: 1;
  grid-row: 1;
}
.update-page-contact .contact-form .form-field--email {
  grid-column: 1;
  grid-row: 2;
}
.update-page-contact .contact-form .form-field--phone {
  grid-column: 1;
  grid-row: 3;
}
.update-page-contact .contact-form .form-field--message {
  min-height: 270px;
  grid-column: 2;
  grid-row: 1 / span 3;
  justify-content: flex-start;
}
.update-page-contact .contact-form .form-field--message textarea {
  min-height: 220px !important;
  resize: none;
}
.update-page-contact .contact-form .form-field--discovery,
.update-page-contact .contact-form .form-field--work,
.update-page-contact .contact-form .sms-opt-in {
  grid-column: 1 / -1;
}
.update-page-contact .contact-form__actions {
  align-items: center;
  margin-top: 17px;
}
.update-page-contact .contact-form__actions > .btn {
  order: 2;
  min-width: 117px;
  min-height: 36px;
  padding: 8px 35px;
}
.update-page-contact .contact-form__meta {
  order: 1;
  max-width: 620px;
}
.update-page-contact .contact-form__privacy {
  margin: 0;
  color: rgba(0, 0, 0, .62);
  font-size: 12px;
  line-height: 1.45;
}
.update-page-contact .contact-form__privacy a {
  color: inherit;
  text-underline-offset: 2px;
}

/* Webflow's forms use soft white cards and large rounded controls. */
.update-subpage .booking-form,
.update-subpage .contact-form {
  gap: 16px !important;
}
.update-subpage .booking-form .form-field,
.update-subpage .contact-form .form-field {
  min-width: 0;
  gap: 5px;
  padding: 15px 22px 12px;
  border: 1px solid transparent;
  border-radius: 18px;
  background: rgba(255, 255, 255, .94);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.update-subpage .booking-form .form-field:focus-within,
.update-subpage .contact-form .form-field:focus-within {
  border-color: rgba(0, 0, 0, .35);
  box-shadow: 0 8px 30px rgba(0, 0, 0, .05);
}
.update-subpage .booking-form .form-field > label,
.update-subpage .contact-form .form-field > label {
  color: rgba(0, 0, 0, .58) !important;
  font-size: 9px;
}
.update-subpage .booking-form .form-field input:not([type="checkbox"]),
.update-subpage .booking-form .form-field select,
.update-subpage .booking-form .form-field textarea,
.update-subpage .contact-form .form-field input:not([type="checkbox"]),
.update-subpage .contact-form .form-field select,
.update-subpage .contact-form .form-field textarea {
  min-height: 38px !important;
  padding: 3px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #000 !important;
  box-shadow: none !important;
  font-size: 17px !important;
}
.update-subpage .booking-form .form-field textarea,
.update-subpage .contact-form .form-field textarea {
  min-height: 120px !important;
}
.update-subpage .booking-form .form-field--full:has(textarea),
.update-subpage .contact-form .form-field--full:has(textarea) {
  min-height: 190px;
}
.update-subpage .booking-form .form-field__hint,
.update-subpage .contact-form .form-field__hint,
.update-subpage .sms-opt-in__copy {
  color: rgba(0, 0, 0, .58) !important;
  font-size: 11px;
  line-height: 1.4;
}
.update-subpage .booking-form__actions,
.update-subpage .contact-form__actions {
  margin-top: 22px;
  padding: 8px 0;
}
.update-subpage .booking-form__assurance,
.update-subpage .contact-form__meta,
.update-subpage .booking-form__assurance *,
.update-subpage .contact-form__meta * {
  color: rgba(0, 0, 0, .62) !important;
}

/* Contact's reference form is denser than the generic booking form. Keep
   these rules after the shared card treatment so its measured grid wins. */
.update-subpage.update-page-contact .contact-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: auto;
  gap: 6px 34px !important;
}
.update-subpage.update-page-contact .contact-form .form-field {
  min-height: 86px;
  justify-content: center;
  padding: 14px 24px 12px;
  border-radius: 17px;
}
.update-subpage.update-page-contact .contact-form .form-field--message {
  min-height: 270px;
  justify-content: flex-start;
}
.update-subpage.update-page-contact .contact-form .form-field--message textarea {
  min-height: 220px !important;
  resize: none;
}

/* FAQs — the reference uses a compact two-column paper document. */
.update-page-faqs main {
  display: grid;
  grid-template-columns: minmax(190px, .28fr) minmax(0, 1fr);
  gap: clamp(45px, 8vw, 120px);
  padding: 155px max(20px, calc((100vw - 1225px) / 2)) 135px;
  background: var(--subpage-paper);
}
.update-page-faqs .page-hero {
  display: block;
  padding: 0;
}
.update-page-faqs .page-hero__media,
.update-page-faqs .page-hero__caption-overline {
  display: none;
}
.update-page-faqs .page-hero__caption {
  display: block;
  width: 100%;
  padding: 0;
}
.update-page-faqs .page-hero__caption-headline {
  color: #000;
  font-size: clamp(38px, 4vw, 56px);
  line-height: 1;
}
.update-page-faqs .page-hero__caption-reveal {
  display: block;
  width: 100%;
  max-width: 340px;
  margin: 24px 0 0;
}
.update-page-faqs .page-hero__caption-body {
  margin: 0;
}
.update-page-faqs .faq-register {
  padding: 0;
}
.update-page-faqs .faq-register__inner {
  width: 100%;
}
.update-page-faqs .faq-register__entry,
.update-page-faqs .faq-register__entry:last-child {
  border: 0;
}
.update-page-faqs .faq-register__entry summary {
  padding: 0 0 8px;
  cursor: default;
  pointer-events: none;
  color: #000;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif !important;
  font-size: 17px;
  font-weight: 300;
}
.update-page-faqs .faq-register__entry summary::after {
  display: none;
}
.update-page-faqs .faq-register__entry > :not(summary) {
  display: block !important;
}
.update-page-faqs .faq-register__answer {
  max-width: none;
  margin: 0 0 30px;
  padding: 0 0 0 20px;
  color: rgba(0, 0, 0, .76) !important;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif !important;
  font-style: normal;
  font-size: 15px;
  line-height: 1.45;
}
.update-page-faqs .faq-register__answer::before {
  content: "•";
  display: inline-block;
  width: 18px;
  margin-left: -18px;
}
.update-page-faqs .coda {
  grid-column: 1 / -1;
  min-height: 340px;
  margin: 70px calc(-1 * max(20px, (100vw - 1225px) / 2)) -135px;
}

/* Color safeguards for intentional black sections. */
.update-subpage .pcg-closing,
.update-subpage .commission-close,
.update-subpage .experiences-app,
.update-subpage .section--dark {
  color: #fff;
}
.update-subpage .pcg-closing :is(h1,h2,h3,h4,p,span,strong,em,a),
.update-subpage .commission-close :is(h1,h2,h3,h4,p,span,strong,em,a),
.update-subpage .experiences-app :is(h1,h2,h3,h4,p,span,strong,em,a),
.update-subpage .section--dark :is(h1,h2,h3,h4,p,span,strong,em,a) {
  color: inherit !important;
}
.update-subpage .coda .coda__line,
.update-subpage .coda .coda__line :is(a,span,strong,em) {
  color: inherit !important;
}

/* Every interior page uses the homepage footer as one shared component. */
.update-subpage .footer--shared {
  padding: 0;
  background: var(--paper);
  color: #000;
}
.update-subpage .footer--shared .footer__lead {
  position: relative;
  min-height: 720px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 42px;
  padding: 100px 20px;
  background: linear-gradient(rgba(0,0,0,.28), rgba(0,0,0,.42)), url("/assets/media/posters/arriving.jpg") center / cover no-repeat;
  color: #fff;
  text-align: center;
}
.update-subpage .footer--shared .footer__lead > div { max-width: 760px; }
.update-subpage .footer--shared .footer__lead h2 {
  margin: 0;
  color: #fff;
  text-transform: uppercase;
  font-family: "SofiaPro", Arial, Helvetica, sans-serif;
  font-size: clamp(31px, 2.6vw, 37px);
  font-style: normal;
  font-weight: 200;
  letter-spacing: 0;
  line-height: 1.2;
}
.update-subpage .footer--shared .footer__lead h2 em { color: inherit; font-style: normal; }
.update-subpage .footer--shared .newsletter { width: min(100%, 560px); }
.update-subpage .footer--shared .newsletter > label {
  display: block;
  max-width: 520px;
  margin: 0 auto 24px;
  color: rgba(255,255,255,.9);
  font-size: 17px;
  font-weight: 300;
  line-height: 1.3;
}
.update-subpage .footer--shared .newsletter__hp { position: absolute; left: -9999px; }
.update-subpage .footer--shared .newsletter__field {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 5px;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 100px;
  background: rgba(255,255,255,.18);
  backdrop-filter: blur(5px);
}
.update-subpage .footer--shared .newsletter__field input {
  min-width: 0;
  padding: 10px 14px;
  border: 0;
  outline: none;
  background: transparent;
  color: #fff;
  font-size: 16px;
  font-weight: 300;
}
.update-subpage .footer--shared .newsletter__field input::placeholder { color: rgba(255,255,255,.78); }
.update-subpage .footer--shared .newsletter__field button {
  min-height: 36px;
  padding: 8px 22px;
  border: 0;
  border-radius: 100px;
  background: #fff;
  color: #000;
  cursor: pointer;
}
.update-subpage .footer--shared .newsletter__status { margin: 12px 0 0; font-size: 12px; }
.update-subpage .footer--shared .footer__links {
  display: grid;
  grid-template-columns: .65fr 1.35fr;
  gap: 50px;
  padding: 32px max(20px, calc((100vw - var(--content)) / 2)) 56px;
  border: 0;
}
.update-subpage .footer--shared .footer__brand { width: max-content; height: max-content; }
.update-subpage .footer--shared .footer__brand img { width: 300px; max-width: 100%; height: auto; filter: none; }
.update-subpage .footer--shared .footer__links > nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 30px;
}
.update-subpage .footer--shared .footer__links nav div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
}
.update-subpage .footer--shared .footer__links nav span {
  margin-bottom: 12px;
  color: rgba(0,0,0,.46);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 9px;
}
.update-subpage .footer--shared .footer__links nav a {
  color: #000;
  text-decoration: none;
  font-size: 17px;
  line-height: 1.5;
}
.update-subpage .footer--shared .footer__carrier {
  margin: 0;
  padding: 28px max(20px, calc((100vw - var(--content)) / 2));
  border-top: 1px solid var(--line);
  background: transparent;
  color: rgba(0,0,0,.48);
  font-size: 9px;
  line-height: 1.55;
}
.update-subpage .footer--shared .footer__legal {
  display: flex;
  justify-content: space-between;
  gap: 34px;
  padding: 24px max(20px, calc((100vw - var(--content)) / 2)) 30px;
  background: transparent;
  color: rgba(0,0,0,.58);
  font-size: 10px;
}
.update-subpage .footer--shared .footer__legal nav { display: flex; flex-wrap: wrap; gap: 20px; }
.update-subpage .footer--shared .footer__legal a { color: inherit; text-decoration: none; }
.update-subpage .footer--shared .footer__legal button {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
}

@media (max-width: 991px) {
  .update-page-news .press-journal__inner,
  .update-page-team .team-bench__roster {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .update-page-owners .editorial-body__inner {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .update-page-owners .editorial-pillars__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .update-page-owners .page-hero {
    grid-template-rows: auto clamp(430px, 58vw, 580px);
    padding: 125px 0 0;
  }
  .update-page-owners .page-hero__caption {
    width: calc(100% - 40px);
    min-height: auto;
    margin-bottom: 35px;
    padding: 0;
  }
  .update-page-contact .page-hero__media {
    right: 20px;
    left: auto;
    width: calc(50% - 37px);
  }
  .update-page-contact .page-hero__caption,
  .update-page-contact .contact-single__inner {
    width: calc(100% - 40px);
  }
  .update-page-contact .contact-hero__title,
  .update-page-contact .contact-hero__details {
    width: calc(50% - 17px);
  }
  .update-subpage .footer--shared .footer__links {
    grid-template-columns: 1fr;
  }
  .update-page-faqs main {
    grid-template-columns: 1fr;
    gap: 55px;
  }
}

@media (max-width: 767px) {
  .update-page-news .page-hero,
  .update-page-news .page-hero__caption,
  .update-page-owners .page-hero,
  .update-page-team .page-hero,
  .update-page-careers .page-hero,
  .update-page-about .page-hero,
  .update-page-contact .page-hero,
  .update-page-faqs .page-hero {
    min-height: 0;
  }
  .update-page-news .page-hero {
    padding: 125px 0 24px;
  }
  .update-page-news .editorial-body__column,
  .update-page-news .press-journal__inner,
  .update-page-careers .editorial-pillars__inner {
    grid-template-columns: 1fr;
  }
  .update-page-news .editorial-body__column {
    gap: 18px;
  }
  .update-page-news .editorial-body {
    padding-bottom: 45px;
  }
  .update-page-news .press-journal__inner {
    gap: 64px;
  }
  .update-page-news .press-journal {
    padding-bottom: 95px;
  }
  .update-page-owners .page-hero,
  .update-page-team .page-hero,
  .update-page-careers .page-hero,
  .update-page-about .page-hero {
    grid-template-rows: auto 330px;
    padding-top: 120px;
  }
  .update-page-owners .page-hero__caption,
  .update-page-team .page-hero__caption,
  .update-page-careers .page-hero__caption,
  .update-page-about .page-hero__caption {
    width: calc(100% - 32px);
    padding: 24px 0 55px;
  }
  .update-page-owners .page-hero__caption {
    min-height: 0;
    margin-bottom: 32px;
    padding: 0;
  }
  .update-page-owners .page-hero {
    padding: 120px 0 0;
  }
  .update-page-owners .page-hero__media,
  .update-page-team .page-hero__media,
  .update-page-careers .page-hero__media,
  .update-page-about .page-hero__media {
    width: calc(100% - 32px);
  }
  .update-page-team .editorial-body {
    padding-top: 80px;
  }
  .update-page-team .team-bench__roster {
    grid-template-columns: 1fr;
    gap: 72px;
  }
  .update-page-team .team-detail__bio {
    font-size: 15px;
    line-height: 1.5;
  }
  .update-page-owners .page-hero__media {
    width: 100vw;
  }
  .update-page-owners .page-hero__caption-headline {
    font-size: clamp(34px, 8.5vw, 42px);
    line-height: 1.08;
  }
  .update-page-owners .page-hero__caption-body {
    font-size: 15px;
  }
  .update-page-owners .page-hero + .editorial-body {
    padding-top: 80px;
  }
  .update-page-owners .editorial-pillars__inner {
    grid-template-columns: 1fr;
  }
  .update-page-owners .editorial-pillars__pillar {
    min-height: 270px;
    border-color: rgba(0, 0, 0, .24) !important;
  }
  .update-page-contact .page-hero {
    display: grid;
    grid-template-rows: auto 280px;
    height: auto;
    padding: 120px 16px 0;
  }
  .update-page-contact .page-hero__caption {
    grid-row: 1;
    width: 100%;
    padding: 0 0 34px;
  }
  .update-page-contact .contact-hero__title,
  .update-page-contact .contact-hero__details {
    width: 100%;
  }
  .update-page-contact .contact-hero__title {
    font-size: 34px;
  }
  .update-page-contact .page-hero__media {
    position: relative;
    inset: auto;
    grid-row: 2;
    width: 100%;
    height: 100%;
  }
  .update-page-contact .contact-single {
    padding: 55px 16px 100px;
  }
  .update-page-contact .contact-single__inner {
    width: 100%;
  }
  .update-page-contact .contact-single__intro {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 28px;
  }
  .update-subpage.update-page-contact .contact-form {
    grid-template-columns: 1fr;
    gap: 8px !important;
  }
  .update-subpage.update-page-contact .contact-form .form-field--name,
  .update-subpage.update-page-contact .contact-form .form-field--email,
  .update-subpage.update-page-contact .contact-form .form-field--phone,
  .update-subpage.update-page-contact .contact-form .form-field--message,
  .update-subpage.update-page-contact .contact-form .form-field--discovery,
  .update-subpage.update-page-contact .contact-form .form-field--work,
  .update-subpage.update-page-contact .contact-form .sms-opt-in {
    grid-column: 1;
    grid-row: auto;
  }
  .update-subpage.update-page-contact .contact-form .form-field--message {
    min-height: 220px;
  }
  .update-subpage.update-page-contact .contact-form .form-field--message textarea {
    min-height: 170px !important;
  }
  .update-page-faqs main {
    display: block;
    padding: 140px 16px 100px;
  }
  .update-page-faqs .page-hero {
    margin-bottom: 55px;
  }
  .update-page-faqs .coda {
    margin: 65px -16px -100px;
  }
  .update-subpage .booking-form .form-field,
  .update-subpage .contact-form .form-field {
    grid-column: 1;
  }
  .update-subpage .footer--shared .footer__lead {
    min-height: 680px;
    padding-inline: 16px;
  }
  .update-subpage .footer--shared .newsletter__field input {
    width: 100%;
    font-size: 14px;
  }
  .update-subpage .footer--shared .footer__links {
    grid-template-columns: 1fr;
    padding: 28px 16px 40px;
  }
  .update-subpage .footer--shared .footer__links > nav {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 38px 22px;
  }
  .update-subpage .footer--shared .footer__carrier { padding: 25px 16px; }
  .update-subpage .footer--shared .footer__legal {
    align-items: flex-start;
    flex-direction: column;
    padding: 24px 16px 30px;
  }
}

@media (max-width: 479px) {
  .update-page-team .team-bench__inner {
    width: 100%;
  }
  .update-page-team .team-bench__lede {
    margin-bottom: 80px;
    font-size: 41px;
  }
  .update-page-team .team-bench__roster {
    grid-template-columns: 1fr;
    gap: 64px;
  }
  .update-page-news .page-hero {
    padding-top: 118px;
  }
  .update-page-news .page-hero__caption,
  .update-page-news .editorial-body__inner,
  .update-page-news .press-journal__inner {
    width: 100%;
  }
  .update-page-news .page-hero__caption-headline {
    font-size: 36px;
  }
  .update-page-news .press-journal__inner {
    gap: 58px;
  }
  .update-page-owners .page-hero {
    grid-template-rows: auto 280px;
    padding: 112px 0 0;
  }
  .update-page-owners .page-hero__caption {
    margin-bottom: 28px;
  }
  .update-page-contact .page-hero {
    grid-template-rows: auto 240px;
    padding-top: 112px;
  }
  .update-subpage.update-page-contact .contact-form .form-field {
    min-height: 78px;
    padding-inline: 18px;
  }
  .update-page-contact .contact-form__actions {
    width: 100%;
  }
  .update-page-contact .contact-form__actions > .btn {
    width: 100%;
  }
  .update-subpage .footer--shared .footer__lead {
    min-height: 620px;
  }
}

/* ============================================================
   LIVE-SITE TYPOGRAPHY CONTRACT
   Layout remains the alternate/Webflow-inspired composition. Type is
   deliberately restored to the current goflyhouse.com design system.
   This block is last so it also replaces page-specific SofiaPro rules.
   ============================================================ */

body.update-subpage.interior-page[data-update-page],
body.update-subpage.interior-page[data-update-page] button,
body.update-subpage.interior-page[data-update-page] input,
body.update-subpage.interior-page[data-update-page] select,
body.update-subpage.interior-page[data-update-page] textarea,
body.update-subpage.interior-page[data-update-page] .partner-banner,
body.update-subpage.interior-page[data-update-page] .update-header,
body.update-subpage.interior-page[data-update-page] .menu-panel {
  font-family: var(--font-sans) !important;
  font-kerning: auto;
  font-feature-settings: normal;
}

body.update-subpage.interior-page[data-update-page] {
  color: var(--color-navy);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
}

body.update-subpage.interior-page[data-update-page] main,
body.update-subpage.interior-page[data-update-page] main * {
  font-family: var(--font-sans) !important;
  font-kerning: auto;
  font-feature-settings: normal;
}

/* Interior heroes use the exact live caption type while retaining the
   alternate site's full-width media and two-column placement. */
body.update-subpage.interior-page[data-update-page] main .page-hero__caption-overline,
body.update-subpage.interior-page[data-update-page] main .pcg-lockup {
  color: var(--color-gold) !important;
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase;
}

body.update-subpage.interior-page[data-update-page] main .page-hero__caption-headline {
  color: #fff !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(36px, 4.4vw, 64px) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  line-height: 1.04 !important;
  letter-spacing: -.005em !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main .page-hero__caption-body {
  color: rgba(255,255,255,.85) !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  letter-spacing: normal !important;
}

/* The shared grid previously used the responsive column gap as a row gap,
   pushing BOOK A FLIGHT more than 110px above its headline at 1280px.
   These values reproduce the live 16px visible overline-to-title spacing. */
body.update-subpage.update-page-book-charter .page-hero__caption {
  row-gap: 24px;
}

body.update-subpage.update-page-book-charter .page-hero__caption-overline {
  margin-bottom: -8px;
}

/* Paper heroes need the same type roles in dark-on-light colors. */
body.update-subpage:is(.update-page-news, .update-page-owners, .update-page-team, .update-page-careers, .update-page-about, .update-page-contact, .update-page-faqs) main .page-hero__caption-headline,
body.update-subpage.update-page-private-client-group main .page-hero__caption-headline {
  color: var(--color-navy) !important;
}

body.update-subpage:is(.update-page-news, .update-page-owners, .update-page-team, .update-page-careers, .update-page-about, .update-page-contact, .update-page-faqs) main .page-hero__caption-body,
body.update-subpage.update-page-private-client-group main .page-hero__caption-body {
  color: rgba(3,15,43,.82) !important;
}

/* Live utility roles. */
body.update-subpage.interior-page[data-update-page] main :is(
  .typo-subtitle,
  .intro-block__eyebrow,
  .section-header .gold,
  .contact-single__eyebrow,
  .editorial-pillars__eyebrow,
  .team-bench__eyebrow,
  .legal-hero__eyebrow,
  .legal-hero__overline
) {
  color: var(--color-gold) !important;
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase;
}

body.update-subpage.interior-page[data-update-page] main .typo-headline-xl {
  color: var(--color-navy);
  font-family: var(--font-sans) !important;
  font-size: clamp(32px, 4vw, 56px) !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.15 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase;
}

body.update-subpage.interior-page[data-update-page] main :is(
  .typo-headline-l,
  .process-section h2
) {
  color: var(--color-navy);
  font-family: var(--font-sans) !important;
  font-size: clamp(24px, 3vw, 40px) !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.2 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase;
}

body.update-subpage.interior-page[data-update-page] main .typo-display-italic {
  color: var(--color-navy);
  font-family: var(--font-serif) !important;
  font-size: clamp(36px, 5vw, 64px) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  line-height: 1.15 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main .typo-body-l {
  font-family: var(--font-sans) !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  letter-spacing: .01em !important;
}

body.update-subpage.interior-page[data-update-page] main .typo-body-m {
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  letter-spacing: .02em !important;
}

body.update-subpage.interior-page[data-update-page] main .typo-body-s {
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  letter-spacing: .02em !important;
}

/* Editorial copy. */
body.update-subpage.interior-page[data-update-page] main .intro-block__lead {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  line-height: 1.35 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main .intro-block__body {
  color: var(--color-grey-dark) !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  letter-spacing: .02em !important;
}

body.update-subpage.interior-page[data-update-page] main .editorial-body__column p {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: 26px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
  letter-spacing: .005em !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main .about-intro__inner p {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: 26px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
  letter-spacing: .005em !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main :is(.editorial-body__column, .intro-block__lead, .about-intro__inner, .commission-body__stanza) em {
  color: var(--color-gold) !important;
  font-family: var(--font-serif) !important;
  font-style: italic !important;
}

body.update-subpage.interior-page[data-update-page] main .editorial-body__stanza,
body.update-subpage.interior-page[data-update-page] main .commission-body__stanza {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: 22px !important;
  font-style: italic !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* Repeating cards, process steps, and PCG modules. */
body.update-subpage.interior-page[data-update-page] main .process-step__number {
  color: var(--color-gold) !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(56px, 6vw, 88px) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
}

body.update-subpage.interior-page[data-update-page] main :is(.process-step__title, .pillar__title) {
  color: var(--color-navy) !important;
  font-family: var(--font-sans) !important;
  font-size: 20px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.4 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
}

body.update-subpage.interior-page[data-update-page] main :is(.process-step__body, .pillar__body) {
  color: var(--color-grey-dark) !important;
  font-family: var(--font-sans) !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  letter-spacing: normal !important;
}

body.update-subpage.interior-page[data-update-page] main .editorial-pillars__lede {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: 32px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.25 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main .editorial-pillars__body {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: 19px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
}

body.update-subpage.update-page-owners main .editorial-body__inner::before {
  color: var(--color-navy) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(24px, 3vw, 40px) !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.2 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase;
}

body.update-subpage.update-page-owners main .editorial-body:nth-of-type(4) .editorial-body__inner::before {
  color: #fff !important;
}

body.update-subpage.interior-page[data-update-page] main .pcg-module__headline {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(32px, 4vw, 52px) !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main .pcg-services__title {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(30px, 3.4vw, 44px) !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main .pcg-module__body {
  color: rgba(3,15,43,.82) !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(17px, 1.3vw, 20px) !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;
}

body.update-subpage.interior-page[data-update-page] main .pcg-service__name {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(20px, 1.6vw, 24px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main .pcg-service__body {
  color: rgba(3,15,43,.78) !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(15px, 1.05vw, 17px) !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;
}

body.update-subpage.interior-page[data-update-page] main :is(.coda__line, .commission-close__line) {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: 22px !important;
  font-style: italic !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main .pcg-closing__line {
  color: #fff !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(30px, 3.4vw, 48px) !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.15 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* Current-site forms, without changing any field names, endpoints, or JS. */
body.update-subpage.interior-page[data-update-page] main .form-field > label {
  color: var(--color-grey-dark) !important;
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase;
}

body.update-subpage.interior-page[data-update-page] main .form-field :is(input:not([type="checkbox"]), select, textarea) {
  color: var(--color-navy) !important;
  font-family: var(--font-sans) !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.45 !important;
  letter-spacing: normal !important;
}

body.update-subpage.interior-page[data-update-page] main .form-field :is(input, textarea)::placeholder {
  color: rgba(3,15,43,.4) !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  letter-spacing: normal !important;
  opacity: 1;
}

body.update-subpage.interior-page[data-update-page] main :is(.form-field__hint, .sms-opt-in__copy) {
  color: var(--color-grey-dark) !important;
  font-family: var(--font-sans) !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  letter-spacing: normal !important;
  opacity: .72;
}

body.update-subpage.interior-page[data-update-page] main :is(.booking-form__assurance, .contact-form__meta, .contact-form__privacy) {
  color: rgba(3,15,43,.82) !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  letter-spacing: normal !important;
}

body.update-subpage.interior-page[data-update-page] main .btn--primary {
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

/* Team grid: image-first layout stays; names, roles, and always-visible bios
   use the live site's editorial hierarchy. */
body.update-subpage.interior-page[data-update-page] main .team-bench__lede {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: 28px !important;
  font-style: italic !important;
  font-weight: 300 !important;
  line-height: 1.35 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main .team-bench__name {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: 28px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.15 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main .team-bench__title {
  color: var(--color-grey-dark) !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase;
}

body.update-subpage.interior-page[data-update-page] main .team-detail__bio {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
}

/* Press and FAQs. */
body.update-subpage.interior-page[data-update-page] main .press-journal__meta {
  color: var(--color-grey-dark) !important;
  font-family: var(--font-sans) !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
}

body.update-subpage.interior-page[data-update-page] main .press-journal__headline {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: 30px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main .press-journal__summary {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: 19px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
}

body.update-subpage.interior-page[data-update-page] main .faq-register__entry summary {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: 24px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.3 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main .faq-register__answer {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: 19px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
}

/* Contact and legal documents. */
body.update-subpage.interior-page[data-update-page] main .contact-hero__title {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main .contact-hero__details,
body.update-subpage.interior-page[data-update-page] main :is(.contact-single__details, .contact-single__privacy, .contact-single__story-copy) {
  color: rgba(3,15,43,.82) !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  letter-spacing: normal !important;
}

body.update-subpage.interior-page[data-update-page] main .contact-single__title {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(30px, 3vw, 44px) !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main .contact-single__story-title {
  color: var(--color-navy) !important;
  font-family: var(--font-sans) !important;
  font-size: 20px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.4 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
}

body.update-subpage.interior-page[data-update-page] main :is(.legal-hero__title, .commission-hero__title) {
  color: var(--color-navy) !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.update-subpage.interior-page[data-update-page] main :is(.legal-hero__lede, .commission-hero__lede) {
  color: rgba(3,15,43,.72) !important;
  font-family: var(--font-serif) !important;
  font-size: 18px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  letter-spacing: normal !important;
}

body.update-subpage.interior-page[data-update-page] main .legal-doc__inner,
body.update-subpage.interior-page[data-update-page] main .legal-doc :is(p, li) {
  color: var(--color-navy) !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.8 !important;
  letter-spacing: normal !important;
}

body.update-subpage.interior-page[data-update-page] main .legal-doc h2 {
  color: var(--color-navy) !important;
  font-family: var(--font-sans) !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase;
}

body.update-subpage.interior-page[data-update-page] main .legal-doc h3 {
  color: var(--color-navy) !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
}

/* Reassert the shared footer type after the sub-page footer composition. */
body.update-subpage .footer--shared .footer__lead h2 {
  color: #fff;
  font-family: var(--font-sans) !important;
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: .06em;
  text-transform: uppercase;
}

body.update-subpage .footer--shared .newsletter > label {
  color: rgba(255,255,255,.72);
  font-family: var(--font-sans) !important;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.55;
  letter-spacing: .02em;
}

body.update-subpage .footer--shared .newsletter__field input {
  color: #fff;
  font-family: var(--font-sans) !important;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: .02em;
}

body.update-subpage .footer--shared .newsletter__field button {
  color: var(--color-navy);
  font-family: var(--font-sans) !important;
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.update-subpage .footer--shared .footer__links nav span {
  color: var(--color-grey-dark);
  font-family: var(--font-sans) !important;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .18em;
  text-transform: uppercase;
}

body.update-subpage .footer--shared .footer__links nav a {
  color: var(--color-navy);
  font-family: var(--font-sans) !important;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: .04em;
}

body.update-subpage .footer--shared .footer__carrier,
body.update-subpage .footer--shared .footer__legal,
body.update-subpage .footer--shared .footer__legal a,
body.update-subpage .footer--shared .footer__legal button {
  color: rgba(3,15,43,.72);
  font-family: var(--font-sans) !important;
  font-size: 11px;
  font-weight: 300;
  line-height: 1.55;
}

body.update-subpage .footer--shared .footer__carrier { letter-spacing: .01em; }
body.update-subpage .footer--shared .footer__legal,
body.update-subpage .footer--shared .footer__legal a,
body.update-subpage .footer--shared .footer__legal button { letter-spacing: .05em; }

@media (max-width: 760px) {
  body.update-subpage.interior-page[data-update-page] main .page-hero__caption-headline {
    font-size: clamp(28px, 7vw, 44px) !important;
  }
  body.update-subpage.interior-page[data-update-page] main .editorial-body__column p { font-size: 21px !important; }
  body.update-subpage.interior-page[data-update-page] main .editorial-body__stanza,
  body.update-subpage.interior-page[data-update-page] main .commission-body__stanza { font-size: 19px !important; }
  body.update-subpage.interior-page[data-update-page] main .team-bench__name { font-size: 24px !important; }
  body.update-subpage.interior-page[data-update-page] main .team-bench__lede { font-size: 22px !important; }
  body.update-subpage.interior-page[data-update-page] main .press-journal__headline { font-size: 24px !important; }
  body.update-subpage.interior-page[data-update-page] main .press-journal__summary,
  body.update-subpage.interior-page[data-update-page] main .faq-register__answer { font-size: 17px !important; }
  body.update-subpage.interior-page[data-update-page] main .faq-register__entry summary { font-size: 20px !important; }
  body.update-subpage .footer--shared .footer__links nav a { font-size: 14px; }
  body.update-subpage .footer--shared .newsletter__field input { font-size: 16px; }
}

/* ============================================================
   CONTEXTUAL CONTRAST + HERO RHYTHM
   The typography contract above is shared, but foreground colors and
   spacing must follow the surface each component actually sits on.
   ============================================================ */

body.update-subpage {
  --color-gold-on-light: #7a5a22;
  --color-gold-on-khaki: #6b4f1b;
}

/* Paper heroes: dark type, centered copy, and a tighter handoff to media. */
body.update-subpage.interior-page[data-update-page]:is(
  .update-page-news,
  .update-page-owners,
  .update-page-team,
  .update-page-careers,
  .update-page-about,
  .update-page-contact,
  .update-page-faqs
) main .page-hero__caption-headline {
  color: var(--color-navy) !important;
}

body.update-subpage.interior-page[data-update-page]:is(
  .update-page-news,
  .update-page-owners,
  .update-page-team,
  .update-page-careers,
  .update-page-about,
  .update-page-contact,
  .update-page-faqs
) main .page-hero__caption-body {
  color: rgba(3, 15, 43, .82) !important;
}

body.update-subpage.interior-page[data-update-page]:is(
  .update-page-news,
  .update-page-owners,
  .update-page-team,
  .update-page-careers,
  .update-page-about,
  .update-page-contact,
  .update-page-faqs
) main .page-hero__caption-overline {
  color: var(--color-gold-on-light) !important;
}

body.update-subpage.interior-page[data-update-page]:is(
  .update-page-team,
  .update-page-careers,
  .update-page-about
) main .page-hero__caption {
  padding: 28px 20px 42px;
}

body.update-subpage.interior-page[data-update-page]:is(
  .update-page-team,
  .update-page-careers,
  .update-page-about
) main .page-hero__caption-overline {
  margin-bottom: 12px;
}

body.update-subpage.interior-page[data-update-page]:is(
  .update-page-team,
  .update-page-careers,
  .update-page-about
) main .page-hero__caption-reveal {
  margin-top: 16px;
}

body.update-subpage.interior-page[data-update-page]:is(
  .update-page-team,
  .update-page-careers,
  .update-page-about,
  .update-page-owners
) main .page-hero__caption-body {
  width: auto;
  max-width: 760px;
  margin-inline: auto !important;
  text-align: center;
}

/* Keep the Owners media full-bleed without the scrollbar-width offset. */
body.update-subpage.interior-page[data-update-page].update-page-owners main .page-hero__media {
  width: 100%;
  margin-left: 0;
  transform: none;
}

/* Standard image heroes need a narrow row gap and a wide column gap. */
body.update-subpage.interior-page[data-update-page]:is(
  .update-page-book-charter,
  .update-page-experience,
  .update-page-occasions,
  .update-page-owners-fractional,
  .update-page-privileges,
  .update-page-privileges-dining
) main .page-hero__caption {
  row-gap: 24px;
}

body.update-subpage.interior-page[data-update-page]:is(
  .update-page-book-charter,
  .update-page-experience,
  .update-page-occasions,
  .update-page-owners-fractional,
  .update-page-privileges,
  .update-page-privileges-dining
) main .page-hero__caption-overline {
  margin-bottom: -8px;
}

/* The Experience event card belongs above the lower hero copy, not on it. */
body.update-subpage.interior-page[data-update-page].update-page-experience main .page-hero__slide-badge {
  position: absolute;
  z-index: 3;
  top: 170px;
  right: clamp(20px, 4vw, 64px);
  bottom: auto;
  left: auto;
  width: min(34vw, 440px);
  margin: 0;
}

/* The PCG opening is ink on khaki, including the mark and emphasized words. */
body.update-subpage.interior-page[data-update-page].update-page-private-client-group main :is(
  .pcg-lockup,
  .pcg-lockup__mark
) {
  color: var(--color-navy) !important;
}

body.update-subpage.interior-page[data-update-page].update-page-private-client-group main .page-hero__caption-headline,
body.update-subpage.interior-page[data-update-page].update-page-private-client-group main .page-hero__caption-body {
  color: var(--color-navy) !important;
}

body.update-subpage.interior-page[data-update-page].update-page-private-client-group main .page-hero__caption-headline em {
  color: var(--color-gold-on-khaki) !important;
  font-family: var(--font-serif) !important;
}

body.update-subpage.interior-page[data-update-page].update-page-private-client-group main .pcg-services__title em,
body.update-subpage.interior-page[data-update-page].update-page-private-client-group main .pcg-services .typo-subtitle {
  color: var(--color-navy) !important;
}

/* Accessible gold on paper; retain the brighter live gold on dark/photo UI. */
body.update-subpage.interior-page[data-update-page] main :is(
  .intro-block,
  .about-intro,
  .process-section,
  .booking-section,
  .pillars-section,
  .compare-section,
  .editorial-pillars,
  .team-bench,
  .faq-register,
  .press-journal,
  .occasions-roster,
  .legal-hero,
  .legal-doc,
  .pcg-module,
  .contact-single,
  .feature-cards-section,
  .section--rooms,
  .editorial-split
) .typo-subtitle:not(.feature-card__eyebrow) {
  color: var(--color-gold-on-light) !important;
}

body.update-subpage.interior-page[data-update-page] main :is(
  .process-step__number,
  .editorial-pillars__eyebrow,
  .press-journal__date,
  .occasions-roster__numeral,
  .pillar__number,
  .gold-cta,
  .pcg-module__coda,
  .form-required,
  .commission-hero__eyebrow
) {
  color: var(--color-gold-on-light) !important;
}

body.update-subpage.interior-page[data-update-page] main :is(
  .editorial-body__column,
  .intro-block__lead,
  .about-intro__inner,
  .editorial-pillars__lede,
  .team-detail__bio,
  .press-journal__headline,
  .faq-register__answer,
  .pcg-module__headline,
  .pcg-module__coda
) em,
body.update-subpage.interior-page[data-update-page] main .about-intro__inner strong {
  color: var(--color-gold-on-light) !important;
}

/* Pull quotes use the live navy surface, with white copy and gold attribution. */
body.update-subpage.interior-page[data-update-page]:is(
  .update-page-owners-fractional,
  .update-page-privileges-dining
) main .quote-section {
  background: var(--color-navy) !important;
  color: #fff !important;
}

body.update-subpage.interior-page[data-update-page]:is(
  .update-page-owners-fractional,
  .update-page-privileges-dining
) main .quote-section .pull-quote__text {
  color: #fff !important;
}

body.update-subpage.interior-page[data-update-page]:is(
  .update-page-owners-fractional,
  .update-page-privileges-dining
) main .quote-section .pull-quote__attribution {
  color: var(--color-gold) !important;
}

/* Dark conclusions must stay light after the global typography mapping. */
body.update-subpage.interior-page[data-update-page]:is(
  .update-page-team,
  .update-page-faqs,
  .update-page-occasions,
  .update-page-owners-fractional,
  .update-page-privileges,
  .update-page-privileges-dining
) main .coda .coda__line,
body.update-subpage.interior-page[data-update-page]:is(
  .update-page-team,
  .update-page-faqs,
  .update-page-occasions,
  .update-page-owners-fractional,
  .update-page-privileges,
  .update-page-privileges-dining
) main .coda .coda__line :is(span, strong, em) {
  color: #fff !important;
}

body.update-subpage.interior-page[data-update-page]:is(
  .update-page-team,
  .update-page-faqs,
  .update-page-occasions,
  .update-page-owners-fractional,
  .update-page-privileges,
  .update-page-privileges-dining
) main .coda .coda__line a {
  color: var(--color-gold) !important;
}

body.update-subpage.interior-page[data-update-page].update-page-owners main .editorial-body:nth-of-type(4) .editorial-body__column,
body.update-subpage.interior-page[data-update-page].update-page-owners main .editorial-body:nth-of-type(4) .editorial-body__column :is(p, strong) {
  color: #fff !important;
}

body.update-subpage.interior-page[data-update-page].update-page-owners main .editorial-body:nth-of-type(4) .editorial-body__column em {
  color: var(--color-gold) !important;
}

/* The Private Commission is a light editorial page followed by a dark gate. */
body.update-subpage.interior-page[data-update-page].update-page-private-commission main .commission-breadcrumb,
body.update-subpage.interior-page[data-update-page].update-page-private-commission main .commission-breadcrumb :is(a, span) {
  color: var(--color-grey-dark) !important;
}

body.update-subpage.interior-page[data-update-page].update-page-private-commission main .commission-body,
body.update-subpage.interior-page[data-update-page].update-page-private-commission main .commission-body__column,
body.update-subpage.interior-page[data-update-page].update-page-private-commission main .commission-body__column p {
  color: var(--color-navy) !important;
}

body.update-subpage.interior-page[data-update-page].update-page-private-commission main .commission-body__column em {
  color: var(--color-gold-on-light) !important;
}

body.update-subpage.interior-page[data-update-page].update-page-private-commission main .commission-close__line {
  color: #fff !important;
}

/* Form support copy remains readable on both paper and white field cards. */
body.update-subpage.interior-page[data-update-page] main .form-field :is(input, textarea)::placeholder {
  color: rgba(3, 15, 43, .62) !important;
}

body.update-subpage.interior-page[data-update-page] main :is(.form-field__hint, .sms-opt-in__copy) {
  opacity: 1;
}

@media (max-width: 760px) {
  body.update-subpage.interior-page[data-update-page].update-page-experience main .page-hero__slide-badge {
    top: 150px;
    right: 16px;
    bottom: auto;
    left: 16px;
    width: auto;
  }

  body.update-subpage.interior-page[data-update-page].update-page-private-client-group main .page-hero__caption {
    bottom: auto;
  }

  body.update-subpage.interior-page[data-update-page].update-page-faqs main .page-hero__caption {
    margin-inline: 0;
  }
}

/* Dark-section CTAs share the navigation pill's light surface. Keep this
   scoped to the PCG and Experience closing panels so primary form and hero
   actions retain their existing treatment. */
body.update-subpage.interior-page[data-update-page] main
  :is(.pcg-closing__actions, .experiences-app__actions) {
  display: flex;
  justify-content: center;
}

body.update-subpage.interior-page[data-update-page] main
  :is(.pcg-closing__actions, .experiences-app__actions) > .btn.btn--primary {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 46px;
  padding: 12px 24px;
  border: 1px solid #fff;
  border-radius: 999px;
  background: #fff;
  color: var(--color-navy, #030f2b) !important;
  line-height: 1.35 !important;
  text-align: center;
  white-space: normal;
  box-shadow: none;
  transition: background-color .4s ease, border-color .4s ease, color .4s ease;
}

body.update-subpage.interior-page[data-update-page] main
  :is(.pcg-closing__actions, .experiences-app__actions) > .btn.btn--primary:is(:hover, :focus-visible) {
  border-color: #d4cec9;
  background: rgba(255, 255, 255, .78);
  color: var(--color-navy, #030f2b) !important;
}

body.update-subpage.interior-page[data-update-page] main
  :is(.pcg-closing__actions, .experiences-app__actions) > .btn.btn--primary:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

@media (max-width: 480px) {
  body.update-subpage.interior-page[data-update-page] main
    :is(.pcg-closing__actions, .experiences-app__actions) {
    width: 100%;
  }

  body.update-subpage.interior-page[data-update-page] main
    :is(.pcg-closing__actions, .experiences-app__actions) > .btn.btn--primary {
    padding-inline: 18px;
  }
}

/* Careers uses the shared primary-button language for its external jobs CTA. */
body.update-subpage.interior-page[data-update-page].update-page-careers main
  .coda--career-future .btn.btn--primary {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 46px;
  padding: 12px 24px;
  border: 1px solid #000;
  border-radius: 999px;
  background: #000;
  color: #fff !important;
  font-style: normal !important;
  line-height: 1.35 !important;
  text-align: center;
  white-space: normal;
  text-decoration: none;
  transition: background-color .35s ease, border-color .35s ease, color .35s ease;
}

body.update-subpage.interior-page[data-update-page].update-page-careers main
  .coda--career-future .btn.btn--primary:is(:hover, :focus-visible) {
  border-color: #282828;
  background: #282828;
  color: #fff !important;
}

body.update-subpage.interior-page[data-update-page].update-page-careers main
  .coda--career-future .btn.btn--primary:focus-visible {
  outline: 2px solid var(--color-navy, #030f2b);
  outline-offset: 4px;
}

@media (max-width: 480px) {
  body.update-subpage.interior-page[data-update-page].update-page-careers main
    .coda--career-future .btn.btn--primary {
    padding-inline: 18px;
  }
}

/* The Privileges page does not have enough imagery for the Webflow carousel.
   Preserve the current live site's measured editorial list: one text row at a
   time, with the two available cabin images acting as full-width dividers. */
body.update-subpage.interior-page[data-update-page].update-page-privileges main
  .editorial-pillars {
  padding: var(--space-8) 0;
  background: var(--color-warm-white);
}

body.update-subpage.interior-page[data-update-page].update-page-privileges main
  .editorial-pillars__inner {
  width: auto;
  max-width: 1040px;
  display: block;
  margin: 0 auto;
  padding: 0 var(--container-pad);
  border-top: 0;
}

body.update-subpage.interior-page[data-update-page].update-page-privileges main
  .editorial-pillars__pillar,
body.update-subpage.interior-page[data-update-page].update-page-privileges main
  .editorial-pillars__pillar:first-child,
body.update-subpage.interior-page[data-update-page].update-page-privileges main
  .editorial-pillars__pillar:last-child {
  min-height: 0;
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  column-gap: var(--space-7);
  padding: var(--space-8) 0;
  border-top: 1px solid rgba(3, 15, 43, .12);
  border-right: 0;
  border-bottom: 0;
}

body.update-subpage.interior-page[data-update-page].update-page-privileges main
  .editorial-pillars__pillar:last-child {
  border-bottom: 1px solid rgba(3, 15, 43, .12);
}

body.update-subpage.interior-page[data-update-page].update-page-privileges main
  .editorial-pillars__lede {
  margin: 0 0 var(--space-4);
}

body.update-subpage.interior-page[data-update-page].update-page-privileges main
  .editorial-pillars__body {
  max-width: 580px;
}

body.update-subpage.interior-page[data-update-page].update-page-privileges main
  .editorial-pillars__break {
  min-width: 0;
  display: block;
  margin: var(--space-9) calc(-1 * var(--container-pad));
  padding: 0;
  border-top: 1px solid rgba(3, 15, 43, .12);
  border-right: 0;
  border-bottom: 1px solid rgba(3, 15, 43, .12);
  border-left: 0;
  overflow: visible;
}

body.update-subpage.interior-page[data-update-page].update-page-privileges main
  .editorial-pillars__break img {
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 16 / 7;
  object-fit: cover;
}

@media (max-width: 760px) {
  body.update-subpage.interior-page[data-update-page].update-page-privileges main
    .editorial-pillars {
    padding: var(--space-7) 0;
  }

  body.update-subpage.interior-page[data-update-page].update-page-privileges main
    .editorial-pillars__pillar,
  body.update-subpage.interior-page[data-update-page].update-page-privileges main
    .editorial-pillars__pillar:first-child,
  body.update-subpage.interior-page[data-update-page].update-page-privileges main
    .editorial-pillars__pillar:last-child {
    grid-template-columns: 1fr;
    row-gap: var(--space-3);
    padding: var(--space-8) 0;
  }

  body.update-subpage.interior-page[data-update-page].update-page-privileges main
    .editorial-pillars__break {
    margin: var(--space-7) calc(-1 * var(--container-pad));
  }

  body.update-subpage.interior-page[data-update-page].update-page-privileges main
    .editorial-pillars__break img {
    aspect-ratio: 4 / 3;
  }

  body.update-subpage.interior-page[data-update-page].update-page-privileges main
    .editorial-pillars__lede {
    font-size: 26px !important;
  }

  body.update-subpage.interior-page[data-update-page].update-page-privileges main
    .editorial-pillars__body {
    font-size: 17px !important;
  }
}

/* ============================================================
   SEPTEMBER 2026 RESPONSIVE QA
   Focal points, non-overlapping hero content, card alignment,
   and inherited desktop-style resets for phone layouts.
   ============================================================ */

/* Keep the Private Client Group subject visible in the narrow desktop crop. */
body.update-subpage.update-page-private-client-group main .page-hero__media :is(img, video) {
  object-position: left center !important;
}

/* The Experience badge is metadata, not a facial blur treatment. */
body.update-subpage.interior-page[data-update-page].update-page-experience main .page-hero__slide-badge {
  top: auto;
  right: clamp(24px, 3vw, 48px);
  bottom: clamp(28px, 4vw, 52px);
  width: min(30vw, 380px);
  background: rgba(3, 15, 43, .68);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

/* The last-column underline came from the original stacked component. */
body.update-subpage.update-page-about main .editorial-pillars__pillar:last-child {
  border-bottom: 0 !important;
}

/* Remove the reference-mismatched bullet indentation from FAQ answers. */
body.update-subpage.update-page-faqs main .faq-register__answer {
  padding-left: 0;
}

body.update-subpage.update-page-faqs main .faq-register__answer::before {
  display: none;
  content: none;
}

/* Both Private Client Group actions use a reliably centered multi-line label. */
body.update-subpage.update-page-private-client-group main .page-hero__caption-actions {
  display: flex;
  justify-content: flex-start;
}

body.update-subpage.update-page-private-client-group main
  :is(.page-hero__caption-actions, .pcg-closing__actions) .btn {
  align-items: center;
  justify-content: center;
  min-height: 46px;
  text-align: center;
  line-height: 1.35 !important;
  white-space: normal;
}

@media (max-width: 760px) {
  /* Restore the base mobile Experience composition: metadata follows the
     caption in flow, so it cannot cover a person in any slide. */
  body.update-subpage.interior-page[data-update-page].update-page-experience main .page-hero {
    gap: 20px;
  }

  body.update-subpage.interior-page[data-update-page].update-page-experience main .page-hero__slide-badge {
    position: static;
    order: 2;
    width: auto;
    max-width: none;
    margin: 0 16px 24px;
    text-align: left;
    border-right: 0;
    border-left: 2px solid var(--color-gold, #b8975a);
    background: rgba(3, 15, 43, .72);
  }

  body.update-subpage.interior-page[data-update-page].update-page-experience main
    .page-hero__slide-badge-cta {
    justify-self: start;
  }

  /* Keep the compass, located on the source image's right side, in frame. */
  body.update-subpage.update-page-about main .page-hero__media img {
    object-position: 82% 58% !important;
  }

  /* A single-column Careers grid must not retain desktop edge padding. */
  body.update-subpage.update-page-careers main .editorial-pillars__inner {
    grid-template-columns: 1fr;
  }

  body.update-subpage.update-page-careers main .editorial-pillars__pillar,
  body.update-subpage.update-page-careers main .editorial-pillars__pillar:first-child,
  body.update-subpage.update-page-careers main .editorial-pillars__pillar:last-child {
    min-height: 0;
    align-items: center;
    padding: 36px 0;
    border-right: 0;
    text-align: center;
  }

  body.update-subpage.update-page-careers main .editorial-pillars__lede {
    margin: 20px 0 16px;
  }

  /* Let the charter hero grow with its copy instead of clipping an absolute
     caption on short Android viewports. */
  body.update-subpage.interior-page[data-update-page].update-page-book-charter main .page-hero {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: auto;
    min-height: 100svh;
    padding: 118px 0 28px;
  }

  body.update-subpage.interior-page[data-update-page].update-page-book-charter main .page-hero__caption {
    position: relative;
    inset: auto;
    width: calc(100% - 32px);
    margin: auto auto 0;
    padding: 24px 18px 26px;
    transform: none;
  }

  body.update-subpage.update-page-book-charter main .feature-cards-section .section-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  body.update-subpage.update-page-private-client-group main .page-hero__caption-actions,
  body.update-subpage.update-page-private-client-group main .page-hero__caption-actions .btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  body.update-subpage.interior-page[data-update-page].update-page-news main .page-hero__caption {
    width: calc(100% - 32px);
    margin-inline: auto;
  }
}

/* Final surface-aware overrides. Keep the live accent hue on dark panels and
   use the deeper companion hue wherever the same role sits on paper. */
body.update-subpage.interior-page[data-update-page] main .editorial-pillars .editorial-pillars__eyebrow,
body.update-subpage.interior-page[data-update-page] main .occasions-roster .occasions-roster__numeral,
body.update-subpage.interior-page[data-update-page] main .occasions-roster .occasions-roster__name em {
  color: var(--color-gold-on-light) !important;
}

body.update-subpage.interior-page[data-update-page].update-page-private-client-group main .pcg-lockup__wordmark {
  color: var(--color-navy) !important;
}

/* PCG service cards keep the Webflow column treatment, while matching the
   live site's top-aligned reading order. */
body.update-subpage.interior-page[data-update-page].update-page-private-client-group main .pcg-service {
  justify-content: flex-start;
}

body.update-subpage.interior-page[data-update-page].update-page-private-client-group main .pcg-service__icon {
  flex: 0 0 auto;
  margin-bottom: 24px;
  color: var(--color-gold-on-khaki) !important;
}

body.update-subpage.interior-page[data-update-page].update-page-private-client-group main .pcg-service__name {
  min-height: 50px;
  margin: 0 0 18px !important;
}

body.update-subpage.interior-page[data-update-page]:is(
  .update-page-owners-fractional,
  .update-page-privileges-dining
) main .section--rooms .rooms-card__overline,
body.update-subpage.interior-page[data-update-page].update-page-privileges-dining main .editorial-split .editorial-split__eyebrow {
  color: var(--color-gold) !important;
}

/* Confirmation pages use one centered reading column instead of inheriting
   the two-column media-caption grid. */
body.update-subpage.interior-page[data-update-page]:is(
  .update-page-book-thank-you,
  .update-page-contact-thank-you
) main .thankyou-hero__content {
  left: 50% !important;
  right: auto !important;
  bottom: clamp(48px, 7vw, 88px) !important;
  width: min(calc(100% - 40px), 760px) !important;
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  row-gap: 16px;
  justify-items: center;
  margin: 0 !important;
  text-align: center;
  transform: translateX(-50%) !important;
}

body.update-subpage.interior-page[data-update-page]:is(
  .update-page-book-thank-you,
  .update-page-contact-thank-you
) main .thankyou-hero__content > * {
  grid-column: 1 !important;
}

body.update-subpage.interior-page[data-update-page]:is(
  .update-page-book-thank-you,
  .update-page-contact-thank-you
) main :is(.thankyou-hero__overline, .thankyou-hero__headline, .thankyou-hero__message) {
  width: 100%;
  margin: 0;
  text-align: center;
}

body.update-subpage.interior-page[data-update-page]:is(
  .update-page-book-thank-you,
  .update-page-contact-thank-you
) main .thankyou-hero__message {
  max-width: 650px;
}

body.update-subpage.interior-page[data-update-page]:is(
  .update-page-book-thank-you,
  .update-page-contact-thank-you
) main .thankyou-hero__actions {
  width: 100%;
  justify-content: center;
  margin-top: 10px;
}

@media (max-width: 760px) {
  body.update-subpage.interior-page[data-update-page] main .page-hero__caption {
    margin-inline: 0;
  }

  body.update-subpage.interior-page[data-update-page].update-page-private-client-group main .page-hero {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 150px 16px 35px;
  }

  body.update-subpage.interior-page[data-update-page].update-page-private-client-group main .page-hero__caption {
    position: relative;
    order: 1;
    inset: auto;
    width: 100%;
    transform: none;
  }

  body.update-subpage.interior-page[data-update-page].update-page-private-client-group main .page-hero__media {
    position: relative;
    order: 2;
    inset: auto;
    width: 100%;
    height: clamp(320px, 105vw, 420px);
    opacity: 1;
  }

  body.update-subpage.interior-page[data-update-page]:is(
    .update-page-book-thank-you,
    .update-page-contact-thank-you
  ) main .thankyou-hero__content {
    left: 16px !important;
    right: 16px !important;
    bottom: 42px !important;
    width: auto !important;
    row-gap: 12px;
    transform: none !important;
  }

  body.update-subpage.interior-page[data-update-page]:is(
    .update-page-book-thank-you,
    .update-page-contact-thank-you
  ) main .thankyou-hero__actions {
    gap: 10px;
    margin-top: 6px;
  }
}

/* Privacy and Terms — indexed legal reader based on the Webflow information
   architecture, while retaining the live-site type system and current copy. */
body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-hero {
  padding: clamp(150px, 11vw, 170px) 20px 48px;
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-hero__inner,
body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__inner {
  width: min(100%, 1225px);
  max-width: 1225px;
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-hero__overline {
  display: none;
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-hero__title {
  max-width: 650px;
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-hero__lede {
  width: 100%;
  max-width: 680px;
  margin-top: 22px;
  overflow-wrap: anywhere;
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc {
  padding: 24px 20px 150px;
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__inner {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(48px, 7vw, 96px);
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__toc {
  position: sticky;
  top: 154px;
  max-height: calc(100vh - 184px);
  padding-right: 18px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(3, 15, 43, .3) transparent;
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__toc-label {
  display: block;
  margin-bottom: 20px;
  color: var(--color-gold-on-light);
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .18em;
  text-transform: uppercase;
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__toc nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 11px;
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__toc a {
  color: rgba(3, 15, 43, .76) !important;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  text-decoration: none !important;
  transition: color .22s ease, transform .22s ease;
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__toc a:is(:hover, :focus-visible) {
  color: var(--color-navy) !important;
  outline: none;
  transform: translateX(4px);
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__content {
  min-width: 0;
  padding-top: 42px;
  border-top: 1px solid rgba(3, 15, 43, .2);
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__updated {
  display: block;
  margin-bottom: 24px;
  color: rgba(3, 15, 43, .6);
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__content > h2:not(.visually-hidden) {
  margin: 58px 0 20px;
  padding-top: 52px;
  border-top: 1px solid rgba(3, 15, 43, .16);
  scroll-margin-top: 150px;
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__content > h2:not(.visually-hidden):target {
  color: var(--color-gold-on-light) !important;
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__content :is(ul, ol) {
  padding-left: 20px;
}

body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__content li::marker {
  color: var(--color-gold-on-light);
}

@media (max-width: 900px) {
  body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-hero {
    padding: 150px 16px 48px;
  }

  body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc {
    padding: 18px 16px 100px;
  }

  body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 54px;
  }

  body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__toc {
    position: static;
    max-height: none;
    padding: 0 0 42px;
    overflow: visible;
    border-bottom: 1px solid rgba(3, 15, 43, .2);
  }

  body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__toc a {
    font-size: 14px;
    line-height: 1.4;
  }

  body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__content {
    padding-top: 0;
    border-top: 0;
  }

  body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__content > h2:not(.visually-hidden) {
    margin-top: 48px;
    padding-top: 42px;
    scroll-margin-top: 120px;
  }
}

@media (max-width: 520px) {
  body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-hero {
    padding-top: 132px;
  }

  body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-hero__lede {
    margin-top: 16px;
    font-size: 16px !important;
  }

  body.update-subpage.interior-page[data-update-page]:is(.update-page-privacy-policy, .update-page-terms) main .legal-doc__toc nav {
    gap: 12px;
  }
}

/* ============================================================
   SEPTEMBER 2026 CONTRAST QA
   Keep interactive labels readable in every pointer/keyboard state and
   strengthen the Book a Flight card scrim behind its overlaid headings.
   ============================================================ */

/* The PCG hero sits on a light surface, so its CTA remains a dark pill in
   hover, focus, active, and visited states instead of inheriting the legacy
   transparent/gold hero-button treatment. */
body.update-subpage.update-page-private-client-group main
  .page-hero__caption-actions > .btn.btn--primary {
  border-color: #000 !important;
  background: #000 !important;
  color: #fff !important;
}

body.update-subpage.update-page-private-client-group main
  .page-hero__caption-actions > .btn.btn--primary:is(:hover, :focus-visible, :active, :visited) {
  border-color: #282828 !important;
  background: #282828 !important;
  color: #fff !important;
}

body.update-subpage.update-page-private-client-group main
  .page-hero__caption-actions > .btn.btn--primary:focus-visible {
  outline: 2px solid var(--color-navy, #030f2b);
  outline-offset: 4px;
}

/* The closing-panel version is light on a dark surface. Explicit active and
   visited states prevent the label from inheriting an unreadable link color. */
body.update-subpage.update-page-private-client-group main
  .pcg-closing__actions > .btn.btn--primary:is(:active, :visited) {
  border-color: #d4cec9 !important;
  background: rgba(255, 255, 255, .86) !important;
  color: var(--color-navy, #030f2b) !important;
}

/* The original top-transparent gradient placed the card eyebrows directly on
   bright aircraft imagery. A continuous navy scrim preserves the photography
   while providing dependable contrast for all three text levels. */
body.update-subpage.update-page-book-charter main .feature-card__overlay {
  background: linear-gradient(
    to top,
    rgba(3, 15, 43, .96) 0%,
    rgba(3, 15, 43, .72) 58%,
    rgba(3, 15, 43, .52) 100%
  );
}

body.update-subpage.update-page-book-charter main .feature-card__eyebrow {
  color: #fff1c2 !important;
  font-weight: 500 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .55);
}

body.update-subpage.update-page-book-charter main .feature-card__title {
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .5);
}

body.update-subpage.update-page-book-charter main .feature-card__body {
  color: rgba(255, 255, 255, .9) !important;
}
