/* Venture Realty walkthrough tour */
html,body{margin:0;height:100%;background:#0d1626}
.vrlt{font-family:'Public Sans',sans-serif;color:#3E4F63;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
.vrlt *{box-sizing:border-box}
#vrlt-app{position:fixed;inset:0;background:#fff;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}
.vrlt button{font-family:inherit;cursor:pointer}
.t-empty{max-width:520px;margin:15vh auto;padding:24px;background:#fff;text-align:center;font-family:'Public Sans',sans-serif}
.t-empty h1{font-family:'EB Garamond',serif;color:#032250}
.t-eyebrow{display:flex;align-items:center;gap:10px;margin:0;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#4B801F}
.t-eyebrow::before{content:"";width:18px;height:2px;background:#63A829;flex:none}

.t-head{display:flex;align-items:center;gap:24px;padding:14px 26px;border-bottom:1px solid #D8DFE4}
.t-logo{height:40px;width:auto;flex:none}
.t-logo-txt{font-family:Archivo,sans-serif;font-stretch:112%;color:#032250;font-size:18px}
.t-addr{flex:1;min-width:0}
.t-addr h1{font-family:'EB Garamond',serif;font-weight:400;font-size:24px;line-height:1.1;color:#032250;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-addr h1 span{font-size:17px;color:#8697A8;margin-left:10px}
.t-levels{display:flex;gap:6px;flex:none}
.t-levels button{min-height:44px;padding:0 16px;border:1px solid #D8DFE4;background:#fff;color:#3E4F63;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.t-levels button.is-inc{border-color:#63A829;color:#4B801F}
.t-levels button.is-on{background:#032250;border-color:#032250;color:#fff}

.t-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);min-height:0}
.t-mapwrap{background:#F2F5F6;padding:18px 22px;display:flex;flex-direction:column;gap:12px;min-height:0}
.t-maphead{display:flex;justify-content:space-between;align-items:center;gap:12px}
.t-lvname{font-family:Archivo,sans-serif;font-stretch:112%;font-weight:700;font-size:20px;color:#032250;margin:0}
.t-hint{font-size:12px;color:#8697A8;margin:2px 0 0}
.t-toggle{display:flex;border:1px solid #D8DFE4;background:#fff}
.t-toggle button{border:0;background:#fff;color:#3E4F63;min-height:40px;padding:0 14px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.t-toggle button.is-on{background:#032250;color:#fff}

.t-stage{position:relative;flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;perspective:1600px;perspective-origin:50% 30%;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;
  background-color:#F8FAFB;background-image:linear-gradient(rgba(3,34,80,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(3,34,80,.05) 1px,transparent 1px);background-size:22px 22px;border:1px solid #E3E8EC;
  --yaw:-30deg;--pitch:56deg;--zoom:.9;--px:0px;--py:0px}
.t-stage.is-2d{cursor:move}
.t-plane{position:relative;flex:none;transform-style:preserve-3d;transform:translate(var(--px),var(--py)) rotateX(var(--pitch)) rotateZ(var(--yaw)) scale(var(--zoom))}
.t-tiles{position:absolute;inset:0;transform-style:preserve-3d}
.t-shadow{position:absolute;left:-5%;top:-5%;width:110%;height:110%;background:rgba(3,34,80,.14);filter:blur(26px);transform:translateZ(-3px);pointer-events:none}
.t-tile{position:absolute;transform-style:preserve-3d;cursor:pointer;--z:18px}
.t-tile.is-sel{--z:34px}
.t-tile.no-walls,.is-2d .t-tile{--z:0px}
.t-floor{position:absolute;inset:0;border:1px solid rgba(3,34,80,.16);transition:background-color .3s,box-shadow .3s}
.ty-wood .t-floor,.ty-wood.t-nophoto,.t-legend i.ty-wood{background-color:#E9DDC9;background-image:repeating-linear-gradient(90deg,rgba(140,100,50,.07) 0 2px,transparent 2px 9px)}
.ty-neutral .t-floor,.ty-neutral.t-nophoto{background-color:#EDE8E1}
.ty-tile .t-floor,.ty-tile.t-nophoto,.t-legend i.ty-tile{background-color:#E3EAEE;background-image:linear-gradient(rgba(3,34,80,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(3,34,80,.07) 1px,transparent 1px);background-size:8px 8px}
.ty-concrete .t-floor,.ty-concrete.t-nophoto,.t-legend i.ty-concrete{background-color:#DDE1E4}
.ty-stone .t-floor,.ty-stone.t-nophoto{background-color:#E2DCD0;background-image:linear-gradient(rgba(90,70,40,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(90,70,40,.08) 1px,transparent 1px);background-size:14px 14px}
.ty-grass .t-floor,.ty-grass.t-nophoto{background-color:#D6E6C6;background-image:repeating-linear-gradient(0deg,rgba(75,128,31,.08) 0 6px,transparent 6px 12px)}
.ty-water .t-floor,.ty-water.t-nophoto{background-color:#D3E5EE}
.ty-card .t-floor,.ty-card.t-nophoto{background-color:#fff}
.t-tile.is-sel .t-floor{background:#032250 linear-gradient(135deg,rgba(255,255,255,.08),transparent 60%);border-color:#63A829;box-shadow:0 0 0 2px #63A829,0 0 28px rgba(99,168,41,.55)}
.is-2d .t-floor{border:4px solid #032250}
.is-2d .no-walls .t-floor{border:1px solid rgba(3,34,80,.2)}
.is-2d .t-tile.is-sel .t-floor{box-shadow:inset 0 0 0 3px #63A829;border-color:#032250}

.t-wall{position:absolute;background:#F4F7F9;border:0 solid #032250;opacity:.97;transition:height .5s,width .5s}
.t-wall.n,.t-wall.s{left:0;width:100%;height:var(--z);border-bottom-width:2px;transform-origin:top;transform:rotateX(90deg)}
.t-wall.n{top:0}
.t-wall.s{top:100%;background:linear-gradient(#E4EAEF,#F7F9FB)}
.t-wall.w,.t-wall.e{top:0;height:100%;width:var(--z);border-right-width:2px;transform-origin:left;transform:rotateY(-90deg)}
.t-wall.w{left:0}
.t-wall.e{left:100%;background:linear-gradient(90deg,#EDF1F4,#fff)}
.is-sel .t-wall{background:linear-gradient(rgba(3,34,80,.95),rgba(5,48,110,.9));border-color:#63A829}
.no-walls .t-wall,.is-2d .t-wall{display:none}

.t-lwrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform-style:preserve-3d;pointer-events:none}
.t-label{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:2px 4px;transform:translateZ(calc(var(--z) + 8px)) rotateZ(calc(var(--yaw) * -1)) rotateX(calc(var(--pitch) * -1))}
.is-sel .t-label{transform:translateZ(calc(var(--z) + 26px)) rotateZ(calc(var(--yaw) * -1)) rotateX(calc(var(--pitch) * -1))}
.t-name{font-family:Archivo,sans-serif;font-stretch:112%;font-weight:600;font-size:11px;line-height:1.1;color:#032250;max-width:100px;text-shadow:0 0 3px #fff,0 0 6px #fff,0 1px 0 #fff}
.t-d{font-size:10px;font-weight:600;color:#5f6b7c;display:none}
.t-pin{background:#63A829;color:#fff;font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 6px;white-space:nowrap}
.is-sel .t-name{font-size:14px;font-weight:700;color:#fff;background:#032250;padding:5px 9px;white-space:nowrap;max-width:none;text-shadow:none;box-shadow:0 6px 16px rgba(3,34,80,.35)}
.is-sel .t-d{display:block;color:#8FD34F;background:#032250;padding:0 9px 4px}
.is-2d .t-label{max-width:calc(100% - 10px)}
.is-2d .t-name{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;text-shadow:none;overflow-wrap:anywhere;max-width:100%}
.is-2d .is-narrow .t-name{font-size:9px;letter-spacing:0}
.is-2d .t-d{display:block}
.is-2d .is-short .t-d{display:none}
.is-2d .is-sel .t-name{background:none;box-shadow:none;padding:0;white-space:normal;font-size:10.5px}
.is-2d .is-sel .t-d{background:none;padding:0}

.t-gesture{position:absolute;left:14px;bottom:14px;font-size:11px;color:#3E4F63;background:rgba(255,255,255,.88);padding:6px 10px;border:1px solid #E3E8EC;pointer-events:none}
.t-ctrls{position:absolute;right:12px;bottom:12px;display:flex;gap:6px}
.t-ctrls button{width:42px;height:42px;border:1px solid #D8DFE4;background:#fff;color:#032250;font-size:17px;font-weight:600;box-shadow:0 2px 6px rgba(3,34,80,.08)}
.t-ctrls .t-wide{width:auto;padding:0 12px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.t-mapfoot{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:12px;flex-wrap:wrap}
.t-legend{display:flex;align-items:center;gap:6px}
.t-legend i{width:12px;height:12px;display:inline-block;margin-left:8px}
.t-legend i.t-here{background:#032250;box-shadow:0 0 0 2px #63A829}

.t-panel{display:flex;flex-direction:column;min-height:0;border-left:1px solid #D8DFE4}
.t-photo{height:34%;min-height:200px;flex:none;background:#D8DFE4}
.t-photo img{width:100%;height:100%;object-fit:cover;display:block}
.t-nophoto{width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:22px 28px;background:#032250 linear-gradient(135deg,rgba(255,255,255,.06),transparent 55%)}
.t-nophoto span{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#8FD34F}
.t-nophoto span::before{content:"";width:18px;height:2px;background:#63A829}
.t-nophoto b{font-family:Archivo,sans-serif;font-stretch:112%;font-weight:700;font-size:30px;line-height:1.05;color:#fff}
.t-info{flex:1;min-height:0;overflow:auto;padding:22px 28px 18px}
.t-title{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.t-title h3{font-family:Archivo,sans-serif;font-stretch:112%;font-weight:700;font-size:28px;line-height:1.05;color:#032250;margin:0}
.t-dims{text-align:right;flex:none}
.t-dims b{display:block;font-family:Archivo,sans-serif;font-stretch:112%;font-size:20px;color:#032250}
.t-dims small{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#8697A8}
.t-lede{font-family:'EB Garamond',serif;font-size:19px;line-height:1.4;color:#032250;margin:10px 0 0}
.t-listlabel{margin-top:18px;color:#032250}
.t-list{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.t-list li{display:flex;gap:10px;font-size:15px;line-height:1.4}
.t-list li::before{content:"";flex:none;width:6px;height:6px;background:#63A829;margin-top:8px}
.t-nav{flex:none;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #D8DFE4}
.t-nav button{border:0;padding:16px 20px;min-height:64px;text-align:left;background:#fff}
.t-nav button small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8697A8}
.t-nav button b{display:block;font-size:15px;color:#032250;margin-top:3px}
.t-nav .t-prev{border-right:1px solid #D8DFE4}
.t-nav .t-next{background:#032250;text-align:right}
.t-nav .t-next small{color:#8FD34F}
.t-nav .t-next b{color:#fff}

.t-foot{background:#032250;color:#fff;display:flex;align-items:center;gap:20px;padding:12px 26px}
.t-foot span{flex:1;font-size:14px}
.t-foot em{font-style:normal;color:#8FD34F}
.t-foot b{font-family:Archivo,sans-serif;font-stretch:112%;font-size:18px}
.t-send{background:#63A829;border:0;color:#fff;min-height:44px;padding:0 18px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}

.t-modal{position:fixed;inset:0;background:rgba(3,34,80,.55);display:flex;align-items:center;justify-content:center;z-index:10}
.t-modal[hidden]{display:none}
.t-modal form{background:#fff;width:min(440px,92vw);padding:26px;display:grid;gap:12px}
.t-modal h3{font-family:Archivo,sans-serif;font-stretch:112%;color:#032250;margin:0;font-size:22px}
.t-modal p{margin:0;font-size:14px}
.t-modal label{display:grid;gap:5px}
.t-modal label span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8697A8}
.t-modal input{border:1px solid #D8DFE4;padding:13px;font-size:16px;font-family:inherit}
.t-modal-btns{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}
.t-cancel{border:1px solid #D8DFE4;background:#fff;min-height:44px;padding:0 18px}
.t-ok{border:0;background:#032250;color:#fff;min-height:44px;padding:0 22px;font-weight:600}
.t-hp{position:absolute;left:-9999px}

@media (max-width:900px){
  .t-body{grid-template-columns:1fr;grid-template-rows:minmax(360px,1fr) auto;overflow:auto}
  .t-panel{border-left:0;border-top:1px solid #D8DFE4}
  .t-head{flex-wrap:wrap}.t-levels{overflow:auto;max-width:100%}
  .t-foot span{display:none}
}
.t-cards{display:none}
.t-stage.is-cards{cursor:default;touch-action:auto;background-image:none;background:#F8FAFB}
.t-stage.is-cards .t-plane,.t-stage.is-cards .t-ctrls,.t-stage.is-cards .t-gesture{display:none}
.t-stage.is-cards .t-cards{display:grid;position:absolute;inset:0;overflow:auto;padding:18px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;align-content:start}
.is-cards .t-toggle,.is-cards .t-legend{display:none}
.t-card{display:flex;flex-direction:column;gap:10px;text-align:left;background:#fff;border:1px solid #D8DFE4;padding:16px 16px 14px;min-height:150px;color:#3E4F63;transition:border-color .2s,box-shadow .2s}
.t-card:hover{border-color:#8697A8}
.t-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.t-card-top b{font-family:Archivo,sans-serif;font-stretch:112%;font-size:16px;line-height:1.15;color:#032250}
.t-card-top em{font-style:normal;font-family:Archivo,sans-serif;font-stretch:112%;font-weight:700;font-size:22px;color:#4B801F}
.t-card-list{font-size:12.5px;line-height:1.5}
.t-card-list i{font-style:normal;color:#8697A8}
.t-card.is-sel{background:#032250;border-color:#032250;box-shadow:0 0 0 2px #63A829}
.t-card.is-sel b{color:#fff}.t-card.is-sel em{color:#8FD34F}.t-card.is-sel .t-card-list{color:#c9d3e2}
.t-floorline{display:flex;align-items:center;gap:8px;margin:8px 0 0;font-size:14px;color:#3E4F63}
.t-floorline span{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8697A8}
/* drawn plan */
.t-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;display:block}
.t-tiles{pointer-events:auto}
.pl-hit{cursor:pointer}
.pl-hit:hover{fill:rgba(99,168,41,.12)}
.pl-name{font-family:Archivo,sans-serif;font-stretch:112%;font-weight:700;letter-spacing:.06em;fill:#032250;text-anchor:middle;pointer-events:none}
.pl-dims{font-family:'Public Sans',sans-serif;font-weight:600;fill:#5f6b7c;text-anchor:middle;pointer-events:none}
.pl-name.is-sel{fill:#fff}.pl-dims.is-sel{fill:#8FD34F}
.pl-void{font-family:'Public Sans',sans-serif;font-weight:600;letter-spacing:.12em;fill:#8697A8;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.w3{position:absolute;display:block;pointer-events:none;backface-visibility:visible}
.w3.f{background:linear-gradient(#E9EEF2,#FBFCFD)}
.w3.f.v{background:linear-gradient(90deg,#E9EEF2,#FBFCFD)}
.w3.f.is-ext{background:linear-gradient(#DCE3E9,#F4F7F9)}
.w3.f.v.is-ext{background:linear-gradient(90deg,#DCE3E9,#F4F7F9)}
.w3.c{background:#032250}
.w3.f.is-rail{background:repeating-linear-gradient(90deg,rgba(3,34,80,.55) 0 2px,transparent 2px 9px);border-top:2px solid #032250}
.w3.f.v.is-rail{background:repeating-linear-gradient(0deg,rgba(3,34,80,.55) 0 2px,transparent 2px 9px);border-top:0;border-left:2px solid #032250}
.w3.c.is-rail{background:#5f7189}
.t-l3{position:absolute;width:0;height:0;transform-style:preserve-3d;pointer-events:none}
.t-l3 .t-label{position:absolute;left:0;top:0;translate:-50% -50%;transform:translateZ(var(--lz)) rotateZ(calc(var(--yaw) * -1)) rotateX(calc(var(--pitch) * -1));white-space:nowrap}
.t-l3 .t-name{font-size:11px;max-width:none}
.t-l3.is-sel .t-name{font-size:14px}
.t-legend{display:none}
.t-photo.is-empty{height:auto;min-height:0}
.t-photo.is-empty .t-nophoto{padding:16px 28px}
.t-head{min-width:0}
.t-levels{min-width:0;flex:0 1 auto;overflow-x:auto;scrollbar-width:none}
.t-levels::-webkit-scrollbar{display:none}
.t-body{min-width:0}
.t-stage{align-items:flex-start;padding-top:20px}
.t-gesture{max-width:calc(100% - 300px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-stage.is-cards .t-cards{grid-auto-rows:auto;align-items:start}
.t-card{height:auto;min-height:0}
.t-foot{min-width:0}
.t-foot span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1100px){.t-logo{height:32px}.t-addr h1 span{display:none}.t-levels button{padding:0 12px}.t-head{gap:16px;padding:12px 18px}}
.t-stage.is-cards{display:block;overflow:auto;padding:0}
.t-stage.is-cards .t-cards{position:static;inset:auto;overflow:visible;grid-auto-rows:max-content;align-content:start;min-height:100%;box-sizing:border-box}
.t-card{flex:none;align-self:start}
/* 3D model look */
.t-stage{background:radial-gradient(120% 90% at 50% 35%,#F7F9FB 0%,#E7ECF0 70%,#DCE3E9 100%)}
.t-stage.is-2d{background-color:#F8FAFB;background-image:linear-gradient(rgba(3,34,80,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(3,34,80,.045) 1px,transparent 1px);background-size:22px 22px}
.t-shadow{background:rgba(3,34,80,.28);filter:blur(30px);transform:translate3d(3%,5%,-14px)}
.is-2d .t-shadow{display:none}
.w3.f.h{background:linear-gradient(#C9D2DB,#F4F6F8 45%,#FFFFFF)}
.w3.f.v{background:linear-gradient(90deg,#C9D2DB,#F4F6F8 45%,#FFFFFF)}
.w3.f.h.is-ext{background:linear-gradient(#BCC6D0,#EEF1F4 45%,#FBFCFD)}
.w3.f.v.is-ext{background:linear-gradient(90deg,#BCC6D0,#EEF1F4 45%,#FBFCFD)}
.w3.c{background:#032250;box-shadow:0 0 0 .5px #021a3d}
.w3.f.h.is-rail{background:repeating-linear-gradient(90deg,#032250 0 2px,transparent 2px 10px);border-top:2px solid #032250}
.w3.f.v.is-rail{background:repeating-linear-gradient(0deg,#032250 0 2px,transparent 2px 10px);border-left:2px solid #032250}
.w3.base-top{background:#F1F4F6;box-shadow:inset 0 0 0 1px #D8DFE4}
.w3.f.base{background:#032250}
.w3.f.v.base{background:#05306e}
.t-l3 .t-label{gap:0}
.t-l3 .t-name{display:block;font-family:'Public Sans',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.02em;color:#032250;background:rgba(255,255,255,.94);padding:3px 7px;box-shadow:0 2px 6px rgba(3,34,80,.16);text-shadow:none;max-width:none;border-radius:2px}
.t-l3.is-sel .t-name{background:#032250;color:#fff;font-family:Archivo,sans-serif;font-stretch:112%;font-weight:700;font-size:14px;padding:6px 11px;box-shadow:0 8px 20px rgba(3,34,80,.35);border-radius:0}
.t-l3.is-sel .t-d{display:block;background:#032250;color:#8FD34F;font-size:10px;font-weight:600;padding:0 11px 5px;text-align:center}
.t-l3.is-sel .t-pin{margin-bottom:0}
.t-l3.is-sel .t-label::after{content:"";display:block;width:2px;height:22px;margin:0 auto;background:linear-gradient(#032250,rgba(3,34,80,0))}
/* 3D: elite block model */
@property --z{syntax:'<length>';inherits:true;initial-value:0px}
.t-stage{background:radial-gradient(90% 75% at 50% 42%,#FFFFFF 0%,#F2F5F8 55%,#E4EAEF 100%)}
.t-stage.is-2d{background:#F8FAFB;background-image:linear-gradient(rgba(3,34,80,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(3,34,80,.05) 1px,transparent 1px);background-size:22px 22px}
.t-shadow{left:2%;top:4%;width:100%;height:100%;background:rgba(3,34,80,.22);filter:blur(34px);transform:translateZ(-4px)}
.is-2d .t-shadow{display:none}
.t-blocks,.t-labels{position:absolute;inset:0;transform-style:preserve-3d}
.t-labels{pointer-events:none}
.b3{position:absolute;transform-style:preserve-3d;cursor:pointer;--z:20px;transition:--z .65s cubic-bezier(.2,.8,.25,1.12)}
.b3.is-mut{--z:5px;cursor:default}
.b3.is-stairs{--z:9px}
.b3.is-house{--z:28px;cursor:default}
.b3:not(.is-mut):not(.is-house):hover{--z:27px}
.b3.is-sel,.b3.is-sel:hover{--z:50px}
.t-blocks.is-enter .b3{animation:b3rise .95s cubic-bezier(.2,.8,.25,1.1) both;animation-delay:calc(var(--i) * 38ms)}
@keyframes b3rise{from{--z:0px;opacity:0}40%{opacity:1}}
.b3c{position:absolute;inset:0;box-sizing:border-box;transform:translateZ(var(--z));background:linear-gradient(135deg,#FFFFFF,#F1F4F7);box-shadow:inset 0 0 0 1px rgba(3,34,80,.10),inset 1px 1px 0 rgba(255,255,255,.9);transition:background .35s,box-shadow .35s}
.b3.ty-wood .b3c{background:linear-gradient(135deg,#FBF4E8,#EEDFC6)}
.b3.ty-neutral .b3c{background:linear-gradient(135deg,#F8F5F0,#ECE6DC)}
.b3.ty-tile .b3c{background:linear-gradient(135deg,#FAFCFD,#E6ECF0)}
.b3.ty-concrete .b3c{background:linear-gradient(135deg,#EEF1F3,#DCE1E5)}
.b3.ty-stone .b3c{background:linear-gradient(135deg,#F4EFE6,#E3DACA)}
.b3.ty-grass .b3c{background:linear-gradient(135deg,#E8F2DC,#D2E3BE)}
.b3.ty-water .b3c{background:linear-gradient(135deg,#E6F2F7,#C9E1EC)}
.b3.is-mut .b3c{background:repeating-linear-gradient(45deg,#E9EEF2 0 5px,#F2F5F7 5px 10px);box-shadow:inset 0 0 0 1px #DDE3E8}
.b3.is-stairs .b3c{background:repeating-linear-gradient(90deg,#EEF2F5 0 7px,#D9E0E6 7px 8px)}
.b3.is-house .b3c{background:linear-gradient(135deg,#DCE3EA,#C9D3DD)}
.b3.is-sel .b3c{background:linear-gradient(135deg,#0A3470,#032250);box-shadow:inset 0 0 0 2px #63A829,0 0 30px rgba(99,168,41,.55)}
.b3.is-next .b3c{animation:nextpulse 1.8s ease-in-out infinite}
@keyframes nextpulse{0%,100%{box-shadow:inset 0 0 0 2px rgba(99,168,41,.95),inset 1px 1px 0 #fff}50%{box-shadow:inset 0 0 0 2px rgba(99,168,41,.25),inset 1px 1px 0 #fff}}
.b3w{position:absolute;display:block}
.b3w.n,.b3w.s{left:0;width:100%;height:var(--z);transform-origin:top;transform:rotateX(90deg)}
.b3w.w,.b3w.e{top:0;height:100%;width:var(--z);transform-origin:left;transform:rotateY(-90deg)}
.b3w.n{top:0;background:linear-gradient(#C4CFDA,#E3E9EE)}
.b3w.s{top:100%;background:linear-gradient(#8C9FB3,#B9C6D3)}
.b3w.w{left:0;background:linear-gradient(90deg,#C4CFDA,#E3E9EE)}
.b3w.e{left:100%;background:linear-gradient(90deg,#9FB0C2,#C8D2DC)}
.b3.ty-wood .b3w.s{background:linear-gradient(#A89272,#D3C1A3)}
.b3.ty-wood .b3w.e{background:linear-gradient(90deg,#B7A383,#DCCDB2)}
.b3.is-sel .b3w.n,.b3.is-sel .b3w.w{background:linear-gradient(#021a3d,#0A3470)}
.b3.is-sel .b3w.s,.b3.is-sel .b3w.e{background:#021530}
.b3.is-mut .b3w{background:#D3DBE2}
.t-l3{position:absolute;width:0;height:0;transform-style:preserve-3d;pointer-events:none}
.t-l3 .t-label{position:absolute;left:0;top:0;translate:-50% -50%;display:flex;flex-direction:column;align-items:center;gap:3px;white-space:nowrap;transform:translateZ(var(--lz)) rotateZ(calc(var(--yaw) * -1)) rotateX(calc(var(--pitch) * -1))}
.t-l3 .t-name{display:block;background:none;box-shadow:none;padding:0;max-width:none;font-family:Archivo,sans-serif;font-stretch:112%;font-weight:600;font-size:11.5px;letter-spacing:.01em;color:#032250;text-shadow:0 1px 0 rgba(255,255,255,.95),0 0 6px rgba(255,255,255,.9)}
.t-l3.is-sel .t-label{animation:tagin .45s cubic-bezier(.2,.8,.25,1.2) both}
@keyframes tagin{from{opacity:0;translate:-50% -20%}to{opacity:1;translate:-50% -50%}}
.t-l3.is-sel .t-name{background:#032250;color:#fff;font-size:15px;font-weight:700;padding:7px 12px 6px;text-shadow:none;box-shadow:0 10px 24px rgba(3,34,80,.38);border-bottom:2px solid #63A829}
.t-l3.is-sel .t-d{display:block;margin-top:-3px;background:#032250;color:#8FD34F;font-size:10.5px;font-weight:600;letter-spacing:.06em;padding:0 12px 6px;box-shadow:0 10px 24px rgba(3,34,80,.25)}
.t-l3.is-sel .t-label::after{content:"";display:block;width:2px;height:16px;background:linear-gradient(#63A829,rgba(99,168,41,0))}
.t-l3 .t-pin{font-size:8px;padding:3px 7px;letter-spacing:.14em}
.t-nextchip{font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#4B801F;background:#fff;border:1px solid #63A829;padding:2px 6px}
.t-compass{position:absolute;top:14px;right:14px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.92);border:1px solid #D8DFE4;box-shadow:0 2px 8px rgba(3,34,80,.08);pointer-events:none}
.t-compass i{position:absolute;inset:6px;border-radius:50%;transform:rotate(var(--yaw));transition:transform .2s}
.t-compass i::before{content:"";position:absolute;left:50%;top:1px;margin-left:-5px;border:5px solid transparent;border-bottom:13px solid #032250;border-top:0}
.t-compass i::after{content:"";position:absolute;left:50%;bottom:1px;margin-left:-4px;border:4px solid transparent;border-top:11px solid #B8C4D2;border-bottom:0}
.t-compass b{position:absolute;left:50%;top:50%;translate:-50% -50%;font:700 9px Archivo,sans-serif;color:#4B801F;transform:rotate(calc(var(--yaw) * -1))}
.is-2d .t-compass{display:none}
.is-cards .t-compass{display:none}

.t-stays{margin-top:18px;padding:12px 14px;background:#F2F5F6}
.t-stays[hidden]{display:none}
.t-stays .t-eyebrow{color:#032250}
.t-stays ul{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:5px}
.t-stays li{font-size:14px;line-height:1.4;padding-left:16px;position:relative}
.t-stays li::before{content:"";position:absolute;left:0;top:6px;width:8px;height:4px;border-left:2px solid #4B801F;border-bottom:2px solid #4B801F;transform:rotate(-45deg)}
/* ===== v1 tile look, flat or raised ===== */
.t-mapwrap{background:#F2F5F6}
.t-stage,.t-stage.is-2d{border:0;background:transparent;background-image:none}
.t-stage:not(.is-2d){background:radial-gradient(90% 75% at 50% 42%,#FFFFFF 0%,#F2F5F6 70%)}
.t-stage.is-2d{align-items:flex-start;padding-top:0}
.is-2d .t-shadow{display:none}
.b3{--z:22px}
.is-2d .b3,.is-2d .b3.is-sel,.is-2d .b3:hover{--z:0px}
.b3.is-mut{--z:6px}
.b3.is-house{--z:26px}
.b3.is-sel,.b3.is-sel:hover{--z:52px}
.b3:not(.is-mut):not(.is-house):hover{--z:28px}
.b3.is-sel:hover{--z:52px}
.b3c,.b3.ty-wood .b3c,.b3.ty-neutral .b3c,.b3.ty-tile .b3c,.b3.ty-concrete .b3c,.b3.ty-stone .b3c,.b3.ty-grass .b3c,.b3.ty-water .b3c{background:#fff;box-shadow:inset 0 0 0 1px #D8DFE4}
.b3:not(.is-mut):not(.is-sel):hover .b3c{box-shadow:inset 0 0 0 1px #8697A8}
.b3.is-sel .b3c{background:#032250;box-shadow:0 6px 18px rgba(3,34,80,.25)}
.is-2d .b3.is-sel .b3c{box-shadow:0 6px 18px rgba(3,34,80,.25)}
.b3.is-mut .b3c{background:repeating-linear-gradient(45deg,#E6EBEE 0 6px,#EFF2F3 6px 12px);box-shadow:inset 0 0 0 1px #D8DFE4}
.b3.is-house .b3c{background:#DCE3E9}
.b3w.n,.b3w.w{background:linear-gradient(#C4CFDA,#E3E9EE)}
.b3w.w{background:linear-gradient(90deg,#C4CFDA,#E3E9EE)}
.b3w.s{background:linear-gradient(#93A5B8,#BCC8D4)}
.b3w.e{background:linear-gradient(90deg,#A6B5C5,#CCD5DF)}
.b3.ty-wood .b3w.s{background:linear-gradient(#93A5B8,#BCC8D4)}
.b3.ty-wood .b3w.e{background:linear-gradient(90deg,#A6B5C5,#CCD5DF)}
.is-2d .b3w{display:none}
.b3l{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:8px 10px;overflow:hidden;color:#032250;font-family:'Public Sans',sans-serif;pointer-events:none}
.b3l b{font-family:Archivo,sans-serif;font-stretch:112%;font-weight:600;font-size:13px;line-height:1.15;overflow-wrap:anywhere}
.b3l small{font-size:11px;opacity:.75;margin-top:2px}
.b3.is-sel .b3l{color:#fff}
.b3.is-mut .b3l{color:#8697A8}
.b3pin{display:none;position:absolute;top:6px;right:6px;background:#63A829;color:#fff;font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 6px}
.b3.is-sel .b3pin{display:block}
.t-stage:not(.is-2d) .b3l{display:none}
.t-blocks.is-enter .b3{animation:b3rise .8s cubic-bezier(.2,.8,.25,1.1) both;animation-delay:calc(var(--i) * 30ms)}
.is-2d .t-blocks.is-enter .b3{animation:none}
.t-key{display:flex;align-items:center;gap:8px;font-size:12px;color:#3E4F63}
.t-key i{width:12px;height:12px;background:#fff;border:1px solid #D8DFE4;margin-left:10px;display:inline-block}
.t-key i.is-sel{background:#032250;border-color:#032250;margin-left:0}
.t-mapfoot{font-size:12px;color:#3E4F63}
.t-l3 .t-label{translate:-50% -100%;transform-origin:50% 100%;padding-bottom:2px}
.t-l3.is-sel .t-label{animation:tagin2 .45s cubic-bezier(.2,.8,.25,1.2) both}
@keyframes tagin2{from{opacity:0;translate:-50% -70%}to{opacity:1;translate:-50% -100%}}
.t-l3.is-sel .t-label::after{display:none}
.t-l3 .t-name{line-height:1.25;padding-bottom:1px}
.t-stage.is-cards .t-cards.is-facts{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.t-fact{min-height:0;gap:12px}
.t-fact-rows{display:grid;gap:0}
.t-fact-rows span{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px;padding:7px 0;border-top:1px solid #EEF1F3;align-items:baseline}
.t-fact-rows small{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8697A8;line-height:1.35}
.t-fact-rows em{font-style:normal;font-size:14px;line-height:1.35;color:#032250;font-weight:600;text-wrap:pretty}
.t-card.is-sel .t-fact-rows span{border-color:rgba(255,255,255,.14)}
.t-card.is-sel .t-fact-rows small{color:#8FD34F}.t-card.is-sel .t-fact-rows em{color:#fff}
