/* The three O's are apertures into the venue, not a separate image gallery. */
.afterhours { --portal-ring:clamp(14px,3.3vw,54px); background:var(--sage); color:var(--forest); padding:34px 3.5% 24px; overflow:hidden; }
.afterhours a { color:inherit; text-decoration:none; }
.afterhours .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.afterhours__eyebrow { display:flex; justify-content:space-between; gap:20px; padding:0 1.5%; font-size:14px; }
.afterhours__word { display:grid; grid-template-columns:minmax(0,2.08fr) repeat(3,minmax(0,1fr)); align-items:center; gap:.7vw; margin:48px 0 0; }
.afterhours__tri { min-width:0; font:400 31vw/.78 var(--display); letter-spacing:-.08em; position:relative; top:-.55vw; transform:scaleX(.72); transform-origin:left center; }
.afterhours__portal { display:block; min-width:0; position:relative; aspect-ratio:.84; border:var(--portal-ring) solid var(--forest); border-radius:48%; background:var(--forest); outline-offset:9px; isolation:isolate;  }
.afterhours__window { display:block; position:absolute; inset:0; border-radius:45%; overflow:hidden; background:var(--linen); }
.afterhours__window img { width:100%; height:100%; object-fit:cover; filter:brightness(.55) saturate(.75); opacity:0; transition:opacity .5s; }
.afterhours__destination { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; font-size:clamp(13px,1.35vw,22px); color:var(--forest); transition:color .35s; }
.afterhours__destination > span { display:block; font-size:28px; transition:transform .5s; }
.afterhours__underlabel { display:none; }
.afterhours__portal:is(:hover,:focus-visible) img { opacity:1; }
.afterhours__portal:is(:hover,:focus-visible) .afterhours__destination { color:var(--linen); }
.afterhours__portal:is(:hover,:focus-visible) .afterhours__destination > span { transform:translate(4px,-4px); }
.afterhours__portal:focus-visible { outline:2px solid var(--forest); }
.afterhours__caption { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:28px 1.5% 34px; }
.afterhours__caption p { margin:0; font-size:14px; min-height:22px; }
.afterhours__return { display:flex; gap:20px; align-items:center; font-size:14px; min-height:44px; }
.afterhours__return span { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--forest); border-radius:50%; font-size:23px; transition:transform .3s; }
.afterhours__contact { display:flex; justify-content:space-between; align-items:end; gap:24px; padding:30px 1.5% 34px; border-top:1px solid var(--forest); }
.afterhours__contact > a { font-size:clamp(30px,5vw,76px); line-height:1; letter-spacing:-.055em; }
.afterhours__contact > div { display:flex; flex-direction:column; gap:6px; }
.afterhours__contact > div a { padding:5px 0; font-size:15px; }
.afterhours__contact a:hover { text-decoration:underline; text-underline-offset:6px; }
.afterhours__legal { display:flex; justify-content:space-between; gap:20px; padding:12px 1.5% 0; font-size:11px; }
@media(max-width:900px) {
 .afterhours__word { margin-top:40px; }
 .afterhours__destination { font-size:13px; }
 .afterhours__destination > span { font-size:21px; }
 .afterhours__eyebrow { font-size:12px; }
}
@media(max-width:600px) {
 .afterhours { padding:28px 20px 22px; --portal-ring:15px; }
 .afterhours__eyebrow { padding:0; font-size:11px; align-items:start; }
 .afterhours__eyebrow span:last-child { max-width:145px; text-align:right; }
 .afterhours__word { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:38px; }
 .afterhours__tri { transform:none; grid-column:1/-1; font-size:43vw; line-height:.75; letter-spacing:-.05em; margin-bottom:14px; }
 .afterhours__portal { aspect-ratio:.84; }
 .afterhours__window img { opacity:1; transform:none; filter:brightness(.72) saturate(.8); }
 .afterhours__destination { font-size:0; }
 .afterhours__destination > span { font-size:24px; color:var(--linen); }
 .afterhours__underlabel { display:block; position:absolute; top:calc(100% + var(--portal-ring) + 12px); left:calc(-1 * var(--portal-ring)); width:calc(100% + 2 * var(--portal-ring)); text-align:center; font-size:12px; white-space:nowrap; }
 .afterhours__caption { padding:54px 0 18px; align-items:center; }
 .afterhours__caption p { display:none; }
 .afterhours__return { margin-left:auto; font-size:12px; }
 .afterhours__return span { width:38px; height:38px; }
 .afterhours__contact { display:block; padding:28px 0 20px; }
 .afterhours__contact > a { font-size:clamp(30px,8.5vw,50px); }
 .afterhours__contact > div { flex-direction:row; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; margin-top:20px; }
 .afterhours__contact > div a { font-size:12px; min-height:34px; }
 .afterhours__legal { padding:12px 0 0; flex-wrap:wrap; gap:10px 18px; font-size:10px; }
 .afterhours__legal span:last-child { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 .afterhours *, .afterhours *::before { transition:none!important; }
}

.afterhours { position:relative; isolation:isolate; }
.afterhours > :not(.tropical-edge) { position:relative; z-index:1; }
.afterhours > .sr-only { position:absolute; }

@media(hover:none) and (min-width:601px) {
 .afterhours__window img { opacity:1; }
 .afterhours__destination { color:var(--linen); }
}
