:root{color-scheme:dark;--rise:0;--heat:0}
*{box-sizing:border-box}
html,body{margin:0;width:100%;min-height:100%;background:#100608}
body{overflow:hidden}body.story-ready{overflow-y:auto}
.scroll-story{height:100svh}.story-ready .scroll-story{height:400svh}
.experience{--crest-width:min(clamp(230px,28vw,400px),46svh);position:sticky;top:0;width:100%;height:100svh;overflow:hidden;isolation:isolate;background:#160a09}
.preloader{position:absolute;inset:0;opacity:calc(var(--intro-ready,0)*var(--intro-opacity,1));transform:scale(var(--intro-scale,1));transform-origin:50% 78%}
#universe,.fallback-sun,.atmosphere,.vignette{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#universe{z-index:1}.fallback-sun{background:radial-gradient(ellipse at 50% 80%,#ff9a21,#aa3411 13%,#40150e 37%,#140a0a 75%)}

.atmosphere{z-index:2;background:radial-gradient(ellipse at 50% 71%,#ff8b1729,transparent 60%);mix-blend-mode:screen}
.logo-window{position:absolute;inset:0 0 22%;overflow:hidden;z-index:3;perspective:900px}
.rising-crest{position:absolute;bottom:2svh;left:50%;width:var(--crest-width);transform:translate(calc(-50% + var(--drift,0)*1px),calc((1 - var(--rise))*115%)) rotateZ(calc(var(--tilt,0)*1deg)) rotateX(calc((1 - var(--rise))*18deg)) scale(var(--logo-scale,1));transform-origin:50% 80%;will-change:transform}
.crest{display:block;width:100%;height:auto;filter:url("#crest-ink") brightness(1.15);backface-visibility:hidden}
.horizon-light{position:absolute;z-index:4;width:62%;left:19%;top:calc(78% - 2px);height:2px;background:linear-gradient(90deg,transparent,#ffe2a6,transparent);filter:blur(1px);box-shadow:0 0 35px 8px #ff9b3860;opacity:calc(.35 + var(--heat)*.4)}
.vignette{z-index:6;background:radial-gradient(ellipse at 50% 62%,transparent 30%,#0a030653);box-shadow:inset 0 0 80px #10080a50}
.transition-glow{position:absolute;inset:0;z-index:9;pointer-events:none;opacity:var(--transition-glow,0);background:radial-gradient(ellipse at 50% 76%,#ffe6a0,#ffb74a 20%,#f76f23 48%,#7c2916 85%)}
.is-doorway .preloader{visibility:hidden}
.doorway{position:absolute;inset:0;z-index:8;visibility:hidden;pointer-events:none;opacity:calc(var(--door-opacity,0)*var(--door-retain,1));filter:blur(calc(var(--door-soften,0)*1px));mask-image:linear-gradient(#000 0%,#000 calc(100% - var(--floor-feather,0)*1%),transparent 110%)}
.is-transitioning .doorway,.is-doorway .doorway{visibility:visible}
#door-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
#door-canvas[hidden]{display:none}
.door-fallback{position:absolute;inset:0;background:#171216 url('/assets/doorway.png') center/auto 100% no-repeat}
.door-fallback>div{display:none}
.door-rays{position:absolute;inset:0;background:conic-gradient(from 135deg at 50% 0%,transparent,#ff9a3820 12deg,transparent 25deg,#ffbb6815 38deg,transparent 52deg,#ffae4a20 67deg,transparent 89deg);mix-blend-mode:screen;filter:blur(15px);transform-origin:50% 0;animation:ray-drift 17s ease-in-out infinite alternate;opacity:calc(1 - var(--open,0));mask-image:linear-gradient(#000,#0007 50%,transparent)}
.door-haze{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 10%,#ffad3d23,transparent 55%),radial-gradient(ellipse at 50% 90%,#ff711a18,transparent 42%);mix-blend-mode:screen;animation:haze-drift 13s ease-in-out infinite alternate;pointer-events:none}
@keyframes ray-drift{from{transform:rotate(-1.2deg)}to{transform:rotate(1.2deg)}}
@keyframes haze-drift{from{opacity:.6}to{opacity:1}}
.opening-glow{position:absolute;inset:0;z-index:9;pointer-events:none;opacity:var(--opening-glow,0);background:radial-gradient(ellipse at 50% 38%,#ffe9b5,#ffb04a 28%,#f87822 62%,#ad381a)}
.is-property .doorway{visibility:hidden}
.banner-crop{position:relative;display:block;overflow:hidden;aspect-ratio:var(--w)/var(--h);filter:url('#banner-ink')}
.banner-crop>img{position:absolute;max-width:none;width:calc(1908/var(--w)*100%);height:calc(714/var(--h)*100%);left:calc(var(--x)/var(--w)*-100%);top:calc(var(--y)/var(--h)*-100%)}
.property-scene{position:absolute;inset:0;z-index:7;background:#170e12;color:#fff;opacity:calc(var(--property-opacity,0)*var(--property-retain,1));visibility:hidden}
.is-doorway .property-scene{visibility:visible}
.property-photo{position:absolute;right:0;top:0;width:min(60%,140svh);height:100%;background:url('/assets/property.png') right center/auto 100% no-repeat;transform:scale(var(--property-scale,1.07));transform-origin:right center;mask-image:linear-gradient(90deg,transparent,#000 18%)}
.property-shade{position:absolute;inset:0;background:linear-gradient(90deg,#170e12 0%,#170e12fa 21%,#170e12c9 39%,#170e1240 60%,transparent 80%),linear-gradient(0deg,#130c10e6,transparent 25%)}
.property-content{position:absolute;inset:0 auto 0 0;width:48%;padding:clamp(24px,4vw,64px);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:var(--copy-opacity,0)}
.property-header{flex:none}.brand-emblem{width:clamp(40px,4.2vw,64px)}
.property-copy{width:100%;margin-top:clamp(16px,3vh,28px)}
.brand-title{width:100%}.brand-tagline{width:100%;margin-top:clamp(14px,2.6vh,26px)}.brand-teaser{width:68%;margin:clamp(24px,4vh,42px) auto 0}
.property-footer{width:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 22px;margin-top:clamp(24px,4.5vh,44px)}
.property-footer a{display:flex;align-items:center;min-height:44px}.property-footer a:focus-visible{outline:1px solid #ffbd72;outline-offset:7px}
.brand-phone{width:clamp(135px,12vw,180px)}.brand-location{width:clamp(190px,17vw,260px)}
.brand-registration{width:min(75%,260px);margin-top:clamp(18px,3vh,30px)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px) and (orientation:portrait){
 .property-photo{width:min(100%,62svh);height:min(44svh,71vw);background-position:right top;background-size:auto 100%;transform:none;mask-image:linear-gradient(#000 65%,transparent 100%),linear-gradient(90deg,transparent,#000 12%);mask-composite:intersect}
 .property-shade{background:linear-gradient(0deg,#170e12 0%,#170e12 56%,#170e1280 64%,transparent 78%),linear-gradient(90deg,#170e1270,transparent 25%)}
 .property-content{inset:36svh 0 0;width:100%;padding:16px 7vw max(24px,env(safe-area-inset-bottom));justify-content:center}
 .property-header{position:absolute;left:7vw;top:-31svh}.brand-emblem{width:36px}
 .property-copy{width:min(100%,440px);margin:0}.brand-tagline{margin-top:18px}.brand-teaser{width:62%;margin-top:24px}
 .property-footer{max-width:440px;margin-top:20px;gap:8px 18px}.brand-phone{width:150px}.brand-location{width:210px}
 .brand-registration{width:210px;margin-top:18px}
}
@media(max-height:700px){
 .property-content{padding:20px 4vw}.brand-emblem{width:34px}.property-copy{margin-top:12px}.brand-tagline{margin-top:12px}.brand-teaser{width:55%;margin-top:18px}.property-footer{margin-top:14px;gap:6px 14px}.brand-registration{margin-top:10px;width:200px}.brand-phone{width:140px}.brand-location{width:190px}
}
@media(max-width:900px) and (orientation:portrait) and (max-height:700px){
 .property-content{inset:32svh 0 0;padding:10px 8vw 18px}.property-header{top:-28svh}.brand-emblem{width:30px}.property-copy{width:min(100%,340px);margin:0}.brand-title{width:90%;margin:auto}.brand-tagline{margin-top:12px}.brand-teaser{width:52%;margin-top:16px}.property-footer{margin-top:12px;gap:4px 14px}.brand-registration{margin-top:10px;width:185px}
}
@media(prefers-reduced-motion:reduce){.door-rays,.door-haze{animation:none}}
@media(max-aspect-ratio:3/4){.experience{--crest-width:min(60vw,37svh)}.horizon-light{width:90%;left:5%}}
.doorway:has(#door-canvas:not([hidden])) .door-rays{display:none}
[data-boot-fallback] .preloader,[data-boot-fallback] .doorway{display:none}
[data-boot-fallback] .scroll-story{height:100svh}
[data-boot-fallback] .property-scene{visibility:visible;opacity:1}
[data-boot-fallback] .property-content{opacity:1}

.unveiling-scene{position:absolute;inset:0;z-index:7;display:grid;place-items:center;background:#130b0e;opacity:var(--finale-opacity,0);visibility:hidden;overflow:hidden;pointer-events:none}
.is-doorway .unveiling-scene{visibility:visible}
.unveiling-halo{position:absolute;inset:-30%;background:radial-gradient(ellipse at 50% 15%,#a5431838,transparent 52%),radial-gradient(ellipse at 50% 100%,#e07a181c,transparent 48%);transform:scale(calc(1.08 - var(--finale-opacity,0)*.08))}
.unveiling-content{position:relative;width:min(86%,900px);text-align:center;opacity:var(--unveiling-copy,0);transform:translateY(calc((1 - var(--unveiling-copy,0))*28px))}
.unveiling-teaser{width:clamp(230px,32vw,430px);max-width:100%;margin:auto}
.unveiling-rule{height:1px;width:64px;margin:clamp(32px,6vh,56px) auto;background:linear-gradient(90deg,transparent,#d49b5e,transparent)}
.unveiling-content h2{margin:0 auto;width:90%;font-family:"Arial Black",Arial,Helvetica,sans-serif;font-weight:900;font-size:clamp(44px,6.2vw,88px);line-height:1.08;letter-spacing:.015em;text-transform:uppercase;background:linear-gradient(115deg,#ffe6bd 5%,#f4b669 48%,#cc713f 100%);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 5px 28px #d8771012)}
@media(max-width:600px){.unveiling-content h2{font-size:clamp(32px,10.5vw,62px)}.unveiling-teaser{width:74%}}

.unveiling-content h2 span{display:block;transform:scaleX(1.12)}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .property-photo{transform:translate3d(calc(var(--pointer-x,0)*7px),calc(var(--pointer-y,0)*5px),0) scale(calc(var(--property-scale,1.07) + var(--pointer-active,0)*.025));transform-origin:center}
 .property-copy{translate:calc(var(--pointer-x,0)*-3px) calc(var(--pointer-y,0)*-2px)}
 .property-scene::after,.unveiling-scene::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 40% 55% at var(--pointer-left,50%) var(--pointer-top,50%),#ffc28118,transparent 75%);opacity:var(--pointer-active,0)}
 .unveiling-content{transform:translate3d(calc(var(--pointer-x,0)*6px),calc((1 - var(--unveiling-copy,0))*28px + var(--pointer-y,0)*4px),0) perspective(1200px) rotateX(calc(var(--pointer-y,0)*-1.3deg)) rotateY(calc(var(--pointer-x,0)*1.8deg))}
 .unveiling-content h2{background-image:linear-gradient(115deg,#cc713f 0%,#f4b669 22%,#ffeacd 45%,#f4b669 65%,#cc713f 100%);background-size:200% 100%;background-position:calc(50% + var(--pointer-x,0)*28%) center}
 .unveiling-rule{transform:scaleX(calc(1 + var(--pointer-active,0)*.35))}
 .property-footer a{transition:filter .3s,translate .3s}
 .property-footer a:hover{filter:drop-shadow(0 0 10px #ffc28170);translate:0 -2px}
}
