html{scroll-behavior:smooth;scroll-padding-top:160px}
.villa-detail-page{padding-bottom:0}
.detail-pad{padding-inline:var(--gutter)}
.villa-intro{padding-top:34px}
.breadcrumbs{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--muted)}
.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}
.villa-headline{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:55px 0 32px}
.villa-headline h1{font-size:clamp(100px,14vw,205px);letter-spacing:-.045em;line-height:.86;margin-top:20px}
.villa-tagline{display:flex;align-items:center;gap:55px;padding-bottom:10px}
.villa-tagline p{font-size:18px;line-height:1.6}
.villa-tagline .star{width:36px;height:36px}
.villa-facts{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;padding:22px 0;border-block:1px solid var(--line);font-size:11px}
.villa-facts span:last-child{margin-left:auto;color:var(--muted)}
.detail-photos{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:6vw;padding-top:32px;padding-bottom:45px;align-items:start}
.detail-photos .villa-gallery{min-width:0}
.detail-photos .gallery-cover{height:auto;aspect-ratio:1.5;border-radius:0}
.detail-photos .gallery-cover img{position:absolute;inset:0}
.detail-photos .gallery-cover .image-note{font-size:11px;padding:12px 18px}
.detail-photos .gallery-meta{padding-top:18px}
.detail-photos .gallery-thumb{flex-basis:76px;height:58px}
.side-photo{padding-top:55px;min-width:0}
.side-photo>img{height:auto;aspect-ratio:1/1.08;border-radius:50% 50% 0 0;object-fit:cover}
.side-photo figcaption{padding-top:22px}
.side-photo figcaption p{font-size:13px;margin:8px 0}
.side-photo .text-link{font-size:11px}
.detail-nav{display:flex;align-items:center;gap:36px;padding:0 var(--gutter);min-height:62px;border-block:1px solid var(--line);position:sticky;top:var(--header);background:white;z-index:50;font-size:11px}
.detail-nav a{padding:20px 0;white-space:nowrap}
.detail-nav a:hover{text-decoration:underline;text-underline-offset:6px}
.detail-nav a:last-child{margin-left:auto;display:flex;gap:30px}
.detail-section{padding:100px var(--gutter);border-bottom:1px solid var(--line)}
.detail-section h2{font-size:clamp(54px,5.7vw,88px);line-height:1;letter-spacing:-.025em}
.detail-section .eyebrow{margin-bottom:24px}
.villa-overview,.good-to-know{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10vw}
.overview-copy>p{font-size:14px;line-height:1.85;margin-bottom:22px}
.overview-copy .large-copy{font-size:21px;line-height:1.6;margin-bottom:32px}
.overview-copy .text-link{margin-top:8px}
.detail-section-heading{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:50px}
.detail-section-heading .eyebrow{margin-bottom:8px}
.amenities-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8vw}
.amenities-list li{display:flex;gap:24px;padding:24px 0;border-top:1px solid var(--line)}
.amenity-number{font-size:10px;color:var(--muted);padding-top:6px;min-width:20px}
.amenities-list h3{font-size:27px;line-height:1.1;letter-spacing:-.01em;margin-bottom:10px}
.amenities-list p{font-size:12px;color:var(--muted)}
.stay-details dl{margin:0 0 24px}
.stay-details dl>div{display:grid;grid-template-columns:120px 1fr;gap:25px;padding:20px 0;border-top:1px solid var(--line);font-size:13px}
.stay-details dt{font-size:10px;text-transform:uppercase;letter-spacing:.1em;padding-top:3px;color:var(--muted)}
.stay-details dd{margin:0}
.stay-details details{border-top:1px solid var(--line)}
.stay-details details:last-child{border-bottom:1px solid var(--line)}
.stay-details summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;padding:20px 0;font-size:13px}
.stay-details summary::-webkit-details-marker{display:none}
.stay-details summary span{font-size:22px}
.stay-details details[open] summary span{transform:rotate(45deg)}
.stay-details details p{font-size:12px;color:var(--muted);padding-bottom:24px;line-height:1.8}
.both-villas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10vw;align-items:center;overflow:hidden}
.both-mark{height:320px;position:relative;display:flex;align-items:center;justify-content:center;gap:18px}
.both-mark::before,.both-mark::after{content:"";position:absolute;width:260px;height:260px;border:1px solid var(--ink);border-radius:50%;top:30px}
.both-mark::before{left:calc(50% - 200px)}
.both-mark::after{right:calc(50% - 200px)}
.both-mark span{width:100px;text-align:center;font-size:9px;letter-spacing:.15em;z-index:1}
.both-mark .star{width:30px;height:30px;background:white;z-index:1;flex-shrink:0}
.both-copy>p:not(.eyebrow){font-size:13px;margin:26px 0;line-height:1.8}
.both-actions{display:flex;gap:26px;flex-wrap:wrap;align-items:center}
.villa-detail-page .stay{border-top:0}
.villa-detail-page footer{padding-bottom:35px}
@media(max-width:1000px){
  .villa-tagline{gap:28px}.villa-tagline p{font-size:15px}
  .detail-photos{gap:4vw}.side-photo{padding-top:32px}
  .villa-overview,.good-to-know,.both-villas{gap:6vw}
  .both-mark::before,.both-mark::after{width:210px;height:210px;top:55px}
  .both-mark::before{left:calc(50% - 160px)}.both-mark::after{right:calc(50% - 160px)}
  .both-mark{gap:0}.both-mark span{width:90px}
}
@media(max-width:760px){
  html{scroll-padding-top:136px}
  .villa-intro{padding-top:24px}.breadcrumbs{font-size:9px;gap:10px}
  .villa-headline{padding:34px 0 26px;gap:20px;align-items:flex-end}
  .villa-headline h1{font-size:clamp(85px,23vw,140px);margin-top:16px}
  .villa-headline .eyebrow{font-size:8px;letter-spacing:.12em}
  .villa-tagline{padding:0 0 6px}.villa-tagline p{display:none}.villa-tagline .star{width:24px;height:24px}
  .villa-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;padding:18px 0;font-size:10px}
  .villa-facts span:last-child{margin:0;grid-column:1/-1}
  .detail-photos{grid-template-columns:minmax(0,1fr);padding-top:24px;padding-bottom:32px;gap:24px}
  .detail-photos .gallery-cover{aspect-ratio:1.15}
  .detail-photos .gallery-cover .image-note{font-size:10px;padding:10px 12px}
  .detail-photos .gallery-thumb{flex-basis:68px;height:54px}
  .side-photo{padding:0;display:grid;grid-template-columns:38% minmax(0,1fr);gap:22px;align-items:center}
  .side-photo>img{aspect-ratio:1/1.2}.side-photo figcaption{padding:0}.side-photo .eyebrow{font-size:8px}
  .side-photo figcaption p{font-size:12px}.side-photo .text-link{font-size:10px;gap:12px}
  .detail-nav{gap:25px;min-height:52px;overflow-x:auto;scrollbar-width:thin;font-size:10px}
  .detail-nav a{padding:16px 0}.detail-nav a:last-child{margin:0;gap:10px}
  .detail-section{padding:62px var(--gutter)}
  .detail-section h2{font-size:clamp(46px,12vw,70px)}
  .detail-section .eyebrow{font-size:9px;margin-bottom:20px}
  .villa-overview,.good-to-know,.both-villas{grid-template-columns:minmax(0,1fr);gap:32px}
  .overview-copy .large-copy{font-size:18px;margin-bottom:24px}.overview-copy>p{font-size:13px}
  .detail-section-heading{display:block;margin-bottom:32px}
  .amenities-list{gap:0 24px}.amenities-list li{display:block;padding:22px 0}
  .amenity-number{display:block;padding:0;margin-bottom:12px}.amenities-list h3{font-size:23px;line-height:1.1}.amenities-list p{font-size:11px}
  .stay-details dl>div{grid-template-columns:94px minmax(0,1fr);gap:14px;font-size:12px}
  .stay-details summary{font-size:12px}.stay-details summary span{flex-shrink:0}
  .good-to-know h2 br{display:none}.good-to-know h2{max-width:9ch}
  .both-mark{height:250px}.both-mark::before,.both-mark::after{top:20px}
  .both-copy h2{max-width:10ch}.both-actions{gap:16px 24px}
  .both-copy>p:not(.eyebrow) br{display:none}
  .villa-detail-page .stay-intro h2{font-size:54px}
  .villa-detail-page .stay-intro h2 br{display:block}
  .villa-detail-page form input,.villa-detail-page form select{font-size:16px}
}
