:root{--chalk:#f7f3eb;--limestone:#e8e0d2;--olive:#303a24;--night:#171d16;--pool:#71ced1;--amber:#efa33b}*{box-sizing:border-box}html,body{background:var(--night);min-height:100%;margin:0}html{scroll-behavior:smooth;scroll-padding-top:5.5rem}body{font-family:var(--font-body), sans-serif;color:var(--chalk)}.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}button,a{font:inherit}button{color:inherit}.landing{isolation:isolate;background:var(--night);min-height:100svh;position:relative;overflow:hidden}.landing__image,.landing__wash{position:absolute;inset:0}.landing__image{z-index:-3;opacity:0;transition:opacity .7s,transform 1.4s cubic-bezier(.2,.76,.2,1),filter .7s;transform:scale(1.018)}.landing[data-hero-ready=true] .landing__image{opacity:1;transform:scale(1)}.landing__image img{object-fit:cover}.landing__image picture{position:absolute;inset:0}.landing__image img{object-position:center 30%}.landing-loader{z-index:20;color:var(--chalk);background:radial-gradient(circle at 50% 46%, #303a2475, transparent 34%), var(--night);opacity:1;visibility:visible;place-content:center;justify-items:center;transition:opacity .65s cubic-bezier(.4,0,.2,1),visibility 0s .65s;display:grid;position:absolute;inset:0}.landing[data-hero-ready=true] .landing-loader{opacity:0;visibility:hidden;pointer-events:none}.landing-loader__mark{opacity:.92}.landing-loader__mark span{font-family:var(--font-display), serif;letter-spacing:.11em;text-transform:uppercase;font-size:clamp(1.65rem,2.2vw,2.2rem);font-weight:500}.landing-loader__mark small{letter-spacing:.5em;text-transform:uppercase;margin-top:.48rem;padding-left:.5em;font-size:.5rem;font-weight:500}.landing-loader__horizon{background:#f7f3eb2e;width:min(15rem,58vw);height:1px;margin-top:2rem;position:relative;overflow:visible}.landing-loader__horizon:before{content:"";background:linear-gradient(90deg, transparent, var(--limestone), transparent);transform-origin:50%;animation:1.65s cubic-bezier(.65,0,.35,1) infinite load-horizon;position:absolute;inset:0;transform:scaleX(0)}.landing-loader__horizon span{background:var(--amber);border-radius:50%;width:.42rem;height:.42rem;animation:1.65s ease-in-out infinite load-sun;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 1.4rem #efa33bbd}.landing-loader p{color:#f7f3eba3;letter-spacing:.24em;text-transform:uppercase;margin:1.15rem 0 0;font-size:.55rem}.landing-selection-loader{z-index:20;color:var(--chalk);background:radial-gradient(circle at 50% 46%, #303a2475, transparent 34%), var(--night);opacity:0;visibility:hidden;pointer-events:none;place-content:center;justify-items:center;transition:opacity .25s,visibility 0s .25s;display:grid;position:absolute;inset:0}.landing-selection-loader[data-active=true]{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .25s,visibility}.landing-selection-loader__mark{opacity:.92}.landing-selection-loader__mark span{font-family:var(--font-display), serif;letter-spacing:.11em;text-transform:uppercase;font-size:clamp(1.65rem,2.2vw,2.2rem);font-weight:500}.landing-selection-loader__mark small{letter-spacing:.5em;text-transform:uppercase;margin-top:.48rem;padding-left:.5em;font-size:.5rem;font-weight:500}.landing-selection-loader__horizon{background:#f7f3eb2e;width:min(15rem,58vw);height:1px;margin-top:2rem;position:relative}.landing-selection-loader__horizon:before{content:"";background:linear-gradient(90deg, transparent, var(--limestone), transparent);transform-origin:50%;animation:1.65s cubic-bezier(.65,0,.35,1) infinite load-horizon;position:absolute;inset:0;transform:scaleX(0)}.landing-selection-loader__horizon span{background:var(--amber);border-radius:50%;width:.42rem;height:.42rem;animation:1.65s ease-in-out infinite load-sun;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 1.4rem #efa33bbd}.landing-selection-loader p{color:#f7f3eba3;letter-spacing:.24em;text-transform:uppercase;margin:1.15rem 0 0;font-size:.55rem}.landing:not([data-hero-ready=true]) .site-header,.landing:not([data-hero-ready=true]) .intro,.landing:not([data-hero-ready=true]) .seam,.landing:not([data-hero-ready=true]) .villa-choice,.landing:not([data-hero-ready=true]) .photo-note{opacity:0}.landing[data-hero-ready=true] .site-header{animation:.8s .22s backwards reveal-chrome}.landing[data-hero-ready=true] .intro{animation:1.1s cubic-bezier(.2,.75,.2,1) .28s backwards arrive}.landing[data-hero-ready=true] .villa-choice,.landing[data-hero-ready=true] .seam,.landing[data-hero-ready=true] .photo-note{animation:.9s .5s backwards reveal-chrome}.landing__wash{z-index:-1;pointer-events:none;background:linear-gradient(#0d120d6b 0%,#0000 35%),linear-gradient(#0000 66%,#0b0f0b9e 100%),linear-gradient(90deg,#0c100c47,#0000 43%)}.site-header{z-index:3;justify-content:space-between;align-items:flex-start;padding:clamp(1.4rem,3vw,2.6rem) clamp(1.25rem,4vw,4.5rem);display:flex;position:absolute;inset:0 0 auto}.site-header p{letter-spacing:.2em;text-transform:uppercase;margin:.55rem 0 0;font-size:.67rem}.site-header__links{align-items:center;gap:clamp(1rem,2.5vw,2.5rem);display:flex}.site-header__links>a,.site-header__links>button{color:inherit;cursor:pointer;letter-spacing:.2em;text-transform:uppercase;background:0 0;border:0;margin-top:.55rem;padding:0;font-size:.67rem;text-decoration:none}.wordmark{color:inherit;justify-items:center;line-height:1;text-decoration:none;display:grid}.wordmark span{font-family:var(--font-display), serif;letter-spacing:.11em;text-transform:uppercase;font-size:clamp(1.38rem,1.8vw,1.82rem);font-weight:500}.wordmark small{letter-spacing:.5em;text-transform:uppercase;margin-top:.48rem;padding-left:.5em;font-size:.48rem;font-weight:500}.intro{z-index:2;max-width:38rem;transition:opacity .45s,transform .7s;position:absolute;top:19%;left:clamp(1.25rem,7vw,8rem)}.intro__eyebrow,.intro__prompt{letter-spacing:.24em;text-transform:uppercase;font-size:.66rem}.intro__eyebrow{margin:0 0 1rem}.intro h1{font-family:var(--font-display), serif;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 2px 24px #0000002e;margin:0;font-size:clamp(4rem,8vw,8.5rem);font-weight:400;line-height:.75}.intro__prompt{align-items:center;gap:.9rem;margin:1.7rem 0 0;display:flex}.intro__prompt:before{content:"";background:currentColor;width:2.7rem;height:1px}.seam{z-index:2;background:linear-gradient(#0000,#f7f3ebb8);width:1px;height:25%;transition:opacity .4s,transform .9s cubic-bezier(.2,.76,.2,1);position:absolute;bottom:2.5rem;left:50%}.seam span{background:var(--amber);border-radius:50%;width:.5rem;height:.5rem;position:absolute;bottom:-.22rem;left:-.22rem;box-shadow:0 0 1.5rem #efa33bbf}.villa-choice{z-index:3;grid-template-columns:1fr 1fr;gap:clamp(4rem,12vw,14rem);transition:opacity .35s,transform .6s;display:grid;position:absolute;inset:auto clamp(1.25rem,4vw,4.5rem) clamp(1.7rem,4vw,3.5rem)}.villa-choice__option{cursor:pointer;text-align:left;color:inherit;background:0 0;border:0;border-top:1px solid #f7f3eb73;align-items:center;gap:1.1rem;padding:1rem 0 0;text-decoration:none;transition:border-color .25s,transform .35s,opacity .35s;display:flex}.villa-choice__option:last-child{text-align:right;flex-direction:row-reverse}.villa-choice__option small,.villa-choice__option strong{display:block}.villa-choice__option small{letter-spacing:.17em;text-transform:uppercase;margin-bottom:.25rem;font-size:.57rem}.villa-choice__option strong{font-family:var(--font-display), serif;font-size:clamp(1.7rem,2.7vw,3rem);font-weight:500}.villa-choice__direction{border:1px solid #f7f3eb8c;border-radius:50%;flex:0 0 2.5rem;place-items:center;width:2.5rem;height:2.5rem;transition:color .25s,background .25s,border-color .25s;display:grid}.villa-choice__option:hover,.villa-choice__option:focus-visible{border-color:var(--pool);outline:none;transform:translateY(-.3rem)}.villa-choice__option:hover .villa-choice__direction,.villa-choice__option:focus-visible .villa-choice__direction{color:var(--night);border-color:var(--pool);background:var(--pool)}.landing[data-active=west] .landing__image{transform:scale(1.025)translate(.45%)}.landing[data-active=east] .landing__image{transform:scale(1.025)translate(-.45%)}.landing[data-active=west] .villa-choice__option:last-child,.landing[data-active=east] .villa-choice__option:first-child{opacity:.48}.landing[data-selected] .intro,.landing[data-selected] .villa-choice{opacity:0;pointer-events:none;transform:translateY(1rem)}.landing[data-selected] .seam{opacity:0}.landing[data-selected=west] .landing__image{transform:scale(1.34)translate(12%,-2%)}.landing[data-selected=east] .landing__image{transform:scale(1.34)translate(-12%,-2%)}.photo-note{z-index:2;color:#f7f3ebb8;letter-spacing:.2em;text-transform:uppercase;transform-origin:50%;margin:0;font-size:.54rem;transition:opacity .3s;position:absolute;top:50%;right:1.1rem;transform:translate(50%)rotate(90deg)}.landing[data-selected] .photo-note{opacity:0}@keyframes arrive{0%{opacity:0;transform:translateY(1.5rem)}}@keyframes reveal-chrome{0%{opacity:0}}@keyframes load-horizon{0%,18%{opacity:0;transform:scaleX(0)}55%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}@keyframes load-sun{0%,to{opacity:.58;transform:translate(-50%,-50%)scale(.72)}52%{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (max-width:700px){.site-header p,.photo-note,.seam{display:none}.landing__image img{object-position:center}.intro{top:17%}.intro h1{font-size:clamp(3.8rem,18vw,6rem)}.villa-choice{grid-template-columns:1fr;gap:.75rem;inset:auto 1.25rem 1.4rem}.villa-choice__option,.villa-choice__option:last-child{text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#171d1657;border:1px solid #f7f3eb59;flex-direction:row;justify-content:space-between;min-height:4.4rem;padding:.8rem 1rem}.villa-choice__option:last-child .villa-choice__direction{order:2}.villa-choice__option strong{font-size:1.6rem}.landing[data-selected=west] .landing__image{transform:scale(1.5)translate(15%,-1%)}.landing[data-selected=east] .landing__image{transform:scale(1.5)translate(-15%,-1%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
