/* A single cursor above the whole experience, including modal top-layer content. */
.map-cursor,.map-cursor[popover]{position:fixed;inset:auto;left:0;top:0;margin:0;padding:0;border:0;width:0;height:0;overflow:visible;background:transparent;color:var(--ink);z-index:500;pointer-events:none}
.map-cursor::backdrop{display:none}
@media(hover:hover) and (pointer:fine){html.site-cursor-active,html.site-cursor-active *{cursor:none!important}}
.map-cursor[data-kind=action] .cursor-bubble{width:30px;height:30px;background:#d8e1bacf;border-color:#fff;box-shadow:0 0 0 1px #203d3155,0 3px 12px #17382d28}
.map-cursor[data-kind=action] .cursor-light{opacity:.8}
.map-cursor[data-kind=place] .cursor-label{display:none}

/* Prevent a flash of the interactive map before the short welcome begins. */
html[data-intro=pending] #estate-widget{visibility:hidden}
/* The existing cloud texture passes behind the actual three-stone mark. */
.site-intro{position:fixed;inset:0;z-index:200;display:grid;place-items:center;overflow:hidden;isolation:isolate;color:var(--ink)}
.site-intro[hidden]{display:none}
.intro-paper{position:absolute;inset:0;background:var(--paper);opacity:1}
.intro-cloud{position:absolute;top:-20%;height:140%;width:110%;pointer-events:none;will-change:transform,opacity}
.intro-cloud-west{left:-36%;mask-image:linear-gradient(90deg,#000 45%,#000e 59%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 45%,#000e 59%,transparent 100%)}
.intro-cloud-east{right:-36%;mask-image:linear-gradient(270deg,#000 45%,#000e 59%,transparent 100%);-webkit-mask-image:linear-gradient(270deg,#000 45%,#000e 59%,transparent 100%)}
.intro-cloud-texture{position:absolute;inset:-12%;background:url('assets/mist-texture.webp') center/cover no-repeat;opacity:.96;animation:intro-breeze 12s ease-in-out infinite alternate}
.intro-cloud-east .intro-cloud-texture{animation-direction:alternate-reverse;transform:scaleX(-1)}
.intro-identity{position:relative;display:flex;flex-direction:column;align-items:center;gap:25px;padding:35px;text-align:center;will-change:transform,opacity}
.intro-mark{display:block;width:clamp(108px,12vw,168px);height:auto;overflow:visible;filter:drop-shadow(0 5px 8px #203d3116)}
.intro-glass{fill:url('#intro-glass-fill');stroke:#ffffffcf;stroke-width:.65;opacity:0;animation:intro-glass 1.3s .25s ease forwards}
.intro-color{fill:var(--ink);opacity:0;animation:intro-color .95s 1.35s cubic-bezier(.22,.7,.25,1) forwards}
.intro-trace{fill:none;stroke:url('#intro-edge');stroke-width:.95;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:intro-trace 1.25s cubic-bezier(.33,.1,.26,1) forwards}
.intro-trace:nth-child(2){animation-delay:.16s}.intro-trace:nth-child(3){animation-delay:.32s}
.intro-wordmark{font-family:EstateWord,Georgia,serif;font-size:clamp(38px,4vw,52px);line-height:1;letter-spacing:-.06em;opacity:0;animation:intro-name .85s .65s var(--ease) forwards}
.intro-wordmark small{display:block;font-family:EstateSans,Arial,sans-serif;font-size:12px;letter-spacing:.2em;margin-top:16px;line-height:1.5}
.intro-skip{position:absolute;right:max(28px,env(safe-area-inset-right));bottom:max(25px,env(safe-area-inset-bottom));padding:12px 16px;min-height:44px;font-size:14px;border-radius:30px;border:1px solid #203d3125;background:#f7f5ec75;transition:background .2s}
.intro-skip:hover{background:var(--paper)}
.site-intro[data-state=opening] .intro-paper{animation:intro-clear 1.8s ease-in-out both}
.site-intro[data-state=opening] .intro-cloud-west{animation:intro-west 2.2s cubic-bezier(.4,0,.18,1) both}
.site-intro[data-state=opening] .intro-cloud-east{animation:intro-east 2.2s cubic-bezier(.4,0,.18,1) both}
.site-intro[data-state=opening] .intro-identity{animation:intro-depart 1.2s .15s cubic-bezier(.4,0,.2,1) both}
.site-intro[data-state=opening] .intro-skip{animation:intro-clear .4s both;pointer-events:none}
@keyframes intro-trace{to{stroke-dashoffset:0}}
@keyframes intro-glass{0%{opacity:0}40%,100%{opacity:1}}
@keyframes intro-color{to{opacity:1}}
@keyframes intro-name{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-breeze{from{transform:translate(-2%,1%) scale(1.03)}to{transform:translate(3%,-2%) scale(1.09)}}
@keyframes intro-clear{to{opacity:0}}
@keyframes intro-west{0%{transform:translateX(0);opacity:1}72%{opacity:.8}100%{transform:translateX(-70%);opacity:0}}
@keyframes intro-east{0%{transform:translateX(0);opacity:1}72%{opacity:.8}100%{transform:translateX(70%);opacity:0}}
@keyframes intro-depart{to{opacity:0;transform:translateY(-8px) scale(1.06)}}
@media(max-width:700px){.intro-identity{gap:19px}.intro-cloud{width:150%}.intro-cloud-west{left:-70%}.intro-cloud-east{right:-70%}.intro-skip{bottom:max(24px,env(safe-area-inset-bottom));right:20px}}
@media(prefers-reduced-motion:reduce){.site-intro{display:none!important}.map-cursor,.cursor-bubble,.cursor-label{transition:none!important}}
@media(forced-colors:active){.map-cursor{display:none!important}html.site-cursor-active,html.site-cursor-active *{cursor:auto!important}}
