/* Additive page and two-level navigation styles; the existing header/footer stay intact. */
.guest-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.guest-page { --guest-low:#f7f3f0; --guest-ink:#1c1b1a; --guest-muted:#5d5a57; --guest-line:rgba(112,91,47,.16); background:var(--guest-surface,#fdf9f6); color:var(--guest-ink); word-break:keep-all; overflow-wrap:anywhere; }
.guest-page [hidden] { display:none !important; }
.guest-page :is(h1,h2,h3,p,figure,dl,dd) { margin:0; }
.guest-container { width:100%; max-width:1600px; margin-inline:auto; padding-inline:clamp(24px,5.56vw,80px); }
.guest-page h1 { font-size:clamp(40px,4.45vw,64px); font-weight:300; line-height:1.25; letter-spacing:-.03125em; overflow-wrap:anywhere; }
.guest-page h2 { font-size:clamp(28px,2.78vw,40px); font-weight:300; line-height:1.4; letter-spacing:-.03em; overflow-wrap:anywhere; }
.guest-page h3 { font-size:24px; font-weight:400; line-height:1.5; letter-spacing:-.02em; }
.guest-eyebrow { font-size:11px; font-weight:500; line-height:18px; letter-spacing:1.8px; color:var(--guest-accent,#6f582d); }
.guest-lead { font-size:18px; line-height:30px; letter-spacing:-.2px; color:var(--guest-muted); }
.guest-body { font-size:16px; line-height:28px; letter-spacing:-.1px; color:var(--guest-muted); }
.guest-intro { padding-top:80px; padding-bottom:48px; display:grid; gap:24px; }
.guest-intro-row { display:grid; grid-template-columns:minmax(0,1.73fr) minmax(0,1fr); gap:80px; align-items:end; }
.guest-about-hero { width:100%; height:clamp(400px,43.06vw,720px); object-fit:cover; object-position:center; }
.guest-story { display:grid; grid-template-columns:minmax(0,600fr) minmax(0,560fr); gap:clamp(40px,8.33vw,120px); padding-block:120px; }
.guest-story figure img { width:100%; aspect-ratio:600/460; object-fit:cover; }
.guest-story figcaption { color:var(--guest-muted); margin-top:12px; }
.guest-story-copy { padding-top:48px; display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.guest-experience { padding-bottom:120px; }
.guest-experience > h2 { margin-top:24px; }
.guest-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:48px; }
.guest-editorial-card { display:flex; flex-direction:column; align-items:flex-start; gap:16px; min-width:0; }
.guest-editorial-card > img { width:100%; aspect-ratio:624/340; height:auto; object-fit:cover; }
.guest-text-link { display:inline-flex; gap:8px; align-items:center; font-size:14px; line-height:24px; padding-block:4px; text-underline-offset:5px; }
.guest-text-link:hover { text-decoration:underline; }
.guest-band { background:var(--guest-low); padding-block:80px; }
.guest-info-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:80px; }
.guest-info-intro,.guest-hotel-facts { display:flex; flex-direction:column; align-items:flex-start; gap:24px; min-width:0; }
.guest-facts-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; width:100%; border-top:1px solid var(--guest-line); padding-top:24px; }
.guest-facts-grid dd { font-size:24px; line-height:36px; margin-top:8px; overflow-wrap:anywhere; }
.guest-button { display:inline-flex; justify-content:center; align-items:center; gap:24px; border:1px solid var(--guest-ink); padding:16px 24px; font-size:14px; line-height:24px; min-height:56px; transition:background-color .18s,color .18s; }
.guest-button:hover { background:var(--guest-ink); color:white; }
.guest-button:hover .guest-icon { filter:invert(1); }
.guest-icon { display:block; flex:none; object-fit:contain; max-width:none; }
.guest-icon--arrow-right { width:20px; height:20px; }
.guest-icon--chevron-up,.guest-icon--chevron-down,.guest-icon--search { width:24px; height:24px; }
.guest-page :is(a,button,summary,input):focus-visible,.site-header :is(a,summary,button):focus-visible { outline:2px solid #b58c4b; outline-offset:5px; }
.guest-faq-search { padding-bottom:64px; }
.guest-search { display:flex; align-items:center; gap:24px; padding:24px 32px; background:white; border:1px solid var(--guest-line); }
.guest-search:focus-within { border-color:var(--guest-accent,#6f582d); box-shadow:0 0 0 1px var(--guest-accent,#6f582d); }
.guest-search input { width:100%; min-width:0; padding:0; border:0; border-radius:0; background:transparent; font-size:16px; line-height:28px; color:var(--guest-ink); }
.guest-search input:focus { outline:0; box-shadow:none; }
.guest-search input::placeholder { color:var(--guest-muted); opacity:1; }
.guest-faq-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:80px; padding-bottom:120px; }
.guest-faq:not(.is-enhanced) .guest-faq-layout { grid-template-columns:1fr; }
.guest-faq-categories { display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.guest-faq-categories button { font-size:16px; line-height:28px; color:var(--guest-muted); text-align:left; min-height:32px; }
.guest-faq-categories button[aria-pressed="true"] { color:var(--guest-accent,#6f582d); }
.guest-faq-categories button:hover { text-decoration:underline; text-underline-offset:5px; }
.guest-faq-item { border-bottom:1px solid var(--guest-line); }
.guest-faq-item[open] { background:var(--guest-low); border-color:transparent; }
.guest-faq-item summary { display:grid; grid-template-columns:24px minmax(0,1fr) 24px; align-items:center; gap:16px; padding:24px; font-size:18px; line-height:30px; list-style:none; cursor:pointer; }
.guest-faq-item summary::-webkit-details-marker,.guest-nav-group summary::-webkit-details-marker { display:none; }
.guest-faq-q { color:var(--guest-accent,#6f582d); }
.guest-faq-chevron { width:24px; height:24px; }
.guest-faq-item .guest-icon--chevron-up { display:none; }
.guest-faq-item[open] .guest-icon--chevron-up { display:block; }
.guest-faq-item[open] .guest-icon--chevron-down { display:none; }
.guest-faq-answer { padding:0 24px 24px 64px; font-size:16px; line-height:28px; color:var(--guest-muted); overflow-wrap:anywhere; }
.guest-faq-empty { padding:48px 24px; border-block:1px solid var(--guest-line); text-align:center; }
.guest-faq-empty p { margin-block:16px; }
.guest-support-grid { display:grid; grid-template-columns:minmax(0,720fr) minmax(0,440fr); gap:120px; }
.guest-support-grid h2 { margin-block:16px; }
.guest-support-contact { display:flex; flex-direction:column; gap:16px; align-items:flex-start; }
.guest-phone { font-size:clamp(24px,2.78vw,40px); font-weight:300; line-height:1.4; overflow-wrap:anywhere; }
.guest-nav-link { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:16px; font-weight:500; letter-spacing:.08em; line-height:24px; cursor:pointer; list-style:none; }
.guest-nav-group { position:relative; }
.guest-nav-group > summary { padding-block:19px; margin:0; }
.guest-nav-chevron { display:block; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); flex:none; }
.guest-nav-group[open] > summary .guest-nav-chevron { transform:rotate(225deg) translate(-1px,-1px); }
.guest-nav-panel { position:absolute; top:100%; left:50%; transform:translateX(-50%); min-width:230px; max-width:320px; padding:12px 0; background:#171614; border:1px solid rgba(255,255,255,.13); box-shadow:0 18px 36px #0003; color:white; z-index:55; }
.guest-nav-child { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:13px 24px; color:#f4eee5; font-size:14px; line-height:22px; }
.guest-nav-child:hover,.guest-nav-child:focus-visible { background:#ffffff0d; }
.guest-nav-child.is-active { color:#e1c28e; }
[data-site-nav] { max-height:calc(100dvh - 80px); overflow:auto; overscroll-behavior:contain; }
@media (max-width:1100px) {
    .guest-intro-row { gap:40px; }
    .guest-story { gap:48px; }
    .guest-info-grid { gap:48px; }
    .guest-facts-grid { gap:20px; }
    .guest-facts-grid dd { font-size:20px; }
    .guest-faq-layout { grid-template-columns:180px minmax(0,1fr); gap:40px; }
    .guest-support-grid { gap:48px; }
}
@media (max-width:767px) {
    .guest-container { padding-inline:24px; }
    .guest-page h1 { font-size:36px; line-height:48px; letter-spacing:-1.2px; }
    .guest-page h2 { font-size:24px; line-height:36px; font-weight:400; letter-spacing:-.5px; }
    .guest-intro { padding-top:64px; padding-bottom:32px; }
    .guest-intro-row { grid-template-columns:1fr; gap:24px; }
    .guest-about-hero { height:360px; }
    .guest-story { grid-template-columns:1fr; gap:32px; padding-block:64px; }
    .guest-story-copy { padding-top:0; }
    .guest-story figure img { aspect-ratio:342/280; }
    .guest-experience { padding-bottom:64px; }
    .guest-card-grid { grid-template-columns:1fr; gap:48px; margin-top:32px; }
    .guest-editorial-card > img { aspect-ratio:342/340; }
    .guest-band { padding-block:64px; }
    .guest-info-grid,.guest-support-grid { grid-template-columns:1fr; gap:32px; }
    .guest-facts-grid { grid-template-columns:1fr; gap:32px; }
    .guest-facts-grid dd { font-size:24px; }
    .guest-search { padding:16px; gap:12px; }
    .guest-search input { font-size:14px; line-height:24px; }
    .guest-faq-layout { grid-template-columns:1fr; gap:32px; padding-bottom:64px; }
    .guest-faq-categories { flex-direction:row; flex-wrap:wrap; gap:12px 20px; }
    .guest-faq-categories > .guest-eyebrow { display:none; }
    .guest-faq-categories button { font-size:14px; line-height:24px; min-height:36px; }
    .guest-faq-item summary { grid-template-columns:18px minmax(0,1fr) 24px; gap:12px; padding:24px 16px; font-size:16px; line-height:28px; }
    .guest-faq-answer { padding:0 16px 24px; }
    .guest-nav-group > summary { padding-block:8px; }
    .guest-nav-panel { position:static; transform:none; border:0; border-left:1px solid #ffffff26; margin-top:8px; background:transparent; box-shadow:none; max-width:none; padding:0; }
    .guest-nav-child { padding:12px 20px; }
    .guest-nav-link { font-size:14px; min-height:36px; }
}
@media (prefers-reduced-motion:reduce) { .guest-button { transition:none; } }
