:root{
  --bg:#f7f8fa;
  --surface:#fff;
  --text:#111827;
  --muted:#667085;
  --line:#e4e7ec;
  --shadow:0 14px 38px rgba(16,24,40,.08);
  --red:#ef3340;
  --blue:#2563eb;
  --green:#16a34a;
  --orange:#f59e0b;
  --purple:#7c3aed;
  --slate:#64748b;
  --max:1180px;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-soft:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,#fff 0,#f8f9fb 45%,#f5f7fa 100%)}
button,a{font:inherit}button{color:inherit}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb,#2563eb 28%,transparent);outline-offset:3px}

.topbar{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(228,231,236,.85)}
.topbar-inner{height:86px;max-width:var(--max);margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.brand img{width:188px;height:auto;display:block}.brand span{font-size:12px;color:#7b8190;letter-spacing:.01em;margin-left:2px}
.explore-button{border:0;background:transparent;display:flex;align-items:center;gap:12px;font-weight:700;cursor:pointer;padding:10px;border-radius:12px;transition:background .18s ease,transform .28s var(--ease-out)}
.explore-button:hover{background:#f2f4f7;transform:translateY(-1px)}
.hamburger{width:24px;display:grid;gap:4px}.hamburger i{height:2px;border-radius:3px;background:#111827;display:block}

.page-shell{max-width:var(--max);margin:0 auto;padding:52px 28px 84px}
.page-head{display:block;margin-bottom:28px}.page-title-block{min-width:0}
.eyebrow{font-size:15px;font-weight:800;letter-spacing:.08em;margin:0 0 6px;color:#475467}
.page-head h1{font-size:58px;line-height:.95;letter-spacing:-.055em;margin:0}.head-line{margin:12px 0 0;color:var(--muted);font-size:19px}

/* Desktop “What is this?” stays on one rail so opening it does not move the directory. */
.about-wrap{height:62px;margin-top:24px;display:flex;align-items:stretch;width:100%;overflow:visible}
.about-toggle{flex:0 0 176px;border:1px solid var(--line);background:rgba(255,255,255,.9);border-radius:14px;padding:0 14px;display:grid;grid-template-columns:27px minmax(0,1fr) 18px;gap:9px;align-items:center;text-align:left;font-weight:760;cursor:pointer;box-shadow:0 4px 18px rgba(16,24,40,.035);transition:transform .32s var(--ease-out),box-shadow .2s ease,border-color .2s ease,background .2s ease}
.about-toggle:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(16,24,40,.07);border-color:#cfd5dd;background:#fff}
.about-icon{width:26px;height:26px;border-radius:50%;border:1.5px solid #667085;display:grid;place-items:center;font-family:Georgia,serif;font-weight:700;color:#475467}
.about-chevron{font-size:24px;line-height:1;text-align:center;transition:transform .5s var(--ease-out)}
.about-wrap.is-open .about-chevron{transform:rotate(180deg)}
.about-panel{height:62px;width:0;min-width:0;margin-left:0;border:1px solid transparent;border-radius:14px;background:rgba(255,255,255,.96);overflow:hidden;opacity:0;transform:translateX(-14px) scaleX(.985);transform-origin:left center;pointer-events:none;display:flex;align-items:center;gap:18px;padding:0;box-shadow:0 4px 18px rgba(16,24,40,.025);transition:width .56s var(--ease-out),margin-left .56s var(--ease-out),opacity .3s ease,transform .56s var(--ease-out),border-color .25s ease,padding .56s var(--ease-out)}
.about-wrap.is-open .about-panel{width:calc(100% - 188px);margin-left:12px;padding:8px 10px 8px 18px;border-color:var(--line);opacity:1;transform:none;pointer-events:auto}
.about-panel p{min-width:0;flex:1;font-size:13px;line-height:1.42;color:#525f70;margin:0}.about-panel strong{color:#111827}
.got-it{flex:0 0 auto;border:0;background:#111827;color:#fff;border-radius:10px;padding:9px 14px;font-weight:780;cursor:pointer;white-space:nowrap;transition:transform .28s var(--ease-out),background .18s ease}.got-it:hover{background:#253047;transform:translateY(-1px)}

.directory-zone{position:relative}.desktop-feature:empty{display:none}.desktop-feature{margin-bottom:16px}
.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.directory-item{position:relative;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.92);min-height:122px;overflow:hidden;box-shadow:0 1px 2px rgba(16,24,40,.03);transition:transform .32s var(--ease-out),box-shadow .28s ease,border-color .28s ease,opacity .28s ease,background .28s ease;will-change:transform}
.directory-item:hover{transform:translateY(-3px) scale(1.008);box-shadow:0 16px 32px rgba(16,24,40,.09);border-color:#cfd5dd;background:#fff}
.directory-item.is-unavailable .floor-main{cursor:default}.directory-item.is-unavailable .enter-arrow{color:#c5cad2}.directory-item.is-unavailable:hover .enter-arrow{transform:none;color:#c5cad2}
.directory-row{min-height:122px;padding:21px 22px;display:grid;grid-template-columns:minmax(0,1fr) 38px 24px;gap:16px;align-items:center}
.floor-main{min-width:0;border:0;background:transparent;padding:0;display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:center;text-align:left;cursor:pointer;color:inherit}
.floor-main:focus-visible{border-radius:14px}
.floor-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 9%,white);color:var(--accent)}
.floor-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.floor-copy{min-width:0}.floor-topline{display:flex;align-items:center;gap:8px;margin-bottom:4px;min-height:18px}.floor-number{display:block;color:#98a2b3;font-weight:800;font-size:12px;letter-spacing:.07em}.floor-name{display:block;font-size:23px;font-weight:800;line-height:1.1;letter-spacing:-.025em}.floor-tagline{display:block;margin-top:5px;font-size:13px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.info-button{width:38px;height:38px;border:1px solid #d7dce3;background:#fff;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-family:Georgia,serif;font-weight:700;font-size:18px;color:#667085;transition:transform .28s var(--ease-out),background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.info-button:hover,.info-button[aria-expanded="true"]{transform:scale(1.07);background:#f2f4f7;border-color:#aeb6c2;color:#344054;box-shadow:0 4px 12px rgba(16,24,40,.07)}
.enter-control{display:grid;place-items:center}.enter-arrow{display:block;font-size:30px;color:#667085;transition:transform .36s var(--ease-out),color .2s ease}.directory-item:hover .enter-arrow{transform:translateX(4px);color:#111827}.mobile-enter-button{display:none}

.status-pill{display:inline-flex;align-items:center;gap:7px;width:max-content;border-radius:999px;padding:6px 9px;border:1px solid;font-size:10px;font-weight:850;letter-spacing:.055em;line-height:1;white-space:nowrap}
.status-compact{font-size:9px;padding:4px 7px;gap:5px}
.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 11%,transparent)}
.status-open{color:#18794e;background:#f1fbf6;border-color:#bfe5d0}.status-building{color:#175cd3;background:#eff6ff;border-color:#bfd7ff}.status-soon{color:#8a6116;background:#fff9eb;border-color:#f1d8a0}.status-planned{color:#667085;background:#f8fafc;border-color:#dfe3e8}

.feature-card{--accent:#ef3340;border:1.5px solid color-mix(in srgb,var(--accent) 52%,#d0d5dd);border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,white),#fff 68%);box-shadow:0 22px 60px rgba(16,24,40,.12);overflow:hidden;will-change:transform}
.feature-top{padding:24px 26px 19px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:18px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--accent) 15%,#edf0f3)}
.feature-top .floor-icon{width:58px;height:58px;border-radius:18px}.feature-top .floor-icon svg{width:34px;height:34px}.feature-top .floor-name{font-size:31px}.feature-top .floor-number{font-size:13px}.feature-top .floor-tagline{font-size:14px;margin-top:6px}
.feature-close{width:42px;height:42px;border-radius:50%;border:1px solid #d0d5dd;background:rgba(255,255,255,.9);cursor:pointer;font-size:23px;line-height:1;transition:transform .3s var(--ease-out),background .18s ease}.feature-close:hover{transform:scale(1.07) rotate(2deg);background:#fff}
.feature-body{padding:22px 26px 26px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;animation:featureDetailsIn .42s .18s both var(--ease-out)}
.feature-copy{max-width:820px}.feature-summary{margin:0;color:#344054;font-size:18px;line-height:1.58}.feature-detail{margin:9px 0 0;color:#667085;font-size:14px;line-height:1.55}
.feature-actions{display:flex;gap:10px;align-items:center}.go-button,.close-text{border-radius:12px;padding:12px 17px;font-weight:800;cursor:pointer;text-decoration:none;white-space:nowrap}.go-button{border:1px solid var(--accent);background:var(--accent);color:#fff;transition:transform .3s var(--ease-out),filter .15s ease,box-shadow .2s ease}.go-button:hover{transform:translateY(-2px);filter:brightness(.97);box-shadow:0 10px 20px color-mix(in srgb,var(--accent) 20%,transparent)}.go-button.is-disabled{border-color:#d0d5dd;background:#eef1f4;color:#98a2b3;cursor:not-allowed;box-shadow:none;filter:none;transform:none}.close-text{border:1px solid #d0d5dd;background:#fff;color:#344054;transition:background .18s ease,transform .3s var(--ease-out)}.close-text:hover{background:#f8fafc;transform:translateY(-1px)}

/* Mobile detail content always stays in the DOM; opening only reveals the measured content area. */
.inline-panel-shell{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .52s var(--ease-out),opacity .28s ease}
.inline-panel{min-height:0;overflow:hidden;margin:0 12px;border-top:1px solid transparent;transition:border-color .24s ease}
.inline-content{padding:0 2px;opacity:0;transform:translateY(-8px);transition:opacity .26s ease,transform .46s var(--ease-out),padding .46s var(--ease-out)}
.is-mobile-open .inline-panel-shell{grid-template-rows:1fr;opacity:1}.is-mobile-open .inline-panel{border-top-color:#edf0f3}.is-mobile-open .inline-content{padding:14px 2px 16px;opacity:1;transform:none;transition-delay:.05s,0s,0s}
.inline-kicker{margin:0 0 7px;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.105em;text-transform:uppercase}.inline-summary{font-size:13.5px;line-height:1.55;color:#273444;margin:0;max-width:66ch}.inline-detail-block{margin-top:12px;padding:10px 11px;border-radius:11px;background:#f7f8fa;display:grid;gap:3px}.inline-detail-block strong{font-size:11px;letter-spacing:.025em;color:#344054}.inline-detail-block span{font-size:12px;line-height:1.48;color:#667085}.inline-actions{display:flex;gap:8px;align-items:center;margin-top:13px;flex-wrap:wrap}.inline-go,.inline-close{border-radius:10px;padding:9px 12px;font-weight:800;font-size:13px;cursor:pointer}.inline-go{border:1px solid var(--accent);background:var(--accent);color:white;min-width:108px}.inline-close{border:1px solid #d0d5dd;background:white;color:#475467}.inline-not-open{font-size:11px;line-height:1.4;color:#667085;font-weight:700;margin-right:auto}

.drawer-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:39;backdrop-filter:blur(2px);animation:backdropIn .22s ease both}
.drawer{position:fixed;right:0;top:0;bottom:0;width:min(390px,92vw);background:#fff;z-index:40;transform:translateX(102%);transition:transform .42s var(--ease-out);box-shadow:-22px 0 55px rgba(15,23,42,.18);border-left:1px solid var(--line)}.drawer.is-open{transform:translateX(0)}
.drawer-header{height:86px;padding:0 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.drawer-header div{display:flex;flex-direction:column;gap:2px}.drawer-header strong{font-size:20px}.drawer-header span{font-size:12px;color:#98a2b3}.drawer-close{border:0;background:transparent;font-size:34px;cursor:pointer;color:#344054}
.drawer-row{min-height:76px;padding:13px 20px;display:grid;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:13px;border-bottom:1px solid #eef0f3;text-decoration:none;color:#111827;cursor:pointer;transition:background .18s ease,opacity .18s ease}.drawer-row:hover{background:#f8fafc}.drawer-row.is-disabled{cursor:default;opacity:.68}.drawer-row .floor-icon{width:36px;height:36px;border-radius:11px}.drawer-row .floor-icon svg{width:23px;height:23px}.drawer-copy{min-width:0}.drawer-row strong{display:block;font-size:17px}.drawer-row small{display:inline-block;color:#98a2b3;font-weight:700;font-size:11px;margin-right:8px}.drawer-row em{font-style:normal;color:#667085;font-size:9px;font-weight:850;letter-spacing:.05em}.drawer-row .arrow{font-size:25px;color:#98a2b3}
body.drawer-open{overflow:hidden}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,18px) scale(.98);opacity:0;pointer-events:none;background:#111827;color:#fff;padding:11px 15px;border-radius:12px;box-shadow:0 14px 32px rgba(15,23,42,.22);z-index:60;font-size:14px;transition:opacity .22s ease,transform .38s var(--ease-out);max-width:min(520px,calc(100vw - 32px));text-align:center}.toast.show{opacity:1;transform:translate(-50%,0) scale(1)}

@keyframes featureDetailsIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes backdropIn{from{opacity:0}to{opacity:1}}

@media(max-width:720px){
  body{background:#fff}.topbar-inner{height:64px;padding:0 15px}.brand{gap:0}.brand img{width:136px}.brand span{font-size:10px;max-width:205px;white-space:nowrap}.explore-label{display:none}.explore-button{padding:8px}
  .page-shell{padding:24px 14px 48px}.page-head{display:block;margin-bottom:16px}.eyebrow{font-size:12px;margin-bottom:4px}.page-head h1{font-size:35px;letter-spacing:-.045em}.head-line{font-size:14px;margin-top:6px}
  .about-wrap{height:auto;margin-top:15px;display:block}.about-toggle{width:100%;min-height:50px;padding:10px 12px;grid-template-columns:25px minmax(0,1fr) 20px;font-size:14px;border-radius:13px}.about-icon{width:24px;height:24px}.about-chevron{font-size:21px}
  .about-panel{width:100%;height:auto;max-height:0;margin:0;border-width:0;border-radius:13px;display:flex;align-items:flex-start;gap:10px;flex-direction:column;padding:0 12px;opacity:0;transform:translateY(-8px);transition:max-height .5s var(--ease-out),margin-top .5s var(--ease-out),padding .5s var(--ease-out),opacity .25s ease,transform .5s var(--ease-out),border-width .12s ease;pointer-events:none}
  .about-wrap.is-open .about-panel{width:100%;max-height:170px;margin-top:7px;padding:11px 12px;border:1px solid var(--line);opacity:1;transform:none;pointer-events:auto}.about-panel p{font-size:13px;line-height:1.48}.got-it{font-size:13px;padding:8px 12px}
  .desktop-feature{display:none!important}.directory-grid{grid-template-columns:1fr;gap:8px}.directory-item{min-height:0;border-radius:14px;overflow:hidden}.directory-item:hover{transform:none;box-shadow:0 1px 2px rgba(16,24,40,.03)}.directory-item.is-mobile-open{border-color:#cfd5dd;background:#fff;box-shadow:0 10px 28px rgba(16,24,40,.07)}.directory-item.is-mobile-open::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}
  .directory-row{height:auto;min-height:78px;padding:10px 10px 10px 11px;grid-template-columns:minmax(0,1fr) 33px auto;gap:8px}.directory-item.is-unavailable .directory-row{grid-template-columns:minmax(0,1fr) 33px}.directory-item.is-unavailable .enter-control{display:none}.floor-main{grid-template-columns:36px minmax(0,1fr);gap:10px;min-height:56px}.floor-icon{width:36px;height:36px;border-radius:11px}.floor-icon svg{width:23px;height:23px}.floor-topline{gap:6px;margin-bottom:2px;min-height:15px}.floor-number{font-size:10px}.status-compact{font-size:7.5px;padding:3px 6px;letter-spacing:.045em}.status-compact .status-dot{width:5px;height:5px;box-shadow:none}.floor-name{font-size:17px;line-height:1.08}.floor-tagline{font-size:11px;margin-top:3px;line-height:1.3;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.info-button{width:31px;height:31px;font-size:15px}.enter-control{display:block}.enter-arrow{display:none}.mobile-enter-button{display:inline-grid;place-items:center;min-width:56px;height:32px;padding:0 9px;border:1px solid #111827;border-radius:9px;background:#111827;color:#fff;font-size:11px;font-weight:850;cursor:pointer;transition:transform .26s var(--ease-out),background .18s ease}.mobile-enter-button:active{transform:scale(.96)}
  .drawer-header{height:64px;padding:0 17px}.drawer-row{min-height:68px;padding:11px 16px}
  .toast{bottom:18px;font-size:13px}
}

@media(max-width:380px){
  .brand span{display:none}.page-shell{padding-left:11px;padding-right:11px}.directory-row{gap:7px}.floor-main{grid-template-columns:34px minmax(0,1fr);gap:8px}.floor-icon{width:34px;height:34px}.mobile-enter-button{min-width:52px;padding:0 7px}.floor-tagline{max-width:none}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
