/* The tour is framed like a private invitation, using Haile's existing type. */
.haile-tour { margin-top:6rem; background:#f5efe4; color:#29251c; padding:clamp(2rem,4vw,4rem) 1.25rem; }
.tour-entrance {max-width:76rem;margin:auto}
.tour-entrance>.eyebrow {margin-bottom:1.5rem}
.tour-entrance__picture {position:relative;isolation:isolate;min-height:36rem;display:flex;align-items:center;background:#263b30;overflow:hidden}
.tour-entrance__picture>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 55%;z-index:-2}
.tour-entrance__picture:after {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,33,24,.96),rgba(17,33,24,.76) 35%,rgba(17,33,24,.05) 80%)}
.tour-entrance__story {padding:3.5rem clamp(2rem,5vw,5rem);max-width:38rem;color:#f6efe1}
.tour-entrance__mark {font-family:var(--display);font-size:.85rem;letter-spacing:.25em;color:#dbc58f;margin:0 0 2.5rem}
.tour-entrance h1 {font:500 clamp(3rem,5vw,5.25rem)/1.02 var(--display);margin:0 0 1.5rem;max-width:11ch}
.tour-entrance h1 em {color:#dbc58f;font-weight:400}
.tour-entrance__story>p:not(.tour-entrance__mark) {font-size:1rem;line-height:1.7;max-width:29ch;color:#e2ddd1}
.tour-enter {display:inline-flex;gap:1rem;align-items:center;padding:0;min-height:64px;margin-top:2rem;border:0;background:none;color:#f7f0e4;cursor:pointer;font:500 .75rem var(--text);text-transform:uppercase;letter-spacing:.16em}
.tour-enter__circle {display:grid;place-items:center;width:58px;height:58px;border:1px solid #c1a56a;border-radius:50%;font-size:1.7rem;transition:background .25s,color .25s}
.tour-enter:hover .tour-enter__circle {background:#c1a56a;color:#1f3026}
.tour-entrance__folio {position:absolute;bottom:1.5rem;right:2rem;color:#efe6d3;font:italic 1.1rem var(--display)}
.tour-entrance__foot {display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 0;border-bottom:1px solid #d7cab1}
.tour-entrance__foot p {font-size:.8rem;color:#706756;margin:0}
.tour-stage {position:fixed;inset:0;z-index:10000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#20362b;color:#f5efdf;height:100dvh}
.tour-stage[hidden],.tour-error[hidden],.tour-loading[hidden] {display:none}
.tour-toolbar {display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;background:#f5efe4;color:#29251c;padding:.65rem clamp(1rem,3vw,3rem);padding-top:max(.65rem,env(safe-area-inset-top));border-bottom:1px solid #bba577}
.tour-stage button,.tour-stage a {font:500 .75rem var(--text);letter-spacing:.025em;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;border:0;background:transparent;color:inherit;cursor:pointer;text-decoration:none}
.tour-stage button:focus-visible,.tour-stage a:focus-visible,.tour-enter:focus-visible {outline:2px solid #bb9c5e;outline-offset:4px}
.tour-back {justify-self:start}
.tour-wordmark {font:500 1.1rem var(--display);letter-spacing:.3em}
.tour-reserve {justify-self:end;border-bottom:1px solid #b29c70!important}
.tour-viewport {position:relative;min-height:0;overflow:hidden}
.tour-viewport iframe {width:100%;height:100%;border:0;display:block}
.tour-loading,.tour-error {position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#20362b;text-align:center;padding:2rem}
.tour-loading .tour-wordmark {color:#d1b97f;font-size:1.6rem}
.tour-loading p {font:italic 1.3rem var(--display);color:#e1d9c9;margin-top:1rem}
.tour-error h2 {font:400 2.3rem var(--display)}
.tour-error p {max-width:32rem}
.tour-error a,.tour-error button {text-decoration:underline}
.tour-controls {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem clamp(1rem,3vw,3rem);padding-bottom:max(.65rem,env(safe-area-inset-bottom));border-top:1px solid #76836b}
.tour-location {text-align:center;display:flex;flex-direction:column;gap:.15rem}
.tour-location>span {font:500 1.3rem var(--display)}
.tour-location small {font:400 .65rem var(--text);color:#c1c8b9}
.tour-controls__tools {display:flex;gap:1.1rem}
.tour-controls button:hover {color:#dec794}
.tour-places {inset:0 auto 0 0;margin:0;width:min(25rem,100%);max-width:100%;max-height:100dvh;height:100dvh;box-sizing:border-box;padding:2rem;color:#29251c;background:#f5efe4;border:0;border-right:1px solid #bba577;overflow-y:auto}
.tour-places::backdrop {background:rgba(13,24,17,.5)}
.tour-places header {display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}
.tour-places h2 {font:500 2.7rem/1.1 var(--display);margin:.6rem 0}
.tour-places header button {font-size:1.7rem;width:44px;flex-shrink:0}
.tour-places h3 {font:500 .65rem var(--text);text-transform:uppercase;letter-spacing:.18em;color:#80683e;margin:1.4rem 0 .5rem}
.tour-places [data-tour-scene-list] button {display:flex;justify-content:space-between;width:100%;font:500 1.4rem var(--display);border-bottom:1px solid #ded4c1;padding:.6rem 0;text-align:left}
.tour-places [aria-current=true] {color:#876b32}
.tour-places__note {font:italic 1.1rem var(--display);color:#756b59;margin-top:1.5rem}
body.tour-is-open {overflow:hidden}
body.tour-is-open>.masthead,body.tour-is-open>.folio {visibility:hidden}
@media(max-width:700px){
 .haile-tour {padding:1.6rem 1rem 2.5rem}
 .tour-entrance__picture {min-height:34rem}
 .tour-entrance__story {padding:2rem 1.6rem}
 .tour-entrance__picture>img {object-position:62% 50%}
 .tour-entrance__picture:after {background:linear-gradient(90deg,rgba(17,33,24,.82),rgba(17,33,24,.27))}
 .tour-entrance__mark {margin-bottom:2rem}
 .tour-entrance__folio {font-size:.9rem;right:1.3rem;bottom:1.1rem}
 .tour-entrance__foot {align-items:flex-start;flex-direction:column}
 .tour-toolbar {grid-template-columns:1fr auto;padding-inline:.8rem;gap:.5rem}
 .tour-toolbar .tour-wordmark {display:none}
 .tour-controls {display:grid;grid-template-columns:1fr auto;gap:0 .5rem;padding:.4rem .8rem}
 .tour-controls>button {justify-content:flex-start}
 .tour-location {grid-row:1;grid-column:2;text-align:right}
 .tour-location small {display:none}
 .tour-controls__tools {grid-column:1/-1;justify-content:space-between;border-top:1px solid #586c5c;gap:.5rem}
 .tour-stage button,.tour-stage a {font-size:.72rem}
 .tour-places [data-tour-scene-list] button {font-size:1.3rem}
}

.tour-entrance__picture>picture {position:absolute;inset:0;z-index:-2;width:100%;height:100%}
.tour-entrance__picture>picture img {width:100%;height:100%;object-fit:cover;object-position:65% 55%}
body.tour-is-open .analytics-banner {display:none}

.tour-stage [hidden] {display:none!important}
.tour-entrance__picture>picture {display:block}
@media(max-width:700px){.tour-entrance__picture>picture img{object-position:62% 50%}}
