:root{--paper:#faf8f2;--ink:#193e4c;--muted:#53676c;--sand:#eeeadf;--sea:#e6eff0;--clay:#a54b33}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 'Segoe UI',Arial,sans-serif}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12}h1{font-size:clamp(36px,9vw,78px);letter-spacing:-1.8px}h2{font-size:clamp(33px,4.1vw,54px);letter-spacing:-1.3px}h3{font-size:25px}p{color:var(--muted)}p+p{margin-top:18px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}a,button{touch-action:manipulation}img{display:block;width:100%;height:auto}svg{width:22px;height:22px;flex:none}a:focus-visible,button:focus-visible{outline:3px solid #257092;outline-offset:5px}.wrap{width:min(1200px,calc(100% - 40px));margin-inline:auto}.section{padding-block:60px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:600;margin-bottom:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 24px;background:var(--clay);border-radius:40px;color:#fffdf8;font-size:14px}.button:hover{background:#893b27}.text-link{display:inline-flex;gap:12px;align-items:center;min-height:44px;font-size:14px;margin-top:20px}.text-link:hover{text-decoration:underline}.hand{font-family:'Segoe Print','Bradley Hand',cursive;font-size:25px;line-height:1.5;color:var(--clay)}.small{font-size:12px;margin-top:24px}.sand{background:var(--sand)}.sea{background:var(--sea)}.skip{position:absolute;left:20px;top:-80px;z-index:100;padding:12px;background:white}.skip:focus{top:10px}header{height:76px;padding-inline:20px;display:flex;align-items:center;justify-content:space-between;background:#fffefa;position:relative;z-index:10}.brand{font-family:Georgia,serif;font-size:32px;line-height:1;letter-spacing:-1.3px}.brand span{display:block;font:8px/1.8 'Segoe UI',sans-serif;letter-spacing:3px;text-align:center;margin-top:5px}.menu{width:44px;height:44px;background:none;display:grid;align-content:center;justify-content:center;gap:7px}.menu span{width:23px;height:1.5px;background:var(--ink)}nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fffefa;padding:20px;box-shadow:0 12px 20px #193e4c15}nav.open{display:grid}nav a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--sand)}.header-cta{display:none}.hero{position:relative;isolation:isolate;min-height:640px;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:53% center;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#eaf3f3f5,#edf4f1c7 40%,#edf4f138 85%);z-index:-1}.hero-content{padding:38px 24px 50px}.location{font-size:13px;margin-bottom:17px;color:var(--ink)}.lead{margin-top:22px;max-width:370px;font-size:16px;color:#304f57}.facts{padding:0;margin:24px 0 0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:360px}.facts li{border-radius:40px;background:#fffefaf0;text-align:center;font-size:11px;padding:12px 8px}.walk{font-size:11px;color:#304f57;margin:14px 0 24px}.discover{display:block;padding:12px 0;text-decoration:underline;text-underline-offset:4px;font-size:13px;width:fit-content}.postcard{display:none}.intro>div>p:not(.eyebrow){margin-top:22px;max-width:450px}.amenity-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 10px;margin-top:35px;text-align:center}.amenity-preview strong{display:block;font-size:11px;font-weight:500}.amenity-preview div>span:last-child{display:block;font-size:10px;color:var(--muted)}.line-icon{display:block;margin-bottom:12px}.line-icon svg{width:32px;height:32px}.spaces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px;margin-top:38px;scroll-margin-top:20px}.spaces a{position:relative}.spaces img{aspect-ratio:1.15;object-fit:cover;border-radius:10px}.spaces h3{font-size:22px;margin-top:14px}.spaces p{font-size:11px;margin-top:6px}.spaces svg{display:none}.section-top{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:28px}.section-top .eyebrow{margin:0}.section-top .hand{font-size:19px}.split{display:grid;gap:30px}.split>div>p:not(.eyebrow){margin-top:20px}.photo{padding:0;background:none;text-align:left;width:100%;display:block;border-radius:11px}.photo img{border-radius:11px;object-fit:cover}.split>.photo img{aspect-ratio:1.2}.features{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:17px 20px;margin-top:25px;font-size:13px}.features li:before{content:"✓";margin-right:8px;color:var(--clay)}.stories{display:grid;gap:28px;margin-top:38px}.stories article{display:grid;grid-template-columns:100px 1fr;gap:18px}.stories img{height:150px;object-fit:cover;border-radius:9px}.stories h3{font-size:22px}.stories p{font-size:12px;margin-top:10px}.living{display:grid;gap:30px}.living>div>p:not(.eyebrow){margin-top:22px}.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mosaic .photo:first-child{grid-column:1/-1}.mosaic img{aspect-ratio:1.2}.mosaic .photo:first-child img{aspect-ratio:1.6}.section-copy{margin-top:20px;margin-bottom:32px}.bedrooms{display:grid;gap:28px}.bedrooms img{aspect-ratio:1.45}.bedrooms h3{margin-top:17px}.bedrooms p{font-size:13px;margin-top:8px}.note{padding:22px;background:#fffefa;border-radius:10px;font-size:13px;margin-top:30px}.comforts{display:grid;grid-template-columns:1fr 1fr;gap:32px 20px;margin-top:36px}.comforts h3{font-size:25px;margin-bottom:12px}.comforts p{font-size:12px}.beach-photo>img{aspect-ratio:1.1;object-fit:cover;border-radius:12px}.beach-photo>p{position:relative;margin:-26px 15px 0!important;padding:17px 20px;border-radius:10px;background:#fffefa;font-size:13px}.beach-photo>p span{display:block;font-size:11px;margin-top:5px}.subheading{font-size:29px;margin-top:20px}.gallery{display:grid;grid-auto-flow:column;grid-auto-columns:85%;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;padding:5px 3px 15px;scrollbar-width:thin}.gallery .photo{scroll-snap-align:start}.gallery img{aspect-ratio:1.2}.gallery span{display:block;font-size:12px;padding-top:12px}.contact{display:grid;gap:30px}.contact>div>p:not(.eyebrow){margin-top:23px}.contact-panel{padding:28px 23px;background:#fffefa;border-radius:12px}.contact-panel p{font-size:14px}.contact-facts{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;margin:25px 0}.contact-panel .button{font-size:12px}footer{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:26px;padding-block:38px 110px}footer p{font-size:12px}footer .text-link{margin:0}.sticky{position:fixed;bottom:0;left:0;right:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fffefaf7;border-top:1px solid #d7d9d0;z-index:15}.sticky .button{display:flex;width:100%;font-size:13px}dialog{background:#16333bf7;color:#fffefa;border:0;margin:0;padding:65px 12px;width:100%;max-width:none;height:100%;max-height:none}dialog::backdrop{background:#16333b}dialog[open]{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:5px}dialog button{width:44px;height:44px;background:#ffffff1a;color:white;border-radius:50%;font-size:28px}dialog .close{position:absolute;top:15px;right:16px}dialog figure{min-width:0}dialog img{max-height:75dvh;object-fit:contain}dialog figcaption{text-align:center;margin-top:15px;font-size:12px}body.modal-open{overflow:hidden}
@media(min-width:768px){.wrap{width:min(1200px,calc(100% - 70px))}.section{padding-block:85px}header{padding-inline:35px}.hero{min-height:660px}.hero-content{padding:65px 48px}.hero:after{background:linear-gradient(90deg,#eaf3f3f0,#edf4f1b5 36%,#edf4f100 80%)}h1{font-size:65px}.postcard{display:block;position:absolute;right:35px;bottom:45px;width:225px;transform:rotate(3deg);padding:9px;background:#fffefa;box-shadow:0 10px 30px #193e4c25}.postcard img{aspect-ratio:1.4;object-fit:cover}.postcard span{display:flex;justify-content:space-between;align-items:center;padding:12px 4px;font:17px Georgia,serif}.intro{display:grid;grid-template-columns:1fr 1fr;gap:40px}.amenity-preview{align-content:center;margin:0;gap:35px 12px}.spaces{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0;gap:18px}.split{grid-template-columns:1fr 1fr;align-items:center;gap:40px}.split>.photo img{aspect-ratio:.85}.stories{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.stories article{display:block}.stories img{height:190px;margin-bottom:18px}.living{grid-template-columns:1fr 1.3fr;align-items:center;gap:40px}.bedrooms{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.bedrooms img{aspect-ratio:1.1}.comforts{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.comforts p{font-size:14px}.beach-photo>img{aspect-ratio:.9}.gallery{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-columns:auto;overflow:visible;gap:24px}.gallery .photo:first-child{grid-column:span 2;grid-row:span 2}.gallery .photo:first-child img{height:calc(100% - 33px);aspect-ratio:auto}.contact{grid-template-columns:1fr 1fr;align-items:center;gap:50px}.sticky{display:none}footer{padding-bottom:38px}dialog[open]{padding-inline:30px;gap:25px}}
@media(min-width:1100px){header{height:80px;padding-inline:4vw;gap:25px}.menu{display:none}nav{display:flex;position:static;gap:27px;padding:0;box-shadow:none}nav a{font-size:13px;border:0}.header-cta{display:inline-flex;font-size:12px;padding-inline:18px}.hero-content{padding:72px max(50px,calc((100vw - 1200px)/2)) 65px}h1{font-size:76px;letter-spacing:-3px}.hero{min-height:665px}.facts{grid-template-columns:repeat(4,max-content);max-width:none}.facts li{padding:12px 16px}.discover{display:inline-block;margin-left:20px}.postcard{width:450px;right:max(50px,calc((100vw - 1200px)/2))}.intro{grid-template-columns:1fr 1.4fr;gap:50px}.section{padding-block:95px}.spaces h3{font-size:27px}.spaces p{font-size:12px}.spaces a>svg{display:block;position:absolute;right:0;bottom:25px;width:17px}.spaces img{aspect-ratio:1.3}.split{gap:65px}.split>.photo img{aspect-ratio:1.1}.stories article{display:grid;grid-template-columns:120px 1fr;gap:18px}.stories img{height:180px;margin:0}.stories p{font-size:12px}.living{grid-template-columns:.85fr 1.4fr;gap:65px}.mosaic .photo:first-child img{aspect-ratio:1.85}.mosaic img{aspect-ratio:1.65}.bedrooms img{aspect-ratio:1.35}.comforts{grid-template-columns:repeat(6,minmax(0,1fr));gap:25px}.comforts h3{font-size:24px}.comforts p{font-size:12px}.beach-photo>img{aspect-ratio:1.05}.gallery img{aspect-ratio:1.4}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Carrusel de experiencias: controles manuales, sin reproducción automática. */
.experience-controls[hidden],.experience-slide[hidden]{display:none!important}
.experience-controls{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;margin-bottom:30px}
.experience-topics{display:flex;gap:8px;max-width:100%;overflow-x:auto;padding:5px;scrollbar-width:thin}
.experience-topics button{flex:none;min-height:44px;border:1px solid #bdcfd0;border-radius:30px;padding:10px 16px;background:transparent;font-size:12px}
.experience-topics button[aria-pressed=true]{background:var(--ink);color:#fffefa;border-color:var(--ink)}
.experience-topics button:hover{border-color:var(--ink)}
.experience-arrows{display:flex;gap:16px;align-items:center;margin-left:auto}
.experience-arrows button{width:44px;height:44px;border:1px solid #bdcfd0;border-radius:50%;background:#fffefa;font-size:27px;line-height:1}
.experience-arrows button:hover{background:var(--ink);color:#fffefa}
#experience-status{min-width:38px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}
.experience-stage{min-width:0;outline-offset:8px}
.experience-stage:focus-visible{outline:2px solid #257092}
.experience-slide{min-width:0}

.experience-slide .beach-photo>img{aspect-ratio:1.1;object-fit:cover}
.experience-slide .hand{font-size:23px}
@media(min-width:768px){.experience-controls{flex-wrap:nowrap;margin-bottom:38px}.experience-slide .beach-photo>img{aspect-ratio:.9}.experience-slide .hand{font-size:25px}}
@media(min-width:1100px){.experience-slide .beach-photo>img{aspect-ratio:1.05}.experience-topics button{font-size:13px}}


/* Superposition des diapositives pendant le fondu, sans débordement horizontal. */
.experience-stage{display:grid;overflow:clip}
.experience-slide{grid-area:1/1;align-self:start;width:100%}
@media(prefers-reduced-motion:no-preference){
 .experience-topics button,.experience-arrows button{transition:background-color .2s,color .2s,border-color .2s}
}
