@font-face{font-family:"Source Sans 3";src:url('/fonts/source-sans-3-latin.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}

:root{
  --fp-chalk:#f5f1e8;
  --fp-white:#fff;
  --fp-pebble:#303638;
  --fp-muted:#626a69;
  --fp-sea:#006a86;
  --fp-deep:#073d4d;
  --fp-leaf:#68745b;
  --fp-line:rgba(48,54,56,.2);
  --fp-gutter:clamp(20px,4.2vw,64px);
  --fp-max:1240px;
  --fp-sans:"Source Sans 3","Helvetica Neue",Arial,sans-serif;
  --sea:var(--fp-sea);
  --pebble:var(--fp-muted);
  --stone:var(--fp-chalk);
  --ink:var(--fp-pebble);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--fp-chalk)}
body{margin:0;background:var(--fp-chalk);color:var(--fp-pebble);font-family:var(--fp-sans);font-size:18px;line-height:1.55}
body.nav-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
figure,h1,h2,h3,p,dl,dd{margin:0}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
.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}
.skip-link{position:fixed;z-index:100;top:8px;left:8px;transform:translateY(-150%);background:#fff;padding:10px 14px}
.skip-link:focus{transform:none}

nav{position:sticky;z-index:30;top:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--fp-gutter);background:var(--fp-chalk);color:var(--fp-pebble);border-bottom:1px solid var(--fp-line);backdrop-filter:none}
nav .brand{font-family:var(--fp-sans);font-size:20px;font-weight:600;letter-spacing:.02em;text-transform:none}
nav ul{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
nav ul a{font-size:14px;font-weight:500;letter-spacing:0;text-transform:none}
nav ul a:not(.res){border-bottom:1px solid transparent;padding:8px 0}
nav ul a.on,nav ul a[aria-current="page"]{border-color:currentColor}
nav .res{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;background:var(--fp-sea);color:#fff}
.nav-res-mobile{display:none}
.menu-toggle{display:none}

.fp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.fp-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border:1px solid var(--fp-pebble);font-size:15px;font-weight:600;text-decoration:none;transition:background .18s,color .18s,border-color .18s}
.fp-button.primary{background:var(--fp-sea);border-color:var(--fp-sea);color:#fff}
.fp-button:hover,.fp-button:focus-visible{background:var(--fp-deep);border-color:var(--fp-deep);color:#fff}
/* The signature opening is the design anchor: copy occupies the sky while the
   portrait photograph reveals the house at the measured pace of the screen. */
.fp-home nav{position:fixed;inset-inline:0;background:transparent;color:var(--fp-deep);border-color:transparent}
.fp-home nav.stuck{background:rgba(245,241,232,.96);border-color:var(--fp-line)}
.opening-spread{position:relative;height:var(--opening-track,155svh);background:#dcebf0}
.opening-frame{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;isolation:isolate}
.opening-image{position:absolute;inset:auto 0 0;display:block;width:100%;height:max(100%,115.67vw);overflow:hidden;z-index:0;transform:translate3d(0,var(--opening-image-shift,0px),0);will-change:transform}
.opening-image img{width:100%;height:100%;object-fit:cover;object-position:center bottom}
.opening-frame::before{content:"";position:absolute;z-index:1;inset:0 0 auto;height:24%;background:linear-gradient(to bottom,rgba(236,246,249,.82),rgba(236,246,249,0));pointer-events:none}
.opening-frame::after{content:"";position:absolute;z-index:1;inset:auto 0 0;height:5%;background:linear-gradient(to bottom,rgba(245,241,232,0),var(--fp-chalk));pointer-events:none}
.opening-copy{position:absolute;z-index:2;left:var(--fp-gutter);top:var(--opening-copy-top,clamp(112px,15vh,170px));width:min(760px,calc(100% - var(--fp-gutter)*2));opacity:var(--opening-copy-opacity,1);transform:translateY(var(--opening-copy-shift,0));color:var(--fp-deep)}
.opening-kicker{font-size:14px;font-weight:600;color:var(--fp-sea)}
.opening-copy h1{margin-top:18px;font-family:var(--fp-sans);font-size:clamp(3.7rem,6.3vw,6rem);font-weight:400;line-height:.9;letter-spacing:-.055em}
.opening-deck{margin-top:24px;max-width:44ch;font-size:18px;color:#294b55}
.opening-copy .fp-actions{margin-top:28px}
.opening-copy .fp-button:not(.primary){background:rgba(245,241,232,.76)}

.fp-threshold{padding:clamp(104px,13vw,176px) 0;background:var(--fp-chalk);overflow:hidden}
.fp-threshold-intro{display:grid;grid-template-columns:1fr 2fr;gap:clamp(28px,5vw,80px);align-items:start;padding:0 var(--fp-gutter)}
.fp-threshold-intro>p{color:var(--fp-sea);font-size:14px;font-weight:600}
.fp-threshold-intro h2{max-width:13ch;font-size:clamp(3.4rem,6.7vw,6.8rem);font-weight:400;line-height:.91;letter-spacing:-.055em}
.fp-threshold-intro>span{grid-column:2;max-width:43ch;color:var(--fp-muted);font-size:18px}
.fp-threshold-stage{position:relative;width:min(100%,1440px);margin:clamp(64px,8vw,112px) auto 0;padding:0 var(--fp-gutter) clamp(88px,9vw,132px)}
.fp-threshold-main{width:78%;margin-left:auto}
.fp-threshold-main img{width:100%;aspect-ratio:4/3;object-fit:cover}
.fp-threshold-inset{position:absolute;left:var(--fp-gutter);bottom:0;width:34%;border:10px solid var(--fp-chalk)}
.fp-threshold-inset img{width:100%;aspect-ratio:3/2;object-fit:cover}
.fp-threshold-note{position:absolute;right:var(--fp-gutter);bottom:34px;color:var(--fp-sea);font-size:13px;font-weight:600}

.fp-section{padding:clamp(92px,11vw,148px) var(--fp-gutter)}
.fp-inner{width:min(100%,var(--fp-max));margin:0 auto}
.fp-section-head{display:grid;grid-template-columns:1fr 2fr;gap:clamp(28px,5vw,80px);align-items:start;margin-bottom:clamp(48px,7vw,82px)}
.fp-section-head>p,.fp-place>div>p{color:var(--fp-sea);font-size:14px;font-weight:600}
.fp-section-head h2,.fp-place h2{max-width:14ch;font-family:var(--fp-sans);font-size:clamp(2.75rem,5vw,4.25rem);font-weight:400;line-height:1;letter-spacing:-.04em}
.fp-stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px)}
.fp-stay{border-top:1px solid var(--fp-pebble)}
.fp-stay figure{margin-top:18px;aspect-ratio:16/10;overflow:hidden;background:#dce4e4}
.fp-stay figure img{width:100%;height:100%;object-fit:cover}
.fp-stay-copy{display:grid;grid-template-columns:1fr 170px;gap:24px;padding-top:24px}
.fp-stay-copy h3{font-family:var(--fp-sans);font-size:clamp(2.25rem,3.4vw,3.5rem);font-weight:400;line-height:1;letter-spacing:-.035em}
.fp-stay-copy>p{margin-top:14px;max-width:34ch;color:#535d5c;font-size:16px}
.fp-stay-copy dl{grid-column:2;grid-row:1/3;margin:0}
.fp-stay-copy dl div{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px solid var(--fp-line);font-size:13px}
.fp-stay-copy dt{color:var(--fp-muted)}
.fp-stay-copy dd{margin:0;font-weight:600}
.fp-stay-copy>a,.fp-place>div>a{grid-column:1/-1;margin-top:18px;padding-bottom:7px;border-bottom:1px solid var(--fp-pebble);width:max-content;font-size:15px;font-weight:600}
.fp-stay-copy>a{border-bottom:1px solid var(--fp-pebble);width:max-content}

.fp-proof{padding:clamp(92px,11vw,148px) 0;background:var(--fp-white)}
.fp-proof>.fp-inner{padding:0 var(--fp-gutter)}
.fp-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fp-proof-grid figure{min-width:0}
.fp-proof-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.fp-proof-grid figcaption{padding:10px var(--fp-gutter) 0;font-size:13px;color:var(--fp-muted)}

/* The home unfolds as a set of distinct chapters rather than a stack of cards. */
.fp-dossier{padding:clamp(104px,12vw,164px) var(--fp-gutter);background:var(--fp-white);overflow:hidden}
.fp-dossier-studio{background:var(--fp-chalk)}
.fp-chapter-head{display:grid;grid-template-columns:1fr 2fr;gap:clamp(28px,5vw,80px);align-items:start;margin-bottom:clamp(58px,8vw,104px)}
.fp-chapter-head>p,.fp-beach-head>p,.fp-korakas-head>p,.fp-practical header>p{color:var(--fp-sea);font-size:14px;font-weight:600}
.fp-chapter-head h2,.fp-beach-head h2,.fp-korakas-head h2,.fp-practical h2{max-width:14ch;font-size:clamp(3rem,5.7vw,5.7rem);font-weight:400;line-height:.94;letter-spacing:-.052em}
.fp-chapter-head span,.fp-korakas-head span{display:block;max-width:45ch;margin-top:24px;color:var(--fp-muted)}
.fp-dossier-feature{display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,1fr);gap:clamp(28px,5vw,72px);align-items:end}
.fp-dossier-feature.reverse{grid-template-columns:minmax(220px,1fr) minmax(0,3fr)}
.fp-dossier-feature.reverse figure{grid-column:2;grid-row:1}
.fp-dossier-feature.reverse .fp-dossier-facts{grid-column:1;grid-row:1}
.fp-dossier-feature figure{overflow:hidden}
.fp-dossier-feature figure img{width:100%;aspect-ratio:16/10;object-fit:cover}
.fp-dossier-facts{border-top:1px solid var(--fp-pebble);border-bottom:1px solid var(--fp-pebble)}
.fp-dossier-facts p{display:flex;flex-direction:column;gap:4px;padding:22px 0;border-bottom:1px solid var(--fp-line)}
.fp-dossier-facts p:last-child{border-bottom:0}
.fp-dossier-facts b{font-size:clamp(1.35rem,2vw,1.8rem);font-weight:500;line-height:1.1}
.fp-dossier-facts span{color:var(--fp-muted);font-size:13px}
.fp-dossier-gallery{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(18px,3vw,42px);align-items:start;margin-top:clamp(72px,9vw,124px);padding-right:5%}
.fp-dossier-gallery.reverse{grid-template-columns:minmax(0,7fr) minmax(220px,4fr);padding:0 0 0 5%}
.fp-dossier-gallery figure:last-child{margin-top:clamp(54px,7vw,92px)}
.fp-dossier-gallery.reverse figure:first-child{margin-top:clamp(54px,7vw,92px)}
.fp-dossier-gallery.reverse figure:last-child{margin-top:0}
.fp-dossier-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.fp-dossier-gallery.reverse figure:last-child img{aspect-ratio:3/4}
.fp-dossier-gallery figcaption{margin-top:10px;color:var(--fp-muted);font-size:13px}
.fp-chapter-link{display:block;width:max-content;max-width:100%;margin-top:clamp(56px,7vw,92px);padding-bottom:7px;border-bottom:1px solid currentColor;color:var(--fp-sea);font-size:15px;font-weight:600}

.fp-beach-story{padding:clamp(100px,12vw,164px) var(--fp-gutter);background:var(--fp-deep);color:#fff;overflow:hidden}
.fp-beach-head{display:grid;grid-template-columns:1fr 2fr;gap:clamp(28px,5vw,80px);align-items:start}
.fp-beach-head>p{color:#9ed1db}
.fp-beach-head span{grid-column:2;display:block;max-width:43ch;margin-top:-10px;color:#bdd0d4}
.fp-beach-stage{position:relative;margin-top:clamp(62px,8vw,106px);padding:0 12% clamp(90px,10vw,140px) 0}
.fp-beach-main img{width:100%;aspect-ratio:16/10;object-fit:cover}
.fp-beach-inset{position:absolute;right:0;bottom:0;width:28%;border:9px solid var(--fp-deep)}
.fp-beach-inset img{width:100%;aspect-ratio:3/4;object-fit:cover}
.fp-beach-stage>p{position:absolute;left:0;bottom:28px;color:#bdd0d4;font-size:13px;font-weight:600}

.fp-korakas{padding:clamp(104px,12vw,164px) var(--fp-gutter);background:var(--fp-chalk);overflow:hidden}
.fp-korakas-head{display:grid;grid-template-columns:1fr 2fr;gap:clamp(28px,5vw,80px);align-items:start}
.fp-distance-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(58px,8vw,92px);border-top:1px solid var(--fp-pebble);border-bottom:1px solid var(--fp-pebble)}
.fp-distance-grid>div{display:flex;min-height:132px;flex-direction:column;justify-content:space-between;padding:22px;border-right:1px solid var(--fp-line)}
.fp-distance-grid>div:last-child{border-right:0}
.fp-distance-grid b{font-size:clamp(1.7rem,2.7vw,2.5rem);font-weight:500;line-height:1}
.fp-distance-grid span{max-width:16ch;color:var(--fp-muted);font-size:13px}
.fp-korakas-gallery{display:grid;grid-template-columns:minmax(0,7fr) minmax(220px,3fr);gap:clamp(18px,3vw,42px);align-items:end;margin-top:clamp(68px,9vw,116px)}
.fp-korakas-gallery figure:first-child{margin-left:calc(var(--fp-gutter) * -1)}
.fp-korakas-gallery figure:first-child img{width:100%;aspect-ratio:16/10;object-fit:cover}
.fp-korakas-gallery figure:last-child{transform:translateY(10%)}
.fp-korakas-gallery figure:last-child img{width:100%;aspect-ratio:3/4;object-fit:cover}

.fp-practical{padding:clamp(92px,11vw,148px) var(--fp-gutter);background:var(--fp-white)}
.fp-practical header{display:grid;grid-template-columns:1fr 2fr;gap:clamp(28px,5vw,80px);align-items:start}
.fp-practical-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(54px,7vw,86px);border-top:1px solid var(--fp-pebble)}
.fp-practical-grid>div{display:flex;min-height:122px;flex-direction:column;justify-content:space-between;padding:22px 22px 20px 0;border-right:1px solid var(--fp-line);border-bottom:1px solid var(--fp-line)}
.fp-practical-grid>div:nth-child(3n+2),.fp-practical-grid>div:nth-child(3n+3){padding-left:22px}
.fp-practical-grid>div:nth-child(3n){border-right:0}
.fp-practical-grid b{font-size:19px;font-weight:600}
.fp-practical-grid span{color:var(--fp-muted);font-size:14px}

.fp-confidence{padding:clamp(78px,9vw,120px) var(--fp-gutter);background:var(--fp-chalk)}
.fp-confidence-label{margin-bottom:28px;color:var(--fp-sea);font-size:14px;font-weight:600}
.fp-confidence-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--fp-pebble);border-bottom:1px solid var(--fp-pebble)}
.fp-confidence-grid>div{display:flex;flex-direction:column;padding:24px;border-right:1px solid var(--fp-line);font-size:14px}
.fp-confidence-grid>div:last-child{border-right:0}
.fp-confidence-grid b{font-family:var(--fp-sans);font-size:20px;font-weight:500}
.fp-confidence-grid span,.fp-confidence-grid a{margin-top:8px;color:var(--fp-muted)}
.fp-confidence-grid a{display:flex;min-height:32px;align-items:center}

.fp-place{display:grid;grid-template-columns:minmax(0,45fr) minmax(340px,55fr);align-items:center;background:var(--fp-white)}
.fp-place figure{height:min(820px,82vw);overflow:hidden}
.fp-place figure img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.fp-place>div{padding:clamp(52px,8vw,120px)}
.fp-place h2{margin-top:24px}
.fp-place>div>span{display:block;margin-top:28px;max-width:38ch;color:#535d5c}
.fp-place>div>a{display:block;margin-top:34px}

.fp-prefooter{background:var(--fp-deep);color:#fff}
.fp-prefooter-image{height:clamp(560px,67svh,820px);overflow:hidden}
.fp-prefooter-image img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.fp-prefooter-body{padding:clamp(84px,10vw,136px) var(--fp-gutter)}
.fp-prefooter-body header{display:grid;grid-template-columns:1fr 2fr;gap:clamp(28px,5vw,80px);align-items:start}
.fp-prefooter-body header>p{color:#9ed1db;font-size:14px;font-weight:600}
.fp-prefooter-body h2{max-width:13ch;font-size:clamp(3.2rem,6vw,6rem);font-weight:400;line-height:.93;letter-spacing:-.055em}
.fp-prefooter-body header span{display:block;max-width:42ch;margin-top:26px;color:#bdd0d4}
.fp-prefooter-facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(60px,8vw,94px);border-top:1px solid rgba(255,255,255,.65);border-bottom:1px solid rgba(255,255,255,.4)}
.fp-prefooter-facts>div{display:flex;min-height:128px;flex-direction:column;justify-content:space-between;padding:22px;border-right:1px solid rgba(255,255,255,.22)}
.fp-prefooter-facts>div:last-child{border-right:0}
.fp-prefooter-facts b{font-size:19px;font-weight:600}
.fp-prefooter-facts span{color:#bdd0d4;font-size:14px}
.fp-prefooter-cta{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:48px}
.fp-prefooter-cta p{color:#bdd0d4;font-size:14px}
.fp-prefooter .fp-button{border-color:#fff;color:#fff}

/* Shared language across every route */
.hero{position:relative;height:clamp(500px,66svh,760px);overflow:hidden;background:var(--fp-deep);color:#fff}
.hero picture,.hero picture img{display:block;width:100%;height:100%}
.hero picture img{object-fit:cover}
.hero .veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,61,77,.72),rgba(7,61,77,0) 58%)}
.hero .down{position:absolute;z-index:2;left:var(--fp-gutter);right:var(--fp-gutter);bottom:clamp(34px,5vw,68px)}
.hero .big{max-width:10ch;font-family:var(--fp-sans);font-size:clamp(4rem,8vw,7.5rem);font-weight:400;line-height:.88;letter-spacing:-.06em}
.hero .sub{margin-top:18px;max-width:54ch;font-size:17px}
.house-page .hero img{object-position:center 50%}
.area-page .hero img{object-position:center 52%}
.reservations-page .hero{height:clamp(320px,38svh,470px)}
.reservations-page .hero img{object-position:center 45%}

.light{padding:clamp(82px,9vw,126px) var(--fp-gutter);background:var(--fp-chalk)}
.narrow,.center-intro{width:min(100%,var(--fp-max));margin:0 auto}
.center-intro{display:grid;grid-template-columns:1fr 2fr;gap:clamp(30px,6vw,90px);align-items:start}
.label{color:var(--fp-sea);font-size:14px;font-weight:600}
.center-intro .t,.lede{max-width:24ch;font-family:var(--fp-sans);font-size:clamp(2.5rem,4.8vw,4.5rem);font-weight:400;line-height:1;letter-spacing:-.045em}
.narrow>h2,.split h2,.close h2,.page-heading h1,.page-heading h2,h1.page-heading,.st-wrap h1{margin-top:18px;font-family:var(--fp-sans);font-size:clamp(2.75rem,5.2vw,4.75rem);font-weight:400;line-height:.98;letter-spacing:-.045em}
.body-copy{margin-top:24px;max-width:48ch;color:#535d5c}
.body-copy p+p{margin-top:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;margin-top:28px;padding:0 22px;border:1px solid var(--fp-pebble);font-size:15px;font-weight:600}
.btn.solid{background:var(--fp-sea);border-color:var(--fp-sea);color:#fff}
.btn:hover,.btn:focus-visible{background:var(--fp-deep);border-color:var(--fp-deep);color:#fff}

.cmp{width:100%;border-collapse:collapse;border-top:1px solid var(--fp-pebble);font-size:15px}
.cmp th,.cmp td{padding:17px 14px;border-bottom:1px solid var(--fp-line);text-align:left;vertical-align:top}
.cmp th{font-size:13px;font-weight:600;color:var(--fp-muted)}
.cmp .cta-cell{display:inline-flex;min-height:32px;align-items:center;color:var(--fp-sea);font-weight:600}
.split{display:grid;grid-template-columns:minmax(280px,5fr) minmax(0,7fr);gap:clamp(36px,7vw,100px);align-items:center}
.split.rev{grid-template-columns:minmax(0,7fr) minmax(280px,5fr)}
.split.rev .txt{grid-column:2;grid-row:1}
.split.rev figure{grid-column:1;grid-row:1}
.split .txt>p:not(.label){margin-top:22px;max-width:40ch;color:#535d5c}
.split figure{overflow:hidden}
.split figure img{width:100%;aspect-ratio:4/3;object-fit:cover}
.split figure:not(.wide) img[height="2912"],.split figure:not(.wide) img[height="2048"]{aspect-ratio:4/5}
.wideshot{margin-top:44px;overflow:hidden}
.wideshot img{width:100%;aspect-ratio:16/9;object-fit:cover}
.wideshot.vertical-proof{width:min(72%,880px);margin-left:auto;margin-right:auto}
.wideshot.vertical-proof picture,.wideshot.vertical-proof img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.panel,.band{position:relative;height:clamp(520px,64svh,760px);overflow:hidden;color:#fff;background:var(--fp-deep)}
.panel>img,.band>img,.panel>picture,.panel>picture img{display:block;width:100%;height:100%;object-fit:cover}
.panel::after,.band::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,61,77,.76),rgba(7,61,77,0) 62%)}
.panel .cap,.band .cap{position:absolute;z-index:2;left:var(--fp-gutter);right:var(--fp-gutter);bottom:clamp(34px,5vw,68px)}
.panel .cap h2,.band .cap .big{max-width:15ch;font-family:var(--fp-sans);font-size:clamp(2.75rem,5vw,4.6rem);font-weight:400;line-height:.96;letter-spacing:-.045em}
.panel .cap p:not(.big){margin-top:18px;max-width:52ch}
.info{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(32px,6vw,80px);margin-top:44px;border-top:1px solid var(--fp-pebble)}
.info>div{padding:24px 0;border-bottom:1px solid var(--fp-line)}
.info h3{font-size:17px;font-weight:600}
.info p{margin-top:8px;color:#535d5c;font-size:15px}
.info a,.body-copy a{color:var(--fp-sea);border-bottom:1px solid currentColor}
.fact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;border-top:1px solid var(--fp-pebble);border-bottom:1px solid var(--fp-pebble)}
.fact-row>div{padding:22px 0}
.fact-row>div p:first-child{font-size:24px;font-weight:600}
.fact-row>div p:last-child{color:var(--fp-muted);font-size:14px}
.foodgrid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:32px}
.foodgrid img{width:100%;aspect-ratio:16/9;object-fit:cover}
.foodgrid figcaption{margin-top:8px;font-size:13px;color:var(--fp-muted)}
.compare-line{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 0;border-top:1px solid var(--fp-pebble);border-bottom:1px solid var(--fp-pebble)}
.compare-line .btn{margin:0}
.close{text-align:center}
.close .body-copy{margin-left:auto;margin-right:auto}
.elsewhere{display:flex;justify-content:space-between;gap:30px;padding-top:24px;border-top:1px solid var(--fp-line);font-weight:600}
.dark.close{padding:clamp(74px,9vw,120px) var(--fp-gutter);background:var(--fp-sea);color:#fff}
.dark.close .narrow>p:not(.label){margin:22px auto 0}
.dark.close .label{color:#d8ecef}

.policy-more{border-top:1px solid var(--fp-line)}
.policy-more:last-child{border-bottom:1px solid var(--fp-line)}
.policy-more summary{cursor:pointer;padding:22px 0;font-weight:600}
.policy-more[open] summary{color:var(--fp-sea)}
.policy-more .info{margin:0 0 28px}

/* Booking remains a working surface inside the visual system. */
.reservations-page .light:first-of-type{padding-top:clamp(52px,6vw,82px)}
.cal{margin-top:40px;padding:clamp(18px,3vw,38px);background:#fff;border:1px solid var(--fp-line)}
.cal-head-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.cal-title{font-size:25px;font-weight:600}
.cal-nav{width:46px;height:46px;border:1px solid var(--fp-line);background:var(--fp-chalk);color:var(--fp-pebble);cursor:pointer;font-size:23px}
.cal-nav:disabled{opacity:.35;cursor:default}
.cal-sel{min-height:24px;margin-bottom:16px;font-size:15px}
.cal-hint{color:var(--fp-muted)}
.cal-clear{margin-left:10px;padding:0 0 2px;border:0;border-bottom:1px solid currentColor;background:none;color:var(--fp-sea);cursor:pointer}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.cal-dow{padding-bottom:6px;text-align:center;color:var(--fp-muted);font-size:12px;font-weight:600}
.cal-cell{display:flex;min-height:54px;flex-direction:column;align-items:center;gap:5px;padding:8px 2px 6px;border:1px solid transparent;background:var(--fp-chalk);color:var(--fp-pebble);cursor:pointer}
.cal-cell.empty{background:none;cursor:default}
.cal-cell.past{opacity:.3;cursor:default}
.cal-cell.full{background:#e8e5dd;opacity:.62}
.cal-cell:not(.past):not(.empty):hover{border-color:var(--fp-sea)}
.cal-cell.s-start,.cal-cell.s-end{background:var(--fp-sea);color:#fff}
.cal-cell.s-mid{background:#d6e8ed}
.cal-n{font-size:15px;font-weight:600}
.cal-dots{display:flex;gap:3px}
.cal-dot{display:inline-block;width:6px;height:6px;border-radius:50%}
.cal-dot.free{background:#3f8f57}.cal-dot.booked{background:#bdb8ad}
.cal-legend{display:flex;flex-wrap:wrap;gap:16px;margin:18px 0;padding-top:16px;border-top:1px solid var(--fp-line);color:var(--fp-muted);font-size:13px}
.cal-legend span{display:inline-flex;align-items:center;gap:7px}
.cal-note{padding:14px 0;color:#535d5c;font-size:15px}
.cal-note a,.alt-link a,.cal-foot a{color:var(--fp-sea);border-bottom:1px solid currentColor}
.alt-link a{display:inline-flex;min-height:32px;align-items:center}
.cal-res{margin-top:28px}
.cal-head{margin-bottom:14px;color:var(--fp-muted);font-size:14px;font-weight:600}
.cal-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px;padding:20px 22px;border:1px solid var(--fp-line);background:#fff}
.cal-row.off{opacity:.58}
.cal-unit{font-size:20px;font-weight:600}
.cal-meta,.cal-price span{margin-top:3px;color:var(--fp-muted);font-size:13px}
.cal-warn{margin-top:6px;color:#8a3d2f;font-size:13px}
.cal-act{display:flex;align-items:center;gap:16px}
.cal-price{font-size:18px;font-weight:600}
.cal-party{display:flex;gap:10px}
.cal-party label{color:var(--fp-muted);font-size:12px}
.cal-party select{display:block;margin-top:4px;padding:9px 24px 9px 10px;border:1px solid var(--fp-line);background:#fff;color:var(--fp-pebble)}
.cal-foot{margin-top:18px;color:var(--fp-muted);font-size:13px}
.book-wrap{margin-top:32px;padding-top:28px;border-top:1px solid var(--fp-pebble)}
.book-title{font-family:var(--fp-sans);font-size:30px;font-weight:500}
.book-secure,.alt-link{margin-top:8px;color:var(--fp-muted);font-size:14px}

.page-heading{margin-bottom:44px}
.page-heading h1{max-width:14ch}
.st-wrap{width:min(100%,900px);margin:0 auto;padding:clamp(70px,9vw,120px) var(--fp-gutter)}
.st-form{display:grid;gap:16px;margin-top:34px}
.st-form label{font-size:14px;font-weight:600}
.st-form input{width:100%;padding:13px;border:1px solid var(--fp-line);background:#fff}
.st-note{margin-top:18px;color:var(--fp-muted);font-size:14px}
.shell-fallback{padding:20px;background:var(--fp-chalk)}

footer{padding:68px var(--fp-gutter) 28px;background:var(--fp-pebble);color:#fff}
footer .cols{width:min(100%,var(--fp-max));margin:0 auto;display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:48px}
footer .brand{font-size:20px;font-weight:600}
footer p,footer a{color:#d8dddd;font-size:14px}
footer .h4{margin-bottom:13px;color:#fff;font-size:14px;font-weight:600}
footer ul{margin:0;padding:0;list-style:none}
footer li{margin:8px 0}
footer li a{display:inline-flex;min-height:32px;align-items:center}
footer .lic{margin-top:14px}
footer .tag{width:min(100%,var(--fp-max));margin:48px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.22);display:flex;justify-content:space-between;gap:20px}
.mobile-res{display:none!important}

@media(max-width:820px){
  nav{height:56px;padding:0 20px}
  nav .brand{font-size:19px}
  nav .nav-res-mobile{display:inline-flex;min-height:44px;align-items:center;justify-content:center;margin-left:auto;margin-right:6px;padding:0 13px;background:var(--fp-sea);color:#fff;font-size:13px;font-weight:600}
  nav ul{position:fixed;inset:56px 0 0;display:none;flex-direction:column;align-items:flex-start;gap:0;background:var(--fp-chalk);padding:28px 20px}
  nav.menu-open ul{display:flex}
  nav ul li,nav ul a{width:100%}
  nav ul a{display:flex;min-height:58px;align-items:center;border-bottom:1px solid var(--fp-line)!important;font-family:var(--fp-sans);font-size:30px;font-weight:400}
  nav .res{justify-content:flex-start;background:none;color:var(--fp-pebble);padding:0}
  .menu-toggle{display:grid;min-width:44px;min-height:44px;place-content:center;gap:4px;border:0;background:none;color:inherit;padding:10px}
  .menu-toggle span{display:block;width:22px;height:1px;background:currentColor}
  .fp-actions{margin-top:26px}
  .fp-button{width:100%}
  .opening-frame{min-height:620px}
  .opening-image img{object-position:42% bottom}
  .opening-copy{left:20px;width:calc(100% - 40px)}
  .opening-copy h1{font-size:clamp(3rem,11.6vw,4.2rem)}
  .opening-deck{font-size:16px;max-width:36ch}
  .opening-copy .fp-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .opening-copy .fp-button{width:auto;min-height:48px;padding:0 12px;font-size:13px}
  .fp-threshold{padding:84px 0}
  .fp-threshold-intro{display:block;padding:0 20px}
  .fp-threshold-intro h2{margin-top:18px;font-size:clamp(3.3rem,14vw,5.2rem)}
  .fp-threshold-intro>span{display:block;margin-top:24px;font-size:16px}
  .fp-threshold-stage{margin-top:52px;padding:0 0 84px}
  .fp-threshold-main{width:92%;margin-left:8%}
  .fp-threshold-main img{aspect-ratio:3/4}
  .fp-threshold-inset{left:0;width:68%;border-width:8px 8px 8px 0}
  .fp-threshold-inset img{aspect-ratio:3/2}
  .fp-threshold-note{right:20px;bottom:28px}
  .fp-section{padding:78px 20px}
  .fp-section-head{display:block;margin-bottom:44px}
  .fp-section-head h2{margin-top:18px}
  .fp-stay-grid{grid-template-columns:1fr;gap:68px}
  .fp-stay-copy{display:block}
  .fp-stay-copy dl{margin-top:22px}
  .fp-proof{padding:78px 0}
  .fp-proof>.fp-inner{padding:0 20px}
  .fp-proof-grid{grid-template-columns:1fr;gap:34px}
  .fp-proof-grid figcaption{padding-left:20px}
  .fp-dossier{padding:82px 20px}
  .fp-chapter-head,.fp-beach-head,.fp-korakas-head,.fp-practical header{display:block}
  .fp-chapter-head{margin-bottom:48px}
  .fp-chapter-head h2,.fp-beach-head h2,.fp-korakas-head h2,.fp-practical h2{margin-top:18px;font-size:clamp(3rem,13vw,4.7rem)}
  .fp-chapter-head span,.fp-korakas-head span,.fp-beach-head span{display:block;margin-top:24px;font-size:16px}
  .fp-dossier-feature,.fp-dossier-feature.reverse{display:flex;flex-direction:column;gap:34px}
  .fp-dossier-feature.reverse figure,.fp-dossier-feature.reverse .fp-dossier-facts{grid-column:auto;grid-row:auto}
  .fp-dossier-feature figure{width:calc(100% + 20px);margin-left:-20px}
  .fp-dossier-feature.reverse figure{width:calc(100% + 20px);margin:0 -20px 0 0}
  .fp-dossier-feature figure img{aspect-ratio:4/3}
  .fp-dossier-facts{width:100%}
  .fp-dossier-gallery,.fp-dossier-gallery.reverse{grid-template-columns:minmax(0,3fr) minmax(120px,2fr);gap:12px;margin-top:68px;padding:0}
  .fp-dossier-gallery figure:last-child{margin-top:48px}
  .fp-dossier-gallery.reverse figure:first-child{margin-top:48px}
  .fp-dossier-gallery.reverse figure:last-child{margin-top:0}
  .fp-dossier-gallery img{aspect-ratio:3/4}
  .fp-dossier-gallery figcaption{font-size:12px}
  .fp-chapter-link{margin-top:62px}
  .fp-beach-story{padding:82px 20px}
  .fp-beach-stage{margin-top:52px;padding:0 0 156px}
  .fp-beach-main{width:calc(100% + 20px);margin-left:-20px}
  .fp-beach-main img{aspect-ratio:4/3}
  .fp-beach-inset{right:-20px;width:53%;border-width:7px 0 7px 7px}
  .fp-beach-stage>p{bottom:36px}
  .fp-korakas{padding:82px 20px 102px}
  .fp-distance-grid{grid-template-columns:1fr 1fr;margin-top:52px}
  .fp-distance-grid>div{min-height:116px;padding:17px;border-bottom:1px solid var(--fp-line)}
  .fp-distance-grid>div:nth-child(2n){border-right:0}
  .fp-distance-grid span{max-width:14ch}
  .fp-korakas-gallery{grid-template-columns:minmax(0,7fr) minmax(112px,3fr);gap:12px;margin-top:60px}
  .fp-korakas-gallery figure:first-child{margin-left:-20px}
  .fp-korakas-gallery figure:first-child img{aspect-ratio:4/3}
  .fp-korakas-gallery figure:last-child{margin-right:-20px;transform:translateY(12%)}
  .fp-practical{padding:78px 20px}
  .fp-practical-grid{grid-template-columns:1fr 1fr;margin-top:46px}
  .fp-practical-grid>div,.fp-practical-grid>div:nth-child(3n+2),.fp-practical-grid>div:nth-child(3n+3){min-height:116px;padding:16px 14px 16px 0}
  .fp-practical-grid>div:nth-child(odd){border-right:1px solid var(--fp-line)}
  .fp-practical-grid>div:nth-child(even){padding-left:14px;border-right:0}
  .fp-confidence{padding:68px 20px}
  .fp-confidence-grid{grid-template-columns:1fr}
  .fp-confidence-grid>div{padding:20px 0;border-right:0;border-bottom:1px solid var(--fp-line)}
  .fp-confidence-grid>div:last-child{border-bottom:0}
  .fp-place{grid-template-columns:1fr}
  .fp-place figure{height:78svh;min-height:520px}
  .fp-place>div{padding:68px 20px}
  .fp-prefooter-image{height:62svh;min-height:500px}
  .fp-prefooter-image img{object-position:57% center}
  .fp-prefooter-body{padding:76px 20px}
  .fp-prefooter-body header{display:block}
  .fp-prefooter-body h2{margin-top:18px;font-size:clamp(3rem,13vw,4.6rem)}
  .fp-prefooter-body header span{font-size:16px}
  .fp-prefooter-facts{grid-template-columns:1fr 1fr;margin-top:52px}
  .fp-prefooter-facts>div{min-height:116px;padding:17px;border-bottom:1px solid rgba(255,255,255,.22)}
  .fp-prefooter-facts>div:nth-child(2n){border-right:0}
  .fp-prefooter-cta{display:block;margin-top:38px}
  .fp-prefooter .fp-button{width:100%;margin-top:30px}
  body.fp-home .mobile-res{display:none!important}
  .hero{height:clamp(440px,62svh,580px)}
  .hero .down{left:20px;right:20px;bottom:28px}
  .hero .big{font-size:clamp(3.7rem,15vw,5.7rem)}
  .light{padding:72px 20px}
  .center-intro{display:block}
  .center-intro .t{margin-top:18px}
  .narrow>h2,.split h2,.close h2,.page-heading h1,.page-heading h2{font-size:clamp(2.6rem,11vw,4rem)}
  .split,.split.rev{display:flex;flex-direction:column;gap:34px}
  .split .txt,.split.rev .txt{order:0}
  .split figure,.split.rev figure{order:1;width:100%}
  .split figure img{aspect-ratio:4/3}
  .wideshot img{aspect-ratio:4/3}
  .wideshot.vertical-proof{width:100%}
  .wideshot.vertical-proof img{aspect-ratio:auto}
  .panel,.band{height:62svh;min-height:500px}
  .panel .cap,.band .cap{left:20px;right:20px;bottom:28px}
  .info{grid-template-columns:1fr}
  .fact-row{grid-template-columns:1fr;gap:0}
  .compare-line{display:block}
  .compare-line .btn{margin-top:22px}
  .cmp{font-size:13px;table-layout:fixed}
  .cmp th,.cmp td{padding:12px 6px;overflow-wrap:anywhere}
  .cal{padding:14px}
  .cal-grid{gap:3px}
  .cal-cell{min-height:49px;padding:7px 1px}
  .cal-row,.cal-act{align-items:flex-start;flex-direction:column}
  .cal-act{width:100%}
  .cal-party{width:100%}
  .cal-party label{flex:1}
  .cal-party select{width:100%}
  footer{padding:58px 20px 30px}
  footer .cols{grid-template-columns:1fr;gap:30px}
  footer .tag{display:block}
  footer .tag p+p{margin-top:6px}
}

@media(max-height:740px){
  .opening-copy h1{margin-top:8px;font-size:clamp(2.75rem,7vh,3.6rem);line-height:.86}
  .opening-deck{max-width:58ch;margin-top:12px;font-size:14px;line-height:1.4}
  .opening-copy .fp-actions{margin-top:14px}
  .opening-copy .fp-button{min-height:44px}
}

@media(max-height:500px){
  .opening-frame{min-height:0}
  .opening-copy h1{font-size:clamp(2.35rem,10vh,2.8rem)}
  .opening-deck,.opening-copy .fp-actions{display:none}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fp-button{transition:none}.opening-frame{position:relative}.opening-image{will-change:auto}}
