html{scroll-behavior:smooth}
.code369-inline-media{position:relative;width:100%;aspect-ratio:9/16;background:#090b0b;overflow:hidden}
.code369-inline-media video,.code369-inline-media img{display:block;width:100%;height:100%;object-fit:contain}
.code369-inline-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border:1px solid #c1a46b;border-radius:50%;background:rgba(9,11,11,.85);color:#fff;font-size:30px;cursor:pointer;padding:0}
.code369-inline-play[hidden],.code369-video-message[hidden]{display:none}
.code369-inline-play:focus-visible{outline:3px solid #fff;outline-offset:4px}
.code369-video-message{position:absolute;bottom:50px;left:12px;right:12px;background:#090b0b;color:#fff;padding:12px;font-size:14px}

body.code369-dialog-open{overflow:hidden}
dialog.code369-reservation-dialog{padding:0;margin:auto;width:min(620px,calc(100% - 32px));max-width:620px;max-height:90dvh;overflow-y:auto;border:1px solid #c1a46b;background:#090b0b;color:#f4f2eb}
dialog.code369-reservation-dialog::backdrop{background:rgba(0,0,0,.78)}
.code369-reservation-dialog #booking{--padding-top:64px;--padding-bottom:32px;--padding-left:28px;--padding-right:28px;padding:64px 28px 32px!important}
.code369-reservation-dialog #booking h2{font-size:clamp(36px,7vw,54px)!important}
.code369-reservation-dialog #booking>.e-con-inner{gap:16px}
.code369-reservation-dialog #booking .elementor-button{width:100%;text-align:center}
.code369-dialog-close{position:absolute;right:14px;top:12px;z-index:2;width:42px;height:42px;padding:0;border:1px solid #c1a46b;background:#090b0b;color:#f4f2eb;font:30px/1 sans-serif;cursor:pointer}
.code369-dialog-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
.elementor-7 #latest-instagram{max-width:380px;margin-inline:auto}
.elementor-7 #latest-instagram .FeedGridLayout__cell{padding-bottom:177.7778%!important}
.elementor-7 #latest-instagram .MediaThumbnail__image{object-fit:contain!important;background:#090b0b}
.elementor-7 #latest-instagram .FeedLayout__wrapper{padding:0!important}
.elementor-7 .elementor-element-0000001b .elementor-heading-title{color:#f4f2eb!important}
@media(prefers-reduced-motion:reduce){.elementor-7 .elementor-element-0000001b .elementor-heading-title{white-space:normal!important;width:auto!important}.elementor-7 .elementor-element-0000001b [aria-hidden]{display:none}}

body.code369-elementor{margin:0;background:#090b0b}
.elementor-7 #programme .elementor-widget-image img{aspect-ratio:9/16;width:100%;object-fit:cover}
.elementor-7 #nights .elementor-widget-image img{aspect-ratio:5/6;width:100%;object-fit:cover}
.elementor-7 a:focus-visible{outline:2px solid #c1a46b;outline-offset:5px}
/* Header overlays the hero; all links and logo remain Elementor widgets. */
body:not(.elementor-editor-active) .elementor-7 #header{
position:absolute;top:0;left:0;width:100%;max-width:none;z-index:20;
background:transparent!important;border-bottom:1px solid rgba(244,242,235,.2);
--padding-left:4vw;--padding-right:4vw;--padding-top:0px;--padding-bottom:0px;
}
body.admin-bar:not(.elementor-editor-active) .elementor-7 #header{top:32px}
.elementor-7 #header>.e-con-inner{max-width:none}
.elementor-7 #header .elementor-widget-button:last-child .elementor-button{white-space:nowrap}
.elementor-7 #header .elementor-element-00000008 .elementor-button{
background:transparent;border:1px solid rgba(244,242,235,.5);color:#f4f2eb;
}
body:not(.elementor-editor-active) .elementor-7 #home{
position:relative;isolation:isolate;overflow:hidden;min-height:100svh;
--padding-top:220px;--padding-bottom:60px;--padding-left:7vw;--padding-right:7vw;
}
.elementor-7 #home>.e-con-inner{max-width:none;position:relative;z-index:2}
body:not(.elementor-editor-active) .elementor-7 #home::after{
content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
background-image:inherit;background-position:center;background-size:cover;
transform:translateY(var(--code369-hero-y,0px)) scale(var(--code369-hero-scale,1.06));
transform-origin:center;will-change:transform;
animation:code369-hero-breathe 14s ease-in-out infinite alternate;
}
@keyframes code369-hero-breathe{from{scale:1}to{scale:1.08}}
body:not(.elementor-editor-active) .elementor-7 #home::before{z-index:-1}
@media(max-width:767px){
body:not(.elementor-editor-active) .elementor-7 #header{--padding-left:22px;--padding-right:22px}
.elementor-7 #header .elementor-element-0000000a{flex-direction:row;flex-wrap:wrap;gap:8px}
.elementor-7 #header .elementor-element-00000002{width:28%;flex-grow:0}
.elementor-7 #header .elementor-element-00000007{width:100%;order:3}
.elementor-7 #header .elementor-element-00000009{width:65%;margin-left:auto}
.elementor-7 #header .elementor-element-00000006{flex-direction:row;justify-content:center;gap:0}
.elementor-7 #header .elementor-element-00000006 .elementor-button{padding:10px;font-size:12px}
.elementor-7 #header .elementor-widget-image img{width:75px}
body:not(.elementor-editor-active) .elementor-7 #home{--padding-top:190px;--padding-left:22px;--padding-right:22px;--padding-bottom:45px}
}
@media(max-width:782px){body.admin-bar:not(.elementor-editor-active) .elementor-7 #header{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body:not(.elementor-editor-active) .elementor-7 #home::after{transform:none;scale:1;animation:none;will-change:auto}}

