.asgi{--asgi-ink:#272219;--asgi-cream:#f5f0e8;--asgi-gold:#c9a84c;--asgi-muted:#695d50;background:var(--asgi-cream);color:var(--asgi-ink);font-family:var(--font-body,'Jost',system-ui,sans-serif);font-weight:400;padding:4rem 0;scroll-margin-top:100px}
.asgi *,.asgi *::before,.asgi *::after{box-sizing:border-box}
.asgi [hidden]{display:none!important}
.asgi__shell{width:min(100% - 3rem,1240px);margin-inline:auto}
.asgi h2,.asgi h3{font-family:var(--font-display,Georgia,serif);font-weight:400;line-height:1.2;letter-spacing:-.02em;color:inherit;margin:0}
.asgi p{font-weight:400;margin:0;line-height:1.65}
.asgi a{text-decoration:none}
.asgi button{font:inherit;cursor:pointer;touch-action:manipulation}
.asgi a:focus-visible,.asgi button:focus-visible,.asgi [tabindex]:focus-visible{outline:3px solid #97722a;outline-offset:4px}
.asgi__heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.5rem}
.asgi .asgi__eyebrow{font-size:.68rem;line-height:1.5;letter-spacing:.2em;text-transform:uppercase;color:#80601f;margin:0 0 .7rem}
.asgi__heading h2{font-size:clamp(2.2rem,4vw,3.35rem)}
.asgi .asgi__intro{max-width:31rem;font-size:.94rem;color:var(--asgi-muted)}
.asgi .asgi__notice{padding:1rem 1.2rem;background:#eae1d3;border-left:3px solid #b38b3b;color:#524633;font-size:.83rem;margin-bottom:1.5rem}
.asgi__notice span{color:#80601f;margin-right:.45rem}
.asgi__filters{display:flex;flex-wrap:wrap;gap:.5rem}
.asgi__filter{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;padding:.6rem .85rem;background:transparent;border:1px solid #cdbfa9;border-radius:2px;color:#554632;font-size:.79rem!important;line-height:1.3;transition:background .18s,color .18s}
.asgi__filter span{font-size:.65rem;font-variant-numeric:tabular-nums}
.asgi__filter:hover{background:#e6dbc8}
.asgi__filter.is-active{background:#2c261c;color:#f8ead0;border-color:#2c261c}
.asgi .asgi__results{margin:1.2rem 0 1.5rem;font-size:.8rem;color:#665641;scroll-margin-top:110px}
.asgi__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.25rem}
.asgi__card{min-width:0;margin:0}
.asgi__photo{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#e2d8c9}
.asgi__photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.asgi__photo:hover img{transform:scale(1.025)}
.asgi__open{position:absolute;bottom:.75rem;right:.75rem;display:grid;place-items:center;width:35px;height:35px;background:#f5f0e8;border-radius:50%;color:#30291d;font-size:1.2rem;box-shadow:0 1px 8px #211b1533}
.asgi__card figcaption{padding:.8rem .1rem 0}
.asgi .asgi__room{font-size:.58rem;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;color:#78591d;margin:0 0 .35rem}
.asgi__room span{margin-inline:.25rem}
.asgi__card h3{font-size:1.3rem;letter-spacing:0;line-height:1.28}
.asgi__expand-wrap{display:flex;justify-content:center;margin-top:2rem}
.asgi__button{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.85rem 1.25rem;border:1px solid transparent;border-radius:2px;font:500 .75rem/1.4 var(--font-body,'Jost',system-ui,sans-serif)!important;letter-spacing:.06em;text-transform:uppercase;text-align:center}
.asgi__button--light{color:#433724;border-color:#a88c5a;background:transparent}
.asgi__button--light:hover{background:#e6d9c2}
.asgi__button--gold{background:var(--asgi-gold);color:#211b15}
.asgi__button--gold:hover{background:#dfc373;color:#211b15}
.asgi__button--outline{border-color:#cbbd9f;background:transparent;color:#f5ead6}
.asgi__button--outline:hover{background:#f5ead6;color:#211b15}
.asgi__contact{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem 2.25rem;margin-top:3rem;background:#29241b;color:#f6ead4;border-top:1px solid #b59652}
.asgi__contact .asgi__eyebrow{color:#dec17b}
.asgi__contact h3{font-size:clamp(1.6rem,2.6vw,2.2rem)}
.asgi__contact p:not(.asgi__eyebrow){max-width:34rem;margin-top:.65rem;color:#d3c7b4;font-size:.88rem}
.asgi__actions{display:flex;flex-direction:column;gap:.6rem;flex-shrink:0;min-width:205px}
.asgi .asgi__unavailable,.asgi .asgi__nojs{padding:1rem;background:#eae1d3;color:#514636;font-size:.9rem;margin-block:1rem}
.asgi__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}
.asgi__dialog{position:fixed;inset:0;width:min(1180px,calc(100% - 2rem));max-width:none;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);margin:auto;padding:1rem 1.1rem 1.2rem;border:1px solid #65543c;background:#191612;color:#f5f0e8;box-shadow:0 20px 90px #0009;overflow:auto;overscroll-behavior:contain}
.asgi__dialog:not([open]){display:none}
.asgi__dialog::backdrop{background:rgba(12,10,8,.94)}
.asgi__dialog-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem}
.asgi__dialog-top p{color:#d4c2a4;font-size:.76rem;letter-spacing:.06em}
.asgi__dialog button{min-width:44px;min-height:44px;color:#f7e8c9;border:1px solid #706048;background:#2b251b}
.asgi__dialog button:hover{background:#51432b}
.asgi__dialog button:disabled{opacity:.35;cursor:default}
.asgi__close{display:flex;align-items:center;gap:.8rem;padding:.45rem .8rem;font-size:.8rem!important}
.asgi__close span{font-size:1.5rem;line-height:1}
.asgi__stage{position:relative;display:grid;place-items:center;min-height:150px;background:#100e0b}
.asgi__large-image{display:block;width:100%;height:clamp(150px,65vh,760px);height:clamp(150px,65dvh,760px);max-height:calc(100vh - 260px);max-height:calc(100dvh - 260px);object-fit:contain}
.asgi__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1;width:48px;height:48px;font-size:1.4rem!important;background:#191612e8!important}
.asgi__arrow:hover{background:#51432b!important}
.asgi__arrow--previous{left:.6rem}
.asgi__arrow--next{right:.6rem}
.asgi__dialog-caption{padding:1rem .15rem 0}
.asgi .asgi__dialog-room{font-size:.63rem;letter-spacing:.13em;text-transform:uppercase;color:#e1c077}
.asgi__dialog-caption h3{font-size:1.55rem;margin:.25rem 0 .45rem;letter-spacing:0}
.asgi [data-asgi-dialog-note]{font-size:.77rem;color:#c9bdab;line-height:1.5}
.asgi .asgi__image-error{color:#ffe2a2;font-size:.84rem;margin-top:.6rem}
.asgi__image-error a{color:#ffe2a2;text-decoration:underline}
@media(max-width:1000px){.asgi__heading{align-items:flex-start;flex-direction:column;gap:.8rem}.asgi .asgi__intro{max-width:42rem}.asgi__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asgi__contact{padding:1.75rem;gap:1.5rem}}
@media(max-width:650px){.asgi{padding:3rem 0}.asgi__shell{width:calc(100% - 2rem)}.asgi__grid{gap:1.5rem .8rem}.asgi__card h3{font-size:1.15rem}.asgi__filter{padding:.6rem .7rem;font-size:.74rem!important}.asgi .asgi__notice{padding:.85rem 1rem}.asgi__contact{flex-direction:column;align-items:stretch;padding:1.5rem;margin-top:2.5rem}.asgi__actions{flex-direction:row;flex-wrap:wrap;min-width:0}.asgi__actions a{flex:1}.asgi__dialog{width:calc(100% - 1rem);max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem);padding:.65rem .6rem 1rem}.asgi__dialog-caption h3{font-size:1.35rem}.asgi__large-image{max-height:calc(100vh - 275px);max-height:calc(100dvh - 275px)}.asgi__arrow{top:auto;bottom:.45rem;transform:none;width:44px;height:44px}.asgi__arrow--previous{left:.45rem}.asgi__arrow--next{right:.45rem}}
@media(max-width:430px){.asgi__grid{grid-template-columns:1fr}.asgi__card h3{font-size:1.35rem}.asgi__actions{flex-direction:column}.asgi__open{right:.65rem;bottom:.65rem}}
@media(prefers-reduced-motion:reduce){.asgi *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
