/*
Theme Name: Sobelux Miami
Theme URI: https://sobeluxapartments.com/
Author: Sobelux
Description: Tema responsive para apartamentos vacacionales Sobelux en South Beach.
Version: 1.0.0
Text Domain: sobelux
*/

:root{--aqua:#51c2f5;--ink:#221708;--muted:#6b6b6b;--navy:#082939;--sand:#f7f4ef;--white:#fff;--max:1100px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55;background:#fff}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{background:#fff;position:relative;z-index:10}.header-main{display:grid;grid-template-columns:1fr 270px 1fr;align-items:end;min-height:205px;padding:22px 0 12px}.brand img{width:260px;margin:auto}.main-nav{display:flex;gap:28px;font-weight:700;font-size:16px;align-items:center}.main-nav a:hover,.main-nav a:focus,.current-menu-item>a{color:var(--aqua)}.header-contact{text-align:right;color:var(--muted);font-size:17px;padding-bottom:3px}.header-contact a{color:var(--ink)}.menu-toggle{display:none;border:0;background:var(--navy);color:white;padding:10px 13px;font-weight:700}.hero{min-height:625px;display:grid;place-items:end center;background-size:cover;background-position:center;position:relative;color:white;text-align:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 38%,rgba(0,0,0,.58))}.hero-copy{position:relative;z-index:1;padding:0 20px 90px}.hero h1{font-size:clamp(39px,5vw,64px);line-height:1;margin:0 0 12px;text-transform:uppercase;letter-spacing:-1px}.hero h2{font-size:clamp(20px,2.5vw,28px);line-height:1.25;margin:0 auto 26px;max-width:900px}.hero-kicker{font-weight:700;font-size:22px}.down{display:block;font-size:38px;line-height:1;margin-top:4px;color:var(--aqua)}.locations{padding:36px 0 65px}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.location-card{position:relative;overflow:hidden;min-height:335px}.location-card img{width:100%;height:100%;object-fit:cover;transition:.45s transform}.location-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.72))}.location-card h2{position:absolute;z-index:1;left:0;right:0;bottom:34%;margin:0;color:#fff;text-align:center;font-size:38px;font-weight:400}.location-card:hover img{transform:scale(1.04)}.section-link{text-align:center;margin:24px 0 0;font-size:25px}.section-link a{border-bottom:2px solid var(--aqua)}.happenings{padding:0 0 65px;text-align:center}.happenings h2{font-size:clamp(34px,4.5vw,50px);font-weight:400;margin:0 0 8px}.happenings .lead{color:var(--muted);font-size:23px;max-width:760px;margin:0 auto 25px}.wave{width:82%;margin:0 auto -32px;position:relative;z-index:2}.nearby-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.nearby{position:relative;min-height:280px;overflow:hidden}.nearby img{width:100%;height:100%;object-fit:cover}.nearby span{position:absolute;inset:auto 12px 16px;color:#fff;font-weight:700;text-shadow:0 1px 8px #000}.map-band{min-height:430px;background:linear-gradient(rgba(8,41,57,.55),rgba(8,41,57,.55)),var(--map-image);background-size:cover;background-position:center;display:grid;place-items:center;text-align:center;color:white}.map-band h2{font-size:42px;margin:0 0 8px}.button{display:inline-block;background:var(--aqua);padding:12px 24px;color:#062635;font-weight:700;border:0;cursor:pointer}.page-hero{background:var(--navy);color:#fff;padding:80px 0;text-align:center}.page-hero h1{font-size:clamp(38px,6vw,68px);margin:0;text-transform:uppercase}.content-section{padding:65px 0}.intro{max-width:830px;margin:0 auto;text-align:center;font-size:19px;color:var(--muted)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-top:50px}.info-card{padding:34px;background:var(--sand);border-top:5px solid var(--aqua)}.info-card h2{font-size:30px;margin-top:0}.apartment-hero{min-height:520px;background-size:cover;background-position:center;display:grid;place-items:center;color:#fff;text-align:center;position:relative}.apartment-hero:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.42)}.apartment-hero .wrap{position:relative;z-index:1}.apartment-hero h1{font-size:clamp(38px,6vw,68px);line-height:1.05;text-transform:uppercase;margin:0}.apartment-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}.apartment-unit{border:1px solid #ddd;padding:26px}.apartment-unit h3{font-size:22px;margin:0 0 8px}.amenities{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.amenities span{background:#edf8fc;padding:7px 10px;font-size:13px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact-list{font-size:19px}.contact-form input,.contact-form textarea,.subscribe input{width:100%;padding:13px;border:1px solid #bbb;margin-bottom:12px;font:inherit}.contact-form textarea{min-height:150px}.site-footer{background:var(--navy);color:#fff;padding:36px 0 22px}.footer-logo{width:195px;margin:0 auto 24px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.4fr;gap:42px}.site-footer h3{font-size:14px;letter-spacing:1px;margin-top:0}.site-footer p,.site-footer li{font-size:13px;color:#d8e2e6}.site-footer ul{list-style:none;padding:0;margin:0}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);margin-top:28px;padding-top:18px;font-size:12px;color:#b6c7cd}.screen-reader-text{position:absolute;left:-9999px}
@media(max-width:820px){.header-main{grid-template-columns:1fr auto;min-height:110px;align-items:center}.brand{grid-column:1}.brand img{width:190px;margin:0}.menu-toggle{display:block}.main-nav{display:none;grid-column:1/-1;flex-direction:column;align-items:flex-start;gap:0;padding:15px 0}.main-nav.is-open{display:flex}.main-nav a{padding:9px 0}.header-contact{display:none}.hero{min-height:570px}.location-grid,.info-grid,.contact-grid{grid-template-columns:1fr}.nearby-grid{grid-template-columns:1fr 1fr}.apartment-list{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.location-card{min-height:300px}}
@media(max-width:520px){.wrap{width:min(var(--max),calc(100% - 28px))}.hero-copy{padding-bottom:60px}.nearby-grid,.footer-grid{grid-template-columns:1fr}.nearby{min-height:220px}.site-footer{text-align:center}.subscribe{text-align:left}}

/* Premium 2026 redesign */
:root{--aqua:#54d6e8;--ink:#102b32;--muted:#65777b;--navy:#071f27;--sand:#f4f0e8;--max:1180px}
body{background:#fbfcfb;color:var(--ink)}.wrap{width:min(var(--max),calc(100% - 48px))}.site-header{position:sticky;top:0;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(16,43,50,.08);backdrop-filter:blur(16px)}.header-main{grid-template-columns:1fr 210px 1fr;min-height:102px;align-items:center;padding:8px 0}.brand img{width:180px}.main-nav{gap:25px;font-size:12px;letter-spacing:.07em;text-transform:uppercase}.header-contact{font-size:13px}.header-contact:before{content:"RESERVATIONS · ";color:#16a9c1;font-weight:700}.hero{min-height:690px;place-items:center;text-align:left}.hero:after{background:linear-gradient(90deg,rgba(3,22,29,.75),rgba(3,22,29,.28) 60%,rgba(3,22,29,.05)),linear-gradient(0deg,rgba(3,22,29,.3),transparent 55%)}.hero-copy{width:min(var(--max),calc(100% - 48px));padding:20px 0 135px}.hero-copy:before{content:"BOUTIQUE STAYS · MIAMI BEACH";display:block;color:#b7f1f5;letter-spacing:.28em;font-size:11px;font-weight:700;margin-bottom:24px}.hero h1{font-family:Georgia,serif;font-size:clamp(56px,7vw,92px);font-weight:400;line-height:.94;letter-spacing:-.045em;text-transform:none;max-width:800px;margin-bottom:24px}.hero h2{font-size:clamp(17px,2vw,22px);line-height:1.5;max-width:600px;margin:0 0 32px;font-weight:400}.hero-kicker{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(255,255,255,.7);padding:14px 20px}.down{display:inline-block;font-size:22px;margin-left:12px}.booking-strip{position:absolute;z-index:3;bottom:-44px;left:50%;transform:translateX(-50%);width:min(var(--max),calc(100% - 48px));background:#fff;color:var(--ink);box-shadow:0 18px 55px rgba(7,31,39,.18);display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;padding:14px 14px 14px 28px}.booking-item{padding:0 24px;border-right:1px solid #dfe6e5}.booking-item small{display:block;color:var(--muted);font-size:9px;letter-spacing:.15em;text-transform:uppercase}.booking-item strong{font-family:Georgia,serif;font-size:16px;font-weight:400}.booking-strip .button{min-height:60px;display:grid;place-items:center}.locations{padding:125px 0 100px}.locations:before{content:"TWO DISTINCTIVE ADDRESSES";display:block;text-align:center;font-size:10px;letter-spacing:.26em;color:#16a9c1;font-weight:700;margin-bottom:20px}.location-grid{gap:24px}.location-card{min-height:510px}.location-card:after{background:linear-gradient(transparent 34%,rgba(5,29,36,.84))}.location-card h2{left:38px;right:38px;bottom:45px;text-align:left;font-family:Georgia,serif;font-size:46px}.location-card h2:after{content:"Explore the apartments →";display:block;font-family:Arial,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.15em;margin-top:12px;color:#b9edf3}.section-link{font-size:11px;text-transform:uppercase;letter-spacing:.16em;margin-top:38px}.happenings{padding:95px 0 105px;background:var(--sand)}.happenings h2{font-family:Georgia,serif;font-size:clamp(42px,5vw,62px);letter-spacing:-.03em;margin-bottom:18px}.happenings .lead{font-size:18px;max-width:720px;margin-bottom:45px}.wave{display:none}.nearby-grid{grid-template-columns:1.1fr .9fr .9fr 1.1fr;gap:12px}.nearby{min-height:320px}.nearby:nth-child(2),.nearby:nth-child(3){margin-top:34px}.nearby:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(4,28,35,.68))}.nearby span{z-index:1;inset:auto 18px 18px;font-family:Georgia,serif;font-size:19px}.map-band{min-height:520px;background:linear-gradient(rgba(7,31,39,.76),rgba(7,31,39,.76)),var(--map-image)}.map-band h2{font-family:Georgia,serif;font-size:clamp(40px,5vw,62px);font-weight:400;margin-bottom:20px}.button{padding:14px 26px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.site-footer{padding:60px 0 25px}.footer-logo{margin:0 0 38px}.site-footer h3{font-size:10px;letter-spacing:.2em;color:#75dce8}.footer-bottom{margin-top:42px}
@media(max-width:820px){.header-main{min-height:86px}.hero{min-height:660px}.hero-copy{padding-bottom:150px}.booking-strip{grid-template-columns:1fr 1fr;bottom:-92px}.booking-item{padding:10px 14px}.booking-strip .button{grid-column:1/-1}.locations{padding-top:165px}.location-card{min-height:430px}.nearby-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.hero h1{font-size:52px}.booking-strip{display:none}.hero-copy{padding-bottom:70px}.locations{padding-top:75px}.nearby-grid{grid-template-columns:1fr}.nearby:nth-child(2),.nearby:nth-child(3){margin-top:0}.location-card{min-height:390px}}

/* Reference navigation: Home · Who we are · Apartments · Contact */
.main-nav{font-size:16px;letter-spacing:0;text-transform:none;gap:38px}.main-nav>a,.menu-parent>button{font:inherit;font-weight:500;background:none;border:0;padding:10px 0;color:#20170f;cursor:pointer}.main-nav>a:hover,.menu-parent>button:hover,.main-nav>a.is-active{color:#51c2f5}.menu-parent{position:relative}.submenu{display:none;position:absolute;top:100%;left:-20px;min-width:190px;padding:10px;background:#fff;box-shadow:0 14px 35px rgba(7,31,39,.18);z-index:30}.submenu a{display:block;padding:10px 12px;font-size:14px;white-space:nowrap}.submenu a:hover{background:#eff9fb;color:#16a9c1}.menu-parent:hover .submenu,.menu-parent:focus-within .submenu,.menu-parent.is-open .submenu{display:block}.internal-hero{min-height:430px;background-size:cover;background-position:center;display:grid;place-items:center;position:relative;color:#fff;text-align:center}.internal-hero:after{content:"";position:absolute;inset:0;background:rgba(3,27,35,.52)}.internal-hero .wrap{position:relative;z-index:1}.internal-hero h1{font:400 clamp(48px,7vw,78px)/1 Georgia,serif;margin:0}.internal-hero p{font-size:18px;max-width:700px;margin:18px auto 0}.eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#16a9c1;font-weight:700}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.story-grid h2,.contact-grid h2{font:400 clamp(38px,5vw,58px)/1.1 Georgia,serif;margin:10px 0 24px}.story-photo{min-height:500px;background-size:cover;background-position:center}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}.feature{padding:30px;background:var(--sand)}.feature strong{display:block;font-family:Georgia,serif;font-size:24px;margin-bottom:8px}.apartments-nav{display:flex;justify-content:center;gap:12px;margin-bottom:45px}.apartments-nav a{padding:12px 18px;border:1px solid #b7c7ca;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.apartments-nav a:hover{background:var(--navy);color:white}.contact-panel{background:var(--sand);padding:42px}.contact-panel a{color:#168fa3;font-weight:700}
@media(max-width:820px){.main-nav{gap:0}.menu-parent{width:100%}.menu-parent>button{width:100%;text-align:left}.submenu{position:static;box-shadow:none;padding-left:18px}.story-grid,.feature-row{grid-template-columns:1fr}.story-photo{min-height:360px}}

/* Cloudbeds reservation search */
.booking-strip{grid-template-columns:1fr 1fr 1.25fr auto}.booking-item{margin:0;display:block}.booking-item input[type=date]{width:100%;border:0;background:transparent;color:var(--ink);font:400 17px Georgia,serif;padding:3px 0 0;outline:0;cursor:pointer}.booking-item input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.65}.booking-property strong{white-space:nowrap}.booking-strip button.button{border:0;white-space:nowrap;min-width:210px}.booking-strip button.button:hover{background:var(--navy);color:#fff}
@media(max-width:820px){.booking-strip{grid-template-columns:minmax(0,1fr) minmax(0,1fr);left:24px;right:24px;width:auto;transform:none}.booking-item{min-width:0}.booking-property{grid-column:1/-1;border-right:0}.booking-property strong{white-space:normal}.booking-strip button.button{grid-column:1/-1;width:100%;min-width:0}}

/* Centered hero and entrance motion */
.hero{text-align:center}.hero:after{background:linear-gradient(0deg,rgba(3,22,29,.54),rgba(3,22,29,.16) 75%),linear-gradient(90deg,rgba(3,22,29,.38),rgba(3,22,29,.06),rgba(3,22,29,.28))}.hero-copy{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;text-align:center}.hero-copy:before{width:100%}.hero h1{width:100%;max-width:980px;margin-left:auto;margin-right:auto}.hero h2{width:100%;max-width:740px;margin-left:auto;margin-right:auto}.hero-copy .down{margin-left:14px}.hero-copy:before,.hero h1,.hero h2,.hero-kicker,.hero .down,.booking-strip{opacity:0;animation:heroEnter .9s cubic-bezier(.2,.75,.25,1) forwards}.hero h1{animation-delay:.12s}.hero h2{animation-delay:.24s}.hero-kicker,.hero .down{animation-delay:.36s}.booking-strip{animation-delay:.5s}.reveal{opacity:0;transform:translateY(38px);transition:opacity .8s ease,transform .85s cubic-bezier(.2,.75,.25,1)}.reveal.from-left{transform:translateX(-45px)}.reveal.from-right{transform:translateX(45px)}.reveal.is-visible{opacity:1;transform:translate(0,0)}
@keyframes heroEnter{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy:before,.hero h1,.hero h2,.hero-kicker,.hero .down,.booking-strip{opacity:1;animation:none}.reveal,.reveal.from-left,.reveal.from-right{opacity:1;transform:none;transition:none}}

/* Complete room catalog */
.room-catalog{margin-top:55px}.room-catalog>h2{font:400 clamp(38px,5vw,56px)/1 Georgia,serif;text-align:center;margin:0 0 12px}.catalog-intro{text-align:center;color:var(--muted);max-width:760px;margin:0 auto 38px}.room-index{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-bottom:38px}.room-index a{font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:9px 12px;border:1px solid #bfd0d3}.room-index a:hover{background:var(--navy);color:#fff}.room-cards{display:grid;gap:18px}.room-card{background:#fff;border:1px solid #dce5e5}.room-card summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:26px 30px}.room-card summary::-webkit-details-marker{display:none}.room-card summary:after{content:"+";font:300 30px/1 Georgia,serif;color:#16a9c1}.room-card[open] summary:after{content:"−"}.room-card h3{font:400 clamp(24px,3vw,34px)/1.1 Georgia,serif;margin:0}.room-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.room-meta span{background:#edf8fa;padding:5px 9px;font-size:11px}.room-body{border-top:1px solid #e2e9e9;padding:28px 30px 32px}.room-body>p{color:var(--muted);margin-top:0}.bed-layout{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.bed-layout span{padding:10px 13px;background:var(--sand);font-size:13px}.amenity-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}.amenity-group{background:var(--sand);padding:28px}.amenity-group h3{font:400 26px Georgia,serif;margin:0 0 15px}.amenity-group ul{columns:2;column-gap:25px;margin:0;padding-left:18px}.amenity-group li{font-size:12px;margin:0 0 7px;break-inside:avoid}.ada-note{border-left:4px solid var(--aqua);padding:16px 18px;background:#f0fafb;margin-top:18px;font-size:13px}
@media(max-width:820px){.amenity-sections{grid-template-columns:1fr}.room-card summary,.room-body{padding:22px}.room-index{justify-content:flex-start}}

/* Original four-column apartment layout */
.full-room-list{margin-top:55px}.full-room{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:14px;padding:70px 0;border-top:1px solid #dfe5e5;align-items:stretch}.full-room:first-child{border-top:0}.room-summary{padding:6px 26px 0 0}.room-summary h2{font:400 clamp(28px,3vw,42px)/1.18 Arial,sans-serif;color:#616668;text-transform:uppercase;margin:0 0 55px}.room-summary>p{font-size:16px;color:#676d6f;min-height:55px}.sleeping{display:grid;gap:14px;margin:45px 0 28px}.sleeping span{font-size:14px;color:#62696b}.sleeping span:before{content:"▰";font-size:23px;color:#111;margin-right:13px}.room-size{font-weight:700;color:#62696b;margin:24px 0}.quick-features{display:grid;grid-template-columns:1fr 1fr;gap:11px;font-size:13px;font-weight:700;color:#646b6d}.quick-features span:before{margin-right:8px;color:#111}.room-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:42px}.room-gallery img{width:100%;aspect-ratio:1;object-fit:cover}.feature-column{background:#fff;padding:35px 20px;box-shadow:0 8px 30px rgba(8,30,36,.06)}.feature-icon{font-size:60px;line-height:1;text-align:center;color:#111;filter:grayscale(1);margin:0 0 55px}.feature-column h3{font:700 25px/1.15 Arial,sans-serif;color:#7a7f80;margin:0 0 65px}.feature-column p{font-size:15px;line-height:1.8;color:#73797a}.feature-column ul{padding-left:22px;margin-top:28px}.feature-column li{font-size:13px;font-weight:600;color:#697072;margin-bottom:14px}.full-room:nth-child(even){background:#fafbfb;margin-left:calc((100vw - min(var(--max),calc(100vw - 48px)))/-2);margin-right:calc((100vw - min(var(--max),calc(100vw - 48px)))/-2);padding-left:calc((100vw - min(var(--max),calc(100vw - 48px)))/2);padding-right:calc((100vw - min(var(--max),calc(100vw - 48px)))/2)}
@media(max-width:980px){.full-room{grid-template-columns:1fr 1fr}.room-summary{grid-row:span 3}.full-room:nth-child(even){margin-left:0;margin-right:0;padding-left:0;padding-right:0}}
@media(max-width:620px){.full-room{grid-template-columns:1fr}.room-summary{grid-row:auto}.room-summary h2{margin-bottom:25px}.feature-column h3,.feature-icon{margin-bottom:25px}}

/* Original Sobelux pictograms */
.feature-icon img{width:145px;height:145px;object-fit:contain;margin:0 auto;filter:contrast(1.25)}.sleeping span,.quick-features span{display:flex;align-items:center}.sleeping span:before{display:none}.sleeping img{width:42px;height:32px;object-fit:contain;margin-right:15px}.quick-features img{width:28px;height:28px;object-fit:contain;margin-right:9px;filter:contrast(1.3)}

/* Stable centered hero composition */
.hero-copy{display:block;text-align:center;padding-bottom:125px}.hero-copy:before{display:block;width:auto}.hero h1{font-size:clamp(54px,6vw,82px);line-height:.98;max-width:1120px;margin:0 auto 24px}.hero h2{display:block;font-size:clamp(17px,1.65vw,22px);max-width:720px;margin:0 auto 32px}.hero-kicker{display:inline-flex;align-items:center;justify-content:center;min-width:188px;margin:0}.hero-copy .down{display:inline-block;vertical-align:middle;margin:0 0 0 12px}.booking-strip{z-index:6}.locations{position:relative;z-index:1}
@media(max-width:820px){.hero-copy{padding-bottom:145px}.hero h1{font-size:clamp(48px,10vw,66px);max-width:92%}}
@media(max-width:520px){.hero-copy{padding-bottom:70px}.hero h1{font-size:48px}.hero h2{max-width:94%}}

/* Keep reservation bar centered after its entrance animation */
.booking-strip{animation-name:bookingEnter}
@keyframes bookingEnter{from{opacity:0;transform:translate(-50%,28px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:820px){.booking-strip{animation-name:bookingEnterMobile}@keyframes bookingEnterMobile{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}}

@media(max-width:520px){.hero{min-height:700px;margin-bottom:205px}.booking-strip{display:grid;position:absolute;bottom:-190px;left:14px;right:14px;width:auto;margin:0;padding:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);box-shadow:0 14px 38px rgba(7,31,39,.2)}.booking-item{padding:10px 8px}.booking-item input[type=date]{font-size:14px}.booking-property{grid-column:1/-1;text-align:center}.booking-strip button.button{grid-column:1/-1;min-height:50px}.locations{padding-top:70px}.brand img{width:145px}.header-main{min-height:82px}}

.booking-property select{width:100%;border:0;background:transparent;color:var(--ink);font:400 17px Georgia,serif;padding:4px 28px 4px 0;outline:0;cursor:pointer;appearance:auto}.booking-property select:focus{color:#087f95}.booking-property:focus-within small{color:#16a9c1}
@media(max-width:520px){.booking-property select{text-align:center;text-align-last:center;font-size:16px}}

/* Compact mobile navigation: hamburger left, logo centered */
@media(max-width:820px){
  .site-header{overflow:visible}
  .header-main{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;min-height:84px;padding:7px 0}
  .menu-toggle{display:flex;grid-column:1;grid-row:1;width:42px;height:42px;padding:10px 8px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;z-index:32}
  .menu-toggle:not(:has(span)){font-size:0;position:relative}
  .menu-toggle:not(:has(span)):before{content:"";display:block;width:26px;height:2px;background:var(--ink);box-shadow:0 -7px 0 var(--ink),0 7px 0 var(--ink)}
  .menu-toggle span{display:block;width:26px;height:2px;background:var(--ink);transition:transform .25s ease,opacity .2s ease}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .brand{grid-column:2;grid-row:1;justify-self:center}
  .brand img{width:150px;margin:auto}
  .header-contact{display:none}
  .main-nav{display:none;position:absolute;top:100%;left:-24px;right:-24px;width:auto;grid-column:auto;flex-direction:column;align-items:stretch;gap:0;padding:10px 24px 18px;background:#fff;border-top:1px solid #e8eeee;box-shadow:0 18px 32px rgba(7,31,39,.14);z-index:31}
  .main-nav.is-open{display:flex}
  .main-nav>a,.menu-parent>button{display:block;width:100%;padding:13px 4px;text-align:left;border-bottom:1px solid #edf1f1}
  .menu-parent{width:100%}
  .submenu{position:static;box-shadow:none;padding:2px 0 7px 15px;background:#f7faf9}
  .submenu a{padding:10px 12px}
}
@media(max-width:520px){
  .header-main{min-height:78px}
  .brand img{width:138px}
  .main-nav{left:-14px;right:-14px;padding-left:18px;padding-right:18px}
}
