@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/inter-latin.woff2') format('woff2')}@font-face{font-family:'Geologica';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/geologica-latin.woff2') format('woff2')}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root { --sand:#E8E0D5; --offwhite:#F7F6F2; --sage:#7FA096; --sage-dk:#5E8078; --petrol:#1E3240; --text:#1E2E2A; }
html { scroll-behavior: smooth; }
body { font-family:'Inter',sans-serif; background:var(--offwhite); color:var(--text); overflow-x:hidden; -webkit-font-smoothing:antialiased; }
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.request-legal{margin:4px 0 14px;color:#727c79;font-size:.78rem;line-height:1.55}.request-legal a{color:var(--petrol);text-underline-offset:2px}
button,a,summary,[role="button"],[data-action],[data-step],[data-pax-change],.cal-day,.booking-mini-day { touch-action:manipulation; }
.language-picker{position:relative;flex:0 0 auto}.language-trigger{display:flex;align-items:center;gap:7px;height:38px;padding:5px 10px 5px 6px;border:1px solid rgba(30,50,64,.16);border-radius:999px;background:rgba(255,255,255,.72);color:var(--petrol);font:inherit;font-size:.76rem;font-weight:800;letter-spacing:.05em;cursor:pointer}.language-trigger img{width:26px;height:26px;border-radius:50%;object-fit:cover}.language-trigger svg{width:10px;height:7px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .18s}.language-picker.open .language-trigger svg{transform:rotate(180deg)}nav:not(.solid) .language-trigger{color:#fff;border-color:rgba(255,255,255,.32);background:rgba(30,50,64,.18);backdrop-filter:blur(8px)}.language-menu{position:absolute;z-index:100;right:0;top:calc(100% + 9px);min-width:178px;padding:7px;border:1px solid rgba(30,50,64,.11);border-radius:14px;background:#fff;box-shadow:0 14px 38px rgba(30,50,64,.16)}.language-menu[hidden]{display:none}.language-menu a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:var(--text);font-size:.82rem;font-weight:600;text-decoration:none;white-space:nowrap}.language-menu a:hover,.language-menu a:focus-visible{background:var(--offwhite);outline:none}.language-menu a[aria-current="page"]{color:var(--petrol);font-weight:800}.language-menu img{width:22px;height:22px;border-radius:50%;object-fit:cover}.language-check{margin-left:auto;color:var(--sage-dk)}.mobile-lang.language-picker{display:block;width:max-content;margin-top:8px}.mobile-lang .language-menu{left:0;right:auto}.mobile-lang .language-trigger{height:44px;padding-right:13px;font-size:.84rem}.mobile-lang .language-trigger img{width:32px;height:32px}
.nav-logo { display:block; width:245px; line-height:0; flex:0 0 auto; }
.nav-logo img { display:block; width:100%; height:auto; }
.nav-logo .logo-white { display:none; }
nav:not(.solid) .nav-logo .logo-dark { display:none; }
nav:not(.solid) .nav-logo .logo-white { display:block; }
footer { background:var(--petrol); width:100%; }
.footer-inner { max-width:1400px; margin:0 auto; padding:36px 52px; display:flex; align-items:center; justify-content:space-between; }
.f-name { font-size:.92rem; font-weight:600; color:rgba(247,246,242,.3); }
.f-links { list-style:none; display:flex; gap:22px; }
.f-links a { font-size:.75rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:rgba(247,246,242,.2); text-decoration:none; transition:color .2s; }
.f-links a:hover { color:rgba(247,246,242,.55); }
@media (max-width:900px) { .nav-logo { width:190px; } .footer-inner { flex-direction:column; gap:16px; padding:28px 20px; } }
@media (max-width:380px) { .nav-logo { width:160px; } }
@media (pointer:coarse) { input,select,textarea { font-size:16px !important; } }
.legal-page{max-width:900px;margin:0 auto;padding:150px 28px 90px}.legal-page header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid rgba(30,50,64,.15)}.legal-page header>span{color:#7c9d93;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.legal-page h1{margin:.55rem 0;font-size:clamp(2.4rem,6vw,4.7rem);line-height:1}.legal-page header p,.legal-page section p{color:#5f6967;line-height:1.75}.legal-page section{margin:0 0 2rem}.legal-page h2{margin:0 0 .55rem;font-size:1.25rem}@media(max-width:700px){.legal-page{padding:110px 20px 60px}}
