:root{--paper:#fffdf8;--navy:#052e4b;--gold:#b88a36;--gold-dark:#8c651e;--sand:#f5f0e6;--muted:#597087;--line:#e9e1d2;--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--navy);font-family:var(--font);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}button,a,input,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display)}.shell{width:89%;max-width:1600px;margin-inline:auto}.skip{position:fixed;left:12px;top:12px;background:var(--navy);color:white;padding:12px;z-index:100;transform:translateY(-160%)}.skip:focus{transform:none}.header{min-height:126px;width:89%;max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{width:175px;height:126px;overflow:hidden;position:relative;flex-shrink:0}.brand img{position:absolute;width:180px;height:180px;max-width:none;left:-3px;top:-22px;object-fit:contain;mix-blend-mode:multiply}.header nav{display:flex;gap:34px;margin-left:auto;align-items:center}.header nav a{font-size:14px;font-weight:600;position:relative;white-space:nowrap}.header nav a:after{position:absolute;content:'';height:1px;left:0;bottom:-7px;right:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:30px;margin-left:45px}.languages{display:flex;gap:10px;align-items:center;font-size:13px}.languages button{border:0;background:none;padding:7px 0;color:var(--navy)}.languages button[aria-pressed=true]{font-weight:700;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:6px;text-decoration-thickness:2px}.button{border:1px solid var(--gold);background:var(--gold);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:14px 27px;font-size:14px;font-weight:700;min-height:47px;transition:background .25s,transform .25s}.button:hover{background:var(--gold-dark);border-color:var(--gold-dark);transform:translateY(-2px)}.button:disabled{opacity:.65;transform:none}.header-button{font-size:13px;padding:12px 23px;min-height:42px}.hero{display:grid;grid-template-columns:39% 61%;align-items:center;min-height:455px;padding-block:7px 28px}.hero-copy{position:relative;z-index:2;padding:15px 25px 5px 0}.eyebrow{font-size:10px;font-weight:700;color:var(--gold-dark);letter-spacing:3px;line-height:1.7}.hero h1{font-size:clamp(50px,5.2vw,86px);letter-spacing:-3.4px;font-weight:800;line-height:.99;margin:18px 0 22px}.hero h1>span{display:block}.hero h1 em{font-style:normal;color:var(--gold)}.hero-description{font-size:clamp(14px,1.2vw,19px);line-height:1.6;margin-bottom:20px;max-width:460px}.signature{display:flex;align-items:center;gap:15px;margin-top:27px;color:#42607a;font-size:13px}.signature>span{display:block;width:35px;height:1px;background:var(--gold)}.hero-collage{height:440px;position:relative;align-self:stretch;margin-top:0}.sand-block{position:absolute;right:0;top:18px;bottom:3%;width:50%;background:linear-gradient(130deg,#f4eee3,#faf6ee)}.hero-main{position:absolute;width:73%;height:100%;left:0;top:0;overflow:hidden}.hero-main img{object-position:53% center;animation:photo-breathe 20s ease-in-out infinite alternate;will-change:transform}.hero-inset{position:absolute;right:0;top:15%;width:40%;height:76%;border:8px solid var(--paper);overflow:hidden;box-shadow:0 4px 24px #123b4910}.hero-inset img{object-position:center center}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:8px 0 24px}.section-heading h2{font-size:clamp(25px,2.7vw,42px);line-height:1.2;letter-spacing:-1.5px;font-weight:750}.collection-label{font-size:8px;letter-spacing:2px;color:var(--muted);white-space:nowrap}.property-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.property{border:1px solid #eee8de;background:var(--paper);transition:box-shadow .3s,transform .3s}.property:hover{box-shadow:0 10px 28px #082d4009;transform:translateY(-4px)}.property-photo{display:block;border:0;padding:0;width:100%;aspect-ratio:1.33;overflow:hidden;position:relative;background:var(--sand)}.property-photo img{transition:transform .75s cubic-bezier(.2,.8,.2,1)}.property-photo:hover img{transform:scale(1.055)}.number{position:absolute;left:0;top:0;background:var(--paper);color:var(--gold-dark);font-size:12px;font-weight:600;padding:10px;z-index:1}.photo-arrow{position:absolute;bottom:12px;right:12px;display:grid;place-items:center;width:34px;height:34px;background:var(--paper);color:var(--navy);transform:translateY(8px);opacity:0;transition:all .3s}.property-photo:hover .photo-arrow,.property-photo:focus-visible .photo-arrow{transform:none;opacity:1}.property-copy{padding:15px 19px 17px}.property h3{font-size:clamp(15px,1.5vw,24px);font-weight:750;letter-spacing:-.7px}.property-copy>p{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5}.text-link{border:0;background:none;padding:0;display:inline-flex;align-items:center;gap:10px;color:var(--gold-dark);font-size:13px;font-weight:500}.text-link>span:last-child{font-size:21px;transition:transform .3s}.text-link:hover>span:last-child{transform:translate(3px,-3px)}.property .text-link{margin-top:12px;font-size:12px}.extras-band{background:linear-gradient(105deg,#faf6ee,#f6f0e5);margin-top:30px;padding-block:20px}.extras{display:grid;grid-template-columns:1fr 1.12fr 1.12fr;gap:35px;align-items:center}.extras h2{font-size:24px;letter-spacing:-.8px;font-weight:750}.extra{display:grid;grid-template-columns:41% 59%;min-height:107px;background:#f2ebdf;transition:transform .3s}.extra:hover{transform:translateX(4px)}.extra>img{height:107px;object-position:center}.extra .car-thumb{object-position:50% 61%}.extra>div{padding:14px 17px}.extra h3{font-family:var(--font);font-size:16px;font-weight:700}.extra p{font-size:12px;color:var(--muted);margin:6px 0 4px}.extra>div>span{color:var(--gold-dark);font-size:23px;line-height:1}.booking-section{padding-block:65px 45px;border-bottom:1px solid var(--line)}.booking-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:25px}.booking-heading h2{font-size:32px;letter-spacing:-1.3px;margin-top:9px}.booking-heading>p{font-size:13px;color:var(--muted);max-width:230px;line-height:1.7}.search-form{display:grid;grid-template-columns:1fr 1fr .65fr 1fr;border:1px solid var(--line);background:white;padding:12px;gap:0}.search-form label{padding:4px 23px;border-right:1px solid var(--line)}label>span{display:block;font-size:10px;font-weight:700;letter-spacing:1px;margin-bottom:7px}input,select{min-width:0;width:100%;border:0;background:transparent;color:var(--navy);min-height:30px;font-size:15px}input[type=date]{color-scheme:light}.search-form>.button{margin-left:16px}.connection-note{font-size:11px;color:var(--muted);margin-top:13px;line-height:1.8}.result-list{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:22px}.result-card{padding:20px;border:1px solid var(--line);background:white;display:flex;justify-content:space-between;gap:25px;align-items:center}.result-card h3{font-size:17px;letter-spacing:-.4px}.result-card p{font-size:13px;margin:8px 0;color:var(--muted)}.result-card .button{font-size:12px;padding:12px 17px}.status-message{padding:16px;background:var(--sand);border-left:2px solid var(--gold);font-size:13px;line-height:1.8;margin-top:15px}.experience{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;padding-top:80px}.experience-image{height:435px;position:relative;overflow:hidden}.experience-image>img{object-position:60% center;transition:transform 1s}.experience-image:hover>img{transform:scale(1.035)}.experience-image>span{position:absolute;bottom:22px;left:25px;background:var(--paper);padding:9px 14px;letter-spacing:2px;font-size:8px;font-weight:700}.experience-copy h2{font-size:clamp(30px,3.2vw,51px);line-height:1.14;letter-spacing:-2px;font-weight:650;margin:18px 0}.experience-copy>p:not(.eyebrow){font-size:14px;line-height:1.85;color:var(--muted);max-width:430px}.experience-copy .button{margin-top:25px}.outline{background:transparent;color:var(--navy);border-color:var(--line)}.outline:hover{background:var(--navy);color:white;border-color:var(--navy)}.experience-copy small{display:block;color:var(--muted);font-size:10px;margin-top:15px;line-height:1.6}.experience.reverse{direction:rtl}.experience.reverse>*{direction:ltr}.car-image{background:var(--sand);padding:25px}.car-image>img{object-fit:contain}.contact{margin-top:80px;padding-block:55px;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact h2{font-size:clamp(25px,2.5vw,40px);letter-spacing:-1.5px;max-width:650px;margin:15px auto 20px}.footer{padding-block:30px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;font-size:12px}.footer-dot{margin-inline:7px;color:var(--gold)}.footer>p{width:100%;font-size:10px;color:var(--muted)}dialog{border:0;padding:0;background:var(--paper);color:var(--navy);max-width:1000px;width:90%;max-height:90dvh;overflow:auto;box-shadow:0 30px 100px #001b3540}dialog::backdrop{background:#082d406b;backdrop-filter:blur(6px)}dialog[open]{animation:dialog-in .35s cubic-bezier(.2,.8,.2,1)}.close-dialog{position:absolute;right:12px;top:12px;width:39px;height:39px;background:var(--paper);border:1px solid var(--line);color:var(--navy);font-size:26px;z-index:2}.dialog-layout{display:grid;grid-template-columns:42% 58%}.dialog-photo{min-height:650px;position:relative}.dialog-photo img{position:absolute;inset:0;object-position:center}.dialog-content{padding:45px 35px 30px}.dialog-content h2{font-size:30px;letter-spacing:-1.3px;margin-top:10px}.dialog-content>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.7}.dialog-content #dialog-subtitle{margin-top:8px}.calendar-title{margin-top:23px;font-weight:600}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-block:15px}.calendar-head button{border:1px solid var(--line);color:var(--navy);background:none;min-height:32px;width:32px}.calendar-head strong{font-size:13px;text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.calendar-grid>span,.calendar-grid>button{min-height:32px;display:grid;place-items:center;font-size:11px}.calendar-grid>button{border:1px solid var(--line);background:white;color:var(--navy)}.calendar-grid>button:disabled{background:#f1eee7;color:#9c9b98;border-color:transparent}.calendar-grid>button.selected{background:var(--navy);color:white}.calendar-grid>button.in-range{background:#e9dec5}.calendar-grid>button.occupied{text-decoration:line-through}.calendar-grid.weekdays>span{font-size:9px;color:var(--muted);font-weight:600}.calendar-status{font-size:10px!important;margin:10px 0 17px}.date-row{display:grid;grid-template-columns:1fr 1fr .6fr;gap:10px}.date-row input,.date-row select{border:1px solid var(--line);padding:8px 5px;font-size:12px;min-height:39px}.date-row label>span{font-size:9px;letter-spacing:.3px}.dialog-content form>.button{width:100%;margin-top:15px;font-size:12px}.airbnb-link{margin-top:20px;font-size:11px}.quote-summary{margin-top:15px;padding:15px;background:var(--sand);font-size:12px;line-height:1.8}.quote-summary .total{font-size:22px;display:block;font-weight:700;margin-top:5px}.quote-summary .button{margin-top:12px;width:100%;font-size:12px}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .75s,transform .75s cubic-bezier(.2,.8,.2,1)}.js .reveal.visible{opacity:1;transform:none}.js .enter{animation:enter .85s both cubic-bezier(.2,.8,.2,1)}.hero-copy .enter:nth-child(2){animation-delay:.07s}.hero-copy .enter:nth-child(3){animation-delay:.14s}.hero-copy .enter:nth-child(4){animation-delay:.21s}.hero-copy .enter:nth-child(5){animation-delay:.28s}.hero-collage.enter{animation-delay:.15s}.property:nth-child(2){transition-delay:.07s}.property:nth-child(3){transition-delay:.14s}.property:nth-child(4){transition-delay:.21s}@keyframes enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes dialog-in{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}@keyframes photo-breathe{to{transform:scale(1.045)}}
@media(min-width:1600px){.header{min-height:145px}.hero{min-height:520px}.hero-collage{height:510px}.property-photo{aspect-ratio:1.32}.section-heading{margin-top:15px;margin-bottom:25px}.extras-band{margin-top:35px;padding-block:24px}}
@media(max-width:1100px){.header{gap:18px;min-height:110px}.header nav{gap:22px}.header-actions{margin-left:10px;gap:20px}.header-button{display:none}.brand{width:150px;height:105px}.brand img{width:160px;height:160px;top:-24px;left:-5px}.hero{grid-template-columns:42% 58%;min-height:390px}.hero h1{font-size:56px;letter-spacing:-2.4px}.hero-collage{height:370px;align-self:center}.hero-inset{border-width:6px;top:20%;height:67%}.hero-copy .eyebrow{font-size:8px;letter-spacing:2px}.hero-description{font-size:14px}.signature{font-size:12px}.collection-label{display:none}.property-grid{gap:14px}.property-copy{padding:14px}.property-copy>p{font-size:10px}.extras{gap:20px}.extras h2{font-size:20px}.extra{grid-template-columns:38% 62%}.extra>div{padding:15px 12px}.extra h3{font-size:14px}.extra p{font-size:10px}.experience-image{height:360px}.search-form label{padding-inline:14px}}
@media(max-width:760px){html{scroll-padding-top:20px}.shell,.header{width:90%}.header{min-height:110px;flex-wrap:wrap;gap:0;padding-bottom:10px;align-items:center}.brand{width:125px;height:87px}.brand img{width:134px;height:134px;left:-4px;top:-20px}.header-actions{margin-left:auto}.languages{font-size:12px}.header nav{order:3;justify-content:space-between;width:100%;gap:13px;margin:0;padding-bottom:8px}.header nav a{font-size:12px}.hero{display:flex;flex-direction:column;min-height:0;padding-top:18px;padding-bottom:22px}.hero-copy{align-self:stretch;padding:0}.hero h1{font-size:clamp(49px,11.5vw,72px);line-height:1.02;letter-spacing:-2.8px;margin-block:15px 18px}.hero-copy .eyebrow{font-size:8px;letter-spacing:2.1px}.hero-description{max-width:310px;font-size:14px}.hero .button{font-size:12px;padding:12px 22px}.signature{margin-top:20px;font-size:12px}.hero-collage{width:100%;height:325px;margin-top:30px}.hero-main{width:79%;height:95%}.hero-inset{width:43%;height:68%;top:24%;border-width:5px}.sand-block{top:20px;bottom:0}.section-heading{margin:10px 0 19px}.section-heading h2{font-size:27px;letter-spacing:-1.25px;max-width:330px}.property-grid{grid-template-columns:1fr 1fr;gap:16px 12px}.property-photo{aspect-ratio:1.08}.number{font-size:10px;padding:7px}.property-copy{padding:13px 11px}.property h3{font-size:16px;letter-spacing:-.5px;line-height:1.2}.property-copy>p{font-size:10px;min-height:30px}.property .text-link{font-size:10px;gap:6px;margin-top:8px}.property .text-link>span:last-child{font-size:17px}.extras-band{margin-top:25px;padding-block:24px}.extras{grid-template-columns:1fr 1fr;gap:15px 12px}.extras h2{grid-column:1/-1;font-size:23px;margin-bottom:4px}.extra{grid-template-columns:1fr;min-height:0}.extra>img{height:105px}.extra>div{padding:12px}.extra h3{font-size:15px}.extra p{font-size:10px}.extra>div>span{font-size:20px}.booking-section{padding-block:40px 30px}.booking-heading{display:block;margin-bottom:20px}.booking-heading .eyebrow{font-size:8px}.booking-heading h2{font-size:29px;line-height:1.2}.booking-heading>p{max-width:none;font-size:12px;margin-top:12px}.search-form{grid-template-columns:1fr 1fr;padding:0;gap:0}.search-form label{border:0;padding:14px;min-width:0}.search-form label:nth-child(2){border-left:1px solid var(--line)}.search-form label:nth-child(3){border-top:1px solid var(--line)}.search-form>.button{margin:0;font-size:12px;padding:12px;gap:10px}.search-form input,.search-form select{font-size:13px}.connection-note{font-size:10px}.result-list{grid-template-columns:1fr}.result-card{display:block}.experience{grid-template-columns:1fr;gap:25px;padding-top:45px}.experience-image{height:320px}.experience-copy h2{font-size:34px;letter-spacing:-1.5px;margin:13px 0}.experience-copy>p:not(.eyebrow){font-size:13px;line-height:1.8}.experience-copy>.eyebrow{font-size:9px;letter-spacing:2px}.experience-copy .button{font-size:12px;margin-top:20px}.experience.reverse{direction:ltr}.car-image{height:350px;padding:20px}.contact{margin-top:50px;padding-block:35px}.contact h2{font-size:27px;letter-spacing:-1px}.contact .eyebrow{font-size:8px}.contact .text-link{font-size:12px}.footer{padding-block:25px;font-size:10px;gap:15px}.footer>p{font-size:9px}dialog{width:94%;max-height:94dvh}.dialog-layout{grid-template-columns:1fr}.dialog-photo{min-height:225px}.dialog-photo img{object-position:center 48%}.dialog-content{padding:25px 20px}.dialog-content h2{font-size:27px}.dialog-content>.eyebrow{font-size:8px}.calendar-grid>button{min-height:39px}.date-row{grid-template-columns:1fr 1fr}.date-row label:last-child{grid-column:1/-1}.date-row input,.date-row select{font-size:14px;min-height:42px}.dialog-content form>.button{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.hero-main img{will-change:auto}}

html[lang=en] .hero h1{font-size:clamp(43px,4.25vw,70px)}
@media(max-width:760px){html[lang=en] .hero h1{font-size:clamp(39px,9.5vw,64px);letter-spacing:-2px}}

.button:not(.outline){background:#96702b;border-color:#96702b}.button:not(.outline):hover{background:var(--gold-dark);border-color:var(--gold-dark)}

/* Galleries and rental requests share the selected ivory, navy and gold design. */
[hidden]{display:none!important}textarea{font:inherit;color:var(--navy)}textarea:focus-visible,.photo-gallery:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.photo-badge{position:absolute;bottom:12px;left:12px;padding:7px 10px;background:#052e4be8;color:white;font-size:11px;letter-spacing:.2px;pointer-events:none}.property-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;margin-top:13px}.property-actions .text-link{margin:0}.property-actions .button{font-size:10px;padding:8px 10px;min-height:34px}.rental-collection{padding-top:38px}.rental-grid{display:grid;gap:24px}.boats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cars-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rental-card{min-width:0;border:1px solid var(--line);background:var(--paper)}.rental-photo{position:relative;display:block;width:100%;padding:0;border:0;aspect-ratio:1.8;overflow:hidden;background:var(--sand)}.rental-photo>img{transition:transform .8s cubic-bezier(.2,.8,.2,1)}.rental-photo:hover>img{transform:scale(1.04)}.car-card .rental-photo{aspect-ratio:1.35}.car-card .rental-photo>img{object-position:center 60%}.rental-card-copy{padding:22px 24px}.rental-card-copy .eyebrow{font-size:8px;letter-spacing:1.7px}.rental-card h3{font-size:23px;letter-spacing:-.8px;margin-top:7px}.rental-card-detail{font-size:12px;color:var(--muted);margin-top:9px;line-height:1.6}.rental-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px}.rental-actions .button{font-size:11px;padding:11px 15px;min-height:40px}.rental-actions .text-link{font-size:12px}.collection-note{font-size:11px;color:var(--muted);line-height:1.8;margin-top:16px}.search-hint{font-size:12px;margin-top:22px;color:var(--muted)}
.detail-dialog{width:min(1180px,94vw);max-width:1180px;max-height:92dvh}.dialog-topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:10px 22px;background:var(--paper);border-bottom:1px solid var(--line)}.dialog-topbar>span{font-size:9px;letter-spacing:2px;font-weight:700;color:var(--muted)}.dialog-topbar .close-dialog{position:static;font-size:27px}.dialog-layout{grid-template-columns:55% 45%;align-items:start}.dialog-gallery-column{padding:26px 12px 26px 26px;min-width:0}.dialog-content{padding:27px 28px 30px;min-width:0}.dialog-content h2{font-size:29px;margin:8px 0}.dialog-content>.eyebrow{font-size:8px;letter-spacing:2px}.property-facts{border-top:1px solid var(--line);margin-top:20px;padding-top:18px;font-size:12px;color:var(--muted)}.gallery-stage{position:relative;aspect-ratio:4/3;background:#f0ece3;overflow:hidden;touch-action:pan-y}.gallery-image{object-fit:contain}.gallery-arrow,.gallery-enlarge{position:absolute;display:grid;place-items:center;border:1px solid #ffffff70;background:#fffdf8ed;color:var(--navy);width:40px;height:40px;font-size:22px}.gallery-arrow{top:calc(50% - 20px)}.gallery-arrow.previous{left:12px}.gallery-arrow.next{right:12px}.gallery-enlarge{bottom:12px;right:12px}.gallery-arrow:hover,.gallery-enlarge:hover{background:white}.gallery-counter{position:absolute;left:12px;bottom:14px;background:#052e4be8;color:white;padding:7px 11px;font-size:11px}.gallery-caption{font-size:11px;color:var(--muted);line-height:1.7;margin:10px 0 12px;min-height:19px}.gallery-thumbnails{display:flex;gap:8px;overflow:auto;padding:3px 3px 8px;scrollbar-width:thin}.gallery-thumb{width:78px;height:60px;flex-shrink:0;padding:3px;border:1px solid transparent;background:transparent;opacity:.6;transition:opacity .2s,border-color .2s}.gallery-thumb[aria-pressed=true]{border-color:var(--gold);opacity:1}.gallery-thumb:hover{opacity:1}.photo-changing{animation:gallery-change .32s ease-out}.booking-panel{margin-top:24px;padding:22px;background:#f8f4ec;border:1px solid var(--line)}.booking-panel h3{font-size:18px;letter-spacing:-.5px}.booking-help{font-size:12px;line-height:1.7;color:var(--muted);margin:9px 0 18px}.date-row{grid-template-columns:1fr 1fr}.date-row label:last-child{grid-column:1/-1}.date-row input,.date-row select,.rental-fields input,.rental-fields select{background:var(--paper);border:1px solid var(--line);font-size:13px;padding:10px 8px;min-height:43px}.calendar-details{margin-top:24px;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:16px}.calendar-details>summary{cursor:pointer;line-height:1.6}.rental-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rental-fields label{min-width:0}.rental-fields label:last-child{grid-column:1/-1}.rental-fields label>span,.note-label>span{font-size:9px;letter-spacing:.5px}.note-label{display:block;margin-top:15px}.note-label textarea{display:block;width:100%;resize:vertical;border:1px solid var(--line);background:var(--paper);padding:10px;font-size:13px;min-height:62px}.request-summary{padding-top:22px;margin-top:20px;border-top:1px solid #dacfb9;animation:enter .3s ease-out}.request-summary .eyebrow{font-size:8px;letter-spacing:1.2px}.request-summary h4{font-family:var(--display);margin:9px 0 17px;font-size:18px;letter-spacing:-.4px}.request-rows{display:grid;grid-template-columns:1fr 1.4fr;gap:11px 15px;font-size:12px;line-height:1.5}.request-rows dt{color:var(--muted)}.request-rows dd{margin:0;overflow-wrap:anywhere;font-weight:500;white-space:pre-line}.request-help{margin-top:20px;color:var(--muted);font-size:11px;line-height:1.8}.request-summary .whatsapp-button{display:flex;margin-top:17px;width:100%;font-size:12px;padding:13px 12px}.request-notice{font-size:12px;line-height:1.7;margin-bottom:16px}.booking-panel .status-message{padding:12px;font-size:12px}
#lightbox-dialog{width:min(1200px,95vw);max-width:1200px;max-height:95dvh;padding:0 24px 15px;background:#102c3c;color:white}#lightbox-dialog::backdrop{background:#00131deb;backdrop-filter:blur(9px)}.lightbox-topbar{display:flex;align-items:center;justify-content:space-between;padding:15px 0}.lightbox-topbar h2{font-size:16px;font-weight:500}.lightbox-topbar button{border:1px solid #ffffff40;background:none;color:white;font-size:28px;width:40px;height:40px}#lightbox-dialog .gallery-stage{height:min(65dvh,700px);aspect-ratio:auto;background:#102c3c}#lightbox-dialog .gallery-caption{color:#d6e2e9}#lightbox-dialog .gallery-thumb{height:54px;width:74px}#lightbox-dialog .gallery-thumbnails{justify-content:center}#lightbox-dialog .gallery-thumb[aria-pressed=true]{border-color:#e4b867}.gallery-stage img{user-select:none}@keyframes gallery-change{from{opacity:.4;transform:scale(1.015)}to{opacity:1;transform:none}}
@media(max-width:1100px){.cars-grid{gap:14px}.rental-card-copy{padding:18px}.rental-actions{flex-wrap:wrap;gap:13px}.dialog-layout{grid-template-columns:50% 50%}.dialog-content{padding:25px 22px}.dialog-gallery-column{padding:25px 0 25px 22px}.booking-panel{padding:18px}.rental-card h3{font-size:20px}.property-actions{align-items:start;flex-direction:column}}
@media(max-width:760px){.photo-badge{bottom:8px;left:8px;font-size:9px;padding:6px 8px}.property-actions{margin-top:9px;gap:12px}.property-actions .button{font-size:9px;padding:8px;min-height:34px;width:100%}.rental-collection{padding-top:26px}.rental-grid{grid-template-columns:1fr;gap:22px}.rental-card-copy{padding:20px}.rental-card h3{font-size:24px}.car-card .rental-photo{aspect-ratio:1.3}.rental-actions{flex-wrap:nowrap;margin-top:18px}.rental-actions .button{font-size:11px}.rental-collection .section-heading h2{font-size:27px}.collection-note{font-size:10px}.detail-dialog{max-height:94dvh}.dialog-layout{grid-template-columns:1fr}.dialog-topbar{padding:8px 16px}.dialog-gallery-column{padding:18px 18px 0}.dialog-content{padding:26px 18px}.dialog-content h2{font-size:27px}.gallery-thumb{width:65px;height:50px}.gallery-thumbnails{gap:6px}.gallery-arrow{width:36px;height:36px;top:calc(50% - 18px)}.gallery-arrow.previous{left:8px}.gallery-arrow.next{right:8px}.property-facts{font-size:11px;margin-top:12px;padding-top:14px}.booking-panel{margin-top:20px;padding:18px 15px}.date-row input,.date-row select,.rental-fields input,.rental-fields select{font-size:14px;min-height:44px}.request-summary .whatsapp-button{font-size:11px}.request-rows{font-size:11px;gap:11px}.gallery-caption{font-size:10px}.gallery-enlarge{width:36px;height:36px;bottom:8px;right:8px}.gallery-counter{bottom:10px;left:8px;font-size:10px}#lightbox-dialog{padding:0 12px 12px}#lightbox-dialog .gallery-stage{height:58dvh}#lightbox-dialog .gallery-thumbnails{justify-content:start}.lightbox-topbar{padding:12px 0}.lightbox-topbar h2{font-size:14px}}

/* The property calendar is the date picker; native pickers cannot show occupied nights. */
.stay-date-field{min-width:0}.stay-date-field>span,.stay-guests>span{display:block;font-size:10px;font-weight:600;margin-bottom:7px}.stay-date-button{width:100%;min-height:48px;padding:12px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);background:var(--paper);color:var(--navy);font-size:12px;text-align:left}.stay-date-button[aria-pressed=true]{border-color:var(--gold);box-shadow:inset 0 -2px var(--gold)}.booking-panel .calendar-details{margin-top:18px;padding-bottom:0}.calendar-details h4{margin:0;font-size:14px}#calendar-prompt{margin-top:7px;font-size:11px;color:var(--muted)}.calendar-grid>button{min-height:40px;font-size:12px}.calendar-grid>button.occupied{background:repeating-linear-gradient(135deg,#f8e9e5,#f8e9e5 5px,#f2dcd6 5px,#f2dcd6 7px);color:#743b31;border:1px solid #dcb5aa;text-decoration:line-through;text-decoration-thickness:2px;opacity:1}.calendar-grid>button.departure-only{background:linear-gradient(135deg,#fffdf8 50%,#f2dcd6 50%);border-color:var(--gold);color:var(--navy)}.calendar-grid>button.selected{background:var(--navy);color:white;border-color:var(--navy);text-decoration:none}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;margin-top:13px;color:var(--muted)}.calendar-legend span{display:inline-flex;gap:6px;align-items:center}.calendar-legend span:before{content:'';width:12px;height:12px;display:inline-block}.unavailable-key:before{background:repeating-linear-gradient(135deg,#f8e9e5,#f8e9e5 3px,#dcb5aa 3px,#dcb5aa 4px);border:1px solid #dcb5aa}.selected-key:before{background:var(--navy)}.stay-guests{display:block;margin-top:15px}.stay-guests select{width:100%;padding:10px;border:1px solid var(--line);min-height:44px;color:var(--navy);background:var(--paper)}

/* Direct photo browsing, informed by the Airbnb / Expedia gallery references. */
.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.photo-mosaic{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:5px;aspect-ratio:1.7;overflow:hidden}
.mosaic-photo{padding:0;border:0;background:var(--sand);overflow:hidden;cursor:zoom-in;min-width:0;min-height:0}
.mosaic-photo:first-child{grid-row:1/3}.mosaic-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.mosaic-photo:hover img{transform:scale(1.035)}
.mosaic-photo:focus-visible{outline:3px solid var(--gold);outline-offset:-4px}.property-actions{justify-content:flex-end}.property-actions .button{font-size:12px;min-height:44px;padding:12px 18px}
.gallery-image-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.gallery-image-open img{width:100%;height:100%}
.guest-checkout{display:grid!important;gap:16px!important;margin-top:24px;border-top:1px solid var(--line);padding-top:22px}.guest-checkout h4{font-size:18px;margin:4px 0}
.guest-checkout>label:not(.guest-consent){display:grid;gap:7px;font-size:12px;font-weight:600}.guest-checkout input:not([type=checkbox]){box-sizing:border-box;width:100%;min-height:46px;background:var(--paper);border:1px solid var(--line);padding:11px 12px;font:inherit;color:var(--navy)}
.guest-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.65}.guest-consent input{flex:0 0 18px;width:18px;height:18px;margin-top:3px;accent-color:var(--navy)}
.reservation-status{border-left:3px solid var(--gold);padding:12px 15px;background:var(--paper);line-height:1.65;font-size:12px}.reservation-status strong{font-size:13px}.reservation-status p{margin-top:5px;color:var(--muted)}.payment-method{font-size:13px;font-weight:600}.form-error:empty{display:none}.form-error{font-size:13px;color:var(--navy)}.guest-review{grid-column:1/-1}.guest-review .request-summary{margin:0}.guest-checkout .button{width:100%}
.privacy-dialog{max-width:560px;width:90vw;padding:28px;background:var(--paper);border:1px solid var(--line);color:var(--navy);margin:auto}.privacy-dialog::backdrop{background:#052e4b80}.privacy-dialog h2{font-size:24px}.privacy-dialog p{font-size:13px;line-height:1.7;margin:16px 0}.privacy-dialog label{display:block;margin:16px 0;font-size:14px}.privacy-dialog>div{display:flex;gap:12px;flex-wrap:wrap}.privacy-dialog .button{font-size:12px;min-height:44px}#privacy-settings{font-size:12px}
@media(max-width:760px){.property-grid{grid-template-columns:1fr}.photo-mosaic{aspect-ratio:1.55}.guest-checkout input:not([type=checkbox]){font-size:16px}.rental-actions{justify-content:flex-end}.dialog-gallery-column{padding-bottom:0}}

.photo-mosaic:has(.mosaic-photo:nth-child(2):last-child) .mosaic-photo:nth-child(2){grid-row:1/3}

/* One clear booking action; dates are selected on the calendar itself. */
.property-actions .reserve-cta,.rental-actions .reserve-cta{width:100%;min-height:52px;padding:15px 22px;font-size:15px;font-weight:700;justify-content:center;border-radius:3px;transition:background .2s,transform .2s}
.property-actions,.rental-actions{width:100%}.reserve-cta:hover{transform:translateY(-1px)}.reserve-cta:focus-visible{outline:3px solid var(--navy);outline-offset:4px}
.stay-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.stay-selection p{font-size:13px;font-weight:600;line-height:1.6;margin-top:10px}.stay-selection p:empty{display:none}.stay-selection .text-link{font-size:11px;min-height:36px;margin:0}#stay-calendar:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.booking-panel .calendar-details{margin-top:0}
.guest-checkout>form{display:grid;gap:16px}.guest-checkout>form>label:not(.guest-consent){display:grid;gap:7px;font-size:12px;font-weight:600}.guest-checkout button{min-height:44px}

.boat-price{margin:20px 0;padding:18px;border:1px solid var(--line);background:var(--paper);min-width:0}.boat-price h4{font-size:18px;margin-bottom:14px}.boat-price .request-rows{font-size:13px}.boat-price .request-rows dt:last-of-type,.boat-price .request-rows dd:last-of-type{font-weight:700;color:var(--navy);border-top:1px solid var(--line);padding-top:10px}.boat-price .request-rows dd{overflow-wrap:anywhere}.boat-price .text-link{font-size:12px;white-space:normal}.boat-details{font-size:13px;line-height:1.7;margin-block:14px}.boat-details summary{cursor:pointer;min-height:44px;display:list-item;padding-block:10px;font-weight:600}.boat-details summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.boat-details ul{padding-left:20px}.boat-details p{margin-top:10px}.boat-price .booking-help{margin-block:12px}
