.stay-intro { padding-bottom: 28px; text-align: center; }
.stay-intro h2, .guest-faq h2, .destination-heading h1, .destination-guide h2, .destination-list-heading { font-family: var(--font-heading); font-weight: 500; line-height: 1.12; letter-spacing: -.6px; }
.stay-intro h2 { font-size: clamp(28px,3vw,38px); margin-bottom: 12px; }
.stay-intro p { max-width: 920px; margin-inline: auto; color: #62676b; font-size: 15px; line-height: 1.8; }
.guest-faq { padding-block: 56px; }
.guest-faq h2 { font-size: clamp(30px,3vw,40px); margin-bottom: 24px; }
/* Match the reference accordion spacing and typography; keep the arrow circles gray. */
.guest-faq-list { max-width: 920px; display: grid; gap: 30px; }
.guest-faq details { border: 1px solid #fdfdfe; border-radius: 20px; background: #fff; box-shadow: 0 6px 20px rgb(30 35 45 / 0%); transition: box-shadow .3s ease-in-out, border-color .3s ease-in-out; }
.guest-faq details:hover, .guest-faq details[open] { border-color: #fff; box-shadow: 0 6px 20px rgb(30 35 45 / 8%); }
.guest-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 71px; cursor: pointer; padding: 0 60px; color: #262628; font-family: var(--font-body); font-size: 15px; font-weight: 800; line-height: 1.8; list-style: none; }
.guest-faq summary > span:first-child { min-width: 0; }
.guest-faq summary::-webkit-details-marker { display: none; }
.guest-faq summary::marker { content: ''; }
.guest-faq summary:focus-visible { outline: 2px solid #3284c9; outline-offset: 4px; }
.guest-faq details[open] summary { border-bottom: 1px solid #fdfdfe; }
.guest-faq details p { font-family: var(--font-body); font-size: 15px; font-weight: 400; line-height: 1.8; color: #262628; padding: 45px 60px; margin: 0; }
.guest-faq-arrow { display: grid; place-items: center; flex: 0 0 50px; width: 50px; height: 50px; border: 1px solid #f0f1f2; border-radius: 50%; color: #303438; background: #f0f1f2; transition: background .3s ease-in-out, border-color .3s ease-in-out; }
.guest-faq-arrow svg { width: 16px; height: 14px; transition: transform .3s ease-in-out; }
.guest-faq details[open] .guest-faq-arrow { background: #e3e5e7; border-color: #e3e5e7; color: #303438; }
.guest-faq details[open] .guest-faq-arrow svg { transform: scaleX(-1) rotate(90deg); }
@media (hover:hover) and (pointer:fine) {
  .guest-faq details:not([open]) summary:hover .guest-faq-arrow { background: #e3e5e7; border-color: #e3e5e7; }
  .guest-faq summary:hover .guest-faq-arrow svg { transform: scaleX(-1) rotate(90deg); }
}
@media (max-width:767px) {
  .guest-faq summary { padding-inline: 30px; }
  .guest-faq details p { padding: 30px; }
}
@supports (interpolate-size: allow-keywords) and selector(details::details-content) and (transition-behavior: allow-discrete) {
  .guest-faq details { interpolate-size: allow-keywords; }
  .guest-faq details::details-content { height: 0; overflow: hidden; transition: height .3s ease-in-out, content-visibility .3s allow-discrete; }
  .guest-faq details[open]::details-content { height: auto; }
}
@media (prefers-reduced-motion:reduce) {
  .guest-faq details, .guest-faq-arrow, .guest-faq-arrow svg { transition: none; }
  .guest-faq details::details-content { transition: none; }
}
.property-page-article .guest-faq { padding-top: 0; }
.contact-section.contact-faq { margin-top: 0; background: #fff; }
.contact-faq .contact-content { align-items: flex-start; gap: clamp(40px,6vw,88px); }
.contact-faq .contact-questions { flex: 1; min-width: 0; padding: 0; }
.contact-faq .guest-faq h2 { font-size: clamp(30px,3vw,40px); font-weight: 500; line-height: 1.12; letter-spacing: -.6px; margin-bottom: 24px; }
.contact-faq .guest-faq details p { font-size: 15px; line-height: 1.8; color: #262628; margin: 0; }
.contact-faq .contact-actions { flex: 0 0 clamp(300px,28vw,360px); min-width: 0; align-self: stretch; align-items: center; justify-content: center; padding: 36px 28px; border-radius: 28px; background: #f3f4f5; text-align: center; }
.contact-faq .contact-phone { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 280px; min-height: 56px; padding: 14px 16px; border: 0; border-radius: 999px; background: #202124; color: #fff; font-size: 24px; white-space: nowrap; text-align: center; }
.contact-faq .contact-phone:hover { background: #e3e5e7; color: #303438; }
.contact-faq .contact-email { display: block; align-self: stretch; width: 100%; margin: 16px 0 0; font-size: 15px; text-align: center; }
.contact-faq .contact-actions .button { justify-content: center; }
@media (max-width:800px) {
  .contact-faq .contact-content { flex-direction: column; gap: 32px; }
  .contact-faq .contact-questions, .contact-faq .contact-actions { width: 100%; min-width: 0; }
  .contact-faq .contact-actions { flex-basis: auto; min-height: 220px; padding: 32px 24px; }
  .contact-faq .contact-phone { font-size: clamp(21px,6vw,24px); }
}
.property-page-article .property-summary { color: #303940; font-weight: 500; }
.property-destination-link { display: inline-flex; margin-top: 16px; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.destination-heading { max-width: 920px; padding-block: 12px 26px; }
.destination-heading .eyebrow { color: #62676b; margin-bottom: 14px; }
.destination-heading h1 { font-size: clamp(40px,4.5vw,60px); margin-bottom: 20px; }
.destination-heading p, .destination-guide p { font-size: 15px; line-height: 1.85; color: #62676b; }
.destination-list-heading { font-size: 32px; margin: 24px 0; }
.destination-catalog { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px 24px; }
.destination-catalog .property-card { min-width: 0; width: 100%; }
.destination-guide { max-width: 920px; margin-top: 48px; }
.destination-guide h2 { font-size: 34px; margin-bottom: 18px; }
.destination-guide p + p { margin-top: 16px; }
.destination-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 24px; }
.destination-links a { font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.destination-contact { margin-top: 12px; padding: 28px; border-radius: 20px; background: #eaf5fc; }
.destination-contact h2 { font: 500 32px/1.15 var(--font-heading); margin-bottom: 12px; }
.destination-contact a { display: inline-block; margin: 10px 24px 0 0; font-size: 16px; }
@media (max-width:900px) { .destination-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) {
  .stay-intro { padding-bottom: 22px; }
  .stay-intro p { font-size: 14px; }
  .guest-faq { padding-block: 36px; }
  .destination-catalog { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .destination-heading { padding-top: 0; }
  .destination-contact { padding: 22px; }
}
