:root{--paper:#f4f0e7;--ink:#26332d;--muted:#667064;--line:#d8dacd;--sage:#e0e3d2;--sand:#c7b79b}*{box-sizing:border-box}html{overflow-anchor:none;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font:15px/1.65 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,a,input,select{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.scene-stage:focus-visible{outline-offset:4px;outline:3px solid #aa7848}.skip-link{background:var(--paper);z-index:99;padding:12px;position:fixed;top:-80px;left:12px}.skip-link:focus{top:8px}svg{flex-shrink:0;width:20px;height:20px}.site-header{z-index:50;background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;height:92px;padding:0 3.5vw;display:flex;position:sticky;top:0}.wordmark{letter-spacing:.19em;font:24px/1.2 Georgia,serif}.wordmark span{letter-spacing:.26em;font:9px/2.3 -apple-system,sans-serif;display:block}.site-header nav{align-items:center;gap:32px;display:flex}.site-header nav a,.site-header nav button{background:0 0;border:0;padding:10px 0;font-size:13px}.button{border:1px solid var(--ink);background:0 0;border-radius:28px;justify-content:center;align-items:center;gap:22px;min-height:48px;padding:12px 23px;font-size:13px;display:inline-flex}.primary{background:var(--ink);color:var(--paper)}.button:hover{color:var(--paper);background:#435749}.full{width:100%}.icon-button{background:var(--paper);border:1px solid #b8c0ad;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:inline-grid}.icon-button:hover{background:var(--ink);color:var(--paper)}h1,h2,h3{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:1.06}em{font-weight:400}h1{letter-spacing:-.045em;font-size:clamp(56px,6vw,88px)}h2{letter-spacing:-.04em;font-size:clamp(42px,4.5vw,64px)}h3{letter-spacing:-.025em;font-size:31px}p{margin:16px 0}.small-label{letter-spacing:.18em;text-transform:uppercase;font-size:10px}.estate{background:#e6e7da;height:calc(100svh - 92px);min-height:570px;scroll-margin-top:92px;display:flex;position:relative}.scene-stage{isolation:isolate;flex:1;min-width:0;position:relative;overflow:hidden}.estate-poster{object-fit:cover;width:100%;height:100%;transition:opacity .35s;position:absolute;inset:0}.estate-poster.is-hidden{opacity:0;pointer-events:none}.intro-panel{background:linear-gradient(90deg,#f4f0e7 60%,#f4f0e7ed 80%,#f4f0e700);flex-direction:column;justify-content:center;width:43%;min-width:470px;padding:5vw 3.5vw;display:flex;position:absolute;inset:0 auto 0 0}.intro-panel>p:not(.small-label){max-width:370px;font-size:15px;line-height:1.7}.intro-panel h1{max-width:420px}.hero-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:20px;display:flex}.text-link{background:0 0;border:0;border-bottom:1px solid #83907b;align-items:center;gap:12px;padding:8px 0;font-size:13px;display:inline-flex}.concept-caption{color:#3e5145;z-index:6;pointer-events:none;background:#f4f0e7dd;border-radius:2px;padding:5px 12px;font-size:10px;position:absolute;bottom:16px;left:24px}.scene-help{z-index:6;color:#304037;pointer-events:none;background:#f4f0e7d9;border-radius:4px;padding:7px 12px;font-size:11px;position:absolute;top:18px;left:24px}.camera-tools{z-index:10;flex-direction:column;gap:5px;display:flex;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.viewpoints{z-index:10;white-space:nowrap;background:#f4f0e7ed;border:1px solid #b8c0ad;border-radius:35px;padding:5px;display:flex;position:absolute;bottom:45px;left:50%;transform:translate(-50%)}.viewpoints button{background:0 0;border:0;border-radius:30px;min-height:44px;padding:12px 20px;font-size:12px}.viewpoints button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.exit-explore{z-index:10;background:#f4f0e7ed;border:1px solid #b8c0ad;border-radius:24px;min-height:40px;padding:8px 15px;font-size:11px;position:absolute;top:18px;right:20px}.hotspot{min-width:44px;height:44px;color:var(--ink);background:#f4f0e7eb;border:1px solid #62745b;border-radius:50%;place-items:center;padding:0 8px;font-size:12px;display:grid;box-shadow:0 0 0 4px #f4f0e745}.hotspot:hover,.hotspot.selected{background:var(--ink);color:var(--paper);box-shadow:0 0 0 5px #f4f0e780}.villa-panel{border-left:1px solid var(--line);background:var(--paper);z-index:7;flex-direction:column;flex-shrink:0;justify-content:center;width:355px;padding:28px;display:flex;overflow:auto}.panel-top{justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;display:flex}.villa-panel h2{letter-spacing:-.04em;font-size:39px}.villa-panel>p{color:var(--muted);font-size:13px}.villa-facts{border-block:1px solid var(--line);justify-content:space-between;gap:12px;margin:12px 0 26px;padding:20px 0;display:flex}.villa-facts>span{font-family:Georgia,serif;font-size:24px;line-height:1.4}.villa-facts small{color:var(--muted);font:11px -apple-system,sans-serif;display:block}.panel-link{text-align:center;margin-top:18px;font-size:11px;text-decoration:underline}.loading-overlay{z-index:20;background:#f4f0e7db;flex-direction:column;justify-content:center;align-items:center;gap:20px;font-family:Georgia,serif;font-size:24px;display:flex;position:absolute;inset:0}.loading-overlay button{background:0 0;border:0;border-bottom:1px solid #87907a;padding:12px;font:12px -apple-system,sans-serif}.loader{border:1px solid #b8c0ad;border-top-color:#26332d;border-radius:50%;width:30px;height:30px;animation:1s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}.canvas-message{padding:30px}.fallback-message{background:var(--paper);border-left:2px solid #aa7848;padding:12px;font-size:12px!important}.stays{padding:100px 7vw;scroll-margin-top:25px}.section-title{justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px;display:flex}.section-title>p{max-width:350px;color:var(--muted);font-size:14px}.collection{grid-template-columns:1.5fr 1fr;align-items:center;gap:7vw;display:grid}.villa-card img{object-fit:cover;background:var(--sage);width:100%;height:360px;display:block}.card-content{justify-content:space-between;align-items:center;gap:20px;padding:24px 0;display:flex}.card-content p{color:var(--muted);margin:10px 0 0;font-size:12px}.villa-description{max-width:350px}.villa-description h3{font-size:44px}.villa-description p{color:var(--muted);font-size:14px}.villa-description .development-note{margin-top:30px;font-size:11px;font-style:italic}.villa-list{border-top:1px solid var(--line);grid-template-columns:1fr 1.5fr;gap:60px;margin-top:70px;padding-top:40px;display:grid}.villa-list p{color:var(--muted);max-width:350px;font-size:13px}.unit-buttons{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.unit-buttons button{background:0 0;border:1px solid #b9c1ad;border-radius:3px;min-height:68px;font-size:16px}.unit-buttons button span{color:var(--muted);font-size:10px;display:block}.unit-buttons button[aria-pressed=true],.unit-buttons button:hover{background:var(--sage)}.concept-note{background:var(--sage);justify-content:space-between;gap:50px;padding:38px 7vw;display:flex}.concept-note p{max-width:760px;margin:0;font-size:13px}.concept-note a{white-space:nowrap;align-items:center;gap:15px;font-size:12px;display:flex}footer{color:var(--muted);justify-content:space-between;gap:20px;padding:28px 3.5vw;font-size:10px;display:flex}footer>span:first-child{letter-spacing:.15em}.stay-dialog{background:var(--paper);color:var(--ink);border:0;border-radius:5px;width:min(620px,100% - 30px);max-height:calc(100svh - 32px);padding:0;overflow:hidden}.stay-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#18251db0}.dialog-body{max-height:calc(100svh - 32px);padding:45px;position:relative;overflow-y:auto}.dialog-close{z-index:2;position:absolute;top:18px;right:18px}.dialog-body h2{margin-top:25px;font-size:50px}.dialog-body>p{color:var(--muted);font-size:13px}.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin:30px 0;display:grid}.form-grid label{flex-direction:column;gap:8px;min-width:0;font-size:12px;display:flex}.form-grid input,.form-grid select{width:100%;min-width:0;max-width:100%;min-height:48px;color:var(--ink);background:0 0;border:1px solid #b4bea8;border-radius:3px;padding:12px;font-size:16px}.date-field{border:1px solid #b4bea8;border-radius:3px;min-width:0;padding-inline:12px;display:block}.form-grid .date-field input{appearance:none;border:0;border-radius:0;padding:0;display:block}.form-grid select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2326332d' stroke-width='1.5'%3E%3Cpath d='m5 7 5 5 5-5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:18px;min-height:50px;padding-right:40px}.form-note{color:var(--muted);align-self:center;font-size:11px}.error{color:#8b422e;font-size:13px}.stay-result{background:var(--sage);margin-top:24px;padding:20px;font-size:13px}.stay-result small{font-size:11px}.stay-result p{margin:10px 0}@media (max-width:900px){.site-header nav{gap:18px}.intro-panel{width:49%;min-width:400px}.villa-panel{width:300px;padding:22px}.villa-panel h2{font-size:32px}.viewpoints button{padding:12px 13px}.collection{gap:40px}.villa-card img{height:310px}.villa-list{gap:30px}}@media (max-width:700px){.site-header{gap:12px;height:82px;padding:0 20px}.wordmark{font-size:20px}.wordmark span{font-size:8px}.site-header nav{display:none}.header-cta{gap:10px;min-height:44px;padding:10px 16px;font-size:11px}.header-cta svg{width:16px}.estate{flex-direction:column;height:calc(100svh - 82px);min-height:650px;scroll-margin-top:82px}.estate.has-selection{height:auto;min-height:0}.has-selection .scene-stage{flex:auto;height:52svh;min-height:365px}.intro-panel{background:linear-gradient(#f4f0e7 0%,#f4f0e7f5 34%,#f4f0e790 58%,#f4f0e700 76%);justify-content:flex-start;width:100%;min-width:0;padding:45px 24px 25px}.intro-panel h1{max-width:300px;font-size:62px}.intro-panel .small-label{font-size:9px}.intro-panel>p:not(.small-label){font-size:13px}.hero-actions{gap:20px;margin-top:8px}.hero-actions .button{min-height:46px;padding:12px 20px}.estate-poster{object-position:60% 80%;object-fit:cover}.concept-caption{padding:3px 6px;font-size:8px;bottom:9px;left:12px}.scene-help{max-width:220px;padding:5px 8px;font-size:9px;top:12px;left:12px}.exit-explore{min-height:34px;padding:7px 12px;top:48px;right:12px}.camera-tools{gap:4px;top:48%;right:12px}.camera-tools .icon-button{width:40px;height:40px}.viewpoints{max-width:calc(100% - 24px);padding:3px;bottom:35px}.viewpoints button{padding:10px 16px;font-size:10px}.hotspot{min-width:38px;height:38px;font-size:10px}.villa-panel{border-left:0;border-top:1px solid var(--line);width:100%;padding:23px 24px 26px;overflow:visible}.panel-top{margin-bottom:12px}.villa-panel h2{font-size:35px}.villa-panel>p{font-size:13px}.villa-facts{margin:8px 0 22px;padding:15px 0}.panel-link{margin-top:14px}.stays{padding:65px 24px}.section-title{margin-bottom:30px;display:block}.section-title h2{font-size:49px}.section-title>p{margin-top:25px;font-size:13px}.collection{grid-template-columns:1fr;gap:32px}.villa-card img{height:255px}.card-content h3{font-size:26px}.villa-description{border-top:1px solid var(--line);max-width:none;padding-top:28px}.villa-description h3{font-size:38px}.villa-description .development-note{margin-top:15px}.villa-list{grid-template-columns:1fr;gap:15px;margin-top:40px}.unit-buttons{gap:8px}.unit-buttons button{min-height:65px;font-size:14px}.concept-note{padding:30px 24px;display:block}.concept-note a{margin-top:25px}footer{flex-direction:column;gap:10px;padding:25px 24px}.dialog-body{padding:38px 24px 28px}.dialog-body h2{font-size:42px}.form-grid{grid-template-columns:minmax(0,1fr)}.form-note{padding:8px 0}.dialog-close{top:12px;right:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}#home,#stays{scroll-margin-top:92px}@media (max-width:700px){#home,#stays{scroll-margin-top:82px}}.interior-status{z-index:12;border:1px solid var(--line);background:#f4f0e7f0;border-radius:4px;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 18px;font-size:12px;display:flex;position:absolute;top:80px;left:24px;right:90px}.interior-status button{background:0 0;border:0;min-height:44px;text-decoration:underline}@media (max-width:700px){.has-selection .viewpoints button{padding-inline:12px}.interior-status{gap:6px;padding:10px 12px;top:92px;left:12px;right:62px}}.measurement-panel{z-index:20;background:#fffef5f5;border:1px solid #666;max-width:310px;max-height:300px;padding:9px 12px;font:11px/1.4 monospace;position:absolute;top:52px;left:24px;overflow:auto}.measurement-panel summary{cursor:pointer}.measurement-panel button{min-height:40px;margin-block:8px}.measurement-panel output{white-space:pre-wrap;display:block}.signature-description{color:var(--muted);max-width:42ch;margin:0 0 20px;font-size:14px}.signature-card .development-note{color:var(--muted);margin-top:16px;font-size:11px}.collection-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:12px 38px;padding:18px 24px;display:flex}.collection-nav a{border-bottom:1px solid #0000;align-items:center;min-height:44px;font-size:12px;display:inline-flex}.collection-nav a:hover{border-color:var(--ink)}#experiences,#gallery,#about{scroll-margin-top:112px}.experiences{background:#e9e9de;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8vw;padding:90px 7vw;display:grid}.experience-intro>p:not(.small-label){max-width:39ch;color:var(--muted);margin-block:26px 32px}.experience-intro figure,.gallery-grid figure{min-width:0;margin:0}.experience-intro img{width:100%;height:auto;display:block}.experience-intro figcaption,.editorial-note{color:var(--muted);margin-top:12px;font-size:11px}.experience-stories{align-self:center}.experience-stories article{border-top:1px solid #c9cebf;grid-template-columns:32px minmax(0,1fr);gap:16px;padding:26px 0;display:grid}.experience-number{color:var(--muted);font:italic 20px/1.5 Georgia,serif}.experience-stories .small-label{margin:0 0 13px}.experience-stories h3{font-size:clamp(26px,2.7vw,36px);line-height:1.1}.experience-stories article p:not(.small-label){color:var(--muted);max-width:45ch;margin-bottom:0;font-size:14px}.experience-stories>.text-link{min-height:44px;margin-top:12px}.retreat-gallery{padding:100px 7vw}.gallery-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:55px 5vw;display:grid}.gallery-grid figure:nth-child(2n){padding-top:70px}.gallery-grid a{display:block;position:relative}.gallery-grid img{background:var(--sage);width:100%;height:auto;display:block}.gallery-open{background:var(--paper);align-items:center;gap:10px;padding:8px 12px;font-size:11px;display:inline-flex;position:absolute;bottom:12px;right:12px}.gallery-grid a:hover .gallery-open,.gallery-grid a:focus-visible .gallery-open{background:var(--ink);color:var(--paper)}.gallery-grid figcaption h3{margin-top:22px;font-size:clamp(24px,2.6vw,34px);line-height:1.15}.gallery-grid figcaption p{color:var(--muted);margin:10px 0 0;font-size:12px}.stay-invitation{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:40px;margin-top:85px;padding-top:45px;display:flex}.stay-invitation>div:first-child{max-width:430px}.stay-invitation p{color:var(--muted);font-size:14px}.invitation-actions{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.invitation-actions small{color:var(--muted);font-size:10px}@media (max-width:700px){.collection-nav{gap:0 24px;padding:14px 24px}#experiences,#gallery,#about{scroll-margin-top:102px}.experiences{grid-template-columns:minmax(0,1fr);gap:35px;padding:60px 24px}.experience-intro h2{font-size:46px}.experience-stories article{grid-template-columns:24px minmax(0,1fr);gap:12px}.retreat-gallery{padding:65px 24px}.gallery-grid{grid-template-columns:minmax(0,1fr);gap:36px}.gallery-grid figure:nth-child(2n){padding-top:0}.gallery-grid figcaption h3{margin-top:18px}.stay-invitation{margin-top:50px;padding-top:32px;display:block}.invitation-actions{margin-top:28px}}.facility-label{color:var(--ink);white-space:nowrap;background:#f4f0e7ed;border:1px solid #b8c0ad;border-radius:20px;padding:7px 11px;font-size:11px;display:block}@media (max-width:700px){.viewpoints button{padding-inline:10px}.facility-label{padding:5px 7px;font-size:9px}}
