:root{--ink:#12343a;--deep:#0d2b31;--sea:#236d78;--foam:#eef3ef;--sand:#eee5d5;--sun:#efd291;--paper:#f9faf6;--white:#fff;--line:rgba(18,52,58,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.55}.nav{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,82px);position:absolute;top:0;left:0;width:100%;z-index:10;color:#fff;border-bottom:1px solid rgba(255,255,255,.24)}.brand{display:flex;align-items:center;gap:12px;color:inherit;font-weight:600;text-decoration:none;letter-spacing:.02em}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--sun);color:var(--deep);font:500 21px "Newsreader",serif}.nav nav{display:flex;align-items:center;gap:32px}.nav nav a{color:#fff;text-decoration:none;font-size:13px}.nav-cta{border:1px solid rgba(255,255,255,.7);padding:10px 19px;border-radius:999px}
.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;overflow:hidden;color:#fff;padding:150px clamp(24px,7vw,112px) clamp(62px,8vw,120px)}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(5,27,32,.82),rgba(5,27,32,.48) 47%,rgba(5,27,32,.06) 82%),linear-gradient(0deg,rgba(5,27,32,.42),transparent 48%)}.hero-copy{position:relative;z-index:2;max-width:950px}.eyebrow{font-size:11px;letter-spacing:.24em;font-weight:600;color:var(--sea);margin:0}.eyebrow.light{color:#d7e7e4}.hero h1,.story h2,.home h3,.quote-band blockquote,.booking h2{font-family:"Newsreader",serif;font-weight:400;letter-spacing:-.035em}.hero h1{font-size:clamp(58px,7.5vw,112px);line-height:.91;margin:18px 0 28px}.hero h1 em{font-weight:400;color:var(--sun)}.hero-copy>p:not(.eyebrow){font-size:clamp(17px,1.6vw,22px);max-width:610px;color:#e3ebe9}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 25px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600}.button.sun{background:var(--sun);color:var(--deep)}.text-link{color:#fff;text-decoration:none;font-size:14px}.text-link span{margin-left:9px}.hero-stamp{position:absolute;right:clamp(24px,5vw,82px);bottom:clamp(62px,8vw,120px);z-index:2;display:grid;text-align:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;width:142px;height:142px;align-content:center;transform:rotate(-7deg)}.hero-stamp strong{font:500 20px "Newsreader",serif}.hero-stamp span{font-size:8px;letter-spacing:.22em}.hero-credit{position:absolute;right:22px;top:50%;z-index:2;color:rgba(255,255,255,.7);font-size:9px;text-decoration:none;writing-mode:vertical-rl}
.promise{display:grid;grid-template-columns:repeat(3,1fr);background:var(--deep);color:#fff;padding:28px clamp(24px,7vw,112px);gap:30px}.promise p{margin:0;display:grid;grid-template-columns:28px 1fr;column-gap:12px}.promise span{grid-row:1/3;color:#83a8a7;font-size:10px;padding-top:4px}.promise strong{font:500 14px "DM Sans",sans-serif}.promise small{color:#91a9aa;font-size:11px}.story{display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw;padding:140px clamp(24px,10vw,170px)}.story-kicker{display:flex;align-items:flex-start;gap:20px;padding-top:14px}.rule{height:1px;background:var(--line);flex:1;margin-top:8px}.story h2{font-size:clamp(48px,6vw,84px);line-height:.98;margin:0 0 32px;max-width:820px}.story>div:last-child>p{font-size:18px;max-width:650px;color:#637578}
.homes{padding:0 clamp(24px,7vw,112px) 140px}.home{margin-bottom:130px}.home-gallery{height:min(68vw,780px);display:grid;grid-template-columns:1.5fr .75fr;grid-template-rows:1fr 1fr;gap:14px;position:relative}.home-gallery img{width:100%;height:100%;object-fit:cover;min-width:0;min-height:0}.home-gallery .main-photo{grid-row:1/3}.home-gallery.reverse{grid-template-columns:.75fr 1.5fr}.home-gallery.reverse .main-photo{grid-column:2;grid-row:1/3}.home-number{position:absolute;left:24px;top:20px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(249,250,246,.9);font:500 16px "Newsreader",serif}.reverse .home-number{left:auto;right:24px}.home-copy{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;padding:42px 0;border-bottom:1px solid var(--line)}.home h3{font-size:clamp(40px,4.5vw,66px);line-height:1;margin:12px 0 0;max-width:640px}.home-copy>div:last-child{padding-top:20px}.home-copy>div:last-child p{color:#637578;margin:0 0 25px;max-width:470px}.arrow-link{color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:5px}.arrow-link span{float:right;margin-left:50px}
.quote-band{text-align:center;background:var(--sea);color:#fff;padding:125px 24px}.quote-band blockquote{font-size:clamp(52px,7vw,96px);line-height:.95;margin:28px auto;max-width:1000px}.quote-band>p:last-child{color:#c7dcda;max-width:530px;margin:0 auto}.booking{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(560px,1.28fr);gap:7vw;padding:140px clamp(24px,7vw,112px);align-items:start}.booking-intro{position:sticky;top:36px}.booking h2{font-size:clamp(48px,5.5vw,78px);line-height:.98;margin:14px 0 28px}.booking-intro>p:not(.eyebrow){color:#637578;max-width:520px}.booking-note{display:flex;gap:14px;margin-top:35px;border-top:1px solid var(--line);padding-top:24px}.booking-note span{width:28px;height:28px;border-radius:50%;background:var(--sea);color:#fff;display:grid;place-items:center;flex:0 0 auto}.booking-note p{font-size:12px;margin:0;color:#637578}.booking-note strong{font-size:13px;color:var(--ink)}
.availability-panel{min-width:0;background:#fff;border:1px solid var(--line);box-shadow:0 25px 60px rgba(18,52,58,.1);overflow:hidden}.property-tabs{display:grid;grid-template-columns:1fr 1fr;padding:8px;background:#e9efeb;gap:8px}.property-tab{min-height:54px;border:0;background:transparent;color:var(--ink);font:600 14px "DM Sans",sans-serif;cursor:pointer}.property-tab small{font-size:9px;color:#7b9294;margin-right:8px}.property-tab.active{background:#fff;box-shadow:0 2px 9px rgba(18,52,58,.09)}.calendar-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:25px 28px 19px}.calendar-heading div{display:grid;gap:3px}.calendar-heading small{font-size:9px;letter-spacing:.18em;color:var(--sea);font-weight:600}.calendar-heading strong{font:400 30px "Newsreader",serif}.calendar-heading>span{font-size:10px;color:#718487}.availability-panel iframe{display:block;width:100%;height:690px;border:0;border-top:1px solid var(--line);background:#fff}.form-note{font-size:11px;color:#718487;padding:0 26px 20px;margin:14px 0 0}footer{padding:52px clamp(24px,7vw,112px);background:var(--deep);color:#94abad;display:flex;align-items:center;justify-content:space-between;font-size:12px}footer .brand{color:#fff}.mobile-book{display:none}
@media(max-width:900px){.story{grid-template-columns:1fr;gap:35px}.story-kicker{max-width:300px}.home-copy{grid-template-columns:1fr;gap:12px}.booking{grid-template-columns:1fr}.booking-intro{position:static}.availability-panel iframe{height:760px}.hero-stamp{width:105px;height:105px}.promise{gap:12px}}
@media(max-width:600px){body{padding-bottom:68px}.nav{height:68px;padding:0 19px}.nav nav a:not(.nav-cta){display:none}.nav-cta{padding:8px 14px}.hero{min-height:88svh;padding:120px 22px 55px}.hero-shade{background:linear-gradient(90deg,rgba(5,27,32,.78),rgba(5,27,32,.18)),linear-gradient(0deg,rgba(5,27,32,.52),transparent 60%)}.hero h1{font-size:53px}.hero-copy>p:not(.eyebrow){font-size:16px;max-width:90%}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.hero-stamp{display:none}.hero-credit{top:auto;bottom:12px;right:16px;writing-mode:initial}.promise{grid-template-columns:1fr;padding:24px 22px;gap:18px}.story{padding:90px 22px}.story h2{font-size:46px}.homes{padding:0 14px 80px}.home{margin-bottom:80px}.home-gallery,.home-gallery.reverse{height:520px;grid-template-columns:1fr 1fr;grid-template-rows:1.5fr .7fr;gap:7px}.home-gallery .main-photo,.home-gallery.reverse .main-photo{grid-column:1/3;grid-row:1}.home-gallery.reverse img:not(.main-photo):nth-of-type(2){grid-column:1}.home-gallery.reverse img:not(.main-photo):nth-of-type(3){grid-column:2}.home-copy{padding:28px 8px}.home h3{font-size:39px}.quote-band{padding:90px 22px}.quote-band blockquote{font-size:48px}.booking{padding:90px 14px;gap:45px}.booking-intro{padding:0 8px}.booking h2{font-size:48px}.calendar-heading{align-items:flex-start;flex-direction:column;gap:7px;padding:20px}.availability-panel iframe{height:820px}.form-note{padding:0 20px 18px}.property-tab{font-size:12px}footer{display:grid;gap:18px;padding:45px 22px}.mobile-book{display:flex;position:fixed;z-index:20;left:0;right:0;bottom:0;height:68px;background:var(--sun);color:var(--deep);align-items:center;justify-content:space-between;padding:0 24px;text-decoration:none;font-weight:600;font-size:14px;box-shadow:0 -5px 20px rgba(8,32,37,.18)}}
@media(prefers-reduced-motion:no-preference){.button,.nav-cta,.arrow-link{transition:transform .2s ease}.button:hover,.nav-cta:hover{transform:translateY(-2px)}.hero-image{animation:slowzoom 16s ease-out both}@keyframes slowzoom{from{transform:scale(1.04)}to{transform:scale(1.1)}}}

/* Calendário de disponibilidade visível */
.calendar-explainer{display:flex;gap:22px;padding:0 28px 18px;font-size:10px;color:#718487}.calendar-explainer span{display:flex;align-items:center;gap:7px}.dot{width:9px;height:9px;border-radius:2px;display:inline-block}.dot.available{background:#d8ede4;border:1px solid #7aa892}.dot.unavailable{background:#d9dcda}.availability-calendar{display:none;padding:6px 24px 25px}.availability-calendar.active{display:block}.availability-calendar form{margin:0}.beds24availcal{width:100%!important;border-collapse:separate!important;border-spacing:5px!important;font-family:"DM Sans",sans-serif!important}.beds24availcal>tbody>tr:first-child,.beds24availcal .b24calendarclickinstruction{display:none!important}.beds24availcal td{font-size:14px!important}.beds24availcal table{width:100%!important}.beds24availcal a{text-decoration:none!important}.booking-details{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;background:var(--foam);padding:23px 28px;border-top:1px solid var(--line)}.booking-details p{margin:0;color:#64777a;font-size:11px}.booking-details strong{font-size:12px;color:var(--ink)}.booking-details a{white-space:nowrap;color:var(--ink);font-size:12px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:3px}.embedded-booking{border-top:1px solid var(--line)}.embedded-booking summary{cursor:pointer;padding:18px 28px;font-size:11px;font-weight:600;color:#617578}.embedded-booking:not([open]) iframe{display:none}
@media(max-width:600px){.calendar-explainer{padding:0 20px 16px;gap:14px}.availability-calendar{padding:4px 10px 20px}.beds24availcal{border-spacing:2px!important}.beds24availcal td{font-size:12px!important}.booking-details{grid-template-columns:1fr;padding:20px}}

/* Acabamento editorial para o calendário Beds24 */
.availability-panel{border:0;border-radius:22px;box-shadow:0 30px 80px rgba(18,52,58,.12);background:#fff}
.property-tabs{padding:7px;background:#eaf0ec;gap:4px}
.property-tab{border-radius:15px;letter-spacing:.01em;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.property-tab.active{color:var(--deep);box-shadow:0 7px 20px rgba(18,52,58,.09)}
.calendar-heading{padding:30px 34px 13px}
.calendar-heading strong{font-size:37px;line-height:1}
.calendar-explainer{padding:5px 34px 24px;border-bottom:1px solid var(--line)}
.dot.available{background:#dfece6;border-color:#86a89a}.dot.unavailable{background:#e7e8e4}
.availability-calendar{padding:28px 34px 34px;background:linear-gradient(180deg,#fbfcfa 0%,#f4f7f3 100%)}
.beds24availcal{border-spacing:0!important;background:transparent!important;border:0!important}
.beds24availcal>tbody>tr>td{padding:0!important;background:transparent!important;border:0!important}
.beds24availcal>tbody>tr:nth-child(3)>td>div{display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;margin:0 0 21px!important}
.beds24availcal input[type="button"],.beds24availcal button{width:38px!important;height:38px!important;border:1px solid var(--line)!important;border-radius:50%!important;background:#fff!important;color:var(--ink)!important;font-size:0!important;cursor:pointer!important;box-shadow:0 3px 12px rgba(18,52,58,.07)!important}
.beds24availcal input[type="button"]:first-child::after,.beds24availcal button:first-child::after{content:"‹";font-size:25px}.beds24availcal input[type="button"]:last-child::after,.beds24availcal button:last-child::after{content:"›";font-size:25px}
.beds24availcal select{height:38px!important;border:0!important;background:transparent!important;color:var(--ink)!important;font:500 20px "Newsreader",serif!important;padding:0 8px!important;text-align:center!important;appearance:none!important}
.beds24availcal table{border-collapse:separate!important;border-spacing:7px!important;background:transparent!important}
.beds24availcal table tr:first-child td{height:30px!important;background:transparent!important;border:0!important;color:#78898a!important;font-size:10px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.12em!important}
.beds24availcal table td{height:48px!important;padding:0!important;border:0!important;border-radius:12px!important;text-align:center!important;font-size:13px!important;font-weight:500!important;transition:transform .16s ease,background .16s ease,color .16s ease!important}
.beds24availcal table td[style*="pointer"]{background:#dfece6!important;color:var(--deep)!important;box-shadow:inset 0 0 0 1px rgba(68,118,98,.12)!important}
.beds24availcal table td[style*="pointer"]:hover{background:var(--sea)!important;color:#fff!important;transform:translateY(-2px)!important;box-shadow:0 6px 16px rgba(35,109,120,.19)!important}
.beds24availcal table td[style*="default"]{background:#eceeea!important;color:#a4adaa!important}
.beds24availcal>tbody>tr:last-child{display:none!important}
.booking-details{padding:27px 34px;background:#f0f5f1}
.booking-details a{background:var(--deep);color:#fff;border:0;border-radius:999px;padding:12px 18px}
.embedded-booking summary{padding:20px 34px;background:#fff}
@media(max-width:600px){.availability-panel{border-radius:16px}.calendar-heading{padding:25px 20px 12px}.calendar-heading strong{font-size:32px}.calendar-explainer{padding:4px 20px 19px}.availability-calendar{padding:21px 10px 25px}.beds24availcal table{border-spacing:3px!important}.beds24availcal table td{height:42px!important;border-radius:9px!important;font-size:12px!important}.booking-details{padding:22px 20px}.booking-details a{text-align:center}.embedded-booking summary{padding:18px 20px}}
.beds24availcal input[type="button"],.beds24availcal button{font-size:20px!important;font-family:"DM Sans",sans-serif!important;font-weight:400!important}
.beds24availcal input[type="button"]::after,.beds24availcal button::after{content:none!important}
.calendar-source{display:none!important}.range-calendar-clone{display:table!important}
.beds24availcal .range-day{width:100%!important;height:100%!important;border:0!important;border-radius:inherit!important;background:transparent!important;color:inherit!important;font:inherit!important;box-shadow:none!important;padding:0!important;cursor:pointer!important}.beds24availcal .range-day:disabled{cursor:default!important;opacity:1!important}.beds24availcal td:has(.range-day){padding:0!important}
.date-selection{display:flex;align-items:center;gap:14px}.selection-step{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--sea);color:#fff;font-size:13px;font-weight:600;flex:0 0 auto}.booking-details a.disabled{opacity:.42;pointer-events:none}.beds24availcal table td.range-middle{background:#c9ddd5!important;color:var(--deep)!important}.beds24availcal table td.range-start,.beds24availcal table td.range-end{background:var(--deep)!important;color:#fff!important;box-shadow:0 7px 16px rgba(13,43,49,.2)!important}.beds24availcal table td.range-start{border-radius:12px 4px 4px 12px!important}.beds24availcal table td.range-end{border-radius:4px 12px 12px 4px!important}
.beds24availcal table td:has(.range-day.checkout-only){background:#f5e7c7!important;color:var(--deep)!important;box-shadow:inset 0 0 0 1px rgba(181,129,57,.3)!important}.range-day.checkout-only{position:relative}.range-day.checkout-only::after{content:"saída";position:absolute;left:50%;bottom:3px;transform:translateX(-50%);font-size:7px;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:#8a6734}
.guest-selection{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:12px;align-items:end;padding:22px 34px;background:#fff;border-top:1px solid var(--line)}.guest-selection>div{display:grid;gap:3px}.guest-selection small{font-size:9px;letter-spacing:.16em;color:var(--sea);font-weight:600}.guest-selection strong{font:400 23px "Newsreader",serif}.guest-selection>div>span{font-size:9px;color:#718487}.guest-selection label{display:grid;gap:6px;color:#617578;font-size:10px;font-weight:600}.guest-selection select{width:100%;height:44px;border:1px solid var(--line);border-radius:11px;background:#f8faf7;color:var(--ink);font:600 14px "DM Sans",sans-serif;padding:0 12px}.guest-selection select:focus{outline:2px solid rgba(35,109,120,.25);border-color:var(--sea)}
.larger-group{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 34px 18px;background:#fff;border-top:1px solid var(--line)}.larger-group>div{display:grid;gap:2px}.larger-group strong{font-size:11px}.larger-group span{font-size:9px;color:#718487}.larger-group a{white-space:nowrap;color:var(--sea);font-size:10px;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(35,109,120,.45);padding-bottom:3px}
.turnover-note{margin:0 34px 8px;padding:13px 15px;border-radius:12px;background:#f6f1e7;color:#6e6048;display:grid;gap:2px;font-size:10px}.turnover-note strong{font-size:11px;color:#4b4234}.date-warning{margin:0 34px 14px;padding:14px 16px;border-radius:12px;background:#fae9e4;color:#8a3f32;font-size:12px;font-weight:600;border:1px solid rgba(138,63,50,.15)}.date-warning[hidden]{display:none}.range-day.no-arrival{position:relative}.range-day.no-arrival::after{content:"";position:absolute;right:5px;top:5px;width:5px;height:5px;border-radius:50%;background:#b58139}.range-day.no-saturday-departure::after{background:#a95348}
@media(max-width:700px){.guest-selection{grid-template-columns:repeat(3,1fr);padding:20px;gap:8px}.guest-selection>div{grid-column:1/-1;margin-bottom:5px}.guest-selection strong{font-size:21px}.guest-selection select{height:42px;padding:0 8px}.larger-group{align-items:flex-start;flex-direction:column;padding:16px 20px 19px;gap:10px}.turnover-note{margin:0 20px 6px}.date-warning{margin:0 20px 12px}}

/* Seletor de idioma */
.nav nav{gap:24px}.language-picker{display:flex;align-items:center}.language-picker select{height:38px;min-width:58px;padding:0 24px 0 12px;border:1px solid rgba(255,255,255,.58);border-radius:999px;background:rgba(8,35,40,.38);color:#fff;font:600 12px "DM Sans",sans-serif;cursor:pointer}.language-picker select:focus{outline:2px solid rgba(239,210,145,.8);outline-offset:2px}.language-picker option{color:var(--deep);background:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.calendar-explainer b{font:inherit}
@media(max-width:600px){.nav{padding:0 14px}.nav nav{gap:8px}.language-picker select{height:34px;min-width:52px;padding:0 5px;border-color:rgba(255,255,255,.75);text-align:center}.nav-cta{padding:8px 11px}.brand{gap:7px}.brand-mark{width:34px;height:34px}}

/* Corrige o texto secundário da nota de reserva */
.booking-note p span{width:auto;height:auto;border-radius:0;background:transparent;color:inherit;display:inline;place-items:initial;flex:initial}

/* Política de cancelamento */
.cancellation-policy{padding:120px clamp(24px,7vw,112px);background:#eef3ef}.policy-heading{display:grid;grid-template-columns:.65fr 1.35fr;gap:20px 7vw;align-items:start}.policy-heading .eyebrow{padding-top:12px}.policy-heading h2{font:400 clamp(46px,5vw,72px)/.98 "Newsreader",serif;letter-spacing:-.035em;margin:0;max-width:790px}.policy-heading>p:last-child{grid-column:2;color:#637578;max-width:620px;margin:0;font-size:16px}.policy-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:52px}.policy-cards article{background:#fff;padding:30px;border:1px solid var(--line);min-height:205px;display:flex;flex-direction:column}.policy-cards article>span{color:var(--sea);font-size:10px;letter-spacing:.16em}.policy-cards strong{font:500 28px/1.05 "Newsreader",serif;margin:34px 0 12px}.policy-cards p{margin:0;color:#637578;font-size:13px;line-height:1.55}.policy-note{margin:20px 0 0;padding-left:18px;border-left:3px solid var(--sun);font-size:12px;color:#53696c}.cancellation-policy+ .booking{padding-top:120px}
@media(max-width:760px){.cancellation-policy{padding:85px 22px}.policy-heading{grid-template-columns:1fr}.policy-heading .eyebrow{padding:0}.policy-heading h2{font-size:45px}.policy-heading>p:last-child{grid-column:1;font-size:14px}.policy-cards{grid-template-columns:1fr;margin-top:36px}.policy-cards article{min-height:0;padding:24px}.policy-cards strong{margin-top:22px}.cancellation-policy+ .booking{padding-top:85px}}

/* Comodidades */
.amenities{padding:20px clamp(24px,7vw,112px) 140px}.amenities-intro{display:grid;grid-template-columns:.6fr 1.4fr;column-gap:7vw;align-items:start;margin-bottom:56px}.amenities-intro .eyebrow{padding-top:16px}.amenities-intro h2{font:400 clamp(48px,5.5vw,78px)/.98 "Newsreader",serif;letter-spacing:-.035em;margin:0;max-width:820px}.amenities-intro>p:last-child{grid-column:2;color:#637578;font-size:16px;max-width:620px;margin:26px 0 0}.amenity-homes{display:grid;grid-template-columns:1fr 1fr;gap:18px}.amenity-home{background:#fff;border:1px solid var(--line);padding:34px;box-shadow:0 18px 45px rgba(18,52,58,.07)}.amenity-home-title{display:flex;align-items:center;gap:17px;border-bottom:1px solid var(--line);padding-bottom:25px}.amenity-home-title>span{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:var(--foam);font:500 15px "Newsreader",serif}.amenity-home-title small{font-size:8px;letter-spacing:.18em;color:var(--sea);font-weight:600}.amenity-home-title h3{font:400 31px "Newsreader",serif;margin:0;line-height:1}.amenity-home ul{list-style:none;padding:7px 0;margin:18px 0 25px;display:grid;grid-template-columns:1fr 1fr;gap:0 26px}.amenity-home li{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid rgba(18,52,58,.09);font-size:12px}.amenity-home i{width:25px;color:var(--sea);font-style:normal;font-size:18px;text-align:center}.amenity-home>a{display:flex;align-items:center;justify-content:space-between;color:var(--ink);font-size:12px;font-weight:600;text-decoration:none;padding-top:5px}.amenity-home>a b{font-size:18px;font-weight:400}
@media(max-width:760px){.amenities{padding:10px 14px 90px}.amenities-intro{grid-template-columns:1fr;margin:0 8px 38px}.amenities-intro .eyebrow{padding:0 0 14px}.amenities-intro h2{font-size:47px}.amenities-intro>p:last-child{grid-column:1;margin-top:20px}.amenity-homes{grid-template-columns:1fr;gap:12px}.amenity-home{padding:25px 20px}.amenity-home ul{grid-template-columns:1fr}.amenity-home-title h3{font-size:28px}}

/* Rodapé discreto de comodidades junto às imagens */
.home-amenities{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line);background:#f2f5f1}.home-amenities>span{min-height:68px;display:flex;align-items:center;justify-content:center;gap:9px;padding:12px;border-right:1px solid var(--line);color:#5f7476;text-align:center}.home-amenities>span:last-child{border-right:0}.home-amenities i{color:var(--sea);font-size:16px;font-style:normal}.home-amenities b{font-size:10px;font-weight:500;line-height:1.3}.home-copy{border-bottom:0}.home{margin-bottom:115px}
@media(max-width:760px){.home-amenities{grid-template-columns:repeat(2,1fr);margin:0 8px}.home-amenities>span{min-height:54px;justify-content:flex-start;text-align:left;border-bottom:1px solid var(--line)}.home-amenities>span:nth-child(2n){border-right:0}.home-amenities>span:last-child{grid-column:1/-1;border-bottom:0}.home-amenities b{font-size:9px}.home{margin-bottom:75px}}

/* Faixa editorial imediatamente sob as fotografias */
.home-amenities{display:flex;align-items:center;justify-content:center;gap:0;background:#fff;border:0;border-bottom:1px solid var(--line);padding:0 20px;min-height:62px}.home-amenities>span{min-height:auto;display:flex;align-items:center;justify-content:center;gap:7px;padding:5px 19px;border:0;border-right:1px solid var(--line);color:#637578;white-space:nowrap}.home-amenities>span:last-child{border-right:0}.home-amenities i{font-size:13px}.home-amenities b{font-size:10px;font-weight:500}.home-copy{border-bottom:1px solid var(--line)}
@media(max-width:760px){.home-amenities{display:flex;justify-content:flex-start;overflow-x:auto;margin:0;padding:0 8px;min-height:52px;scrollbar-width:none}.home-amenities::-webkit-scrollbar{display:none}.home-amenities>span,.home-amenities>span:nth-child(2n),.home-amenities>span:last-child{min-height:auto;grid-column:auto;flex:0 0 auto;padding:4px 13px;border:0;border-right:1px solid var(--line);border-bottom:0}.home-amenities>span:last-child{border-right:0}.home-amenities b{font-size:9px}}

/* Comodidades integradas no fundo normal da página */
.home-amenities{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:12px 28px;min-height:0;padding:18px 0 14px;background:transparent;border:0;overflow:visible}
.home-amenities>span,.home-amenities>span:nth-child(2n),.home-amenities>span:last-child{display:inline-flex;flex:0 1 auto;align-items:center;gap:8px;min-width:0;min-height:0;padding:0;border:0;white-space:normal;text-align:left}
.home-amenities i{flex:0 0 auto}.home-amenities b{font-size:11px;line-height:1.35;font-weight:500}
@media(max-width:760px){.home-amenities{margin:0 8px;padding:15px 0 12px;gap:10px 20px;overflow:visible}.home-amenities>span,.home-amenities>span:nth-child(2n),.home-amenities>span:last-child{flex:0 1 auto;padding:0;border:0;white-space:normal}.home-amenities b{font-size:10px}}

/* Pedido para grupos — permanece dentro do site */
.enquiry-dialog{width:min(720px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 30px 90px rgba(8,32,37,.28)}.enquiry-dialog::backdrop{background:rgba(8,32,37,.62);backdrop-filter:blur(5px)}.enquiry-dialog form{padding:30px}.enquiry-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px}.enquiry-head small{font-size:9px;letter-spacing:.2em;color:var(--sea);font-weight:600}.enquiry-head h2{font:400 40px/1 "Newsreader",serif;letter-spacing:-.025em;margin:7px 0 8px}.enquiry-head p{margin:0;color:#637578;font-size:13px}.enquiry-close{width:38px;height:38px;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:24px;line-height:1;cursor:pointer}.enquiry-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.enquiry-fields label{display:grid;gap:6px;font-size:10px;font-weight:600;color:#617578}.enquiry-fields input,.enquiry-fields select,.enquiry-fields textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:500 14px "DM Sans",sans-serif;padding:11px 12px}.enquiry-fields input,.enquiry-fields select{height:45px}.enquiry-fields textarea{resize:vertical;min-height:90px}.enquiry-fields input:focus,.enquiry-fields select:focus,.enquiry-fields textarea:focus{outline:2px solid rgba(35,109,120,.25);border-color:var(--sea)}.enquiry-message{grid-column:1/-1}.enquiry-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.enquiry-actions button{min-height:46px;padding:0 20px;border-radius:999px;font:600 12px "DM Sans",sans-serif;cursor:pointer}.enquiry-cancel{border:1px solid var(--line);background:transparent;color:var(--ink)}.enquiry-submit{border:0;background:var(--deep);color:#fff}.enquiry-submit:disabled{opacity:.55;cursor:wait}.enquiry-status{min-height:20px;margin:14px 0 0;font-size:11px;color:#637578}.enquiry-status.error{color:#8a3f32}.enquiry-status.success{color:#24624d;font-weight:600}
@media(max-width:600px){.enquiry-dialog{width:calc(100% - 18px);max-height:calc(100dvh - 18px);border-radius:17px}.enquiry-dialog form{padding:22px 18px}.enquiry-head h2{font-size:33px}.enquiry-fields{grid-template-columns:1fr;gap:11px}.enquiry-message{grid-column:1}.enquiry-actions{position:sticky;bottom:-22px;margin:16px -18px -22px;padding:13px 18px 18px;background:linear-gradient(0deg,var(--paper) 78%,rgba(249,250,246,0));}.enquiry-actions button{flex:1}}

/* Gestão segura de reservas */
.manage-booking:not(.form-open){grid-template-columns:1fr;padding-top:76px;padding-bottom:76px}.manage-booking:not(.form-open) .manage-intro{max-width:760px}.manage-form[hidden]{display:none}.manage-reveal{margin-top:24px;padding:14px 24px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:#fff;color:var(--deep);font:600 12px "DM Sans",sans-serif;cursor:pointer}.manage-reveal:hover{background:var(--sun);border-color:var(--sun)}
.manage-success[hidden]{display:none}.manage-success{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px;padding:clamp(32px,6vw,72px);border-radius:20px;background:var(--paper);color:var(--ink);box-shadow:0 28px 70px rgba(0,0,0,.18);text-align:center}.manage-success:focus{outline:3px solid var(--sun);outline-offset:4px}.manage-success-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:22px;border-radius:50%;background:#e3f1e9;color:#176042;font-size:30px;font-weight:700}.manage-success h3{margin:0 0 14px;font:400 clamp(34px,4vw,48px)/1.05 "Newsreader",serif}.manage-success p{max-width:470px;margin:0;color:#526b6b;font-size:clamp(15px,1.6vw,18px);line-height:1.65}.manage-success .manage-success-booking{margin-bottom:20px;color:var(--ink);font-size:13px;font-weight:700}.manage-booking.request-sent .manage-reveal{display:none}
.manage-booking{padding:110px clamp(24px,7vw,112px);display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;background:var(--deep);color:#fff}.manage-intro h2{font:400 clamp(46px,5vw,70px)/.98 "Newsreader",serif;letter-spacing:-.035em;margin:18px 0 20px}.manage-intro>p:not(.eyebrow){color:#b8c7c7;max-width:560px;line-height:1.65}.manage-assurance{display:flex;gap:14px;align-items:flex-start;margin-top:34px;padding:20px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.055)}.manage-assurance>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:var(--sun);color:var(--deep);font-weight:700}.manage-assurance p{margin:0;color:#b8c7c7;font-size:12px;line-height:1.5}.manage-assurance strong{color:#fff;font-size:13px}.manage-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:30px;border-radius:20px;background:var(--paper);color:var(--ink);box-shadow:0 28px 70px rgba(0,0,0,.18)}.manage-form label{display:grid;gap:7px;font-size:10px;font-weight:600;color:#617578}.manage-form input,.manage-form select,.manage-form textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:500 14px "DM Sans",sans-serif;padding:11px 12px}.manage-form input,.manage-form select{height:46px}.manage-form textarea{resize:vertical;min-height:104px}.manage-form input:focus,.manage-form select:focus,.manage-form textarea:focus{outline:2px solid rgba(35,109,120,.25);border-color:var(--sea)}.manage-message,.manage-consent,.manage-form .enquiry-status,.manage-submit{grid-column:1/-1}.manage-consent{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;font-weight:500!important;line-height:1.45}.manage-consent input{width:18px;height:18px;flex:0 0 auto;margin-top:1px}.manage-submit{min-height:50px;border:0;border-radius:999px;background:var(--deep);color:#fff;font:600 12px "DM Sans",sans-serif;cursor:pointer}.manage-submit:disabled{opacity:.55;cursor:wait}.manage-booking+ .booking{padding-top:120px}
@media(max-width:800px){.manage-booking{grid-template-columns:1fr;padding:82px 22px;gap:38px}.manage-form{padding:24px 18px}.manage-booking+ .booking{padding-top:85px}}

/* Ações diretas no início da página */
.quick-actions{padding-top:18px;padding-bottom:18px;gap:12px}
.quick-actions a{position:relative;display:grid;grid-template-columns:28px 1fr auto;grid-template-rows:auto auto;column-gap:12px;min-height:82px;padding:18px 20px;border:1px solid rgba(255,255,255,.14);border-radius:14px;color:#fff;text-decoration:none;background:rgba(255,255,255,.045)}
.quick-actions a:hover,.quick-actions a:focus-visible{background:rgba(255,255,255,.1);border-color:rgba(239,210,145,.6);outline:none}
.quick-actions span{grid-column:1;grid-row:1/3}
.quick-actions strong{grid-column:2;grid-row:1}
.quick-actions small{grid-column:2;grid-row:2}
.quick-actions b{grid-column:3;grid-row:1/3;align-self:center;color:var(--sun);font-size:20px;font-weight:400}
@media(max-width:600px){.quick-actions{padding:18px 16px;gap:10px}.quick-actions a{min-height:72px;padding:15px 17px}}

/* Galerias clicáveis dos alojamentos */
.home-gallery img{cursor:zoom-in}.home-gallery img:focus-visible{outline:4px solid var(--sun);outline-offset:-4px}
.gallery-open{position:absolute;right:22px;bottom:22px;z-index:3;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:0;border-radius:999px;background:rgba(249,250,246,.94);color:var(--deep);box-shadow:0 8px 24px rgba(13,43,49,.18);font:600 12px "DM Sans",sans-serif;cursor:pointer}
.gallery-open b{display:grid;place-items:center;min-width:25px;height:25px;border-radius:50%;background:var(--deep);color:#fff;font-size:10px}
.photo-lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;background:rgba(5,20,24,.96);color:#fff;overflow:hidden}
.photo-lightbox::backdrop{background:rgba(5,20,24,.96)}
.photo-lightbox[open]{display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center}
.photo-lightbox figure{height:100vh;margin:0;padding:68px 20px 30px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:15px}
.photo-lightbox figure img{width:100%;height:100%;object-fit:contain}
.photo-lightbox figcaption{display:flex;justify-content:space-between;gap:20px;max-width:1100px;width:100%;margin:auto;color:#c9d4d4;font-size:12px}.photo-lightbox figcaption strong{color:#fff;font-size:13px}
.lightbox-close,.lightbox-prev,.lightbox-next{border:0;background:transparent;color:#fff;cursor:pointer}.lightbox-close{position:absolute;right:22px;top:18px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);font-size:28px}.lightbox-prev,.lightbox-next{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.11);font-size:22px;justify-self:center}.lightbox-prev:hover,.lightbox-next:hover,.lightbox-close:hover{background:rgba(255,255,255,.2)}
@media(max-width:600px){.gallery-open{right:12px;bottom:12px}.photo-lightbox[open]{grid-template-columns:54px minmax(0,1fr) 54px}.photo-lightbox figure{padding:62px 4px 22px}.lightbox-prev,.lightbox-next{width:40px;height:40px}.photo-lightbox figcaption{padding:0 10px}}
@media(max-width:560px){.manage-form{grid-template-columns:1fr}.manage-message,.manage-consent,.manage-form .enquiry-status,.manage-submit{grid-column:1}.manage-intro h2{font-size:45px}}

/* A casa escolhida permanece inequívoca durante toda a reserva */
.selected-home-card{display:grid;grid-template-columns:150px 1fr 34px;align-items:center;gap:20px;margin:22px 24px 16px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#f6f7f2}.selected-home-card img{width:150px;height:96px;object-fit:cover;border-radius:11px}.selected-home-card div{display:grid;gap:4px}.selected-home-card small{font-size:9px;letter-spacing:.18em;color:var(--sea);font-weight:700}.selected-home-card strong{font:500 28px/1.05 "Newsreader",serif}.selected-home-card span{font-size:11px;color:#637578}.selected-home-card>b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--deep);color:#fff;font-size:13px}.homes+.booking{padding-top:86px}.booking+.quote-band{margin-top:0}
@media(max-width:600px){.selected-home-card{grid-template-columns:92px 1fr 26px;gap:12px;margin:15px 14px 10px;padding:9px;border-radius:13px}.selected-home-card img{width:92px;height:72px;border-radius:9px}.selected-home-card strong{font-size:22px}.selected-home-card span{font-size:9px;line-height:1.35}.selected-home-card>b{width:24px;height:24px}.homes+.booking{padding-top:58px}}

/* Sábados continuam tocáveis apenas para mostrar a regra de check-in. */
.range-day.blocked-saturday{cursor:pointer}.range-day.blocked-saturday:not(.selected){filter:saturate(.72)}
/* Exact property location */
.home-location{margin:0 7vw 48px;padding:22px 0;border-top:1px solid rgba(21,59,62,.18);border-bottom:1px solid rgba(21,59,62,.18);display:flex;align-items:center;justify-content:space-between;gap:24px}.home-location div{display:grid;gap:7px}.home-location small{font-size:10px;letter-spacing:.18em;color:#617678;font-weight:600}.home-location strong{font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.55}.home-location a{display:inline-flex;align-items:center;gap:10px;color:#153b3e;text-decoration:none;font-weight:600;border:1px solid rgba(21,59,62,.4);border-radius:999px;padding:12px 18px;white-space:nowrap}.home-location a:hover{background:#153b3e;color:#fff}@media(max-width:700px){.home-location{margin:0 24px 36px;align-items:flex-start;flex-direction:column}.home-location a{width:100%;justify-content:center}}

/* Percurso inicial mais simples: três ações com o mesmo peso visual */
.hero-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:690px;margin-top:34px}
.hero-action{min-height:54px;padding:0 20px;border:1px solid rgba(255,255,255,.62);border-radius:999px;color:#fff;text-decoration:none;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:14px;background:rgba(7,35,40,.22);backdrop-filter:blur(5px)}
.hero-action:first-child{background:var(--sun);border-color:var(--sun);color:var(--deep)}
.hero-action b{font-size:16px;font-weight:400}.hero-action:hover,.hero-action:focus-visible{transform:translateY(-2px);background:#fff;color:var(--deep);outline:none}

/* Menos divisórias e menos texto no percurso móvel */
@media(max-width:600px){
.hero{min-height:100svh;padding-bottom:45px}.hero h1{font-size:49px;line-height:.94;margin-bottom:20px}.hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.5;max-width:100%;margin-bottom:0}.hero-actions{grid-template-columns:1fr;gap:9px;width:min(100%,330px);margin-top:25px}.hero-action{min-height:49px;padding:0 18px;background:rgba(7,35,40,.44)}
.story,.quote-band{display:none}.homes{padding-top:52px;padding-bottom:28px}.home{margin-bottom:58px}.home-gallery,.home-gallery.reverse{height:470px}.home-amenities{margin:0;padding:14px 8px 5px;gap:9px 17px}.home-amenities>span:nth-child(n+4){display:none}
.home-copy{padding:22px 8px 12px;border:0;gap:7px}.home h3{font-size:36px;line-height:1.02;margin-bottom:0}.home-copy>div:last-child>p{display:none}.arrow-link{display:inline-flex;margin-top:8px;padding:11px 16px;border-radius:999px;background:var(--deep);color:#fff;border:0;align-items:center;gap:24px}
.home-location{margin:0 8px;padding:9px 0 0;border:0;gap:14px}.home-location small{display:none}.home-location strong{font-size:13px;line-height:1.45;color:#53696c}.home-location a{min-height:46px;padding:10px 16px;background:transparent}
.cancellation-policy{padding:64px 22px}.policy-heading h2{font-size:38px}.policy-heading>p:last-child,.policy-note{display:none}.policy-cards{gap:0;margin-top:24px;background:#fff;border-radius:16px;overflow:hidden}.policy-cards article{padding:19px 20px;border:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:28px 1fr;gap:3px 10px}.policy-cards article:last-child{border-bottom:0}.policy-cards article>span{grid-row:1/3;padding-top:3px}.policy-cards strong{font:600 14px "DM Sans",sans-serif;margin:0}.policy-cards p{font-size:11px}
.manage-booking:not(.form-open){padding:64px 22px}.manage-intro h2{font-size:39px;margin:11px 0 14px}.manage-intro>p:not(.eyebrow){font-size:13px;line-height:1.5}.manage-assurance{display:none}.manage-reveal{width:100%;min-height:48px;margin-top:18px}.booking{padding-top:68px}
}
footer{flex-wrap:wrap;gap:18px 30px}.footer-languages{display:flex;flex-basis:100%;flex-wrap:wrap;gap:8px 18px;border-top:1px solid rgba(255,255,255,.18);padding-top:18px}.footer-languages a{color:#d7e2dd;text-decoration:none}.footer-languages a:hover,.footer-languages a:focus-visible{text-decoration:underline}
html[lang="zh"] body,html[lang="zh-Hans"] body{font-family:"DM Sans","PingFang SC","Microsoft YaHei",sans-serif}
html[lang="zh"] .hero h1,html[lang="zh-Hans"] .hero h1,html[lang="zh"] h2,html[lang="zh-Hans"] h2,html[lang="zh"] h3,html[lang="zh-Hans"] h3{font-family:"PingFang SC","Microsoft YaHei",sans-serif}
@media(max-width:600px){html[lang="de"] .hero h1{font-size:40px;line-height:1.04}html[lang="zh"] .hero h1,html[lang="zh-Hans"] .hero h1{font-size:37px;line-height:1.16}}
html[lang="en"] .range-day.checkout-only::after{content:"exit"}html[lang="fr"] .range-day.checkout-only::after{content:"départ"}html[lang="es"] .range-day.checkout-only::after{content:"salida"}html[lang="de"] .range-day.checkout-only::after{content:"abreise"}html[lang="zh"] .range-day.checkout-only::after,html[lang="zh-Hans"] .range-day.checkout-only::after{content:"退房"}
