/* Sea La Vie · handcrafted multi-page hospitality UI */
:root{--ink:#132635;--sub:#5b6d76;--sea:#007f91;--navy:#072d4c;--deep:#031826;--gold:#be8b38;--cream:#faf8f4;--line:#e4e9e7;--white:#fff;--shadow:0 24px 70px rgba(3,24,38,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:white;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #11bac6;outline-offset:3px}::selection{background:#9de7e7;color:#072d4c}
.container{width:min(1240px,calc(100% - 70px));margin-inline:auto}section[id],main[id]{scroll-margin-top:92px}.eyebrow{font-size:.69rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:var(--sea);margin:0 0 17px}.eyebrow.on-dark{color:#71dce4}.serif,h1,h2,h3{font-family:"Iowan Old Style",Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.038em}h1{font-size:clamp(3.4rem,6.25vw,6.45rem);line-height:1.02;margin:0 0 25px}h2{font-size:clamp(2.45rem,4.6vw,4.4rem);line-height:1.08;margin:0 0 22px}h3{font-size:1.55rem;line-height:1.18;margin:0 0 12px}p{line-height:1.74}p.lead{color:var(--sub);font-size:clamp(1.04rem,1.45vw,1.23rem);max-width:670px}section{position:relative}.section{padding:104px 0}.section--cream{background:var(--cream)}.section-head{max-width:740px;margin-bottom:43px}.section-head p:last-child{color:var(--sub)}.capsule{font-size:.73rem;letter-spacing:.07em;text-transform:uppercase;font-weight:850;background:#e9f6f5;color:#0d7583;padding:9px 13px;border-radius:999px;display:inline-flex}
.skip{position:absolute;top:-80px;left:20px;background:var(--deep);color:white;padding:12px 18px;z-index:5000}.skip:focus{top:14px}.site-header{position:sticky;top:0;z-index:1100;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.header-row{height:87px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.brand img{width:66px;height:66px;object-fit:contain}.brand-text{display:flex;flex-direction:column;gap:4px;color:var(--navy);font-size:.87rem;font-weight:850;letter-spacing:.01em;line-height:1.18}.brand-text span{font-weight:550;color:var(--sub);font-size:.69rem;letter-spacing:.09em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:23px}.nav>a{font-weight:650;font-size:.85rem;text-decoration:none;color:#485c65;transition:color .2s}.nav>a:hover,.nav>a[aria-current=page]{color:var(--sea)}.nav>.nav-book{background:var(--navy);color:white!important;border-radius:999px;padding:13px 21px;white-space:nowrap}.nav>.nav-book:hover{background:var(--sea)}.nav-toggle{display:none;background:var(--navy);color:white;border:0;border-radius:13px;width:46px;height:44px;font-size:1.45rem}.nav--open{display:flex!important}
.social-dock{position:fixed;z-index:1300;top:50%;left:13px;transform:translateY(-50%);display:grid;gap:8px}.social-dock a{height:46px;width:46px;display:flex;align-items:center;gap:10px;border-radius:50px;text-decoration:none;color:white;box-shadow:0 5px 15px #001b2d30;background:#0b3048;overflow:hidden;transition:width .28s ease,transform .25s ease}.social-dock a:hover{width:145px;transform:translateX(4px)}.social-dock .symbol{display:grid;place-items:center;min-width:46px;height:46px;font-weight:900;font-size:.97rem}.social-dock .social-label{white-space:nowrap;font-size:.77rem;font-weight:750;padding-right:10px}.social-dock .insta .symbol{background:linear-gradient(135deg,#f8c64c,#e65278,#7843c9)}.social-dock .facebook .symbol{background:#2374df}.social-dock .tiktok .symbol{background:#080d17;text-shadow:2px 0 #36e5d3,-2px 0 #ec4069}.social-dock .whatsapp .symbol{background:#1ab668}.social-dock .email .symbol{background:#be8b38}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:48px;padding:13px 24px;border-radius:999px;text-decoration:none;font-size:.86rem;font-weight:750;white-space:nowrap;transition:transform .25s ease,background .2s ease,box-shadow .25s ease,color .2s ease;border:1px solid transparent}.btn:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(0,40,55,.16)}.btn--navy{background:var(--navy);color:white}.btn--sea{background:var(--sea);color:white}.btn--gold{background:var(--gold);color:white}.btn--white{background:white;color:var(--navy)}.btn--line{background:transparent;border-color:rgba(7,45,76,.25);color:var(--navy)}.btn--line:hover{background:#e9f9fa}.btn--darkline{border-color:rgba(255,255,255,.55);color:white;background:transparent}.btn--darkline:hover{background:rgba(255,255,255,.14)}.actions{display:flex;gap:13px;flex-wrap:wrap;align-items:center}
/* main 4K photographic collage, actual h1 in DOM */
.home-hero{min-height:650px;position:relative;isolation:isolate;overflow:hidden;background:var(--deep);display:flex;align-items:center}.home-hero .hero-photo{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(1,12,18,.2),transparent 63%),url('../images/private-escape-2560.webp');background-size:cover;background-position:center center;z-index:-2}.home-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,17,23,.55) 0%,rgba(2,17,23,.15) 48%,transparent 69%);z-index:-1}.hero-copy{color:white;max-width:610px;padding:95px 0}.hero-copy h1{color:white;font-size:clamp(3.55rem,5.2vw,6.35rem);text-shadow:0 8px 25px #00161a4d}.hero-copy p:not(.eyebrow){color:#f7fffd;max-width:380px;font-size:1.07rem;line-height:1.7}.hero-bottom{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.hero-call{position:absolute;right:4%;bottom:14%;background:rgba(3,25,40,.82);color:white;text-decoration:none;border:1px solid #ffffff69;border-radius:50px;font-size:.85rem;padding:13px 18px;transition:transform .3s}.hero-call:hover{transform:scale(1.035);background:#063350}.hero-call strong{color:#54deec;margin-left:8px}.hero-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:27px 0;border-bottom:1px solid var(--line)}.hero-facts>div{display:flex;gap:11px;align-items:baseline}.hero-facts strong{font:400 2.25rem Georgia;color:var(--sea)}.hero-facts span{font-size:.79rem;letter-spacing:.02em;color:var(--sub)}
.feature-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:75px;align-items:center}.image-window{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);position:relative}.image-window img{width:100%;height:560px;object-fit:cover}.image-window.tall img{height:630px}.float-stamp{position:absolute;left:20px;bottom:20px;color:var(--navy);background:rgba(255,255,255,.94);padding:14px 17px;border-radius:100px;font-size:.77rem;font-weight:800}.subline{font-size:.95rem;color:var(--sub)}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white;transition:transform .28s ease,box-shadow .28s ease}.card:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(0,36,50,.1)}.card-image{height:230px;overflow:hidden;position:relative}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover .card-image img{transform:scale(1.045)}.card-body{padding:24px}.card-body .eyebrow{margin-bottom:10px}.card-body p{font-size:.92rem;color:var(--sub);margin:0 0 16px}.card-body .text-link{display:inline-flex;gap:8px;font-size:.82rem;color:var(--sea);font-weight:850;text-decoration:none}.card-body .text-link:hover{text-decoration:underline}.card-stat{position:absolute;left:13px;top:13px;background:rgba(4,32,46,.83);color:white;font-weight:750;font-size:.74rem;border-radius:100px;padding:8px 11px}
.full-dark{background:var(--navy);color:white}.full-dark h2,.full-dark h3{color:white}.full-dark p{color:#d3e8ec}.full-dark .eyebrow{color:#7ee1e4}.icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.icon-card{border:1px solid #1c4c60;background:#ffffff09;border-radius:18px;padding:27px}.icon-card .icon{font-size:1.65rem;margin-bottom:17px}.icon-card h3{font-size:1.27rem}.icon-card p{font-size:.88rem;margin:0;color:#d2e5e6}
.page-hero{padding:94px 0 87px;background:#f6f8f7}.page-hero .container{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.page-hero h1{font-size:clamp(3.2rem,5.8vw,5.6rem)}.page-hero p.lead{margin:20px 0 0}.page-hero img{width:100%;height:400px;border-radius:18px;object-fit:cover}.page-hero.dark{background:var(--navy);color:white}.page-hero.dark h1{color:white}.page-hero.dark .lead{color:#d9e8ea}.page-hero.dark .eyebrow{color:#6fdde0}
.details-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:55px}.details-copy{font-size:1rem;color:#50626c}.detail-card{padding:31px;background:var(--cream);border-radius:20px}.detail-card h3{font-size:1.6rem}.detail-list{list-style:none;padding:0;margin:0}.detail-list li{border-bottom:1px solid #dfe7e4;padding:13px 0;display:flex;gap:10px;font-size:.91rem}.detail-list li::before{content:'✓';color:var(--sea);font-weight:800}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-item{border:0;background:#e9f2f1;border-radius:13px;padding:0;overflow:hidden;aspect-ratio:4/3;position:relative;cursor:zoom-in}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.05)}.gallery-item:nth-child(9n+1){grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.gallery-item span{position:absolute;bottom:9px;right:9px;background:#041b2bc9;color:#fff;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 25px}.filter-btn{border:1px solid #dbe5e4;background:white;color:#315465;border-radius:50px;padding:10px 16px;font-size:.85rem;font-weight:750}.filter-btn[aria-pressed=true],.filter-btn:hover{background:var(--navy);color:white}.gallery-item[hidden]{display:none!important}
.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px}.faq details{border-bottom:1px solid var(--line);padding:21px 0}.faq summary{font-weight:750;color:var(--navy);cursor:pointer;padding-right:30px}.faq details p{color:var(--sub);margin:12px 0 2px}.breadcrumb{font-size:.74rem;color:#74848b;padding:16px 0}.breadcrumb a{color:#4a6a74;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}
.map-box{min-height:480px;overflow:hidden;border-radius:18px;box-shadow:var(--shadow)}.map-box iframe{height:480px;width:100%;border:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.contact-panel{background:#f5f8f8;padding:35px;border-radius:18px}.contact-panel p{color:var(--sub)}.simple-form label{font-weight:700;font-size:.87rem;margin-top:13px;display:block}.simple-form input,.simple-form textarea,.simple-form select{border:1px solid #cfdcda;border-radius:11px;padding:13px;width:100%;margin-top:8px;background:white;color:var(--ink)}.simple-form textarea{resize:vertical;min-height:135px}.form-note{font-size:.73rem;color:#61737b}.meta-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.meta-item{border-top:1px solid #d8e3e1;padding-top:14px;font-size:.87rem}.meta-item strong{display:block;margin-bottom:5px;color:var(--navy)}
.cta-band{background:var(--sea);color:white;padding:80px 0}.cta-band h2{color:white;max-width:850px}.cta-band .eyebrow{color:#c1f4f4}.cta-band .actions{margin-top:26px}footer{background:#061e2c;color:#c4d7db;padding:65px 0 30px}footer a{text-decoration:none;color:#dcebef;font-size:.83rem}footer a:hover{color:#67dbdb}footer h4{color:#fff;font-size:.8rem;margin:0 0 19px;letter-spacing:.08em;text-transform:uppercase}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.1fr;gap:35px}.footer-grid>div{display:flex;flex-direction:column;gap:13px}.footer-logo{width:100px;background:#fff;border-radius:12px;padding:6px}.footer-fine{border-top:1px solid #ffffff22;margin-top:49px;padding-top:25px;font-size:.75rem;color:#95aeb7}
.lightbox{position:fixed;inset:0;background:#03111cef;display:none;z-index:4000;align-items:center;justify-content:center;padding:45px}.lightbox.is-open{display:flex}.lightbox img{max-width:92vw;max-height:90vh;object-fit:contain;border-radius:7px}.lightbox button{border:0;background:#ffffff26;color:white;border-radius:50%;position:absolute;z-index:1;display:grid;place-items:center}.lightbox-close{top:15px;right:20px;width:46px;height:46px;font-size:1.65rem}.lightbox-prev,.lightbox-next{top:50%;width:48px;height:48px;font-size:1.8rem}.lightbox-prev{left:15px}.lightbox-next{right:15px}.lightbox-caption{color:#fff;position:absolute;bottom:18px;font-size:.81rem}
@keyframes softRise{from{transform:translateY(12px)}to{transform:translateY(0)}}.js-ready .reveal{opacity:1;transform:none}.js-ready .reveal.is-visible{animation:softRise .52s ease-out both}
@media(min-width:2000px){.home-hero{min-height:720px}.home-hero .hero-photo{background-image:linear-gradient(90deg,rgba(1,12,18,.2),transparent 63%),url('../images/private-escape-5120.webp');background-position:center 50%}.hero-copy{padding:125px 0}}
@media(max-width:1160px){.nav{gap:13px}.nav>a{font-size:.77rem}.card-grid{grid-template-columns:repeat(2,1fr)}.icon-grid{grid-template-columns:repeat(2,1fr)}.hero-call{bottom:5%}}
@media(max-width:920px){.container{width:min(100% - 46px,1240px)}.nav-toggle{display:block}.nav{display:none;position:absolute;top:87px;left:15px;right:15px;background:white;padding:18px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow);border-radius:15px;gap:0}.nav a{padding:13px;font-size:.9rem}.nav>.nav-book{text-align:center}.feature-grid,.details-grid,.faq,.page-hero .container,.contact-grid{grid-template-columns:1fr;gap:35px}.page-hero img{height:330px}.gallery-grid{grid-template-columns:repeat(3,1fr)}.home-hero{min-height:630px}.home-hero::after{background:linear-gradient(90deg,rgba(2,17,23,.8),rgba(2,17,23,.25) 75%)}.hero-call{right:4%;bottom:2%}.footer-grid{grid-template-columns:repeat(2,1fr)}.social-dock{left:auto;right:12px}}
@media(max-width:640px){.container{width:calc(100% - 36px)}.header-row{height:76px}.nav{top:76px}.brand img{height:52px;width:52px}.brand-text{font-size:.74rem}.brand-text span{font-size:.63rem}.section{padding:72px 0}h1{font-size:clamp(2.8rem,12.4vw,4.6rem)}h2{font-size:clamp(2.25rem,10vw,3.2rem)}.home-hero{min-height:690px;align-items:end}.home-hero .hero-photo{background-image:linear-gradient(0deg,rgba(1,10,18,.85),rgba(1,12,20,.15)),url('../images/pool-1440.webp');background-position:center}.home-hero::after{background:linear-gradient(0deg,rgba(0,13,22,.65),transparent 90%)}.hero-copy{padding:90px 0 125px}.hero-call{left:18px;right:auto;bottom:20px}.hero-call strong{display:inline}.hero-facts{grid-template-columns:repeat(2,1fr)}.hero-facts strong{font-size:1.75rem}.card-grid,.icon-grid{grid-template-columns:1fr}.image-window img,.image-window.tall img{height:370px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item:nth-child(9n+1){grid-column:span 2}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:span 2}.social-dock{top:auto;left:50%;right:auto;bottom:9px;transform:translateX(-50%);display:flex;gap:3px;background:#061e2de8;border-radius:80px;padding:5px}.social-dock a,.social-dock a:hover{height:40px;width:40px;transform:none;box-shadow:none}.social-dock .symbol{height:40px;min-width:40px}.social-dock .social-label{display:none}.footer-fine{padding-bottom:60px}.meta-strip{grid-template-columns:1fr}.lightbox{padding:30px}.lightbox-prev{left:4px}.lightbox-next{right:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.js-ready .reveal{opacity:1;transform:none}}

/* 2026 editorial motion system — original visual treatment inspired by polished product storytelling */
@view-transition { navigation: auto; }
::view-transition-old(root) {animation: .28s ease-in both pageLeave;}
::view-transition-new(root) {animation: .48s cubic-bezier(.18,.74,.28,1) both pageEnter;}
@keyframes pageLeave {to{opacity:0;filter:blur(3px);transform:scale(.992)}}
@keyframes pageEnter {from{opacity:.65;filter:blur(5px);transform:translateY(7px) scale(1.006)}to{opacity:1;filter:blur(0);transform:none}}
/* allow generous page space, maintain legibility, and let nav links breathe */
.nav {gap:13px}
.nav>a {font-size:.785rem;white-space:nowrap}
.nav>.nav-villa {display:inline-flex;align-items:center;border:1px solid rgba(0,127,145,.25);border-radius:999px;padding:11px 14px;color:#047989;background:#e5f7f6;box-shadow:0 4px 15px rgba(3,76,95,.04);transition:background .25s ease,transform .25s ease,box-shadow .25s ease;color:#047989}
.nav>.nav-villa:hover {background:#d6f2ee;transform:translateY(-2px);box-shadow:0 9px 18px rgba(4,120,137,.12)}
.nav>.nav-book {padding:12px 17px}
.brand img {border-radius:12px}
/* Apply the same elegant microinteraction system to both hyperlinks and buttons */
.btn,.text-link,.nav>a,.hub-nav-card,.discovery-card,.showcase-card,.gallery-item,.card,.icon-card {will-change:auto}
.btn:focus-visible,.nav-villa:focus-visible {outline:3px solid #0aa7be;outline-offset:4px}
.btn:active,.nav>.nav-villa:active {transform:translateY(-1px) scale(.985)}
.card:hover,.icon-card:hover {transform:translateY(-6px);box-shadow:0 27px 68px rgba(3,24,38,.16)}
.card,.icon-card {transition:transform .35s cubic-bezier(.18,.75,.29,1),box-shadow .35s ease}
.image-window img {transition:transform .75s cubic-bezier(.19,.8,.28,1)}
.image-window:hover img {transform:scale(1.045)}
/* Slow cinematic drift on homepage photograph, only while motion is enabled */
@keyframes seaDrift {from{transform:scale(1.025)}to{transform:scale(1.085)}}
.home-hero .hero-photo{animation:seaDrift 20s ease-in-out infinite alternate}
@supports (animation-timeline:view()) {
  .aruba-showcase-heading h2 {animation:headlineSettle linear both;animation-timeline:view();animation-range:entry 5% cover 44%}
  @keyframes headlineSettle {from{letter-spacing:-.065em;opacity:.65;transform:translateY(24px)}to{letter-spacing:-.038em;opacity:1;transform:none}}
}
/* Sticky storytelling chapters — content always available if scripting is disabled */
.cinematic-experience{padding:100px 0 120px;background:#061e30;color:white;overflow:clip}
.cinematic-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(38px,6vw,95px);align-items:start}
.cinematic-visual{position:sticky;top:110px;min-width:0}
.cinematic-stack{height:min(640px,68vh);min-height:475px;position:relative;overflow:hidden;border-radius:22px;background:#0f3245;box-shadow:0 30px 90px #0007}
.cinematic-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.075);transition:opacity .9s ease,transform 1.7s cubic-bezier(.2,.7,.3,1);will-change:opacity,transform}
.cinematic-frame.active{opacity:1;transform:scale(1.002)}
.cinematic-stack::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,12,24,.36));pointer-events:none}
.cinematic-progress{position:absolute;z-index:2;bottom:24px;left:24px;right:24px;height:3px;background:#ffffff70;border-radius:8px;overflow:hidden}
.cinematic-progress span{display:block;background:#65e5e7;height:100%;width:33.333%;transform:translateX(0);transition:transform .55s ease}
.cinematic-text{padding-top:24px}
.cinematic-text .eyebrow{color:#73d8e6}
.cinematic-text>h2{color:white;font-size:clamp(2.8rem,5vw,5.4rem);margin-bottom:44px}
.cinematic-chapter{min-height:clamp(360px,62vh,610px);padding:35px 0 60px;display:flex;flex-direction:column;justify-content:center;border-top:1px solid #ffffff26;opacity:.72;transform:translateY(9px);transition:opacity .75s ease,transform .75s ease}
.cinematic-chapter.is-active,.cinematic-chapter:hover{opacity:1;transform:none}
.cinematic-count{color:#7fe5e9;font-size:.75rem;letter-spacing:.15em;font-weight:800;margin-bottom:24px}
.cinematic-chapter h3{font-size:clamp(2.7rem,4.2vw,4.7rem);line-height:1.03;color:#fff;margin:0 0 23px}
.cinematic-chapter p{color:#d2e2ea;font-size:clamp(1rem,1.27vw,1.16rem);max-width:460px}
.cinematic-more{margin-top:0}
/* Aruba showcase becomes a useful cross-link destination on the main site */
.aruba-showcase{overflow:hidden}
.aruba-showcase-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:end;margin-bottom:44px}
.aruba-showcase-heading h2{margin-bottom:0}
.aruba-showcase-heading>p{color:var(--sub);font-size:1.12rem;max-width:430px;margin:0}
.showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.showcase-card{display:block;min-width:0;text-decoration:none;background:white;border-radius:20px;overflow:hidden;border:1px solid #e6eeec;box-shadow:0 18px 45px #08263715;transition:transform .4s ease,box-shadow .35s ease}
.showcase-card:hover{transform:translateY(-9px);box-shadow:0 25px 65px #08263730}
.showcase-photo{height:265px;overflow:hidden}
.showcase-photo img{height:100%;width:100%;object-fit:cover;transition:transform .75s cubic-bezier(.17,.78,.28,1)}
.showcase-card:hover img{transform:scale(1.09)}
.showcase-caption{padding:27px}
.showcase-caption h3{font-size:1.68rem;margin-bottom:21px}
.showcase-arrow{font-weight:750;color:var(--sea);font-size:.88rem}
/* Guide categories and internal navigation */
.chapter-intro{max-width:760px;margin-bottom:35px}
.chapter-intro>p:last-child{font-size:1.05rem;color:var(--sub)}
.hub-nav-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hub-nav-card{display:flex;flex-direction:column;min-height:315px;padding:33px;border:1px solid #e2ebe7;border-radius:20px;background:#fff;box-shadow:0 12px 35px #062b3512;text-decoration:none;transition:transform .35s ease,background .35s ease,box-shadow .35s ease}
.hub-nav-card:hover{transform:translateY(-6px);background:#f6fcfa;box-shadow:0 22px 56px #072c371f}
.hub-nav-card>span:first-child{color:var(--sea);font-size:.76rem;font-weight:850;letter-spacing:.14em;margin-bottom:25px}
.hub-nav-card h3{font-size:2rem}
.hub-nav-card p{color:var(--sub);font-size:.95rem;margin-bottom:24px}
.hub-nav-card .link-arrow{display:block;margin-top:auto;color:var(--sea);font-weight:800;font-size:.85rem}
.discovery-group:nth-of-type(even){background:#fcfdfc}
.discovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.discovery-card{min-height:316px;display:flex;flex-direction:column;border:1px solid #e2eae7;background:white;border-radius:18px;padding:28px;box-shadow:0 14px 38px #0b25350d;transition:transform .3s ease,box-shadow .3s ease}
.discovery-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px #0b253522}
.discovery-number{font-family:Georgia,serif;color:#0d91a5;font-size:2.3rem;margin-bottom:18px;line-height:1}
.discovery-card h3{font-size:1.65rem;margin:0 0 10px}
.discovery-card>p:not(.eyebrow){color:var(--sub);font-size:.95rem;margin:0 0 20px}
.discovery-bottom{display:flex;align-items:end;justify-content:space-between;gap:10px;border-top:1px solid #e5efec;padding-top:16px;margin-top:auto}
.discovery-bottom span{color:#667983;font-size:.75rem}
.discovery-bottom a{color:var(--sea);font-size:.84rem;font-weight:850;text-decoration:none;white-space:nowrap}
.discovery-bottom a:hover{text-decoration:underline}
.tips-section{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px}
.tips-list{display:grid;gap:9px;color:var(--sub)}
.tips-list p{padding:0 0 17px;border-bottom:1px solid #dfe8e3}
.tips-list strong{color:var(--navy)}
.route-tip{max-width:850px;margin:auto}
.route-tip p:not(.eyebrow){color:var(--sub);font-size:1.04rem;max-width:720px}
/* room for the expanded nav */
@media(max-width:1320px){.nav{gap:11px}.nav>a{font-size:.735rem}.header-row{gap:15px}.brand-text{font-size:.79rem}}
@media(max-width:1120px){.nav-toggle{display:block}.nav{display:none;position:absolute;top:87px;left:15px;right:15px;background:white;padding:18px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow);border-radius:15px;gap:0}.nav a{padding:13px;font-size:.9rem}.nav>.nav-villa{justify-content:center;margin:7px 0}.nav>.nav-book{text-align:center}}
@media(max-width:920px){.cinematic-grid{grid-template-columns:1fr;gap:22px}.cinematic-visual{top:86px;z-index:2}.cinematic-stack{height:min(42vh,430px);min-height:270px}.cinematic-text{padding-top:12px}.cinematic-text>h2{margin-bottom:30px}.cinematic-chapter{min-height:270px;padding:25px 0 35px}.aruba-showcase-heading{grid-template-columns:1fr;gap:14px}.showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-nav-grid,.discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tips-section{grid-template-columns:1fr;gap:28px}}
@media(max-width:640px){.nav{top:76px}.cinematic-experience{padding:58px 0 70px}.cinematic-stack{height:300px;min-height:220px}.cinematic-visual{top:78px}.cinematic-chapter{min-height:300px}.cinematic-chapter h3{font-size:2.8rem}.cinematic-text>h2{font-size:2.7rem}.showcase-grid,.hub-nav-grid,.discovery-grid{grid-template-columns:1fr}.showcase-photo{height:240px}.discovery-card{min-height:280px}.aruba-showcase-heading h2{font-size:2.7rem}.social-dock{z-index:1300}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}.home-hero .hero-photo,.cinematic-frame,.cinematic-chapter,.showcase-card img{animation:none!important;transition:none!important;transform:none!important}}

/* Aruba guide detail pages */
.destination-hero{padding:64px 0 92px;background:#f5faf8}.destination-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.destination-intro h1{font-size:clamp(3.25rem,6.8vw,7.1rem);line-height:1.02;letter-spacing:-.055em}.destination-intro .lead{max-width:680px}.destination-photo{border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.destination-photo img{height:520px;width:100%;object-fit:cover}.destination-content{display:grid;grid-template-columns:1.35fr .65fr;gap:85px;align-items:start}.destination-content h2{max-width:820px}.destination-content p{color:var(--sub);max-width:760px;font-size:1.05rem}.destination-aside{border-radius:20px;background:#eaf5f1;padding:35px;border:1px solid #d5eae2}.destination-aside strong{display:block;font:700 1.65rem Georgia;color:var(--navy)}.destination-next{background:#f6faf8}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.recommendation-related{display:flex;flex-direction:column;gap:18px;min-height:200px;border:1px solid #dce9e3;background:#fff;border-radius:20px;padding:30px;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}.recommendation-related:hover{transform:translateY(-6px);box-shadow:0 20px 50px #071d321f}.recommendation-related small{font-size:.75rem;color:var(--sea);letter-spacing:.11em;text-transform:uppercase}.recommendation-related strong{color:var(--navy);font:700 1.5rem Georgia}.recommendation-related span{margin-top:auto;color:var(--sea);font-weight:800;font-size:.84rem}
@media(max-width:920px){.destination-grid,.destination-content{grid-template-columns:1fr;gap:28px}.destination-photo img{height:350px}.related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.destination-hero{padding:40px 0 60px}.destination-intro h1{font-size:clamp(2.8rem,12vw,4.6rem)}.related-grid{grid-template-columns:1fr}.destination-aside{padding:25px}}

/* Sea La Vie Studio Motion — original scroll-driven visual sequence, progressive enhancement */
:root{--nav-top:87px}
.hero-scroll-link{display:inline-block;margin-top:45px;color:#fff;text-decoration:none;letter-spacing:.13em;text-transform:uppercase;font-weight:800;font-size:.7rem;border-bottom:1px solid #ffffff88;padding-bottom:9px;transition:letter-spacing .3s ease,opacity .3s ease}
.hero-scroll-link:hover{letter-spacing:.19em;opacity:.88}
.film-sequence{position:relative;height:450vh;background:#061d31;color:white;isolation:isolate}
.film-sticky{position:sticky;top:var(--nav-top);height:calc(100svh - var(--nav-top));min-height:540px;overflow:hidden;background:#061d31;display:grid;place-items:center}
.film-scenes,.film-scene,.film-tint{position:absolute;inset:0}
.film-scene{opacity:0;visibility:hidden;pointer-events:none;display:flex;align-items:center;justify-content:center;will-change:opacity;transition:opacity .2s linear,visibility .2s linear}
.film-scene.is-current{opacity:1;visibility:visible;pointer-events:auto}
.film-image{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;transform:scale(1.13);will-change:transform;filter:saturate(1.05)}
.film-tint{background:linear-gradient(90deg,rgba(1,16,31,.83) 0%,rgba(2,18,35,.62) 46%,rgba(2,18,35,.14) 100%)}
.film-copy{z-index:2;position:relative;text-align:left;width:min(1240px,calc(100% - 100px));margin:auto;padding:0 5vw;transform:translateY(0);will-change:transform,opacity}
.film-eyebrow{font-size:.78rem;letter-spacing:.25em;font-weight:850;color:#a2f5ed;margin:0 0 25px}
.film-copy h2{color:#fff;font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:clamp(3.9rem,8.2vw,9rem);font-weight:710;line-height:.94;letter-spacing:-.075em;margin:0 0 29px;text-wrap:balance;max-width:1100px}
.film-copy h2 em{font-style:normal;color:#9ce9df}
.film-copy>p:not(.film-eyebrow){color:#f6fbff;font-size:clamp(1.05rem,1.7vw,1.38rem);max-width:620px;line-height:1.6}
.film-link{display:inline-flex;align-items:center;gap:16px;margin-top:22px;border:1px solid #ffffff8a;color:#fff;border-radius:999px;padding:14px 20px;text-decoration:none;font-size:.85rem;font-weight:850;transition:background .25s,color .25s,transform .25s}
.film-link:hover{background:#fff;color:#062d56;transform:translateY(-3px)}
.film-hud{position:absolute;bottom:26px;left:max(40px,calc((100vw - 1240px)/2));right:max(40px,calc((100vw - 1240px)/2));z-index:10;display:flex;align-items:center;gap:22px}
.film-scroll-tip{white-space:nowrap;font-size:.66rem;letter-spacing:.12em;font-weight:850;color:#fff;margin:0}
.film-scroll-tip span{margin-left:8px}
.film-meter{flex:1;height:2px;background:#ffffff64;overflow:hidden;border-radius:4px}.film-meter>span{height:100%;display:block;width:100%;background:#98f6ef;transform-origin:left;transform:scaleX(0)}
.film-steps{display:flex;gap:6px}.film-steps button{font-size:.76rem;color:#ffffff94;background:transparent;border:0;padding:7px 8px;cursor:pointer;font-weight:850}.film-steps button.active{color:white;border-bottom:2px solid #9cf3e4}
.film-steps button:focus-visible{outline:2px solid #a9f8ed;outline-offset:2px}
/* Premium staging: page hero and image sections transition into view while remaining readable. */
.page-hero img{animation:pageVisualSettle .95s cubic-bezier(.17,.75,.21,1) both}
.page-hero h1{animation:pageHeadlineSettle .95s cubic-bezier(.2,.74,.22,1) both}
@keyframes pageVisualSettle{from{opacity:.55;transform:scale(1.035)}to{opacity:1;transform:none}}
@keyframes pageHeadlineSettle{from{opacity:.6;transform:translateY(22px)}to{opacity:1;transform:none}}
.image-window,.showcase-photo{overflow:hidden}
@supports(animation-timeline:view()){
 .image-window img{animation:cinematicPhotoReveal linear both;animation-timeline:view();animation-range:entry 0% cover 60%}
 @keyframes cinematicPhotoReveal{from{transform:scale(1.1);filter:saturate(.86)}to{transform:scale(1);filter:saturate(1)}}
}
/* root page transitions available in supporting Chrome; never required for content */
@view-transition{navigation:auto}
::view-transition-old(root){animation:pageFadeOut .24s ease-in both}
::view-transition-new(root){animation:pageFadeIn .58s cubic-bezier(.16,.82,.2,1) both}
@keyframes pageFadeOut{to{opacity:.25;transform:scale(.994)}}
@keyframes pageFadeIn{from{opacity:.2;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:920px){:root{--nav-top:87px}.film-sequence{height:410vh}.film-copy{width:calc(100% - 56px);padding:0 18px}.film-copy h2{font-size:clamp(3.9rem,10vw,7rem)}.film-hud{left:24px;right:24px}.film-scroll-tip{display:none}}
@media(max-width:640px){:root{--nav-top:76px}.film-sequence{height:390vh}.film-sticky{min-height:0}.film-copy{width:calc(100% - 32px);padding:0 8px}.film-copy h2{font-size:clamp(2.9rem,11.5vw,5.3rem)}.film-copy>p:not(.film-eyebrow){font-size:.99rem}.film-hud{bottom:28px;left:22px;right:22px}.film-tint{background:linear-gradient(0deg,#071c37e8 0%,#071c379c 70%,#071c372a 100%)}.film-steps button{padding:6px}.hero-scroll-link{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.film-sequence{height:auto!important}.film-sticky{height:70vh;position:relative;top:auto;min-height:440px}.film-scene:not(:first-child){display:none}.film-scene:first-child{opacity:1;visibility:visible}.film-image,.film-copy{transform:none!important;animation:none!important}.film-hud{display:none}.page-hero img,.page-hero h1{animation:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}

.destination-photo{position:relative}.destination-photo-credit{position:absolute;bottom:18px;left:18px;border-radius:999px;padding:9px 13px;background:rgba(3,30,55,.83);color:#fff;font-size:.73rem;font-weight:850;letter-spacing:.02em;backdrop-filter:blur(8px)}


/* V4: six cinematic chapters and upgraded supplied Tropical Resort Living logo */
:root{--nav-top:114px}
.header-row{min-height:114px;height:auto;gap:14px}
.site-header .brand{gap:13px;flex:0 0 auto}
.site-header .brand img{width:100px;height:100px;object-fit:contain;border-radius:0;mix-blend-mode:multiply}
.site-header .brand-text{max-width:205px;line-height:1.25}
.footer-logo{width:208px;height:auto;max-width:100%;display:block;background:#fff;padding:12px;border-radius:16px;image-rendering:auto}
.footer-grid>div:first-child>a{align-self:flex-start}
/* Existing slide JS uses the number of slides, so only the timeline length changes. */
.film-sequence{height:670vh}
.film-steps{gap:5px}
.film-steps button{min-width:34px}
@media(max-width:1320px){
 .site-header .brand img{width:86px;height:86px}
 .header-row{min-height:106px}
 .site-header .brand-text{font-size:.75rem;max-width:175px}
 .nav{gap:9px}
 .nav>a{font-size:.72rem}
 :root{--nav-top:106px}
}
@media(max-width:920px){
 :root{--nav-top:90px}
 .header-row{min-height:90px}
 .site-header .brand img{width:76px;height:76px}
 .nav{top:90px}
 .film-sequence{height:630vh}
 .footer-logo{width:184px}
}
@media(max-width:640px){
 :root{--nav-top:80px}
 .header-row{min-height:80px}
 .site-header .brand img{width:68px;height:68px}
 .site-header .brand-text{max-width:195px;font-size:.77rem}
 .nav{top:80px}
 .film-sequence{height:610vh}
 .film-steps{gap:2px}
 .film-steps button{min-width:30px;font-size:.72rem;padding:6px 5px}
 .film-hud{left:13px;right:13px;bottom:20px;gap:8px}
 .footer-logo{width:195px}
}
@media(prefers-reduced-motion:reduce){.film-sequence{height:auto!important}}

/* ============================================================
   Sea La Vie V5 — spacious branding, legible fixed mobile social,
   accessible, responsive room-gallery carousels.
   ============================================================ */
:root{--nav-top:124px}
.site-header .header-row{min-height:124px;height:auto}
.site-header .brand{gap:18px;flex:0 1 auto}
.site-header .brand img{width:112px;height:112px;min-width:112px;object-fit:contain;image-rendering:auto;border-radius:0;mix-blend-mode:normal}
.site-header .brand-text{font-size:.92rem;max-width:250px}
.footer-logo{width:265px;max-width:100%;height:auto;object-fit:contain;padding:14px;background:#fff;border-radius:20px}
/* Keep a persistent vertical floating menu for both desktop & mobile. */
.social-dock{position:fixed;left:14px;right:auto;top:50%;bottom:auto;transform:translateY(-50%);display:flex;flex-direction:column;gap:9px;padding:7px;background:rgba(4,29,44,.87);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:36px;box-shadow:0 14px 38px rgba(2,17,34,.28);z-index:1300}
.social-dock a,.social-dock a:hover{height:52px;width:52px;min-width:52px;flex:0 0 52px;box-shadow:none;transform:none;border-radius:50%;color:#fff}
.social-dock .symbol{height:52px;min-width:52px;width:52px;display:grid;place-items:center;font-size:1.5rem}
.social-dock .symbol svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.social-dock .facebook .symbol svg{fill:currentColor;stroke:none}
.social-dock .tiktok .symbol svg{filter:drop-shadow(1px 0 #ec3c7e)}
.social-dock .social-label{display:none}
.social-dock a:focus-visible{outline:3px solid #fff;outline-offset:3px}
.social-dock a:hover{filter:brightness(1.13);box-shadow:0 0 0 3px rgba(255,255,255,.35);scale:1.065}
/* Room carousels */
.stay-gallery{background:linear-gradient(180deg,#f4f8f7 0%,#ffffff 100%);position:relative;overflow:hidden}
.stay-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:30px}
.stay-gallery-head h2{font-size:clamp(2rem,4vw,3.45rem);line-height:1.06}
.stay-gallery-intro{max-width:650px;margin:12px 0 0;color:#61727a;line-height:1.6}
.gallery-airbnb{flex-shrink:0;white-space:nowrap}
.stay-carousel{max-width:1150px;margin:0 auto}
.stay-stage{position:relative;width:100%;aspect-ratio:16/9;min-height:330px;border-radius:24px;overflow:hidden;background:#082d3d;box-shadow:0 24px 60px rgba(3,31,45,.20);isolation:isolate}
.stay-track,.stay-slide{position:absolute;inset:0}
.stay-slide{opacity:0;transform:scale(1.025);visibility:hidden;transition:opacity .65s ease,transform .85s cubic-bezier(.23,.6,.22,1),visibility .65s}
.stay-slide.is-active{opacity:1;transform:scale(1);visibility:visible;z-index:1}
.stay-slide img{width:100%;height:100%;object-fit:cover;display:block}
.stay-slide::after{content:'';position:absolute;left:0;right:0;bottom:0;height:36%;background:linear-gradient(0deg,rgba(2,19,28,.82),transparent);pointer-events:none}
.stay-slide figcaption{position:absolute;z-index:2;bottom:25px;left:28px;right:115px;display:flex;flex-direction:column;gap:6px;color:white;font-size:clamp(.95rem,2vw,1.3rem);font-weight:650;text-shadow:0 2px 8px #001b2a4d}
.stay-slide-category{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;color:#adf5f6;font-weight:850}
.stay-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);height:54px;width:54px;background:rgba(255,255,255,.9);color:#103747;border:1px solid #ffffff85;box-shadow:0 8px 25px #001b2a3d;display:grid;place-items:center;cursor:pointer;border-radius:100%;transition:transform .2s,background .2s}
.stay-arrow:hover{background:white;transform:translateY(-50%) scale(1.08)}
.stay-arrow svg{width:25px;height:25px;stroke:currentColor;stroke-width:2;fill:none;stroke-linejoin:round;stroke-linecap:round}
.stay-arrow--prev{left:18px}.stay-arrow--next{right:18px}
.stay-expand{position:absolute;z-index:5;right:20px;top:20px;background:#061e2dcc;backdrop-filter:blur(6px);border:1px solid #ffffff60;border-radius:999px;padding:11px 17px;color:white;cursor:pointer;font-size:.84rem;font-weight:750}
.stay-expand:hover{background:#061e2d}
.stay-count{position:absolute;z-index:5;bottom:26px;right:26px;color:white;font-size:.92rem;letter-spacing:.14em;font-variant-numeric:tabular-nums;font-weight:800}
.stay-thumbnails{display:flex;gap:10px;padding:14px 4px 10px;overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
.stay-thumb{position:relative;flex:0 0 126px;height:83px;border:3px solid transparent;cursor:pointer;border-radius:13px;overflow:hidden;padding:0;background:#e5e9e8;scroll-snap-align:center;transition:transform .2s,border-color .2s}
.stay-thumb:hover{transform:translateY(-3px)}
.stay-thumb.is-active,.stay-thumb[aria-current=true]{border-color:#079aaf;box-shadow:0 3px 15px #079aaf40}
.stay-thumb img{width:100%;height:100%;object-fit:cover}
.stay-gallery-note{max-width:920px;color:#62737b;font-size:.84rem;line-height:1.6;margin:12px auto 0;text-align:center}
.stay-carousel-modal{position:fixed;inset:0;z-index:3800;background:rgba(2,11,19,.95);display:none;align-items:center;justify-content:center;padding:20px 74px}
.stay-carousel-modal.is-open{display:flex}
.stay-carousel-modal img{object-fit:contain;max-width:100%;max-height:90vh;border-radius:10px}
.stay-carousel-modal button{position:absolute;background:#ffffff24;color:white;border:1px solid #ffffff55;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;cursor:pointer;font-size:1.7rem}
.stay-carousel-modal button:hover{background:#ffffff40}
.stay-carousel-modal .stay-modal-close{top:20px;right:20px}
.stay-carousel-modal .stay-modal-prev{left:15px;top:50%}
.stay-carousel-modal .stay-modal-next{right:15px;top:50%}
.stay-carousel-modal .stay-modal-caption{position:absolute;left:20px;right:20px;bottom:12px;text-align:center;color:#d6e5e8;font-size:.82rem}
@media(max-width:1280px){.site-header .brand img{width:96px;height:96px;min-width:96px}.site-header .header-row{min-height:108px}.site-header .brand-text{max-width:192px}}
@media(max-width:920px){.site-header .header-row{min-height:100px}.site-header .brand img{width:88px;height:88px;min-width:88px}.nav{top:100px}.social-dock{left:9px;right:auto}}
@media(max-width:640px){
  .site-header .header-row{min-height:112px;height:112px;gap:8px}
  .site-header .brand{gap:10px}
  .site-header .brand img{width:96px;height:96px;min-width:96px;max-width:96px}
  .site-header .brand-text{font-size:.79rem;max-width:174px}
  .site-header .brand-text span{font-size:.59rem;letter-spacing:.035em}
  .nav{top:112px}
  .social-dock{position:fixed;left:5px;right:auto;top:52%;bottom:auto;transform:translateY(-50%);flex-direction:column;gap:6px;padding:5px;border-radius:32px;box-shadow:0 12px 26px #02152940}
  .social-dock a,.social-dock a:hover{width:53px;height:53px;min-width:53px;flex:0 0 53px;transform:none}
  .social-dock .symbol{width:53px;height:53px;min-width:53px}
  .social-dock .symbol svg{width:30px;height:30px}
  .social-dock .social-label{display:none}
  /* Wider left breathing space on long-form text, without shrinking immersive images. */
  .page-hero .container>div:first-child{padding-left:24px}
  .stay-gallery-head{flex-direction:column;align-items:flex-start;gap:12px}
  .gallery-airbnb{white-space:normal}
  .stay-stage{aspect-ratio:5/4;min-height:310px;border-radius:17px}
  .stay-arrow{height:43px;width:43px}.stay-arrow--prev{left:9px}.stay-arrow--next{right:9px}
  .stay-expand{top:10px;right:10px;padding:8px 12px;font-size:.72rem}
  .stay-slide figcaption{bottom:24px;left:18px;right:82px;font-size:.88rem}
  .stay-count{right:15px;bottom:14px;font-size:.78rem}
  .stay-thumb{flex-basis:97px;height:71px}
  .stay-gallery-note{text-align:left;font-size:.8rem}
  .stay-carousel-modal{padding:12px 45px}
  .footer-logo{width:min(235px,100%)}
}
@media(max-width:375px){.site-header .brand img{width:84px;height:84px;min-width:84px}.site-header .brand-text{font-size:.68rem;max-width:125px}.social-dock a,.social-dock a:hover{width:48px;height:48px;min-width:48px;flex:0 0 48px}.social-dock .symbol{width:48px;height:48px;min-width:48px}.social-dock .symbol svg{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){.stay-slide,.stay-thumb,.stay-arrow,.social-dock a{transition:none!important;animation:none!important}}

/* Mobile ergonomic adjustment: the always-visible social icons form a generous
   fixed floating tray at the bottom instead of covering headings and photos. */
@media(max-width:640px){
  .social-dock{left:50%;right:auto;top:auto;bottom:11px;transform:translateX(-50%);display:flex;flex-direction:row;gap:6px;padding:7px;border-radius:999px;max-width:calc(100% - 20px)}
  .social-dock a,.social-dock a:hover{height:53px;width:53px;min-width:53px;flex:0 0 53px;transform:none}
  .social-dock .symbol{width:53px;height:53px;min-width:53px}
  footer{padding-bottom:105px}
  .page-hero .container>div:first-child{padding-left:0}
}
@media(max-width:375px){
  .social-dock a,.social-dock a:hover{height:49px;width:49px;min-width:49px;flex:0 0 49px}
  .social-dock .symbol{width:49px;height:49px;min-width:49px}
}


/* V6 Booking-platform experience: responsive, branded but unmistakably hosted by Sea La Vie */
.nav{gap:12px}.nav>a{font-size:.78rem}
.nav .nav-platform{white-space:nowrap;font-weight:780;color:#0b6174}
.nav .nav-platform:hover{color:#005269}
.nav .nav-airbnb{color:#d94b53}
.nav .nav-booking{color:#1655a2}
.platform-hero{padding:85px 0 65px;overflow:hidden;background:linear-gradient(130deg,#f7fbfb 0%,#eaf6f3 100%)}
.platform-hero--airbnb{background:linear-gradient(120deg,#fcf7f5 0%,#f1fbfa 100%)}
.platform-hero--booking{background:linear-gradient(115deg,#eef4ff 0%,#f6fbfa 100%)}
.platform-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:68px;align-items:center}
.platform-layout h1{font-size:clamp(3rem,5.9vw,6.15rem);line-height:1.04;margin:0 0 25px;max-width:720px}
.platform-layout p.lead{max-width:660px}
.platform-visual{position:relative;border-radius:30px;overflow:hidden;min-height:450px;box-shadow:0 35px 80px #08253523;background:#deecea}
.platform-visual>img{width:100%;height:490px;object-fit:cover}
.platform-visual-label{position:absolute;left:22px;bottom:22px;display:inline-flex;gap:10px;align-items:center;border-radius:999px;background:#fff;box-shadow:0 8px 35px #0002;padding:12px 17px;font-size:.81rem;font-weight:800;color:var(--navy)}
.platform-mark{display:inline-block;letter-spacing:.04em;font-weight:850;color:#d94b53}.platform-mark.booking{color:#1655a2}
.platform-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
.platform-ribbon{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:32px 0 0}
.platform-ribbon>div{background:#fff;border:1px solid #dce6e6;border-radius:16px;padding:16px 18px}
.platform-ribbon strong{display:block;color:var(--navy);font-size:.94rem}.platform-ribbon span{display:block;color:var(--sub);margin-top:6px;font-size:.79rem;line-height:1.45}
.platform-story{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:start}
.platform-story>div>p{color:var(--sub)}.platform-story p{font-size:1.06rem}
.platform-points{list-style:none;padding:0;margin:22px 0 10px;display:grid;gap:14px}
.platform-points li{padding:15px 18px 15px 47px;background:#f3f9f8;border:1px solid #e0efea;border-radius:14px;position:relative;font-weight:650;color:#265163}
.platform-points li:before{content:'✓';position:absolute;left:19px;color:var(--sea);font-weight:950}
.provider-note{border-radius:22px;padding:28px;background:#f0f7f6;border:1px solid #dce9e6}
.provider-note h3{font-size:1.55rem}.provider-note p{font-size:.93rem;color:var(--sub)}
.provider-note a{font-weight:800;color:var(--sea)}
.platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.platform-card{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;border:1px solid var(--line);border-radius:22px;box-shadow:0 14px 42px #072e4914;background:#fff;transition:transform .28s ease,box-shadow .28s ease}
.platform-card:hover{transform:translateY(-7px);box-shadow:0 27px 60px #072e4929}
.platform-card .thumb{height:232px;overflow:hidden;background:#e5ecea}.platform-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.platform-card:hover .thumb img{transform:scale(1.05)}
.platform-card .body{padding:25px;flex:1;display:flex;flex-direction:column;align-items:start}
.platform-card h3{font-size:1.67rem;margin:0 0 10px}.platform-card p{color:var(--sub);font-size:.94rem;margin:0 0 17px}
.platform-card .arrow{color:var(--sea);font-size:.86rem;font-weight:800;margin-top:auto}
.platform-card--wide{grid-column:span 3;display:grid;grid-template-columns:.95fr 1.05fr}
.platform-card--wide .thumb{height:100%;min-height:300px}.platform-card--wide .body{justify-content:center;padding:45px}
.provider-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.provider-step{background:white;padding:34px;border:1px solid #dce8e6;border-radius:22px}
.provider-step .step-num{color:var(--sea);font:700 2rem Georgia}.provider-step h3{margin:16px 0 8px}.provider-step p{color:var(--sub);font-size:.94rem}
.provider-strip{margin:55px 0 0;display:flex;gap:15px;align-items:center;justify-content:space-between;padding:28px 34px;background:#052b43;color:#fff;border-radius:22px}
.provider-strip h3{color:white;margin:0}.provider-strip p{color:#d5e2e7;font-size:.94rem;margin:6px 0 0}.provider-strip .btn{flex-shrink:0}
.platform-breadcrumb{margin:0 0 20px;font-size:.8rem;font-weight:750;color:var(--sea)}.platform-breadcrumb a{text-decoration:none;border-bottom:1px solid #8cbbbf}
.platform-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.platform-photo-pair figure{margin:0;background:white;border:1px solid #e0e8e8;padding:9px;border-radius:20px;overflow:hidden}
.platform-photo-pair img{width:100%;height:310px;object-fit:cover;border-radius:13px}
.platform-photo-pair figcaption{padding:13px 9px;font-size:.8rem;color:#6c7780}
.provider-choice{border-top:1px solid var(--line);padding:20px 0 35px;margin-top:22px}
.provider-choice-inner{background:linear-gradient(120deg,#eef7f5,#f3f8fc);border-radius:22px;padding:30px 34px;display:flex;justify-content:space-between;gap:24px;align-items:center}
.provider-choice strong{color:var(--navy);font:600 1.55rem Georgia}.provider-choice p{color:var(--sub);margin:5px 0 0;font-size:.91rem}
.provider-choice-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1190px){.nav{gap:9px}.nav>a{font-size:.735rem}}
@media(max-width:1120px){.nav>a{font-size:.93rem}.nav{gap:0}}
@media(max-width:900px){.platform-layout,.platform-story{grid-template-columns:1fr;gap:28px}.platform-visual{min-height:0}.platform-visual>img{height:390px}.platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-card--wide{grid-column:span 2}.platform-ribbon{grid-template-columns:repeat(2,1fr)}.provider-steps{grid-template-columns:1fr}.provider-strip,.provider-choice-inner{flex-direction:column;align-items:flex-start}.provider-choice-links{justify-content:flex-start}}
@media(max-width:620px){.platform-hero{padding:50px 0}.platform-layout h1{font-size:clamp(2.7rem,12vw,4.4rem)}.platform-visual>img{height:270px}.platform-grid,.platform-photo-pair{grid-template-columns:1fr}.platform-card--wide{grid-column:auto;display:flex}.platform-card--wide .thumb{height:232px;min-height:0}.platform-card--wide .body{padding:25px}.platform-ribbon{grid-template-columns:1fr 1fr}.platform-ribbon>div{padding:12px}.platform-photo-pair img{height:240px}.provider-choice-links .btn{width:100%}.provider-strip{padding:25px}.platform-actions .btn{width:100%}}

/* V7 – larger visible logo without crushing navigation */
@media(min-width:1051px){
 .site-header .header-row{height:120px;min-height:120px;gap:14px}
 .site-header .brand img{width:126px;height:112px;min-width:126px;object-fit:contain}
 .site-header .brand{gap:10px}
 .site-header .brand-text{max-width:180px;font-size:.88rem}
 .site-header .nav{gap:12px}
 .site-header .nav>a{font-size:.79rem}
}
@media(min-width:641px) and (max-width:1050px){
 .site-header .header-row{height:106px;min-height:106px}
 .site-header .brand img{width:104px;height:100px;min-width:104px;object-fit:contain}
 .site-header .nav{top:106px}
}
/* Salina-inspired dock: elegant fixed left-side vertical island of brand-color buttons. */
.social-dock{
 position:fixed!important;left:12px!important;right:auto!important;top:50%!important;bottom:auto!important;
 transform:translateY(-50%)!important;z-index:1350!important;
 display:flex!important;flex-direction:column!important;align-items:flex-start!important;
 width:auto!important;max-width:none!important;gap:7px!important;padding:7px!important;
 border:1px solid rgba(255,255,255,.65);border-radius:28px!important;
 background:rgba(255,255,255,.88)!important;box-shadow:0 18px 48px rgba(4,36,58,.22)!important;
 -webkit-backdrop-filter:blur(17px);backdrop-filter:blur(17px)
}
.social-dock a,.social-dock a:hover{
 width:54px!important;min-width:54px!important;height:54px!important;min-height:54px!important;
 border-radius:19px!important;flex:0 0 auto!important;
 transform:none!important;padding:0!important;margin:0!important;border:0!important;
 overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;
 transition:width .25s ease,transform .2s ease,filter .2s ease!important
}
.social-dock a:hover,.social-dock a:focus-visible{width:146px!important;transform:translateX(2px)!important;filter:brightness(1.05)}
.social-dock .symbol{width:54px!important;min-width:54px!important;height:54px!important;padding:12px!important;display:grid!important;place-items:center!important}
.social-dock .symbol svg{width:30px!important;height:30px!important;stroke-width:1.9!important}
.social-dock .social-label{display:inline!important;font-size:.84rem!important;color:#fff!important;padding-right:14px!important}
.social-dock .insta{background:linear-gradient(135deg,#f6b04a,#e84984,#7649d8)!important}
.social-dock .facebook{background:#1877f2!important}
.social-dock .tiktok{background:#12121e!important}
.social-dock .whatsapp{background:#16a965!important}
.social-dock .email{background:#c69234!important}
.social-dock .symbol{background:transparent!important}
.social-dock a:focus-visible{outline:3px solid #065ba9;outline-offset:2px}
@media(max-width:640px){
 .site-header .header-row{height:100px!important;min-height:100px!important;gap:8px!important}
 .site-header .brand{gap:7px!important}
 .site-header .brand img{width:98px!important;height:94px!important;min-width:98px!important;object-fit:contain}
 .site-header .brand-text{font-size:.72rem;max-width:185px;line-height:1.12}
 .site-header .brand-text span{font-size:.58rem}
 .site-header .nav{top:100px!important}
 .social-dock{left:5px!important;padding:4px!important;gap:5px!important;border-radius:24px!important}
 .social-dock a,.social-dock a:hover{width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important;border-radius:16px!important}
 .social-dock .symbol{width:48px!important;min-width:48px!important;height:48px!important;padding:11px!important}
 .social-dock .symbol svg{width:27px!important;height:27px!important}
 .social-dock a:hover,.social-dock a:focus-visible{width:122px!important}
}
@media(max-width:385px){
 .site-header .brand img{width:89px!important;height:88px!important;min-width:89px!important}
 .site-header .brand-text{font-size:.68rem;max-width:154px}
 .site-header .header-row{gap:5px!important}
}
@media(prefers-reduced-motion:reduce){.social-dock a{transition:none!important}}
/* V7 mobile social layout refinement: Salina-style pill stays fixed, with
   large high-contrast branded icons but never overlays reading content. */
@media(max-width:640px){
 .social-dock{
   position:fixed!important;left:50%!important;top:auto!important;bottom:12px!important;right:auto!important;
   transform:translateX(-50%)!important;flex-direction:row!important;display:flex!important;
   gap:5px!important;padding:7px!important;border-radius:30px!important;
   background:rgba(255,255,255,.94)!important;
   max-width:calc(100vw - 20px)!important;box-shadow:0 12px 44px rgba(1,22,34,.28)!important;
 }
 .social-dock a,.social-dock a:hover,.social-dock a:focus-visible{
   width:52px!important;min-width:52px!important;height:52px!important;min-height:52px!important;
   border-radius:18px!important;transform:none!important;flex:0 0 52px!important;
 }
 .social-dock .symbol{width:52px!important;min-width:52px!important;height:52px!important;padding:12px!important}
 .social-dock .symbol svg{width:30px!important;height:30px!important}
 .social-dock .social-label{display:none!important}
 body{padding-bottom:82px}
}
@media(max-width:370px){
 .social-dock a,.social-dock a:hover,.social-dock a:focus-visible{width:49px!important;min-width:49px!important;height:49px!important;min-height:49px!important;flex-basis:49px!important}
 .social-dock .symbol{width:49px!important;min-width:49px!important;height:49px!important;padding:10px!important}
}
/* Mobile WhatsApp is already one tap away in the prominent fixed social dock.
   Avoid stacking an additional floating WhatsApp pill underneath the dock. */
@media(max-width:640px){ .home-hero .hero-call{display:none!important} }
