:root{--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--text-xs:clamp(.75rem, .7rem + .25vw, .875rem);--text-sm:clamp(.875rem, .8rem + .35vw, 1rem);--text-base:clamp(1rem, .95rem + .25vw, 1.125rem);--text-lg:clamp(1.125rem, 1rem + .75vw, 1.5rem);--text-xl:clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);--text-2xl:clamp(2rem, 1.2rem + 2.5vw, 3.5rem);--text-3xl:clamp(2.5rem, 1rem + 4vw, 5rem);--text-hero:clamp(2rem, 5.5vw, 5.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--box-pad-x:clamp(var(--space-6), 4vw, var(--space-10));--box-pad-y:clamp(var(--space-5), 3vw, var(--space-8));--box-pad:var(--box-pad-y) var(--box-pad-x);--section-pad-y:clamp(var(--space-8), 5vw, var(--space-12));--section-pad-x:clamp(var(--space-6), 4vw, var(--space-10));--section-pad:var(--section-pad-y) var(--section-pad-x);--nav-h:72px;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--transition-interactive:.18s cubic-bezier(.16, 1, .3, 1);--content-narrow:640px;--content-default:960px;--content-wide:1200px}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0f0e0c;--color-surface:#141310;--color-surface-2:#1a1916;--color-surface-offset:#201f1c;--color-divider:#2a2825;--color-border:#333028;--color-text:#e8e4da;--color-text-muted:#9a9588;--color-text-faint:#5a5750;--color-text-inverse:#0f0e0c;--color-primary:#c4a35a;--color-primary-hover:#d4b46e;--color-primary-active:#a4874a;--color-primary-highlight:#37301e;--color-gold:#c4a35a;--shadow-sm:0 1px 2px oklch(0% 0 0/.3);--shadow-md:0 4px 12px oklch(0% 0 0/.4);--shadow-lg:0 12px 40px oklch(0% 0 0/.6)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;scroll-padding-top:var(--space-16)}body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);line-height:1.65;transition:background .3s,color .3s;overflow-x:hidden}img{background:var(--color-surface-offset);max-width:100%;height:auto;display:block}main{background:var(--color-bg);flex-direction:column;flex:1;min-width:0;display:flex}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.1}p{text-wrap:pretty;max-width:68ch}ul[role=list]{list-style:none}.nav{z-index:100;padding:var(--space-5) var(--space-8);--nav-fg:#f1e7dd;--nav-fg-muted:#f1e7ddb3;color:var(--nav-fg);background:linear-gradient(oklch(4% .01 60/.5) 0%,oklch(4% .01 60/.1) 70%,#0000 100%);justify-content:space-between;align-items:center;height:auto;min-height:72px;transition:background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s,box-shadow .4s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{--nav-fg:var(--color-text);--nav-fg-muted:var(--color-text-muted);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);background:oklch(from var(--color-bg) l c h / .88)!important}.nav-logo{align-items:center;gap:clamp(var(--space-2), 1vw, var(--space-3));font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:.01em;z-index:1;flex-shrink:1;min-width:0;display:flex;color:var(--nav-fg)!important}.nav-logo svg{flex-shrink:0}.nav-links{align-items:center;gap:var(--space-6);flex-shrink:1;min-width:0;display:flex;overflow:hidden}.nav-links a{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;transition:color var(--transition-interactive);white-space:nowrap;color:var(--nav-fg-muted)!important}.nav-links a:hover,.nav-links a.active{color:var(--nav-fg)!important}.nav-right{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.btn-reserve{padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--text-xs);letter-spacing:.04em;font-family:var(--font-body);transition:background var(--transition-interactive), transform var(--transition-interactive)}.btn-reserve:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.theme-toggle{border-radius:var(--radius-full);width:44px;height:44px;transition:color var(--transition-interactive), background var(--transition-interactive);justify-content:center;align-items:center;display:flex;color:var(--nav-fg-muted)!important}.theme-toggle:hover{background:#f1e7dd1a;color:var(--nav-fg)!important}.lang-toggle{width:auto;min-width:44px;padding:0 var(--space-3);cursor:pointer;font-family:var(--font-body);letter-spacing:.14em;background:0 0;border:0;gap:.35em;font-size:11px;font-weight:500}.lang-toggle [data-lang]{opacity:.5;transition:opacity var(--transition-interactive), color var(--transition-interactive)}.lang-toggle [data-lang].is-active{opacity:1;color:var(--nav-fg)}.lang-toggle .lang-sep{opacity:.3;font-weight:300}.lang-toggle:focus-visible{outline:1px solid var(--color-primary);outline-offset:2px}.hamburger{width:44px;height:44px;padding:var(--space-2);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:none}.hamburger span{border-radius:2px;height:1.5px;transition:all .3s;display:block;background:var(--nav-fg)!important}.page.active{display:block}.hero{align-items:flex-end;height:100dvh;min-height:600px;display:flex;position:relative;overflow:hidden}.villa-detail .villa-detail-hero{flex-shrink:0;height:clamp(180px,44vw,300px)!important;min-height:unset!important;max-height:unset!important;overflow:hidden!important}.villa-detail .villa-detail-hero .hero-content{padding-bottom:calc(var(--space-5) + .18em);overflow:visible}.villa-detail .villa-detail-hero .hero-sub{display:none}.villa-detail .villa-detail-hero .hero-title{white-space:normal;margin-bottom:0;padding-bottom:.14em;font-size:clamp(1.3rem,3.5vw,2rem);line-height:1.16;display:block;overflow:visible}.villa-detail .villa-detail-hero .hero-eyebrow{margin-bottom:var(--space-1);font-size:var(--text-xs)}@media (width<=768px){.villa-detail .villa-detail-hero{height:clamp(160px,52vw,260px)!important}}.hero-bg{background-image:url(/images/gemini-23cd8162.webp);background-position:50%;background-size:cover;transition:background-image .4s;position:absolute;inset:0}.hero-overlay{background:linear-gradient(oklch(4% .01 60/.38) 0%,#0000 22%),linear-gradient(#0000 0%,oklch(8% .01 60/.22) 55%,oklch(6% .01 60/.72) 100%);position:absolute;inset:0}.hero-content{z-index:2;padding:var(--space-16) var(--space-8) var(--space-20);max-width:var(--content-wide);width:100%;margin:0 auto;position:relative}.hero-eyebrow{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-4)}.hero-title{font-size:var(--text-hero);color:#f0ebe0;margin-bottom:var(--space-6);white-space:normal;text-overflow:unset;padding-bottom:.15em;font-style:italic;font-weight:300;line-height:1.18;overflow:visible}.hero-title--wordmark{padding-bottom:0;font-style:normal;line-height:0}.hero-wordmark{background:0 0;width:min(560px,82vw);height:auto;display:block}.hero-sub{font-size:var(--text-base);color:oklch(85% .01 60);max-width:42ch;margin-bottom:var(--space-8);line-height:1.6}.hero-actions{gap:var(--space-4);flex-wrap:wrap;display:flex}.btn-primary{padding:var(--space-3) var(--space-8);border-radius:var(--radius-full);background:var(--color-primary);color:#0f0e0c;font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-body);transition:background var(--transition-interactive), transform var(--transition-interactive);font-weight:500}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-2px)}.btn-ghost{padding:var(--space-3) var(--space-8);border-radius:var(--radius-full);border:1px solid oklch(from var(--color-text) l c h / .3);color:var(--color-text);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-body);transition:border-color var(--transition-interactive), background var(--transition-interactive)}.btn-ghost:hover{border-color:var(--color-text);background:oklch(from var(--color-text) l c h / .05)}.section{padding:var(--section-pad);padding-inline:clamp(var(--space-4), 4vw, var(--space-16))}.section-wide{max-width:var(--content-wide);margin:0 auto}.eyebrow{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-4)}.section-title{font-size:var(--text-2xl);margin-bottom:var(--space-6);font-style:italic;font-weight:300}.section-body{color:var(--color-text-muted);line-height:1.8}.divider{background:var(--color-divider);height:1px;margin:var(--space-2) 0}.intro-split{gap:clamp(var(--space-8), 6vw, var(--space-20));grid-template-columns:1fr 1fr;align-items:center;display:grid}.intro-image{border-radius:var(--radius-lg);aspect-ratio:4/5;overflow:hidden}.intro-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.intro-text{padding:var(--space-8) 0}.exp-panel:hover{box-shadow:var(--shadow-lg)}.exp-panel:hover .exp-body h3{font-size:var(--text-2xl);font-style:italic;font-weight:300}.exp-body p{color:var(--color-text-muted);font-size:var(--text-base);line-height:1.75}.mini-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.mini-card-img img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .5s}.mini-card:hover .mini-card-img img{transform:scale(1.05)}.mini-card h4{font-size:var(--text-base);margin-bottom:var(--space-2);font-weight:500}.mini-card p{font-size:var(--text-sm);color:var(--color-text-muted)}.room-list{gap:var(--space-8);margin-top:var(--space-8);flex-direction:column;display:flex}.room-panel{border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:1fr 1fr;min-height:500px;display:grid;overflow:hidden}.room-panel:nth-child(2n){direction:rtl}.room-panel:nth-child(2n)>*{direction:ltr}.room-img{align-self:stretch;min-width:0;overflow:hidden}.room-img img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .6s;display:block}.room-panel:hover .room-img img{transform:scale(1.03)}.room-body{padding:var(--section-pad);justify-content:center;gap:var(--space-5);flex-direction:column;display:flex}.room-body h2,.room-body h3{font-size:var(--text-2xl);font-style:italic;font-weight:300}.room-body p{color:var(--color-text-muted);line-height:1.8}.room-details{gap:var(--space-6);flex-wrap:wrap;display:flex}.room-detail{flex-direction:column;gap:2px;display:flex}.room-detail-label{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint)}.room-detail-val{font-size:var(--text-sm);font-weight:500}.amenities-grid{gap:var(--space-8);margin-top:var(--space-12);grid-template-columns:repeat(3,1fr);display:grid}.amenity-group h4{font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-4);font-family:var(--font-body)}.amenity-group ul{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.amenity-group li{font-size:var(--text-sm);color:var(--color-text-muted);padding-left:var(--space-4);position:relative}.amenity-group li:before{content:"–";color:var(--color-primary);position:absolute;left:0}.specs-bar{gap:var(--space-10);padding:var(--space-6) 0;border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);margin:var(--space-8) 0;flex-wrap:wrap;display:flex}.spec{flex-direction:column;gap:2px;display:flex}.spec-val{font-size:var(--text-xl);font-family:var(--font-display);font-weight:300}.spec-label{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint)}.villa-book-bar{padding:var(--space-8) var(--space-8) var(--space-10);justify-content:center;align-items:center;display:flex}.villa-book-bar .btn-primary{text-align:center;width:100%;max-width:520px;padding:var(--space-4) var(--space-8);font-size:var(--text-base);letter-spacing:.06em}.gallery-grid{border-radius:var(--radius-lg);margin-top:var(--space-12);grid-template-rows:340px 340px;grid-template-columns:2fr 1fr 1fr;gap:3px;display:grid;overflow:hidden}.gallery-cell{overflow:hidden}.gallery-cell.span-2{grid-row:1/3}.gallery-cell img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .6s}.gallery-cell:hover img{transform:scale(1.04)}.reserve-strip{text-align:center;padding:var(--section-pad);background:var(--color-surface-offset);border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}.reserve-strip h2{letter-spacing:-.025em;margin:0 auto var(--space-5);overflow-wrap:break-word;word-break:break-word;max-width:22ch;font-size:clamp(1.8rem,1rem + 3vw,4rem);font-style:italic;font-weight:200;line-height:1.1}.reserve-strip p{color:var(--color-text-muted);margin:0 auto var(--space-10);max-width:46ch;line-height:1.75}.reserve-actions{gap:var(--space-5);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}footer{padding:var(--space-12) var(--space-8);border-top:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}footer p{font-size:var(--text-xs);color:var(--color-text-faint)}footer .footer-studio img{opacity:.9;background:0 0;width:auto;height:20px;display:block}footer nav{gap:var(--space-6);display:flex}footer nav a{font-size:var(--text-xs);color:var(--color-text-faint);letter-spacing:.08em;text-transform:uppercase;transition:color var(--transition-interactive)}footer nav a:hover{color:var(--color-text)}footer .footer-end{align-items:center;gap:var(--space-6);flex-wrap:nowrap;display:flex}footer .footer-studio{width:32px;height:32px;color:var(--color-text-faint);opacity:.85;transition:color var(--transition-interactive), opacity var(--transition-interactive), border-color var(--transition-interactive), transform .4s ease;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}footer .footer-studio:hover,footer .footer-studio:focus-visible{color:var(--color-text);opacity:1;border-color:var(--color-divider);transform:rotate(-20deg)}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.custom-page-body-section{padding:var(--space-16) var(--space-8);max-width:var(--content-default);margin:0 auto}.custom-page-body-section p{color:var(--color-text-muted);line-height:1.9;font-size:var(--text-lg)}@media (width<=479px){#nav-site-name{display:none}.nav-logo{gap:0}}.nav-logo-mark img{max-height:calc(var(--logo-size) * var(--logo-scale));-o-object-fit:contain;object-fit:contain;width:auto;max-width:100%}@media (width<=639px){.hero-content{padding:0 var(--space-5)}.hero-actions .btn-primary,.hero-actions .btn-ghost{justify-content:center;width:100%}}@media (width<=767px){.intro-split{gap:var(--space-8);grid-template-columns:1fr}.intro-split img{-o-object-fit:cover;object-fit:cover;width:100%;max-height:340px}.gallery-grid{grid-template-rows:auto;grid-template-columns:1fr 1fr}}@media (width<=479px){.gallery-grid{grid-template-columns:1fr}}@media (width<=767px){.gallery-cell{position:relative}.gallery-cell:not(.span-2){aspect-ratio:4/3}.gallery-cell.span-2 img{position:absolute;inset:0}}@media (width<=479px){.gallery-cell.span-2{aspect-ratio:1376/768}}@media (width<=1023px){.packages-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=639px){.packages-grid{scroll-snap-type:x mandatory;scroll-padding-left:var(--space-5);-webkit-overflow-scrolling:touch;gap:var(--space-4);padding-top:var(--space-2);padding-bottom:var(--space-5);padding-left:var(--space-5);padding-right:var(--space-5);margin-left:calc(-1 * var(--space-5));margin-right:calc(-1 * var(--space-5));scrollbar-width:none;flex-direction:row;display:flex;overflow:auto visible}.packages-grid::-webkit-scrollbar{display:none}.package-card{flex:0 0 calc(100vw - var(--space-5) * 4);scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;min-width:240px;max-width:300px}}@media (width<=767px){.remote-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=1023px){.map-section .section-inner{gap:var(--space-8);grid-template-columns:1fr}.map-frame-wrap{aspect-ratio:16/9}.map-info p:not(.eyebrow){max-width:100%}}@media (width<=479px){.map-tags{gap:var(--space-1)}.map-tag{font-size:.65rem}}@media (width<=639px){.reserve-strip{padding:var(--section-pad)}.reserve-actions .btn-primary,.reserve-actions .btn-ghost{justify-content:center;width:100%;max-width:360px}footer{gap:var(--space-4);text-align:center;padding:var(--space-8) var(--space-5);flex-direction:column}footer nav{justify-content:center;gap:var(--space-3);flex-wrap:wrap}}@media (width<=479px){.side-menu-nav{padding:0 clamp(1.5rem,7vw,3.5rem)}.side-menu-link{padding:clamp(14px,3.5vw,22px) 0}}@media (width<=639px){#tenants-content>div{gap:var(--space-3);flex-direction:column}}.feature-card-title{font-size:var(--text-lg);margin-bottom:var(--space-2);font-weight:600}.feature-card-body{color:var(--color-text-muted);font-size:var(--text-sm)}.map-section{padding:var(--section-pad);background:var(--color-bg)}.map-section .section-inner{max-width:var(--content-wide);gap:var(--space-12);grid-template-columns:1fr 1.6fr;align-items:start;margin:0 auto;display:grid}.map-info{gap:var(--space-6);flex-direction:column;display:flex}.map-info h2{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-2);font-style:italic;font-weight:300;line-height:1.2}.map-info p:not(.eyebrow){color:var(--color-text-muted);font-size:var(--text-base);max-width:40ch;line-height:1.7}.map-coords{gap:var(--space-2);padding:var(--space-4) var(--space-5);background:var(--color-surface-offset);border-radius:var(--radius-lg);border:1px solid oklch(from var(--color-text) l c h / .07);flex-direction:column;display:flex}.map-coords-label{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint)}.map-coords-value{font-family:DM Sans,sans-serif;font-size:var(--text-sm);color:var(--color-primary);letter-spacing:.03em;font-weight:500}.map-tags{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.map-tag{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-primary-highlight);color:var(--color-primary);letter-spacing:.04em}[data-theme=dark] .map-tag{background:var(--color-primary-highlight);color:var(--color-primary)}.map-frame-wrap{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);aspect-ratio:16/10;background:var(--color-surface-offset);position:relative;overflow:hidden}.map-frame-wrap iframe{filter:none;border:none;width:100%;height:100%;display:block}.map-open-link{align-items:center;gap:var(--space-2);margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-primary);transition:color var(--transition-interactive);font-weight:500;text-decoration:none;display:inline-flex}.map-open-link:hover{color:var(--color-primary-hover)}.map-open-link svg{flex-shrink:0}.map-cta-btns{margin-top:var(--space-5);flex-direction:column;gap:8px;display:flex}.map-cta-card{border-radius:var(--radius-lg);border:none;align-items:center;gap:12px;padding:11px 16px;text-decoration:none;transition:filter .2s;display:flex}.map-cta-card:hover{filter:brightness(1.1)}.map-cta-card--maps{background:#1e5c30}.map-cta-card--ferry{background:#1a4f58}.map-cta-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.map-cta-card--maps .map-cta-icon{color:#b0eac8;background:#2a7044}.map-cta-card--ferry .map-cta-icon{color:#8fe0e0;background:#22626e}.map-cta-card--guide{box-sizing:border-box;width:100%;margin-top:var(--space-3);text-align:left;background:linear-gradient(135deg,#c04e14 0%,#d4611a 60%,#c85a16 100%);align-self:stretch}.map-cta-card--guide .map-cta-icon{color:#fff;background:#ffffff2e}.map-cta-card--guide .map-cta-eyebrow{color:#ffffffa6}.map-cta-text{flex-direction:column;gap:3px;min-width:0;display:flex}.map-cta-eyebrow{font-family:var(--font-body);letter-spacing:.13em;text-transform:uppercase;color:#ffffff8c;font-size:.67rem}.map-cta-label{font-family:var(--font-body);color:#fff;letter-spacing:.01em;font-size:.97rem;font-weight:500}@media (width<=768px){.map-section .section-inner{grid-template-columns:1fr}.map-info p{max-width:100%}}.remote-stats{gap:var(--space-6);margin-top:var(--space-8);grid-template-columns:1fr 1fr;display:grid}.remote-stat{gap:var(--space-1);padding:var(--space-4);background:var(--color-surface);border:1px solid oklch(from var(--color-text) l c h / .08);border-radius:var(--radius-lg);flex-direction:column;display:flex}.remote-stat-val{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-primary);font-weight:400}.remote-stat-label{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.packages-grid{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.package-card{gap:var(--space-4);padding:var(--space-8);background:var(--color-surface);border:1px solid oklch(from var(--color-text) l c h / .08);border-radius:var(--radius-xl);transition:box-shadow var(--transition-interactive);flex-direction:column;display:flex}.package-card:hover{box-shadow:var(--shadow-md)}.package-card-featured{background:var(--color-primary-highlight);border-color:oklch(from var(--color-primary) l c h / .25)}.package-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-offset);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);width:fit-content;display:inline-block}.package-duration{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-text);font-style:italic;font-weight:300;line-height:1}.package-discount{font-size:var(--text-lg);font-family:var(--font-display);color:var(--color-primary);font-weight:400}.package-body{font-size:var(--text-sm);color:var(--color-text-muted);flex:1;line-height:1.6}.package-btn{text-align:center;margin-top:auto}.side-menu{color:#f1e7dd;z-index:2000;opacity:0;visibility:hidden;pointer-events:none;padding:0;padding-bottom:env(safe-area-inset-bottom,0px);background:#050505;flex-direction:column;justify-content:flex-start;align-items:flex-start;transition:opacity .28s cubic-bezier(.16,1,.3,1),visibility .28s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0}.side-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}.side-menu-close{color:#f1e7dd8c;cursor:pointer;z-index:10;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;transition:color .18s;display:flex;position:absolute;top:clamp(16px,4vw,28px);right:clamp(16px,5vw,32px)}.side-menu-close:hover{color:#f1e7dd}.side-menu-nav{flex-direction:column;flex:1;justify-content:flex-start;width:100%;padding:clamp(64px,12vh,96px) clamp(1.75rem,8vw,4rem) clamp(1.5rem,5vh,3rem);display:flex;overflow-y:auto}.side-menu-link{color:#f1e7dd;font-family:var(--font-display);letter-spacing:-.02em;border-bottom:1px solid #f1e7dd1a;padding:clamp(16px,2.8vh,28px) 0 clamp(14px,2.4vh,24px);font-size:clamp(2rem,7.5vw,4.5rem);font-weight:300;line-height:1;text-decoration:none;transition:color .18s,letter-spacing .22s;display:block}.side-menu-link:first-child{border-top:1px solid #f1e7dd1a}.side-menu-link:hover{color:#fff;letter-spacing:.01em}.side-menu-footer{bottom:max(24px, env(safe-area-inset-bottom,24px));font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:#f1e7dd73;white-space:nowrap;z-index:5;align-items:center;gap:10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.side-menu-footer:hover{color:#f1e7ddcc}.side-menu.is-open .side-menu-link{animation:.35s cubic-bezier(.16,1,.3,1) both menuLinkIn}.side-menu.is-open .side-menu-link:first-child{animation-delay:60ms}.side-menu.is-open .side-menu-link:nth-child(2){animation-delay:.1s}.side-menu.is-open .side-menu-link:nth-child(3){animation-delay:.14s}.side-menu.is-open .side-menu-link:nth-child(4){animation-delay:.18s}.side-menu.is-open .side-menu-link:nth-child(5){animation-delay:.22s}@keyframes menuLinkIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.side-menu,.side-menu-link{transition:none!important;animation:none!important}}:root{--logo-size:clamp(31px, 4.55vw, 52px);--logo-scale:1;--font-brioso:"Brioso Pro Display","Brioso Pro Disp","Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif}.nav-logo-mark{width:calc(var(--logo-size) * var(--logo-scale));height:calc(var(--logo-size) * var(--logo-scale));box-shadow:none;flex-shrink:0;justify-content:center;align-items:center;transition:width .3s,height .3s;display:flex;overflow:hidden;background:0 0!important}.nav-logo-mark svg,.nav-logo-mark img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;box-shadow:none;border-radius:0;flex-shrink:0;display:block;background:0 0!important}.logo-upload-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-2);line-height:1.5}.field-group input[type=range]{accent-color:var(--color-primary);padding:0}.range-value{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}#nav-site-name,#footer-text{font-family:var(--font-brioso);font-weight:400}.pin-input{text-align:center;width:52px;height:56px;font-size:var(--text-xl);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-interactive);-webkit-text-security:disc;font-weight:700}.pin-input:focus{border-color:var(--color-primary);outline:none}.pin-input.pin-error{border-color:var(--color-notification);animation:.3s pinShake}@keyframes pinShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}60%{transform:translate(6px)}}.booking-lookup{justify-content:center;align-items:flex-end;gap:var(--space-3);max-width:780px;margin:var(--space-6) auto var(--space-3);flex-wrap:wrap;display:flex}.booking-lookup[hidden],.booking-toggle[hidden],.tenants-welcome[hidden]{display:none}.booking-field-wrap{gap:var(--space-1);text-align:left;flex-direction:column;flex:240px;display:flex}.booking-field-wrap--date{flex:0 180px}.reserve-strip .booking-label{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.booking-field{height:52px;padding:0 var(--space-4);font:inherit;font-size:var(--text-base);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-interactive);width:100%;min-width:0;color-scheme:inherit}.booking-field::placeholder{color:var(--color-text-faint,var(--color-text-muted));opacity:.7}.booking-field:focus{border-color:var(--color-primary);outline:none}.booking-field.pin-error{border-color:var(--color-notification);animation:.3s pinShake}.booking-submit{flex:none;justify-content:center;height:52px}.booking-submit[disabled]{opacity:.6;cursor:progress}.booking-toggle{padding:var(--space-1) var(--space-2);cursor:pointer;font:inherit;font-size:var(--text-sm);color:var(--color-text-muted);text-underline-offset:3px;transition:color var(--transition-interactive);background:0 0;border:0;text-decoration:underline}.booking-toggle:hover{color:var(--color-text)}.reserve-strip .tenants-welcome{font-family:var(--font-display,inherit);font-style:italic;font-size:var(--text-lg);color:var(--color-text);margin:var(--space-4) auto 0}@media (width<=639px){.booking-field-wrap,.booking-field-wrap--date,.booking-submit{flex:100%}}.social-btn-group{flex-shrink:0;align-items:center;gap:clamp(.5rem,2vw,1rem);display:inline-flex}.social-icon-link{width:var(--social-icon-size,clamp(36px, 5vw, 48px));height:var(--social-icon-size,clamp(36px, 5vw, 48px));border-radius:var(--radius-full);color:var(--color-text-muted);transition:color var(--transition-interactive), transform var(--transition-interactive), opacity var(--transition-interactive);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.social-icon-link svg{width:var(--social-svg-size,clamp(20px, 3vw, 26px));height:var(--social-svg-size,clamp(20px, 3vw, 26px));flex-shrink:0}.social-icon-link img{-o-object-fit:contain;object-fit:contain;flex-shrink:0;width:auto;height:clamp(20px,3vw,26px);display:block}.social-icon-link:hover{opacity:.8;background:0 0;transform:translateY(-2px)}.reserve-strip .social-icon-link{color:oklch(from var(--color-text) l c h / .55)}.reserve-strip .social-icon-link:hover{opacity:.75;background:0 0}.social-logo-upload-wrap{border-radius:var(--radius-md);border:1px dashed var(--color-border);cursor:pointer;width:44px;height:44px;transition:border-color var(--transition-interactive), background var(--transition-interactive);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.social-logo-upload-wrap:hover{border-color:var(--color-primary);background:var(--color-primary-highlight)}.social-logo-slot{color:var(--color-text-muted);pointer-events:none;justify-content:center;align-items:center;display:flex}.rw-masonry-time{letter-spacing:.14em;text-transform:uppercase;color:#c9a96e;margin:0 0 var(--space-1);text-shadow:0 1px 6px #000000b3;font-size:.68rem;font-weight:700}@media (width<=639px){.packages-scroll-hint{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-5);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;display:flex}.packages-scroll-hint svg{opacity:.5;animation:1.8s ease-in-out infinite nudge-right}@keyframes nudge-right{0%,to{transform:translate(0)}50%{transform:translate(5px)}}}@media (width>=640px){.packages-scroll-hint{display:none}}.tinder-stack-wrap{align-items:center;gap:var(--space-5);flex-direction:column;display:flex}.tinder-stack{width:100%;max-width:420px;height:520px;margin:0 auto;position:relative}.tinder-card{border-radius:var(--radius-xl);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;will-change:transform;background:#111;transition:transform .15s,box-shadow .15s;position:absolute;inset:0;overflow:hidden;box-shadow:0 8px 40px #00000059}.tinder-card:active{cursor:grabbing}.tinder-card[data-index="1"]{z-index:4;transform:scale(.96)translateY(10px)}.tinder-card[data-index="2"]{z-index:3;transform:scale(.92)translateY(20px)}.tinder-card[data-index="3"]{z-index:2;transform:scale(.88)translateY(30px)}.tinder-card[data-index="4"]{z-index:1;transform:scale(.84)translateY(40px)}.tinder-card-img{position:absolute;inset:0}.tinder-card-img img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;pointer-events:none;width:100%;height:100%;display:block}.tinder-card:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0000 0%,#0a0a0e0a 28%,#0a0a0e38 50%,#0a0a0e8c 74%,#0a0a0ed1 100%);position:absolute;inset:0}.tinder-card-copy{padding:var(--space-6) var(--space-6) var(--space-6);z-index:2;position:absolute;bottom:0;left:0;right:0}.tinder-card-copy .rw-masonry-time{letter-spacing:.14em;text-transform:uppercase;color:#c9a96e;margin:0 0 var(--space-1);text-shadow:0 1px 6px #000000b3;font-size:.68rem;font-weight:700}.tinder-card-copy h3{font-family:var(--font-display);color:#f8f5f0;margin:0 0 var(--space-2);text-shadow:0 1px 3px #000000e6,0 2px 12px #0009;font-size:clamp(1.3rem,4vw,1.7rem);font-weight:600;line-height:1.2}.tinder-card-copy p{color:#f8f5f0e0;text-shadow:0 1px 3px #000000f2,0 2px 8px #000000b3;margin:0;font-size:.9rem;line-height:1.5}.tinder-card .swipe-label{top:var(--space-6);letter-spacing:.15em;text-transform:uppercase;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);opacity:0;z-index:3;pointer-events:none;font-size:.75rem;font-weight:700;transition:opacity .15s;position:absolute}.tinder-card .swipe-label.left{left:var(--space-5);color:#e07070;border:2px solid #e07070}.tinder-card .swipe-label.right{right:var(--space-5);color:#70c070;border:2px solid #70c070}.tinder-progress{letter-spacing:.1em;color:var(--color-text-muted);text-transform:uppercase;font-size:.75rem}.tinder-hint{justify-content:center;align-items:center;gap:var(--space-3);letter-spacing:.12em;text-transform:uppercase;width:100%;max-width:420px;color:var(--color-text-muted);opacity:.6;font-size:.68rem;display:flex}.tinder-hint-arrow{opacity:.8;font-size:.9rem;animation:1.8s ease-in-out infinite nudge-hint}.tinder-hint-arrow:first-child{animation-direction:reverse}.tinder-hint-text{letter-spacing:.18em}@keyframes nudge-hint{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@media (width<=599px){.tinder-stack{max-width:100%;height:440px}}.why-split{gap:clamp(var(--space-6), 4vw, var(--space-12))}.why-split .intro-text{padding:0}@media (width<=767px){.why-split{gap:var(--space-6)}}@media (width<=900px){.nav-links{display:none}.hamburger{display:flex!important}}@media (width>=901px){.hamburger{display:none!important}.nav-links{display:flex}}@media (width<=900px){.nav{padding:var(--space-3) var(--space-4)}}.villa-card-grid{gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}@media (width<=640px){.villa-card-grid{grid-template-columns:1fr}}.villa-card{background:var(--color-surface);border-radius:var(--radius-lg);cursor:pointer;border:1px solid var(--color-divider);transition:transform .3s,box-shadow .3s;overflow:hidden}.villa-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.villa-card-img{aspect-ratio:4/3;background:var(--color-surface-offset);position:relative;overflow:hidden}.villa-card-img img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .6s}.villa-card:hover .villa-card-img img{transform:scale(1.04)}.villa-card-overlay{padding:var(--space-6);opacity:0;background:linear-gradient(#0000 60%,oklch(4% .01 60/.35) 100%);align-items:flex-end;transition:opacity .3s;display:flex;position:absolute;inset:0}.villa-card:hover .villa-card-overlay{opacity:1}.villa-card-cta{color:#f1e7dd;font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-body)}.villa-card-body{padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.villa-card-meta{gap:var(--space-1);flex-direction:column;display:flex}.villa-card-name{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text);font-weight:300}.villa-card-tagline{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2);line-height:1.6}.villa-card-specs{gap:var(--space-4);border-top:1px solid var(--color-divider);padding-top:var(--space-4);flex-wrap:wrap;display:flex}.villa-card-specs span{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint)}.villa-detail-backdrop{z-index:199;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;background:oklch(4% .01 220/.65);transition:opacity .35s,visibility .35s;position:fixed;inset:0}.villa-detail-backdrop.is-open{opacity:1;visibility:visible}.villa-detail{z-index:200;background:var(--color-bg);opacity:0;visibility:hidden;border-radius:1.75rem 1.75rem 0 0;width:92vw;height:82dvh;transition:translate .46s cubic-bezier(.16,1,.3,1),opacity .3s;position:fixed;bottom:0;left:50%;overflow:hidden auto;translate:-50% 100%;box-shadow:0 -12px 60px oklch(4% .01 220/.5),0 0 0 1px oklch(30% .02 220/.18)}.villa-detail.is-open{opacity:1;visibility:visible;translate:-50%}.villa-detail:not(.is-primed){content-visibility:hidden}.villa-detail-inner{min-height:100%}.drawer-pill-wrap{padding:var(--space-3) 0 var(--space-2);z-index:210;pointer-events:none;justify-content:center;display:flex;position:sticky;top:0}.drawer-pill{pointer-events:auto;cursor:grab;background:oklch(55% .01 60/.45);border-radius:2px;width:40px;height:4px;transition:background .2s}.drawer-pill:active{cursor:grabbing}.villa-detail.is-dismissing .drawer-pill{background:oklch(65% .04 20/.7)}.villa-detail-inner>section,.villa-detail-inner>div:not(.drawer-pill-wrap){padding-left:var(--space-6);padding-right:var(--space-6)}.villa-detail .specs-bar{padding:var(--space-6) 0;margin-bottom:var(--space-6);border-bottom:1px solid oklch(30% .01 60/.2)}.villa-detail .section-wide{max-width:680px;margin-left:auto;margin-right:auto}.villa-detail .gallery-grid{border-radius:var(--radius-lg);overflow:hidden}@media (width<=640px){.villa-detail-inner>section,.villa-detail-inner>div:not(.drawer-pill-wrap){padding-left:var(--space-4);padding-right:var(--space-4)}}.villa-detail .villa-specs-section{padding:var(--space-6) var(--space-6) 0}.villa-detail .villa-reserve-section{padding:var(--space-8) var(--space-6) var(--space-10);border-top:1px solid oklch(22% .01 60/.6)}.villa-detail .villa-reserve-section .section-narrow{text-align:center;max-width:640px;margin:0 auto}.villa-detail .villa-reserve-eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:var(--text-xs);color:oklch(78% .02 80);margin-bottom:var(--space-4)}.villa-detail .villa-reserve-title{font-family:var(--font-display);margin-bottom:var(--space-4);font-size:clamp(1.6rem,3.2vw,2.1rem);font-style:italic;font-weight:400}.villa-detail .villa-reserve-body{font-size:var(--text-sm);color:oklch(80% .01 80);max-width:48ch;margin:0 auto var(--space-6)}.villa-detail .villa-reserve-section .reserve-actions{justify-content:center;display:flex}.villa-detail .villa-reserve-section .villa-reserve-btn{padding:var(--space-4) var(--space-10);font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;border-radius:999px}@media (width<=640px){.villa-detail .villa-reserve-section{padding-left:var(--space-4);padding-right:var(--space-4)}}.villa-detail .villa-gallery-section{padding:0 var(--space-6) var(--space-4)}@media (width<=640px){.villa-detail .villa-specs-section,.villa-detail .villa-gallery-section{padding-left:var(--space-4);padding-right:var(--space-4)}}@media (width<=768px){.villa-detail{opacity:1;border-radius:1.25rem 1.25rem 0 0;width:100vw;height:88dvh;left:0;translate:0 100%}.villa-detail.is-open{translate:0}}.villa-coming-soon{-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;z-index:2;border-radius:inherit;background:oklch(4% .01 60/.58);justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.villa-coming-soon.active{opacity:1;pointer-events:none}.villa-coming-soon-label{font-family:var(--font-body);letter-spacing:clamp(.12em,.5vw,.22em);text-transform:uppercase;color:#f1e7dd;white-space:nowrap;text-align:center;background:oklch(4% .01 60/.3);border:1px solid #f1e7dd80;border-radius:999px;max-width:90%;padding:clamp(.35rem,1vw,.55rem) clamp(.9rem,3vw,1.6rem);font-size:clamp(.6rem,1.8vw + .3rem,.78rem);display:inline-block}.villa-card.is-coming-soon{cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none}.villa-card.is-coming-soon .villa-card-body{opacity:.5}.villa-card.is-coming-soon:hover{box-shadow:none;transform:none}@media (width<=375px){.villa-coming-soon-label{letter-spacing:.1em;padding:.3rem .8rem;font-size:.58rem}}.villa-status-field{border-bottom:1px solid var(--color-divider);padding:var(--space-3) 0!important}.villa-status-field:last-child{border-bottom:none}.villa-status-row{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.villa-status-name{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.06em;color:var(--color-text);flex-shrink:0;font-weight:500}.villa-status-toggle{border:1px solid var(--color-border);border-radius:var(--radius-full);flex-shrink:0;display:flex;overflow:hidden}.vst-btn{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--color-text-muted);white-space:nowrap;background:0 0;border:none;padding:6px 14px;font-size:.72rem;transition:background .2s,color .2s}.vst-btn:hover{color:var(--color-text)}.vst-public.vst-active{color:#fff;background:oklch(55% .14 160)}.vst-soon.vst-active{color:#fff;background:oklch(50% .08 60)}.concierge-strip{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--section-pad);text-align:center;justify-content:center;align-items:center;gap:var(--space-4);border:none;flex-direction:column;margin-top:0;display:flex}.concierge-strip strong{color:var(--color-text);font-size:var(--text-2xl);font-family:var(--font-display);margin-bottom:var(--space-3);font-style:italic;font-weight:300;line-height:1.15;display:block}.concierge-strip p:not(.eyebrow){color:var(--color-text-muted);font-size:var(--text-base);max-width:44ch;margin:0 auto;line-height:1.75}.concierge-strip .eyebrow{font-size:var(--text-xs);margin-bottom:var(--space-4)}.exp-immersive-overlay{z-index:1;background:linear-gradient(#0000 0%,oklch(6% .01 220/.08) 36%,oklch(6% .01 220/.32) 66%,oklch(6% .01 220/.72) 100%);position:absolute;inset:0}.exp-immersive-content{z-index:2;padding:clamp(var(--space-8), 4vw, var(--space-12)) clamp(var(--space-6), 4vw, var(--space-10));width:100%;max-width:100%;position:relative}.exp-immersive-num{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.25em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-2);display:block}.exp-immersive-title{font-family:var(--font-display);color:var(--color-text);margin-bottom:var(--space-3);letter-spacing:-.02em;font-size:clamp(1.4rem,1rem + 2vw,2.5rem);font-style:italic;font-weight:300;line-height:1.1}.exp-immersive-body{font-size:var(--text-sm);color:oklch(85% .01 60/.85);max-width:40ch;margin-bottom:var(--space-4);line-height:1.7}.exp-immersive-tag{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text);border:1px solid oklch(from var(--color-text) l c h / .35);border-radius:var(--radius-full);padding:var(--space-2) var(--space-5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:oklch(from var(--color-text) l c h / .08);display:inline-block}.exp-partners-section{padding:var(--section-pad);border-bottom:1px solid var(--color-divider)}.exp-partners-intro{max-width:660px;margin-bottom:clamp(var(--space-12), 6vw, var(--space-20))}.exp-partners-intro .section-title{margin-bottom:var(--space-5)}.exp-partners-sub{font-size:var(--text-base);color:var(--color-text-muted);max-width:58ch;line-height:1.8}.exp-tabs-section{padding:var(--section-pad-y) 0}.exp-tabs-header{padding:0 var(--space-8) clamp(var(--space-8), 4vw, var(--space-12))}.exp-tabs-ui{flex-direction:column;gap:0;display:flex}.exp-tab-btns{border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);grid-template-columns:repeat(4,1fr);display:grid}.exp-tab-btn{align-items:flex-start;gap:var(--space-1);padding:var(--box-pad);border:none;border-right:1px solid var(--color-divider);cursor:pointer;text-align:left;background:0 0;flex-direction:column;min-width:0;transition:background .18s;display:flex;position:relative;overflow:hidden}.exp-tab-btn:last-child{border-right:none}.exp-tab-btn:after{content:"";background:var(--color-primary);height:2px;transition:transform .22s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.exp-tab-btn--active:after{transform:scaleX(1)}.exp-tab-btn--active{background:var(--color-primary-highlight)}.exp-tab-btn:hover:not(.exp-tab-btn--active){background:var(--color-surface-offset)}.exp-tab-num{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary)}.exp-tab-label{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:var(--text-base);color:var(--color-text);overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.2}.exp-tab-tag{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);font-size:.68rem}.exp-tabpanel{grid-template-columns:1fr 1fr;min-height:420px;display:none}.exp-tabpanel--active{animation:.32s forwards expTabIn;display:grid}@keyframes expTabIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.exp-tabpanel-img{background-position:50%;background-size:cover;min-height:420px}.exp-tabpanel-body{justify-content:center;gap:var(--space-4);padding:var(--box-pad);background:var(--color-surface-offset);flex-direction:column;display:flex;overflow:hidden}.exp-tabpanel-body h3{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.02em;overflow-wrap:break-word;word-break:break-word;max-width:20ch;font-size:clamp(1.5rem,1rem + 2vw,2.5rem);font-style:italic;font-weight:300;line-height:1.1}.exp-tabpanel-body p{font-size:var(--text-base);color:var(--color-text-muted);max-width:46ch;line-height:1.75}.exp-tabpanel-tag{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary);border:1px solid oklch(from var(--color-primary) l c h / .4);border-radius:var(--radius-full);padding:var(--space-1) var(--space-4);width:fit-content;display:inline-block}@media (width<=768px){.exp-tab-btns{grid-template-columns:repeat(2,1fr)}.exp-tab-btn:nth-child(2){border-right:none}.exp-tab-btn:nth-child(3){border-top:1px solid var(--color-divider)}.exp-tabpanel{grid-template-columns:1fr}.exp-tabpanel-img{min-height:240px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.global-socials{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.stat-manager-fields{gap:var(--space-2);flex-direction:column;display:flex}.stat-row{gap:var(--space-2);align-items:center;display:flex}.room-body .eyebrow{margin-bottom:0}.side-menu,.villa-detail{isolation:isolate}.page{will-change:auto;display:none;filter:none!important;transform:none!important}.section-block,.reserve-strip,.exp-partners-section,.remote-intro,.tenants-section,.villa-section,[class*=-section],[class*=-strip]{box-sizing:border-box}.section-block,[class*=-section]:not(.exp-tabs-section):not(.nav),[class*=-strip]{padding:var(--section-pad)}h2,h3{overflow-wrap:break-word;word-break:break-word;max-width:100%}h1{max-width:100%}@media (width>=769px){.side-menu{width:100vw!important;height:100dvh!important;position:fixed!important;inset:0!important}.nav{min-height:72px;padding:var(--space-5) var(--space-8)!important}.nav-links{display:flex!important}.hamburger{display:none!important}}.hero-video-wrap{z-index:0;position:absolute;inset:0;overflow:hidden}.hero-video-wrap video{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.hero-video-mute{bottom:var(--space-6);right:var(--space-6);z-index:4;-webkit-backdrop-filter:blur(8px);color:#f1e7dd;cursor:pointer;background:#0f0e0c73;border:1px solid #f1e7dd59;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,border-color .2s;display:flex;position:absolute}.hero-video-mute:hover{background:#0f0e0cb3;border-color:#f1e7dd99}.hero-video-mute svg{display:block}@media (prefers-reduced-motion:reduce){.hero-video-wrap video{display:none}}.villa-price-chip{margin-top:var(--space-2);padding:var(--space-1) var(--space-3);background:oklch(from var(--color-primary) l c h / .22);border:1px solid oklch(from var(--color-primary) l c h / .5);border-radius:var(--radius-full);align-items:baseline;gap:.25em;width:fit-content;display:inline-flex}.villa-price-chip .price-from{letter-spacing:.08em;text-transform:uppercase;color:oklch(from var(--color-primary) l c h / .75);font-size:.62rem;font-family:var(--font-body)}.villa-price-chip .price-amount{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-primary);filter:brightness(1.35);font-weight:500;line-height:1}.villa-price-chip .price-unit{letter-spacing:.06em;color:oklch(from var(--color-primary) l c h / .65);font-size:.62rem;font-family:var(--font-body)}.villa-price-chip.price-loading .price-amount{opacity:.35;filter:none}.villa-card.is-coming-soon .villa-price-chip{display:none}.hero.hero--short{height:68dvh;min-height:460px;max-height:760px}.hero.hero--short .hero-content{padding-bottom:var(--space-12)}.hero.hero--short .hero-sub{margin-bottom:0}.reserve-options-section{padding-block:clamp(var(--space-10), 6vw, var(--space-20)) clamp(var(--space-16), 8vw, var(--space-24))}.reserve-flow{counter-reset:reserve-step;gap:clamp(var(--space-12), 6vw, var(--space-20));flex-direction:column;display:flex}.reserve-step{counter-increment:reserve-step}.reserve-step[hidden]{display:none}.reserve-step-head{align-items:center;gap:var(--space-4);margin-bottom:clamp(var(--space-5), 2.5vw, var(--space-8));display:flex}.reserve-step-num{width:40px;height:40px;font-family:var(--font-display);color:var(--color-gold);border:1px solid oklch(from var(--color-gold) l c h / .45);border-radius:50%;flex-shrink:0;place-items:center;font-size:1.3rem;font-weight:500;line-height:1;display:grid}.reserve-step-num:before{content:counter(reserve-step)}.reserve-step-title{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:var(--text-2xl);padding-bottom:.08em;line-height:1.05}.reserve-ferry-body{color:var(--color-text-muted);font-size:var(--text-base);max-width:58ch;margin-bottom:var(--space-5);line-height:1.6}.reserve-travel-cards{align-items:stretch;gap:clamp(var(--space-4), 2vw, var(--space-6));flex-wrap:wrap;display:flex}.reserve-travel-cards .reserve-ferry-card,.reserve-travel-cards .reserve-fly-card{flex:260px;width:auto;max-width:440px}.reserve-option.reserve-fly-card{padding:var(--space-6) var(--space-8);flex-direction:row;justify-content:center;align-items:center;gap:.55em}.reserve-fly-icon{width:auto;height:clamp(2.2rem,1.6rem + 1.6vw,3.2rem);color:var(--color-text);flex-shrink:0;display:flex}.reserve-fly-icon svg{width:auto;height:100%}.reserve-fly-label{font-family:var(--font-body);letter-spacing:-.02em;color:var(--color-text);white-space:nowrap;align-items:center;gap:.4em;font-size:clamp(1.35rem,1.05rem + .9vw,1.9rem);font-weight:700;line-height:1;display:inline-flex}.reserve-fly-label svg{color:var(--color-text-muted);flex-shrink:0}.reserve-ferry-card{width:min(100%,380px)}.reserve-ferry-logo{justify-content:center;align-self:center;align-items:center;gap:.55em;width:100%;height:clamp(2.9rem,2.11rem + 2.11vw,3.96rem);display:flex}.reserve-ferry-logo img{background:0 0;width:auto;height:100%}.reserve-villa-picker{gap:clamp(var(--space-3), 1.5vw, var(--space-5));grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.reserve-villa-card{text-align:left;cursor:pointer;border-radius:var(--radius-xl);background:var(--color-surface);color:var(--color-text);border:1px solid oklch(from var(--color-text) l c h / .08);font-family:var(--font-body);transition:border-color var(--transition-interactive), box-shadow .4s ease, transform var(--transition-interactive);-webkit-tap-highlight-color:transparent;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.reserve-villa-card:hover:not(:disabled){border-color:oklch(from var(--color-text) l c h / .24)}.reserve-villa-card:active:not(:disabled){transform:scale(.985)}.reserve-villa-card:focus-visible{outline:1px solid var(--color-primary);outline-offset:4px}.reserve-villa-photo{aspect-ratio:16/10;background:var(--color-surface-offset);display:block;overflow:hidden}.reserve-villa-photo img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .4s}.reserve-villa-card:hover:not(:disabled) .reserve-villa-photo img{transform:scale(1.04)}.reserve-villa-info{padding:var(--space-4) var(--space-5) var(--space-5);flex-direction:column;gap:4px;display:flex}.reserve-villa-name{font-family:var(--font-display);font-style:italic;font-size:var(--text-xl);padding-bottom:.06em;line-height:1.1}.reserve-villa-specs{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.04em}.reserve-villa-price{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.reserve-villa-price b{font-weight:500;font-size:var(--text-sm);color:var(--color-text)}.reserve-villa-price[hidden],.reserve-villa-soon[hidden]{display:none}.reserve-villa-soon{margin-top:var(--space-2);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-faint);font-size:11px}.reserve-villa-check{top:var(--space-3);right:var(--space-3);color:#0f0e0c;background:var(--color-primary);opacity:0;width:28px;height:28px;transition:opacity var(--transition-interactive), transform .35s cubic-bezier(.34, 1.56, .64, 1);border-radius:50%;place-items:center;display:grid;position:absolute;transform:scale(.6)}.reserve-villa-card[aria-checked=true]{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary), 0 18px 50px oklch(from var(--color-primary) l c h / .16)}.reserve-villa-card[aria-checked=true] .reserve-villa-check{opacity:1;transform:scale(1)}.reserve-villa-card.is-coming-soon{cursor:default}.reserve-villa-card.is-coming-soon .reserve-villa-photo img{filter:grayscale(.7)brightness(.55)}.reserve-villa-card.is-coming-soon .reserve-villa-name{color:var(--color-text-muted)}.reserve-option--direct,.reserve-option--vrbo,.reserve-option--airbnb{text-align:center;justify-content:center;align-items:center}.reserve-logo.reserve-logo--direct{aspect-ratio:1562/190;background:var(--color-text);flex:none;width:auto;max-width:100%;height:clamp(1.5rem,1rem + 1.2vw,2.1rem);-webkit-mask:url(/img/contain-oasis-wordmark.png) 50%/contain no-repeat;mask:url(/img/contain-oasis-wordmark.png) 50%/contain no-repeat}.reserve-option-title--logo{justify-content:center;min-height:clamp(2.2rem,1.6rem + 1.6vw,3rem)}.reserve-logo{width:auto;height:clamp(2.2rem,1.6rem + 1.6vw,3rem);display:block}.reserve-logo--vrbo{color:#2f6bdc;height:clamp(2rem,1.4rem + 1.5vw,2.8rem)}.reserve-logo--airbnb{color:#ff385c;align-items:center;gap:.35em;display:inline-flex}.reserve-logo--airbnb svg{width:auto;height:100%}.reserve-logo-word{font-family:var(--font-body);letter-spacing:-.03em;font-size:clamp(2rem,1.4rem + 1.5vw,2.75rem);font-style:normal;font-weight:700;line-height:1}.reserve-options{gap:clamp(var(--space-4), 2vw, var(--space-6));grid-template-columns:repeat(3,1fr);align-items:stretch;display:grid}.reserve-option{gap:var(--space-3);padding:clamp(var(--space-6), 3vw, var(--space-10));border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid oklch(from var(--color-text) l c h / .08);color:var(--color-text);cursor:pointer;isolation:isolate;flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}.reserve-option.reveal.visible{transition:opacity .7s ease, transform .7s ease, border-color var(--transition-interactive), box-shadow .4s ease, background .4s ease}.reserve-option:hover{border-color:oklch(from var(--color-text) l c h / .22);box-shadow:var(--shadow-lg)}.reserve-option:focus-visible{outline:1px solid var(--color-primary);outline-offset:4px}.reserve-option:active{background:var(--color-surface-2)}.reserve-option-badge{top:clamp(var(--space-5), 2.5vw, var(--space-8));right:clamp(var(--space-5), 2.5vw, var(--space-8));letter-spacing:.18em;text-transform:uppercase;border-radius:var(--radius-full);color:#0f0e0c;background:var(--color-gold);padding:5px 10px;font-size:10px;font-weight:500;position:absolute}.reserve-option-kicker{font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary)}.reserve-option--airbnb .reserve-option-kicker,.reserve-option--vrbo .reserve-option-kicker{color:var(--color-text-muted)}.reserve-option-title{align-items:center;gap:var(--space-3);font-family:var(--font-display);font-style:italic;font-weight:300;font-size:var(--text-2xl);padding-bottom:.08em;line-height:1.1;display:flex}.reserve-option-body{color:var(--color-text-muted);font-size:var(--text-sm);max-width:42ch;line-height:1.7}.reserve-option-points{gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-sm);flex-direction:column;display:flex}.reserve-option-points>span{align-items:center;gap:var(--space-3);display:flex}.reserve-option-points>span:before{content:"";background:var(--color-primary);flex-shrink:0;width:14px;height:1px}.reserve-option-cta{padding-top:var(--space-6);align-items:center;gap:var(--space-2);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;margin-top:auto;font-weight:500;display:inline-flex}.reserve-option-cta svg{transition:transform var(--transition-interactive)}.reserve-option:hover .reserve-option-cta svg{transform:translate(4px)}.reserve-option:not(.reserve-option--direct):hover .reserve-option-cta svg{transform:translate(3px,-3px)}.reserve-option--direct .reserve-option-cta{padding:var(--space-3) var(--space-8);border-radius:var(--radius-full);background:var(--color-primary);color:#0f0e0c;transition:background var(--transition-interactive);align-self:flex-start;margin-top:auto}.reserve-option--direct .reserve-option-points+.reserve-option-cta{margin-top:var(--space-8)}.reserve-option--direct:hover .reserve-option-cta{background:var(--color-primary-hover)}.reserve-option-soon{display:none}.reserve-option.reserve-option--direct.is-unavailable,.reserve-option.reserve-option--vrbo.is-unavailable,.reserve-option.reserve-option--airbnb.is-unavailable{opacity:1}.reserve-option.reserve-option--direct.is-unavailable .reserve-option-soon,.reserve-option.reserve-option--vrbo.is-unavailable .reserve-option-soon,.reserve-option.reserve-option--airbnb.is-unavailable .reserve-option-soon{display:none}.reserve-option.is-unavailable{cursor:default;opacity:.55}.reserve-option.is-unavailable:hover{box-shadow:none;border-color:oklch(from var(--color-text) l c h / .08)}.reserve-option.is-unavailable .reserve-option-cta{display:none}.reserve-option.is-unavailable .reserve-option-soon{padding-top:var(--space-6);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-faint);margin-top:auto;display:block}.reserve-option.reserve-option--vrbo.is-locked,.reserve-option.reserve-option--airbnb.is-locked{opacity:.32;filter:grayscale();cursor:not-allowed;box-shadow:none;border-color:oklch(from var(--color-text) l c h / .06);transition:opacity .4s,filter .4s}.reserve-step:has(.reserve-offer:not([hidden])) .reserve-option--direct{border-color:oklch(from var(--color-primary) l c h / .7);box-shadow:0 0 0 1px oklch(from var(--color-primary) l c h / .25), 0 18px 50px -20px oklch(from var(--color-primary) l c h / .45)}.reserve-offer{justify-content:space-between;align-items:center;gap:var(--space-6);margin-bottom:clamp(var(--space-4), 2vw, var(--space-6));padding:var(--space-5) clamp(var(--space-5), 3vw, var(--space-8));border-radius:var(--radius-xl);border:1px solid oklch(from var(--color-primary) l c h / .4);background:linear-gradient(120deg, var(--color-primary-highlight), oklch(from var(--color-primary-highlight) l c h / .35));animation:.5s both reserveOfferIn;display:flex}.reserve-offer[hidden]{display:none}.reserve-offer-kicker{font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary)}.reserve-offer-title{margin-top:var(--space-1);font-family:var(--font-display);font-style:italic;font-weight:300;font-size:var(--text-xl);line-height:1.2}.reserve-offer-sep{color:var(--color-text-faint);margin:0 .45em}.reserve-offer-discount{color:var(--color-primary)}.reserve-offer-note{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.reserve-offer-clear{padding:var(--space-2) 0;cursor:pointer;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:oklch(from var(--color-text) l c h / .25);text-decoration-color:oklch(from var(--color-text) l c h / .25);background:0 0;border:0;flex:none}.reserve-offer-clear:hover{color:var(--color-text)}.reserve-cal-summary-offer{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-primary)}@keyframes reserveOfferIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (width<=700px){.reserve-offer{align-items:flex-start;gap:var(--space-3);flex-direction:column}.reserve-villa-picker{grid-template-columns:1fr}.reserve-villa-card{flex-direction:row;align-items:stretch}.reserve-villa-photo{aspect-ratio:auto;flex-shrink:0;width:38%;min-height:112px}.reserve-villa-info{padding:var(--space-4);justify-content:center}.reserve-villa-name{font-size:var(--text-lg)}.reserve-villa-check{top:auto;bottom:var(--space-3)}}@media (width<=560px){.reserve-options{grid-template-columns:1fr}.reserve-step-title{font-size:var(--text-xl)}.reserve-step-num{width:34px;height:34px;font-size:1.05rem}.hero.hero--short{height:58dvh;min-height:400px}}.reserve-cal{isolation:isolate;padding:clamp(var(--space-5), 3vw, var(--space-10));border-radius:var(--radius-xl);background:radial-gradient(90% 70% at 0% 0%, oklch(from var(--color-primary) l c h / .1) 0%, transparent 60%), radial-gradient(70% 60% at 100% 100%, oklch(from var(--color-gold) l c h / .06) 0%, transparent 65%), var(--color-surface);border:1px solid oklch(from var(--color-text) l c h / .08);position:relative;overflow:hidden}.reserve-cal[hidden]{display:none}.reserve-cal-head{justify-content:center;align-items:center;gap:var(--space-4);margin-bottom:clamp(var(--space-5), 2.5vw, var(--space-8));display:flex}.reserve-cal-month-label{text-align:center;min-width:14em;font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);letter-spacing:.01em}.reserve-cal-arrow{width:44px;height:44px;color:var(--color-text);cursor:pointer;transition:color var(--transition-interactive), opacity var(--transition-interactive), transform var(--transition-interactive);background:0 0;border:0;place-items:center;display:grid}.reserve-cal-arrow svg{width:26px;height:26px}.reserve-cal-arrow:hover:not(:disabled){color:var(--color-primary)}.reserve-cal-arrow:active:not(:disabled){transform:scale(.94)}.reserve-cal-arrow:disabled{opacity:.25;cursor:default}.reserve-cal-arrow:focus-visible{outline:1px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-full)}.reserve-cal-months{grid-template-columns:repeat(var(--months,2), minmax(0, 1fr));gap:clamp(var(--space-6), 4vw, var(--space-12));touch-action:pan-y;display:grid}.reserve-cal-month{animation:.45s cubic-bezier(.16,1,.3,1) both reserveCalIn}.reserve-cal-month+.reserve-cal-month{animation-delay:50ms}@keyframes reserveCalIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.reserve-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));row-gap:4px;display:grid}.reserve-cal-weekday{text-align:center;padding-bottom:var(--space-2);letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-faint);font-size:11px}.reserve-cal-day{z-index:0;aspect-ratio:1;width:100%;min-height:40px;color:var(--color-text);font-family:var(--font-body);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0;display:flex;position:relative}.reserve-cal-day:before{content:"";z-index:-1;transition:background var(--transition-interactive), border-color var(--transition-interactive), transform var(--transition-interactive);border:1px solid #0000;border-radius:50%;position:absolute;inset:2px}.reserve-cal-day:after{content:"";z-index:-2;position:absolute;inset:2px 0}.reserve-cal-num{font-size:var(--text-sm);font-variant-numeric:tabular-nums;line-height:1}.reserve-cal-price{letter-spacing:0;color:var(--color-text-muted);font-size:10px;line-height:1}.reserve-cal-day:hover:not(:disabled):before{border-color:oklch(from var(--color-text) l c h / .5)}.reserve-cal-day:active:not(:disabled):before{transform:scale(.92)}.reserve-cal-day:focus-visible{outline:none}.reserve-cal-day:focus-visible:before{border-color:var(--color-primary);box-shadow:0 0 0 2px oklch(from var(--color-primary) l c h / .35)}.reserve-cal-day:disabled{cursor:default}.reserve-cal-day.is-today .reserve-cal-num:after{content:"";background:var(--color-gold);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;top:6px;left:50%}.reserve-cal-day.is-past{color:var(--color-text-faint);opacity:.45}.reserve-cal-day.is-booked{color:var(--color-text-faint)}.reserve-cal-day.is-booked .reserve-cal-num{text-decoration:line-through;-webkit-text-decoration-color:oklch(from var(--color-text) l c h / .35);text-decoration-color:oklch(from var(--color-text) l c h / .35)}.reserve-cal-day.is-checkout-only{color:var(--color-text-muted)}.reserve-cal-day.is-checkout-only .reserve-cal-num{text-decoration:none}.reserve-cal-day.is-noin{color:var(--color-text-muted)}.reserve-cal-day.is-noin .reserve-cal-price{visibility:hidden}.reserve-cal-day.is-beyond,.reserve-cal-day.is-short{opacity:.35}.reserve-cal-day.is-range:after,.reserve-cal-day.is-preview:after{background:oklch(from var(--color-primary) l c h / .16)}.reserve-cal-day.is-range{color:var(--color-text);opacity:1}.reserve-cal-day.is-preview{opacity:1}.reserve-cal-day.has-range:after,.reserve-cal-day.is-preview-start:after{background:oklch(from var(--color-primary) l c h / .16);left:50%}.reserve-cal-day.is-end:after,.reserve-cal-day.is-preview-end:after{background:oklch(from var(--color-primary) l c h / .16);right:50%}.reserve-cal-day.is-start:before,.reserve-cal-day.is-end:before{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 6px 20px oklch(from var(--color-primary) l c h / .35)}.reserve-cal-day.is-start,.reserve-cal-day.is-end{color:#0f0e0c;opacity:1;font-weight:500}.reserve-cal-day.is-start .reserve-cal-num,.reserve-cal-day.is-end .reserve-cal-num{text-decoration:none}.reserve-cal-day.is-preview-end:before{border-color:var(--color-primary)}.reserve-cal-grid>:nth-child(7n+1).reserve-cal-day:after{border-top-left-radius:var(--radius-full);border-bottom-left-radius:var(--radius-full)}.reserve-cal-grid>:nth-child(7n).reserve-cal-day:after{border-top-right-radius:var(--radius-full);border-bottom-right-radius:var(--radius-full)}.reserve-cal-ghost{aspect-ratio:1;background:oklch(from var(--color-text) l c h / .05);border-radius:50%;margin:6px;animation:1.4s ease-in-out infinite alternate reserveCalGhost}@keyframes reserveCalGhost{0%{opacity:.45}to{opacity:1}}.reserve-cal-error{text-align:center;padding:var(--space-10) var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);align-items:center;gap:var(--space-3);flex-direction:column;grid-column:1/-1;display:flex}.reserve-cal-foot{justify-content:space-between;align-items:center;gap:var(--space-6);margin-top:clamp(var(--space-5), 2.5vw, var(--space-8));padding-top:clamp(var(--space-5), 2.5vw, var(--space-6));border-top:1px solid oklch(from var(--color-text) l c h / .08);flex-wrap:wrap;display:flex}.reserve-cal-legend{gap:var(--space-2) var(--space-5);font-size:var(--text-xs);color:var(--color-text-muted);flex-wrap:wrap;list-style:none;display:flex}.reserve-cal-legend li{align-items:center;gap:var(--space-2);display:flex}.reserve-cal-swatch{border-radius:50%;flex-shrink:0;width:12px;height:12px}.reserve-cal-swatch--free{border:1px solid oklch(from var(--color-text) l c h / .55)}.reserve-cal-swatch--booked{background:oklch(from var(--color-text) l c h / .12);position:relative}.reserve-cal-swatch--booked:after{content:"";background:var(--color-text-faint);height:1px;position:absolute;top:50%;left:1px;right:1px}.reserve-cal-swatch--stay{background:var(--color-primary)}.reserve-cal-summary{align-items:center;gap:var(--space-5);text-align:right;flex-wrap:wrap;justify-content:flex-end;margin-left:auto;display:flex}.reserve-cal-summary-text{flex-direction:column;gap:2px;display:flex}.reserve-cal-summary-main{font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);line-height:1.2}.reserve-cal-summary-sub{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.02em}.reserve-cal-arrow-sep{color:var(--color-primary);font-style:normal}.reserve-cal-pending{color:var(--color-text-faint)}.reserve-cal-actions{align-items:center;gap:var(--space-4);display:flex}.reserve-cal-book{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);background:var(--color-primary);color:#0f0e0c;cursor:pointer;min-height:44px;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;transition:background var(--transition-interactive), transform var(--transition-interactive);border:0;font-weight:500;text-decoration:none;animation:.4s cubic-bezier(.16,1,.3,1) both reserveCalIn;display:inline-flex}.reserve-cal-book svg{transition:transform var(--transition-interactive)}.reserve-cal-book:hover{background:var(--color-primary-hover)}.reserve-cal-book:hover svg{transform:translate(3px)}.reserve-cal-book:active{transform:scale(.97)}.reserve-cal-book:focus-visible{outline:1px solid var(--color-primary);outline-offset:3px}.reserve-cal-link{padding:var(--space-2) 0;cursor:pointer;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:oklch(from var(--color-text) l c h / .25);text-decoration-color:oklch(from var(--color-text) l c h / .25);transition:color var(--transition-interactive);background:0 0;border:0}.reserve-cal-link:hover{color:var(--color-text)}.reserve-cal-empty{align-items:center;gap:var(--space-2);margin:calc(-1 * var(--space-2)) 0 clamp(var(--space-5), 2.5vw, var(--space-6));padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-gold);background:oklch(from var(--color-gold) l c h / .08);border:1px solid oklch(from var(--color-gold) l c h / .25);display:flex}.reserve-cal-empty[hidden]{display:none}.reserve-cal-empty:before{content:"";background:var(--color-gold);border-radius:50%;flex-shrink:0;width:6px;height:6px}@media (width<=760px){.reserve-cal-foot{flex-direction:column-reverse;align-items:stretch}.reserve-cal-summary{text-align:left;justify-content:flex-start;margin-left:0}.reserve-cal-actions{justify-content:space-between;width:100%}.reserve-cal-legend{justify-content:center}}@media (width<=380px){.reserve-cal-price{display:none}}@media (prefers-reduced-motion:reduce){.reserve-cal-month,.reserve-cal-book,.reserve-cal-ghost{animation:none}}
