
:root{--ink:#164b56;--deep:#103c46;--sand:#fbf6ed;--muted:#587177;--line:#d2dcd7;--aqua:#a1dbe3;--gold:#ffe5bf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--sand);color:var(--ink);font:16px/1.7 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #cc8843;outline-offset:5px}img{max-width:100%;display:block}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:99}.skip:focus{top:0}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:18px 5%;background:var(--sand);position:relative;z-index:10;border-bottom:1px solid var(--line)}.logo{width:184px;height:65px;object-fit:contain}nav{display:flex;gap:28px;align-items:center}nav a{font-size:14px}.header-actions{display:flex;gap:24px;align-items:center}.languages{display:flex;gap:11px;font-size:13px}.languages a[aria-current]{border-bottom:1px solid var(--ink);font-weight:600}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:14px 24px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:14px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#276873;transform:translateY(-2px)}.button.light{background:var(--sand);color:var(--ink);border-color:var(--sand)}.button.outline{background:transparent;color:var(--ink)}.menu{display:none}.hero{min-height:660px;height:calc(100svh - 100px);max-height:900px;position:relative;display:flex;align-items:center;color:white;background:var(--deep);overflow:hidden}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 56%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,37,43,.68),rgba(8,37,43,.16)),linear-gradient(0deg,rgba(8,37,43,.28),transparent 45%)}.hero-inner{position:relative;z-index:1;padding:70px 8%;width:100%}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:500;display:block;margin-bottom:22px}h1,h2,h3,.number{font-family:'Italiana',Georgia,serif;font-weight:400;line-height:1.08;margin:0}h1{font-size:clamp(62px,7.6vw,112px);max-width:900px;letter-spacing:-.035em}h1 em{font-style:normal;color:var(--gold)}.hero p{max-width:465px;font-size:18px;line-height:1.6;margin:26px 0 34px;color:#f5f4ed}.hero-bottom{position:absolute;bottom:27px;left:8%;right:5%;display:flex;justify-content:space-between;z-index:2;font-size:12px;letter-spacing:.07em}.facts{display:grid;grid-template-columns:repeat(4,1fr);padding:35px 8%;border-bottom:1px solid var(--line);gap:30px}.fact{display:flex;align-items:center;gap:15px;border-right:1px solid var(--line)}.fact:last-child{border:none}.fact .number{font-size:44px}.fact small{font-size:14px;display:block;line-height:1.4}.section{padding:105px 8%}h2{font-size:clamp(40px,4.4vw,68px);letter-spacing:-.025em}h3{font-size:31px}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:start}.intro p{margin:8px 0 24px;color:var(--muted)}.text-link{font-size:14px;display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px}.residence{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:center;padding-top:0}.residence figure{margin:0}.residence img{width:100%;aspect-ratio:1.35;object-fit:cover}.caption{font-size:12px;color:var(--muted);margin-top:12px}.amenities{list-style:none;margin:30px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:14px}.amenities li{border-bottom:1px solid var(--line);padding-bottom:13px}.amenities li:before{content:'＋';padding-right:10px}.roof{background:var(--ink);color:var(--sand);display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.roof h2{max-width:500px}.roof p{color:#dae5e3}.roof-item{display:grid;grid-template-columns:35px 1fr;gap:20px;border-bottom:1px solid #50747b;padding:22px 0}.roof-item:first-child{padding-top:0}.roof-item span{font-size:13px;color:var(--aqua)}.roof-item p{font-size:14px;margin:10px 0 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-heading p{max-width:340px;color:var(--muted);margin:0}.places{display:grid;grid-template-columns:1fr 1fr;gap:35px}.place img{width:100%;aspect-ratio:1.5;object-fit:cover;transition:transform .7s}.place .image-wrap{overflow:hidden}.place a:hover img{transform:scale(1.035)}.place .place-top{display:flex;justify-content:space-between;align-items:center;margin:22px 0 12px}.place p{color:var(--muted);max-width:470px;margin-top:0}.place .eyebrow{margin:0;font-size:11px}.location{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.address-box{padding:40px;border:1px solid var(--line);background:#f1f0e7}.address-box address{font-style:normal;font-size:20px;line-height:1.8;margin:20px 0}.faq{background:#f0eee5;display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}details{border-bottom:1px solid #c4cec8;padding:22px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:16px}summary:after{content:'+';font-size:23px;line-height:1}details[open] summary:after{content:'−'}details p{color:var(--muted);margin-bottom:4px;font-size:15px}.booking{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.booking p{color:var(--muted)}.booking-form{padding:35px;background:white;border:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;margin-bottom:8px}input{width:100%;padding:12px;border:1px solid #bdcdce;background:#fff;color:var(--ink);min-width:0}.booking-form .button{width:100%;margin-top:24px}.note{font-size:13px;line-height:1.6}.error{color:#9b3226;font-size:14px}footer{background:var(--deep);color:#edf4ec;padding:55px 8% 25px}.footer-top{display:flex;justify-content:space-between;gap:40px;margin-bottom:40px}.footer-brand{font-family:'Italiana',Georgia,serif;font-size:64px;line-height:1}.footer-top p{font-size:14px}.footer-links{display:flex;gap:28px;font-size:14px}.footer-bottom{border-top:1px solid #45656b;padding-top:20px;display:flex;justify-content:space-between;font-size:12px;gap:20px;flex-wrap:wrap}.credits{font-size:12px;max-width:800px;color:#c7d8d9}.credits summary{font-size:12px;justify-content:start}.credits a{text-decoration:underline}.credits summary:after{font-size:14px}.mobile-cta{display:none}@media(min-width:1500px){.section{padding-left:max(8%,calc((100vw - 1280px)/2));padding-right:max(8%,calc((100vw - 1280px)/2))}}@media(max-width:1000px){header{padding:15px 5%;height:85px}nav{gap:16px}.header-actions{gap:18px}.header-actions>.button{display:none}.logo{width:153px}.hero{height:75svh;min-height:590px}.section{padding:75px 6%}.residence{padding-top:0}.hero-inner{padding:60px 6%}.facts{padding:30px 6%;gap:15px}.fact{gap:10px}.fact small{font-size:12px}.fact .number{font-size:36px}.roof{gap:7%}.location{padding-top:0}}@media(max-width:700px){header{height:82px}.logo{width:140px;height:56px}.menu{display:block;background:none;border:1px solid var(--line);padding:6px 10px;font-size:14px;color:var(--ink)}nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--sand);padding:25px 6%;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;align-items:start;gap:20px}nav a{font-size:18px}.header-actions{gap:16px}.languages{gap:8px}.hero{height:calc(85svh - 82px);min-height:580px;max-height:750px}.hero-inner{padding:40px 7% 75px}h1{font-size:64px}.hero p{font-size:16px;max-width:325px}.hero .eyebrow{font-size:10px}.hero-bottom{left:7%;right:7%;font-size:10px}.hero-bottom a{display:none}.facts{grid-template-columns:1fr 1fr;padding:27px 7%;gap:25px}.fact:nth-child(2){border:0}.fact small{font-size:13px}.section{padding:65px 7%}.intro,.residence,.roof,.location,.faq,.booking{grid-template-columns:1fr;gap:35px}h2{font-size:45px}.residence{padding-top:0}.roof{gap:40px}.section-heading{display:block}.section-heading p{margin-top:22px}.places{grid-template-columns:1fr;gap:40px}.location{padding-top:0}.address-box{padding:28px}.booking-form{padding:24px}.form-grid{gap:12px}.footer-top{flex-direction:column;gap:20px}.footer-links{flex-wrap:wrap;gap:18px}footer{padding:45px 7% 100px}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;z-index:15;background:var(--sand);padding:10px 7%;border-top:1px solid var(--line)}.mobile-cta .button{width:100%;padding:11px}.amenities{gap:15px;font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

@media(max-width:700px){h1{font-size:clamp(44px,12vw,60px)}.footer-links{flex-direction:column}}

.room-guide{padding-top:0}.practical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:38px}.practical-grid article{border-top:1px solid var(--line);padding-top:25px}.practical-grid h3{font-size:29px;line-height:1.2}.practical-grid p{color:var(--muted)}.pool-guide{background:#e9f1ed}.pool-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:40px}.pool-card{display:flex;gap:25px;padding:32px;border:1px solid #aac7c7;background:var(--sand)}.pool-card .number{font-size:65px;color:var(--ink)}.pool-card .eyebrow{font-size:12px;margin-bottom:14px;letter-spacing:.1em}.pool-card p{color:var(--muted);margin-bottom:0}.travel{padding-top:0}.steps-title{font-size:27px;margin-top:30px}.booking-steps{list-style:decimal;padding-left:23px;margin:22px 0 28px}.booking-steps li{padding-left:9px;margin-bottom:16px}.booking-steps strong{display:block;font-size:15px;font-weight:500}.booking-steps span{display:block;font-size:14px;color:var(--muted)}.fact small{max-width:160px}.hero p{max-width:550px}@media(max-width:700px){.practical-grid,.pool-grid{grid-template-columns:1fr;gap:24px}.room-guide,.travel{padding-top:0}.pool-card{padding:25px;gap:20px}.pool-card .number{font-size:48px}.hero p{max-width:340px}.hero{height:auto;min-height:620px}.hero-inner{padding-top:65px;padding-bottom:100px}.pool-guide h2{overflow-wrap:normal}}
/* Cielo property imagery and booking enhancement; established brand tokens retained. */
.hero-image{object-position:center 57%}.hero:after{background:linear-gradient(90deg,rgba(8,37,43,.74),rgba(8,37,43,.16)),linear-gradient(0deg,rgba(8,37,43,.3),transparent 60%)}.hero h1{font-size:clamp(58px,6.8vw,100px)}.hero-inner{max-width:1320px}.gallery-section{padding-top:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-photo{background:none;border:0;padding:0;text-align:left;color:var(--ink);cursor:zoom-in;min-width:0}.gallery-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.gallery-photo span{display:block;padding:12px 0 18px;font-size:14px;line-height:1.5}.roof-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin-top:28px}.practical{padding-top:0}.lightbox{width:min(1100px,94vw);max-height:94svh;border:0;padding:20px;background:var(--sand);color:var(--ink);overflow:auto}.lightbox::backdrop{background:rgba(6,27,32,.9)}.lightbox-bar,.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:15px}.lightbox button{border:1px solid var(--ink);background:var(--sand);padding:10px 16px;color:var(--ink);cursor:pointer;font-size:14px}.lightbox-image{max-height:68svh;width:100%;object-fit:contain;margin:16px 0}.lightbox-caption{font-size:14px;margin:10px 0 20px}.gallery-open{overflow:hidden}.booking{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5%;align-items:start}.booking-panel{min-width:0;padding:28px;background:white;border:1px solid var(--line)}#hostaway-calendar-widget{max-width:100%;min-height:360px;overflow-x:auto}#hostaway-calendar-widget[data-state=unavailable]{min-height:0}#hostaway-calendar-widget[data-state=unavailable]>p{display:none}.booking-fallback{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.booking-fallback span{display:block;font-size:14px;margin-bottom:12px}.booking-fallback .button{gap:12px;text-align:center}.note{font-size:14px}.calendar-status{padding:12px;background:var(--sand)}.hero .eyebrow{font-size:13px}.practical .text-link{margin-top:10px}.lightbox [hidden]{display:none}@media(min-width:1001px){.booking{grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);padding-left:5%;padding-right:5%}}@media(max-width:1000px){.booking{grid-template-columns:1fr}.booking-panel{max-width:760px;width:100%;justify-self:center}}@media(max-width:700px){.hero h1{font-size:clamp(42px,10.7vw,60px)}.hero{min-height:600px}.hero .eyebrow{font-size:11px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gallery-photo span{font-size:13px}.booking-panel{padding:20px 12px}.booking{padding-left:5%;padding-right:5%}.lightbox{padding:14px}.lightbox-controls button{padding:10px;font-size:13px}#hostaway-calendar-widget{min-height:340px}.hero-image{object-position:58% center}}@media(max-width:380px){.gallery-grid{grid-template-columns:1fr}.header-actions{gap:8px}.logo{width:120px}.menu{font-size:13px}}

