/* Shared visual tour experience, also used by the original homepage prototype. */
.flight-home .site-header{height:100px;background:transparent;border:0;color:#f7f8f3;gap:24px;position:absolute;backdrop-filter:none}
.flight-home .site-header.scrolled{height:78px;background:#f5f5eef5;color:var(--ink);position:fixed;backdrop-filter:blur(18px)}
.flight-home .site-header .brand-logo{transform:translateY(22%)!important}
.flight-home .site-header .fh-logo-dark,.flight-home .site-header.scrolled .fh-logo-light{display:none}
.flight-home .site-header.scrolled .fh-logo-dark{display:block}
.flight-home .site-header nav{font-size:13px;gap:24px}
.flight-home .site-header .header-features-menu{color:var(--ink)}
.flight-home .site-header:not(.scrolled) .header-features-menu{top:calc(100% + 10px);left:0;padding:10px 0;width:max-content;min-width:0;max-width:calc(100vw - 48px);background:transparent;border:0;border-radius:0;box-shadow:none;color:#fff}
.flight-home .site-header:not(.scrolled) .header-features-menu a{color:#fff}
.flight-home .site-header:not(.scrolled) .header-features-menu a::after{background:#fff}
@media(hover:hover) and (pointer:fine){.flight-home .site-header:not(.scrolled) .header-features-menu::before{top:-11px;height:11px}}
.flight-home .site-header .header-cta{background:var(--lime);padding:13px 18px;font-size:13px}
.flight-home .site-header .header-login{font-size:13px}
.fh-experience{--fh-white:#f7f8f3;position:relative;isolation:isolate;height:100vh;height:100svh;min-height:720px;overflow:hidden;background:#18221b;color:var(--fh-white)}
.fh-scene{position:absolute;inset:0;isolation:isolate}
.fh-scene-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.fh-plot-map{z-index:0;pointer-events:auto;touch-action:pan-y}
.fh-plot-hit{fill:transparent;stroke:none;pointer-events:all;cursor:pointer}
.fh-mask-shape{fill:#fff;stroke:#fff;stroke-width:17;stroke-linejoin:round;stroke-linecap:round;opacity:0;transition:opacity .2s;pointer-events:none}
.fh-mask-shape.is-lit{opacity:1}
.fh-flight-video{z-index:1;opacity:0;transition:opacity .08s linear}
.fh-reverse-video{z-index:2;opacity:0}
.fh-poster-end{z-index:4;opacity:0}
.fh-experience.is-flying .fh-flight-video,.fh-experience.is-finished .fh-flight-video{opacity:1}
.fh-experience.is-returning .fh-reverse-video{opacity:1}
.fh-experience.is-returning .fh-poster-end{opacity:0}
.fh-experience.is-returning .fh-plot-map{z-index:3;opacity:var(--reverse-still-opacity,0)}
.fh-experience:not(.is-idle) .fh-plot-map{pointer-events:none}
.fh-clouds{position:absolute;inset:-9% -7%;z-index:5;pointer-events:none}
.fh-cloud-field{position:absolute;inset:0;will-change:transform,opacity}
.fh-cloud-strip{position:absolute;top:0;left:0;height:100%;width:200%;display:flex;will-change:transform}
.fh-cloud-tile{flex:0 0 50%;width:50%;height:100%;object-fit:fill;display:block;user-select:none}
.fh-cloud-near .fh-cloud-tile{transform:scaleX(-1)}
.fh-shade{position:absolute;inset:0;z-index:6;pointer-events:none;background:linear-gradient(180deg,#0b170b85,transparent 55%,transparent 78%,#0a180c8c)}
.fh-copy{position:absolute;top:clamp(120px,15vh,180px);left:var(--page-full-gutter);right:var(--page-full-gutter);z-index:7;pointer-events:none}
.fh-copy>*{transform:translate3d(calc(var(--fh-exit,0)*-110vw),0,0);opacity:calc(1 - var(--fh-exit,0))}
.fh-copy>.fh-eyebrow{--fh-exit:var(--fh-eyebrow-exit,0)}
.fh-copy>h1{--fh-exit:var(--fh-title-exit,0)}
.fh-copy>.fh-description{--fh-exit:var(--fh-description-exit,0)}
.fh-copy>.fh-actions{--fh-exit:var(--fh-actions-exit,0)}
.fh-eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:550;line-height:1.4;letter-spacing:.14em;text-transform:uppercase}
.fh-eyebrow::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--lime)}
.fh-copy h1{font-family:"Necarta",Manrope,Arial,sans-serif;font-weight:400;letter-spacing:0;font-size:clamp(48px,4.65vw,88px);line-height:1.03;margin:21px 0 22px;max-width:1150px;text-shadow:0 2px 28px #12200c33}
.fh-copy h1 span{display:block;color:var(--lime)}
.fh-description{max-width:655px;font-size:14px;line-height:1.75;font-weight:400;color:#fff}
.fh-description a{color:inherit;pointer-events:auto;text-decoration:none}
.fh-description a:hover{text-decoration:underline;text-underline-offset:3px}
.fh-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch;margin-top:23px;pointer-events:auto;width:max-content;max-width:100%;font-size:13px}
.fh-actions>a,.fh-actions>button{width:100%}
.fh-actions>.fh-primary,.fh-actions>.fh-secondary{font-size:inherit;font-weight:550}
.fh-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--lime);color:var(--ink);border-radius:10px;padding:14px 20px;font-size:13px;font-weight:550;min-height:48px;transition:background .2s}
.fh-primary:hover{background:#d1ff82}
.fh-primary span{font-size:18px;font-weight:400}
.fh-actions .fh-cta-arrow{display:block;flex-shrink:0;width:7.33px;height:7.33px}
.fh-secondary{display:inline-flex;align-items:center;justify-content:center;font-size:12px;padding:13px 20px;min-height:48px;border:1px solid #ffffffb3;border-radius:10px;background:transparent;text-align:center;transition:border-color .2s}
.fh-secondary:hover{border-color:#fff}
.fh-marker-layer{position:absolute;inset:0;z-index:8;pointer-events:none;transition:opacity .2s}
.fh-marker{position:absolute;display:flex;align-items:center;gap:7px;justify-content:center;min-width:39px;height:32px;padding:0 10px;border:1px solid #ffffffa6;border-radius:24px;color:#24301e;background:#fbfff4e8;box-shadow:0 3px 16px #12200c26;font-size:12px;font-weight:650;line-height:1;transform:translate(-50%,-50%);pointer-events:auto;transition:background .2s,box-shadow .2s;white-space:nowrap}
.fh-marker::before,.fh-dot{content:"";display:block;flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:#799b42}
.fh-marker[data-status=reserved]::before,.fh-dot.reserved{background:#ba8d50}
.fh-marker[data-status=sold]::before,.fh-dot.sold{background:#919789}
.fh-marker[data-status=sold]{background:#eff1e7db;color:#65715c}
.fh-marker.is-active,.fh-marker:hover{background:var(--lime);box-shadow:0 3px 20px #11210d50;border-color:var(--lime)}
.fh-marker.is-featured{background:var(--lime);border-color:var(--lime);height:38px;padding-inline:12px}
.fh-marker.is-featured::after{content:"";position:absolute;inset:-7px;border:1px solid #c2f36699;border-radius:30px;animation:fh-invite 3.5s ease-out infinite;pointer-events:none}
.fh-enter{z-index:9;font-size:11px;font-weight:500}
.fh-enter[hidden]{display:none}
.fh-enter:focus-visible{outline:2px solid #fff;outline-offset:5px}
.fh-marker-hint{font-size:11px;font-weight:500;border-left:1px solid #26351d30;padding-left:8px;margin-left:1px}
@keyframes fh-invite{0%,20%{opacity:.65;scale:.95}80%,100%{opacity:0;scale:1.15}}
.fh-hover-card{position:absolute;z-index:12;width:228px;padding:17px 18px;border-radius:14px;background:#fbfcf7;color:var(--ink);box-shadow:0 12px 40px #0d1b1230;line-height:1.5}
.fh-hover-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:550;margin-bottom:14px}
.fh-status{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:400;white-space:nowrap;color:#65715c}
.fh-hover-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:11px;color:#74806a}
.fh-hover-meta strong{font-size:15px;font-weight:550;color:var(--ink)}
.fh-footer{position:absolute;bottom:28px;left:var(--page-full-gutter);right:var(--page-full-gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;z-index:9;transition:opacity .3s;pointer-events:none}
.fh-footer>*{pointer-events:auto}
.fh-legend{display:flex;gap:17px;align-items:center;font-size:10px;color:#f7f8f3d6}
.fh-legend span{display:inline-flex;align-items:center;gap:6px}
.fh-legend .fh-dot{width:5px;height:5px;background:var(--lime)}
.fh-legend .fh-dot.reserved{background:#d7b276}
.fh-legend .fh-dot.sold{background:#bdc1b6}
.fh-caption{font-size:10px;letter-spacing:.025em;color:#edf3e5b5}
.fh-scroll{display:flex;align-items:center;gap:12px;font-size:11px}
.fh-scroll span{width:30px;height:30px;display:grid;place-items:center;border:1px solid #fff4;border-radius:50%}
.fh-experience:not(.is-idle) .fh-marker-layer,.fh-experience:not(.is-idle) .fh-footer{opacity:0;visibility:hidden;pointer-events:none}
.fh-experience:not(.is-idle) .fh-copy,.fh-experience:not(.is-idle) .fh-copy a,.fh-experience:not(.is-idle) .fh-copy .fh-actions{pointer-events:none}
.fh-experience.is-finished:not(.is-returning) .fh-copy{visibility:hidden}
.fh-arrival-copy{position:absolute;z-index:7;left:var(--page-full-gutter);top:25%;width:min(48%,700px);pointer-events:none;animation:fh-arrive .65s ease-out both}
.fh-arrival-copy h2{font-family:"Necarta",Manrope,Arial,sans-serif;font-size:clamp(40px,4.4vw,76px);font-weight:400;line-height:1.04;letter-spacing:0;margin:20px 0;text-shadow:0 2px 25px #14200d80}
.fh-arrival-copy h2 span{color:var(--lime)}
.fh-function-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:520px;margin:26px 0 0;padding:0;list-style:none}
.fh-function-grid li{display:flex;min-width:0}
.fh-function-grid a{display:flex;align-items:center;gap:12px;min-width:0;width:100%;min-height:64px;padding:14px 16px;border:1px solid #ffffffa6;border-radius:12px;background:#f7f8f0eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--ink);font-size:13px;font-weight:500;line-height:1.45;pointer-events:auto;transition:background .2s,border-color .2s}
.fh-function-grid a:hover{background:#fff;border-color:#fff}
.fh-function-grid a:focus-visible{outline:2px solid #94d71c;outline-offset:3px}
.fh-function-grid svg{display:block;flex:0 0 20px;width:20px;height:20px;fill:none;stroke:#94d71c;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fh-function-grid span{min-width:0;overflow-wrap:anywhere}
@keyframes fh-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.fh-house-panel{position:absolute;z-index:10;right:var(--page-full-gutter);top:50%;transform:translateY(-42%);width:330px;padding:26px;background:#f9faf4f7;color:var(--ink);border:1px solid #ffffff70;border-radius:18px;box-shadow:0 16px 70px #091b1226}
.fh-house-panel .fh-eyebrow{color:#77816c;font-size:9px;letter-spacing:.1em}
.fh-house-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.fh-house-panel h2{font-family:"Necarta",Manrope,Arial,sans-serif;font-size:34px;font-weight:400;line-height:1.05;letter-spacing:0;margin:0 0 9px}
.fh-house-subtitle{font-size:11px;color:#74806b}
.fh-house-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0;padding:20px 0;border-block:1px solid #dfe5d7}
.fh-house-stats dt{font-size:10px;color:#75806a;margin-bottom:5px}
.fh-house-stats dd{font-size:21px;line-height:1.3;font-weight:500;margin:0}
.fh-house-price small{display:block;color:#75806a;font-size:10px;margin-bottom:4px}
.fh-house-price strong{font-family:"Necarta",Manrope,Arial,sans-serif;font-weight:400;font-size:32px;line-height:1.3}
.fh-house-panel .fh-primary{margin-top:23px;width:100%}
.fh-house-note{font-size:9px;color:#7b8573;text-align:center;margin-top:12px}
.fh-back{position:absolute;z-index:11;left:var(--page-full-gutter);bottom:28px;display:flex;align-items:center;gap:12px;padding:12px 18px;background:#f8faf1ec;color:var(--ink);border:1px solid #fff8;border-radius:50px;font-size:12px;min-height:44px}
.fh-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:calc(100% - 40px);z-index:14;padding:13px 20px;border-radius:12px;background:#f8faf1f0;color:var(--ink);font-size:12px;text-align:center;pointer-events:none}
.fh-message:empty{display:none}
.fh-experience.is-returning .fh-house-panel,.fh-experience.is-returning .fh-back{visibility:hidden}
@media(min-width:1600px){.fh-description{font-size:15px;max-width:710px}.fh-actions{margin-top:25px}}
@media(min-width:801px) and (max-height:800px){.fh-experience{min-height:640px}.fh-copy{top:110px}.fh-copy h1{font-size:clamp(48px,4.3vw,68px);margin-block:14px 16px}.fh-description{max-width:620px;font-size:13px}.fh-actions{margin-top:18px}.fh-house-panel{padding:22px;width:310px}}
@media(min-width:801px) and (max-width:1100px){.flight-home .site-header{gap:16px}.flight-home .site-header nav{gap:14px;font-size:11px}.flight-home .site-header .header-cta{font-size:11px;padding:12px}.flight-home .site-header .header-login{font-size:11px}.fh-copy h1{font-size:58px}.fh-description{max-width:570px}}
@media(max-width:800px){
 .flight-home .site-header{height:80px;gap:14px}.flight-home .site-header .header-cta{font-size:11px;padding:11px 12px;margin-left:auto}.flight-home .site-header nav.open{color:var(--ink)}
 .flight-home .site-header .brand-logo{transform:translateY(6.45%)!important}
 .fh-actions{font-size:12px}
 .flight-home .site-header:not(.scrolled) nav.open{background:#17221bf2;color:#fff}
 .fh-experience{height:100svh;min-height:760px;background:linear-gradient(180deg,#15251980,#152519 66%),url("assets/village.webp") center top/auto 100%}
 .fh-scene{top:auto;bottom:90px;height:auto;aspect-ratio:16/9}
 .fh-scene::after{content:"";position:absolute;inset:0;z-index:6;background:linear-gradient(180deg,#152519,transparent 18%,transparent 88%,#152519);pointer-events:none}
 .fh-shade{background:linear-gradient(180deg,#07170a38,transparent 50%)}
 .fh-copy{top:110px;left:24px;right:24px}.fh-copy h1{font-size:clamp(40px,7vw,58px);margin:20px 0}.fh-description{font-size:13px;line-height:1.8;max-width:560px}.fh-eyebrow{font-size:9px;letter-spacing:.09em}.fh-actions{gap:22px;margin-top:22px}.fh-primary{font-size:12px;padding:13px 16px}.fh-secondary{font-size:11px}
 .fh-arrival-copy{top:105px;left:24px;right:24px;width:auto}.fh-arrival-copy h2{font-size:34px;margin:14px 0 10px}.fh-arrival-copy>p:last-child{font-size:12px;max-width:300px}.fh-experience.is-finished .fh-house-panel{top:265px}
 .fh-actions .fh-primary{gap:12px}
 .fh-marker{min-width:32px;height:28px;font-size:10px;padding-inline:8px;gap:5px}.fh-marker.is-featured{height:32px;padding-inline:9px}.fh-marker-hint{display:none}
 .fh-footer{bottom:24px;left:24px;right:24px;flex-wrap:wrap;gap:12px}.fh-caption{order:3;width:100%;font-size:9px}.fh-legend{gap:13px;font-size:9px}.fh-scroll{font-size:10px}.fh-scroll span{width:26px;height:26px}
 .fh-house-panel{top:108px;left:24px;right:24px;transform:none;width:auto;padding:22px;max-width:420px}.fh-house-panel h2{font-size:30px}.fh-house-top{margin-bottom:15px}.fh-house-stats{margin:16px 0;padding:14px 0}.fh-house-panel .fh-primary{margin-top:16px}.fh-house-price strong{font-size:28px}.fh-back{bottom:27px;left:24px}.fh-experience.is-finished{min-height:850px}
 .fh-hover-card{width:210px;padding:14px 16px}.fh-hover-top{margin-bottom:10px}
}
@media(max-width:430px){.fh-copy{left:20px;right:20px}.fh-copy h1{font-size:clamp(32px,8.7vw,38px)}.fh-description{font-size:12px;line-height:1.8}.fh-actions{gap:18px}.fh-experience{min-height:735px}.fh-scene{bottom:110px}.fh-house-panel{left:20px;right:20px}.fh-footer{left:20px;right:20px}.fh-experience.is-finished{min-height:820px}.fh-caption{max-width:210px}.fh-back{left:20px}.flight-home .site-header{gap:8px}}
@media(max-width:430px){.fh-arrival-copy{left:20px;right:20px}.fh-arrival-copy h2{font-size:30px}.fh-actions{gap:12px}.fh-actions .fh-primary,.fh-actions .fh-secondary{padding-inline:10px}}
@media(max-width:800px){
 .fh-function-grid{gap:8px;margin-top:20px}
 .fh-function-grid a{min-height:60px;padding:12px 10px;gap:8px;font-size:12px}
 .fh-function-grid svg{flex-basis:18px;width:18px;height:18px}
 .fh-experience.is-finished{display:flex;flex-direction:column;gap:24px;height:auto;min-height:100svh;padding:105px 24px calc(120px + 56.25vw)}
 .fh-experience.is-finished .fh-arrival-copy,.fh-experience.is-finished .fh-house-panel{position:relative;top:auto;right:auto;left:auto;transform:none;width:100%;flex-shrink:0}
 .fh-experience.is-finished #fh-arrival-copy[hidden],.fh-experience.is-finished #fh-house[hidden]{display:block!important;visibility:hidden}
}
@media(max-width:430px){.fh-experience.is-finished{padding-inline:20px}}
.fh-interior-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#18221b url("assets/house.webp") center/cover no-repeat;color:var(--ink)}
.fh-interior-dialog::backdrop{background:#18221b}
.fh-interior-video,.fh-interior-panorama,.fh-interior-panorama iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}
.fh-interior-video{object-fit:cover;object-position:center;opacity:0;transition:opacity .25s ease}
.fh-interior-dialog.has-video .fh-interior-video{opacity:1}
.fh-interior-panorama{z-index:1;opacity:0;pointer-events:none;transition:opacity .4s ease}
.fh-interior-dialog.has-panorama .fh-interior-panorama{opacity:1;pointer-events:auto}
.fh-interior-back{position:absolute;z-index:3;top:max(24px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:12px 18px;border:1px solid #ffffffb3;border-radius:50px;background:#f8faf1ec;color:var(--ink);font:500 12px Manrope,Arial,sans-serif}
.fh-interior-back:hover{background:#fff}
.fh-interior-back:focus-visible{outline:2px solid #94d71c;outline-offset:3px}
.fh-interior-status{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);max-width:calc(100% - 40px);margin:0;padding:13px 20px;border-radius:12px;background:#f8faf1f0;color:var(--ink);font:400 12px Manrope,Arial,sans-serif;text-align:center}
.fh-interior-status:empty{display:none}
@media(max-width:800px){.fh-enter.is-featured{height:38px;padding-inline:12px;font-size:11px}.fh-interior-back{top:auto;bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));padding-inline:14px}}
@media(prefers-reduced-motion:reduce){.fh-interior-video,.fh-interior-panorama{transition:none}}
@media(prefers-reduced-motion:reduce){.fh-marker.is-featured::after{animation:none;opacity:.4}.fh-copy,.fh-marker-layer,.fh-mask-shape{transition:none}}
