/* Owner-approved Papyrus accent preview, 2026-09-15. */
@font-face {
  font-family: 'Hospitality Papyrus';
  src: url('./assets/fonts/papyrus-preview-20260915.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
:root { --hospitality-accent-font: 'Hospitality Papyrus', Papyrus, fantasy; }
body .eyebrow,
body .about-values-script,
body .about-love-brand,
body .stay-included-script,
body .home-memory-line-script,
body .home-memory-line-kicker {
  font-family: var(--hospitality-accent-font) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: 0;
  line-height: 1.3;
}
body .eyebrow { font-size: clamp(22px, 2.1vw, 28px); }
body .about-values-script,
body .about-love-brand,
body .stay-included-script { font-size: clamp(28px, 3vw, 40px); }
body .home-memory-line-script {
  font-size: clamp(28px, 3.5vw, 48px);
  white-space: normal;
}
body .home-memory-line-kicker { font-size: clamp(22px, 2.1vw, 28px); }
@media (min-width: 981px) and (pointer: fine) {
  body .eyebrow { font-size: clamp(17.6px, 2.1vw, 22.4px); }
  body .about-values-script,
  body .about-love-brand,
  body .stay-included-script { font-size: clamp(22.4px, 3vw, 32px); }
  body .home-memory-line-script { font-size: clamp(22.4px, 3.5vw, 38.4px); }
  body .home-memory-line-kicker { font-size: clamp(17.6px, 2.1vw, 22.4px); }
}

/* Logo colour for decorative accents and primary actions. */
:root { --hospitality-brand: #754b33; }
body :is(.eyebrow, .about-values-script, .about-love-brand, .stay-included-script, .home-memory-line-script, .home-memory-line-kicker) {
  color: var(--hospitality-brand) !important;
}
body :is(.about-rule, .home-rule, .stay-rule, .experience-rule) { background-color: var(--hospitality-brand) !important; }
body .button.primary,
body .site-header.is-condensed .header-book-panel {
  background-color: var(--hospitality-brand) !important;
  border-color: var(--hospitality-brand) !important;
  color: #fff;
}
body .button.primary:hover,
body .site-header.is-condensed .header-book-panel:hover {
  background-color: color-mix(in srgb, var(--hospitality-brand) 85%, #000);
  border-color: color-mix(in srgb, var(--hospitality-brand) 85%, #000);
}
/* White accents remain readable over photography. */
body :is(.hero, .home-ref-hero, .stay-hero-full, .about-hero, .experiences-hero-full, .gallery-hero-full, .contact-hero, .home-final-ref, .about-book-cta, .home-memory-line-ref) :is(.eyebrow, .home-memory-line-script, .home-memory-line-kicker) { color: #fff !important; }

/* Papyrus headings; paragraph typography remains independent. */
body :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--hospitality-accent-font) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-synthesis: none;
  line-height: 1.25;
}

/* Social links follow each site's logo colour. */
body :is(.footer-social, .gallery-socials) a {
  background-color: var(--hospitality-brand) !important;
  color: #fff !important;
  border-color: var(--hospitality-brand) !important;
}
body :is(.footer-social, .gallery-socials) a:hover,
body :is(.footer-social, .gallery-socials) a:focus-visible {
  background-color: var(--hospitality-brand) !important;
  border-color: var(--hospitality-brand) !important;
  color: #fff !important;
}

/* Montserrat Medium eyebrows contrast with the Papyrus headings. */
@font-face {
  font-family: 'Hospitality Montserrat';
  src: url('./assets/fonts/montserrat-medium-20260915.ttf') format('truetype');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
body .eyebrow,
body .home-memory-line-kicker,
body .about-love-kicker {
  font-family: 'Hospitality Montserrat', Montserrat, sans-serif !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: .12em !important;
  line-height: 1.5 !important;
  text-transform: uppercase !important;
}
@media (max-width: 980px) {
  body .eyebrow,
  body .home-memory-line-kicker,
  body .about-love-kicker { font-size: 13px !important; }
}

/* FAQ card question headings: clear hierarchy within the eyebrow style, 2026-09-16. */
body main :is(.home-answer-card, .stay-answer-card, .experience-answer-card, .contact-answer-card) h3 {
  color: var(--hospitality-brand) !important;
  font-family: 'Hospitality Montserrat', Montserrat, sans-serif !important;
  font-size: 17px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}
@media (max-width: 980px) {
  body main :is(.home-answer-card, .stay-answer-card, .experience-answer-card, .contact-answer-card) h3 { font-size: 15px !important; }
}

/* Desktop footer: shared heading and artwork rows for awards and sister lodge, 2026-09-16. */
@media (min-width: 981px) {
  .site-footer .footer-sister-lodge { align-self: start; }
  .site-footer .footer-sister-lodge > a {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
  }
}

/* Full-bleed footer band and accent scroll-to-top control, 2026-09-16. */
.site-footer .footer-minimal::before {
  background: #faf8f3;
  inset-block: 0;
  left: 50%;
  margin: 0;
  transform: translateX(-50%);
  width: 125vw; /* Compensates for the fixed 80% desktop zoom. */
}
.site-footer .scroll-to-top,
.site-footer .scroll-to-top:is(:hover, :focus-visible) {
  background: var(--hospitality-brand);
  border-color: var(--hospitality-brand);
  color: #fff;
}

/* Desert Breeze Contact detail presentation, 2026-09-16. */
.contact-page .contact-item { column-gap: 20px; grid-template-columns: 28px minmax(0, 1fr); }
.contact-page .contact-item > span { display: grid; font-size: 26px; place-items: start center; }
.contact-page .contact-item strong { color: var(--stiltz-charcoal); font-family: 'Hospitality Montserrat', Montserrat, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.contact-page .contact-item a { color: var(--stiltz-charcoal) !important; text-decoration: none; }
.contact-page .contact-item a:is(:hover, :focus-visible) { color: var(--hospitality-brand) !important; outline: 0; }


/* Smaller mobile/tablet heading hierarchy, approved 2026-09-16.
   Values are before the existing 0.8 page scale; keep small labels readable. */
@media (max-width: 980px), (pointer: coarse) {
  main {
    --small-screen-faq: 15px;
    --small-screen-h1: 28px;
    --small-screen-h2: 30px;
    --small-screen-h3: 22px;
    --small-screen-h4: 20px;
    --small-screen-h5: 18px;
    --small-screen-h6: 16px;
    --small-screen-script: 26px;
    --small-screen-banner-script: 30px;
    --small-screen-banner-lead: 22px;
  }
  html body main[class] h1:not(.home-experiences-ref *) { font-size: var(--small-screen-h1) !important; }
  html body main[class] h2:not(.home-experiences-ref *) { font-size: var(--small-screen-h2) !important; }
  html body main[class] h3:not(.home-experiences-ref *) { font-size: var(--small-screen-h3) !important; }
  html body main[class] h4:not(.home-experiences-ref *) { font-size: var(--small-screen-h4) !important; }
  html body main[class] h5:not(.home-experiences-ref *) { font-size: var(--small-screen-h5) !important; }
  html body main[class] h6:not(.home-experiences-ref *) { font-size: var(--small-screen-h6) !important; }
  html body main[class] :is(h1, h2, h3, h4, h5, h6):not(.home-experiences-ref *) { line-height: 1.25; }
  html body main[class] :is(.home-answer-card, .stay-answer-card, .experience-answer-card, .contact-answer-card) h3 {
    font-size: var(--small-screen-faq) !important;
    line-height: 1.35 !important;
  }
  html body main[class].about-page .about-love article h3 { font-size: 20px !important; }
  html body main[class] :is(.about-values-script, .about-love-brand, .stay-included-script) {
    font-size: var(--small-screen-script) !important;
    line-height: 1.3;
  }
  html body main[class] .about-values-main { font-size: var(--small-screen-h2) !important; line-height: 1.25; }
  html body main[class] :is(.home-space-intro .about-values-main, .home-memory-line-main) { font-size: var(--small-screen-banner-lead) !important; line-height: 1.25; }
  html body main[class] .home-memory-line-script {
    font-size: var(--small-screen-banner-script) !important;
    line-height: 1.25;
  }
}
@media (max-width: 640px) {
  main {
    --small-screen-h1: 24px;
    --small-screen-h2: 28px;
    --small-screen-h3: 20px;
    --small-screen-h4: 18px;
    --small-screen-h5: 16px;
    --small-screen-h6: 15px;
    --small-screen-script: 24px;
    --small-screen-banner-script: 26px;
    --small-screen-banner-lead: 20px;
  }
  html body main[class] .stay-award-content h2 { font-size: 23px !important; }
  html body main[class] .gallery-share h2 { font-size: 26px !important; }
  html body main[class].about-page .about-love article h3 { font-size: 18px !important; }
}
@media (min-width: 981px) and (pointer: coarse) {
  main { --small-screen-faq: 17px; }
}
