.villa-directory { max-width:1600px; margin:auto; padding:clamp(40px,6vw,90px) clamp(18px,5vw,80px); }
.villa-directory header { max-width:780px; }
.villa-directory h1 { font:400 clamp(36px, 4vw, 56px)/1.1 var(--serif); margin:15px 0; }
.villa-directory .destination-search { max-width:560px; background:transparent; border:0; padding:0; }
.villa-directory .destination-search label { font:500 13px var(--sans); color:#494a40; }
.villa-directory .destination-search input,.villa-directory button { background:#faf8f3; border:1px solid #bcb6a5; color:#35362f; padding:10px 16px; font-family:var(--sans); }
.directory-switch { display:flex; gap:6px; margin:20px 0; }
.directory-switch button { cursor:pointer; }
.directory-switch [aria-pressed="true"] { background:#292c25; color:#fff; }
.villa-directory [hidden] { display:none!important; }
.villa-directory #destination-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(18px,2vw,32px); }
.villa-directory #destination-results a { display:flex; flex-direction:column; color:#282a24; text-decoration:none; background:#eee8dc; }
.villa-directory #destination-results a:nth-child(3n+2) { background:#e8e9e1; }
.villa-directory #destination-results img { width:100%; height:auto; aspect-ratio:1.6; object-fit:cover; }
.directory-caption { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px; padding:18px 20px; }
.directory-caption strong { font:400 clamp(21px,2vw,29px)/1.25 var(--serif); }
.directory-caption small { color:#625943; font:500 13px var(--sans); }
@media(max-width:900px){.villa-directory #destination-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.villa-directory #destination-results{grid-template-columns:minmax(0,1fr)}}

.directory-location { display:grid; gap:4px; }
.directory-parent { color:#605d54; font:400 14px/1.4 var(--sans); }

/* Oversized signature extends behind the first row of destination photographs. */
.villa-directory{position:relative;isolation:isolate;overflow:hidden}
.villa-directory::before{content:"";position:absolute;top:clamp(60px,7vw,110px);right:clamp(-70px,-3vw,-20px);width:clamp(440px,48vw,720px);aspect-ratio:1;background:url('/assets/edition-icon.svg') center/contain no-repeat;opacity:.18;pointer-events:none;z-index:-1}
.villa-directory header{max-width:780px}
.villa-directory #destination-results{position:relative}
@media(max-width:900px){.villa-directory::before{top:130px;right:-90px;width:520px;opacity:.12}}
@media(max-width:600px){.villa-directory::before{top:170px;right:-100px;width:400px;opacity:.1}}
