@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&display=swap');
:root{--cream:#f3f1e9;--ink:#292d25;--muted:#a5ad95;--serif:'Italiana',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #b8ca9b;outline-offset:6px}button{border:0}header{position:fixed;z-index:20;left:5%;right:5%;top:28px;display:flex;align-items:center;justify-content:space-between;color:white;padding:16px 0;transition:background .4s,padding .4s,top .4s,box-shadow .4s,border-radius .4s}header.scrolled{top:16px;padding:14px 26px;background:#262c25dd;backdrop-filter:blur(20px);border:1px solid #ffffff26;border-radius:70px;box-shadow:0 8px 30px #0002}.brand{font-family:var(--serif);font-size:34px;letter-spacing:5px;line-height:1}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:7px;font-weight:500;letter-spacing:3px;margin-top:10px}nav{display:flex;gap:36px;font-size:12px}nav a{position:relative;padding:10px 0}nav a:after{content:'';height:1px;position:absolute;bottom:3px;left:0;width:0;background:currentColor;transition:width .3s}nav a:hover:after{width:100%}.visit{background:var(--cream);color:var(--ink);border-radius:30px;padding:15px 22px;font-size:12px}.visit span{margin-left:22px}.menu-toggle{display:none;background:transparent;color:inherit;font-size:22px}.journey{height:520svh;position:relative;background:#252820}.cinema{height:100svh;position:sticky;top:0;overflow:hidden;color:var(--cream)}.scenes,.scene,.shade{position:absolute;inset:0;width:100%;height:100%}.scene{object-fit:cover;opacity:0;will-change:transform,opacity;transform:scale(1.02)}.scene:first-child{opacity:1;object-position:50% 60%}.shade{background:linear-gradient(90deg,#111a176b,transparent 95%),linear-gradient(0deg,#141c18da 0%,#16201912 55%,#17221c73 100%)}.topline{position:absolute;top:166px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2.5px}.topline i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c4cdb2;margin-right:8px}.chapters{position:absolute;top:30%;left:8%;right:5%;bottom:140px}.chapter{position:absolute;inset:0;opacity:0;pointer-events:none;transform:translateY(20px)}.chapter.active{pointer-events:auto}.chapter:first-child{opacity:1;transform:none}.eyebrow{font-size:9px;letter-spacing:2.1px;font-weight:500;line-height:1.6;margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1,.chapter h2{font-size:clamp(52px,6.6vw,104px);line-height:1.04;letter-spacing:-2px;margin-bottom:24px}em{font-family:Georgia,serif;font-weight:400;font-size:.91em}h1 em,.chapter h2 em{color:#e2e6d5}.intro{font-size:13px;line-height:1.9;color:#f3f1e9d4}.explore{display:inline-flex;align-items:center;gap:14px;background:none;color:inherit;font-size:11px;letter-spacing:.5px;margin-top:12px;padding:0}.circle{width:43px;height:43px;border:1px solid #ffffff70;border-radius:50%;display:grid;place-items:center;font-size:18px;transition:background .3s}.explore:hover .circle{background:#fff2}.scene-detail{font-size:9px;letter-spacing:1.5px;display:block;margin-top:36px}.scene-detail b{margin:0 14px}.property-note{position:absolute;right:6%;bottom:170px;width:275px;padding:24px 0 0;border-top:1px solid #ffffff65}.property-note>span{font-size:8px;letter-spacing:1.7px}.property-note strong{font-family:var(--serif);font-weight:400;font-size:32px;display:block;margin:15px 0 10px}.property-note p{font-size:10px;color:#ffffffb0}.property-note div{display:flex;gap:20px;font-size:10px;margin-top:20px}.tour-bottom{position:absolute;left:6%;right:6%;bottom:35px;display:flex;align-items:center;justify-content:space-between}.scroll-label{font-size:8px;letter-spacing:1.8px}.scroll-label>span{margin-left:20px;font-size:17px}.timeline{display:flex;gap:14px;width:42%}.timeline button{background:transparent;color:#ffffff8f;flex:1;padding:8px 0;text-align:left;min-width:0}.timeline span{font-size:9px}.timeline i{display:block;height:1px;background:#ffffff45;margin:9px 0}.timeline b{font-size:9px;font-weight:400}.timeline .selected{color:white}.timeline .selected i{height:2px;background:#e3e8cf}.tour-count{font-family:var(--serif);font-size:28px}.tour-count>span{font-family:'DM Sans',sans-serif;font-size:10px;color:#ffffff88;margin-left:8px}.progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#fff1}.progress div{height:100%;width:0;background:#d4ddbd}.details{padding:90px 8% 100px}.section-top{display:flex;justify-content:space-between;border-top:1px solid #292d2530;padding-top:24px;margin-bottom:38px}.section-top .small{font-size:8px;letter-spacing:1.5px}.details-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:center}.details h2{font-size:clamp(38px,4.2vw,66px);line-height:1.12}.details-heading p,.detail-copy p{font-size:13px;line-height:1.9;color:#64685f}.price{display:block;font-size:23px;margin-top:24px}.price small{display:block;font-size:9px;color:#72786b;margin-top:8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #292d2530;border-bottom:1px solid #292d2530;margin:38px 0 85px;padding:30px 0}.stats>div{border-right:1px solid #292d2530;padding-left:28px}.stats>div:first-child{padding-left:0}.stats>div:last-child{border:0}.stats strong{font-family:var(--serif);font-size:48px;font-weight:400;display:block;margin-bottom:12px}.stats strong span{font-size:25px}.stats div>span{font-size:8px;letter-spacing:1.1px}.editorial{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center}.detail-photo{position:relative;height:610px;overflow:hidden}.detail-photo img{width:100%;height:100%;object-fit:cover;object-position:40%;transition:transform 1.5s}.detail-photo:hover img{transform:scale(1.04)}.detail-photo>span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0008);color:white;font-size:8px;letter-spacing:1.4px;padding:60px 22px 25px}.detail-copy h3{font-size:48px;line-height:1.13;margin-bottom:25px}.detail-copy .eyebrow{color:var(--ink);font-size:8px;margin-bottom:22px}ul{list-style:none;padding:0;margin:26px 0}li{padding:17px 0;border-bottom:1px solid #292d2525;font-size:11px;display:flex;justify-content:space-between;gap:10px}.text-link{padding:10px 0;background:none;border-bottom:1px solid var(--ink);font-size:12px}.text-link span{margin-left:30px}.signature{position:relative;overflow:hidden;text-align:center;background:#30382d;color:var(--cream);padding:100px 24px 110px}.signature h2{font-size:clamp(42px,5.2vw,80px);line-height:1.12;position:relative;z-index:1}.signature h2 em{color:#c6ceb9}.signature p{font-size:12px;line-height:1.9;color:#ffffffa8;position:relative;z-index:1}.light-button{display:inline-flex;justify-content:space-between;gap:35px;border-radius:30px;background:var(--cream);color:var(--ink);padding:18px 25px;font-size:12px;margin-top:22px;position:relative;z-index:1}.signature-mark{position:absolute;bottom:-170px;right:1%;font-family:var(--serif);font-size:550px;color:#ffffff04;line-height:1;pointer-events:none}footer{padding:55px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer .brand{font-size:30px}footer p{font-size:12px;margin-bottom:9px}footer div>span{font-size:9px;color:#7c8076;line-height:1.7}.vertex{font-size:7px;letter-spacing:1.5px}.vertex strong{display:block;font-size:11px;margin-top:8px;letter-spacing:1px}dialog{border:0;background:var(--cream);color:var(--ink);padding:45px;width:490px;max-width:calc(100% - 30px);max-height:90svh;border-radius:4px}dialog::backdrop{background:#142015b5;backdrop-filter:blur(10px)}dialog h2{font-size:56px;line-height:1.05;margin-bottom:22px}dialog p{font-size:12px;line-height:1.8;color:#64685f}.close{position:absolute;right:20px;top:15px;background:none;font-size:28px}form label{display:block;font-size:11px;margin:19px 0}input,select{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #a6ac9e;padding:12px 0;color:var(--ink);font-size:13px;border-radius:0}form .light-button,#success button{width:100%;background:var(--ink);color:var(--cream)}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;color:black;padding:15px}.skip:focus{top:10px}
@media(min-width:1600px){.chapters{top:32%}}@media(max-height:760px) and (min-width:761px){.topline{top:135px}.chapters{top:29%}h1,.chapter h2{font-size:68px}.property-note{bottom:135px}.intro{font-size:12px}.eyebrow{margin-bottom:15px}}
@media(max-width:900px){nav{gap:20px}.property-note{display:none}.chapters{left:7%}h1,.chapter h2{font-size:clamp(52px,8vw,74px)}.detail-copy h3{font-size:38px}.detail-photo{height:540px}.editorial{gap:6%}footer{flex-wrap:wrap}}
@media(max-width:600px){header{top:15px;left:5%;right:5%;padding:12px 0;gap:10px}header.scrolled{padding:12px 15px;left:3%;right:3%;top:10px}.brand{font-size:26px;letter-spacing:3px}.brand span{font-size:5px;letter-spacing:2px;margin-top:7px}.visit{padding:12px 15px;font-size:10px;margin-left:auto}.visit span{margin-left:9px}.menu-toggle{display:block;padding:5px}nav{display:none;position:absolute;top:76px;left:0;right:0;padding:22px;background:#293126f5;border:1px solid #ffffff20;border-radius:20px;flex-direction:column;gap:12px}header.menu-open nav{display:flex}.topline{top:125px;left:7%;right:7%;font-size:7px;letter-spacing:1.5px}.topline>span:last-child{display:none}.chapters{top:32%;left:7%;right:5%;bottom:140px}h1,.chapter h2{font-size:clamp(41px,10.6vw,63px);letter-spacing:-1.3px;line-height:1.08;margin-bottom:22px}.chapter .eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:20px}.intro{font-size:12px}.scene{object-position:55% center}.scene-detail{font-size:7px;letter-spacing:1px;line-height:1.8}.scene-detail b{margin:0 6px}.explore{font-size:10px}.topline{line-height:1.5}.tour-bottom{left:7%;right:7%;bottom:25px;gap:20px}.scroll-label{display:none}.timeline{width:85%;gap:12px}.timeline b{font-size:8px}.tour-count{font-size:23px;white-space:nowrap}.tour-count>span{font-size:8px;margin-left:3px}.details{padding:55px 7%}.section-top{margin-bottom:25px}.section-top .small{display:none}.details-heading{grid-template-columns:1fr;gap:0}.details h2{font-size:40px}.details-heading p{font-size:12px}.price{font-size:22px}.stats{grid-template-columns:1fr 1fr;row-gap:30px;padding:28px 0;margin:30px 0 45px}.stats>div:nth-child(3){padding-left:0}.stats>div:nth-child(2){border:0}.stats strong{font-size:40px}.stats div>span{font-size:7px}.editorial{grid-template-columns:1fr;gap:35px}.detail-photo{height:420px}.detail-copy h3{font-size:42px}.signature{padding:70px 7%}.signature h2{font-size:41px}.signature p{font-size:11px}.signature-mark{font-size:350px;bottom:-100px}footer{padding:40px 7%;gap:30px}footer div{width:100%}dialog{padding:40px 25px}dialog h2{font-size:48px}.journey{height:460svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.scene{transform:none!important}.chapter{transform:none!important}}
/* Real-time architecture, continuous camera motion. */
.scenes canvas{width:100%;height:100%;display:block}.villa-ready .shade{background:linear-gradient(90deg,#15201988,transparent 70%),linear-gradient(0deg,#142019b0,transparent 30%,transparent 80%,#14201955)}.villa-ready .chapter:not(:first-child) h2{font-size:clamp(38px,4.8vw,68px)}.villa-ready .chapter:not(:first-child){padding-top:12vh}.villa-ready .property-note{width:230px}.tour-status{font-size:inherit}.villa-ready .intro{max-width:340px;text-shadow:0 1px 10px #0008}@media(max-width:600px){.villa-ready .chapter:not(:first-child){padding-top:11vh}.villa-ready .chapter:not(:first-child) h2{font-size:37px}.villa-ready .chapter:not(:first-child) .intro{font-size:11px}.villa-ready .scene-detail{margin-top:15px}.villa-ready .shade{background:linear-gradient(0deg,#142019c0,transparent 80%),linear-gradient(90deg,#14201955,transparent)}}

/* Finishing pass: quieter information and an unobstructed architectural view. */
.experience-tools{position:absolute;right:6%;top:205px;display:flex;gap:8px;z-index:4}.experience-tools button{font-size:10px;letter-spacing:.2px;color:var(--cream);padding:12px 16px;background:#27342b9c;border:1px solid #ffffff35;border-radius:30px;backdrop-filter:blur(12px);transition:background .2s}.experience-tools button:hover,.experience-tools button[aria-pressed=true]{background:#f3f1e9;color:#293327}.chapters,.property-note{transition:opacity .4s}.immersive .chapters,.immersive .property-note{opacity:0;visibility:hidden;pointer-events:none}.villa-ready .chapter:not(:first-child){padding-top:15vh}.villa-ready .chapter:not(:first-child) h2{font-size:clamp(34px,4vw,58px);max-width:670px}.villa-ready .chapter:not(:first-child) .intro{font-size:12px}.property-note{border-color:#ffffff40}.villa-ready .shade{background:linear-gradient(90deg,#15201972,transparent 65%),linear-gradient(0deg,#142019aa,transparent 28%,transparent 80%,#14201942);transition:opacity .4s}.immersive .shade{opacity:.35}.visit,.light-button{transition:transform .2s,box-shadow .2s}.visit:hover,.light-button:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0002}.timeline button{min-height:48px}.signature{background:radial-gradient(ellipse at 50% 0%,#47503d,#293326 75%)}
@media(max-width:600px){.experience-tools{top:153px;left:7%;right:auto;gap:7px}.experience-tools button{font-size:9px;padding:10px 12px}.villa-ready .chapter:first-child{padding-top:24px}.villa-ready .chapter:not(:first-child){padding-top:10vh}.villa-ready .chapter:not(:first-child) h2{font-size:35px}.villa-ready .chapter:not(:first-child) .intro{font-size:11px}.villa-ready .chapter .eyebrow{margin-bottom:12px}.villa-ready .chapter:not(:first-child) .scene-detail{max-width:250px}.topline{top:120px}}
@media(max-height:650px){.experience-tools{top:115px}.topline{display:none}.villa-ready .chapter:first-child{padding-top:12px}.villa-ready .chapter:not(:first-child){padding-top:0}.chapter .intro{font-size:11px}.chapter .scene-detail{margin-top:12px}.villa-ready .chapter h2{font-size:36px}}

/* Full-length evening film. Every part of the page stays inside the scene. */
body{background:#273036}.journey{height:1600svh}.cinema{height:100svh}.topline{top:155px;font-size:8px;opacity:.7}.chapters{top:auto;bottom:18vh;height:42vh;left:8%;right:8%;pointer-events:none}.chapter{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:0!important;pointer-events:none!important}.chapter.active{pointer-events:none!important}.chapter.active button,.chapter.active a{pointer-events:auto}.chapter:not(.active){visibility:hidden}.chapter.active{visibility:visible}.villa-ready .chapter:not(:first-child) h2{font-size:clamp(40px,4.6vw,70px);line-height:1.08;margin-bottom:20px}.chapter .eyebrow{margin-bottom:18px;font-size:8px;letter-spacing:2.3px}.chapter .intro{font-size:12px;line-height:1.8;max-width:390px}.chapter h1{font-size:clamp(52px,6.6vw,102px)}.villa-ready .shade{background:linear-gradient(90deg,#13201966,transparent 70%),linear-gradient(0deg,#14201992,transparent 50%,transparent 85%,#14201944)}.tour-status{position:absolute;top:130px;left:8%;font-size:11px}.tour-status:empty{display:none}.film-caption{position:absolute;bottom:32px;left:8%;font-size:7px;letter-spacing:3px;opacity:.55}.closing .light-button{margin-top:5px}.closing-price{font-size:14px;margin:20px 0 0}.closing-price span{font-size:9px;opacity:.7;margin-left:8px}.closing-footer{display:flex;flex-direction:column;gap:12px;margin-top:28px;font-size:8px;line-height:1.6;max-width:420px;color:#f3f1e9ad}.closing-footer a{letter-spacing:1.3px;color:var(--cream)}.closing{height:auto;top:auto;bottom:-5vh}.closing h2{font-size:clamp(38px,4.3vw,64px)!important}.closing .intro{margin-bottom:10px}header.scrolled{background:#263026d9}
@media(max-width:600px){.journey{height:1700svh}.chapters{left:7%;right:6%;bottom:17vh;height:45vh}.topline{top:120px}.villa-ready .chapter:not(:first-child) h2{font-size:38px}.chapter h1{font-size:45px}.chapter .eyebrow{font-size:7px}.villa-ready .chapter .intro{font-size:11px;max-width:280px}.closing{bottom:-6vh}.closing h2{font-size:36px!important}.closing-footer{font-size:7px;margin-top:20px}.film-caption{bottom:23px;left:7%;font-size:6px}.closing-price{margin-top:16px}.closing .light-button{font-size:11px;padding:15px 20px}.topline>span:last-child{display:none}}
@media(max-height:650px){.chapters{bottom:16vh}.topline{display:none}.chapter h1{font-size:43px}.villa-ready .chapter:not(:first-child) h2{font-size:34px}.chapter .intro{font-size:10px}.chapter .eyebrow{margin-bottom:10px}.closing{bottom:-8vh}.closing h2{font-size:31px!important}.closing-footer{margin-top:12px;gap:6px}.closing-price{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.journey{height:900svh}}

/* Keep the opening architecture unobstructed, especially on portrait screens. */
.chapter:first-child h1{font-size:clamp(42px,4.8vw,72px)}
.chapter:first-child{justify-content:flex-end}
@media(max-width:600px){.chapters{bottom:9vh}.chapter:first-child h1{font-size:38px}.chapter:first-child .eyebrow{font-size:6px}.chapter:first-child .intro{font-size:10px}.chapter:first-child{padding-bottom:0!important}.topline{top:105px}}
