.villa-main{padding:140px 6vw 70px;max-width:1800px;margin:auto}.villa-main>nav:first-child{font-size:1rem;color:var(--muted)}.villa-intro{max-width:850px;padding:70px 0 60px}.villa-intro h1{font-size:clamp(2.5rem,5vw,5rem);font-weight:300;line-height:1.16;margin:20px 0}.villa-intro>p:not(.kicker){font-size:1.3rem;line-height:1.7;max-width:650px}.villa-meta{display:block;margin-top:25px;font-size:1rem;color:var(--muted)}.villa-images{display:grid;grid-template-columns:1fr 1fr;gap:5vw 2vw}.villa-images figure{margin:0}.villa-images figure:first-child,.villa-images figure:last-child{grid-column:1/-1}.villa-images a{display:block}.villa-images img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.villa-images figcaption{display:flex;align-items:baseline;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.villa-images h2{font-size:1.3rem;font-weight:400;margin:0}.villa-images figcaption>span{font-size:.95rem;color:var(--muted)}.villa-images figcaption>span:last-child{margin-inline-start:auto}.villa-main .service-contact{margin-top:100px}.villa-next{display:flex;gap:32px;flex-wrap:wrap;border-top:1px solid var(--line);padding:35px 0;font-size:1.25rem}.slide .villa-gallery-link{font-size:1rem;text-decoration:underline;text-underline-offset:5px}.slide figcaption{flex-wrap:wrap;gap:12px}.villa-gallery-link:focus-visible,.villa-images a:focus-visible{outline:3px solid currentColor;outline-offset:5px}@media(max-width:700px){.villa-main{padding:110px 5vw 35px}.villa-intro{padding:35px 0}.villa-images{display:block}.villa-images figure{margin-bottom:35px}.villa-images figcaption{gap:12px;flex-wrap:wrap}.villa-images figcaption>span:last-child{font-size:.85rem}.villa-main .service-contact{margin-top:55px}}
#villaViewer{width:min(94vw,1500px);max-width:94vw;max-height:94dvh;padding:18px;background:#f7f5f0;border:0;color:#252925}#villaViewer::backdrop{background:rgba(15,20,17,.92)}#villaViewer img{display:block;max-width:100%;max-height:73dvh;width:auto;height:auto;margin:auto;object-fit:contain}#villaViewer .viewer-bar{display:flex;gap:16px;justify-content:space-between;align-items:center;margin:12px 0;flex-wrap:wrap}#villaViewer button{font:inherit;font-size:1rem;padding:10px 16px;background:transparent;color:inherit;border:1px solid #777;cursor:pointer}#villaViewer button:disabled{opacity:.4;cursor:default}#villaViewer p{font-size:1rem;margin:0}#villaViewer [data-close]{margin-inline-start:auto;display:block;margin-bottom:12px}

.villa-images .villa-detail{width:min(100%,565px);justify-self:center}.villa-images .villa-detail img{aspect-ratio:auto;object-fit:contain}
