/* The six white windows are mapped directly onto the original brand asset. */
.brand{position:relative}
.logo-window{position:absolute;width:2.7059%;height:9.1633%;background:#000;perspective:28px;pointer-events:none;isolation:isolate}
.logo-window::before{content:"";position:absolute;inset:0;background:#000;opacity:0;transition:opacity .5s;z-index:-1}
.logo-window i{position:absolute;top:0;width:51%;height:100%;background:#fff;backface-visibility:visible;transform-style:preserve-3d}
.logo-window i:first-child{left:0;transform-origin:left}
.logo-window i:last-child{right:0;transform-origin:right}
.windows-open .logo-window i:first-child{animation:shutter-left 3.7s var(--ease) both;animation-delay:var(--window-delay)}
.windows-open .logo-window i:last-child{animation:shutter-right 3.7s var(--ease) both;animation-delay:var(--window-delay)}
.windows-open .logo-window::before{animation:window-light 3.7s both;animation-delay:var(--window-delay)}
@keyframes shutter-left{0%,8%{transform:rotateY(0)}28%,78%{transform:rotateY(-112deg)}100%{transform:rotateY(0)}}
@keyframes shutter-right{0%,8%{transform:rotateY(0)}28%,78%{transform:rotateY(112deg)}100%{transform:rotateY(0)}}
@keyframes window-light{0%,8%,100%{opacity:0}30%,78%{opacity:1}}
.logo-intro{position:fixed;inset:0;z-index:110;background:#081528;display:grid;place-items:center;transition:opacity .6s,visibility .6s}
.intro-content{width:min(640px,78vw);text-align:center}
.intro-content .brand{width:100%;margin-inline:auto;direction:ltr}
.intro-content p{margin-top:var(--space-10);font-size:var(--text-base);color:#d7dce5}
.logo-intro>button{position:absolute;bottom:7%;color:white;background:none;border-bottom:1px solid #ffffff70;padding:var(--space-3) var(--space-1);font-size:var(--text-sm)}
.logo-intro.leaving{opacity:0;visibility:hidden;pointer-events:none}
#replay-logo{background:none;color:inherit;padding:0;text-align:start}
.hero-media{transform:none!important;transition:transform .9s var(--ease)!important}
.hero-media img{animation:none;transform:none!important;transition:opacity 1s}
.hero{--travel-scale:1}
.house-places{position:absolute;inset:0;z-index:5;pointer-events:none;transition:opacity .3s}
.house-places[hidden]{display:none}
.house-point{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-2);border:1px solid #ffffff8c;border-radius:50px;color:white;background:#091a30c7;backdrop-filter:blur(12px);font-size:var(--text-sm);white-space:nowrap;pointer-events:auto;min-height:52px;direction:ltr;transition:background .2s,box-shadow .2s}
.house-point:hover,.house-point:focus-visible{background:var(--red);box-shadow:0 0 0 8px #ffffff20}
.house-point:active{background:var(--red-hover)}
.point-circle{width:34px;height:34px;display:grid;place-items:center;background:white;color:var(--navy);border-radius:50%;font:var(--text-lg)/1 Manrope,sans-serif;position:relative}
.point-circle::before{content:"";position:absolute;inset:-6px;border:1px solid #fff8;border-radius:50%;animation:pulse 3s infinite;pointer-events:none}
.point-direction{color:#ffffffa3}
.scene-select{font-family:inherit;border-bottom:1px solid transparent}.scene-select.selected{border-color:white}.scene-select i{display:none}
.hero.travelling .hero-content,.hero.travelling .hero-bottom,.hero.travelling .house-places{opacity:0;transition:opacity .35s}
.hero.travelling .hero-media{transform:scale(1.7) translateY(10%)!important;transform-origin:38% 18%}
.hero.travelling.to-pool .hero-media{transform:scale(1.8) translateY(-8%)!important;transform-origin:48% 79%}
.house-tour{width:100vw;max-width:100vw;height:100svh;max-height:100svh;margin:0;padding:0;border-radius:0;background:#071426;color:white;overflow:auto;animation:none}
.house-tour::backdrop{background:#071426}
.tour-topbar{display:flex;align-items:center;justify-content:space-between;min-height:80px;padding:var(--space-4) var(--space-8);border-bottom:1px solid #ffffff20;background:#071426;position:relative;z-index:3}
.tour-breadcrumb{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm)}
.tour-breadcrumb>span:first-child{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.04em}
.tour-breadcrumb>span:nth-child(2){color:#ffffff45}
.tour-back{position:static;display:flex;align-items:center;gap:var(--space-6);background:none;color:white;border:1px solid #ffffff40;border-radius:40px;font-size:var(--text-sm);padding:var(--space-2) var(--space-5);min-height:44px}
.tour-back>span:last-child{font-size:var(--text-lg)}
.tour-topbar{position:sticky;top:0}
.tour-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;direction:ltr;min-height:calc(100svh - 80px)}
.tour-scene{display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:#0b1a2b;position:relative}
.tour-world{position:relative;width:100%;aspect-ratio:1429/804;isolation:isolate}
.tour-world>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.house-tour[open] .tour-world.arriving{animation:arrive-roof 1.3s var(--ease) both}
@keyframes arrive-roof{from{opacity:.2;transform:scale(1.17) translateY(9%)}to{opacity:1;transform:scale(1) translateY(0)}}
.house-tour[data-place=pool] .tour-world.arriving{animation-name:arrive-pool}
@keyframes arrive-pool{from{opacity:.2;transform:scale(1.22) translateY(-5%)}to{opacity:1;transform:scale(1) translateY(0)}}
.tour-image-note{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--space-3);font-size:var(--text-xs);padding:var(--space-5);color:#aebccb;direction:rtl;text-align:center}
html[lang=en] .tour-image-note{direction:ltr}
.tour-panel{direction:rtl;padding:var(--space-8);border-left:1px solid #ffffff1f;display:flex;flex-direction:column;background:#0b1729}
html[lang=en] .tour-panel{direction:ltr}
.tour-panel>.eyebrow{color:#ed806d;margin-bottom:var(--space-4)}
.tour-panel h2{font-size:clamp(1.8rem,2.5vw,2.65rem);line-height:1.5;margin:0}
.tour-intro{font-size:var(--text-sm);color:#b3c1d0;margin-block:var(--space-4) var(--space-6)}
.system-tabs{display:flex;gap:var(--space-2);padding:var(--space-1);border:1px solid #ffffff26;border-radius:40px;margin-bottom:var(--space-6)}
.system-tabs button{flex:1;border-radius:40px;background:none;color:#c8d3df;font-size:var(--text-sm);min-height:44px;padding:var(--space-2)}
.system-tabs button.selected{background:white;color:var(--navy)}
.system-number{font:var(--text-xs) Manrope,sans-serif;color:#ed806d;display:block;margin-bottom:var(--space-2)}
.system-copy h3,.water-copy h3{font-size:var(--text-lg);margin-bottom:var(--space-3)}
.system-copy p,.water-copy p{font-size:var(--text-sm);color:#bac6d3}
.system-copy ul{list-style:none;margin:var(--space-5) 0;padding:0;font-size:var(--text-sm)}
.system-copy li{border-top:1px solid #ffffff1c;padding-block:var(--space-3)}
.system-copy li::before{content:"+";color:#ed806d;margin-inline-end:var(--space-3)}
.tour-safety{padding-top:var(--space-4);font-size:var(--text-xs);line-height:1.8;color:#a3b3c5}
.tour-switch{margin-top:auto;background:none;color:#fff;text-align:start;min-height:48px;padding:var(--space-4) 0 0;border-top:1px solid #ffffff30;font-size:var(--text-sm)}
.tour-switch:hover{color:#ed806d}
.system-point{position:absolute;display:flex;align-items:center;gap:var(--space-2);direction:rtl;background:#071426e6;border:1px solid #fff9;padding:var(--space-2) var(--space-3);color:white;border-radius:30px;min-height:44px;font-size:var(--text-xs);transform:translate(-50%,-50%)}
.system-point>span:first-child{font-size:var(--text-lg)}
.system-point.selected{background:#b53222}
.hvac-point{left:34%;top:42%}.electrical-point{left:68%;top:47%}
.system-outline{position:absolute;border:2px solid #fff9;border-radius:8px;opacity:0;transition:opacity .4s;box-shadow:0 0 0 999px #05132610;pointer-events:none}
.hvac-outline{left:26%;top:30%;width:20%;height:24%}.electrical-outline{left:60%;top:36%;width:23%;height:25%}
[data-system=hvac]>.hvac-outline,[data-system=electrical]>.electrical-outline{opacity:1}
.house-tour[data-place=roof] .pool-content,.house-tour[data-place=roof] .pool-lab{display:none}
.house-tour[data-place=pool] .roof-content,.house-tour[data-place=pool] .roof-tools{display:none}
.pool-content{padding-bottom:var(--space-6)}
.pool-steps{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);direction:ltr}
.pool-steps>span{height:1px;background:#ffffff30;flex:1}
.pool-steps button{width:44px;height:44px;border:1px solid #ffffff30;border-radius:50%;background:none;color:white;font:var(--text-sm) Manrope}
.pool-steps button.selected{background:white;color:var(--navy)}
.water-copy{min-height:180px}
.water-actions{display:flex;gap:var(--space-5);align-items:center;justify-content:space-between;margin-top:var(--space-4)}
.water-actions .btn{border-radius:40px;padding:var(--space-3) var(--space-5);gap:var(--space-4)}
.water-actions .text-link{color:#c4ccd5}
.pool-reference{display:inline-block;color:#ced9e6;text-decoration:underline;font-size:var(--text-xs);margin-top:var(--space-3)}
.pool-lab{position:absolute;inset:0;display:grid;place-items:center;padding-left:25%}
.lab-glass{width:215px;min-height:230px;border:1px solid #ffffff8f;background:#061629bc;border-radius:24px;backdrop-filter:blur(14px);padding:var(--space-5);display:flex;align-items:center;flex-direction:column;gap:var(--space-4);box-shadow:0 24px 60px #0003}
.lab-caption{font:var(--text-xs) Manrope;letter-spacing:.13em;color:#cad8e5}
.vial-pair{display:flex;gap:var(--space-6);padding-top:var(--space-3);direction:ltr}
.vial{position:relative;width:42px;height:104px;border:1px solid #ffffff90;border-top:0;border-radius:0 0 15px 15px;background:#ffffff0d;overflow:visible;isolation:isolate}
.vial::before{content:"";position:absolute;top:-6px;inset-inline:-3px;height:7px;border-radius:3px;background:#d7e1e8}
.liquid{position:absolute;bottom:0;inset-inline:0;height:0;background:#66b4d080;border-radius:0 0 14px 14px;transition:height 1.2s var(--ease),background 1.2s}
.vial-name{position:absolute;inset:0;display:grid;place-items:center;color:white;font:500 var(--text-sm) Manrope}
.lab-note{font-size:var(--text-xs);color:#d5e1e9;text-align:center}
.drop{position:absolute;width:8px;height:11px;border-radius:8px;background:#f1da64;top:-26px;left:17px;opacity:0}
.ph .drop{background:#e488bb}
.house-tour[data-water-step="0"] .liquid{height:55%}
.house-tour[data-water-step="1"] .liquid,.house-tour[data-water-step="2"] .liquid{height:68%;background:#f2d15ca8}
.house-tour[data-water-step="1"] .ph .liquid,.house-tour[data-water-step="2"] .ph .liquid{background:#d58db8b3}
.house-tour[data-water-step="1"] .drop{animation:reagent-drop 1.7s ease-in infinite}
.house-tour[data-water-step="1"] .ph .drop{animation-delay:.6s}
@keyframes reagent-drop{0%{transform:translateY(0);opacity:0}15%{opacity:1}85%{transform:translateY(73px);opacity:1}100%{transform:translateY(78px);opacity:0}}
.sample-ripple{position:absolute;width:220px;height:70px;left:48%;top:65%;border:1px solid #ffffff65;border-radius:50%;animation:water-ripple 3s ease-out infinite;pointer-events:none}
@keyframes water-ripple{from{transform:scale(.5);opacity:.7}to{transform:scale(1.5);opacity:0}}
body.motion-paused .tour-world.arriving{animation:none!important;opacity:1;transform:none}
@media(max-width:1050px){.tour-layout{grid-template-columns:minmax(0,1fr) 310px}.tour-panel{padding:var(--space-6)}.tour-topbar{padding-inline:var(--space-6)}.lab-glass{transform:scale(.85)}}
@media(max-width:760px){.tour-topbar{min-height:70px;padding:var(--space-3) var(--space-4)}.tour-breadcrumb{font-size:var(--text-xs);gap:var(--space-2)}.tour-back{font-size:var(--text-xs);padding-inline:var(--space-3);gap:var(--space-3)}.tour-layout{grid-template-columns:1fr;min-height:0}.tour-scene{padding-top:var(--space-3)}.tour-world{aspect-ratio:1429/804}.tour-panel{border:0;border-top:1px solid #ffffff25;padding:var(--space-6);min-height:520px}.tour-panel h2{font-size:1.9rem}.tour-panel>.eyebrow{margin-bottom:var(--space-2)}.tour-intro{margin-block:var(--space-3) var(--space-5)}.tour-image-note{padding:var(--space-3);font-size:var(--text-xs)}.system-point{padding:var(--space-1) var(--space-2);gap:var(--space-1);min-height:40px}.hvac-point{top:38%;left:31%}.electrical-point{top:62%;left:69%}.lab-glass{transform:scale(.7);transform-origin:center;width:205px;min-height:220px}.pool-lab{padding-left:27%}.lab-caption{font-size:var(--text-xs)}.water-copy{min-height:125px}.tour-switch{margin-top:var(--space-8)}.sample-ripple{width:130px;height:40px;left:50%}.house-point{font-size:var(--text-xs);min-height:44px;padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);gap:var(--space-2)}.point-circle{width:30px;height:30px}.point-direction{display:none}.intro-content{width:84vw}.intro-content p{font-size:var(--text-sm)}}
@media(prefers-reduced-motion:reduce){.logo-intro{display:none}.logo-window i{animation:none!important}.logo-window::before{animation:none!important}.hero.travelling .hero-media{transform:none!important}.tour-world.arriving{animation:none!important}}
@media(max-width:1050px){.lab-glass{transform:none;width:180px;min-height:190px;padding:var(--space-4);gap:var(--space-3)}.vial{height:82px;width:34px}.drop{left:13px}}
@media(max-width:760px){.lab-glass{width:160px;min-height:168px;padding:var(--space-3);gap:var(--space-2)}.vial{height:70px;width:30px}.vial-pair{gap:var(--space-5);padding-top:var(--space-2)}.drop{left:11px}.lab-caption{letter-spacing:.03em}.lab-note{line-height:1.4}.pool-lab{padding-left:28%}}

/* Services explain when; the independent villa tour explains where and what. */
.service-stage{display:block;min-height:0;border-radius:0}
.service-detail{min-height:0;padding:var(--space-10) 0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-16);align-items:start;background:transparent}
.service-detail .eyebrow{grid-column:1;margin:0}
.service-detail h3{grid-column:1;grid-row:2;font-size:clamp(1.8rem,3vw,2.8rem);margin:0}
.service-detail p{grid-column:1;grid-row:3;max-width:470px}
.service-detail ul{grid-column:2;grid-row:1/4;margin:0}
.service-detail .text-link{grid-column:2;grid-row:4;justify-self:start}
.villa-explore{background:#071426;color:white;border-radius:28px;margin:var(--space-5) 0}
.villa-explore .section-heading p,.villa-explore .section-label{color:#b9c6d5}
.villa-explore h2{color:white}
.villa-frame{border:1px solid #ffffff24;border-radius:20px;overflow:hidden;background:#0c1c31}
.villa-overview{position:relative;aspect-ratio:1429/804;isolation:isolate;overflow:hidden;direction:ltr}
.villa-overview>img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .8s var(--ease)}
.villa-overview.travelling>img{transform:scale(1.5)}
.villa-overview[data-destination=roof]>img{transform-origin:38% 18%}
.villa-overview[data-destination=interior]>img{transform-origin:55% 50%}
.villa-overview[data-destination=pool]>img{transform-origin:48% 79%}
.villa-point{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;min-height:48px;padding:5px 16px 5px 5px;color:white;background:#071426eb;border:1px solid #ffffff9c;border-radius:50px;box-shadow:0 4px 24px #0004;transition:background .25s,opacity .3s;font-size:var(--text-sm);white-space:nowrap}
.villa-point b{font:500 12px Manrope,sans-serif;display:grid;place-items:center;width:36px;height:36px;background:white;color:#071426;border-radius:50%}
.villa-point i,.villa-destinations i{font-style:normal}
.villa-point:hover,.villa-point:focus-visible{background:var(--red)}
.villa-roof{left:38%;top:18%}.villa-interior{left:59%;top:49%}.villa-pool{left:48%;top:79%}
.travelling .villa-point{opacity:0}
.villa-destinations{display:grid;grid-template-columns:repeat(3,1fr)}
.villa-destinations button{display:grid;grid-template-columns:auto 1fr auto;column-gap:16px;row-gap:8px;background:none;color:white;text-align:start;padding:28px 24px;border-inline-end:1px solid #ffffff24;transition:background .25s}
.villa-destinations button:last-child{border-inline-end:0}
.villa-destinations button:hover,.villa-destinations button:focus-visible{background:#192e48}
.villa-destinations button>span{grid-row:1/3;color:#ef8b7b;font:12px Manrope,sans-serif;padding-top:5px}
.villa-destinations strong{font-size:var(--text-base);font-weight:500}
.villa-destinations small{grid-column:2;color:#b2c0d0;font-size:var(--text-xs)}
.villa-destinations i{grid-column:3;grid-row:1/3;align-self:center}
.explore-note{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;color:#aebed0;font-size:var(--text-xs)}
.explore-note #motion{color:white;border:1px solid #ffffff40;border-radius:50%;flex-shrink:0}
.tour-locations{display:flex;gap:8px;padding-top:24px;margin-top:auto;border-top:1px solid #ffffff30}
.tour-locations button{flex:1;min-height:44px;font-size:var(--text-sm);border:1px solid #ffffff40;border-radius:30px;background:none;color:white;padding:6px}
.tour-locations button[aria-pressed=true]{background:white;color:#071426}
.interior-content{padding-bottom:24px}
.house-tour[data-place=interior] .tour-world{aspect-ratio:1429/804}
.window-point{left:80%;top:45%}.floor-point{left:45%;top:80%}.kitchen-point{left:25%;top:40%}
@media(max-width:900px){.villa-destinations button{padding:20px 16px;column-gap:10px}.service-detail{gap:24px 32px}}
@media(max-width:600px){
 .service-detail{display:flex;gap:20px;padding:24px 0}.service-detail h3{font-size:1.8rem}.service-detail ul{margin:0}
 .villa-explore{border-radius:20px}.villa-frame{border-radius:12px}
 .villa-point{width:44px;height:44px;padding:0;justify-content:center;min-height:44px}
 .villa-point b{width:32px;height:32px}.villa-point>span,.villa-point>i{display:none}
 .villa-destinations{grid-template-columns:1fr}.villa-destinations button{padding:18px;border-inline:0;border-top:1px solid #ffffff24;row-gap:4px}
 .villa-destinations strong{font-size:var(--text-sm)}.villa-destinations small{font-size:var(--text-xs)}
 .tour-breadcrumb>span:first-child{display:none}.tour-breadcrumb>span:nth-child(2){display:none}
 .interior-tools .system-point{padding-inline:8px;min-height:44px;font-size:12px}
 .window-point{left:79%}.kitchen-point{left:25%}
}
body.motion-paused .villa-overview>img{transition:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.villa-overview>img{transition:none!important;transform:none!important}}

/* A quiet architectural motion study replaces the scrolling text marquee. */
.detail-motion{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding-block:72px;border-bottom:1px solid var(--line)}
.detail-motion-copy .eyebrow{color:var(--red);font-size:12px}
.detail-motion-copy h2{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.2;margin:20px 0}
.detail-motion-copy p{font-size:14px;color:var(--muted);line-height:1.9}
.detail-motif{height:280px;position:relative;display:grid;place-items:center;direction:ltr}
.detail-grid{width:108px;height:174px;display:grid;grid-template-columns:1fr 1fr;gap:10px;perspective:500px}
.detail-grid i{display:block;background:var(--text);transform-origin:left;animation:detail-fold 8s ease-in-out infinite}
.detail-grid i:nth-child(2){animation-delay:.25s}.detail-grid i:nth-child(3){animation-delay:.5s}.detail-grid i:nth-child(4){animation-delay:.75s}.detail-grid i:nth-child(5){animation-delay:1s}.detail-grid i:nth-child(6){animation-delay:1.25s}
@keyframes detail-fold{0%,15%,75%,100%{transform:rotateY(0);opacity:.8}35%,55%{transform:rotateY(-68deg);opacity:.3}}
.detail-orbit{position:absolute;width:235px;height:235px;border:1px solid var(--line);border-radius:50%}
.detail-orbit::before{content:"";position:absolute;inset:-1px;border:1px solid transparent;border-top-color:var(--red);border-radius:50%;animation:detail-orbit 12s linear infinite}
@keyframes detail-orbit{to{transform:rotate(360deg)}}
.motif-label{position:absolute;font:11px Manrope,sans-serif;letter-spacing:.12em;color:var(--muted);background:var(--bg);padding:8px}
.motif-one{top:10px;left:12%}.motif-two{top:55px;right:0}.motif-three{bottom:10px;right:10%}.motif-four{bottom:55px;left:0}
.motif-pause{position:absolute;bottom:20px;inset-inline-end:0;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:none;color:var(--text)}
.villa-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.directory-group{padding:28px;border-inline-end:1px solid #ffffff24}
.directory-group:last-child{border-inline-end:0}
.directory-heading{width:100%;display:flex;align-items:center;gap:14px;text-align:start;background:none;color:white;min-height:48px}
.directory-heading>span:first-child{color:#ed806d;font:12px Manrope,sans-serif}
.directory-heading strong{font-size:24px;font-weight:500;flex:1}
.directory-heading>span:last-child{font-size:22px}
.directory-group ul{list-style:none;padding:0;margin:16px 0 0}
.directory-group li{border-top:1px solid #ffffff16}
.directory-group li button{display:block;background:none;color:#bbc9d9;padding:12px 0;min-height:44px;text-align:start;width:100%;font-size:13px;line-height:1.5}
.directory-group li button::before{content:"+";color:#ed806d;margin-inline-end:10px}
.directory-group button:hover,.directory-group button:focus-visible{color:white}
.directory-group li button:hover{text-decoration:underline;text-underline-offset:4px}
.whole-property{display:grid;grid-template-columns:1fr 1fr;gap:16px 64px;padding-block:40px;border-bottom:1px solid #ffffff24}
.whole-property .eyebrow{grid-column:1/-1;color:#ed806d;font-size:12px}
.whole-property h3{font-size:26px;font-weight:500;max-width:380px}
.whole-property p{color:#b8c7d7;font-size:14px}
.whole-property>div{grid-column:2;display:flex;flex-wrap:wrap;gap:16px 24px}
.whole-property .text-link{color:white;font-size:13px}
.scope-tabs{display:grid;grid-template-columns:1fr 1fr;border:0;padding:0;border-radius:0;gap:6px}
.scope-tabs button{font-size:12px;line-height:1.4;min-height:44px;padding:10px;border:1px solid #ffffff30;border-radius:8px;text-align:start}
.scope-tabs button.selected{background:white;color:#071426}
.tour-world>img{transition:opacity .3s ease}
.tour-world.scene-loading>img,.tour-world.scene-error>img{opacity:0}
.scene-status{position:absolute;inset:0;display:grid;place-items:center;padding:24px;color:#c4d4e4;font-size:14px;text-align:center;background:#0b1a2b}
.scene-status[hidden]{display:none}
.scene-navigation{display:flex;align-items:center;justify-content:center;gap:24px;padding:20px 24px;color:white;background:#0b1a2b;position:relative;z-index:1}
.scene-navigation button{flex:0 0 44px;width:44px;height:44px;border:1px solid #ffffff40;border-radius:50%;font-size:22px;background:transparent;color:white;transition:background .2s}
.scene-navigation button:hover{background:#ffffff18}
.scene-navigation button:focus-visible{outline:2px solid #f39480;outline-offset:4px}
.scene-navigation button[hidden]{display:none}
.scene-heading{display:grid;gap:5px;text-align:center;min-width:0;max-width:480px}
.scene-heading span{font-size:11px;letter-spacing:.12em;color:#9eafc3}
.scene-heading strong{font-size:18px;font-weight:500;line-height:1.4}
[dir=rtl] .scene-navigation button{transform:scaleX(-1)}
[dir=rtl] .scene-navigation{direction:rtl}
body.motion-paused .tour-world>img{transition:none}
@media(prefers-reduced-motion:reduce){.tour-world>img{transition:none}}
@media(min-width:761px){.tour-scene{position:sticky;top:80px;height:calc(100svh - 80px)}}
@media(max-width:760px){.directory-group{padding:20px 16px}.directory-heading strong{font-size:21px}.detail-motion{gap:24px}.whole-property{gap:16px 24px}}
@media(max-width:600px){
 .detail-motion{grid-template-columns:1fr;gap:32px;padding-block:48px 72px}.detail-motion-copy h2{font-size:2rem}
 .detail-motif{height:230px}.detail-orbit{width:205px;height:205px}.detail-grid{width:90px;height:145px;gap:8px}.motif-label{font-size:10px}
 .villa-directory{grid-template-columns:1fr}.directory-group{padding:18px 22px;border-inline:0;border-top:1px solid #ffffff24}
 .directory-group ul{margin-top:8px}.directory-group li button{font-size:13px}.directory-heading strong{font-size:24px}
 .whole-property{display:block;padding-block:28px}.whole-property h3{font-size:24px;margin-block:14px}.whole-property>div{margin-top:20px}
 .scene-navigation{gap:14px;padding:16px 14px}.scene-heading strong{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.detail-grid i,.detail-orbit::before{animation:none!important}}
.hero-content .booking{pointer-events:auto}
.hero-content a,.hero-content button{pointer-events:auto;touch-action:manipulation}
a,button,summary{touch-action:manipulation}
.text-link{min-height:44px}
.report-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.report-download{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:underline;text-underline-offset:5px}
.report-cover{display:block;width:100%;height:auto}
.report-paper>a{display:block}
/* Draw these arrows, rather than asking the device to choose an emoji glyph. */
.direction-arrow{display:inline-block;position:relative;width:20px;height:20px;flex:0 0 20px}
.direction-arrow::before{content:"";position:absolute;width:10px;height:10px;left:5px;bottom:3px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.direction-arrow::after{content:"";position:absolute;left:9px;top:1px;width:2px;height:15px;background:currentColor}
.direction-up-right{transform:rotate(-135deg)}
.contact-dialog{border:1px solid var(--line);border-radius:var(--radius-panel);padding-top:var(--space-12)}
.contact-dialog>p{color:var(--muted);font-size:var(--text-sm);line-height:1.8}
.contact-dialog h2{margin-top:var(--space-3)}
.contact-options{display:grid;gap:var(--space-3);margin-block:var(--space-6)}
.contact-option{display:grid;gap:var(--space-1);padding:var(--space-4) var(--space-5);border:1px solid var(--line);border-radius:12px;background:var(--surface);min-height:76px}
.contact-option strong{font-size:var(--text-base)}
.contact-option span{font-size:var(--text-sm)}
.contact-option-primary{background:var(--red);color:white;border-color:var(--red)}
.contact-option:hover{border-color:var(--red-bright)}
.contact-dialog .contact-help{font-size:var(--text-xs)}
.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.contact-actions .btn{margin-top:0}
.contact-phone{border-radius:40px;gap:20px}
.contact-note{font-size:13px;color:#ced7e1;max-width:620px;margin-top:18px;line-height:1.7}
@media(max-width:600px){.contact-actions{align-items:stretch;flex-direction:column}.contact-actions .btn{width:100%;padding-inline:20px}.contact-note{font-size:12px}}
