@font-face{font-family:InterVariable;src:url('./assets/fonts/InterVariable.woff2') format('woff2');font-display:swap}@font-face{font-family:FMStreet;src:url('./assets/fonts/BarlowCondensed-SemiBold.ttf') format('truetype');font-weight:600;font-display:block}
:root{--green:#173e30;--cream:#f5f2e9;--ink:#20362c;--muted:#637166;--line:#d9ded2;--gold:#dac58e}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:14px InterVariable,Arial,sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:'cv02','cv03','cv04','cv11','ss01','ss03';overflow:hidden}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #c49a43;outline-offset:4px}button{border:0;background:none;color:inherit}button[hidden],a[hidden],[hidden]{display:none!important}a{color:inherit}.site-header{position:relative;z-index:20;height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 42px;border-bottom:1px solid #d8dece;background:var(--cream)}.brand{display:flex;align-items:center;gap:14px;padding:0;text-align:left}.brand-symbol{font:600 30px FMStreet,sans-serif;display:flex;align-items:center;justify-content:center;gap:2px;width:51px;height:51px;border:1px solid var(--green);border-radius:50%;letter-spacing:-2px}.brand-symbol span{font:italic 20px Georgia;letter-spacing:-1px}.brand-name{font:500 24px Georgia,serif;letter-spacing:-.7px}.brand-name>span{display:block;font:10px InterVariable,sans-serif;letter-spacing:1.15px;margin-top:7px}.site-header nav{display:flex;gap:29px;align-items:center}.site-header nav button{padding:12px 0;font-weight:500}.site-header nav button:hover,.text-link:hover{color:#927234}.count{border:1px solid #cbd5c7;border-radius:20px;padding:2px 6px;font-size:10px;margin-left:3px}.tour-button{border:1px solid var(--green);border-radius:5px;padding:13px 18px;display:flex;gap:30px;align-items:center}.tour-button:hover,.secondary:hover{background:#e7ebdf}#experience{isolation:isolate;position:relative;height:calc(100dvh - 138px);min-height:440px;overflow:hidden;background:#748d73}#map,#poster,#world,#pins,.hero-shade{position:absolute;inset:0;width:100%;height:100%}#poster{background:center/cover url('./assets/web/neighborhood.webp')}#world{display:block;opacity:0;touch-action:none}.ready #world{opacity:1}.hero-shade{pointer-events:none;background:linear-gradient(90deg,rgba(10,33,23,.9),rgba(17,36,24,.5) 30%,transparent 68%)}.welcome{position:absolute;z-index:2;left:5.2%;top:50%;transform:translateY(-50%);color:var(--cream);max-width:570px}.eyebrow{font-size:11px;font-weight:500;letter-spacing:1.6px;margin:0 0 16px}.welcome .eyebrow{color:#dfd9b9}.welcome h1{font:500 clamp(48px,5.7vw,90px)/1.02 Georgia,serif;letter-spacing:-4px;margin:0 0 25px;text-wrap:balance}.intro{font-size:16px;line-height:1.7;color:#e4e7db;margin:0 0 32px;text-wrap:pretty}.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:20px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 19px;border-radius:5px;text-decoration:none;font-weight:500;min-height:45px}.primary{background:var(--green);color:var(--cream);border:1px solid var(--green)}.primary:hover{background:#28543f}.welcome .primary{background:var(--cream);border-color:var(--cream);color:var(--green)}.welcome .primary:hover{background:#e5ddc3}.text-link{padding:0;text-align:left;text-decoration:underline;text-underline-offset:6px;line-height:1.5}.small-note{font-size:11px;color:#c5cdb9;margin-top:43px}.map-controls{position:absolute;z-index:5;right:28px;bottom:26px;display:flex;gap:4px;align-items:center;padding:7px;background:var(--cream);border-radius:7px;box-shadow:0 5px 30px #162d2625}.icon-button{font:400 25px/1 InterVariable,Arial;display:grid;place-items:center;width:38px;height:38px;border-radius:4px;flex-shrink:0}.icon-button:hover{background:#e0e6d9}.map-controls>span{height:20px;width:1px;background:var(--line);margin:0 3px}.map-controls label{font-size:11px;color:var(--muted);padding-left:10px}.map-controls select{border:0;color:var(--green);background:transparent;padding:8px 4px;font-size:12px}.map-help{position:absolute;z-index:3;bottom:30px;left:5.2%;color:#fff9e8;display:flex;gap:9px;align-items:center;font-size:11px;text-shadow:0 1px 4px #173323}.live-dot{height:6px;width:6px;background:#e9d58d;border-radius:50%;flex-shrink:0}.site-footer{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:10px;color:#657362;border-top:1px solid #d8dece}.site-footer p{letter-spacing:1.6px}.site-footer button{font-size:10px}.map-heading{position:absolute;left:34px;top:32px;background:#f5f2e9ed;padding:24px 28px;border-radius:6px;max-width:340px}.map-heading h1{font:500 32px Georgia;margin:0 0 20px;letter-spacing:-1px}.map-heading .eyebrow{margin-bottom:8px;color:var(--muted)}.exploring .welcome,.exploring .hero-shade{display:none}.exploring .map-help{background:#183b30dc;padding:11px 14px;border-radius:5px;left:28px;bottom:26px;text-shadow:none}.panel{position:absolute;top:20px;bottom:20px;z-index:10;background:var(--cream);box-shadow:0 15px 60px #132e3340;border:1px solid #e1e4d8;border-radius:9px;overflow:auto;overscroll-behavior:contain}.directory{left:22px;width:365px;display:flex;flex-direction:column;padding:24px 20px 13px}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.panel h2{font:500 29px Georgia;letter-spacing:-.7px;margin:0;text-wrap:balance}.panel .eyebrow{font-size:10px;color:#717d6e;margin-bottom:9px}.search{display:flex;align-items:center;gap:9px;border:1px solid #ccd5c7;border-radius:5px;padding:11px 12px;background:#fffdf6;margin-top:24px}.search svg{width:17px;height:17px;stroke:var(--muted);stroke-width:1.5;fill:none}.search input{border:0;outline:none;background:transparent;width:100%;min-width:0;color:var(--ink);font-size:13px}.filters{display:flex;flex-wrap:wrap;gap:7px;padding:16px 0 0}.filters button{padding:7px 10px;border:1px solid #ccd4c4;border-radius:20px;font-size:11px;white-space:nowrap}.filters button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--cream)}.filters button:hover{border-color:var(--green)}.results-count{font-size:11px;color:var(--muted);margin:18px 0 7px}.business-list{flex:1;overflow-y:auto;min-height:120px}.business-row{display:flex;align-items:center;gap:13px;width:100%;padding:14px 0;border-bottom:1px solid var(--line);text-align:left}.business-row:hover{background:#e8eddf}.business-row img{width:72px;height:63px;border-radius:4px;object-fit:cover;background:#b4c0a6}.business-row .row-copy{flex:1;min-width:0}.business-row h3{font:500 17px Georgia;margin:0 0 6px}.business-row p{font-size:11px;color:var(--muted);margin:0}.row-arrow{font-size:19px;color:#71816e}.empty{padding:30px 10px;line-height:1.7;color:var(--muted)}.directory-note{font-size:10px;color:#7b8675;margin:14px 0 0}.detail{right:22px;width:360px}.detail>img{width:100%;height:190px;object-fit:cover;background:#94a68a;display:block}.detail-close{position:absolute;right:12px;top:12px;background:var(--cream);box-shadow:0 2px 8px #0002}.detail-body{padding:25px}.detail h2{font-size:35px}.detail-kind{font-size:12px;color:#947b45;margin:10px 0 21px}.detail-body>p:not(.eyebrow):not(.detail-kind):not(.listing-note){line-height:1.75;color:#516150}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.tags span{font-size:10px;padding:6px 8px;border:1px solid var(--line);border-radius:4px}.detail-actions{display:flex;gap:8px}.detail-actions button{font-size:12px;padding:12px;flex:1;gap:7px}.secondary{border:1px solid #c9d2c2;background:transparent;color:var(--green)}.place-story{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.place-story h3{font:500 19px Georgia;margin:0 0 10px}.place-story p{font-size:12px;line-height:1.7;color:#65705f}.listing-note{font-size:10px;line-height:1.65;color:#7b8575;border-top:1px solid var(--line);padding-top:16px;margin:19px 0}.detail .text-link{font-size:12px}.directory-open .map-heading,.detail-open .map-heading{display:none}.detail-open .map-controls{right:402px}.directory-open .map-help{left:407px}.pin{position:absolute;pointer-events:auto;transform:translate(-50%,-100%);padding:0;display:flex;align-items:center;flex-direction:column;gap:5px;filter:drop-shadow(0 3px 8px #0c261c60)}.pin>span{display:grid;place-items:center;min-width:31px;height:31px;border-radius:50%;background:var(--cream);border:2px solid var(--green);color:var(--green);font-size:11px;font-weight:600}.pin small{background:var(--green);color:var(--cream);padding:5px 8px;border-radius:4px;font-size:10px;white-space:nowrap;display:none}.pin:hover small,.pin:focus-visible small,.pin[aria-pressed=true] small{display:block}.pin[aria-pressed=true]>span{background:var(--gold);border-color:var(--cream);width:37px;height:37px}#pins{pointer-events:none;display:none}.exploring #pins{display:block}.touring #pins{display:none}#tour-controls{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);z-index:12;background:var(--cream);padding:8px 12px;border-radius:6px;display:flex;align-items:center;gap:18px}#tour-progress{width:160px;height:5px;accent-color:var(--green)}.touring .welcome,.touring .hero-shade,.touring .map-heading,.touring .map-help,.touring .map-controls{display:none}#toast{position:absolute;bottom:87px;left:50%;transform:translateX(-50%);z-index:40;background:var(--green);color:var(--cream);border-radius:5px;padding:12px 18px;font-size:12px;box-shadow:0 4px 18px #14271c30;pointer-events:none;opacity:0}#toast.visible{opacity:1}dialog{width:min(580px,calc(100% - 32px));max-height:90dvh;border:0;border-radius:10px;padding:46px;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#0c2c20a8;backdrop-filter:blur(5px)}dialog>.icon-button{position:absolute;right:15px;top:15px}dialog h2{font:500 43px/1.1 Georgia;letter-spacing:-1.5px;margin:22px 0}dialog p{line-height:1.8;color:#52634f}dialog h3{font:500 19px Georgia}.about-note{margin:27px 0;padding-top:18px;border-top:1px solid var(--line)}.about-note p{font-size:12px}.skip-link{position:fixed;top:-60px;left:20px;z-index:100;background:var(--cream);padding:12px}.skip-link:focus{top:12px}.no-webgl{position:fixed;bottom:15%;left:10%;right:10%;z-index:50;background:var(--cream);padding:20px}.error .map-controls,.error #pins{display:none}
@media(min-width:1600px){.welcome{left:7%}.directory{width:390px}.detail{width:385px}}
@media(max-width:1000px){.site-header{padding:0 23px;height:80px}.site-header nav{gap:16px}.brand-name{font-size:20px}.brand-name>span{font-size:8px}.brand-symbol{width:43px;height:43px}.site-header nav button{font-size:12px}.tour-button{font-size:12px;gap:12px;padding:11px}#experience{height:calc(100dvh - 119px)}.site-footer{padding:0 23px;height:39px}.welcome h1{font-size:62px}.welcome{left:5%;max-width:450px}.detail-open .map-controls{right:20px;bottom:20px}.detail{width:330px}.directory{width:330px}.directory-open .map-help{display:none}.detail-open .directory{display:none}}
@media(max-width:650px){body{font-size:16px}.site-header{height:75px;padding:0 17px;gap:10px}.brand-name{font-size:19px}.brand-name>span{font-size:8px;letter-spacing:.6px}.brand-symbol{width:38px;height:38px;font-size:25px}.brand{gap:8px}.site-header nav{gap:0}.site-header nav button{font-size:13px;padding:14px 8px}.site-header nav #nav-explore,.site-header nav #nav-about,.site-header .tour-button,.count{display:none}#experience{height:calc(100dvh - 111px);min-height:450px}.site-footer{height:36px;padding:0 17px;font-size:9px}.site-footer>span{display:none}.site-footer p{letter-spacing:.8px}.site-footer button{font-size:9px}.welcome{left:24px;right:24px;top:auto;bottom:130px;transform:none;max-width:360px}.welcome h1{font-size:56px;letter-spacing:-2.6px;margin-bottom:17px}.intro{font-size:16px;line-height:1.55;margin-bottom:24px}.welcome .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:14px}.hero-shade{background:linear-gradient(0deg,#123021ed,rgba(18,48,33,.85) 34%,rgba(18,48,33,.25) 80%,transparent)}.hero-actions{gap:15px}.hero-actions button{font-size:14px;min-height:42px}.small-note{display:none}.map-help{left:24px;bottom:19px;font-size:10px}.map-controls{right:18px;bottom:48px;padding:4px}.map-controls .icon-button{width:34px;height:34px}.map-controls label{display:none}.map-controls select{font-size:12px}.map-heading{top:19px;left:18px;padding:17px 20px;max-width:255px}.map-heading h1{font-size:27px;margin-bottom:15px}.map-heading .primary{font-size:13px;padding:10px 12px;min-height:39px}.panel{top:auto;left:9px;right:9px;bottom:9px;width:auto;max-height:62%;border-radius:12px}.directory{padding:21px 19px 14px}.directory h2{font-size:29px}.directory .search{margin-top:18px}.search input{font-size:16px}.filters{padding-top:14px;gap:6px}.filters button{font-size:12px;padding:7px 9px}.business-row h3{font-size:19px}.business-row p{font-size:13px}.business-row img{width:67px;height:61px}.business-list{min-height:100px}.panel .eyebrow{font-size:11px}.detail>img{height:155px}.detail-body{padding:23px}.detail h2{font-size:33px}.detail-body>p:not(.listing-note):not(.eyebrow){font-size:16px}.detail .detail-kind{font-size:14px!important}.place-story p{font-size:16px}.detail-actions button{font-size:14px}.detail .text-link{font-size:15px}.listing-note{font-size:12px}.detail-open .map-controls,.directory-open .map-controls,.detail-open .map-help,.directory-open .map-help{display:none}.tags span{font-size:12px}.exploring .map-help{left:18px;bottom:10px;font-size:10px;padding:8px 10px}.pin>span{min-width:32px;height:32px}.pin small{font-size:10px}dialog{padding:31px 25px}dialog h2{font-size:36px}.about-note p{font-size:14px}#tour-controls{width:calc(100% - 32px);gap:10px}#tour-controls button{font-size:13px}#tour-progress{width:80px}#toast{max-width:90%;width:max-content;font-size:13px;bottom:30px}.results-count{margin-top:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.detail-close{position:sticky;top:12px;right:auto;margin:12px 12px -50px auto;z-index:2}

.detail-actions{flex-wrap:wrap}#lab-motion-detail{flex-basis:100%;font-size:13px;padding:10px 15px}#lab-motion{font-size:19px}

/* Official logo: transparent artwork retains its internal white details. */
.brand-logo{display:block;width:108px;height:76px;object-fit:contain;flex-shrink:0}
@media(max-width:1000px){.brand-logo{width:85px;height:60px}}
@media(max-width:650px){.brand-logo{width:76px;height:54px}.brand-name{font-size:17px}.brand-name>span{font-size:7px}}
@media(max-width:370px){.brand-name{display:none}.brand-logo{width:82px;height:58px}}

/* The four named destinations remain legible while exploring and touring. */
.pin small{display:block;max-width:190px;white-space:normal;text-align:center;line-height:1.3}.pin[data-status="Coming soon"]>span{border-style:dashed}
.touring #pins{display:block}.status-badge{display:inline-block;background:#ede3c8;color:#65512d;border:1px solid #d8c69c;border-radius:20px;padding:7px 12px;font-size:12px!important}
#tour-caption{position:absolute;left:28px;top:24px;z-index:10;background:#f5f2e9ed;border:1px solid #ffffff8a;padding:18px 24px;border-radius:8px;max-width:420px;pointer-events:none}#tour-caption .eyebrow{margin-bottom:8px;font-size:10px}#tour-caption h2{font:500 29px/1.15 Georgia,serif;margin:0;letter-spacing:-.5px}
@media(max-width:650px){#tour-caption{left:14px;top:14px;max-width:calc(100% - 28px);padding:13px 16px}#tour-caption h2{font-size:22px}.pin small{max-width:116px;font-size:9px}.site-header .tour-button{display:flex;font-size:0;padding:9px;gap:0}.site-header .tour-button span{font-size:19px}.site-header .brand-name{display:none}.site-header nav{margin-left:auto}.site-header{gap:6px}}
