/* Shared editorial layout: photographs, browsing, then a personal enquiry. */
.header{height:92px;padding-block:8px}.brand img{width:145px}.nav{gap:30px}.nav-contact{padding:13px 20px}.section{padding-block:88px}.section-heading{margin-bottom:42px}.section-heading h2{font-size:clamp(2.7rem,4.3vw,4.2rem)}
.editorial-hero{height:auto;min-height:650px;max-height:none;padding:65px 0 22px;justify-content:flex-start}.editorial-hero .hero-photo{object-position:center 52%}.editorial-hero .hero-shade{background:linear-gradient(180deg,#142a334d 0%,#142a3333 40%,#142a3377 100%)}.editorial-hero .hero-content{padding:0;width:90%;text-align:center;margin:0 auto 45px}.editorial-hero h1{font-size:clamp(3.6rem,6.8vw,6.4rem);margin:20px auto 24px;line-height:1.03}.editorial-hero h1 em{color:#fff6e8}.editorial-hero .hero-description{max-width:600px;margin:auto;font-size:16px;color:white}.editorial-hero .eyebrow{font-size:11px;letter-spacing:.2em}.hero-search{width:100%;max-width:1260px;margin:auto auto 0;padding:0 5%}.hero-search .trip-search{margin:0}.trip-search{grid-template-columns:1fr 1fr .8fr 1.2fr;gap:0;padding:14px;background:var(--paper);color:var(--ink);border:0;box-shadow:none}.trip-search label{padding-inline:20px}.search-destination{padding:0 20px;min-width:0;border-right:1px solid var(--line)}.search-destination>span,.trip-search label>span{display:block;font-size:10px;font-weight:500;letter-spacing:.13em;color:var(--muted);margin:0 0 5px}.search-destination strong{font-weight:400;font-size:15px;white-space:nowrap}.trip-search input,.trip-search select{font-size:15px}.trip-search button{margin-left:14px;width:calc(100% - 14px);min-height:60px}.hero-search .search-note{color:#fff;font-size:11px;text-align:center;margin-top:13px}.hero-caption{display:flex;justify-content:space-between;gap:20px;padding:25px 5% 0;font-size:11px;letter-spacing:.06em}.hero-caption a{border-bottom:1px solid #ffffff60;padding-bottom:3px}.collection-intro{max-width:335px;color:var(--muted);font-size:15px}.collection-intro .text-link{margin-top:20px}.home-collection{padding-top:85px;padding-bottom:70px}.villa-grid{gap:35px}.villa-card-photo{aspect-ratio:1.36}.villa-card-info h3{font-size:34px}.villa-card-info .eyebrow{font-size:10px;letter-spacing:.13em}.villa-card-info{padding-top:20px}.villa-summary{font-size:15px;max-width:470px}.villa-card-bottom{margin-top:20px}.villa-facts{font-size:13px}.hosting-strip{max-width:1600px;margin:auto;padding:12px 7% 70px;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.hosting-strip>div{border-top:1px solid var(--line);padding-top:25px;display:flex;gap:25px}.hosting-strip span{font-size:11px;color:var(--wine);padding-top:4px}.hosting-strip p{font-family:var(--serif);font-size:25px;line-height:1.35}.guest-team{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1600px;margin:auto;background:#e9e8df}.team-copy{padding:70px 13%;order:2}.team-photo{height:100%;position:relative;order:1}.team-photo img{height:100%;width:100%;min-height:620px;object-fit:cover;object-position:center}.team-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 7% 25px;background:linear-gradient(transparent,#102b34bb);color:white}.team-photo figcaption span{color:white;font-size:10px}.team h2{font-size:clamp(2.4rem,3.6vw,3.8rem);margin:25px 0}.team .lead{font-size:18px}.team-copy>p:not(.lead):not(.eyebrow){font-size:15px}.experience{padding-top:90px;padding-bottom:90px}.experience .section-heading>p{font-size:15px}.steps{gap:40px}.steps p{font-size:15px}.steps h3{font-size:25px}.stay-invitation{text-align:center;background:var(--wine);color:var(--paper);padding:78px 7% 85px;display:flex;flex-direction:column;align-items:center}.stay-invitation h2{margin:22px 0;font-size:clamp(2.8rem,4.5vw,4.3rem)}.stay-invitation h2 em{color:#e7c6a9}.stay-invitation>p:not(.eyebrow){max-width:480px;font-size:15px;color:#f1dfd5}.stay-invitation .button{margin-top:30px}.stay-invitation .text-link{margin-top:18px}.footer-nav{display:flex;gap:30px;flex-wrap:wrap;border-top:1px solid var(--line);padding:20px 0 30px;font-size:13px}.footer-top{margin-bottom:20px}
.catalog-intro{padding-top:60px;padding-bottom:40px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:20px 10%}.catalog-intro>.eyebrow{grid-column:1/-1}.catalog-intro h1{font-size:clamp(3rem,5vw,5rem);letter-spacing:-.04em;line-height:1.08}.catalog-intro h1 em{color:var(--wine)}.catalog-intro>p:not(.eyebrow){max-width:380px;color:var(--muted);font-size:15px;padding-bottom:8px}.catalog-intro+.search-wrap .trip-search{background:#eeeae3;margin-top:0}.catalog-results{padding-top:50px}.catalog-results .villa-filters{border-bottom:1px solid var(--line);padding-bottom:22px}.catalog-results .villa-filters select{font-size:14px}.catalog-results .trip-summary{font-size:13px;background:transparent;border-left:0;padding:0 0 20px;border-bottom:1px solid var(--line)}
[data-page=contact] .reservation{padding-top:65px}[data-page=contact] .reservation-intro h1{font-size:clamp(3rem,4.7vw,4.7rem);letter-spacing:-.04em}[data-page=contact] .reservation-intro h1 em{color:var(--wine)}[data-page=contact] .reservation-intro{padding-top:18px}.villa-back{padding-block:25px 0}.villa-back .text-link{font-size:12px}.villa-detail{padding-top:25px}.villa-detail-heading{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:35px}.villa-detail-heading>.eyebrow,.villa-detail-heading>h1{grid-column:1}.villa-detail-heading h1{font-size:clamp(3rem,5vw,5rem);margin:12px 0 16px}.villa-detail-heading>.lead{grid-column:1;font-size:15px;margin-bottom:25px}.villa-quick-links{grid-column:2;grid-row:2/4;margin:0 0 25px;flex-direction:column;align-items:flex-end;gap:8px}.villa-quick-links .text-link{font-size:13px}.villa-main-image{height:clamp(380px,50vw,620px)}.villa-thumbnails{gap:12px;padding:4px 0}.villa-thumbnails button{width:calc((100% - 60px)/6);min-width:100px}.villa-thumbnails img{height:95px}.villa-section-nav{display:flex;gap:35px;padding:24px 0 20px;border-bottom:1px solid var(--line);font-size:13px;color:var(--wine)}.villa-section-nav a:last-child{margin-left:auto}.villa-section-nav a:hover{text-decoration:underline;text-underline-offset:5px}.villa-detail-body{margin-top:45px}.villa-description{scroll-margin-top:125px}.villa-inline-enquiry{border-top:3px solid var(--wine)}
@media(min-width:1600px){.editorial-hero{min-height:760px}.hero-search{max-width:1320px}.team-copy{padding-block:90px}}
@media(max-width:1100px){.header{gap:20px}.nav{gap:18px;font-size:13px}.nav-contact{padding:12px 14px}.trip-search label,.search-destination{padding-inline:12px}.trip-search{grid-template-columns:1fr 1fr .8fr 1.2fr}.trip-search button{font-size:13px;padding-inline:12px}.team-copy{padding:50px 10%}.team-photo img{min-height:570px}.team-photo figcaption{align-items:flex-start}.hosting-strip p{font-size:22px}.hosting-strip>div{gap:15px}}
@media(max-width:850px){.header{height:84px}.nav{top:84px}.brand img{width:132px}.nav a{font-size:16px}.section{padding-block:65px}.editorial-hero{min-height:660px;padding-top:60px}.editorial-hero .hero-content{margin-bottom:35px}.editorial-hero h1{font-size:60px}.trip-search{grid-template-columns:1fr 1fr;gap:16px 0}.search-destination{display:none}.trip-search label:nth-of-type(2){border:0}.trip-search label:nth-of-type(3){border-right:1px solid var(--line)}.trip-search button{margin:0 10px;width:calc(100% - 20px);min-height:52px}.hero-search{max-width:650px}.collection-intro{max-width:540px;margin-top:25px}.collection-intro .text-link{margin-top:14px}.home-collection .section-heading{margin-bottom:35px}.villa-card-bottom{align-items:flex-start;flex-direction:column;gap:6px}.hosting-strip{gap:25px;padding-bottom:60px}.hosting-strip p{font-size:21px}.hosting-strip>div{flex-direction:column;gap:12px}.guest-team{padding:0}.team-copy{padding:45px 9%}.team h2{font-size:34px}.team-photo img{min-height:650px}.team-photo figcaption{flex-direction:column}.catalog-intro{gap:25px 7%}.catalog-intro>p:not(.eyebrow){font-size:14px}.catalog-intro+.search-wrap{max-width:none}.catalog-intro+.search-wrap .trip-search{grid-template-columns:1fr 1fr 1fr 1fr;gap:0}.catalog-intro+.search-wrap .trip-search label:nth-of-type(2){border-right:1px solid var(--line)}.villa-detail-heading{display:block}.villa-quick-links{flex-direction:row;align-items:flex-start;margin-bottom:25px;gap:25px}.villa-main-image{height:450px}.villa-detail{padding-top:30px}.villa-back{padding-block:25px 0}.villa-detail-body{margin-top:30px}}
@media(max-width:600px){html{scroll-padding-top:94px}.header{padding-inline:6%}.editorial-hero{min-height:690px;padding:44px 0 19px}.editorial-hero .hero-photo{object-position:47% center}.editorial-hero .hero-shade{background:linear-gradient(180deg,#142a3355,#142a331f 50%,#142a3399)}.editorial-hero .hero-content{width:88%;margin-bottom:30px}.editorial-hero .eyebrow{max-width:none;font-size:9px;letter-spacing:.14em}.editorial-hero h1{font-size:clamp(2.9rem,12.1vw,4.2rem);margin:21px auto;line-height:1.09}.editorial-hero .hero-description{font-size:14px;max-width:300px}.hero-search{padding-inline:6%}.hero-search .trip-search{padding:16px 10px;gap:10px 0}.trip-search label{padding-inline:10px}.trip-search label>span{font-size:9px}.trip-search input,.trip-search select{font-size:14px;min-height:35px}.trip-search button{font-size:13px;padding:12px 8px}.hero-search .search-note{font-size:10px;line-height:1.5;padding:0 12px}.hero-caption{padding:24px 6% 0;font-size:9px;gap:10px}.section{padding-block:55px}.home-collection{padding-top:52px}.section-heading h2{font-size:39px}.section-heading .eyebrow{margin-bottom:18px}.collection-intro{font-size:14px;margin-top:22px}.villa-grid{gap:40px}.villa-card-photo{aspect-ratio:1.24}.villa-card-info h3{font-size:31px}.villa-card-info{padding-top:18px}.villa-card-bottom{flex-direction:row;align-items:center;gap:15px}.villa-card-bottom .text-link,.villa-price{font-size:12px}.villa-card-bottom .text-link:after{margin-left:3px}.hosting-strip{grid-template-columns:1fr;gap:0;padding:0 6% 50px}.hosting-strip>div{flex-direction:row;gap:22px;padding:18px 0;align-items:center}.hosting-strip p{font-size:21px}.hosting-strip p br{display:none}.hosting-strip span{padding:0}.guest-team{grid-template-columns:1fr;padding:0}.team-photo{order:1}.team-photo img{min-height:0;height:auto;aspect-ratio:1.2;object-position:center}.team-copy{order:2;padding:45px 7% 50px}.team h2{font-size:38px}.team-photo figcaption{flex-direction:row;align-items:center;font-size:12px}.team-photo figcaption span{font-size:9px}.team .lead{font-size:17px}.experience .section-heading{margin-bottom:30px}.steps{gap:25px}.steps article{padding-top:18px}.steps h3{font-size:25px}.steps p{font-size:14px}.stay-invitation{padding:55px 7% 60px}.stay-invitation h2{font-size:37px}.stay-invitation>p:not(.eyebrow){font-size:14px}.stay-invitation .eyebrow{font-size:10px}.footer-nav{gap:12px 25px;font-size:12px}.catalog-intro{display:block;padding-top:40px;padding-bottom:30px}.catalog-intro h1{font-size:46px;margin:20px 0}.catalog-intro>p:not(.eyebrow){max-width:none}.catalog-intro+.search-wrap .trip-search{grid-template-columns:1fr 1fr;gap:12px 0}.catalog-intro+.search-wrap .trip-search label:nth-of-type(2){border:0}.catalog-results{padding-top:32px}.catalog-results .villa-filters{align-items:flex-end}.catalog-results .villa-filters select{min-width:190px}.villa-filters p{font-size:12px}.villa-detail{padding-top:25px}.villa-back{padding-block:20px 0}.villa-detail-heading h1{font-size:44px}.villa-detail-heading>.lead{font-size:13px;margin-bottom:22px}.villa-quick-links{gap:14px 24px}.villa-quick-links .text-link{font-size:12px}.villa-main-image{height:350px}.villa-thumbnails{gap:8px}.villa-thumbnails button{min-width:80px}.villa-thumbnails img{height:65px}.villa-section-nav{gap:20px;padding:20px 0;font-size:11px;flex-wrap:wrap}.villa-section-nav a:last-child{margin-left:0}.villa-detail-body{margin-top:28px}[data-page=contact] .reservation{padding-top:35px}[data-page=contact] .reservation-intro h1{font-size:46px}.villa-grid>.villa-card:only-child .villa-card-info h3{font-size:35px}}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:851px){.catalog-intro{padding-top:42px;padding-bottom:30px}.catalog-intro h1{font-size:clamp(3rem,4.3vw,4.4rem)}.catalog-results{padding-top:28px}.catalog-results .villa-filters{margin-bottom:25px;padding-bottom:16px}.catalog-results .trip-summary{padding-bottom:12px;margin-bottom:18px}}

/* Three editorial statements between the hero and the villa collection. */
.island-promises{background:var(--paper);border-bottom:1px solid var(--line)}
.island-promises-grid{max-width:1360px;margin:0 auto;padding:72px 6% 76px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,64px);text-align:center}
.island-promises h2{margin:0;letter-spacing:0}
.promise-kicker{display:block;font-family:var(--sans);font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.16em;color:var(--ink)}
.promise-title{display:block;margin-top:8px;font-family:var(--serif);font-size:clamp(28px,3.1vw,46px);font-weight:400;line-height:1.13;letter-spacing:-.045em;color:var(--wine);white-space:nowrap}
.island-promises p{max-width:330px;margin:21px auto 0;font-family:var(--serif);font-size:18px;line-height:1.5;color:var(--ink);text-wrap:pretty}
@media(max-width:850px){.island-promises-grid{padding:52px 5% 56px;gap:26px}.promise-kicker{font-size:10px;letter-spacing:.12em}.promise-title{font-size:clamp(25px,3.55vw,31px)}.island-promises p{font-size:16px;margin-top:17px}}
@media(max-width:650px){.island-promises-grid{grid-template-columns:1fr;padding:46px 8% 50px;gap:34px}.island-promises article+article{border-top:1px solid var(--line);padding-top:33px}.promise-kicker{font-size:11px}.promise-title{font-size:38px;margin-top:7px}.island-promises p{max-width:325px;font-size:18px;margin-top:15px}}

/* Brand signature and the single-destination search. */
.footer-brand img{width:160px;height:auto}.trip-search label:first-of-type{border-right:1px solid var(--line)}
@media(min-width:851px){.trip-search label:nth-of-type(2){border-right:1px solid var(--line)}}
@media(max-width:600px){.footer-brand img{width:145px}.footer-top{align-items:flex-start}.footer-top>span{max-width:180px;text-align:right}}

/* Browse each villa's photographs directly from its card. */
.villa-card-gallery{position:relative;aspect-ratio:1.36;min-width:0;overflow:hidden;background:#e9e5dc}
.villa-card-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.villa-card-track::-webkit-scrollbar{display:none}
.villa-card-gallery .villa-card-photo{flex:0 0 100%;width:100%;height:100%;aspect-ratio:auto;scroll-snap-align:start;scroll-snap-stop:always;user-select:none}
.villa-card-gallery .villa-card-photo img{height:100%;width:100%;object-fit:cover}
.villa-card-gallery .villa-card-photo:focus-visible{outline-offset:-5px}
.card-photo-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0 0 4px;border:1px solid #ffffff9c;border-radius:50%;background:#faf7f0e8;color:var(--wine);box-shadow:0 2px 12px #00000018;font-family:Georgia,serif;font-size:35px;line-height:1;z-index:1}
.card-photo-previous{left:16px}.card-photo-next{right:16px}.card-photo-arrow:hover{background:white}.card-photo-arrow:active{background:#e9e5dc}.card-photo-arrow:focus-visible{outline:3px solid var(--wine);outline-offset:3px}
.card-photo-count{position:absolute;right:17px;bottom:16px;padding:4px 11px;background:#242b29c9;color:white;border:1px solid #ffffff30;border-radius:20px;font-size:11px;line-height:1.7;letter-spacing:.08em;font-variant-numeric:tabular-nums;pointer-events:none}
@media(max-width:600px){.villa-card-gallery{aspect-ratio:1.24}.card-photo-previous{left:12px}.card-photo-next{right:12px}.card-photo-count{right:13px;bottom:12px;font-size:10px}.villa-card-gallery .villa-card-photo:hover img{transform:none}}

/* Draw navigation arrows independently of the device's emoji font. */
.link-arrow-up-right::after,.link-arrow-down::after,.villa-card-bottom .text-link::after,.villa-back .text-link::before{
  content:"";display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.12em;
  background-color:currentColor;
  -webkit-mask:url("assets/arrow-up-right.svg") center / contain no-repeat;
  mask:url("assets/arrow-up-right.svg") center / contain no-repeat;
}
.link-arrow-up-right::after,.link-arrow-down::after,.villa-card-bottom .text-link::after{margin-left:.55em}
.link-arrow-down::after{transform:rotate(135deg)}
.villa-back .text-link::before{transform:rotate(225deg);margin-right:.55em}
