:root{--ink:#203c35;--paper:#f6f5ef;--accent:#a98b61;--muted:#768176}
body{background:var(--paper);color:var(--ink)}
header{height:96px;background:#f6f5eff2;border-bottom:1px solid #203c3514;padding:0 3.5%;z-index:8}
.brand{font-size:19px;letter-spacing:2.2px;gap:14px}.brandmark{font-size:54px;width:40px}.brandmark span{left:23px;top:5px;height:24px;width:17px}.brand small{font-size:7px;letter-spacing:2px;margin-top:8px}
nav{gap:30px}nav button{font-size:12px;padding:13px 0}.nav-active{border-bottom-color:#a98b61}nav span{color:#8b9589;font-size:9px;margin-left:6px}
.visit{border-radius:4px;padding:14px 21px;background:#203c35;font-size:12px}
button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible{outline-color:#bb996b}
.welcome{position:fixed;inset:0;z-index:5;overflow:hidden;background:#31483d;color:#fff}
.welcome-image{position:absolute;inset:0;background:url('assets/masterplan.webp') center 53%/cover no-repeat;animation:arrive 1.8s cubic-bezier(.16,1,.3,1) both}
.welcome-shade{position:absolute;inset:0;background:linear-gradient(90deg,#132f2dd4 0%,#13352d79 34%,#18352800 75%),linear-gradient(0deg,#102d30d6 0%,#12332900 40%),linear-gradient(180deg,#0c252657 0%,transparent 24%)}
.welcome-story{position:absolute;left:6%;top:27%;max-width:650px;animation:story-in 1s .12s both}
.welcome-kicker{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:2.6px;color:#e9eee0}.welcome-kicker>span{height:1px;width:29px;background:#d6c9aa}
.welcome h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(70px,7.9vw,126px);font-weight:400;line-height:.98;letter-spacing:-4px;margin:29px 0 24px;color:#fff}.welcome h1 em{font-family:inherit;color:#f1eadb;font-weight:400}
.welcome-story p{font-size:13px;line-height:1.85;color:#e3e8dd;margin:0}
.welcome-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.welcome-primary{background:#f7f4ea;color:#213d35;font-size:12px;display:flex;align-items:center;gap:29px;padding:18px 23px;border-radius:3px}.welcome-primary>span{font-size:21px;line-height:1}.welcome-primary:hover{transform:translateY(-2px);background:#fff}.welcome-tour{display:flex;align-items:center;gap:12px;background:none;color:#fff;font-size:11px;padding:0}.welcome-tour>span{width:40px;height:40px;display:grid;place-items:center;border:1px solid #ffffff7a;border-radius:50%;font-size:16px}
.welcome-bottom{position:absolute;left:6%;right:4%;bottom:51px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.welcome-facts{display:flex;gap:45px;align-items:flex-end;border-top:1px solid #ffffff3a;padding-top:23px;min-width:450px}.welcome-facts>div,.welcome-facts>button{display:flex;flex-direction:column;gap:9px}.welcome-facts b{font-size:29px;font-weight:400;letter-spacing:-1px;font-family:Manrope,Arial,sans-serif}.welcome-facts>button{background:none;color:inherit;padding:0;text-align:left}.welcome-facts>button b>span{font-size:20px;display:inline-block;margin-left:6px;color:#e9dfc7}.welcome-facts>div>span,.welcome-facts>button>span{font-size:9px;letter-spacing:.4px;color:#e0e5da}
.welcome-feature{display:flex;align-items:stretch;background:#f6f4eb;color:var(--ink);text-align:left;padding:6px;width:332px;border-radius:4px;box-shadow:0 12px 35px #102b2e22}.welcome-feature>img{width:112px;min-height:118px;object-fit:cover;border-radius:2px}.welcome-feature>span{padding:17px 16px;flex:1}.welcome-feature small{display:block;font-size:6px;letter-spacing:1.3px;color:#7b8375}.welcome-feature b{display:block;font-family:Georgia,serif;font-size:23px;line-height:1.1;font-weight:400;margin:12px 0}.welcome-feature em{display:flex;justify-content:space-between;font-size:9px;font-style:normal;color:#6f7b6d}.welcome-feature em>span{font-size:17px;line-height:.7}.welcome-note{position:absolute;bottom:16px;left:6%;font-size:7px;letter-spacing:.4px;color:#c0cec1}
body.is-welcome header{color:#fff;background:transparent;border-bottom-color:#ffffff30;--green:#fff}body.is-welcome nav span{color:#e7eade}body.is-welcome nav .nav-active{border:0}body.is-welcome .visit{color:#fff;background:transparent;border:1px solid #ffffff75}body.is-welcome .visit:hover{background:#ffffff16}body.is-welcome main,body.is-welcome footer,body.is-welcome .demo-note,body.is-welcome .model-credits{visibility:hidden;pointer-events:none}
@keyframes arrive{from{transform:scale(1.045)}to{transform:scale(1)}}@keyframes story-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
/* Exploration is deliberately quiet: the landscape and the selected plot lead. */
body[data-mode=map] .map-panel{top:126px;left:3.5%;width:260px;background:#f8f7f0f5;backdrop-filter:blur(16px);padding:22px;border-radius:6px;border:1px solid #fff9;box-shadow:0 12px 40px #18392c14}
.map-panel .eyebrow{font-size:7px;letter-spacing:1.7px;color:#728275}.map-panel .eyebrow>span{width:5px;height:5px;background:#a68b61}
.map-panel h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:38px;line-height:1.04;letter-spacing:-1.5px;margin:21px 0 17px}.map-panel h1 em{color:#77876c;font-family:inherit}.plan-stats{font-size:10px;margin-bottom:21px;color:#84907f}.plan-stats strong{font-size:18px;color:#304a3c}.plan-stats>span{margin:0 4px}
#plot-search label,.filter-label{font-size:10px;color:#62715e;margin-bottom:8px}.search-row{border-color:#d8dfcf;border-radius:4px}.search-row input{font-size:12px;padding:11px}.search-row button{font-size:10px;padding:0 12px;background:#203c35}#search-message{min-height:24px;font-size:10px;padding-top:7px}.phase-filter{gap:4px;margin:6px 0 17px}.phase-filter button{font-size:10px;padding:8px 5px;background:#e9ecdf;border-radius:3px}.phase-filter .active{background:#203c35;color:#fff}#availability{padding:10px;font-size:11px;border-color:#d8dfcf;border-radius:4px}.plan-legend{font-size:8px;margin-top:17px}.plan-legend i{width:6px;height:6px}.result-count{font-size:10px;margin-top:15px}.source-plan-link{font-size:8px!important;opacity:.6}.map-panel .explore{font-size:10px;padding-top:15px}.map-panel .round-play{width:28px;height:28px;font-size:14px}
body[data-mode=map] .top-right{top:121px;right:3.5%}.map-angle{border-radius:5px;background:#faf9f1f5;padding:4px;border:1px solid #fff8;box-shadow:0 6px 25px #173d2b0d}.map-angle button{font-size:10px;padding:9px 14px;border-radius:3px}.map-angle .active{background:#203c35;color:#fff}
.spatial-note{top:184px;right:3.5%;width:178px;border-radius:5px;padding:12px 14px;background:#f8f7f0eb;box-shadow:none;border:1px solid #fff9}.spatial-note b{font-size:10px}.spatial-note span{font-size:8px;line-height:1.6;color:#7a8470}
body[data-mode=map] .shade,body[data-angle=tilt][data-mode=map] .shade{background:linear-gradient(0deg,#f1f2e738,transparent 12%)}
.map-tools{right:3.5%;border-radius:5px;top:42%;background:#faf9f1ed;border:1px solid #fff9;box-shadow:0 4px 20px #173d2b14}.map-tools button{width:39px;height:39px;font-size:21px}
.phase-label{padding:12px 15px;border-radius:4px;border:1px solid #fff9;background:#f8f7eef0;box-shadow:0 6px 20px #183b291a;display:flex;align-items:center;gap:12px}.phase-label .phase-index{font-family:Georgia,serif;color:#9f8e67;font-size:26px;line-height:1;margin:0}.phase-label .phase-copy{margin:0}.phase-label b{font-size:11px;letter-spacing:.3px;font-weight:500}.phase-label small{display:block;font-size:8px;color:#849078;margin-top:4px}.phase-label:hover{background:#fff;transform:translate(-50%,-50%) translateY(-2px)}
.parcel-label{border-radius:3px;box-shadow:0 1px 4px #17392c20;font-size:10px;padding:4px}.parcel-label.sold{color:#7c8376;background:#f8f7efe0;font-size:9px}.parcel-label.chosen{color:#fff;background:#203c35;border-color:#e9e9cf;border-radius:4px}
footer{bottom:35px;left:3.5%;right:3.5%}.view-switch{border-radius:5px;background:#f8f7f0f5;padding:5px;box-shadow:0 5px 30px #173d2b14;border:1px solid #fff9}.view-switch button{border-radius:3px;font-size:11px;padding:12px 18px}.view-switch button>span{font-size:15px;color:#7e8b75;margin-right:7px}.view-switch .active{background:#203c35;color:#fff}.view-switch .active>span{color:#d7dec9}.demo-note{font-size:7px;left:3.5%;bottom:13px;letter-spacing:.2px;color:#71806c}.minimap{width:151px;height:69px;right:3.5%;bottom:83px;border-radius:4px;border-width:1px;box-shadow:0 4px 20px #173d2b20}.minimap img{border-radius:3px}.minimap button{font-size:8px;border-radius:3px;bottom:-23px;padding:5px 8px}
.house-card{border-radius:6px;box-shadow:0 15px 60px #183c2b24;right:3.5%;width:276px}.photo{height:155px}.primary{border-radius:4px;background:#203c35}.parcel-card h2,.house-card h2{font-family:Georgia,serif;font-size:29px;font-weight:400}.parcel-price{font-family:Manrope,Arial,sans-serif;font-size:23px}.parcel-status{border-radius:3px;font-size:9px}.parcel-source{font-size:9px}.card-content{padding:21px}.house-card .price-row strong{font-size:18px}.house-card .specs{font-size:10px}
.catalog{background:#f6f5ef}.catalog-hero h1{font-family:Georgia,serif;font-size:64px;letter-spacing:-2px;font-weight:400;line-height:1.05}.catalog-hero h1 em{font-family:inherit;color:#7b896d}.catalog-card{border-radius:5px;background:#fdfcf6;border:1px solid #e2e5d9;box-shadow:none}.catalog-name{font-family:Georgia,serif;font-size:30px}.catalog-card-image{border-radius:3px 3px 0 0}.catalog-toolbar{border-color:#d9dfd0}.catalog-pills button{border-radius:3px}.catalog-pills .active{background:#203c35}.catalog-bottom{border-radius:5px;background:#e6eadc}.catalog-bottom>button{border-radius:4px;background:#203c35}.catalog-summary>span{font-family:Georgia,serif;font-weight:400}.detail-info h2{font-family:Georgia,serif;font-weight:400}.detail-place{border-radius:4px}.home-detail{border-radius:7px}
@media(min-width:1500px){.welcome-story{top:25%;left:7%}.welcome-bottom{left:7%;right:5%;bottom:65px}.welcome-note{left:7%}.welcome-facts{gap:60px;min-width:550px}.welcome-feature{width:370px}.welcome-feature>img{width:130px;min-height:135px}}
@media(max-height:800px) and (min-width:701px){.welcome-story{top:24%}.welcome h1{font-size:clamp(65px,7.6vw,108px);margin:20px 0}.welcome-actions{margin-top:22px}.welcome-bottom{bottom:38px}.welcome-feature>img{min-height:100px}.welcome-feature>span{padding:12px 16px}.welcome-facts{padding-top:16px}.welcome-facts b{font-size:25px}.welcome-note{bottom:12px}body[data-mode=map] .map-panel{top:112px;padding:17px 20px}.map-panel h1{font-size:33px;margin:16px 0 13px}.plan-stats{margin-bottom:15px}.map-panel .explore{display:none}}
@media(max-width:1100px) and (min-width:701px){header{gap:18px}nav{gap:20px}.brand{font-size:17px}.brandmark{font-size:48px;width:35px}.brandmark span{left:21px;height:22px;width:15px}.welcome-story{left:5%;top:26%}.welcome h1{font-size:88px}.welcome-bottom{left:5%;right:4%;gap:20px}.welcome-facts{gap:28px;min-width:400px}.welcome-feature{width:285px}.welcome-feature>img{width:95px}.welcome-feature>span{padding:14px}.welcome-feature b{font-size:21px}body[data-mode=map] .map-panel{width:245px;left:3%}.welcome-primary{font-size:11px;padding:17px 20px;gap:17px}.welcome-actions{gap:22px}.catalog-hero h1{font-size:52px}}
@media(max-width:700px){
  header{height:112px;padding:0 18px 39px;gap:12px}.brand{font-size:15px;gap:10px;letter-spacing:1.5px}.brandmark{font-size:43px;width:30px}.brandmark span{left:19px;top:4px;height:19px;width:13px}.brand small{font-size:6px;margin-top:6px;letter-spacing:1.4px}.visit{font-size:10px;padding:11px 12px}header nav{left:17px;right:17px;bottom:1px}header nav button{font-size:10px;padding:10px 0}header nav span{font-size:8px}
  .welcome-image{background-position:56% 50%}.welcome-shade{background:linear-gradient(90deg,#12342db8,transparent 100%),linear-gradient(0deg,#102f32f0,transparent 67%),linear-gradient(180deg,#0d2b295e,transparent 35%)}
  .welcome-story{left:24px;right:20px;top:26%;max-width:none}.welcome-kicker{font-size:7px;letter-spacing:1.8px;gap:9px}.welcome-kicker>span{width:20px}.welcome h1{font-size:67px;letter-spacing:-2.7px;line-height:1.01;margin:25px 0 20px}.welcome-story p{font-size:11px;line-height:1.85}.welcome-actions{flex-direction:column;align-items:flex-start;gap:19px;margin-top:25px}.welcome-primary{padding:16px 20px;font-size:11px;gap:29px}.welcome-tour{font-size:10px;gap:11px}.welcome-tour>span{width:32px;height:32px;font-size:14px}
  .welcome-bottom{left:24px;right:24px;bottom:51px;display:block}.welcome-facts{min-width:0;gap:0;justify-content:space-between;padding-top:20px}.welcome-facts b{font-size:25px}.welcome-facts>div>span,.welcome-facts>button>span{font-size:7px;max-width:85px;line-height:1.6}.welcome-facts>div,.welcome-facts>button{gap:6px}.welcome-feature{display:none}.welcome-note{left:24px;right:24px;font-size:6px;line-height:1.6;bottom:17px}
  body[data-mode=map] .map-panel{top:127px!important;left:14px;right:14px;width:auto;padding:15px 17px;border-radius:5px}.map-panel h1{font-size:29px;line-height:1.02;margin:11px 0 0;letter-spacing:-1px}.map-panel h1 br{display:none}.map-panel h1 em{display:inline}.plan-stats{right:17px;top:23px;font-size:8px;width:87px;line-height:1.6}.plan-stats strong{font-size:19px}.map-panel .eyebrow{font-size:7px;letter-spacing:1.3px}.map-panel #plot-search{margin-top:14px}.search-row input{font-size:12px;padding:10px}.search-row button{font-size:10px;padding:0 15px}#search-message{font-size:9px;min-height:22px;padding-top:6px}.phase-filter{margin:4px 0 10px}.phase-filter button{font-size:10px;padding:8px}#availability{font-size:10px;padding:8px;max-width:57%}.plan-legend{font-size:7px;margin-top:0;gap:4px}.result-count{font-size:8px;margin-top:0;padding-top:12px}.map-panel .explore{display:none}
  body[data-mode=map] .top-right{top:auto!important;bottom:132px;right:14px}.map-angle button{font-size:10px;padding:8px 11px}.map-tools{right:14px;top:51%;border-radius:5px}.map-tools button{width:33px;height:33px;font-size:19px}.spatial-note{left:14px;right:14px;width:auto;bottom:88px;top:auto;padding:9px 12px;border-radius:4px}.spatial-note b{font-size:8px;margin-bottom:3px}.spatial-note span{font-size:7px}.phase-label{padding:9px 10px;gap:7px}.phase-label .phase-index{font-size:21px}.phase-label b{font-size:9px}.phase-label small{font-size:7px;margin-top:3px}
  footer{left:14px;right:14px;bottom:29px}.view-switch{width:100%;padding:4px;justify-content:space-between;border-radius:5px}.view-switch button{font-size:9px;padding:11px 8px}.view-switch button>span{font-size:13px;margin-right:5px}.demo-note{left:14px;right:14px;bottom:8px;font-size:5px;line-height:1.5}.house-card{left:14px;right:14px;width:auto;border-radius:5px}.parcel-card .card-content{padding:18px}.house-card .card-content{padding:14px}.has-selection .house-card{bottom:95px}.has-selection .top-right{top:244px!important;bottom:auto}.has-selection .map-panel{padding:12px 14px!important}.has-selection .map-panel #plot-search{margin-top:12px}.has-selection .map-panel #expand-filters{font-size:9px;border-radius:3px}.catalog{top:112px}.catalog-hero h1{font-size:38px;letter-spacing:-1.7px}.catalog-hero p{font-size:11px}.catalog-summary>span{font-size:49px}.catalog-card-body{padding:20px}.catalog-name{font-size:30px}.catalog-bottom h2{font-family:Georgia,serif;font-size:29px;font-weight:400}.catalog-bottom>button{font-size:11px}.scene-heading{top:143px!important;left:20px}.scene-heading h1{font-size:29px;font-family:Georgia,serif;font-weight:400}.scene-heading .eyebrow{font-size:7px}body[data-mode=inside] .top-right,body[data-mode=walk] .top-right{top:128px!important;right:18px}.walk-controls{bottom:91px}.room-picker{bottom:96px}.day{border-radius:5px;font-size:10px;padding:7px 10px}.room-picker{border-radius:5px}.room-picker button{border-radius:3px}
}
@media(max-width:700px) and (max-height:740px){.welcome-story{top:24%}.welcome h1{font-size:57px;margin:19px 0 16px}.welcome-actions{margin-top:19px;gap:13px}.welcome-story p{font-size:10px}.welcome-bottom{bottom:40px}.welcome-facts{padding-top:14px}.welcome-facts b{font-size:22px}.welcome-note{bottom:10px}.map-panel h1{font-size:26px}.plan-stats{display:none}}
@media(prefers-reduced-motion:reduce){.welcome-image,.welcome-story{animation:none}button{transition:none}}
@media(max-width:700px){
  .welcome h1{font-size:clamp(44px,15vw,67px)}
  .map-panel h1{max-width:calc(100% - 90px)}
  .map-panel h1 br{display:block}
  .map-panel h1 em{display:block}
  .phase-label{padding:7px 8px;gap:5px}.phase-label .phase-index{font-size:18px}.phase-label b{font-size:8px}.phase-label small{font-size:6px}
}
