
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--navy:#0a2236;--navy2:#0d2a43;--ink:#18212a;--muted:#68727b;--cream:#f5f3ef;--paper:#fbfaf7;--line:#dfe3e5;--sun:#eeb20f;--white:#fff;--shadow:0 18px 45px rgba(9,34,54,.12);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}h1,h2,h3,h4,p{margin-top:0}.container{width:min(1180px,calc(100% - 48px));margin:auto}.serif{font-family:var(--serif)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:600}.section{padding:76px 0}.section-title{font:500 clamp(31px,4vw,48px)/1.1 var(--serif);letter-spacing:-.02em;margin-bottom:12px}.section-lead{color:var(--muted);max-width:650px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:0 18px;border:1px solid var(--navy);background:var(--navy);color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600;transition:.25s ease;cursor:pointer}.btn:hover{background:#163955;transform:translateY(-1px)}.btn-light{background:#fff;color:var(--navy);border-color:#fff}.btn-outline{background:transparent;color:var(--navy)}.btn-outline:hover{color:#fff}.btn-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35)}
.site-header{position:absolute;left:0;right:0;top:0;z-index:50;color:#fff}.nav-wrap{height:78px;display:flex;align-items:center;gap:28px;border-bottom:1px solid rgba(255,255,255,.16)}.brand{width:92px;display:flex;align-items:center;justify-content:flex-start}.brand img{height:57px;width:auto}.nav{display:flex;align-items:center;gap:26px;margin-left:auto}.nav a{font-size:9px;letter-spacing:.12em;text-transform:uppercase;opacity:.86;white-space:nowrap}.nav a:hover,.nav a.active{opacity:1}.nav-cta{min-height:32px;padding:0 13px;font-size:8px}.lang{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.12em}.lang a{opacity:.65}.lang a.active{opacity:1;font-weight:600}.burger{display:none;background:none;border:0;color:white;width:38px;height:38px;position:relative}.burger:before,.burger:after,.burger span{content:'';position:absolute;left:8px;right:8px;height:1px;background:#fff;transition:.25s}.burger:before{top:12px}.burger span{top:19px}.burger:after{top:26px}.mobile-menu{display:none}
.hero{min-height:640px;position:relative;background:#0a2236;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;animation:heroZoom 14s ease-out both}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,21,35,.62) 0%,rgba(4,21,35,.23) 52%,rgba(4,21,35,.16) 100%),linear-gradient(0deg,rgba(4,21,35,.35),transparent 55%)}@keyframes heroZoom{from{transform:scale(1.035)}to{transform:scale(1)}}.hero-content{position:relative;z-index:2;padding-top:190px;max-width:620px}.hero h1{font:400 clamp(46px,6.4vw,76px)/.98 var(--serif);letter-spacing:-.035em;margin-bottom:22px}.hero p{max-width:520px;color:rgba(255,255,255,.84);font-size:14px}.hero .btn{margin-top:10px}.availability-bar{position:absolute;z-index:4;left:50%;bottom:0;transform:translate(-50%,50%);width:min(1060px,calc(100% - 48px));background:#fff;color:var(--ink);box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr}.availability-cell{padding:17px 20px;border-right:1px solid var(--line)}.availability-cell label{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.16em;color:#8b9298;margin-bottom:4px}.availability-cell input,.availability-cell select{width:100%;border:0;background:transparent;color:#1b2630;padding:0;outline:none;font-size:12px}.availability-submit{border:0;background:var(--navy);color:white;text-transform:uppercase;letter-spacing:.15em;font-size:9px;font-weight:600;cursor:pointer}.availability-submit:hover{background:#143853}
.inner-hero{height:290px;position:relative;color:white;background:var(--navy);overflow:hidden}.inner-hero img{width:100%;height:100%;object-fit:cover}.inner-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,27,44,.70),rgba(5,27,44,.26))}.inner-hero-content{position:absolute;z-index:2;left:0;right:0;bottom:42px}.inner-hero h1{font:400 clamp(37px,5vw,53px)/1 var(--serif);margin:0 0 8px}.inner-hero p{font-size:12px;opacity:.83;margin:0}.back-link{display:inline-flex;gap:8px;align-items:center;font-size:9px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;opacity:.8}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.property-card,.experience-card,.amenity-card{background:#fff;border:1px solid var(--line);transition:.3s ease}.property-card:hover,.experience-card:hover,.amenity-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(14,36,52,.10)}.property-card .image{aspect-ratio:1.48;overflow:hidden}.property-card img,.experience-card img,.amenity-card img{width:100%;height:100%;object-fit:cover;transition:.6s ease}.property-card:hover img,.experience-card:hover img,.amenity-card:hover img{transform:scale(1.035)}.property-body{padding:17px 16px 18px}.property-body h3{font:500 19px/1.25 var(--serif);margin:0 0 8px}.meta{display:flex;gap:10px;flex-wrap:wrap;color:#7a838b;font-size:10px}.price{font:500 14px var(--serif);margin-top:10px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.text-link{font-size:9px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #8d949a;padding-bottom:3px}.amenity-strip{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);margin-top:46px;padding-top:31px}.amenity-mini{text-align:center;padding:4px 12px}.amenity-icon{font-size:23px;line-height:1;margin-bottom:11px;color:var(--navy)}.amenity-mini span{font-size:9px;color:#5b646b}.testimonial{background:var(--navy);color:white;text-align:center;padding:58px 0 45px;position:relative;overflow:hidden}.testimonial:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 95%,rgba(50,100,128,.24),transparent 35%)}.testimonial blockquote{font:italic 400 18px/1.6 var(--serif);max-width:700px;margin:0 auto 14px}.testimonial cite{font-style:normal;font-size:9px;letter-spacing:.12em;opacity:.7}
.site-footer{background:#081f32;color:#dfe5e8;padding:43px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:48px}.footer-logo{height:58px;width:auto;margin-bottom:12px}.footer-copy{font-size:10px;line-height:1.7;color:#9eabb3;max-width:260px}.footer-col h4{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:white;margin-bottom:15px}.footer-col a,.footer-col p{display:block;font-size:10px;color:#9eabb3;margin:0 0 7px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:16px;display:flex;justify-content:space-between;font-size:8px;color:#788996}
.filters{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:25px}.filter-btn{border:0;background:transparent;font-size:8px;text-transform:uppercase;letter-spacing:.13em;padding:8px 12px;cursor:pointer;color:#6c747a}.filter-btn.active{background:var(--navy);color:white}.apartments-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.apartment-detail{padding:30px 0 70px}.detail-gallery{display:grid;grid-template-columns:2.25fr .82fr;gap:8px;height:440px}.detail-main,.detail-side>div{overflow:hidden}.detail-gallery img{width:100%;height:100%;object-fit:cover}.detail-side{display:grid;grid-template-rows:1fr 1fr;gap:8px}.thumb-row{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:7px;height:82px}.thumb-row img{width:100%;height:100%;object-fit:cover;cursor:pointer;opacity:.88}.thumb-row img:hover{opacity:1}.detail-grid{display:grid;grid-template-columns:1fr 310px;gap:70px;padding-top:36px}.detail-title-row{display:flex;justify-content:space-between;gap:20px;align-items:start}.detail-title-row h1{font:500 34px var(--serif);margin:0}.detail-price{font:500 16px var(--serif);white-space:nowrap}.fact-row{display:flex;gap:18px;color:#747d85;font-size:10px;margin:7px 0 28px}.detail-copy h2{font:500 23px var(--serif);margin-top:28px}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin:20px 0 30px;padding:0;list-style:none}.feature-list li{font-size:11px;padding:8px 0;border-bottom:1px solid var(--line)}.inquiry-card{border:1px solid var(--line);padding:21px;position:sticky;top:20px;background:#fff}.inquiry-card h3{font:500 18px var(--serif);margin-bottom:15px}.field{margin-bottom:11px}.field label{display:block;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#8b9298;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;padding:10px 11px;outline:none;font-size:11px}.field textarea{min-height:100px;resize:vertical}.form-status{font-size:10px;color:#6c757d;margin-top:10px}.amenities-row{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:35px}.amenity-box{text-align:center;border:1px solid var(--line);padding:18px 8px;background:white}.amenity-box b{display:block;font:500 12px var(--serif);margin-top:9px}.amenity-box span{font-size:9px;color:#7b848b}
.amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.amenity-card .image,.experience-card .image{aspect-ratio:1.48;overflow:hidden}.amenity-card .body,.experience-card .body{padding:15px}.amenity-card h3,.experience-card h3{font:500 17px var(--serif);margin:0 0 5px}.amenity-card p,.experience-card p{font-size:10px;color:#727b83;margin:0}.wide-cta{margin-top:32px;height:235px;position:relative;overflow:hidden;color:white;display:flex;align-items:center;justify-content:center;text-align:center}.wide-cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.wide-cta:after{content:'';position:absolute;inset:0;background:rgba(7,31,49,.45)}.wide-cta-content{position:relative;z-index:2}.wide-cta h2{font:400 29px var(--serif);margin-bottom:4px}.wide-cta p{font-size:11px;opacity:.86}.wide-cta .btn{margin-top:10px}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.location-points{padding:0;list-style:none}.location-points li{font-size:10px;padding:6px 0}.map-frame{height:270px;background:#d7e0e5;border:0;width:100%}.experiences-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:26px}.experience-card .image{aspect-ratio:1.2}.gallery-grid{columns:4;column-gap:8px}.gallery-item{break-inside:avoid;margin-bottom:8px;overflow:hidden;cursor:zoom-in;background:#eee}.gallery-item img{width:100%;transition:.5s ease}.gallery-item:hover img{transform:scale(1.02)}.lightbox{position:fixed;inset:0;background:rgba(1,15,25,.94);z-index:100;display:none;align-items:center;justify-content:center;padding:40px}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:86vh}.lightbox-close{position:absolute;right:30px;top:22px;color:white;border:0;background:none;font-size:32px;cursor:pointer}
.story-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:55px;align-items:center}.story-image{aspect-ratio:1.32;overflow:hidden}.story-image img{width:100%;height:100%;object-fit:cover}.story-copy h2{font:500 27px var(--serif)}.story-copy p{font-size:11px;color:#69727a}.mission{margin-top:38px}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);color:white;margin-top:45px}.stat{text-align:center;padding:31px;border-right:1px solid rgba(255,255,255,.18)}.stat strong{display:block;font:500 28px var(--serif)}.stat span{font-size:9px;opacity:.72}.quote{text-align:center;font:italic 18px/1.6 var(--serif);margin:38px auto 0;max-width:650px}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-list{margin-top:22px}.contact-item{display:grid;grid-template-columns:28px 1fr;gap:10px;margin-bottom:18px}.contact-item b{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.contact-item span,.contact-item a{font-size:11px;color:#69727a}.contact-form{border:1px solid var(--line);padding:26px;background:white}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.floating-actions{position:fixed;right:18px;bottom:18px;z-index:35;display:flex;flex-direction:column;gap:8px}.float-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.2);font-size:16px;transition:transform .2s ease,filter .2s ease}.float-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.float-btn svg{width:20px;height:20px;display:block;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.float-btn.whatsapp{background:#1f7255}
.destination-hero{height:430px}.destination-hero .inner-hero-content{bottom:54px}.destination-body{display:grid;grid-template-columns:1fr 300px;gap:70px}.destination-body article p{color:#59636a}.destination-body article h2{font:500 29px var(--serif);margin-top:34px}.destination-aside{border-left:1px solid var(--line);padding-left:26px}.destination-aside h3{font:500 18px var(--serif)}.destination-aside ul{padding-left:17px;color:#68717a;font-size:11px}.seo-note{font-size:9px;color:#8b9398;margin-top:24px}.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:980px){.nav{display:none}.burger{display:block;margin-left:auto}.lang{margin-left:8px}.nav-cta{display:none}.mobile-menu{position:fixed;inset:0;background:var(--navy);z-index:49;color:white;padding:100px 28px 35px;flex-direction:column;gap:4px}.mobile-menu.open{display:flex}.mobile-menu a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);text-transform:uppercase;font-size:11px;letter-spacing:.14em}.hero{min-height:650px}.availability-bar{grid-template-columns:1fr 1fr;width:min(720px,calc(100% - 32px))}.availability-cell:nth-child(2){border-right:0}.availability-submit{min-height:50px}.cards-3,.apartments-grid,.amenities-grid{grid-template-columns:repeat(2,1fr)}.amenity-strip,.amenities-row{grid-template-columns:repeat(3,1fr);row-gap:25px}.experiences-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{columns:3}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:28px}.footer-col:last-child{grid-column:1/-1}.detail-grid{grid-template-columns:1fr;gap:35px}.inquiry-card{position:static}.story-grid,.location-grid,.contact-grid,.destination-body{grid-template-columns:1fr;gap:35px}.destination-aside{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.container{width:min(100% - 30px,1180px)}.section{padding:56px 0}.site-header .container{width:calc(100% - 26px)}.nav-wrap{height:70px}.brand img{height:49px}.lang{display:none}.hero{min-height:690px}.hero-content{padding-top:165px}.hero h1{font-size:50px;max-width:330px}.hero p{font-size:12px;max-width:330px}.availability-bar{bottom:0;grid-template-columns:1fr 1fr;width:calc(100% - 30px)}.availability-cell{padding:12px}.availability-cell:nth-child(3){border-top:1px solid var(--line)}.availability-submit{border-top:1px solid rgba(255,255,255,.25)}.inner-hero{height:260px}.inner-hero-content{bottom:30px}.cards-3,.apartments-grid,.amenities-grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.amenity-strip{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child,.footer-col:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:5px}.detail-gallery{grid-template-columns:1fr;height:300px}.detail-side{display:none}.thumb-row{grid-template-columns:repeat(4,1fr);height:65px}.thumb-row img:nth-child(n+5){display:none}.detail-title-row{flex-direction:column}.feature-list{grid-template-columns:1fr}.amenities-row{grid-template-columns:repeat(2,1fr)}.experiences-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-grid{columns:2}.story-grid{gap:28px}.stats{grid-template-columns:1fr 1fr}.stat{padding:24px 10px}.contact-form{padding:18px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.destination-hero{height:350px}.floating-actions{right:12px;bottom:12px}.float-btn{width:42px;height:42px}}

/* v2 — higher quality hero rendering + floating navigation */
.site-header{
  position:fixed;
  top:14px;
  left:0;
  right:0;
  z-index:80;
  color:#fff;
  pointer-events:none;
  transition:top .3s ease;
}
.site-header .nav-wrap{
  height:66px;
  padding:0 18px;
  background:rgba(7,29,47,.76);
  border:1px solid rgba(255,255,255,.18);
  border-radius:22px;
  box-shadow:0 14px 38px rgba(4,20,32,.18);
  backdrop-filter:blur(15px) saturate(120%);
  -webkit-backdrop-filter:blur(15px) saturate(120%);
  transition:background .3s ease, box-shadow .3s ease, border-color .3s ease, transform .3s ease;
  pointer-events:auto;
}
.site-header.is-scrolled .nav-wrap{
  background:rgba(7,29,47,.94);
  border-color:rgba(255,255,255,.12);
  box-shadow:0 16px 46px rgba(4,20,32,.28);
}
.site-header .brand img{height:50px}
.mobile-menu{z-index:70}
.hero-media img,.inner-hero>img{
  image-rendering:auto;
  backface-visibility:hidden;
  transform:translateZ(0);
}
.hero-media img{animation:heroZoomHQ 16s ease-out both}
@keyframes heroZoomHQ{from{transform:scale(1.012)}to{transform:scale(1)}}

@media(max-width:980px){
  .site-header{top:10px}
  .site-header .nav-wrap{height:62px;padding:0 14px;border-radius:20px}
  .site-header .brand img{height:46px}
}
@media(max-width:640px){
  .site-header{top:8px}
  .site-header .container{width:calc(100% - 18px)}
  .site-header .nav-wrap{height:58px;padding:0 12px;border-radius:18px}
  .site-header .brand img{height:43px}
  .mobile-menu{padding-top:92px}
}

/* v3 — availability bar visibility and responsive layout */
.hero{
  overflow:visible;
}
.hero-media{
  overflow:hidden;
}
.availability-bar{
  min-height:72px;
  overflow:hidden;
  border:1px solid rgba(10,34,54,.08);
}
.availability-cell{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.availability-cell input,
.availability-cell select{
  min-width:0;
  min-height:25px;
}
.availability-submit{
  min-width:0;
  padding:0 18px;
  line-height:1.35;
}

@media(max-width:980px){
  .availability-bar{
    min-height:116px;
    grid-template-columns:1fr 1fr;
  }
  .availability-cell{
    min-height:58px;
  }
  .availability-cell:nth-child(1){
    border-bottom:1px solid var(--line);
  }
  .availability-cell:nth-child(2){
    border-bottom:1px solid var(--line);
  }
  .availability-cell:nth-child(3){
    border-right:1px solid var(--line);
  }
  .availability-submit{
    min-height:58px;
  }
}

@media(max-width:640px){
  .hero{
    min-height:690px;
  }
  .availability-bar{
    width:calc(100% - 30px);
    min-height:116px;
    transform:translate(-50%,50%);
  }
  .availability-cell{
    padding:10px 12px;
    min-height:58px;
  }
  .availability-cell label{
    font-size:7px;
    margin-bottom:2px;
  }
  .availability-cell input,
  .availability-cell select{
    font-size:11px;
    min-height:24px;
  }
  .availability-submit{
    min-height:58px;
    padding:0 10px;
    font-size:8px;
    letter-spacing:.11em;
  }
  .hero + .section{
    padding-top:118px !important;
  }
}

/* v4 — premium mobile navigation */
@media(max-width:980px){
  .site-header{z-index:90}
  .mobile-menu{
    position:fixed;
    inset:0;
    z-index:80;
    display:flex;
    padding:0;
    color:#fff;
    background:
      linear-gradient(135deg,rgba(5,24,40,.985) 0%,rgba(7,34,55,.95) 52%,rgba(8,42,63,.91) 100%),
      url('../hero/880774286_converted.webp') center/cover no-repeat;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px);
    transition:opacity .38s ease,transform .45s cubic-bezier(.22,1,.36,1),visibility .38s ease;
    overflow:hidden;
  }
  .mobile-menu::before{
    content:'';
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 88% 17%,rgba(238,178,15,.10),transparent 24%),
      linear-gradient(180deg,rgba(255,255,255,.025),transparent 28%);
    pointer-events:none;
  }
  .mobile-menu::after{
    content:'SUNNY DAY';
    position:absolute;
    right:-18px;
    bottom:110px;
    font:500 72px/1 var(--serif);
    letter-spacing:-.055em;
    color:rgba(255,255,255,.028);
    white-space:nowrap;
    transform:rotate(-90deg) translateX(100%);
    transform-origin:right bottom;
    pointer-events:none;
  }
  .mobile-menu.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .mobile-menu-inner{
    position:relative;
    z-index:2;
    width:min(100%,620px);
    min-height:100%;
    margin:0 auto;
    padding:106px 30px 28px;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .mobile-menu-eyebrow{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:0 2px 18px;
    border-bottom:1px solid rgba(255,255,255,.14);
    color:rgba(255,255,255,.58);
    font-size:8px;
    font-weight:600;
    line-height:1.4;
    letter-spacing:.19em;
    text-transform:uppercase;
  }
  .mobile-menu-eyebrow span{color:#f1c84a;white-space:nowrap}
  .mobile-menu-links{padding:10px 0 16px}
  .mobile-menu-links>a{
    position:relative;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    min-height:54px;
    padding:4px 2px;
    border:0;
    color:rgba(255,255,255,.82);
    font:500 25px/1.05 var(--serif);
    letter-spacing:-.025em;
    text-transform:none;
    opacity:0;
    transform:translateY(15px);
    transition:opacity .34s ease,transform .45s cubic-bezier(.22,1,.36,1),color .2s ease;
  }
  .mobile-menu-links>a::after{
    content:'→';
    color:#f1c84a;
    font:400 15px/1 var(--sans);
    opacity:0;
    transform:translateX(-8px);
    transition:.22s ease;
  }
  .mobile-menu-links>a.active,
  .mobile-menu-links>a:hover{color:#fff}
  .mobile-menu-links>a.active::after,
  .mobile-menu-links>a:hover::after{opacity:1;transform:none}
  .mobile-menu.open .mobile-menu-links>a{opacity:1;transform:none}
  .mobile-menu.open .mobile-menu-links>a:nth-child(1){transition-delay:.07s}
  .mobile-menu.open .mobile-menu-links>a:nth-child(2){transition-delay:.10s}
  .mobile-menu.open .mobile-menu-links>a:nth-child(3){transition-delay:.13s}
  .mobile-menu.open .mobile-menu-links>a:nth-child(4){transition-delay:.16s}
  .mobile-menu.open .mobile-menu-links>a:nth-child(5){transition-delay:.19s}
  .mobile-menu.open .mobile-menu-links>a:nth-child(6){transition-delay:.22s}
  .mobile-menu.open .mobile-menu-links>a:nth-child(7){transition-delay:.25s}
  .mobile-menu.open .mobile-menu-links>a:nth-child(8){transition-delay:.28s}
  .mobile-menu-footer{
    margin-top:auto;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.14);
    opacity:0;
    transform:translateY(12px);
    transition:opacity .35s ease .28s,transform .45s cubic-bezier(.22,1,.36,1) .28s;
  }
  .mobile-menu.open .mobile-menu-footer{opacity:1;transform:none}
  .mobile-menu-cta{
    position:relative;
    min-height:54px;
    padding:0 52px!important;
    border:1px solid rgba(255,255,255,.86)!important;
    border-radius:20px;
    background:#fff;
    color:var(--navy)!important;
    display:flex!important;
    align-items:center;
    justify-content:center;
    text-align:center;
    text-transform:uppercase!important;
    font:600 9px/1 var(--sans)!important;
    letter-spacing:.15em!important;
    transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease!important;
  }
  .mobile-menu-cta:hover{background:#f3eee2;color:#082033!important;box-shadow:0 10px 26px rgba(0,0,0,.16);transform:translateY(-1px)}
  .mobile-menu-cta span{display:block;width:100%;text-align:center}
  .mobile-menu-cta b{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:17px;font-weight:400;line-height:1}
  .mobile-menu-languages{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding-top:15px;
    color:rgba(255,255,255,.42);
    font-size:9px;
    font-weight:600;
    letter-spacing:.16em;
  }
  .mobile-menu-languages a{padding:0!important;border:0!important;text-transform:uppercase!important;font:600 9px/1 var(--sans)!important;letter-spacing:.16em!important}
  .mobile-menu-languages a.active{color:#fff}
  .mobile-menu-languages span{opacity:.45}

  body.menu-open .site-header .nav-wrap{
    background:rgba(5,25,41,.78);
    border-color:rgba(255,255,255,.16);
    box-shadow:none;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  body.menu-open .burger::before{top:19px;transform:rotate(45deg)}
  body.menu-open .burger span{opacity:0;transform:scaleX(.35)}
  body.menu-open .burger::after{top:19px;transform:rotate(-45deg)}
}

@media(max-width:640px){
  .mobile-menu-inner{padding:88px 22px 20px}
  .mobile-menu-eyebrow{padding-bottom:14px;font-size:7px}
  .mobile-menu-links{padding:9px 0 12px}
  .mobile-menu-links>a{grid-template-columns:1fr auto;min-height:48px;font-size:23px}
  .mobile-menu-footer{padding-top:14px}
  .mobile-menu-cta{min-height:50px;padding:0 48px!important}
  .mobile-menu::after{font-size:58px;bottom:92px}
}

@media(max-height:700px) and (max-width:980px){
  .mobile-menu-inner{padding-top:84px;padding-bottom:16px}
  .mobile-menu-eyebrow{padding-bottom:10px}
  .mobile-menu-links{padding:6px 0 8px}
  .mobile-menu-links>a{min-height:42px;font-size:21px}
  .mobile-menu-footer{padding-top:10px}
  .mobile-menu-cta{min-height:45px;padding:0 44px!important}
  .mobile-menu-languages{padding-top:10px}
}


/* v10 — refined amenity icons */
.amenity-strip .amenity-mini{transition:transform .25s ease}
.amenity-strip .amenity-mini:hover{transform:translateY(-2px)}
.amenity-strip .amenity-icon-svg{
  width:44px;
  height:44px;
  margin:0 auto 12px;
  border:1px solid rgba(10,34,54,.13);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--navy);
  background:rgba(10,34,54,.025);
  transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.amenity-strip .amenity-icon-svg svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.amenity-strip .amenity-mini:hover .amenity-icon-svg{
  background:rgba(10,34,54,.055);
  border-color:rgba(10,34,54,.24);
  box-shadow:0 8px 22px rgba(10,34,54,.08);
}
@media(max-width:640px){
  .amenity-strip .amenity-icon-svg{width:42px;height:42px;margin-bottom:10px}
  .amenity-strip .amenity-icon-svg svg{width:23px;height:23px}
}


/* v14 — privacy, GDPR and consent */
.legal-page{padding:72px 0 90px;background:var(--paper)}
.legal-shell{width:min(850px,calc(100% - 48px));margin:0 auto}
.legal-shell h2{font:500 27px/1.2 var(--serif);margin:38px 0 12px;color:var(--ink)}
.legal-shell h3{font:600 14px/1.4 var(--sans);margin:24px 0 8px;color:var(--ink)}
.legal-shell p,.legal-shell li{font-size:12px;color:#5f6971;line-height:1.8}
.legal-shell ul{padding-left:20px;margin:8px 0 18px}
.legal-shell a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.legal-note{padding:18px 20px;border:1px solid var(--line);background:#fff;margin:26px 0}
.legal-meta{font-size:10px!important;text-transform:uppercase;letter-spacing:.12em;color:#8a9298!important;margin-bottom:22px!important}
.consent-check{display:grid;grid-template-columns:17px 1fr;gap:9px;align-items:start;margin:13px 0 16px;color:#68727b;font-size:9px;line-height:1.55;cursor:pointer}
.consent-check input{width:15px!important;height:15px;margin:2px 0 0;accent-color:var(--navy)}
.consent-check a{text-decoration:underline;text-underline-offset:2px;color:var(--navy)}
.footer-bottom a{opacity:.88;transition:opacity .2s ease}.footer-bottom a:hover{opacity:1}
.privacy-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:120;display:none;align-items:center;justify-content:space-between;gap:22px;width:min(920px,calc(100% - 36px));margin:0 auto;padding:17px 18px 17px 20px;background:rgba(7,29,47,.96);color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:18px;box-shadow:0 20px 55px rgba(0,0,0,.25);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.privacy-banner.show{display:flex;animation:privacyIn .35s cubic-bezier(.22,1,.36,1) both}
@keyframes privacyIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.privacy-copy{max-width:600px}.privacy-copy strong{display:block;font:500 17px/1.2 var(--serif);margin-bottom:5px}.privacy-copy p{margin:0;color:rgba(255,255,255,.72);font-size:10px;line-height:1.55}.privacy-copy a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.privacy-actions{display:flex;gap:8px;flex-shrink:0}.privacy-actions button{min-height:38px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.25);text-transform:uppercase;letter-spacing:.1em;font-size:8px;font-weight:600;cursor:pointer;transition:.2s ease}.privacy-necessary{background:transparent;color:#fff}.privacy-accept{background:#fff;color:var(--navy);border-color:#fff!important}.privacy-actions button:hover{transform:translateY(-1px);filter:brightness(.97)}
@media(max-width:640px){.legal-page{padding:54px 0 70px}.legal-shell{width:calc(100% - 30px)}.legal-shell h2{font-size:24px}.privacy-banner{left:10px;right:10px;bottom:10px;width:calc(100% - 20px);padding:16px;border-radius:16px;align-items:stretch;flex-direction:column;gap:12px}.privacy-actions{display:grid;grid-template-columns:1fr 1fr}.privacy-actions button{width:100%}}
