[data-villa]{position:relative;display:block;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:var(--ui-surface, var(--gm-surface));color:var(--ui-text-inverse, var(--gm-white));text-decoration:none;filter:brightness(.92);transition:filter var(--hover-ms, .32s) ease}[data-villa]:hover{filter:brightness(1)}[data-villa]:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,color-mix(in srgb,var(--gm-black) 35%,transparent),transparent 22%),linear-gradient(to top,color-mix(in srgb,var(--gm-black) 45%,transparent),transparent 32%);pointer-events:none}[data-villa]>*{position:relative;z-index:1}[data-villa]>.plx-layer{position:absolute;z-index:0}.p-coords{position:absolute;top:calc(var(--chrome-h) + var(--space-2xl, 48px) + var(--space-md, 16px));left:var(--space-2xl, 48px);font-family:var(--font-mono);font-size:var(--type-xs, 11px);letter-spacing:var(--tracking-wider, .1em);text-transform:uppercase;color:color-mix(in srgb,var(--gm-white) 85%,transparent);max-width:12ch}.p-loc{position:absolute;top:calc(var(--chrome-h) + var(--space-2xl, 48px) + var(--space-md, 16px));left:55%;font-family:var(--font-mono);font-size:var(--type-xs, 11px);letter-spacing:var(--tracking-wider, .1em);text-transform:uppercase;color:color-mix(in srgb,var(--gm-white) 85%,transparent)}.p-name{position:absolute;top:22%;left:55%;margin:0;max-width:40%;font-family:var(--font-display);font-weight:var(--weight-light, 300);font-size:var(--type-hero, clamp(48px, 7vw, 96px));line-height:var(--leading-tight, 1.05)}.p-desc{position:absolute;bottom:var(--space-2xl, 48px);left:55%;margin:0;max-width:min(36ch,40%);font-family:var(--font-ui);font-size:var(--type-md, 15px);line-height:var(--leading-loose, 1.7);color:color-mix(in srgb,var(--gm-white) 90%,transparent)}.p-credit{position:absolute;bottom:var(--space-2xl, 48px);left:var(--space-2xl, 48px);font-family:var(--font-mono);font-size:var(--type-xs, 11px);font-weight:var(--weight-bold, 700);letter-spacing:var(--tracking-wider, .1em);text-transform:uppercase;color:color-mix(in srgb,var(--gm-white) 70%,transparent)}.p-tags{position:absolute;bottom:var(--space-2xl, 48px);left:var(--space-2xl, 48px);display:flex;gap:var(--space-lg, 24px);margin:0;padding:0;list-style:none}.p-tags li{position:relative;font-family:var(--font-mono);font-size:var(--type-xs, 11px);font-weight:var(--weight-bold, 700);letter-spacing:var(--tracking-wider, .1em);text-transform:uppercase;color:color-mix(in srgb,var(--gm-white) 80%,transparent)}.p-tags li:not(:last-child):after{content:"";position:absolute;right:calc(var(--space-lg, 24px) / -2);top:50%;width:1px;height:10px;transform:translateY(-50%);background:color-mix(in srgb,var(--gm-white) 30%,transparent)}[data-villa].villa-armed .p-coords,[data-villa].villa-armed .p-loc,[data-villa].villa-armed .p-name,[data-villa].villa-armed .p-desc,[data-villa].villa-armed .p-tags,[data-villa].villa-armed .p-credit{opacity:0;transform:translateY(.5em);clip-path:inset(100% -30% -30% -30%);transition:opacity .62s var(--ease-out, cubic-bezier(.2,.6,.2,1)),transform .72s var(--ease-out, cubic-bezier(.2,.6,.2,1)),clip-path .72s var(--ease-out, cubic-bezier(.2,.6,.2,1))}[data-villa].villa-in .p-coords,[data-villa].villa-in .p-loc,[data-villa].villa-in .p-name,[data-villa].villa-in .p-desc,[data-villa].villa-in .p-tags,[data-villa].villa-in .p-credit{opacity:1;transform:none;clip-path:inset(-30% -30% -30% -30%)}[data-villa].villa-in .p-coords{transition-delay:40ms}[data-villa].villa-in .p-loc{transition-delay:.11s}[data-villa].villa-in .p-name{transition-delay:.17s}[data-villa].villa-in .p-desc{transition-delay:.28s}[data-villa].villa-in .p-tags,[data-villa].villa-in .p-credit{transition-delay:.35s}@media(max-width:640px){.p-coords,.p-loc,.p-name,.p-desc,.p-tags,.p-credit{left:var(--gutter)}.p-coords{max-width:none}.p-loc{top:calc(var(--chrome-h) + var(--space-2xl, 48px) + var(--space-md, 16px) + var(--space-3xl, 64px))}.p-name{top:32%;max-width:calc(100% - 2 * var(--gutter))}.p-desc{bottom:calc(var(--gutter) + var(--space-2xl, 48px));max-width:calc(100% - 2 * var(--gutter))}.p-tags,.p-credit{bottom:var(--gutter)}.p-tags{flex-wrap:wrap;gap:var(--space-md, 16px);row-gap:var(--space-2xs, 4px)}.p-tags li:not(:last-child):after{right:calc(var(--space-md, 16px) / -2)}}
