:root{--ink:#0b2933;--muted:#52676e;--sea:#166576;--paper:#fff;--line:#dbe3e4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font:16px 'DM Sans',sans-serif;background:var(--paper)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:5px}header{height:96px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:white}.brand{font:44px 'Playfair Display',serif;line-height:1;letter-spacing:-2px}.brand span{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:3px;margin-top:9px}nav{display:flex;gap:36px}nav a{font-size:15px}nav a:hover,.text-link:hover{text-decoration:underline}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:16px 26px;background:var(--ink);color:white;border:1px solid var(--ink);cursor:pointer;font-weight:500;font-size:15px;transition:background .2s}.button:hover{background:var(--sea)}.small{min-height:44px;padding:12px 22px}.light{background:white;color:var(--ink);border-color:white}.light:hover{background:#eaf3f4}.hero{position:relative;height:740px;max-height:calc(100svh - 96px);min-height:580px;color:white;overflow:hidden}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,22,31,.7),rgba(1,22,31,.13) 85%),linear-gradient(0deg,rgba(1,22,31,.4),transparent 35%)}.hero-copy{position:relative;padding:120px 6% 0;max-width:1000px}.eyebrow{font-size:12px;letter-spacing:2.2px;font-weight:600;margin:0 0 27px}h1,h2,h3{font-family:'Playfair Display',serif;font-weight:400}h1{font-size:clamp(42px,4.7vw,73px);line-height:1.13;letter-spacing:-1.8px;margin:0 0 25px}.hero-copy>p:not(.eyebrow){line-height:1.7;font-size:18px;color:#f1f4f5;margin-bottom:32px}.hero-bottom{position:absolute;bottom:30px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.2px}.section{padding:100px 6%;max-width:1600px;margin:auto}h2{font-size:clamp(36px,3.5vw,54px);line-height:1.18;letter-spacing:-1px;margin:0}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.intro-text p{line-height:1.85;margin:0 0 20px;color:var(--muted);font-size:17px}.qualities{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;padding-top:25px;margin-top:32px}.qualities span{font-size:12px;color:var(--sea)}.qualities b{display:block;font-size:14px;font-weight:500;color:var(--ink);margin-top:8px}.gallery{padding-top:25px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:38px}.section-top>p{color:var(--muted);margin:0;font-size:15px}.photo-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:260px 260px;gap:20px}.photo{position:relative;display:block;padding:0;border:0;overflow:hidden;cursor:pointer;background:var(--ink)}.photo.big{grid-row:span 2}.photo img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.photo:hover img{transform:scale(1.03)}.photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0008)}.photo span{position:absolute;z-index:1;left:25px;bottom:25px;color:white;font-size:16px}.surroundings{background:var(--ink);color:white}.surroundings .eyebrow{color:#b3d4dc}.experiences{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin:65px 0 30px}.number{color:#97bdc6;font-size:13px}h3{font-size:28px;margin:23px 0 15px}.experiences p{color:#c0d0d4;line-height:1.8;margin:0}.text-link{border:0;border-bottom:1px solid currentColor;background:none;color:inherit;cursor:pointer;font-size:14px;padding:0 0 5px;display:inline-block}.surroundings .text-link{margin-top:18px;color:#e6f1f4}.booking{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:start}.booking>div>p:last-child{color:var(--muted);line-height:1.7;margin-top:27px}form{padding-top:8px}.dates{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:14px;margin-bottom:20px}input,select{margin-top:10px;width:100%;min-width:0;padding:14px;border:1px solid var(--line);background:white;color:var(--ink);border-radius:0;min-height:50px}form .button{width:100%}.form-note{text-align:center;font-size:12px;color:var(--muted)}#result{margin-top:25px;padding:20px;background:#edf4f5;line-height:1.7;font-size:14px}footer{border-top:1px solid var(--line);margin:0 6%;padding:40px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}footer p,footer>span{font-size:14px;color:var(--muted)}dialog{max-width:92vw;max-height:95vh;border:0;background:var(--ink);padding:0}dialog::backdrop{background:#00141ae6}dialog img{display:block;max-width:90vw;max-height:85vh;object-fit:contain}#close{position:absolute;top:8px;right:12px;border:0;border-radius:50%;width:40px;height:40px;background:white;color:var(--ink);font-size:28px;cursor:pointer}@media(max-width:800px){header{height:80px;padding:0 5%}.brand{font-size:36px}nav{gap:18px}nav a{font-size:14px}header .small{display:none}.hero{max-height:none;min-height:600px;height:75svh}.hero-copy{padding:105px 6% 0}h1{font-size:47px}.hero-copy>p:not(.eyebrow){font-size:16px}.hero-bottom span:last-child{display:none}.section{padding:65px 6%}.intro,.booking{grid-template-columns:1fr;gap:35px}.intro-text p{font-size:16px}.qualities{gap:8px}.qualities b{font-size:13px}.section-top{display:block}.section-top>p{margin-top:20px}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:330px 220px;gap:12px}.photo.big{grid-column:span 2;grid-row:auto}.photo span{left:14px;bottom:18px;font-size:14px}.gallery{padding-top:10px}.experiences{grid-template-columns:1fr;gap:32px;margin-top:45px}h3{margin:12px 0}footer{flex-wrap:wrap}footer p{display:none}h2{font-size:38px}.eyebrow{font-size:12px}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.inquiry-secondary{display:block;margin:20px auto 0;font-size:14px}.booking-primary{text-align:center}

.reservation-panel{border:1px solid var(--line);padding:30px}.reservation-panel form{padding:0}.reservation-panel h3{margin:0 0 12px}.contact-intro{font-size:15px;color:var(--muted);margin:0 0 28px;line-height:1.6}textarea{font:inherit;margin-top:10px;width:100%;padding:14px;border:1px solid var(--line);border-radius:0;resize:vertical;min-height:110px;color:var(--ink)}.optional{color:var(--muted);font-size:12px}.booking-alternative{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}.booking-alternative p{font-size:14px;color:var(--muted)}.booking-alternative .button{width:100%;background:white;color:var(--ink)}.booking-alternative .button:hover{background:#edf4f5}#form-status{padding:14px;background:#edf4f5;font-size:14px;line-height:1.6}.form-note{line-height:1.6}@media(max-width:800px){.reservation-panel{padding:22px}.reservation-panel .dates{grid-template-columns:1fr}}

.contact-email{font-size:14px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}.contact-email a{text-decoration:underline;color:var(--ink)}

/* Turquoise coast theme with a full-viewport photo/video hero. */
:root{--ink:#12374f;--muted:#527084;--sea:#00869f;--line:#cce7ee;--accent:#24d1e5}
body{background:#fff}
header{position:absolute;inset:0 0 auto;z-index:5;background:transparent;color:white;height:100px;border-bottom:1px solid #ffffff35}
header .button{background:#24d1e5;border-color:#24d1e5;color:#07364e}
header .button:hover{background:#8aebf4}
.hero{display:flex;align-items:center;position:relative;isolation:isolate;height:100svh;min-height:680px;max-height:none;background:#073552;color:#fff}
.hero-img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;order:initial;z-index:-2}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.shade{display:block;position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,30,58,.82) 0%,rgba(3,38,67,.52) 50%,rgba(0,47,73,.22) 100%),linear-gradient(0deg,rgba(4,28,51,.55),transparent 40%)}
.hero-copy{position:relative;width:100%;max-width:1100px;padding:140px 6% 120px}
.hero-copy .eyebrow{color:#9df5ff;letter-spacing:3px}
.hero-copy h1{font-size:clamp(52px,6.5vw,94px);line-height:1.04;letter-spacing:-2px;text-shadow:0 2px 24px #002b4530}
.hero-copy>p:not(.eyebrow){font-size:18px;max-width:600px;line-height:1.8;color:#f1fbff}
.hero .light{background:#24d1e5;border-color:#24d1e5;color:#07364e;padding:18px 32px}
.hero .light:hover{background:#9df5ff}
.hero-bottom{display:flex;left:6%;right:6%;bottom:32px;font-size:13px;color:#ecfbff}
.hero-bottom span:last-child{display:block}
.eyebrow{color:#00839c}
.button{background:#007e98;border-color:#007e98;color:#fff}
.button:hover{background:#00697f;border-color:#00697f}
.surroundings{background:#1dc9dd;color:#073650}
.surroundings .eyebrow{color:#07566e}
.experiences p{color:#104b63}
.number{color:#0b5e74}
.surroundings .text-link{color:#073650}
.reservation-panel{border-color:#bee6ee;background:#f2fcff}
input,select,textarea{background:white;border-color:#b5dce6}
input:focus,select:focus,textarea:focus{outline:2px solid #008ba6}
.booking-alternative .button{background:transparent;border-color:#007e98;color:#00718b}
.booking-alternative .button:hover{background:#def8fc}
#form-status{background:#d8f7fc}
.contact-email a{color:#00718b}
dialog{background:#073552}dialog::backdrop{background:#032b49e8}
@media(max-width:800px){header{height:84px}header .brand{font-size:36px}header nav{gap:18px}.hero{display:flex;min-height:740px;height:100svh}.hero-copy{width:100%;padding:140px 6% 100px}.hero-copy h1{font-size:clamp(48px,11vw,74px);letter-spacing:-1.4px}.hero-copy>p:not(.eyebrow){font-size:16px;max-width:430px}.hero-img{position:absolute;inset:0;height:100%;width:100%;aspect-ratio:auto}.hero-bottom{display:flex;bottom:25px}.hero-bottom span:last-child{display:none}.shade{background:linear-gradient(90deg,#031e3bcc,#032a4890),linear-gradient(0deg,#031e3b88,transparent)}.reservation-panel{background:#f2fcff}}
@media(max-height:700px) and (min-width:801px){.hero{min-height:650px}.hero-copy{padding-top:125px;padding-bottom:90px}.hero-copy h1{font-size:68px}}

/* Maui's own high-resolution photos replace all screenshot crops. */
.hero-img{object-fit:cover;object-position:center 62%;background:none}
.shade{background:linear-gradient(90deg,rgba(3,24,46,.65),rgba(3,24,46,.25) 60%,rgba(3,24,46,.1)),linear-gradient(180deg,rgba(2,18,35,.25),transparent 38%)}
.real-gallery{grid-template-columns:repeat(3,1fr);grid-template-rows:280px 280px 280px}
.real-gallery .big{grid-column:span 2;grid-row:span 2}
.more-photos{margin-top:28px}.more-photos summary{cursor:pointer;display:list-item;font-size:16px;color:var(--sea);padding:16px 0;list-style-position:inside}
.remaining-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.remaining-gallery .photo{height:240px}
#large{width:auto;height:auto;max-width:90vw;max-height:calc(90svh - 75px);object-fit:contain;display:block;margin:auto;background:none}
dialog{max-width:94vw;max-height:95svh;padding:0;overflow:hidden}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 20px;color:white}.gallery-controls button{background:transparent;border:1px solid #ffffff88;color:white;padding:10px 15px;cursor:pointer}.gallery-controls button:hover{background:#ffffff20}
@media(max-width:800px){.hero-img{object-position:50% 60%}.real-gallery{grid-template-columns:1fr 1fr;grid-template-rows:330px 210px 210px}.real-gallery .big{grid-column:span 2;grid-row:auto}.remaining-gallery{grid-template-columns:1fr 1fr;gap:12px}.remaining-gallery .photo{height:210px}.shade{background:linear-gradient(90deg,#021b3290,#021b3240),linear-gradient(180deg,#021b3260,transparent 65%)}.gallery-controls{gap:12px;padding:12px}.gallery-controls button{font-size:14px}}

/* Marina gallery photo behind the surroundings section. */
.surroundings{background-image:linear-gradient(90deg,rgba(3,26,45,.79),rgba(3,26,45,.64)),url('photos/07-353685918.jpg');background-size:cover;background-position:center 52%;background-repeat:no-repeat;color:#fff}
.surroundings .eyebrow{color:#9df5ff}
.surroundings .number{color:#a9eff7}
.surroundings .experiences p{color:#f0f8fc}
.surroundings .text-link{color:#fff}
@media(max-width:800px){.surroundings{background-position:57% center}}
.language-switch{display:flex;gap:5px;align-items:center}.language-switch a{display:inline-block;padding:8px 6px;font-size:13px;letter-spacing:.5px;border-bottom:2px solid transparent;color:white}.language-switch a:hover,.language-switch a[aria-current=page]{border-bottom-color:#64e4f0;color:#aaf7ff}.hero-copy h1{overflow-wrap:normal}html[lang=it] .hero-copy h1{font-size:clamp(42px,5.5vw,82px)}
@media(max-width:1000px){header{gap:20px}header .small{display:none}}
@media(max-width:800px){header{height:118px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:65px 40px;gap:0;padding:5px 5% 8px}header .brand{grid-column:1;grid-row:1}header .language-switch{grid-column:2;grid-row:1;justify-content:flex-end}header nav{grid-column:1 / -1;grid-row:2;justify-content:flex-start;gap:28px}header .brand span{font-size:9px}.language-switch a{padding:8px 5px;font-size:12px}.hero-copy{padding-top:160px}html[lang=it] .hero-copy h1{font-size:clamp(34px,8vw,60px)}}

.human-check{padding:18px;background:#fff;border:1px solid var(--line);margin:20px 0}.human-title{font-size:14px;font-weight:600;margin:0 0 14px}.human-check label{margin-bottom:0}.human-check input{max-width:150px;display:block}.human-check #human-help{color:var(--muted);font-size:13px;line-height:1.6;margin:12px 0 0}

/* Verified guest rating and location. */
.rating-badge{position:absolute;right:6%;bottom:105px;display:flex;align-items:center;gap:14px;padding:16px 20px;color:white;background:rgba(3,24,46,.78);border:1px solid #ffffff55;backdrop-filter:blur(8px)}
.rating-score{display:block;font-size:32px;font-weight:700}.rating-score small{font-size:13px;margin-left:4px;font-weight:400}.rating-badge strong{font-size:15px}.rating-badge>span:last-child>small{display:block;font-size:13px;margin-top:5px}.rating-badge:hover{background:#073552}
.reviews{padding-top:25px}.review-rating{display:flex;align-items:center;gap:16px;flex-shrink:0}.review-rating>strong{background:#073552;color:white;padding:16px;font-size:34px;border-radius:12px 12px 12px 0}.review-rating strong small{font-size:13px;margin-left:3px}.review-rating>span{font-size:14px;line-height:1.8}.review-note{color:var(--muted);font-size:14px;margin:0 0 26px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.review-card{padding:30px;border:1px solid var(--line);background:#f2fcff;display:flex;flex-direction:column}.review-mark{font-size:26px;color:var(--sea)}.review-card>p{font:24px/1.5 'Playfair Display',serif;margin:16px 0 28px;flex:1}.review-card div strong,.review-card div span{display:block}.review-card div span{font-size:13px;color:var(--muted);margin-top:6px}.review-source{display:flex;justify-content:space-between;gap:20px;margin-top:28px;align-items:center}.review-source small{color:var(--muted)}
.location{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.location>img{width:100%;height:430px;object-fit:cover}.location>div>p:not(.eyebrow){line-height:1.8;color:var(--muted);margin:24px 0}.location address{font-style:normal;line-height:1.8;margin-bottom:26px}.location+.booking{padding-top:20px}
@media(max-width:800px){.rating-badge{position:relative;right:auto;bottom:auto;align-self:flex-start;margin:0 6% 80px;padding:12px 16px}.hero{flex-direction:column;align-items:stretch;justify-content:center;height:auto;min-height:100svh}.hero-copy{padding-bottom:28px}.rating-score{font-size:27px}.rating-badge strong{font-size:13px}.rating-badge>span:last-child>small{font-size:12px}.review-grid,.location{grid-template-columns:1fr}.review-card{padding:24px}.review-card>p{font-size:23px}.reviews .section-top{display:flex;flex-direction:column;align-items:flex-start;gap:26px}.review-source{align-items:flex-start;flex-direction:column}.location>img{height:320px}.location{gap:32px}.location+.booking{padding-top:10px}}

.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:30px 6%;border-bottom:1px solid var(--line);background:#f2fcff}.trust-item{display:flex;align-items:center;gap:15px;padding:10px 0}.trust-item svg{flex-shrink:0;color:var(--sea)}.trust-item strong{display:block;font-size:15px;font-weight:600}.trust-item small{display:block;font-size:12px;color:var(--muted);margin-top:6px;line-height:1.5}.trust-item:hover strong{text-decoration:underline}
@media(max-width:1000px){.trust-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.trust-strip{gap:16px;padding:24px 6%}.trust-item{align-items:flex-start;gap:9px}.trust-item svg{width:24px;height:24px}.trust-item strong{font-size:13px}.trust-item small{font-size:11px}}

.hero-copy{max-width:1150px}.hero-copy h1{font-size:clamp(46px,5.7vw,82px);line-height:1.1}.hero-copy>p:not(.eyebrow){max-width:610px}.hero-availability{display:inline-flex;margin-left:24px;padding:14px 0;border-bottom:1px solid #ffffff99;font-size:15px}.hero-availability:hover{color:#aaf7ff}.stay-stories{padding-top:0}.stay-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;margin-bottom:90px}.stay-story:last-child{margin-bottom:0}.stay-story:nth-child(even)>img{order:2}.stay-story>img{width:100%;height:480px;object-fit:cover}.stay-story h2{font-size:clamp(34px,3vw,48px)}.stay-story div>p:not(.eyebrow){color:var(--muted);line-height:1.85;margin:22px 0 0}.practical{padding-top:10px}.practical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 45px;margin-top:40px}.practical h3{font:600 18px 'DM Sans',sans-serif;margin:0 0 14px}.practical article{border-top:1px solid var(--line);padding-top:25px}.practical article p{color:var(--muted);line-height:1.8;margin:0}
@media(max-width:800px){.hero-copy h1,html[lang=it] .hero-copy h1{font-size:clamp(37px,8vw,59px);letter-spacing:-1px}.hero-copy>p:not(.eyebrow){max-width:520px}.hero-availability{margin-left:0;margin-top:14px;display:table}.stay-story{grid-template-columns:1fr;gap:30px;margin-bottom:60px}.stay-story:nth-child(even)>img{order:0}.stay-story>img{height:330px}.practical-grid{grid-template-columns:1fr 1fr;gap:28px}.stay-stories{padding-top:0}}
@media(max-width:480px){.practical-grid{grid-template-columns:1fr}.hero-copy h1,html[lang=it] .hero-copy h1{font-size:39px}}
