:root{--blue:#a9dce8;--blue-soft:#dcf0f5;--blue-mist:#f3f9fa;--navy:#0b3443;--navy-soft:#3e5d68;--teal:#13707f;--line:#0b34431f;--buoy:#d9a23b;--serif:"Young Serif", Georgia, serif;--sans:"Figtree", system-ui, sans-serif;--wrap:1180px;--gutter:clamp(16px, 4vw, 40px);--arch:999px 999px 18px 18px;--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:72px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--blue-mist);color:var(--navy);font:400 1.0625rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}body.menu-open{overflow:hidden}img{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:var(--serif);text-wrap:balance;margin:0 0 .5em;font-weight:400;line-height:1.12}h2{letter-spacing:-.015em;font-size:clamp(2.1rem,5vw,3.4rem)}h3{font-size:clamp(1.5rem,2.6vw,2rem)}p{text-wrap:pretty;max-width:64ch;margin:0 0 1em}a{color:inherit}button{font-family:inherit}:focus-visible{outline:3px solid var(--buoy);outline-offset:3px;border-radius:4px}.skip{background:var(--buoy);color:var(--navy);z-index:50;padding:.5rem 1rem;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.wrap{max-width:var(--wrap);padding:0 var(--gutter);margin:0 auto}.section{padding:clamp(64px,10vw,128px) 0}.section-head{margin-bottom:clamp(28px,5vw,56px)}.intro{color:var(--navy-soft);margin:0;font-size:clamp(1.08rem,1.6vw,1.25rem)}.btn{min-height:50px;font:600 1rem var(--sans);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:background .15s,color .15s,transform .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--teal)}.btn-outline{color:var(--navy);background:0 0;box-shadow:inset 0 0 0 1.5px #0b344373}.btn-outline:hover{background:#0b34430f}.btn-primary:disabled{opacity:.7;cursor:wait}.text-link{color:var(--teal);text-underline-offset:4px;font-weight:600}.lang-switch{background:#0b344314;border-radius:999px;padding:3px;display:inline-flex}.lang-switch button{color:var(--navy);cursor:pointer;font:600 .85rem var(--sans);background:0 0;border:0;border-radius:999px;min-width:40px;min-height:34px;padding:.3rem .7rem}.lang-switch button[aria-pressed=true]{background:var(--navy);color:#fff}.site-header{z-index:30;padding:.65rem var(--gutter);color:var(--navy);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#dcf0f5e6;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}body.menu-open .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--blue-soft)}.brand{font:1.3rem var(--serif);z-index:2;align-items:center;gap:.6rem;text-decoration:none;display:flex;position:relative}.nav-desktop{align-items:center;gap:1.4rem;display:flex}.nav-desktop>a{font-weight:500;text-decoration:none}.nav-desktop>a:hover{text-underline-offset:6px;text-decoration:underline}.nav-call{border-radius:999px;padding:.45rem 1rem;box-shadow:inset 0 0 0 1.5px #0b344366}.header-mobile{z-index:2;align-items:center;gap:.5rem;display:none;position:relative}.menu-toggle{background:var(--navy);color:#fff;font:600 .95rem var(--sans);cursor:pointer;border:0;border-radius:999px;min-height:42px;padding:.45rem 1.1rem}.nav-mobile{display:none}@media (width<=1020px){.nav-desktop{display:none}.header-mobile{display:flex}.nav-mobile.open{z-index:1;padding:88px var(--gutter) 32px;background:var(--blue-soft);flex-direction:column;gap:.25rem;display:flex;position:fixed;inset:0;overflow-y:auto}.nav-mobile a:not(.btn){font:clamp(2rem, 9vw, 2.6rem)/1.2 var(--serif);border-bottom:1px solid var(--line);padding:.35rem 0;text-decoration:none}.nav-mobile .btn{margin-top:1rem}.nav-mobile .btn+.btn{margin-top:.5rem}}.hero{background:var(--blue);color:var(--navy);padding:clamp(28px, 6vw, 80px) var(--gutter) 0;grid-template-columns:1fr 1fr;align-items:end;gap:clamp(24px,5vw,72px);display:grid;overflow:hidden}.hero-text{justify-self:end;max-width:560px;padding-bottom:clamp(40px,7vw,96px)}.hero h1{letter-spacing:-.025em;margin-bottom:.35em;font-size:clamp(3.4rem,10vw,8.5rem);line-height:.92}.hero-lede{color:#0b3443d9;font-size:clamp(1.1rem,1.8vw,1.35rem)}.hero-facts{flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 0;padding:0;list-style:none;display:flex}.hero-facts li{background:#ffffff8c;border-radius:999px;padding:.35rem .85rem;font-size:.95rem}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.hero-window{justify-self:start;width:min(100%,620px);margin:0}.hero-window img{aspect-ratio:3/4;object-fit:cover;object-position:50% 60%;border-radius:999px 999px 0 0;width:100%}@media (width<=900px){.hero{grid-template-columns:1fr;gap:28px}.hero-text{justify-self:start;padding-bottom:0}.hero-actions .btn{flex:auto}.hero-window{justify-self:center;width:min(100%,520px)}.hero-window img{aspect-ratio:5/6}}.apt{grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(24px,4vw,64px);margin-bottom:clamp(56px,8vw,104px);display:grid}.apt-flip{grid-template-columns:1fr 1.15fr}.apt-flip .carousel{order:2}.apt-body h3{margin-bottom:.2em}.apt-view{color:var(--teal);margin-bottom:.9rem;font-weight:600}.apt-specs{flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.apt-specs li{background:var(--blue-soft);border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .8rem .35rem .6rem;font-size:.95rem;display:inline-flex}.apt-specs .icon{color:var(--teal)}@media (width<=860px){.apt,.apt-flip{grid-template-columns:1fr}.apt-flip .carousel{order:0}.apt-body .btn{width:100%}}.carousel{border-radius:var(--radius);background:var(--blue-soft);position:relative;overflow:hidden}.carousel-empty{aspect-ratio:4/3;color:var(--navy-soft);place-items:center;display:grid}.carousel-track{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-slide{scroll-snap-align:start;cursor:zoom-in;background:0 0;border:0;flex:0 0 100%;padding:0}.carousel-slide img{aspect-ratio:4/3;object-fit:cover;width:100%}.carousel-arrow{cursor:pointer;width:44px;height:44px;color:var(--navy);font:600 1.6rem/1 var(--sans);background:#ffffffeb;border:0;border-radius:50%;place-items:center;padding-bottom:3px;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 10px #0b34432e}.carousel-arrow.prev{left:12px}.carousel-arrow.next{right:12px}.carousel-dots{background:#0b344373;border-radius:999px;gap:6px;padding:6px 8px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.carousel-dots span{background:#ffffff8c;border-radius:50%;width:7px;height:7px;transition:width .2s}.carousel-dots span.on{background:#fff;border-radius:4px;width:18px}@media (hover:none){.carousel-arrow{display:none}}.price{border-top:1px solid var(--line);margin:1.5rem 0;padding:1.25rem 0 0}.price-from{font:clamp(1.6rem, 3vw, 2.1rem) var(--serif);margin:0 0 .75rem}.price-from span{font:400 1rem var(--sans);color:var(--navy-soft)}.price-list{margin:0 0 .75rem}.price-list div{border-bottom:1px dashed #0b34432e;justify-content:space-between;gap:1rem;padding:.45rem 0;display:flex}.price-list dt{font-weight:500}.price-list dt span{color:var(--navy-soft);font-size:.9rem;font-weight:400;display:block}.price-list dd{white-space:nowrap;margin:0;font-weight:600}.price-meta{color:var(--navy-soft);margin:.25rem 0 0;font-size:.95rem}.shared{background:var(--blue-soft);border-radius:var(--radius);padding:clamp(24px,4vw,40px)}.shared ul{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px 24px;margin:0;padding:0;list-style:none;display:grid}.shared li{align-items:center;gap:.85rem;line-height:1.35;display:flex}.shared-icon{width:48px;height:48px;color:var(--teal);background:#fff;border-radius:14px;flex:none;place-items:center;display:grid}.section-sea{background:var(--navy);color:#fff}.section-sea .intro{color:#ffffffc7}.act-scroller{max-width:var(--wrap);padding:0 var(--gutter);margin:0 auto}.act-grid{grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,36px) clamp(16px,2vw,28px);display:grid}.act img{aspect-ratio:4/3;object-fit:cover;border-radius:14px;width:100%;margin-bottom:1rem}.act h3{color:var(--blue);margin-bottom:.35rem;font-size:1.3rem}.act p{color:#fffc;margin:0;font-size:.98rem}@media (width<=1100px){.act-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.act-scroller{scroll-snap-type:x mandatory;scrollbar-width:none;scroll-padding:0 var(--gutter);padding:0;overflow-x:auto}.act-scroller::-webkit-scrollbar{display:none}.act-grid{padding:0 var(--gutter);gap:14px;width:max-content;display:flex}.act{scroll-snap-align:start;width:78vw}}.gallery{columns:3 260px;column-gap:12px}.thumb{cursor:zoom-in;break-inside:avoid;background:0 0;border:0;border-radius:14px;width:100%;margin-bottom:12px;padding:0;display:block;overflow:hidden}.thumb img{width:100%;transition:transform .4s}.thumb:hover img{transform:scale(1.03)}@media (width<=560px){.gallery{columns:2;column-gap:8px}.thumb{border-radius:10px;margin-bottom:8px}}@media (prefers-reduced-motion:reduce){.thumb img{transition:none}}.lightbox{color:#fff;background:0 0;border:0;max-width:min(1200px,96vw);max-height:96vh;padding:0}.lightbox::backdrop{background:#061e27f0}.lightbox img{border-radius:10px;width:auto;max-width:100%;max-height:80vh;margin:0 auto}.lb-caption{text-align:center;margin:.75rem auto 0}.lb-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.lb-controls button{color:#fff;font:600 .95rem var(--sans);cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:42px;padding:.45rem 1rem;box-shadow:inset 0 0 0 1.5px #ffffff80}.lb-controls button:hover{background:#ffffff1f}.section-soft{background:var(--blue-soft)}.practical{grid-template-columns:1fr 1.3fr;align-items:start;gap:clamp(24px,4vw,56px);display:grid}.practical h2{font-size:clamp(1.8rem,3vw,2.4rem)}.practical .btn{margin:.25rem 0 1rem}.weather-title{margin-top:1.5rem}.map{border-radius:var(--radius);box-shadow:0 0 0 1px var(--line);background:#fff;margin:0;overflow:hidden}.map iframe{border:0;width:100%;height:100%;min-height:460px;display:block}@media (width<=900px){.practical{grid-template-columns:1fr}.map iframe{min-height:320px}}.contact{background:var(--blue);color:var(--navy)}.contact-intro{color:#0b3443d9;margin:0;font-size:1.15rem}.contact-inner{border-top:1px solid #0b344333;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;margin-top:clamp(32px,5vw,56px);padding-top:clamp(24px,4vw,40px);display:flex}.contact-inner p{margin:0;font-size:1.1rem}.contact-card{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.contact-card .owners{font:1.3rem var(--serif);margin:0 .5rem 0 0}@media (width<=560px){.contact-card,.contact-card .btn{width:100%}}.booking{grid-template-columns:1.25fr 1fr;align-items:start;gap:clamp(20px,3vw,40px);display:grid}@media (width<=960px){.booking{grid-template-columns:1fr}}.apt-pick{border:0;flex-wrap:wrap;grid-column:1/-1;gap:.75rem;margin:0;padding:0;display:flex}.apt-pick legend{margin-bottom:.6rem;font-weight:600}.apt-pick label{cursor:pointer;border-radius:999px;align-items:baseline;gap:.5rem;min-height:48px;padding:.65rem 1.2rem;font-weight:600;display:inline-flex;box-shadow:inset 0 0 0 1.5px #0b344366}.apt-pick label span{opacity:.8;font-weight:400}.apt-pick label.on{background:var(--navy);color:#fff;box-shadow:none}.apt-pick input{opacity:0;pointer-events:none;position:absolute}.apt-pick label:has(input:focus-visible){outline:3px solid var(--buoy);outline-offset:3px}.cal{color:var(--navy);background:#fff;border-radius:18px;padding:clamp(16px,2.5vw,28px);position:relative}.cal-nav{align-items:center;gap:.4rem;margin-bottom:1rem;display:flex}.cal-label{margin:0 auto 0 0;font-weight:600}.cal-nav button,.linklike{box-shadow:inset 0 0 0 1.5px var(--blue);font:600 .9rem var(--sans);color:var(--navy);cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:36px;padding:.3rem .8rem}.cal-nav button:disabled{opacity:.35;cursor:default}.linklike{box-shadow:none;min-height:0;color:inherit;font-size:inherit;padding:0;text-decoration:underline}.months{grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,32px);display:grid}@media (width<=600px){.months{grid-template-columns:1fr}.months .month+.month{display:none}}.month-title{font:1.25rem var(--serif);text-transform:capitalize;margin:.2rem 0 .8rem}.month-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.wd{color:var(--navy-soft);text-align:center;padding-bottom:.3rem;font-size:.78rem}.day{aspect-ratio:1;background:var(--blue-mist);color:var(--navy);font:500 .95rem var(--sans);cursor:pointer;border:0;border-radius:8px;min-width:0;padding:0}.day:hover:not(:disabled){box-shadow:inset 0 0 0 2px var(--teal)}.day.past{color:#a8b8bd;cursor:default;background:0 0}.day.busy{color:#8a9a9f;background:#e6eaeb;text-decoration:line-through}.day.range{background:var(--blue)}.day.sel{background:var(--navy);color:#fff;text-decoration:none}.legend{color:var(--navy-soft);flex-wrap:wrap;gap:1rem;margin-top:1rem;font-size:.88rem;display:flex}.legend i{vertical-align:-2px;border-radius:4px;width:.9rem;height:.9rem;margin-right:.3rem;display:inline-block}.lg-free{background:var(--blue-mist);box-shadow:inset 0 0 0 1px var(--blue)}.lg-busy{background:#e6eaeb}.lg-sel{background:var(--navy)}.stay{min-height:1.6em;margin:.9rem 0 0;font-weight:600}.cal-loading,.cal-error{color:var(--navy-soft);margin:0;padding:3rem 0}.cal-error a{color:var(--teal)}.estimate{background:var(--blue-soft);border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;margin:.9rem 0 0;padding:.8rem 1rem;display:flex}.estimate strong{font:1.4rem var(--serif)}.estimate span{color:var(--navy-soft);flex-basis:100%;font-size:.88rem}.min-note{color:#7a3d00;margin:.6rem 0 0;font-size:.92rem}.fields{grid-template-columns:1fr 1fr;gap:.9rem 1rem;display:grid}.fields label{flex-direction:column;grid-column:1/-1;gap:.3rem;font-size:.95rem;font-weight:600;display:flex}.fields .row2{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:1rem;display:grid}.fields .full{grid-column:1/-1}.fields .opt{opacity:.75;font-weight:400}.fields input,.fields textarea{font:400 1rem var(--sans);color:var(--navy);background:#fff;border:1.5px solid #0000;border-radius:10px;width:100%;min-height:46px;padding:.7rem .8rem}.fields textarea{resize:vertical}.fields input:focus,.fields textarea:focus{outline:3px solid var(--buoy);outline-offset:1px}.hp{width:1px;height:1px;left:-9999px;overflow:hidden;position:absolute!important}.form-error{color:#7a3d00;background:#fff1e0;border-radius:10px;grid-column:1/-1;margin:0;padding:.7rem .9rem}.fine{color:var(--navy-soft);margin:0;font-size:.9rem}.booking .btn-primary{font-size:1.05rem}.booking-done{background:#fff;border-radius:18px;max-width:640px;padding:clamp(24px,4vw,40px)}.mobile-bar{z-index:25;padding:.6rem var(--gutter) calc(.6rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);background:#dcf0f5f0;gap:.5rem;transition:transform .25s;display:none;position:fixed;bottom:0;left:0;right:0;transform:translateY(110%)}.mobile-bar .btn-primary{flex:1}.mobile-bar.show{transform:none}@media (width<=900px){.mobile-bar{display:flex}}@media (prefers-reduced-motion:reduce){.mobile-bar{transition:none}}.site-footer{background:var(--navy);color:#ffffffb3;padding:2rem var(--gutter) calc(2rem + 70px);flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.95rem;display:flex}@media (width>=901px){.site-footer{padding-bottom:2rem}}.site-footer p{margin:0}
