/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-limestone:#f1eade;--color-plaster:#fbf6ec;--color-sand:#e7dcc9;--color-stone:#dbcdb4;--color-shadow:#242219;--color-ink:#211d16;--color-ink-body:#4c463a;--color-ink-muted:#6b6152;--color-ink-subtle:#a99c84;--color-bone:#f1eade;--color-bone-muted:#f1eadea8;--color-terracotta:#c1653a;--color-terracotta-dp:#9e4e28;--color-olive:#5f6539;--color-olive-soft:#a7ac7e;--color-pool:#5d8a8c;--color-honey:#d8a441;--font-display:"Fraunces",Georgia,"Times New Roman",serif;--font-body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.sticky{position:sticky}.flex{display:flex}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.overflow-hidden{overflow:hidden}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}}@font-face{font-family:Fraunces;src:url(/demo/villa/fonts/Fraunces-latin.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:u+??,u+131,u+152-153,u+2bb-2bc,u+2c6,u+2da,u+2dc,u+304,u+308,u+329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;src:url(/demo/villa/fonts/Fraunces-latinext.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:u+100-2ba,u+2bd-2c5,u+2c7-2cc,u+2ce-2d7,u+2dd-2ff,u+304,u+308,u+329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Hanken Grotesk;src:url(/demo/villa/fonts/Hanken-latin.woff2)format("woff2");font-weight:300 800;font-style:normal;font-display:swap;unicode-range:u+??,u+131,u+152-153,u+2bb-2bc,u+2c6,u+2da,u+2dc,u+304,u+308,u+329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Hanken Grotesk;src:url(/demo/villa/fonts/Hanken-latinext.woff2)format("woff2");font-weight:300 800;font-style:normal;font-display:swap;unicode-range:u+100-2ba,u+2bd-2c5,u+2c7-2cc,u+2ce-2d7,u+2dd-2ff,u+304,u+308,u+329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Hanken Grotesk;src:url(/demo/villa/fonts/Hanken-cyrillic.woff2)format("woff2");font-weight:300 800;font-style:normal;font-display:swap;unicode-range:u+460-52f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}:root{color-scheme:light;--ease-golden:cubic-bezier(.65,.05,.15,1);--ease-out-soft:cubic-bezier(.22,1,.36,1);--ease-walk:cubic-bezier(.4,0,.2,1);--hairline:#211d161a;--hairline-strong:#211d1629;--lift:0 1px 2px #211d160f,0 8px 24px #211d160d}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--color-limestone)}body{color:var(--color-ink);font-family:var(--font-body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0}img{max-width:100%}::selection{background:var(--color-terracotta);color:var(--color-bone)}:focus-visible{outline:2px solid var(--color-terracotta);outline-offset:3px;border-radius:4px}.eyebrow{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--color-olive);margin:0;font-size:.8125rem;font-weight:600;line-height:1.3}.display-xl{letter-spacing:-.01em;font-size:clamp(2.75rem,8vw,8rem);font-weight:380;line-height:.96}.display-lg,.display-xl{font-family:var(--font-display);color:var(--color-ink);margin:0}.display-lg{letter-spacing:-.005em;font-size:clamp(2rem,4.5vw,4rem);font-weight:400;line-height:1}.display-md{font-family:var(--font-display);font-size:clamp(1.4rem,2.4vw,2rem);font-weight:500;line-height:1.12}.display-md,.title{color:var(--color-ink);margin:0}.title{font-family:var(--font-body);font-size:clamp(1.05rem,1.4vw,1.3rem);font-weight:600;line-height:1.25}.body-lg{margin:0;font-size:clamp(1.05rem,1.4vw,1.2rem);font-weight:400}.body,.body-lg{font-family:var(--font-body);color:var(--color-ink-body);line-height:1.6}.body{font-size:1rem}.spec{font-family:var(--font-body);letter-spacing:.01em;font-variant-numeric:tabular-nums;color:var(--color-ink-body);margin:0;font-size:.8125rem;font-weight:500;line-height:1.35}.caption{font-family:var(--font-body);color:var(--color-ink-muted);margin:0;font-size:.75rem;font-weight:400;line-height:1.45}.lead-col{max-width:40rem}.reveal-ready .reveal{opacity:0;transition:opacity .8s var(--ease-out-soft),transform .8s var(--ease-out-soft);transform:translateY(22px)}.reveal-ready .reveal:not(.is-in){will-change:opacity,transform}.reveal-ready .reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal-ready .reveal{opacity:1!important;transform:none!important}}.btn-terracotta{background:var(--color-terracotta-dp);color:var(--color-bone);font-family:var(--font-body);letter-spacing:.005em;cursor:pointer;min-height:48px;box-shadow:var(--lift);transition:background-color .25s var(--ease-out-soft),transform .12s var(--ease-out-soft);border:0;border-radius:12px;align-items:center;gap:.6em;padding:.875rem 1.75rem;font-size:.98rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-terracotta:hover{background:var(--color-terracotta)}.btn-terracotta:active{transform:scale(.97)}.btn-terracotta__arrow{transition:transform .25s var(--ease-out-soft);display:inline-block}.btn-terracotta:hover .btn-terracotta__arrow{transform:translate(4px)}.btn-line{color:var(--color-ink);font-family:var(--font-body);cursor:pointer;min-height:44px;transition:transform .12s var(--ease-out-soft);background:0 0;border:0;align-items:center;gap:.4em;padding:.6rem 0;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.btn-line:after{content:"";background:var(--color-terracotta);transform-origin:0;width:100%;height:1.5px;transition:transform .35s var(--ease-out-soft);position:absolute;bottom:.35rem;left:0;transform:scaleX(0)}.btn-line:hover:after{transform:scaleX(1)}.chip{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-muted);background:#fbf6ecb3;align-items:center;gap:.35em;font-size:.72rem;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.chip{background:color-mix(in srgb,var(--color-plaster) 70%,transparent)}}.chip{border:1px solid var(--hairline);cursor:pointer;transition:color .2s var(--ease-golden),border-color .2s var(--ease-golden),transform .12s var(--ease-out-soft);border-radius:9px;padding:.42rem .62rem;text-decoration:none}.chip:hover{color:var(--color-ink);border-color:var(--hairline-strong)}.chip:active{transform:scale(.96)}.chip.is-on{color:var(--color-terracotta);border-color:#c1653a6b}@supports (color:color-mix(in lab,red,red)){.chip.is-on{border-color:color-mix(in srgb,var(--color-terracotta) 42%,transparent)}}.spec-chip{font-family:var(--font-body);letter-spacing:.01em;font-variant-numeric:tabular-nums;color:#565c30;background:var(--color-sand);border-radius:999px;align-items:center;gap:.4em;padding:.5rem .85rem;font-size:.8125rem;font-weight:600;display:inline-flex}.spec-chip.is-active{color:var(--color-bone);background:var(--color-terracotta)}.spec-card{background:var(--color-plaster);box-shadow:var(--lift);border-radius:14px;padding:1.5rem}.spec-card__icon{color:var(--color-olive);margin-bottom:.75rem;display:inline-flex}.spec-card .spec{margin-top:.5rem}.chrome-nav{z-index:40;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);inset-inline:0;justify-content:space-between;align-items:center;height:56px;padding-inline:clamp(16px,5vw,48px);display:flex;position:fixed;top:0}.chrome-nav:before{content:"";z-index:-1;pointer-events:none;transition:background-color .45s var(--ease-golden),opacity .45s var(--ease-golden);position:absolute;inset:0}.nav--onlight:before{background:linear-gradient(#f1eadee0,#0000)}@supports (color:color-mix(in lab,red,red)){.nav--onlight:before{background:linear-gradient(to bottom,color-mix(in srgb,var(--color-limestone) 88%,transparent),transparent)}}.nav--ondark:before{background:linear-gradient(#1816109e,#0000)}.wordmark{font-family:var(--font-body);letter-spacing:.02em;color:var(--color-ink);font-size:.95rem;font-weight:700;text-decoration:none}.wordmark,.wordmark span{transition:color .45s var(--ease-golden)}.wordmark span{color:var(--color-ink-muted);font-weight:500}.nav--ondark .wordmark{color:var(--color-bone);text-shadow:0 1px 10px #0000006b}.nav--ondark .wordmark span{color:var(--color-bone-muted)}.nav--ondark .lang-toggle{border-color:#f1eade4d}.nav--ondark .lang-toggle button{color:var(--color-bone-muted)}.nav--ondark .lang-toggle button[aria-pressed=true]{background:var(--color-terracotta);color:var(--color-bone)}.nav--ondark .chip{color:var(--color-bone-muted);background:#f1eade0f;border-color:#f1eade42}.nav--ondark .chip:hover{color:var(--color-bone);border-color:#f1eade80}.chrome-right{align-items:center;gap:.5rem;display:flex}.lang-toggle{border:1px solid var(--hairline-strong);border-radius:9px;display:inline-flex;overflow:hidden}.lang-toggle button{font-family:var(--font-body);letter-spacing:.06em;color:var(--color-ink-muted);cursor:pointer;min-height:40px;transition:background-color .2s var(--ease-golden),color .2s var(--ease-golden);background:0 0;border:0;padding:.4rem .6rem;font-size:.72rem;font-weight:600}.lang-toggle button[aria-pressed=true]{background:var(--color-terracotta);color:var(--color-bone)}.progress-bar{z-index:41;inset-inline:0;background:0 0;height:2px;position:fixed;top:0}.progress-bar>span{transform-origin:0;background:var(--color-terracotta);width:100%;height:100%;display:block}.beat-hud{z-index:40;flex-direction:column;align-items:flex-end;gap:.7rem;display:flex;position:fixed;top:50%;right:clamp(12px,2.6vw,24px);transform:translateY(-50%)}.beat-hud .hud-index{font-family:var(--font-body);letter-spacing:.1em;color:var(--color-terracotta);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:700}.beat-hud .hud-name{font-family:var(--font-body);letter-spacing:.22em;color:var(--color-ink-muted);writing-mode:vertical-rl;font-size:.68rem;font-weight:600;transform:rotate(180deg)}.tick{background:var(--hairline-strong);width:12px;height:2px;transition:background-color .35s var(--ease-golden),width .35s var(--ease-golden);border-radius:2px}.tick.is-active{width:20px}.skip-link,.tick.is-active{background:var(--color-terracotta)}.skip-link{z-index:80;color:var(--color-bone);font-family:var(--font-body);transition:transform .2s var(--ease-out-soft);border-radius:9px;padding:.6rem .95rem;font-size:.85rem;font-weight:600;text-decoration:none;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus-visible{transform:translateY(0)}.loader{z-index:90;background:var(--color-shadow);transition:opacity .55s var(--ease-golden);flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;display:flex;position:fixed;inset:0}.loader.is-hidden{opacity:0;pointer-events:none}.loader__mark{font-family:var(--font-display);color:var(--color-bone);letter-spacing:.01em;font-size:clamp(1.5rem,4vw,2.4rem);font-weight:400}.loader__bar{background:#f1eade2e;width:min(200px,40vw);height:2px;overflow:hidden}.loader__bar>span{background:var(--color-terracotta);width:40%;height:100%;animation:loaderSweep 1s var(--ease-golden) infinite;display:block}@keyframes loaderSweep{0%{transform:translate(-120%)}to{transform:translate(320%)}}.grain{z-index:60;pointer-events:none;mix-blend-mode:overlay;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.spine{background:var(--color-shadow);position:relative}.spine-sticky{height:100dvh;position:sticky;top:0;overflow:hidden}.spine-canvas,.spine-poster{width:100%;height:100%;position:absolute;inset:0}.spine-poster{object-fit:cover;transition:opacity .6s var(--ease-golden)}.spine-canvas{display:block}.spine-scrim{z-index:1;pointer-events:none;background:radial-gradient(130% 100% at 28% 62%,#2422190a,#24221966 88%),linear-gradient(#0000 56%,#242219ad),linear-gradient(200deg,#d8a4411a,#0000 52%);position:absolute;inset:0}.spine-hero,.spine-ov{z-index:3;will-change:transform;position:absolute;inset:0}.spine-ov{pointer-events:none;opacity:0}.spine-hero>*,.spine-ov>*{pointer-events:auto}.spine-hero-inner{max-width:1440px;height:100%;margin-inline:auto;position:relative}.spine-hero-copy{max-width:38rem;position:absolute;bottom:15vh;left:clamp(20px,6vw,96px)}.spine-hero-eyebrow{color:var(--color-olive-soft)}.spine-hero-title{color:var(--color-bone);text-shadow:0 2px 30px #0000006b;max-width:12ch;margin-top:1rem}.spine-hero-lead{color:var(--color-bone-muted);max-width:32rem;margin-top:1.4rem}.spine-hint{color:#f1eade9e;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.75rem;margin-top:2.4rem;font-weight:600;display:flex}.spine-hint-line{background:#f1eade66;width:2.5rem;height:1px;display:inline-block}.ov-bl{max-width:40rem;position:absolute;bottom:15vh;left:clamp(20px,6vw,96px)}.ov-eyebrow-honey{color:var(--color-honey)}.ov-title{text-shadow:0 2px 24px #0000006b;max-width:18ch;margin-top:.75rem}.ov-body,.ov-title{color:var(--color-bone)}.ov-body{text-shadow:0 1px 12px #0006;max-width:32rem;margin-top:1rem;font-weight:500}.ov-spec{color:var(--color-bone-muted);letter-spacing:.02em;margin-top:.9rem}.ov-depth{flex-wrap:wrap;gap:1.25rem;margin-top:1.6rem;display:flex}.ov-depth span{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:#f1eadeb8;border-left:2px solid #f1eade59;padding-left:.75rem;font-size:.68rem;font-weight:600}.ov-depth span:first-child{border-left-color:var(--color-pool)}.ov-card{width:min(30rem,82vw);position:absolute;bottom:15vh;left:clamp(20px,6vw,96px)}.fp-svg{display:block}.fp-svg .fp-room-base{fill-opacity:.13}.fp-svg .fp-room{fill:var(--color-terracotta);fill-opacity:0;transition:fill-opacity .5s var(--ease-golden)}.fp-svg .fp-walls path{fill:none;stroke:var(--color-ink);stroke-width:3.2px;stroke-linejoin:round;stroke-linecap:round}.fp-svg .fp-walls--inner path{stroke:var(--color-ink-body);stroke-width:1.6px}.fp-svg.fp--draw .fp-walls path{stroke:var(--color-honey);stroke-dasharray:1;stroke-dashoffset:1px;animation:fpDraw 2.4s var(--ease-golden) forwards}@keyframes fpDraw{to{stroke-dashoffset:0}}.fp-svg.fp--live .fp-walls path{stroke-dasharray:1;stroke-dashoffset:0}.fp-svg .fp-win-frame{fill:var(--color-stone);stroke:var(--color-ink-body);stroke-width:1.1px}.fp-svg .fp-win-line{stroke:var(--color-ink-body);stroke-width:1px}.fp-svg .fp-door{fill:none;stroke:var(--color-ink-muted);stroke-width:1.1px}.fp-svg .fp-obj{fill:none;stroke:var(--color-ink-muted);stroke-width:1.3px}.fp-svg .fp-soft{fill:#211d1614}@supports (color:color-mix(in lab,red,red)){.fp-svg .fp-soft{fill:color-mix(in srgb,var(--color-ink) 8%,transparent)}}.fp-svg .fp-soft{stroke:var(--color-ink-muted);stroke-width:1.3px}.fp-svg .fp-line{fill:none;stroke:var(--color-ink-muted);stroke-width:1.1px}.fp-svg .fp-fire{fill:#c1653a4d}@supports (color:color-mix(in lab,red,red)){.fp-svg .fp-fire{fill:color-mix(in srgb,var(--color-terracotta) 30%,transparent)}}.fp-svg .fp-fire{stroke:var(--color-terracotta-dp);stroke-width:1.1px}.fp-svg .fp-hatch{stroke:var(--color-ink-subtle);stroke-width:1px}.fp-svg .fp-mat{fill:none;stroke:var(--color-ink-subtle);stroke-width:1.1px;stroke-dasharray:4 3}.fp-svg .fp-pool-edge{fill:none;stroke:var(--color-pool);stroke-width:1.8px}.fp-svg .fp-pool-water{opacity:.55}.fp-svg .fp-water-line{stroke:var(--color-pool);stroke-width:1px}.fp-svg .fp-dim line{stroke:var(--color-ink-subtle);stroke-width:1px}.fp-svg .fp-dim-t{font-family:var(--font-body);letter-spacing:.04em;fill:var(--color-ink-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.fp-svg .fp-north-ring{fill:none;stroke:var(--color-ink-body);stroke-width:1.3px}.fp-svg .fp-north-arrow{fill:var(--color-terracotta)}.fp-svg .fp-north-t{font-family:var(--font-body);fill:var(--color-ink-body);font-size:12px;font-weight:700}.fp-svg .fp-scale{stroke:var(--color-ink-body);stroke-width:1.2px}.fp-svg .fp-scale-seg{fill:var(--color-ink-body)}.fp-svg .fp-scale-t{font-family:var(--font-body);fill:var(--color-ink-muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.fp-svg .fp-dot{fill:var(--color-terracotta);opacity:0;transition:opacity .3s var(--ease-golden)}.fpr-static .fp-dot{opacity:1}.fp-svg .fp-label{font-family:var(--font-body);letter-spacing:.08em;fill:var(--color-ink);font-size:13px;font-weight:600}.fp-svg .fp-area{letter-spacing:.02em;fill:var(--color-ink-muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.fp-svg.fp--live .fp-area,.fp-svg.fp--live .fp-label{paint-order:stroke fill;stroke:var(--color-plaster);stroke-width:3.5px;stroke-linejoin:round;stroke-linecap:round}.fp-svg.fp--draw .fp-dim,.fp-svg.fp--draw .fp-doors,.fp-svg.fp--draw .fp-furni,.fp-svg.fp--draw .fp-meta,.fp-svg.fp--draw .fp-pool,.fp-svg.fp--draw .fp-rooms-base,.fp-svg.fp--draw .fp-wins{opacity:0}.fp-svg.fp--draw .fp-label{fill:#f1eade6b}.fp-svg.fp--draw .fp-area{fill:#f1eade47}.spine-static{background:var(--color-shadow);position:relative}.ss-hero{min-height:92vh;display:grid;position:relative;overflow:hidden}.ss-hero-photo{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.ss-hero-scrim{background:radial-gradient(120% 90% at 50% 42%,#24221933,#2422199e 72%),linear-gradient(#0000 54%,#242219b8);position:absolute;inset:0}.ss-hero-copy{z-index:2;align-self:end;max-width:40rem;padding:0 clamp(20px,6vw,64px) 12vh;position:relative}.ss-block{background:var(--color-shadow);align-items:end;min-height:84vh;display:grid;position:relative;overflow:hidden}.ss-block>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.ss-block:after{content:"";background:linear-gradient(#0000 52%,#242219b8);position:absolute;inset:0}.ss-block-copy{z-index:2;max-width:40rem;padding:0 clamp(20px,6vw,64px) clamp(40px,8vh,80px);position:relative}.ss-rooms{background:var(--color-limestone);padding:clamp(56px,9vh,100px) clamp(20px,6vw,64px)}.ss-rooms-head{margin-bottom:2rem}.ss-rooms-head .eyebrow{margin-bottom:.5rem}.ss-rooms-grid{gap:clamp(16px,3vw,28px);display:grid}@media (min-width:744px){.ss-rooms-grid{grid-template-columns:repeat(3,1fr)}}.fpr-section{background:var(--color-limestone);padding-block:clamp(48px,10vh,120px);position:relative}.fpr-grid{grid-template-columns:5fr 4fr;align-items:start;gap:clamp(24px,5vw,72px);max-width:1440px;margin-inline:auto;padding-inline:clamp(20px,6vw,96px);display:grid}.fpr-plan{position:sticky;top:12vh}.fpr-plan-inner{background-color:var(--color-plaster);box-shadow:var(--lift),inset 0 0 0 1px #211d160f,inset 0 2px 18px #211d160d;background-image:linear-gradient(#211d160b 1px,#0000 0),linear-gradient(90deg,#211d160b 1px,#0000 0);background-size:22px 22px;border-radius:18px;padding:clamp(20px,3vw,40px);position:relative}.fpr-plan .fp-svg{width:100%;height:auto;margin-top:1rem;display:block}.fpr-title{margin-top:.5rem}.fpr-total{color:var(--color-ink);margin-top:1rem;font-weight:600}.fpr-cards{gap:clamp(28px,7vh,64px);margin:0;padding-block:7vh;padding-inline:0;list-style:none;display:grid}.fpr-card{min-height:132px;transition:transform .4s var(--ease-out-soft),box-shadow .4s var(--ease-out-soft),border-color .4s var(--ease-out-soft);border-left:3px solid #0000;flex-direction:column;justify-content:center;display:flex}.fpr-card.is-active{border-left-color:var(--color-terracotta);transform:translate(4px)}.fpr-card-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.fpr-area{color:var(--color-terracotta-dp);white-space:nowrap;font-weight:700}.fpr-note{color:var(--color-ink-muted);margin-top:.35rem}.sunset-section{background:linear-gradient(170deg,#2a2620,var(--color-shadow) 85%);align-items:center;min-height:100dvh;display:grid;position:relative;overflow:hidden}.sunset-photo{object-fit:cover;object-position:center 58%;opacity:1;filter:contrast(1.04)saturate(.97);width:100%;height:100%;position:absolute;inset:0}.sunset-scrim{background:linear-gradient(95deg,#14120dbd,#14120d57 40%,#14120d00 66%),linear-gradient(#14120d00,#14120d24 48%,#14120d99);position:absolute;inset:0}.sunset-inner{z-index:2;width:100%;max-width:1440px;margin-inline:auto;padding:clamp(96px,14vh,160px) clamp(20px,6vw,96px) clamp(64px,10vh,120px);position:relative}.sunset-inner .eyebrow{color:var(--color-honey)}.sunset-title{color:var(--color-bone);text-shadow:0 2px 30px #00000059;max-width:16ch;margin-top:1rem}.sunset-ribbon{flex-wrap:wrap;gap:.6rem;margin-top:2rem;display:flex}.sunset-actions{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2.5rem;display:flex}.sunset-actions .btn-line{color:var(--color-bone)}.sunset-actions .btn-line:after{background:var(--color-bone)}.villa-footer{background:var(--color-shadow);color:var(--color-bone-muted);padding:clamp(32px,6vh,64px) clamp(20px,6vw,96px)}.villa-footer .caption{color:var(--color-bone-muted);max-width:52rem}.mobile-cta{z-index:45;inset-inline:0;background:#fbf6eceb;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem clamp(16px,5vw,24px);display:none;position:fixed;bottom:0}@supports (color:color-mix(in lab,red,red)){.mobile-cta{background:color-mix(in srgb,var(--color-plaster) 92%,transparent)}}.mobile-cta{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--hairline)}.mobile-cta .btn-terracotta{flex:1;justify-content:center;padding-block:.75rem}.mobile-cta__meta{font-family:var(--font-body);color:var(--color-ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8125rem;font-weight:600}@media (max-width:900px){.fpr-grid{grid-template-columns:1fr}.fpr-plan{position:static}}@media (max-width:743px){.beat-hud{display:none}.mobile-cta{display:flex}.villa-footer{padding-bottom:6rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.fp-svg.fp--draw .fp-walls path{stroke-dashoffset:0}.fp-svg .fp-dot{opacity:1}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}