.checkout-guidance{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.checkout-guidance h3{font-size:26px;margin:0 0 10px}.checkout-guidance p{margin:0}.booking-fallback{border-top:0;margin-top:18px;padding-top:0}.booking-fallback span{margin-bottom:5px}.booking-fallback .text-link{font-size:14px;line-height:1.7}
/* Editorial local guide: shared CIELO colors and typography, no additional UI library. */
.area-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.area-highlight{min-width:0}.area-highlight img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.area-highlight h3{font-size:30px;line-height:1.15;margin:22px 0 12px}.area-highlight h3 span{font:18px 'DM Sans',sans-serif}.area-highlight p{font-size:14px;color:var(--muted);line-height:1.7}.area-credit{font-size:10px;line-height:1.7;display:block}.area-credit a{text-decoration:underline}.area-more{margin-top:35px}.area-hero{display:grid;grid-template-columns:1fr 1.15fr;gap:6%;padding:60px 5% 75px;align-items:center}.area-hero-copy{padding-left:6%}.area-hero-copy>.text-link:first-child{margin-bottom:45px}.area-hero h1{font-size:clamp(54px,5.6vw,86px)}.area-hero p{color:var(--muted);max-width:480px;font-size:18px;margin:26px 0}.area-hero figure{margin:0}.area-hero img{height:570px;width:100%;object-fit:cover}.area-hero figcaption{padding-top:10px}.local-guide{padding-top:0}.area-filters{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 28px;border-bottom:1px solid var(--line);position:static;background:none}.area-filter{border:1px solid var(--line);border-radius:30px;padding:10px 18px;font-size:13px}.area-filter:hover,.area-filter[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--sand)}.area-panel{padding-top:32px;scroll-margin-top:24px}.area-panel[hidden]{display:none}.category-heading{font-size:30px;margin-bottom:28px}.recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.recommendation{background:#f1f0e7;border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;scroll-margin-top:30px}.recommendation .eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:18px}.recommendation h3{font-size:29px;line-height:1.15}.recommendation p{color:var(--muted);font-size:15px}.place-links{margin-top:auto;display:flex;flex-wrap:wrap;gap:12px 20px;padding-top:15px}.place-links a{font-size:12px;text-decoration:underline;text-underline-offset:5px}.area-season-note,.guide-season{font-size:13px;color:var(--muted);margin-top:28px}.area-season-note a{text-decoration:underline}.guide-season{padding-top:25px;border-top:1px solid var(--line)}.perfect-day{background:#e9f1ed}.day-photo-strip{display:grid;grid-template-columns:1fr 1fr;gap:24px}.day-photo-strip figure{margin:0}.day-photo-strip img{width:100%;height:auto;aspect-ratio:2;object-fit:cover}.day-itinerary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;list-style:none;margin:45px 0 0;padding:0}.day-itinerary li{border-top:1px solid #aac7c7;padding-top:20px}.day-number{font-family:'Italiana',Georgia,serif;font-size:35px;display:block;margin-bottom:10px}.day-itinerary .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:15px}.day-itinerary h3{font-size:25px;line-height:1.2}.day-itinerary p{font-size:14px;color:var(--muted)}.area-return{background:var(--ink);color:var(--sand);display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.area-return p{color:#dae5e3;margin:28px 0}.area-return img{width:100%;height:auto;aspect-ratio:1.2;object-fit:cover}.guide-source{font-size:12px;padding:24px 8%;margin:0;color:var(--muted)}.culture-photo{margin:0 0 25px}.culture-photo img{width:100%;height:300px;object-fit:cover}.culture-photo figcaption{margin-top:10px}
@media(max-width:1100px){.area-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.area-highlight img{aspect-ratio:3/2}.area-hero img{height:480px}.recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day-itinerary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.area-hero{grid-template-columns:1fr;padding:35px 7% 60px;gap:35px}.area-hero-copy{padding:0}.area-hero h1{font-size:54px}.area-hero-copy>.text-link:first-child{margin-bottom:30px}.area-hero img{height:300px}.area-hero p{font-size:16px}.area-filters{display:flex;position:static;padding:0 0 25px;gap:8px}.area-filter{font-size:12px;padding:9px 13px}.recommendation-grid{grid-template-columns:1fr}.area-highlight h3{font-size:27px}.area-highlights{gap:25px}.area-highlight img{aspect-ratio:4/5}.area-highlight p{font-size:13px}.recommendation{padding:24px}.day-photo-strip{grid-template-columns:1fr}.day-photo-strip figure:last-child{display:none}.day-itinerary{grid-template-columns:1fr;gap:18px}.day-itinerary li{display:grid;grid-template-columns:40px 1fr;column-gap:15px}.day-number{grid-row:span 3}.day-itinerary .eyebrow{margin:0 0 8px}.day-itinerary p{grid-column:2;margin-bottom:0}.area-return{grid-template-columns:1fr;gap:35px}.guide-source{padding:24px 7%}.local-guide{padding-top:0}}
@media(max-width:420px){.area-highlights{grid-template-columns:1fr}.area-highlight img{aspect-ratio:3/2}}
/* Refined hierarchy and predictable in-page navigation. */
:root{--header-height:100px}html{scroll-padding-top:var(--header-height)}header{position:sticky;top:0;z-index:30;height:var(--header-height);box-shadow:0 3px 18px #103c4608}.section{padding-top:80px;padding-bottom:80px}.stay-section{padding-top:80px}.residence img{height:auto;aspect-ratio:4/3}.residence{align-items:start}.residence figure{position:sticky;top:calc(var(--header-height) + 30px)}.residence p{color:var(--muted)}.hero h1{font-size:clamp(54px,5.5vw,84px);max-width:940px}.hero p{max-width:540px}.roof h2{max-width:600px}.roof-item h3,.area-highlight h3,.recommendation h3,.day-itinerary h3,.practical-grid h3,.checkout-guidance h3{font-family:'DM Sans',sans-serif;font-size:21px;font-weight:500;line-height:1.35;letter-spacing:-.02em}.roof-item h3{font-size:24px}.roof-item{padding:28px 0}.area-highlight h3{margin-top:18px}.category-heading{font-family:'DM Sans',sans-serif;font-size:25px}.section-heading{margin-bottom:35px}.practical-location{padding:0}.practical{padding-top:0}.booking{background:#f0eee5}.booking-panel{border-radius:4px}.booking .note{max-width:520px}.checkout-guidance{margin-top:18px;padding-top:18px}.checkout-guidance h3{font-size:17px}.faq{padding-top:65px;padding-bottom:65px}.area-hero-actions{display:flex;gap:24px;flex-wrap:wrap}.area-panel,.recommendation{scroll-margin-top:0}.local-guide{padding-top:55px}.area-hero{padding-bottom:40px}.perfect-day{scroll-margin-top:0}.languages a{padding:5px 0}.area-credit{margin-top:10px}
@media(max-width:1000px){:root{--header-height:85px}.section{padding-top:65px;padding-bottom:65px}.stay-section{padding-top:65px}.booking{gap:30px}.practical{padding-top:0}}
@media(max-width:700px){:root{--header-height:82px}.hero h1{font-size:clamp(41px,10.5vw,58px)}.hero{min-height:610px}.hero-inner{padding-top:55px;padding-bottom:85px}.section{padding-top:55px;padding-bottom:55px}.stay-section{padding-top:55px}.residence figure{position:static}.residence{gap:25px}.residence h2{font-size:40px}.gallery-section{padding-top:0}.practical{padding-top:0}.roof h2{font-size:43px}.roof-item h3{font-size:22px}.area-highlight h3{font-size:21px}.area-hero h1{font-size:47px}.local-guide{padding-top:35px}.section-heading{margin-bottom:30px}.hero .eyebrow{letter-spacing:.14em}.booking-panel{padding:20px 12px}.footer-links{gap:16px}.area-filters{position:static}}
.booking h2{font-size:clamp(40px,4vw,56px);line-height:1.12}.booking .eyebrow{margin-bottom:20px}@media(max-width:700px){.booking h2{font-size:43px}}
/* Approved V3 content and real photography, retaining CIELO's established design. */
.hero-media{position:absolute;inset:0;width:100%;height:100%}.hero-media .hero-image{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 58%}.hero:after{background:linear-gradient(90deg,rgba(8,37,43,.68),rgba(8,37,43,.02) 90%),linear-gradient(0deg,rgba(8,37,43,.34),transparent 65%)}.hero h1{max-width:850px;font-size:clamp(52px,5.8vw,84px);line-height:1.06}.hero-secondary{display:inline-block;margin:18px 0 18px 24px;font-size:14px;border-bottom:1px solid #ffffff9c;padding-bottom:4px}.residence{align-items:center}.residence figure{position:static}.residence p{margin:25px 0}.roof-details{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:0}.roof-details figure{margin:0}.roof-details img,.inside-grid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.roof-details figcaption{font-size:12px;line-height:1.6;margin-top:12px;color:#dae5e3}.roof-pool-note{padding-top:25px}.inside-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.inside-grid h3{font-family:'DM Sans',sans-serif;font-size:22px;line-height:1.3;margin:22px 0 12px}.inside-grid p{color:var(--muted);font-size:15px}.inside-section .section-heading{align-items:start}.inside-section .section-heading p{max-width:470px}.amenities-details{margin-top:25px}.amenities-details .amenities{max-width:850px}.full-gallery>h1{font-size:clamp(46px,5vw,76px);max-width:1000px;margin:15px 0 20px}.full-gallery>.eyebrow{margin-top:35px}.full-gallery>p{max-width:650px;color:var(--muted)}.gallery-group-nav{display:flex;gap:12px;flex-wrap:wrap;position:static;padding:20px 0;background:none;border:0}.gallery-group-nav a{display:inline-block;font-size:14px}.gallery-group{padding-top:50px}.gallery-group h2{font-size:40px;margin-bottom:30px}.gallery-photo span{font-size:13px}.gallery-section .section-heading p{max-width:420px}.footer-top .text-link{font-size:13px}.header-booking-link{display:none}.facts .number small{font:12px 'DM Sans',sans-serif;display:block}.inside-section{background:#f0eee5}
@media(max-width:1000px){.hero h1{max-width:720px}.roof{gap:40px 7%}.roof-details{gap:18px}.inside-grid{gap:20px}}
@media(max-width:700px){.hero-media .hero-image{object-position:51% 60%}.hero h1{font-size:clamp(42px,10.5vw,58px)}.hero{min-height:640px}.hero-inner{padding-top:55px;padding-bottom:90px}.hero-secondary{display:table;margin:18px 0 0}.hero p{line-height:1.65}.roof-details{grid-template-columns:1fr;gap:25px}.inside-grid{grid-template-columns:1fr;gap:25px}.inside-grid img{aspect-ratio:3/2}.inside-section .section-heading p{max-width:none}.header-booking-link{display:block}.gallery-group-nav{display:flex;position:static;padding:15px 0;gap:10px;align-items:flex-start}.gallery-group-nav a{font-size:13px}.gallery-group{padding-top:35px}.gallery-group h2{font-size:34px}.full-gallery>h1{font-size:44px}.full-gallery{padding-bottom:80px}.roof h2{font-size:42px}}
.logo-frame{position:relative;display:block;width:184px;height:70px;overflow:hidden}.logo-frame .logo{position:absolute;width:140%;max-width:none;height:auto;left:-20%;top:-57%;object-fit:initial}.fact-prefix{font:11px/1.1 'DM Sans',sans-serif;display:block;margin-bottom:3px}.lightbox-image{touch-action:pan-y pinch-zoom}.full-gallery .gallery-photo img{aspect-ratio:3/2}@media(max-width:1000px){.logo-frame{width:153px;height:58px}}@media(max-width:700px){.logo-frame{width:140px;height:53px}.hero-inner{padding-bottom:105px}}@media(max-width:380px){.logo-frame{width:120px;height:46px}}

/* Layout corrections: explicit row gaps prevent captions spilling out of their section. */
:root{--section-space:clamp(64px,6vw,96px)}
.section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.roof{column-gap:7%;row-gap:44px;padding-bottom:var(--section-space)}
.roof-details{row-gap:30px;column-gap:22px;margin:0;min-width:0}.roof-details figure{min-width:0;align-self:start}.roof-details figcaption{margin:12px 0 0;line-height:1.6}
.practical{padding-top:var(--section-space)}.practical-location{padding:0;gap:6%;align-items:center}.practical .practical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery-section{padding-top:0}.section-heading{align-items:start}.inside-section .section-heading{display:grid;grid-template-columns:1.05fr 1fr;gap:6%}.section-heading>div{min-width:0}
/* Let the true photograph show through; shading is concentrated behind the copy. */
.hero:after{background:linear-gradient(90deg,rgba(8,37,43,.38),rgba(8,37,43,.10) 62%,transparent 85%)}.hero h1,.hero .eyebrow,.hero p{text-shadow:0 2px 14px #08252b66}.hero h1{max-width:850px}.hero p{color:#fff}.hero-bottom{color:#fff;text-shadow:0 1px 6px #08252b}.hero .button{text-shadow:none}
.icon-arrow{display:inline-block;vertical-align:middle;width:19px;height:19px;min-width:19px;flex-shrink:0}.area-highlight h3 .icon-arrow{width:21px;height:21px}.text-link .icon-arrow{width:16px;height:16px}.button>span[aria-hidden]{display:inline-flex;align-items:center}
.footer-logo{display:inline-block;margin-bottom:18px}.footer-logo .logo-frame{width:240px;height:91px}.footer-top p{max-width:340px}.footer-links{flex-wrap:wrap;justify-content:flex-end;align-content:start;max-width:550px}.privacy-settings{background:transparent;color:inherit;border:0;border-bottom:1px solid currentColor;padding:0 0 4px;margin-top:25px;cursor:pointer;font-size:13px}
.privacy-banner{position:fixed;z-index:60;left:24px;bottom:24px;width:min(510px,calc(100vw - 48px));max-height:75svh;overflow:auto;padding:24px;background:var(--sand);color:var(--ink);border:1px solid var(--line);box-shadow:0 12px 45px #103c4624;border-radius:5px}.privacy-banner[hidden]{display:none}.privacy-banner h2{font-family:'DM Sans',sans-serif;font-size:21px;font-weight:500;line-height:1.3;letter-spacing:0}.privacy-banner p{font-size:14px;line-height:1.65;margin:14px 0}.privacy-banner .privacy-change-note{font-size:12px;color:var(--muted)}.privacy-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.privacy-actions .button{padding:11px 12px;gap:0;font-size:13px}.privacy-actions .button:hover{background:var(--ink);color:var(--sand)}
#hostaway-calendar-widget[data-state=blocked]{min-height:235px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;padding:15px 8px}#hostaway-calendar-widget[data-state=blocked] p{font-size:14px;line-height:1.7;margin:0;max-width:600px}
@media(min-width:1500px){.section{padding-left:max(8%,calc((100vw - 1280px)/2));padding-right:max(8%,calc((100vw - 1280px)/2))}.booking{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);column-gap:5%}}
@media(max-width:1000px){.roof{row-gap:35px;column-gap:7%}.inside-section .section-heading{gap:5%}}
@media(max-width:700px){:root{--section-space:56px}.roof{gap:32px}.roof-details{gap:26px}.inside-section .section-heading{display:block}.inside-section .section-heading p{margin-top:22px}.practical-location{gap:30px}.practical .practical-grid{grid-template-columns:1fr}.footer-logo .logo-frame{width:210px;height:80px}.footer-links{justify-content:flex-start}.privacy-banner{left:14px;bottom:calc(86px + env(safe-area-inset-bottom));width:calc(100vw - 28px);padding:20px;max-height:65svh}.privacy-actions{gap:10px}.privacy-actions .button{font-size:12px;min-height:44px}.mobile-cta{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.hero:after{background:linear-gradient(90deg,rgba(8,37,43,.38),rgba(8,37,43,.06)),linear-gradient(0deg,rgba(8,37,43,.16),transparent 60%)}.hero h1{font-size:clamp(41px,10.5vw,58px)}}
.privacy-change-note a{text-decoration:underline;text-underline-offset:3px}
.area-highlight img[src*="cartagena"]{object-position:10% center}

/* Booking guest count: isolated from the rest of the site. */
#booking .guest-selector{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;margin-top:12px}
#booking .guest-selector>div:first-child{display:grid;gap:4px}
#booking .guest-selector .note{margin:0;font-size:13px}
#booking .guest-stepper{display:flex;align-items:center;gap:8px;flex-shrink:0}
#booking .guest-stepper button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #164b56;border-radius:50%;background:transparent;color:#164b56;font-family:inherit;font-size:24px;line-height:1;cursor:pointer;padding:0;touch-action:manipulation}
#booking .guest-stepper button:disabled{opacity:.3;cursor:default}
#booking .guest-stepper output{min-width:28px;text-align:center;font-size:18px;font-variant-numeric:tabular-nums}
#booking .guest-stepper :focus-visible{outline:2px solid #164b56;outline-offset:4px}
#booking .booking-validation{padding:12px;border-left:2px solid #164b56}
@media(max-width:380px){#booking .guest-selector{gap:8px}#booking .guest-stepper{gap:4px}#booking .guest-stepper button{width:40px;height:40px}}

/* Subtle social links; destinations are generated from socials.json. */
.social-links{display:flex;align-items:center;gap:8px}
.social-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;color:inherit;border-radius:50%}
.social-link:hover{background:rgba(161,219,227,.12)}
.social-icon{width:18px;height:18px;display:block;fill:currentColor}
.social-links--footer{margin-top:18px;margin-left:-12px}
.social-links--header{margin-right:-12px}
.menu-socials{display:none}
@media(max-width:1000px){.social-links--header{display:none}}
@media(max-width:700px){.menu-socials{display:block;border-top:1px solid var(--line);padding-top:12px;width:100%}.menu-socials .social-links{margin-left:-12px;gap:10px}}

/* Compact shared footer: preserve the established palette, logo and social glyphs. */
footer{padding:42px 8% 20px}
footer .footer-top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(190px,.75fr);column-gap:clamp(40px,9vw,140px);row-gap:30px;max-width:1040px;margin:0 0 28px;align-items:start}
footer .footer-identity{min-width:0}
footer .footer-logo{margin:0 0 14px;display:block;width:fit-content}
footer .footer-logo .logo-frame{width:210px;height:80px}
footer .footer-identity p{max-width:360px;margin:0 0 12px;font-size:14px;line-height:1.65}
footer .footer-email{display:inline-block;font-size:14px;line-height:1.6;overflow-wrap:anywhere;text-underline-offset:4px}
footer .footer-email:hover{text-decoration:underline}
footer .social-links--footer{margin:10px 0 0 -12px;gap:10px}
footer .footer-navigation{padding-top:8px;min-width:0}
footer .footer-navigation h2{font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.5;letter-spacing:.025em;font-weight:500;margin:0 0 14px}
footer .footer-navigation ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
footer .footer-navigation a{display:inline-block;font-size:14px;line-height:1.6;padding:5px 0;text-underline-offset:5px}
footer .footer-navigation a:hover{text-decoration:underline}
footer .footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px 24px;padding-top:15px;font-size:12px;line-height:1.5;border-top:1px solid #45656b}
footer .footer-legal{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
footer .footer-legal button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:9px 0;margin:0;text-underline-offset:4px}
footer .footer-legal button:hover{text-decoration:underline}
footer .footer-bottom .languages{justify-self:end;align-items:center;gap:0;font-size:12px}
footer .footer-bottom .languages a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:40px;padding:6px}
footer .languages a[aria-current]{border-bottom-color:currentColor}
.footer-privacy-dialog{color:var(--ink);background:var(--sand);border:1px solid var(--line);border-radius:5px;padding:28px;width:min(620px,calc(100% - 32px));max-height:80svh;overflow:auto}
.footer-privacy-dialog::backdrop{background:#08252b88}
.privacy-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.privacy-dialog-heading h2{font-family:'DM Sans',sans-serif;font-size:23px;line-height:1.3;letter-spacing:0}
.privacy-dialog-close{width:44px;height:44px;flex-shrink:0;background:none;border:1px solid var(--line);border-radius:50%;color:inherit;font-size:25px;cursor:pointer}
.footer-privacy-dialog p{font-size:14px;line-height:1.75}
.footer-privacy-dialog p a{text-decoration:underline}
.footer-privacy-dialog .privacy-settings{margin:8px 0 0;min-height:44px}
@media(min-width:1500px){footer{padding-left:max(8%,calc((100vw - 1280px)/2));padding-right:max(8%,calc((100vw - 1280px)/2))}}
@media(max-width:1000px){footer .footer-top{column-gap:45px}footer .footer-bottom{grid-template-columns:1fr auto;gap:8px 20px}footer .footer-legal{grid-column:1;grid-row:2;justify-content:flex-start}footer .footer-bottom .languages{grid-column:2;grid-row:1/3}}
@media(max-width:700px){footer{padding:34px 7% calc(94px + env(safe-area-inset-bottom))}footer .footer-top{grid-template-columns:minmax(0,1fr);gap:26px;margin-bottom:24px}footer .footer-logo .logo-frame{width:195px;height:74px}footer .footer-navigation{padding-top:0}footer .footer-navigation h2{margin-bottom:8px}footer .footer-navigation ul{gap:0}footer .footer-navigation a{min-height:44px;display:flex;align-items:center;width:fit-content}footer .footer-bottom{grid-template-columns:minmax(0,1fr);gap:4px;padding-top:18px}footer .footer-copyright{grid-row:1}footer .footer-legal{grid-row:2;grid-column:1;gap:12px}footer .footer-legal button{min-height:44px;padding:10px 0}footer .footer-bottom .languages{grid-row:3;grid-column:1;justify-self:start;margin-left:-6px}footer .footer-bottom .languages a{min-height:44px}.footer-privacy-dialog{padding:22px}}

/* Align the desktop navigation block with the footer’s right content edge. */
@media(min-width:1001px){footer .footer-top{max-width:none;grid-template-columns:minmax(0,1fr) max-content}footer .footer-navigation{justify-self:end;text-align:left}}

/* Existing amenities and travel sections: compact, keyboard-accessible details. */
.amenities-details>h3{font-family:"DM Sans",sans-serif;font-size:21px;line-height:1.4;margin:0 0 18px}.amenity-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px}.amenity-categories details{padding:16px 0;min-width:0}.amenity-categories summary{min-height:32px;align-items:center;font-size:15px}.amenity-categories ul{font-size:14px;color:var(--muted);padding-left:19px;margin:12px 0 0}.amenity-categories li{padding-left:3px;margin:6px 0}.amenities-details>.text-link{margin-top:20px}.travel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px}.travel-grid article{border-top:1px solid var(--line);padding-top:22px}.travel-grid h3{font-family:"DM Sans",sans-serif;font-size:21px;line-height:1.35}.travel-grid p{font-size:14px;color:var(--muted)}.airport-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px}.airport-links a{font-size:13px;text-decoration:underline;text-underline-offset:4px}@media(max-width:700px){.amenity-categories,.travel-grid{grid-template-columns:minmax(0,1fr);gap:0}.travel-grid article+article{margin-top:20px}}

/* Consistent arrival and travel information. */
.practical .practical-grid{gap:32px 40px}.practical-grid article{min-width:0;padding-top:24px}.practical-grid h3{margin:0 0 18px;font-size:21px;line-height:1.35}.practical-grid p{font-size:16px;line-height:1.7;margin:0}.practical-grid .airport-links{margin-top:18px;gap:12px 24px}.practical-grid .airport-links a{font-size:14px}.booking-terms-link{font-size:14px;margin-top:16px}@media(max-width:700px){.practical .practical-grid{gap:28px}.practical-grid h3{margin-bottom:14px}}
