.st-accommodation{--navy:#082b45;--aqua:#13a7b4;--orange:#f58220;--ink:#203746;--soft:#f2f8f8;color:var(--ink);background:#fff;font-family:var(--st-font-family-body,inherit)}
.st-accommodation *{box-sizing:border-box}.st-accommodation img{display:block;width:100%;height:100%;object-fit:cover}.st-accommodation h1,.st-accommodation h2,.st-accommodation h3,.st-accommodation p{margin-top:0}.st-accommodation h1,.st-accommodation h2,.st-accommodation h3{font-family:var(--st-font-family-heading,inherit);text-wrap:balance}.st-accommodation h2{color:var(--navy);font-size:clamp(2rem,5vw,3.4rem);line-height:1.08}.st-accommodation__container{width:min(100% - 2.5rem,1200px);margin-inline:auto}.st-accommodation__section{padding:clamp(4rem,8vw,7rem) 0}.st-accommodation__section--soft{background:var(--soft)}.st-accommodation__section--navy{color:#fff;background:var(--navy)}.st-accommodation__section--navy h2{color:#fff}.st-accommodation__section-header{max-width:760px;margin:0 auto 2.5rem;text-align:center}.st-accommodation__section-header>p:last-child{font-size:1.1rem;line-height:1.7}.st-accommodation__eyebrow{margin-bottom:.75rem;color:var(--orange);font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.st-accommodation__hero{position:relative;isolation:isolate;display:grid;min-height:min(88vh,850px);place-items:end start;padding:clamp(6rem,12vw,10rem) 1.25rem 5rem;color:#fff;background:var(--navy)}.st-accommodation__hero::before,.st-accommodation__final::before{position:absolute;z-index:-2;inset:0;background-image:var(--st-accommodation-hero);background-position:center;background-size:cover;content:""}.st-accommodation__hero::after,.st-accommodation__final::after{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(4,27,43,.9),rgba(4,27,43,.25));content:""}.st-accommodation__hero-inner{width:min(100%,1200px);margin-inline:auto}.st-accommodation__hero h1{max-width:800px;margin-bottom:1.25rem;color:#fff;font-size:clamp(2.7rem,8vw,5.7rem);line-height:.98}.st-accommodation__lead{max-width:700px;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.65}.st-accommodation__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.st-accommodation__button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.35rem;border:2px solid transparent;border-radius:999px;color:var(--navy);background:var(--orange);font-weight:800;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.st-accommodation__button:hover{transform:translateY(-2px);box-shadow:0 .75rem 1.5rem rgba(0,0,0,.18)}.st-accommodation__button:focus-visible{outline:3px solid var(--aqua);outline-offset:3px}.st-accommodation__button.is-secondary{border-color:#fff;color:#fff;background:transparent}.st-accommodation__rooms{display:grid;grid-template-columns:1fr;gap:1.5rem}.st-accommodation__room-card{overflow:hidden;border-radius:1.1rem;background:#fff;box-shadow:0 .7rem 2.2rem rgba(8,43,69,.1)}.st-accommodation__room-card>img{height:280px}.st-accommodation__room-body{padding:1.5rem}.st-accommodation__room-fit{margin-bottom:.4rem;color:var(--aqua);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.st-accommodation__room-card h3{margin-bottom:.45rem;color:var(--navy);font-size:1.65rem}.st-accommodation__room-capacity{font-weight:700}.st-accommodation__room-card ul{display:grid;gap:.35rem;margin:1rem 0;padding-left:1.2rem}.st-accommodation__room-price{font-weight:800}.st-accommodation__profiles,.st-accommodation__offers{display:grid;grid-template-columns:1fr;gap:1rem}.st-accommodation__profiles article,.st-accommodation__offers article{padding:1.6rem;border-radius:1rem;background:#fff;box-shadow:0 .4rem 1.5rem rgba(8,43,69,.08)}.st-accommodation__profiles h3,.st-accommodation__offers h3{color:var(--navy);font-size:1.35rem}.st-accommodation__profiles a{color:var(--navy);font-weight:800}.st-accommodation__split{display:grid;gap:2rem;align-items:center}.st-accommodation__split>img{min-height:360px;max-height:600px;border-radius:1.1rem}.st-accommodation__split ul{display:grid;gap:.6rem;padding-left:1.2rem}.st-accommodation__offers article{color:var(--ink)}.st-accommodation__gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px;gap:.75rem}.st-accommodation__gallery figure{min-width:0;margin:0;overflow:hidden;border-radius:.75rem}.st-accommodation__gallery figure:first-child{grid-column:1/-1;grid-row:span 2}.st-accommodation__location{max-width:800px;text-align:center}.st-accommodation__final{position:relative;isolation:isolate;display:grid;min-height:600px;padding:5rem 1.25rem;color:#fff;place-items:center;text-align:center;background:var(--navy)}.st-accommodation__final::before{background-image:var(--st-accommodation-final)}.st-accommodation__final::after{background:rgba(4,27,43,.72)}.st-accommodation__final>div{max-width:780px}.st-accommodation__final h2{color:#fff;font-size:clamp(2.3rem,6vw,4.4rem)}.st-accommodation__final p{font-size:1.1rem;line-height:1.7}
.st-accommodation__price-note{max-width:760px;margin:2rem auto .5rem;color:#475c68;font-size:1rem;line-height:1.6;text-align:center}
.st-accommodation__room-actions{display:flex;flex-wrap:wrap;gap:.65rem}.st-accommodation__button.is-card-secondary{border-color:var(--navy);color:var(--navy);background:transparent}
.st-accommodation__room-card{display:flex;height:100%;flex-direction:column}.st-accommodation__room-body{display:flex;flex:1;flex-direction:column}.st-accommodation__room-price{margin-top:auto}.st-accommodation__room-actions{align-items:center}
@media(min-width:700px){.st-accommodation__rooms{grid-template-columns:repeat(2,minmax(0,1fr))}.st-accommodation__profiles{grid-template-columns:repeat(2,minmax(0,1fr))}.st-accommodation__offers{grid-template-columns:repeat(2,minmax(0,1fr))}.st-accommodation__gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:230px}.st-accommodation__gallery figure:first-child{grid-column:span 2;grid-row:span 2}}
@media(min-width:960px){.st-accommodation__rooms{grid-template-columns:repeat(2,minmax(0,1fr))}.st-accommodation__room-card>img{height:340px}.st-accommodation__profiles{grid-template-columns:repeat(4,minmax(0,1fr))}.st-accommodation__split{grid-template-columns:1.15fr .85fr;gap:4rem}.st-accommodation__split--reverse{grid-template-columns:.85fr 1.15fr}.st-accommodation__split--reverse>img{order:2}.st-accommodation__gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.st-accommodation__button{transition:none}.st-accommodation__button:hover{transform:none}}

.st-accommodation__offers article{overflow:hidden}
.st-accommodation__offer-carousel{margin:-1.6rem -1.6rem 1.5rem;background:#edf6f7}
.st-accommodation__room-carousel{margin:0}.st-accommodation__room-carousel .st-accommodation__offer-slide{height:280px;padding:0}.st-accommodation__room-carousel .st-accommodation__offer-slide img{object-fit:cover}
.st-accommodation__offer-viewport{position:relative;overflow:hidden;touch-action:pan-y}
.st-accommodation__offer-track{display:flex;transition:transform .3s ease}
.st-accommodation__offer-slide{display:flex;flex:0 0 100%;height:clamp(360px,48vw,620px);align-items:center;justify-content:center;padding:1rem;border:0;background:transparent;cursor:zoom-in}
.st-accommodation__offer-slide img{width:100%;height:100%;object-fit:contain}
.st-accommodation__offer-prev,.st-accommodation__offer-next{position:absolute;top:50%;display:grid;width:2.5rem;height:2.5rem;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:50%;color:#fff;background:rgba(8,43,69,.82);font-size:1.1rem;transform:translateY(-50%);cursor:pointer}
.st-accommodation__offer-prev{left:.75rem}.st-accommodation__offer-next{right:.75rem}
.st-accommodation__offer-counter{margin:0;padding:.55rem;color:var(--navy);font-size:.85rem;font-weight:800;text-align:center}
.st-accommodation__offer-hint{margin:-.25rem 0 0;padding:0 .75rem .75rem;color:#526975;font-size:.85rem;line-height:1.45;text-align:center}
.st-accommodation__offer-prev:focus-visible,.st-accommodation__offer-next:focus-visible,.st-accommodation__offer-slide:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}
.st-accommodation__offer-lightbox[hidden]{display:none}.st-accommodation__offer-lightbox{position:fixed;z-index:99999;inset:0;display:grid;place-items:center;padding:1rem}.st-accommodation__offer-lightbox-backdrop{position:absolute;inset:0;background:rgba(2,19,31,.94)}
.st-accommodation__offer-lightbox-dialog{position:relative;z-index:1;display:grid;width:min(96vw,1100px);height:min(94vh,900px);place-items:center}.st-accommodation__offer-lightbox-image{width:100%;height:100%;object-fit:contain}.st-accommodation__offer-lightbox-counter{position:absolute;bottom:.5rem;left:50%;margin:0;padding:.35rem .7rem;border-radius:999px;color:#fff;background:rgba(8,43,69,.8);font-weight:800;transform:translateX(-50%)}
.st-accommodation__offer-lightbox-close,.st-accommodation__offer-lightbox-prev,.st-accommodation__offer-lightbox-next{position:absolute;z-index:2;display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:50%;color:#fff;background:rgba(8,43,69,.88);font-size:1.25rem;cursor:pointer}.st-accommodation__offer-lightbox-close{top:.5rem;right:.5rem}.st-accommodation__offer-lightbox-prev{top:50%;left:.5rem;transform:translateY(-50%)}.st-accommodation__offer-lightbox-next{top:50%;right:.5rem;transform:translateY(-50%)}
.st-accommodation__offer-lightbox-close:focus-visible,.st-accommodation__offer-lightbox-prev:focus-visible,.st-accommodation__offer-lightbox-next:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
@media(max-width:699px){.st-accommodation__offer-slide{height:min(118vw,520px);padding:.65rem}.st-accommodation__offer-prev,.st-accommodation__offer-next{width:2.25rem;height:2.25rem}.st-accommodation__offer-lightbox{padding:.5rem}}
@media(max-width:699px){.st-accommodation__room-carousel .st-accommodation__offer-slide{height:280px;padding:0}}
@media(min-width:960px){.st-accommodation__room-carousel .st-accommodation__offer-slide{height:340px}}
@media(prefers-reduced-motion:reduce){.st-accommodation__offer-track{transition:none}}
.st-accommodation__gallery figure:first-child{grid-column:auto;grid-row:auto}.st-accommodation__gallery figure:nth-child(7n+1){grid-column:1/-1;grid-row:span 2}.st-accommodation__gallery-item button{width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.st-accommodation__gallery-item button:focus-visible{outline:4px solid var(--orange);outline-offset:-4px}.st-accommodation__gallery-lightbox-stage{display:grid;width:100%;height:100%;place-items:center;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y}.st-accommodation__gallery-lightbox-stage .st-accommodation__offer-lightbox-image{max-width:100%;max-height:100%;transform:scale(var(--gallery-zoom,1));transition:transform .2s ease;transform-origin:center}.st-accommodation__gallery-zoom-controls{position:absolute;z-index:3;top:.5rem;left:.5rem;display:flex;gap:.45rem}.st-accommodation__gallery-zoom-controls button{display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:50%;color:#fff;background:rgba(8,43,69,.88);font-size:1.3rem;font-weight:800;cursor:pointer}.st-accommodation__gallery-zoom-controls button:focus-visible{outline:3px solid var(--orange);outline-offset:2px}@media(min-width:700px){.st-accommodation__gallery figure:nth-child(7n+1){grid-column:span 2;grid-row:span 2}.st-accommodation__gallery figure:nth-child(7n+5){grid-row:span 2}}@media(max-width:699px){.st-accommodation__gallery-zoom-controls{top:max(.5rem,env(safe-area-inset-top));left:max(.5rem,env(safe-area-inset-left))}.st-accommodation__offer-lightbox-prev{left:max(.5rem,env(safe-area-inset-left))}.st-accommodation__offer-lightbox-next{right:max(.5rem,env(safe-area-inset-right))}}

/* Compact hero experiment. */
.st-accommodation__hero{min-height:min(600px,62vh);padding-block:clamp(5rem,8vw,7rem) 3.5rem}
@media(max-width:699px){.st-accommodation__hero{min-height:600px;padding-block:5.5rem 3rem}}
