:root{--paper:#f3f9fb;--white:#ffffff;--ink:#15364c;--green:#15587d;--muted:#455f6d;--line:#c9dae1;--terracotta:#166a91;--sun:#bfe7f5;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-underline-offset:.22em}img{display:block;width:100%;height:100%;object-fit:cover;background:#bed8e4}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #166a91;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03;letter-spacing:-.045em}h2{font-size:clamp(2.8rem,6vw,5.3rem)}h3{font-size:clamp(1.8rem,3vw,2.65rem)}p+p{margin-top:.9rem}.wrap{width:min(1200px,calc(100% - 104px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.68rem;font-weight:750;line-height:1.45}.eyebrow.accent{color:var(--terracotta)}.skip{position:absolute;left:1rem;top:-6rem;padding:1rem;background:var(--white);z-index:5}.skip:focus{top:1rem}.top{background:var(--white);border-bottom:1px solid var(--line);position:relative;z-index:3}.top-inner{height:83px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}.mark{width:34px;height:34px;color:var(--terracotta);flex:none}.brand strong{display:block;font-family:var(--serif);font-size:1.2rem;font-weight:400;line-height:1.1}.brand small{display:block;font-size:.58rem;letter-spacing:.19em;text-transform:uppercase;margin-top:5px}.nav{display:flex;align-items:center;gap:25px}.nav a{font-size:.83rem;text-decoration:none}.nav a:hover,.quiet:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.85rem 1.24rem;border:1px solid var(--green);border-radius:3px;color:white;background:var(--green);font-weight:650;font-size:.83rem;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}.button:hover{background:#0c3e63}.button.outline{color:var(--ink);background:transparent}.button.outline:hover{background:var(--green);color:white}.button.light{background:var(--sun);border-color:var(--sun);color:var(--ink)}.button.light:hover{background:#e8f7fc}.menu-toggle{display:none;background:transparent;color:var(--ink);border:1px solid var(--line);padding:.4rem .8rem;border-radius:3px}
.hero{display:grid;grid-template-columns:.85fr 1.15fr;min-height:clamp(520px,48vw,675px);background:linear-gradient(145deg,#f2f9fc 0%,#d8edf7 100%)}.hero-copy{align-self:center;padding:56px clamp(36px,5vw,87px) 60px max(52px,calc((100vw - 1200px)/2))}.hero h1{font-size:clamp(3.4rem,6.4vw,6.35rem);margin:.85rem 0 1.35rem;line-height:.94}.hero h1 em,.intro h2 em{display:block;color:var(--terracotta);font-weight:400}.hero p{max-width:360px;color:#38596c;font-size:1rem}.hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:1.75rem}.quiet{font-size:.83rem;font-weight:650}.hero-photo{position:relative;min-height:100%;overflow:hidden}.hero-photo img{position:absolute;inset:0;object-position:center 52%}.hero-photo figcaption{position:absolute;bottom:23px;right:24px;background:var(--white);color:var(--ink);padding:.54rem .78rem;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}.facts{background:var(--green);color:#f6fcff}.facts .wrap{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding-block:22px}.facts div div{border-inline-end:1px solid #ffffff40}.facts div div:last-child{border:0}.facts strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.28rem}.facts span{font-size:.72rem;color:#d9edf7}
.section{padding:clamp(64px,9vw,130px) 0}.intro{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(38px,8vw,110px);align-items:center}.intro-copy h2,.section-title h2,.reserve h2{margin:.7rem 0 1.25rem}.intro p,.section-title p,.inside-copy p{color:var(--muted);max-width:50ch}.intro figure{position:relative;height:clamp(285px,39vw,490px)}.intro figcaption,.caption{margin-top:.55rem;color:var(--muted);font-size:.76rem}.inside{background:#f3eee3}.inside-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:4%;align-items:start;margin-top:2rem}.inside-grid figure:first-child{aspect-ratio:1.37}.inside-grid figure:nth-child(2){aspect-ratio:1.1;margin-top:40px}.inside-grid img{height:calc(100% - 1.55rem)}.inside-copy{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:2.1rem}.inside-copy h3{font-size:1.65rem;margin-bottom:.5rem}.inside-copy p{font-size:.9rem}.discovery{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--white);border:1px solid var(--line)}.discovery figure{min-height:365px}.discovery-copy{padding:clamp(26px,5vw,72px)}.discovery h2{font-size:clamp(2.6rem,5vw,4.5rem);margin:.7rem 0 1.3rem}.discovery p{color:var(--muted);margin-bottom:1rem}.places{display:grid;gap:.65rem;list-style:none;margin:1.2rem 0 1.45rem;padding:0}.places li{border-bottom:1px solid var(--line);padding-bottom:.55rem;font-size:.91rem}.places strong{font-weight:650}.reserve{background:var(--green);color:var(--white);padding:clamp(65px,8vw,105px) 0}.reserve-inner{display:grid;grid-template-columns:1.2fr .65fr;gap:45px;align-items:center}.reserve .eyebrow{color:var(--sun)}.reserve p{max-width:53ch;color:#e5f3f9}.reserve-actions{display:grid;justify-items:start;gap:.85rem}.reserve-actions a:not(.button){font-size:.9rem}.info{padding:48px 0 59px}.info h2{font-size:2rem;margin-bottom:1rem}.info details{border-bottom:1px solid var(--line);padding:.85rem 0}.info summary{cursor:pointer;font-weight:620}.info details p{margin-top:.6rem;max-width:72ch;color:var(--muted);font-size:.92rem}.footer{border-top:1px solid var(--line);padding:25px 0 28px;color:var(--muted);font-size:.76rem}.footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.foot-links{display:flex;gap:16px;flex-wrap:wrap}
@media(max-width:1050px){.nav{gap:17px}.top-inner{gap:15px}.hero-copy{padding-right:32px}.wrap{width:calc(100% - 72px)}.hero-copy{padding-left:36px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.top-inner{height:68px}.menu-toggle{display:inline-block}.top-inner>.button{display:none}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);padding:1rem 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.nav[data-open=true]{display:flex}.nav a{padding:.3rem .2rem}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 20px 40px}.hero h1{font-size:clamp(3.2rem,12vw,5.2rem)}.hero-photo{min-height:clamp(290px,63vw,480px)}.hero-photo figcaption{bottom:12px;right:12px}.facts .wrap{grid-template-columns:1fr 1fr;gap:14px 0;padding-block:16px}.facts div div:nth-child(even){border:0}.facts strong{font-size:1.12rem}.intro,.discovery,.reserve-inner{grid-template-columns:1fr;gap:25px}.intro figure{height:clamp(260px,64vw,460px)}.inside-grid{gap:10px;margin-top:1.35rem}.inside-grid figure:nth-child(2){margin-top:0}.inside-copy{grid-template-columns:1fr;gap:15px;margin-top:1.6rem}.discovery{gap:0}.discovery figure{min-height:245px;aspect-ratio:1.6}.reserve-inner{gap:20px}.section{padding:58px 0}.intro{padding-bottom:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.nav a[aria-current=page]{font-weight:750;color:var(--terracotta)}
@media(min-width:801px) and (max-width:1100px){.nav{gap:12px}.top-inner>.button{padding-inline:.65rem}.brand{gap:8px}.brand strong{font-size:1rem}}
.page-title{padding:clamp(44px,7vw,100px) 0;background:linear-gradient(145deg,#f2f9fc,#d8edf7)}
.page-title h1{font-size:clamp(3.15rem,7vw,6rem);margin:.65rem 0 1rem}
.page-title p{max-width:58ch;color:var(--muted)}
.content{padding:clamp(42px,6vw,80px) 0}
.content h2{font-size:clamp(2.2rem,4.5vw,3.75rem);margin-bottom:1rem}
.content h3{font-size:1.8rem;margin-bottom:.65rem}
.content p{color:var(--muted)}
.text{max-width:72ch}
.text p+p,.text ul{margin-top:1rem}
.text h2:not(:first-child){margin-top:2.2rem}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.6vw,30px);margin-top:1.6rem}
.tile{background:white;border:1px solid var(--line);min-width:0}
.tile img{aspect-ratio:4/3;height:auto}
.tile .tile-copy{padding:clamp(15px,2.5vw,27px)}
.tile .quiet{display:inline-block;margin-top:.8rem}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px);align-items:center}
.feature img{height:auto;aspect-ratio:4/3}
.intro .villa-outdoor-photo{height:auto}
.villa-outdoor-crop{overflow:hidden;aspect-ratio:2668 / 1287}
.villa-outdoor-crop img{width:calc(100% * 2713 / 2668);max-width:none;height:auto}
.feature .quiet,.intro-copy .quiet{display:inline-block;margin-top:1rem}
.actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1.4rem 0}
.foot-links{row-gap:.4rem}.footer .wrap{align-items:start}
.article h2,.article h3{margin-top:1.8rem}
.rates-table{width:100%;max-width:48rem;border-collapse:collapse;margin:1.5rem 0;background:#fff;font-variant-numeric:tabular-nums}
.rates-table th,.rates-table td{padding:.8rem clamp(.5rem,2vw,1.25rem);border-bottom:1px solid var(--line);text-align:left}
.rates-table thead{background:#d8edf7}
.rates-table tbody tr:nth-child(even){background:#f2f9fc}
.rates-table tbody th{font-weight:500}
.rates-table td{text-align:right;white-space:nowrap}
.rates-table thead th:not(:first-child){text-align:right}
.availability{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;max-width:48rem;margin:1.2rem 0}
.availability[hidden]{display:none}
.availability label{display:grid;gap:.3rem;font-weight:650;min-width:0}
.availability input{min-width:0;width:100%;box-sizing:border-box;padding:.65rem;border:1px solid var(--line);border-radius:.25rem;background:white;color:inherit;font:inherit}
.availability .button{grid-column:1/-1;justify-self:start}
@media(max-width:600px){.availability{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature{grid-template-columns:1fr}.nav{gap:.6rem 1rem}}
@media(max-width:530px){.grid{grid-template-columns:1fr}.actions .button{white-space:normal}.rates-table{font-size:.88rem}}

.languages{display:flex;justify-content:center;gap:1rem;padding:0 .75rem .55rem;font-size:.84rem}.languages a[aria-current=true]{font-weight:750;text-decoration:underline}.hero h1 em{display:block}
