*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{--white:#ffffff;--off-white:rgba(255,255,255,0.8);--accent:#c8a96e;--dark:#080808;--light-bg:#f7f5f2;}
html,body{width:100%;height:100%;overflow:hidden;background:#000;font-family:"Montserrat",sans-serif;}

/* PAGES */
.page{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;transition:opacity 0.7s ease,transform 0.7s ease;overflow:hidden;}
.page.hidden{display:none !important;opacity:0;pointer-events:none;}
.page.visible{opacity:1;pointer-events:all;}

/* ══ HERO ══ */
#page-hero{overflow:hidden;}
#bg-img{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover;object-position:center;z-index:0;animation:kenBurns 24s ease-in-out infinite alternate;}
@keyframes kenBurns{0%{transform:scale(1.08) translate(80px,0px);}50%{transform:scale(1.12) translate(0px,-6px);}100%{transform:scale(1.08) translate(-80px,4px);}}
.veil{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.42) 0%,rgba(0,0,0,.10) 40%,rgba(0,0,0,.58) 100%);z-index:1;}

/* SHARED NAV */
nav{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:36px 52px;z-index:10;}
.logo{font-family:"Montserrat",sans-serif;font-weight:200;font-size:13px;letter-spacing:0.35em;color:var(--white);text-transform:uppercase;opacity:0;animation:fadeDown 1s 0.4s forwards;}
.menu-btn{display:flex;flex-direction:column;gap:6px;cursor:pointer;padding:6px;background:none;border:none;opacity:0;animation:fadeDown 1s 0.6s forwards;}
.menu-btn span{display:block;width:28px;height:1.5px;background:var(--white);transition:all 0.35s ease;transform-origin:center;}
.menu-btn.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.menu-btn.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.menu-btn.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
.center-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5;text-align:center;gap:18px;}
.main-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(3rem,8vw,7.5rem);color:var(--white);letter-spacing:0.12em;line-height:1;text-transform:uppercase;opacity:0;transform:translateY(24px);animation:riseIn 1.2s 0.8s cubic-bezier(0.16,1,0.3,1) forwards;}
.divider-line{width:0;height:1px;background:var(--accent);animation:expandLine 1s 1.6s ease forwards;}
.sub-label{font-family:"Montserrat",sans-serif;font-weight:300;font-size:clamp(0.65rem,1.5vw,0.85rem);letter-spacing:0.5em;color:var(--off-white);text-transform:uppercase;opacity:0;animation:fadeUp 1s 1.8s ease forwards;}
.bottom-bar{position:absolute;bottom:0;left:0;right:0;padding:32px 52px;display:flex;align-items:flex-end;justify-content:space-between;z-index:5;opacity:0;animation:fadeUp 1s 2.2s ease forwards;}
.bottom-address{font-size:10px;letter-spacing:0.3em;color:rgba(255,255,255,0.5);text-transform:uppercase;line-height:1.8;}
.inquire-btn{font-family:"Montserrat",sans-serif;font-weight:300;font-size:10px;letter-spacing:0.35em;text-transform:uppercase;color:var(--white);border:1px solid rgba(255,255,255,0.35);padding:14px 32px;cursor:pointer;background:transparent;transition:background 0.3s,border-color 0.3s;}
.inquire-btn:hover{background:var(--accent);border-color:var(--accent);}

/* ══ OVERVIEW ══ */
#page-overview{overflow:hidden;background:#000;}
#ov-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
.ov-veil{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,0.78) 0%,rgba(0,0,0,0.3) 55%,rgba(0,0,0,0.1) 100%);z-index:1;}
.ov-nav{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:36px 52px;z-index:10;}
.ov-logo{font-family:"Montserrat",sans-serif;font-weight:200;font-size:13px;letter-spacing:0.35em;color:var(--white);text-transform:uppercase;}
.back-btn{font-family:"Montserrat",sans-serif;font-weight:300;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.6);background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;transition:color 0.2s;}
.back-btn:hover{color:var(--white);}
.ov-content{position:absolute;left:0;top:0;bottom:0;width:48%;display:flex;flex-direction:column;justify-content:center;padding:100px 64px 80px 64px;z-index:5;}
.ov-eyebrow{font-size:9px;letter-spacing:0.5em;text-transform:uppercase;color:var(--accent);margin-bottom:24px;}
.ov-headline{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.15;color:var(--white);margin-bottom:12px;}
.ov-headline em{font-style:italic;color:var(--accent);}
.ov-tagline{font-size:11px;letter-spacing:0.18em;color:rgba(255,255,255,0.55);text-transform:uppercase;margin-bottom:48px;line-height:1.8;}
.ov-stats{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:48px;}
.ov-stat{padding:24px 0;border-top:1px solid rgba(255,255,255,0.12);padding-right:24px;}
.ov-stat:nth-child(odd){border-right:1px solid rgba(255,255,255,0.12);padding-right:32px;}
.ov-stat:nth-child(even){padding-left:32px;}
.ov-stat-num{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(1.8rem,3vw,2.8rem);color:var(--white);line-height:1;margin-bottom:6px;}
.ov-stat-num span{font-size:0.55em;color:var(--accent);letter-spacing:0.1em;}
.ov-stat-label{font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.45);line-height:1.6;}
.ov-points{display:flex;flex-direction:column;gap:12px;}
.ov-point{display:flex;align-items:flex-start;gap:14px;font-size:11px;letter-spacing:0.08em;color:rgba(255,255,255,0.65);line-height:1.7;}
.ov-point-dot{width:4px;height:4px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:6px;}
.ov-cta{position:absolute;bottom:48px;right:52px;z-index:5;}
.ov-cta-btn{font-family:"Montserrat",sans-serif;font-weight:300;font-size:10px;letter-spacing:0.35em;text-transform:uppercase;color:var(--white);border:1px solid rgba(255,255,255,0.35);padding:14px 32px;cursor:pointer;background:transparent;transition:background 0.3s,border-color 0.3s;}
.ov-cta-btn:hover{background:var(--accent);border-color:var(--accent);}

/* ══ LOCATION PAGE ══ */
/* ══ LOCATION PAGE ══ */
/* DESKTOP: map full-screen, panel floats left */
#page-location {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  background: #0a0a0a;
  display: flex;
  flex-direction: column;
}

/* Map fills entire page */
.loc-map-area {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1;
}
#loc-map {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

/* Panel floats as overlay on left */
.loc-panel {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 380px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  background: #fff;
  box-shadow: 4px 0 32px rgba(0,0,0,0.14);
  overflow: hidden;
}
.loc-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 28px;
  border-bottom: 1px solid rgba(0,0,0,0.07);
  flex-shrink: 0;
}
.loc-logo { font-family: "Montserrat",sans-serif; font-weight: 200; font-size: 11px; letter-spacing: 0.35em; color: #1a1a1a; text-transform: uppercase; }
.loc-back { font-family: "Montserrat",sans-serif; font-weight: 300; font-size: 9px; letter-spacing: 0.3em; text-transform: uppercase; color: #888; background: none; border: none; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.loc-back:hover { color: #1a1a1a; }
.loc-header { padding: 22px 28px 14px; flex-shrink: 0; }
.loc-eyebrow { font-size: 8px; letter-spacing: 0.45em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; }
.loc-title { font-family: "Cormorant Garamond",serif; font-weight: 300; font-size: 1.7rem; line-height: 1.1; color: #1a1a1a; margin-bottom: 4px; }
.loc-sub { font-size: 9px; letter-spacing: 0.2em; color: #aaa; text-transform: uppercase; }
.loc-cats {
  display: flex;
  gap: 0;
  padding: 0 28px;
  overflow-x: auto;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  flex-shrink: 0;
  scrollbar-width: none;
}
.loc-cats::-webkit-scrollbar { display: none; }
.cat-tab {
  font-family: "Montserrat",sans-serif;
  font-size: 8px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #aaa;
  padding: 13px 12px;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  cursor: pointer;
  background: none;
  border-left: none; border-right: none; border-top: none;
  transition: color 0.2s, border-color 0.2s;
}
.cat-tab:hover { color: #555; }
.cat-tab.active { color: var(--accent); border-bottom-color: var(--accent); }
.loc-list {
  flex: 1;
  overflow-y: auto;
  padding: 6px 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,0.12) transparent;
}
.place-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 28px;
  cursor: pointer;
  transition: background 0.2s;
  border-left: 3px solid transparent;
}
.place-item:hover { background: rgba(200,169,110,0.06); }
.place-item.active { background: rgba(200,169,110,0.1); border-left-color: var(--accent); }
.place-icon { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; }
.place-info { flex: 1; min-width: 0; }
.place-name { font-size: 12px; font-weight: 400; color: #1a1a1a; margin-bottom: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.place-meta { font-size: 9px; letter-spacing: 0.15em; color: #aaa; text-transform: uppercase; }
.place-dist { font-size: 9px; color: var(--accent); letter-spacing: 0.1em; flex-shrink: 0; }

/* Place card — floats above map, centered bottom */
.place-card {
  position: absolute;
  bottom: 32px;
  left: calc(380px + 50%);
  transform: translateX(-50%) translateY(16px);
  background: #fff;
  padding: 22px 26px;
  min-width: 300px;
  max-width: 400px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.2);
  z-index: 20;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s, transform 0.3s;
}
.place-card.show { opacity: 1; pointer-events: all; transform: translateX(-50%) translateY(0); }
.card-close { position: absolute; top: 12px; right: 14px; font-size: 20px; background: none; border: none; color: #aaa; cursor: pointer; }
.card-close:hover { color: #333; }
.card-cat { font-size: 8px; letter-spacing: 0.4em; text-transform: uppercase; color: var(--accent); margin-bottom: 6px; }
.card-name { font-family: "Cormorant Garamond",serif; font-size: 1.2rem; font-weight: 300; color: #1a1a1a; margin-bottom: 4px; }
.card-addr { font-size: 10px; color: #999; margin-bottom: 10px; }
.card-desc { font-size: 11px; line-height: 1.7; color: #555; margin-bottom: 16px; }
.card-actions { display: flex; gap: 10px; }
.card-btn { font-family: "Montserrat",sans-serif; font-size: 8px; letter-spacing: 0.25em; text-transform: uppercase; padding: 10px 18px; cursor: pointer; border: 1px solid rgba(0,0,0,0.15); background: none; color: #555; transition: all 0.2s; }
.card-btn.primary { background: var(--accent); border-color: var(--accent); color: #fff; }
.card-btn:hover { background: #1a1a1a; border-color: #1a1a1a; color: #fff; }

/* ── MOBILE: top half panel, bottom half map ── */
@media (max-width: 900px) {
  #page-location {
    display: block !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    height: 100vh;
    height: 100dvh;
  }

  .loc-panel {
    position: relative;
    width: 100%;
    height: 50%;
    box-shadow: 0 2px 16px rgba(0,0,0,0.10);
  }

  .loc-map-area {
    position: relative !important;
    width: 100% !important;
    height: 50% !important;
    flex-shrink: 0;
    min-height: 260px;
  }
  #loc-map {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    right: 0 !important; bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    filter: none !important;
  }

  .loc-nav { padding: 14px 18px; }
  .loc-header { padding: 12px 18px 8px; }
  .loc-title { font-size: 1.3rem !important; }
  .loc-sub { display: none; }
  .loc-cats { padding: 0 14px; }
  .cat-tab { padding: 10px 10px; font-size: 8px; }
  .place-item { padding: 10px 18px; }
  .place-name { font-size: 12px; }

  /* Mobile place card: bottom sheet */
  .place-card {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    transform: translateY(16px) !important;
    min-width: unset;
    max-width: 100%;
    width: 100%;
    border-radius: 14px 14px 0 0;
    padding: 20px 20px 36px !important;
    box-sizing: border-box;
    z-index: 999 !important;
  }
  .place-card.show {
    transform: translateY(0) !important;
  }
  .card-name { font-size: 1.1rem !important; }
  .card-desc { font-size: 12px !important; }
  .card-btn { padding: 12px 20px !important; font-size: 10px !important; }
}

@media (max-width: 480px) {
  .loc-panel { height: 52%; }
  .loc-map-area { height: 48%; }
}
.card-close:hover{color:#1a1a1a;}

/* ══ INQUIRE PAGE ══ */
#page-inquire{background:var(--light-bg);display:flex;flex-direction:column;overflow-y:auto;}
.inq-nav{position:sticky;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:28px 52px;background:var(--light-bg);z-index:10;border-bottom:1px solid rgba(0,0,0,0.07);}
.inq-logo{font-family:"Montserrat",sans-serif;font-weight:200;font-size:12px;letter-spacing:0.35em;color:#1a1a1a;text-transform:uppercase;}
.inq-back-btn{font-family:"Montserrat",sans-serif;font-weight:300;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:#666;background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;transition:color 0.2s;}
.inq-back-btn:hover{color:#1a1a1a;}
.inq-body{display:grid;grid-template-columns:1fr;flex:1;min-height:0;max-width:720px;margin:0 auto;width:100%;}
.inq-left{padding:48px 52px 32px;display:flex;flex-direction:column;justify-content:flex-start;border-right:none;border-bottom:1px solid rgba(0,0,0,0.08);}
.inq-eyebrow{font-size:9px;letter-spacing:0.45em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;}
.inq-headline{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;color:#1a1a1a;margin-bottom:24px;}
.inq-headline em{font-style:italic;}
.inq-divider{width:48px;height:1px;background:var(--accent);margin-bottom:32px;}
.inq-tagline{font-size:11px;letter-spacing:0.25em;text-transform:uppercase;color:#888;line-height:2;margin-bottom:40px;}
.inq-details{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 32px;}
.inq-detail-row{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:0.08em;color:#555;}
.inq-detail-row::before{content:"";display:block;width:20px;height:1px;background:var(--accent);flex-shrink:0;}
.inq-right{padding:36px 52px 64px;display:flex;flex-direction:column;justify-content:flex-start;background:#fff;}
.form-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:1.5rem;letter-spacing:0.05em;color:#1a1a1a;margin-bottom:32px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group.full{grid-column:1/-1;}
.form-group label{font-size:9px;letter-spacing:0.35em;text-transform:uppercase;color:#999;}
.form-group input,.form-group textarea,.form-group select{background:transparent;border:none;border-bottom:1px solid #d0ccc6;padding:10px 0;font-size:13px;font-family:"Montserrat",sans-serif;font-weight:300;color:#1a1a1a;outline:none;transition:border-color 0.25s;width:100%;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-bottom-color:var(--accent);}
.form-group textarea{resize:none;height:70px;}
.radio-group{display:flex;gap:24px;padding:8px 0;}
.radio-group label{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:0.1em;color:#555;cursor:pointer;text-transform:none;}
.radio-group input[type="radio"]{accent-color:var(--accent);width:14px;height:14px;}
.submit-btn{margin-top:28px;padding:16px 0;background:#1a1a1a;color:#fff;border:none;cursor:pointer;font-family:"Montserrat",sans-serif;font-weight:300;font-size:10px;letter-spacing:0.4em;text-transform:uppercase;transition:background 0.3s;width:100%;}
.submit-btn:hover{background:var(--accent);}
#form-status{margin-top:12px;font-size:11px;letter-spacing:0.15em;text-align:center;min-height:18px;}
#form-status.ok{color:#5a8a5a;}
#form-status.err{color:#c0392b;}

/* ══ MENU OVERLAY ══ */
.menu-overlay{position:fixed;inset:0;background:rgba(8,18,30,0.52);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:100;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding-right:10vw;gap:8px;pointer-events:none;opacity:0;transition:opacity 0.4s ease;}
.menu-overlay::before{content:"";position:absolute;inset:0;background:url("../images/image_002.jpg") center/cover no-repeat;z-index:-1;filter:brightness(0.42) saturate(1.15);}
.menu-overlay.open{opacity:1;pointer-events:all;}
.menu-overlay a{font-family:"Cormorant Garamond",serif;font-size:clamp(1.4rem,2.8vw,2.4rem);font-weight:300;color:var(--white);text-decoration:none;letter-spacing:0.06em;position:relative;transition:color 0.25s;text-align:right;}
.menu-overlay a::after{content:"";position:absolute;bottom:-4px;right:0;width:0;height:1px;background:var(--accent);transition:width 0.35s ease;}
.menu-overlay a:hover{color:var(--accent);}
.menu-overlay a:hover::after{width:100%;}
.menu-close-btn{position:absolute;top:36px;right:52px;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:6px;}
.menu-close-btn span{display:block;width:28px;height:1.5px;background:var(--white);}
.menu-close-btn span:first-child{transform:translateY(7.5px) rotate(45deg);}
.menu-close-btn span:last-child{transform:translateY(-7.5px) rotate(-45deg);}
.menu-contact{position:absolute;bottom:28px;right:10vw;font-family:"Montserrat",sans-serif;font-weight:200;font-size:10px;letter-spacing:0.3em;color:rgba(255,255,255,0.45);text-transform:uppercase;}

/* ══ SIGN VISIBILITY CAROUSEL ══ */
.vis-scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:0.4em;text-transform:uppercase;color:rgba(255,255,255,0.4);z-index:5;animation:bounce 2s ease-in-out infinite;}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(6px);}}

.sv-section{background:#0a0a0a;padding:0 0 0;}
.sv-header{padding:56px 80px 40px;border-top:1px solid rgba(255,255,255,0.07);}
.sv-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:2.2rem;color:#fff;margin-bottom:12px;}
.sv-sub{font-size:12px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.45);max-width:720px;}

.sv-carousel-wrap{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;max-height:75vh;background:#000;}
.sv-carousel{display:flex;width:100%;height:100%;transition:none;}
.sv-slide{flex-shrink:0;width:100%;height:100%;position:relative;}
.sv-slide img{width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity 0.8s ease;}
.sv-slide-caption{position:absolute;bottom:0;left:0;right:0;padding:32px 64px;background:linear-gradient(transparent,rgba(0,0,0,0.8));}
.sv-slide-company{display:block;font-family:"Cormorant Garamond",serif;font-size:2rem;font-weight:300;color:#fff;margin-bottom:4px;}
.sv-slide-desc{display:block;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.5);}

.sv-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.4);border:1px solid rgba(255,255,255,0.2);color:#fff;font-size:36px;width:52px;height:64px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;line-height:1;z-index:10;}
.sv-nav:hover{background:rgba(200,169,110,0.6);}
.sv-prev{left:24px;}
.sv-next{right:24px;}
.sv-dots{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:10;}
.sv-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.35);border:none;cursor:pointer;padding:0;transition:background 0.2s,transform 0.2s;}
.sv-dot.active{background:var(--accent);transform:scale(1.4);}
.sv-counter{position:absolute;top:20px;right:24px;font-size:11px;letter-spacing:0.2em;color:rgba(255,255,255,0.5);z-index:10;}

.sv-thumbs{display:flex;gap:3px;padding:3px 0;background:#000;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap;}
.sv-thumbs::-webkit-scrollbar{display:none;}
.sv-thumb{flex-shrink:0;width:88px;height:58px;background-size:cover;background-position:center;cursor:pointer;opacity:0.5;transition:opacity 0.2s,outline 0.2s;outline:2px solid transparent;}
.sv-thumb.active{opacity:1;outline-color:var(--accent);}
.sv-thumb:hover{opacity:0.85;}

/* ══ VISIBILITY PAGE ══ */
.vis-video-wrap{position:relative;width:100%;height:100vh;overflow:hidden;flex-shrink:0;}
.vis-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.vis-video-veil{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,0.75) 0%,rgba(0,0,0,0.45) 60%,rgba(0,0,0,0.2) 100%);}
.vis-video-text{position:absolute;bottom:0;left:0;padding:0 80px 72px;z-index:5;max-width:720px;}
.vis-video-eyebrow{font-size:9px;letter-spacing:0.5em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;}
.vis-video-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(2.8rem,5vw,5rem);color:#fff;line-height:1.05;margin-bottom:24px;}
.vis-video-title em{font-style:italic;color:var(--accent);}
.vis-video-sub{font-size:13px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.6);max-width:580px;}

/* BRANDS */
.vis-brands-wrap{padding:80px 80px 60px;border-top:1px solid rgba(255,255,255,0.07);}
.vis-brands-eyebrow{font-size:9px;letter-spacing:0.5em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;}
.vis-brands-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:2.4rem;color:#fff;margin-bottom:14px;}
.vis-brands-sub{font-size:12px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.45);max-width:640px;margin-bottom:56px;}
.vis-logos-grid{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid rgba(255,255,255,0.07);border-left:1px solid rgba(255,255,255,0.07);}
.vis-logo-item{flex:1;min-width:180px;padding:36px 24px;display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(255,255,255,0.07);border-bottom:1px solid rgba(255,255,255,0.07);transition:background 0.3s;}
.vis-logo-item:hover{background:rgba(200,169,110,0.06);}
.vis-brands-note{margin-top:40px;font-size:12px;letter-spacing:0.08em;color:rgba(255,255,255,0.3);font-style:italic;}


/* ══ SURROUNDING TOWERS TAB ══ */
.tw-header{padding:32px 48px 16px;border-bottom:1px solid rgba(255,255,255,0.08);}
.tw-headline{font-family:"Cormorant Garamond",serif;font-size:1.6rem;color:#fff;font-weight:300;margin-bottom:6px;}
.tw-subline{font-size:11px;letter-spacing:0.25em;text-transform:uppercase;color:rgba(255,255,255,0.4);}
.tw-legend{display:flex;gap:16px;margin-top:12px;}
.tw-legend-item{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:0.1em;color:rgba(255,255,255,0.5);}
.tw-legend-dot{width:8px;height:8px;border-radius:50%;}
.tw-list{padding:16px 48px 32px;display:flex;flex-direction:column;gap:8px;max-height:520px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(200,169,110,0.3) transparent;}
.tw-card{display:grid;grid-template-columns:36px 1fr 90px auto;align-items:center;gap:16px;padding:12px 16px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:4px;transition:background 0.2s;}
.tw-card:hover{background:rgba(200,169,110,0.06);}
.tw-num{font-size:11px;font-weight:700;color:rgba(200,169,110,0.7);text-align:center;}
.tw-info{min-width:0;}
.tw-name{font-size:13px;color:#fff;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tw-addr{font-size:10px;color:rgba(255,255,255,0.78);margin:1px 0;}
.tw-desc{font-size:10px;color:rgba(255,255,255,0.65);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tw-walk{text-align:right;}
.tw-dist{font-size:12px;color:#e8c97e;font-weight:600;}
.tw-time{font-size:10px;color:rgba(255,255,255,0.85);font-weight:500;}
.tw-bar-wrap{width:70px;height:2px;background:rgba(255,255,255,0.1);border-radius:1px;margin:4px 0 0 auto;}
.tw-bar{height:100%;border-radius:1px;transition:width 0.3s;}
.tw-badge{font-size:9px;letter-spacing:0.15em;text-transform:uppercase;padding:2px 7px;border-radius:2px;border:1px solid;white-space:nowrap;}

/* ══ THINGS TO EXPLORE TAB ══ */
.things-header{padding:32px 48px 16px;border-bottom:1px solid rgba(255,255,255,0.08);}
.things-headline{font-family:"Cormorant Garamond",serif;font-size:1.6rem;color:#fff;font-weight:300;margin-bottom:6px;}
.things-subline{font-size:11px;letter-spacing:0.25em;text-transform:uppercase;color:rgba(255,255,255,0.4);}
.things-body{padding:16px 48px 32px;}
.things-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;}
.thing-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:4px;transition:background 0.2s;}
.thing-card:hover{background:rgba(200,169,110,0.06);}
.thing-icon{font-size:22px;flex-shrink:0;width:30px;text-align:center;margin-top:2px;}
.thing-name{font-size:12px;color:#fff;font-weight:500;margin-bottom:2px;}
.thing-addr{font-size:10px;color:var(--accent);margin-bottom:3px;}
.thing-desc{font-size:10px;color:rgba(255,255,255,0.4);line-height:1.5;}


/* ══ TOWERS PAGE ══ */
.tw2-hero{padding:72px 80px 48px;background:#0a0a0a;border-top:1px solid rgba(255,255,255,0.07);}
.tw2-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:2.8rem;color:#fff;line-height:1.2;margin-bottom:16px;}
.tw2-sub{font-size:13px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.5);max-width:600px;margin-bottom:32px;}
.tw2-stat-row{display:flex;gap:32px;flex-wrap:wrap;}
.tw2-stat{display:flex;flex-direction:column;}
.tw2-stat-n{font-family:"Cormorant Garamond",serif;font-size:2.2rem;font-weight:300;color:var(--accent);line-height:1;}
.tw2-stat-l{font-size:10px;letter-spacing:0.25em;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-top:4px;}

.tw2-density{background:#0d0d0d;border-top:1px solid rgba(255,255,255,0.07);padding:48px 80px;}
.tw2-density-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.tw2-density-eyebrow{font-size:9px;letter-spacing:0.4em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
.tw2-density-title{font-family:"Cormorant Garamond",serif;font-size:1.4rem;color:#fff;font-weight:300;margin-bottom:20px;line-height:1.3;}
.tw2-density-stats{display:flex;flex-direction:column;gap:12px;}
.tw2-ds{display:flex;flex-direction:column;}
.tw2-ds-n{font-size:1.4rem;font-family:"Cormorant Garamond",serif;color:#fff;font-weight:300;line-height:1;}
.tw2-ds-l{font-size:10px;color:rgba(255,255,255,0.4);letter-spacing:0.05em;margin-top:2px;}
.tw2-density-note{font-size:12px;color:rgba(255,255,255,0.5);line-height:1.8;letter-spacing:0.03em;}
.tw2-traffic-bar{display:flex;align-items:center;gap:12px;margin-top:20px;}
.tw2-traffic-fill{height:4px;background:var(--accent);border-radius:2px;transition:width 0.8s ease;}
.tw2-traffic-bar span{font-size:11px;color:var(--accent);white-space:nowrap;}

.tw2-grid-section{background:#0a0a0a;border-top:1px solid rgba(255,255,255,0.07);padding:32px 80px 48px;}
.tw2-legend{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap;}
.tw2-leg-item{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.4);}
.tw2-leg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.tw2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:8px;}
.tw2-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:3px;transition:background 0.2s;}
.tw2-card:hover{background:rgba(200,169,110,0.05);}
.tw2-num{font-size:11px;font-weight:700;color:rgba(255,255,255,0.2);min-width:24px;text-align:center;}
.tw2-body{flex:1;min-width:0;}
.tw2-name{font-size:13px;color:#fff;font-weight:500;}
.tw2-addr{font-size:10px;color:rgba(255,255,255,0.35);margin:2px 0;}
.tw2-bar-row{display:flex;align-items:center;gap:8px;margin-top:4px;}
.tw2-bar-wrap{flex:1;height:2px;background:rgba(255,255,255,0.08);border-radius:1px;}
.tw2-bar{height:100%;border-radius:1px;}
.tw2-dist{font-size:11px;color:var(--accent);white-space:nowrap;}
.tw2-time{font-size:10px;color:rgba(255,255,255,0.35);white-space:nowrap;}
.tw2-badge{font-size:8px;letter-spacing:0.15em;text-transform:uppercase;padding:2px 6px;border-radius:2px;border:1px solid;white-space:nowrap;flex-shrink:0;}
@media(max-width:768px){.tw2-density-inner{grid-template-columns:1fr;}.tw2-hero{padding:48px 24px 32px;}.tw2-grid{grid-template-columns:1fr;}.tw2-grid-section{padding:24px;}.tw2-density{padding:32px 24px;}}
/* ══ TOWERS PAGE ══ */
.twp-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:48px;padding:64px 80px;border-bottom:1px solid rgba(255,255,255,0.07);}
.twp-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:2.6rem;color:#fff;line-height:1.15;margin-bottom:16px;}
.twp-sub{font-size:12px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.85);max-width:560px;text-shadow:0 1px 4px rgba(0,0,0,0.8);}
.twp-stats{display:flex;flex-direction:column;gap:16px;flex-shrink:0;}
.twp-stat{text-align:right;border-right:2px solid var(--accent);padding-right:16px;}
.twp-stat-n{font-family:"Cormorant Garamond",serif;font-size:2rem;color:var(--accent);font-weight:300;}
.twp-stat-l{font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.75);}
.twp-density{background:#0d0d0d;padding:40px 80px;border-bottom:1px solid rgba(255,255,255,0.07);}
.twp-density-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:24px;}
.twp-density-item{padding:20px;border:1px solid rgba(255,255,255,0.08);border-radius:4px;}
.twp-density-num{font-family:"Cormorant Garamond",serif;font-size:1.6rem;color:var(--accent);font-weight:300;margin-bottom:6px;}
.twp-density-label{font-size:10px;letter-spacing:0.08em;line-height:1.6;color:rgba(255,255,255,0.72);}
.twp-density-note{font-size:11px;letter-spacing:0.04em;line-height:1.8;color:rgba(255,255,255,0.80);border-left:3px solid var(--accent);padding-left:16px;text-shadow:0 1px 3px rgba(0,0,0,0.6);}
.twp-body{padding:32px 80px 48px;}
.twp-filter-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.twp-filter-label{font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.3);}
.twp-legend{display:flex;gap:16px;}
.twp-leg-item{display:flex;align-items:center;gap:6px;font-size:10px;color:rgba(255,255,255,0.4);}
.twp-leg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.twp-list{display:flex;flex-direction:column;gap:6px;}
@media(max-width:768px){.twp-hero{flex-direction:column;padding:40px 24px;}.twp-density{padding:32px 24px;}.twp-density-grid{grid-template-columns:1fr 1fr;}.twp-body{padding:24px;}}

/* ══ TRAFFIC STUDY ══ */
.traf-study{background:#0d0d0d;border-top:1px solid rgba(255,255,255,0.07);padding:40px 80px;}
.traf-study-inner{display:flex;gap:64px;align-items:flex-start;}
.traf-study-title{font-family:"Cormorant Garamond",serif;font-size:2.2rem;font-weight:300;color:#fff;margin:8px 0 12px;}
.traf-study-sub{font-size:12px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.45);max-width:480px;}
.traf-study-right{flex-shrink:0;min-width:280px;}
.traf-study-stats{display:flex;gap:24px;margin-bottom:20px;}
.traf-stat-item{border-left:2px solid var(--accent);padding-left:12px;}
.traf-stat-n{font-family:"Cormorant Garamond",serif;font-size:1.8rem;color:var(--accent);font-weight:300;}
.traf-stat-l{font-size:9px;letter-spacing:0.25em;text-transform:uppercase;color:rgba(255,255,255,0.4);}
.traf-study-note{font-size:11px;color:rgba(255,255,255,0.5);margin-bottom:8px;}
.traf-study-note strong{color:rgba(255,255,255,0.7);}
.traf-study-list{margin:0;padding:0 0 0 16px;}
.traf-study-list li{font-size:11px;letter-spacing:0.04em;color:rgba(255,255,255,0.4);margin-bottom:4px;line-height:1.6;}
@media(max-width:768px){.traf-study{padding:32px 24px;}.traf-study-inner{flex-direction:column;gap:24px;}}
/* ══ SIGN SLIDESHOW ══ */

.sign-slide-video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.sign-slideshow-section{background:#0a0a0a;border-top:1px solid rgba(255,255,255,0.07);}
.sign-slideshow-header{display:flex;align-items:flex-start;justify-content:space-between;padding:56px 80px 32px;gap:32px;}
.sign-slideshow-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:2rem;color:#fff;margin-bottom:10px;}
.sign-slideshow-sub{font-size:12px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.45);max-width:680px;}
.sign-slideshow-wrap{position:relative;width:100%;overflow:hidden;background:#000;aspect-ratio:4/3;max-height:72vh;}
.sign-slides{position:relative;width:100%;height:100%;}
.sign-slide{position:absolute;inset:0;opacity:0;transition:opacity 0.8s ease;pointer-events:none;}
.sign-slide.sign-slide-active{opacity:1;pointer-events:all;}
.sign-slide img{width:100%;height:100%;object-fit:cover;object-position:center;}
.sign-caption{position:absolute;bottom:0;left:0;right:0;padding:28px 64px;background:linear-gradient(transparent,rgba(0,0,0,0.82));}
.sign-caption-co{display:block;font-family:"Cormorant Garamond",serif;font-size:2rem;font-weight:300;color:#fff;margin-bottom:4px;}
.sign-caption-desc{display:block;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.5);}
.sign-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.45);border:1px solid rgba(255,255,255,0.2);color:#fff;font-size:36px;width:52px;height:64px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;z-index:10;}
.sign-nav:hover{background:rgba(200,169,110,0.65);}
.sign-prev{left:20px;} .sign-next{right:20px;}
.sign-dots{position:absolute;bottom:72px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:10;flex-wrap:wrap;justify-content:center;max-width:300px;}
.sign-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.3);border:none;cursor:pointer;padding:0;transition:background 0.2s,transform 0.2s;}
.sign-dot.sign-dot-active{background:var(--accent);transform:scale(1.4);}
.sign-counter{position:absolute;top:18px;right:20px;font-size:11px;letter-spacing:0.2em;color:rgba(255,255,255,0.5);z-index:10;}
.sign-thumbstrip{display:flex;gap:3px;padding:3px 0;background:#000;overflow-x:auto;scrollbar-width:none;}
.sign-thumbstrip::-webkit-scrollbar{display:none;}
.sign-thumb{flex-shrink:0;width:90px;height:60px;background-size:cover;background-position:center;cursor:pointer;opacity:0.45;transition:opacity 0.25s;outline:2px solid transparent;outline-offset:-2px;}
.sign-thumb.sign-thumb-active{opacity:1;outline-color:var(--accent);}
.sign-thumb:hover{opacity:0.8;}

/* ══ AMENITIES PAGE ══ */
#page-amenities{background:#0d0d0d;display:flex;flex-direction:column;overflow-y:auto;}
#page-signage{background:#0a0a0a;display:flex;flex-direction:column;overflow-y:auto;}

.dark-nav{position:sticky;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:28px 52px;background:rgba(10,10,10,0.95);backdrop-filter:blur(12px);z-index:10;border-bottom:1px solid rgba(255,255,255,0.07);}
.dark-logo{font-family:"Montserrat",sans-serif;font-weight:200;font-size:12px;letter-spacing:0.35em;color:rgba(255,255,255,0.7);text-transform:uppercase;}
.dark-back{font-family:"Montserrat",sans-serif;font-weight:300;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.4);background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;transition:color 0.2s;}
.dark-back:hover{color:rgba(255,255,255,0.9);}

/* AMENITIES LAYOUT */
.am-hero{padding:80px 80px 56px;border-bottom:1px solid rgba(255,255,255,0.07);}
.am-eyebrow{font-size:9px;letter-spacing:0.5em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;}
.am-headline{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(2.2rem,4vw,3.8rem);color:#fff;line-height:1.1;margin-bottom:28px;}
.am-intro{font-size:13px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.55);max-width:780px;}

.am-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0 80px 80px;}
.am-category{padding:48px 0 32px;border-top:1px solid rgba(255,255,255,0.07);padding-right:48px;}
.am-cat-label{font-size:8px;letter-spacing:0.5em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;}
.am-items{display:flex;flex-direction:column;gap:0;}
.am-item{display:flex;align-items:flex-start;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.04);}
.am-item:last-child{border-bottom:none;}
.am-dot{width:3px;height:3px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:7px;}
.am-item-text{font-size:12px;letter-spacing:0.05em;color:rgba(255,255,255,0.6);line-height:1.6;}
.am-item-text strong{color:rgba(255,255,255,0.85);font-weight:400;}

/* SIGNAGE LAYOUT */
.sg-hero{position:relative;min-height:55vh;display:flex;align-items:flex-end;padding:80px;background:linear-gradient(135deg,#0a0a0a 0%,#141414 100%);border-bottom:1px solid rgba(255,255,255,0.07);overflow:hidden;}
.sg-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(200,169,110,0.08) 0%,transparent 65%);}
.sg-hero-content{position:relative;z-index:2;max-width:680px;}
.sg-eyebrow{font-size:9px;letter-spacing:0.5em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;}
.sg-headline{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(2.8rem,5vw,5rem);color:#fff;line-height:1.05;margin-bottom:32px;}
.sg-headline em{font-style:italic;color:var(--accent);}
.sg-intro{font-size:13px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.55);max-width:620px;}

.sg-body{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0 80px 80px;}
.sg-advantage{padding:56px 56px 56px 0;border-top:1px solid rgba(255,255,255,0.07);}
.sg-advantage:nth-child(even){padding-left:56px;padding-right:0;border-left:1px solid rgba(255,255,255,0.07);}
.sg-adv-num{font-family:"Cormorant Garamond",serif;font-size:4rem;font-weight:300;color:rgba(200,169,110,0.2);line-height:1;margin-bottom:8px;}
.sg-adv-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:1.6rem;color:#fff;margin-bottom:16px;line-height:1.2;}
.sg-adv-text{font-size:12px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.5);}

.sg-stat-bar{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,0.07);border-bottom:1px solid rgba(255,255,255,0.07);margin:0 80px 80px;}
.sg-stat{padding:40px 0;text-align:center;border-right:1px solid rgba(255,255,255,0.07);}
.sg-stat:last-child{border-right:none;}
.sg-stat-num{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:3rem;color:#fff;line-height:1;margin-bottom:8px;}
.sg-stat-num span{font-size:1.2rem;color:var(--accent);}
.sg-stat-label{font-size:9px;letter-spacing:0.35em;text-transform:uppercase;color:rgba(255,255,255,0.35);}

.sg-cta-bar{display:flex;align-items:center;justify-content:space-between;padding:0 80px 80px;;background:rgba(10,10,10,0.97) !important;border-top:1px solid rgba(200,169,110,0.3) !important;}
.sg-cta-text{color:#ffffff !important;text-shadow:0 1px 4px rgba(0,0,0,0.8);font-family:"Cormorant Garamond",serif;font-weight:300;font-size:1.4rem;color:rgba(255,255,255,0.6);font-style:italic;}
.sg-cta-btn{font-family:"Montserrat",sans-serif;font-weight:300;font-size:10px;letter-spacing:0.4em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,0.3);padding:16px 36px;cursor:pointer;background:transparent;transition:background 0.3s,border-color 0.3s;}
.sg-cta-btn:hover{background:var(--accent);border-color:var(--accent);}

/* KEYFRAMES */
/* ══ GALLERY PAGE ══ */
#page-gallery{background:#0d0d0d;display:flex;flex-direction:column;overflow-y:auto;}
.gal-header{padding:64px 64px 48px;border-bottom:1px solid rgba(255,255,255,0.07);}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;flex:1;}
.gal-item{position:relative;overflow:hidden;aspect-ratio:4/3;cursor:pointer;background:#111;}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease,filter 0.3s ease;filter:brightness(0.92);}
.gal-item:hover img{transform:scale(1.04);filter:brightness(1);}
.gal-caption{position:absolute;bottom:0;left:0;right:0;padding:20px 20px 16px;background:linear-gradient(transparent,rgba(0,0,0,0.75));opacity:0;transition:opacity 0.3s;transform:translateY(4px);transition:opacity 0.3s,transform 0.3s;}
.gal-item:hover .gal-caption{opacity:1;transform:translateY(0);}
.gal-cap-title{display:block;font-size:12px;font-weight:400;color:#fff;letter-spacing:0.04em;margin-bottom:2px;}
.gal-cap-sub{display:block;font-size:10px;color:rgba(255,255,255,0.55);letter-spacing:0.1em;}

/* LIGHTBOX */
#lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.95);z-index:200;align-items:center;justify-content:center;}
#lightbox.open{display:flex;}
#lb-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;}
#lb-img{max-width:90vw;max-height:80vh;object-fit:contain;display:block;}
#lb-info{padding:16px 4px 0;display:flex;gap:16px;align-items:baseline;}
#lb-title{font-family:"Cormorant Garamond",serif;font-size:1.1rem;color:#fff;font-weight:300;}
#lb-sub{font-size:10px;letter-spacing:0.2em;color:rgba(255,255,255,0.4);text-transform:uppercase;}
#lb-close{position:absolute;top:-40px;right:0;background:none;border:none;color:rgba(255,255,255,0.6);font-size:28px;cursor:pointer;line-height:1;padding:4px;}
#lb-close:hover{color:#fff;}
#lb-prev,#lb-next{position:fixed;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,0.5);font-size:60px;cursor:pointer;padding:0 24px;line-height:1;transition:color 0.2s;z-index:201;}
#lb-prev{left:0;}#lb-next{right:0;}
#lb-prev:hover,#lb-next:hover{color:#fff;}

/* ══ AVAILABILITY PAGE ══ */
#page-availability{background:#0d0d0d;display:flex;flex-direction:column;overflow-y:auto;}
.av-hero{padding:64px 80px 56px;border-bottom:1px solid rgba(255,255,255,0.07);}
.av-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(2.2rem,4vw,3.6rem);color:#fff;line-height:1.1;margin-bottom:14px;}
.av-sub{font-size:13px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.5);max-width:720px;margin-bottom:48px;}
.av-stats-row{display:flex;gap:0;}
.av-stat{flex:1;padding:24px 32px 24px 0;border-top:1px solid rgba(255,255,255,0.1);display:flex;flex-direction:column;gap:4px;}
.av-stat-n{font-family:"Cormorant Garamond",serif;font-size:2.6rem;font-weight:300;color:#fff;line-height:1;}
.av-stat-u{font-size:11px;letter-spacing:0.2em;color:var(--accent);text-transform:uppercase;}
.av-stat-l{font-size:10px;letter-spacing:0.25em;color:rgba(255,255,255,0.35);text-transform:uppercase;margin-top:2px;}

/* TABS */
.av-tabs{display:flex;gap:0;border-bottom:1px solid rgba(255,255,255,0.08);padding:0 80px;flex-shrink:0;}
.av-tab{font-family:"Montserrat",sans-serif;font-weight:300;font-size:11px;letter-spacing:0.25em;text-transform:lowercase;color:rgba(255,255,255,0.4);padding:18px 28px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color 0.2s,border-color 0.2s;}
.av-tab.active{color:#fff;border-bottom-color:var(--accent);}
.av-tab:hover{color:rgba(255,255,255,0.8);}

/* PANELS */
.av-panels{flex:1;}
.av-panel{display:none;grid-template-columns:1fr 380px;min-height:calc(100vh - 280px);}
.av-panel.active{display:grid;}
.av-panel-img{position:relative;overflow:hidden;background:transparent;}
.av-panel-img img{width:100%;height:100%;object-fit:contain;object-position:center;padding:32px;background:#f4f2ef;}
.av-panel-info{padding:56px 52px;border-left:1px solid rgba(255,255,255,0.07);display:flex;flex-direction:column;overflow-y:auto;}
.av-panel-eyebrow{font-size:9px;letter-spacing:0.45em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;}
.av-panel-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:1.9rem;color:#fff;line-height:1.15;margin-bottom:36px;}
.av-panel-list{display:flex;flex-direction:column;gap:24px;flex:1;}
.av-pl-section{}
.av-pl-head{font-size:9px;letter-spacing:0.4em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.av-pl-item{font-size:12px;letter-spacing:0.04em;color:rgba(255,255,255,0.55);line-height:1.8;padding-left:14px;position:relative;}
.av-pl-item::before{content:"—";position:absolute;left:0;color:rgba(200,169,110,0.4);}

/* ══ NEW CONCEPTS STRIP ══ */
.new-con-section{background:#0d0d0d;border-top:1px solid rgba(255,255,255,0.07);padding-bottom:0;}
.new-con-body{padding:0 0 0;}
.con-cat-group{border-top:1px solid rgba(255,255,255,0.07);padding:0;}
.con-cat-label{display:flex;align-items:center;justify-content:space-between;padding:28px 64px 16px;border-left:3px solid var(--accent);margin-left:64px;margin-right:64px;}
.con-cat-label span:first-child{font-size:10px;letter-spacing:0.4em;text-transform:uppercase;color:rgba(255,255,255,0.6);}
.con-cat-count{font-size:9px;letter-spacing:0.25em;text-transform:uppercase;color:rgba(255,255,255,0.25);}
.con-cat-strip{display:flex;gap:3px;padding:0 64px 32px;overflow-x:auto;scrollbar-width:none;}
.con-cat-strip::-webkit-scrollbar{display:none;}
.con-strip-item{flex-shrink:0;width:320px;height:220px;position:relative;overflow:hidden;cursor:pointer;background:#111;}
.con-strip-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease,filter 0.3s;filter:brightness(0.85);}
.con-strip-item:hover img{transform:scale(1.04);filter:brightness(1);}
.con-strip-caption{position:absolute;bottom:0;left:0;right:0;padding:14px 16px 12px;background:linear-gradient(transparent,rgba(0,0,0,0.8));opacity:0;transition:opacity 0.3s,transform 0.3s;transform:translateY(4px);}
.con-strip-item:hover .con-strip-caption{opacity:1;transform:translateY(0);}
.con-strip-title{display:block;font-size:12px;font-weight:400;color:#fff;margin-bottom:2px;}
.con-strip-sub{display:block;font-size:9px;color:rgba(255,255,255,0.5);letter-spacing:0.08em;}

/* NEW CONCEPT LIGHTBOX */
#new-con-lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.96);z-index:200;align-items:center;justify-content:center;}
#new-con-lightbox.open{display:flex;}
#new-con-lb-wrap{position:relative;max-width:90vw;max-height:92vh;display:flex;flex-direction:column;}
#new-con-lb-img{max-width:90vw;max-height:80vh;object-fit:contain;display:block;}
#new-con-lb-top{position:absolute;top:-36px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;}
#new-con-lb-cat{font-size:9px;letter-spacing:0.4em;text-transform:uppercase;color:var(--accent);}
#new-con-lb-close{background:none;border:none;color:rgba(255,255,255,0.5);font-size:26px;cursor:pointer;line-height:1;padding:0;}
#new-con-lb-close:hover{color:#fff;}
#new-con-lb-info{padding:14px 0 0;display:flex;gap:16px;align-items:baseline;}
#new-con-lb-title{font-family:"Cormorant Garamond",serif;font-size:1.1rem;color:#fff;font-weight:300;}
#new-con-lb-sub{font-size:10px;letter-spacing:0.18em;color:rgba(255,255,255,0.4);text-transform:uppercase;}
#new-con-lb-prev,#new-con-lb-next{position:fixed;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,0.4);font-size:60px;cursor:pointer;padding:0 24px;z-index:201;transition:color 0.2s;line-height:1;}
#new-con-lb-prev{left:0;}#new-con-lb-next{right:0;}
#new-con-lb-prev:hover,#new-con-lb-next:hover{color:#fff;}

/* ══ CONCEPTS SECTION ══ */
.con-section{background:#111;border-top:1px solid rgba(255,255,255,0.07);padding:0 0 0;}
.con-header{display:flex;align-items:flex-start;justify-content:space-between;padding:56px 64px 40px;gap:32px;}
.con-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:2.2rem;color:#fff;margin-bottom:12px;}
.con-sub{font-size:12px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.45);max-width:680px;}
.con-badge{flex-shrink:0;margin-top:4px;padding:8px 16px;border:1px solid rgba(200,169,110,0.4);color:var(--accent);font-size:9px;letter-spacing:0.4em;text-transform:uppercase;white-space:nowrap;height:fit-content;}
.con-grid{background:#111;}
.con-item img{filter:brightness(0.88);}
.con-item:hover img{filter:brightness(1);}

/* CONCEPT LIGHTBOX */
#con-lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.96);z-index:200;align-items:center;justify-content:center;}
#con-lightbox.open{display:flex;}
#con-lb-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;}
#con-lb-img{max-width:90vw;max-height:78vh;object-fit:contain;display:block;}
#con-lb-badge{position:absolute;top:-32px;left:0;font-size:9px;letter-spacing:0.4em;text-transform:uppercase;color:var(--accent);padding:4px 0;}
#con-lb-content #lb-info{padding:14px 4px 0;display:flex;gap:16px;align-items:baseline;}
#con-lb-content #con-lb-title{font-family:"Cormorant Garamond",serif;font-size:1.1rem;color:#fff;font-weight:300;}
#con-lb-content #con-lb-sub{font-size:10px;letter-spacing:0.2em;color:rgba(255,255,255,0.4);text-transform:uppercase;}
#con-lb-content #lb-close{position:absolute;top:-40px;right:0;background:none;border:none;color:rgba(255,255,255,0.5);font-size:28px;cursor:pointer;}
#con-lb-content #lb-close:hover{color:#fff;}
#con-lb-prev,#con-lb-next{position:fixed;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,0.45);font-size:60px;cursor:pointer;padding:0 24px;line-height:1;z-index:201;transition:color 0.2s;}
#con-lb-prev{left:0;}#con-lb-next{right:0;}
#con-lb-prev:hover,#con-lb-next:hover{color:#fff;}


/* ══ SURROUNDING TOWERS TAB ══ */
.tw-header{padding:32px 48px 16px;border-bottom:1px solid rgba(255,255,255,0.08);}
.tw-headline{font-family:"Cormorant Garamond",serif;font-size:1.6rem;color:#fff;font-weight:300;margin-bottom:6px;}
.tw-subline{font-size:11px;letter-spacing:0.25em;text-transform:uppercase;color:rgba(255,255,255,0.4);}
.tw-legend{display:flex;gap:16px;margin-top:12px;}
.tw-legend-item{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:0.1em;color:rgba(255,255,255,0.5);}
.tw-legend-dot{width:8px;height:8px;border-radius:50%;}
.tw-list{padding:16px 48px 32px;display:flex;flex-direction:column;gap:8px;max-height:520px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(200,169,110,0.3) transparent;}
.tw-card{display:grid;grid-template-columns:36px 1fr 90px auto;align-items:center;gap:16px;padding:12px 16px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:4px;transition:background 0.2s;}
.tw-card:hover{background:rgba(200,169,110,0.06);}
.tw-num{font-size:11px;font-weight:700;color:rgba(200,169,110,0.7);text-align:center;}
.tw-info{min-width:0;}
.tw-name{font-size:13px;color:#fff;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tw-addr{font-size:10px;color:rgba(255,255,255,0.78);margin:1px 0;}
.tw-desc{font-size:10px;color:rgba(255,255,255,0.65);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tw-walk{text-align:right;}
.tw-dist{font-size:12px;color:#e8c97e;font-weight:600;}
.tw-time{font-size:10px;color:rgba(255,255,255,0.85);font-weight:500;}
.tw-bar-wrap{width:70px;height:2px;background:rgba(255,255,255,0.1);border-radius:1px;margin:4px 0 0 auto;}
.tw-bar{height:100%;border-radius:1px;transition:width 0.3s;}
.tw-badge{font-size:9px;letter-spacing:0.15em;text-transform:uppercase;padding:2px 7px;border-radius:2px;border:1px solid;white-space:nowrap;}

/* ══ THINGS TO EXPLORE TAB ══ */
.things-header{padding:32px 48px 16px;border-bottom:1px solid rgba(255,255,255,0.08);}
.things-headline{font-family:"Cormorant Garamond",serif;font-size:1.6rem;color:#fff;font-weight:300;margin-bottom:6px;}
.things-subline{font-size:11px;letter-spacing:0.25em;text-transform:uppercase;color:rgba(255,255,255,0.4);}
.things-body{padding:16px 48px 32px;}
.things-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;}
.thing-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:4px;transition:background 0.2s;}
.thing-card:hover{background:rgba(200,169,110,0.06);}
.thing-icon{font-size:22px;flex-shrink:0;width:30px;text-align:center;margin-top:2px;}
.thing-name{font-size:12px;color:#fff;font-weight:500;margin-bottom:2px;}
.thing-addr{font-size:10px;color:var(--accent);margin-bottom:3px;}
.thing-desc{font-size:10px;color:rgba(255,255,255,0.4);line-height:1.5;}


/* ══ TOWERS PAGE ══ */
.tw2-hero{padding:72px 80px 48px;background:#0a0a0a;border-top:1px solid rgba(255,255,255,0.07);}
.tw2-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:2.8rem;color:#fff;line-height:1.2;margin-bottom:16px;}
.tw2-sub{font-size:13px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.5);max-width:600px;margin-bottom:32px;}
.tw2-stat-row{display:flex;gap:32px;flex-wrap:wrap;}
.tw2-stat{display:flex;flex-direction:column;}
.tw2-stat-n{font-family:"Cormorant Garamond",serif;font-size:2.2rem;font-weight:300;color:var(--accent);line-height:1;}
.tw2-stat-l{font-size:10px;letter-spacing:0.25em;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-top:4px;}

.tw2-density{background:#0d0d0d;border-top:1px solid rgba(255,255,255,0.07);padding:48px 80px;}
.tw2-density-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.tw2-density-eyebrow{font-size:9px;letter-spacing:0.4em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
.tw2-density-title{font-family:"Cormorant Garamond",serif;font-size:1.4rem;color:#fff;font-weight:300;margin-bottom:20px;line-height:1.3;}
.tw2-density-stats{display:flex;flex-direction:column;gap:12px;}
.tw2-ds{display:flex;flex-direction:column;}
.tw2-ds-n{font-size:1.4rem;font-family:"Cormorant Garamond",serif;color:#fff;font-weight:300;line-height:1;}
.tw2-ds-l{font-size:10px;color:rgba(255,255,255,0.4);letter-spacing:0.05em;margin-top:2px;}
.tw2-density-note{font-size:12px;color:rgba(255,255,255,0.5);line-height:1.8;letter-spacing:0.03em;}
.tw2-traffic-bar{display:flex;align-items:center;gap:12px;margin-top:20px;}
.tw2-traffic-fill{height:4px;background:var(--accent);border-radius:2px;transition:width 0.8s ease;}
.tw2-traffic-bar span{font-size:11px;color:var(--accent);white-space:nowrap;}

.tw2-grid-section{background:#0a0a0a;border-top:1px solid rgba(255,255,255,0.07);padding:32px 80px 48px;}
.tw2-legend{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap;}
.tw2-leg-item{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.4);}
.tw2-leg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.tw2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:8px;}
.tw2-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:3px;transition:background 0.2s;}
.tw2-card:hover{background:rgba(200,169,110,0.05);}
.tw2-num{font-size:11px;font-weight:700;color:rgba(255,255,255,0.2);min-width:24px;text-align:center;}
.tw2-body{flex:1;min-width:0;}
.tw2-name{font-size:13px;color:#fff;font-weight:500;}
.tw2-addr{font-size:10px;color:rgba(255,255,255,0.35);margin:2px 0;}
.tw2-bar-row{display:flex;align-items:center;gap:8px;margin-top:4px;}
.tw2-bar-wrap{flex:1;height:2px;background:rgba(255,255,255,0.08);border-radius:1px;}
.tw2-bar{height:100%;border-radius:1px;}
.tw2-dist{font-size:11px;color:var(--accent);white-space:nowrap;}
.tw2-time{font-size:10px;color:rgba(255,255,255,0.35);white-space:nowrap;}
.tw2-badge{font-size:8px;letter-spacing:0.15em;text-transform:uppercase;padding:2px 6px;border-radius:2px;border:1px solid;white-space:nowrap;flex-shrink:0;}
@media(max-width:768px){.tw2-density-inner{grid-template-columns:1fr;}.tw2-hero{padding:48px 24px 32px;}.tw2-grid{grid-template-columns:1fr;}.tw2-grid-section{padding:24px;}.tw2-density{padding:32px 24px;}}
/* ══ TOWERS PAGE ══ */
.twp-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:48px;padding:64px 80px;border-bottom:1px solid rgba(255,255,255,0.07);}
.twp-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:2.6rem;color:#fff;line-height:1.15;margin-bottom:16px;}
.twp-sub{font-size:12px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.85);max-width:560px;text-shadow:0 1px 4px rgba(0,0,0,0.8);}
.twp-stats{display:flex;flex-direction:column;gap:16px;flex-shrink:0;}
.twp-stat{text-align:right;border-right:2px solid var(--accent);padding-right:16px;}
.twp-stat-n{font-family:"Cormorant Garamond",serif;font-size:2rem;color:var(--accent);font-weight:300;}
.twp-stat-l{font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.75);}
.twp-density{background:#0d0d0d;padding:40px 80px;border-bottom:1px solid rgba(255,255,255,0.07);}
.twp-density-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:24px;}
.twp-density-item{padding:20px;border:1px solid rgba(255,255,255,0.08);border-radius:4px;}
.twp-density-num{font-family:"Cormorant Garamond",serif;font-size:1.6rem;color:var(--accent);font-weight:300;margin-bottom:6px;}
.twp-density-label{font-size:10px;letter-spacing:0.08em;line-height:1.6;color:rgba(255,255,255,0.72);}
.twp-density-note{font-size:11px;letter-spacing:0.04em;line-height:1.8;color:rgba(255,255,255,0.80);border-left:3px solid var(--accent);padding-left:16px;text-shadow:0 1px 3px rgba(0,0,0,0.6);}
.twp-body{padding:32px 80px 48px;}
.twp-filter-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.twp-filter-label{font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.3);}
.twp-legend{display:flex;gap:16px;}
.twp-leg-item{display:flex;align-items:center;gap:6px;font-size:10px;color:rgba(255,255,255,0.4);}
.twp-leg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.twp-list{display:flex;flex-direction:column;gap:6px;}
@media(max-width:768px){.twp-hero{flex-direction:column;padding:40px 24px;}.twp-density{padding:32px 24px;}.twp-density-grid{grid-template-columns:1fr 1fr;}.twp-body{padding:24px;}}

/* ══ TRAFFIC STUDY ══ */
.traf-study{background:#0d0d0d;border-top:1px solid rgba(255,255,255,0.07);padding:40px 80px;}
.traf-study-inner{display:flex;gap:64px;align-items:flex-start;}
.traf-study-title{font-family:"Cormorant Garamond",serif;font-size:2.2rem;font-weight:300;color:#fff;margin:8px 0 12px;}
.traf-study-sub{font-size:12px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.45);max-width:480px;}
.traf-study-right{flex-shrink:0;min-width:280px;}
.traf-study-stats{display:flex;gap:24px;margin-bottom:20px;}
.traf-stat-item{border-left:2px solid var(--accent);padding-left:12px;}
.traf-stat-n{font-family:"Cormorant Garamond",serif;font-size:1.8rem;color:var(--accent);font-weight:300;}
.traf-stat-l{font-size:9px;letter-spacing:0.25em;text-transform:uppercase;color:rgba(255,255,255,0.4);}
.traf-study-note{font-size:11px;color:rgba(255,255,255,0.5);margin-bottom:8px;}
.traf-study-note strong{color:rgba(255,255,255,0.7);}
.traf-study-list{margin:0;padding:0 0 0 16px;}
.traf-study-list li{font-size:11px;letter-spacing:0.04em;color:rgba(255,255,255,0.4);margin-bottom:4px;line-height:1.6;}
@media(max-width:768px){.traf-study{padding:32px 24px;}.traf-study-inner{flex-direction:column;gap:24px;}}
/* ══ SIGN SLIDESHOW ══ */
.sign-show-section{background:#0a0a0a;border-top:1px solid rgba(255,255,255,0.07);padding-bottom:0;}
.sign-show-header{display:flex;align-items:flex-start;justify-content:space-between;padding:56px 64px 32px;gap:32px;}
.sign-show-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:2.2rem;color:#fff;margin-bottom:12px;}
.sign-show-sub{font-size:12px;letter-spacing:0.04em;line-height:1.9;color:rgba(255,255,255,0.45);max-width:640px;}
.sign-show-controls{display:flex;align-items:center;gap:16px;flex-shrink:0;margin-top:8px;}
.sign-prev,.sign-next{background:none;border:1px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.6);font-size:28px;width:44px;height:44px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s;border-radius:0;}
.sign-prev:hover,.sign-next:hover{border-color:var(--accent);color:var(--accent);}
.sign-counter{font-size:11px;letter-spacing:0.25em;color:rgba(255,255,255,0.35);min-width:48px;text-align:center;}

.sign-slideshow{position:relative;width:100%;height:65vh;overflow:hidden;background:#000;}
.sign-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;display:flex;align-items:stretch;}
.sign-slide-active{opacity:1;}
.sign-slide img{width:100%;height:100%;object-fit:cover;object-position:center;}
.sign-slide-info{position:absolute;bottom:0;left:0;right:0;padding:48px 64px 32px;background:linear-gradient(transparent,rgba(0,0,0,0.85));display:flex;align-items:flex-end;gap:24px;}
.sign-slide-company{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:2rem;color:#fff;line-height:1;}
.sign-slide-year{font-size:11px;letter-spacing:0.35em;color:var(--accent);text-transform:uppercase;margin-bottom:4px;flex-shrink:0;}
.sign-slide-desc{font-size:11px;letter-spacing:0.08em;color:rgba(255,255,255,0.5);margin-left:auto;text-align:right;max-width:380px;line-height:1.6;}

.sign-dots{display:flex;gap:6px;justify-content:center;padding:20px 0 32px;flex-wrap:wrap;}
.sign-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.2);border:none;cursor:pointer;transition:all 0.25s;padding:0;}
.sign-dot-active{background:var(--accent);transform:scale(1.3);}

@keyframes fadeDown{from{opacity:0;transform:translateY(-12px);}to{opacity:1;transform:translateY(0);}}
@keyframes riseIn{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
@keyframes expandLine{from{width:0;}to{width:min(180px,20vw);}}

/* ── Overview mobile / iOS fix ── */
@media (max-width: 768px) {
  #page-overview { overflow-y: auto; -webkit-overflow-scrolling: touch; }
  .ov-content {
    position: relative;
    width: 100%;
    padding: 100px 28px 32px 28px;
    min-height: 100vh;
    box-sizing: border-box;
    justify-content: flex-start;
  }
  .ov-veil {
    background: linear-gradient(to bottom, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.65) 100%);
  }
  .ov-headline { font-size: clamp(1.8rem, 7vw, 2.4rem); }
  .ov-stats { grid-template-columns: 1fr 1fr; gap: 0; margin-bottom: 32px; }
  .ov-stat { padding: 16px 0; }
  .ov-stat:nth-child(odd) { padding-right: 16px; }
  .ov-stat:nth-child(even) { padding-left: 16px; }
  .ov-stat-num { font-size: clamp(1.4rem, 6vw, 2rem); }
  .ov-tagline { font-size: 10px; margin-bottom: 28px; }
  .ov-points { gap: 10px; margin-bottom: 80px; }
  .ov-cta { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); right: auto; z-index: 20; }
  .ov-cta-btn { background: rgba(0,0,0,0.6); backdrop-filter: blur(8px); white-space: nowrap; }
}
@media (max-width: 480px) {
  .ov-content { padding: 90px 20px 28px 20px; }
  .ov-headline { font-size: clamp(1.6rem, 8vw, 2rem); }
}


  .loc-map-area { height: 50vh; }
}



/* Pages that scroll vertically */
#page-towers, #page-amenities, #page-signage, #page-gallery, #page-availability, #page-inquire, #page-overview {
  overflow-y: auto !important;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  height: 100vh !important;
  height: 100dvh !important;
}

/* ── Availability page mobile ── */
@media (max-width: 768px) {
  #page-availability .av-hero { padding: 48px 24px 32px; }
  .av-title { font-size: clamp(1.8rem, 6vw, 2.4rem); }
  .av-sub { font-size: 12px; margin-bottom: 32px; }
  .av-stats-row { flex-direction: column; gap: 0; }
  .av-stat { padding: 16px 0; border-top: 1px solid rgba(255,255,255,0.1); }
  
  .av-tabs { 
    padding: 0 24px; 
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .av-tab { 
    font-size: 10px; 
    padding: 14px 18px;
    white-space: nowrap;
  }
  
  /* CRITICAL: Change from two-column grid to single column with text first */
  .av-panel { 
    display: flex !important;
    flex-direction: column !important;
    min-height: unset !important;
  }
  
  /* Text appears first (order: 1) */
  .av-panel-info {
    order: 1;
    padding: 32px 24px;
    border-left: none;
    border-bottom: 1px solid rgba(255,255,255,0.07);
  }
  
  /* Image appears second (order: 2) */
  .av-panel-img {
    order: 2;
    min-height: 300px;
  }
  
  /* RESTORE BACKGROUND COLOR */
  .av-panel-img img {
    padding: 24px;
    background: #f4f2ef;
  }
  
  .av-panel-title { font-size: 1.4rem; margin-bottom: 24px; }
  .av-panel-list { gap: 18px; }
}

/* ── Inquire page mobile ── */
@media (max-width: 768px) {
  #page-inquire {
    display: block !important;
    /* Safari: use dvh so content isn't clipped by address bar */
    height: 100vh !important;
    height: 100dvh !important;
    overflow-y: scroll !important;
    /* Force hardware-accelerated scroll on iOS Safari */
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain;
  }

  .inq-nav {
    padding: 18px 20px;
    position: sticky;
    top: 0;
    z-index: 10;
  }

  .inq-body {
    display: block !important;
    min-height: unset !important;
    max-width: 100% !important;
  }

  /* Left panel: compact header on top */
  .inq-left {
    padding: 28px 24px 24px !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.08);
    justify-content: flex-start;
  }
  .inq-eyebrow { margin-bottom: 10px; font-size: 8px; }
  .inq-headline {
    font-size: clamp(1.6rem, 7vw, 2.2rem) !important;
    margin-bottom: 16px;
  }
  .inq-divider { margin-bottom: 16px; }
  .inq-tagline { margin-bottom: 16px; font-size: 10px; letter-spacing: 0.15em; }
  .inq-details { gap: 8px; }
  .inq-detail-row { font-size: 10px; }

  /* Right panel: full-width form */
  .inq-right {
    /* Base padding + safe area for iPhone home indicator + Safari toolbar */
    padding: 28px 24px calc(120px + env(safe-area-inset-bottom, 0px)) !important;
    justify-content: flex-start;
    height: auto !important;
    min-height: unset !important;
    overflow: visible !important;
  }

  /* Form elements */
  .form-title {
    font-size: 11px !important;
    letter-spacing: 0.3em;
    margin-bottom: 20px !important;
  }
  .form-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .form-group {
    width: 100%;
  }
  .form-group label {
    font-size: 9px !important;
    letter-spacing: 0.2em;
    margin-bottom: 6px;
  }
  .form-group input[type="text"],
  .form-group input[type="email"],
  .form-group input[type="tel"],
  .form-group select,
  .form-group textarea {
    /* Must be 16px+ to prevent iOS Safari auto-zoom on focus */
    font-size: 16px !important;
    padding: 12px 14px !important;
    width: 100%;
    box-sizing: border-box;
    -webkit-appearance: none;
    border-radius: 4px;
    touch-action: manipulation;
  }
  /* Radio/checkbox — never suppress appearance */
  .form-group input[type="radio"],
  .form-group input[type="checkbox"] {
    -webkit-appearance: auto !important;
    appearance: auto !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0;
    cursor: pointer;
    flex-shrink: 0;
    accent-color: #c8a96e;
  }
  .form-group textarea {
    min-height: 100px;
  }

  /* Submit button — large tap target, iOS Safari compatible */
  .submit-btn {
    padding: 20px 0 !important;
    font-size: 12px !important;
    letter-spacing: 0.3em !important;
    margin-top: 24px !important;
    border-radius: 4px !important;
    -webkit-appearance: none !important;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    /* Prevent double-tap zoom interfering with button */
    cursor: pointer !important;
    position: relative;
    z-index: 5;
    display: block !important;
    width: 100% !important;
    min-height: 56px !important;
  }

  /* Status message */
  #form-status {
    font-size: 13px !important;
    margin-top: 14px !important;
    text-align: center;
  }

  /* Radio group */
  .radio-group {
    display: flex;
    gap: 20px;
    margin-top: 8px;
    flex-wrap: wrap;
  }
  .radio-group label {
    font-size: 14px !important;
    letter-spacing: 0 !important;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 8px 0;
    min-height: 44px;
  }
  .radio-group input[type="radio"] {
    width: 20px !important;
    height: 20px !important;
    -webkit-appearance: auto !important;
    appearance: auto !important;
    accent-color: #c8a96e;
    cursor: pointer;
    flex-shrink: 0;
  }
}

@media (max-width: 480px) {
  .inq-left { padding: 22px 18px 20px !important; }
  .inq-right { padding: 22px 18px 40px !important; }
  .inq-headline { font-size: 1.6rem !important; }
}

.inq-phone-block{margin-top:28px;padding-top:20px;border-top:1px solid rgba(0,0,0,0.08);}
.inq-phone-label{font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:#aaa;margin-bottom:8px;}
.inq-phone-num{font-family:"Cormorant Garamond",serif;font-size:1.8rem;font-weight:300;color:#1a1a1a;text-decoration:none;letter-spacing:0.05em;transition:color 0.2s;}
.inq-phone-num:hover{color:var(--accent);}

/* ══ TOWERS PAGE ══ */
#page-towers {
  position: relative;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#page-towers::before {
  content: "";
  position: fixed;
  inset: 0;
  background: url("../images/390Fremont-tower-backdrop.jpg") center/cover no-repeat;
  filter: brightness(0.55) contrast(1.1);
  z-index: 0;
  pointer-events: none;
  will-change: transform;
  -webkit-animation: towersRotate 60s ease-in-out infinite;
  animation: towersRotate 60s ease-in-out infinite;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#page-towers > * {
  position: relative;
  z-index: 1;
}
.twp-hero {
  background: rgba(0,0,0,0.35);
}
.twp-density {
  background: rgba(0,0,0,0.5) !important;
}
.twp-body {
  background: rgba(0,0,0,0.25);
}
.tw-card {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.tw-card:hover {
  background: rgba(200,169,110,0.10) !important;
}

/* Mobile towers scroll */
@media (max-width: 768px) {
  #page-towers {
    height: 100vh !important;
    height: 100dvh !important;
    overflow-y: scroll !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .twp-hero { padding: 32px 20px !important; flex-direction: column !important; gap: 24px !important; }
  .twp-density { padding: 24px 20px !important; }
  .twp-density-grid { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  .twp-body { padding: 20px 16px 60px !important; }
  .twp-title { font-size: 1.8rem !important; }
  .tw-card { grid-template-columns: 28px 1fr 70px !important; gap: 10px !important; padding: 10px 12px !important; }
  .tw-badge { display: none; }
}

/* ═══════════════════════════════════════════════════════════════════ */
/* MOBILE UI FIXES - Applied 2026-04-09 */
/* ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  
  /* FIX 1 & 2: Menu hamburger and top navigation positioning */
  .menu-btn {
    top: 20px !important;
    right: 20px !important;
    width: 44px !important;
    height: 44px !important;
    z-index: 1000 !important;
  }
  
  .menu-btn span {
    width: 24px !important;
  }
  
  /* Back buttons and logos lowered */
  .back-btn, .ov-nav .back-btn {
    top: 20px !important;
    left: 20px !important;
    padding: 12px 16px !important;
    min-height: 44px !important;
  }
  
  .ov-logo, .sign-logo, .am-logo {
    top: 20px !important;
    left: 20px !important;
  }
  
  /* Safe area for iPhone notch */
  @supports (padding: max(0px)) {
    .menu-btn {
      top: max(20px, env(safe-area-inset-top)) !important;
      right: max(20px, env(safe-area-inset-right)) !important;
    }
    
    .back-btn {
      top: max(20px, env(safe-area-inset-top)) !important;
      left: max(20px, env(safe-area-inset-left)) !important;
    }
  }
  
  /* FIX 5: Visibility/Signage page text overlap */
  #page-signage .sign-hero-content {
    padding-top: 100px !important;
    padding-bottom: 40px !important;
  }
  
  #page-signage .sign-headline {
    font-size: clamp(2rem, 8vw, 2.8rem) !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
  }
  
  #page-signage .sign-eyebrow {
    font-size: 9px !important;
    margin-bottom: 16px !important;
  }
  
  #page-signage .sign-tagline {
    font-size: 11px !important;
    line-height: 1.7 !important;
    margin-bottom: 32px !important;
  }
  
  #page-signage .sign-stats {
    margin-bottom: 32px !important;
  }
  
  /* FIX 6: Amenities page top text visibility */
  #page-amenities {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  .am-hero {
    min-height: auto !important;
    padding-top: 100px !important;
    padding-bottom: 40px !important;
  }
  
  .am-eyebrow {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin-bottom: 16px !important;
    font-size: 9px !important;
  }
  
  .am-headline {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: clamp(2rem, 8vw, 2.6rem) !important;
    line-height: 1.2 !important;
    margin-bottom: 16px !important;
  }
  
  .am-tagline {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 11px !important;
    margin-bottom: 32px !important;
  }
  
  /* General touch target improvements */
  button, a.clickable, .clickable {
    min-height: 44px !important;
    min-width: 44px !important;
  }
}

/* FIX 3: Map markers visibility (all screen sizes) */
.loc-marker {
  background: #c8a96e !important;
  border: 3px solid #fff !important;
  box-shadow: 0 2px 12px rgba(200, 169, 110, 0.6) !important;
  width: 16px !important;
  height: 16px !important;
}

.loc-marker:hover,
.loc-marker-active {
  background: #f4f2ef !important;
  border-color: #c8a96e !important;
  transform: scale(1.4) !important;
}

/* FIX 4: Menu overlay contrast */
.menu-overlay {
  background: rgba(0, 0, 0, 0.96) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

.menu-overlay a {
  color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

/* ═══════════════════════════════════════════════════════════════════ */
/* END MOBILE UI FIXES */
/* ═══════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════ */
/* PWA FULLSCREEN MODE FIX - iPhone 14 Pro Notch/Dynamic Island */
/* Applied 2026-04-09 */
/* ═══════════════════════════════════════════════════════════════════ */

/* Detect PWA standalone mode and add notch compensation */
@media all and (display-mode: standalone) {
  
  /* All pages need top padding for notch */
  .page {
    padding-top: env(safe-area-inset-top, 0) !important;
  }
  
  /* Menu button - push down from notch */
  .menu-btn {
    top: calc(env(safe-area-inset-top, 0px) + 20px) !important;
    right: calc(env(safe-area-inset-right, 0px) + 20px) !important;
  }
  
  /* Back buttons - push down from notch */
  .back-btn {
    top: calc(env(safe-area-inset-top, 0px) + 20px) !important;
    left: calc(env(safe-area-inset-left, 0px) + 20px) !important;
  }
  
  /* Overview page navigation */
  .ov-nav {
    padding-top: calc(env(safe-area-inset-top, 0px) + 36px) !important;
    padding-left: calc(env(safe-area-inset-left, 0px) + 52px) !important;
    padding-right: calc(env(safe-area-inset-right, 0px) + 52px) !important;
  }
  
  /* Overview content - adjust for notch */
  .ov-content {
    padding-top: calc(env(safe-area-inset-top, 0px) + 100px) !important;
  }
  
  /* Hero page content */
  #page-hero .content {
    padding-top: calc(env(safe-area-inset-top, 0px) + 80px) !important;
  }
  
  /* Signage/Visibility page */
  #page-signage .sign-hero-content {
    padding-top: calc(env(safe-area-inset-top, 0px) + 100px) !important;
  }
  
  #page-signage .sign-nav {
    padding-top: calc(env(safe-area-inset-top, 0px) + 36px) !important;
  }
  
  /* Amenities page */
  #page-amenities .am-hero {
    padding-top: calc(env(safe-area-inset-top, 0px) + 100px) !important;
  }
  
  #page-amenities .am-nav {
    padding-top: calc(env(safe-area-inset-top, 0px) + 36px) !important;
  }
  
  /* Location page */
  #page-location .loc-nav {
    padding-top: calc(env(safe-area-inset-top, 0px) + 36px) !important;
  }
  
  /* Availability page */
  #page-availability .avail-nav {
    padding-top: calc(env(safe-area-inset-top, 0px) + 36px) !important;
  }
  
  /* Gallery page */
  #page-gallery .gal-nav {
    padding-top: calc(env(safe-area-inset-top, 0px) + 36px) !important;
  }
  
  /* Inquiry page */
  #page-inquiry .inq-nav {
    padding-top: calc(env(safe-area-inset-top, 0px) + 36px) !important;
  }
  
  /* Towers page */
  #page-towers .tw-nav {
    padding-top: calc(env(safe-area-inset-top, 0px) + 36px) !important;
  }
  
  /* Bottom safe area for home indicator */
  .page {
    padding-bottom: env(safe-area-inset-bottom, 0) !important;
  }
  
  /* Fixed CTA buttons - adjust for bottom home indicator */
  .ov-cta,
  .fixed-cta {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 24px) !important;
  }
}

/* Additional mobile refinement for all modes */
@media (max-width: 768px) {
  
  /* Ensure menu button has enough spacing on notch devices */
  @supports (padding: env(safe-area-inset-top)) {
    .menu-btn {
      top: max(calc(env(safe-area-inset-top) + 20px), 20px) !important;
    }
    
    .back-btn {
      top: max(calc(env(safe-area-inset-top) + 20px), 20px) !important;
    }
  }
  
  /* Prevent content from going under notch */
  .page-content,
  .hero-content,
  .ov-content,
  .sign-hero-content,
  .am-hero {
    padding-top: max(100px, calc(env(safe-area-inset-top, 0px) + 80px)) !important;
  }
}

/* iPhone 14 Pro specific (6.1" with notch) */
@media only screen 
  and (device-width: 393px) 
  and (device-height: 852px) 
  and (-webkit-device-pixel-ratio: 3) {
  
  /* Extra compensation for Dynamic Island */
  .menu-btn {
    top: 65px !important;
  }
  
  .back-btn {
    top: 65px !important;
  }
  
  .ov-nav,
  .sign-nav,
  .am-nav,
  .loc-nav,
  .avail-nav,
  .gal-nav,
  .inq-nav,
  .tw-nav {
    padding-top: 80px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════ */
/* END PWA FULLSCREEN MODE FIX */
/* ═══════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════ */
/* MINIMAL MOBILE MENU DESIGN - Like Hero Page */
/* Applied 2026-04-09 */
/* ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  
  /* ────────────────────────────────────────────────────────────────── */
  /* UNIVERSAL TOP BAR - Same on all pages */
  /* ────────────────────────────────────────────────────────────────── */
  
  /* All page navigation bars - minimal style */
  .ov-nav,
  .sign-nav,
  .am-nav,
  .loc-nav,
  .avail-nav,
  .gal-nav,
  .inq-nav,
  .tw-nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 60px !important;
    padding: 16px 20px !important;
    background: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    z-index: 100 !important;
  }
  
  /* Logo - small and minimal like hero page */
  .ov-logo,
  .sign-logo,
  .am-logo,
  .loc-logo,
  .avail-logo,
  .gal-logo,
  .inq-logo,
  .tw-logo {
    position: static !important;
    font-size: 11px !important;
    letter-spacing: 0.3em !important;
    color: rgba(255,255,255,0.9) !important;
    text-transform: uppercase !important;
    font-weight: 200 !important;
  }
  
  /* Back button - small and minimal */
  .back-btn {
    position: static !important;
    background: rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 20px !important;
    padding: 8px 14px !important;
    font-size: 9px !important;
    letter-spacing: 0.2em !important;
    color: rgba(255,255,255,0.8) !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    min-height: 36px !important;
  }
  
  .back-btn svg {
    width: 12px !important;
    height: 12px !important;
  }
  
  /* ────────────────────────────────────────────────────────────────── */
  /* PAGE CONTENT - Full bleed backgrounds */
  /* ────────────────────────────────────────────────────────────────── */
  
  /* Remove large headers and eyebrows from taking space */
  .ov-content,
  .sign-hero-content,
  .am-hero {
    padding-top: 80px !important;
  }
  
  /* Eyebrows - smaller, less prominent */
  .ov-eyebrow,
  .sign-eyebrow,
  .am-eyebrow,
  .loc-eyebrow,
  .avail-eyebrow,
  .gal-eyebrow,
  .inq-eyebrow {
    font-size: 8px !important;
    letter-spacing: 0.4em !important;
    opacity: 0.6 !important;
    margin-bottom: 12px !important;
  }
  
  /* Headlines - more compact */
  .ov-headline,
  .sign-headline,
  .am-headline,
  .loc-headline,
  .avail-headline,
  .gal-headline,
  .inq-headline {
    font-size: clamp(1.8rem, 7vw, 2.2rem) !important;
    line-height: 1.15 !important;
    margin-bottom: 16px !important;
  }
  
  /* Taglines - smaller */
  .ov-tagline,
  .sign-tagline,
  .am-tagline {
    font-size: 10px !important;
    line-height: 1.6 !important;
    margin-bottom: 24px !important;
  }
  
  /* ────────────────────────────────────────────────────────────────── */
  /* OVERVIEW PAGE - Match hero style */
  /* ────────────────────────────────────────────────────────────────── */
  
  #page-overview {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  /* Stats - more compact grid */
  .ov-stats {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-bottom: 24px !important;
  }
  
  .ov-stat {
    padding: 12px 0 !important;
  }
  
  .ov-stat-num {
    font-size: clamp(1.4rem, 6vw, 1.8rem) !important;
  }
  
  /* ────────────────────────────────────────────────────────────────── */
  /* SIGNAGE/VISIBILITY PAGE - Minimal headers */
  /* ────────────────────────────────────────────────────────────────── */
  
  #page-signage .sign-hero {
    min-height: auto !important;
  }
  
  #page-signage .sign-hero-content {
    padding-top: 80px !important;
    padding-bottom: 32px !important;
  }
  
  /* ────────────────────────────────────────────────────────────────── */
  /* AMENITIES PAGE - Minimal headers */
  /* ────────────────────────────────────────────────────────────────── */
  
  #page-amenities .am-hero {
    min-height: auto !important;
    padding-top: 80px !important;
    padding-bottom: 32px !important;
  }
  
  /* ────────────────────────────────────────────────────────────────── */
  /* LOCATION PAGE - Minimal top bar */
  /* ────────────────────────────────────────────────────────────────── */
  
  #page-location .loc-hero {
    padding-top: 80px !important;
  }
  
  /* ────────────────────────────────────────────────────────────────── */
  /* INQUIRY PAGE - Minimal top bar */
  /* ────────────────────────────────────────────────────────────────── */
  
  .inq-left {
    padding-top: 80px !important;
  }
  
  /* ────────────────────────────────────────────────────────────────── */
  /* PWA MODE - Adjust for notch */
  /* ────────────────────────────────────────────────────────────────── */
  
  @media all and (display-mode: standalone) {
    .ov-nav,
    .sign-nav,
    .am-nav,
    .loc-nav,
    .avail-nav,
    .gal-nav,
    .inq-nav,
    .tw-nav {
      padding-top: calc(env(safe-area-inset-top, 0px) + 16px) !important;
      height: calc(60px + env(safe-area-inset-top, 0px)) !important;
    }
    
    .ov-content,
    .sign-hero-content,
    .am-hero,
    .loc-hero,
    .inq-left {
      padding-top: calc(env(safe-area-inset-top, 0px) + 80px) !important;
    }
  }
  
  /* iPhone 14 Pro specific - extra notch compensation */
  @media only screen 
    and (device-width: 393px) 
    and (device-height: 852px) 
    and (-webkit-device-pixel-ratio: 3) {
    
    .ov-nav,
    .sign-nav,
    .am-nav,
    .loc-nav,
    .avail-nav,
    .gal-nav,
    .inq-nav,
    .tw-nav {
      padding-top: 55px !important;
      height: 95px !important;
    }
    
    .ov-content,
    .sign-hero-content,
    .am-hero,
    .loc-hero,
    .inq-left {
      padding-top: 110px !important;
    }
  }
}

/* ═══════════════════════════════════════════════════════════════════ */
/* END MINIMAL MOBILE MENU DESIGN */
/* ═══════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════ */
/* CLEAR OVERVIEW PAGE - Full Screen Background */
/* Applied 2026-04-09 */
/* ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  
  /* ────────────────────────────────────────────────────────────────── */
  /* OVERVIEW PAGE - Completely transparent top bar */
  /* ────────────────────────────────────────────────────────────────── */
  
  #page-overview .ov-nav {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding-top: 20px !important;
    padding-bottom: 0 !important;
    height: auto !important;
  }
  
  /* Logo - float over video, minimal */
  #page-overview .ov-logo {
    font-size: 10px !important;
    letter-spacing: 0.35em !important;
    color: rgba(255,255,255,0.7) !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.3) !important;
  }
  
  /* Back button - minimal, floating */
  #page-overview .back-btn {
    background: rgba(0,0,0,0.3) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    padding: 8px 12px !important;
    font-size: 8px !important;
    color: rgba(255,255,255,0.9) !important;
  }
  
  /* Content starts immediately - full bleed */
  #page-overview .ov-content {
    padding-top: 70px !important;
  }
  
  /* Video - full screen edge to edge */
  #page-overview #ov-video {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 0 !important;
  }
  
  /* Veil - subtle, doesn't block view */
  #page-overview .ov-veil {
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.1) 0%,
      rgba(0,0,0,0.4) 50%,
      rgba(0,0,0,0.7) 100%
    ) !important;
    z-index: 1 !important;
  }
  
  /* Content floats above video */
  #page-overview .ov-content {
    position: relative !important;
    z-index: 5 !important;
  }
  
  /* PWA Mode - adjust for notch but keep transparent */
  @media all and (display-mode: standalone) {
    #page-overview .ov-nav {
      padding-top: calc(env(safe-area-inset-top, 0px) + 20px) !important;
    }
    
    #page-overview .ov-content {
      padding-top: calc(env(safe-area-inset-top, 0px) + 70px) !important;
    }
  }
  
  /* iPhone 14 Pro - notch compensation but stay transparent */
  @media only screen 
    and (device-width: 393px) 
    and (device-height: 852px) 
    and (-webkit-device-pixel-ratio: 3) {
    
    #page-overview .ov-nav {
      padding-top: 55px !important;
    }
    
    #page-overview .ov-content {
      padding-top: 105px !important;
    }
  }
}

/* ═══════════════════════════════════════════════════════════════════ */
/* END CLEAR OVERVIEW PAGE */
/* ═══════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════ */
/* COMPLETE MOBILE REDESIGN - All Pages Clear Style Like Overview */
/* Applied 2026-04-09 - Final Version */
/* ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  
  /* ────────────────────────────────────────────────────────────────── */
  /* UNIVERSAL CLEAR TOP BAR - All Pages Same as Overview */
  /* ────────────────────────────────────────────────────────────────── */
  
  /* All navigation bars - completely transparent */
  .ov-nav,
  .loc-nav,
  .tw-nav,
  .avail-nav,
  .am-nav,
  .sign-nav,
  .gal-nav,
  .inq-nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 20px 20px 0 20px !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    z-index: 100 !important;
  }
  
  /* All logos - minimal floating style */
  .ov-logo,
  .loc-logo,
  .tw-logo,
  .avail-logo,
  .am-logo,
  .sign-logo,
  .gal-logo,
  .inq-logo {
    position: static !important;
    font-size: 10px !important;
    letter-spacing: 0.35em !important;
    color: rgba(255,255,255,0.7) !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.3) !important;
    text-transform: uppercase !important;
    font-weight: 200 !important;
  }
  
  /* All back buttons - minimal floating style */
  .back-btn {
    position: static !important;
    background: rgba(0,0,0,0.3) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-radius: 20px !important;
    padding: 8px 12px !important;
    font-size: 8px !important;
    letter-spacing: 0.2em !important;
    color: rgba(255,255,255,0.9) !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 36px !important;
  }
  
  .back-btn svg {
    width: 12px !important;
    height: 12px !important;
  }
  
  /* ────────────────────────────────────────────────────────────────── */
  /* 1. LOCATION PAGE - Clear top bar, full map visible */
  /* ────────────────────────────────────────────────────────────────── */
  
  #page-location {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  .loc-hero {
    padding-top: 70px !important;
    padding-bottom: 24px !important;
  }
  
  .loc-eyebrow {
    font-size: 8px !important;
    letter-spacing: 0.4em !important;
    margin-bottom: 12px !important;
  }
  
  .loc-headline {
    font-size: clamp(1.8rem, 7vw, 2.2rem) !important;
    line-height: 1.15 !important;
    margin-bottom: 16px !important;
  }
  
  .loc-tagline {
    font-size: 10px !important;
    line-height: 1.6 !important;
    margin-bottom: 24px !important;
  }
  
  /* ────────────────────────────────────────────────────────────────── */
  /* 2. TOWERS PAGE - Add background image support */
  /* ────────────────────────────────────────────────────────────────── */
  
  #page-towers {
    position: relative !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  /* Background image for towers page */
  #page-towers::before {
    content: '' !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-image: url('../images/390Fremont-tower-backdrop.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    z-index: -1 !important;
  }
  
  /* Dark overlay for readability */
  #page-towers::after {
    content: '' !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.3) 0%,
      rgba(0,0,0,0.7) 100%
    ) !important;
    z-index: -1 !important;
  }
  
  .tw-hero,
  .tw-density,
  .tw-body {
    background: transparent !important;
    position: relative !important;
    z-index: 1 !important;
  }
  
  .tw-hero {
    padding-top: 80px !important;
  }
  
  /* ────────────────────────────────────────────────────────────────── */
  /* 3. AVAILABILITY PAGE - Add signage info */
  /* ────────────────────────────────────────────────────────────────── */
  
  #page-availability {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  .avail-hero {
    padding-top: 70px !important;
  }
  
  .avail-headline {
    font-size: clamp(1.8rem, 7vw, 2.2rem) !important;
    line-height: 1.15 !important;
  }
  
  /* ────────────────────────────────────────────────────────────────── */
  /* 4. AMENITIES PAGE - Clear top, full bleed background */
  /* ────────────────────────────────────────────────────────────────── */
  
  #page-amenities {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  .am-hero {
    min-height: auto !important;
    padding-top: 70px !important;
    padding-bottom: 32px !important;
  }
  
  .am-eyebrow {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 8px !important;
    margin-bottom: 12px !important;
  }
  
  .am-headline {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: clamp(1.8rem, 7vw, 2.2rem) !important;
    line-height: 1.15 !important;
    margin-bottom: 16px !important;
  }
  
  .am-tagline {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 10px !important;
    margin-bottom: 24px !important;
  }
  
  /* ────────────────────────────────────────────────────────────────── */
  /* 5. VISIBILITY/SIGNAGE PAGE - Full screen video */
  /* ────────────────────────────────────────────────────────────────── */
  
  #page-signage {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  .sign-hero {
    min-height: auto !important;
  }
  
  .sign-hero-content {
    padding-top: 70px !important;
    padding-bottom: 32px !important;
  }
  
  .sign-eyebrow {
    font-size: 8px !important;
    margin-bottom: 12px !important;
  }
  
  .sign-headline {
    font-size: clamp(1.8rem, 7vw, 2.2rem) !important;
    line-height: 1.15 !important;
    margin-bottom: 16px !important;
  }
  
  .sign-tagline {
    font-size: 10px !important;
    line-height: 1.6 !important;
    margin-bottom: 24px !important;
  }
  
  /* ────────────────────────────────────────────────────────────────── */
  /* 6. GALLERY PAGE - Full screen video background */
  /* ────────────────────────────────────────────────────────────────── */
  
  #page-gallery {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  .gal-hero {
    padding-top: 70px !important;
  }
  
  /* ────────────────────────────────────────────────────────────────── */
  /* 7. INQUIRY PAGE - Clear style */
  /* ────────────────────────────────────────────────────────────────── */
  
  #page-inquiry {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  .inq-inner {
    padding-top: 70px !important;
  }
  
  .inq-left {
    padding-top: 0 !important;
  }
  
  /* ────────────────────────────────────────────────────────────────── */
  /* PWA MODE - Notch adjustments for all pages */
  /* ────────────────────────────────────────────────────────────────── */
  
  @media all and (display-mode: standalone) {
    /* All nav bars adjust for notch */
    .ov-nav,
    .loc-nav,
    .tw-nav,
    .avail-nav,
    .am-nav,
    .sign-nav,
    .gal-nav,
    .inq-nav {
      padding-top: calc(env(safe-area-inset-top, 0px) + 20px) !important;
    }
    
    /* All content adjusts for notch */
    .ov-content,
    .loc-hero,
    .tw-hero,
    .avail-hero,
    .am-hero,
    .sign-hero-content,
    .gal-hero,
    .inq-inner {
      padding-top: calc(env(safe-area-inset-top, 0px) + 70px) !important;
    }
  }
  
  /* iPhone 14 Pro specific */
  @media only screen 
    and (device-width: 393px) 
    and (device-height: 852px) 
    and (-webkit-device-pixel-ratio: 3) {
    
    .ov-nav,
    .loc-nav,
    .tw-nav,
    .avail-nav,
    .am-nav,
    .sign-nav,
    .gal-nav,
    .inq-nav {
      padding-top: 55px !important;
    }
    
    .ov-content,
    .loc-hero,
    .tw-hero,
    .avail-hero,
    .am-hero,
    .sign-hero-content,
    .gal-hero,
    .inq-inner {
      padding-top: 105px !important;
    }
  }
}

/* ═══════════════════════════════════════════════════════════════════ */
/* END COMPLETE MOBILE REDESIGN */
/* ═══════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════
   AMENITIES HERO — DEFINITIVE PADDING FIX
   dark-nav is sticky ~80px; headline must clear it fully
   ═══════════════════════════════════════════════════════ */
#page-amenities .am-hero {
  padding-top: 40px !important;   /* nav is sticky, hero already below it */
  padding-bottom: 56px !important;
  overflow: visible !important;   /* never clip the headline */
}
@media (max-width: 768px) {
  #page-amenities .am-hero {
    padding-top: 24px !important;
  }
}

/* ══ COPYRIGHT FOOTER ══ */
.site-copyright {
  position: fixed;
  bottom: 20px;
  left: 28px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 200;
  font-size: 9px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.28);
  z-index: 50;
  pointer-events: none;
  transition: color 0.3s;
  user-select: none;
}
/* Slightly brighter on light-bg pages (inquire) */
#page-inquire .site-copyright {
  color: rgba(0,0,0,0.22);
}
@media (max-width: 768px) {
  .site-copyright {
    bottom: 14px;
    left: 18px;
    font-size: 8px;
    letter-spacing: 0.18em;
  }
}

/* Copyright inside open menu — bottom left */
.menu-copyright {
  position: absolute;
  bottom: 28px;
  left: 10vw;
  font-family: 'Montserrat', sans-serif;
  font-weight: 200;
  font-size: 10px;
  letter-spacing: 0.3em;
  color: rgba(255,255,255,0.45);
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .menu-copyright {
    position: static;
    display: block;
    text-align: left;
    margin-top: auto;
    padding: 0 0 12px 8vw;
  }
  .menu-contact {
    position: static;
    display: block;
    text-align: right;
    padding: 0 8vw 28px 0;
  }
  /* wrapper to push both to bottom on mobile */
  .menu-bottom-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0 8vw 28px 8vw;
  }
}

/* Location tabs — single scrollable row on mobile */
@media (max-width: 768px) {
  #page-location .cat-tab-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 0.6rem !important;
    padding: 0 1.5rem 1.5rem 1.5rem !important;
    scrollbar-width: none !important;
  }
  #page-location .cat-tab-row::-webkit-scrollbar { display: none; }
  #page-location .cat-tab-row button {
    flex-shrink: 0 !important;
    font-size: 0.72rem !important;
    padding: 0.4rem 0.75rem !important;
  }
  /* Reduce header padding on mobile */
  #page-location [style*="padding:0 3rem"] {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  /* copyright must not cover list items */
  #page-location .site-copyright {
    display: none;
  }
}

/* ══ TOWERS BACKDROP — mobile-safe animation ══ */
/* .towers-backdrop removed — animation now on #page-towers::before */
@keyframes towersRotate {
  0%   { transform: scale(1.15) translate(0, 0); }
  25%  { transform: scale(1.2) translate(-3%, -2%); }
  50%  { transform: scale(1.18) translate(-5%, 1%); }
  75%  { transform: scale(1.2) translate(-2%, -3%); }
  100% { transform: scale(1.15) translate(0, 0); }
}
@-webkit-keyframes towersRotate {
  0%   { -webkit-transform: scale(1.15) translate(0, 0); }
  25%  { -webkit-transform: scale(1.2) translate(-3%, -2%); }
  50%  { -webkit-transform: scale(1.18) translate(-5%, 1%); }
  75%  { -webkit-transform: scale(1.2) translate(-2%, -3%); }
  100% { -webkit-transform: scale(1.15) translate(0, 0); }
}

/* ══ INQUIRY — SIGNAGE SLIDER ══ */
.signage-slider-wrap {
  margin-top: 10px;
}
.signage-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 2px;
  background: rgba(255,255,255,0.15);
  border-radius: 1px;
  outline: none;
  cursor: pointer;
  accent-color: var(--accent);
}
.signage-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--accent);
  cursor: pointer;
  border: 2px solid rgba(255,255,255,0.3);
  transition: transform 0.15s;
}
.signage-slider::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}
.signage-slider::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--accent);
  cursor: pointer;
  border: 2px solid rgba(255,255,255,0.3);
}
.signage-slider-labels {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  letter-spacing: 0.2em;
  color: rgba(255,255,255,0.35);
}
.signage-current {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  font-weight: 300;
  color: var(--accent);
  letter-spacing: 0.05em;
  min-width: 2ch;
  text-align: center;
}

/* loc-map rules consolidated below */

/* ══ LOCATION MAP — definitive rules ══ */
#loc-map {
  display: block !important;
  width: 100% !important;
  height: 460px !important;
  border: none !important;
  flex-shrink: 0 !important;
}
.loc-map-container {
  height: 460px !important;
  overflow: hidden !important;
  position: relative !important;
  flex-shrink: 0 !important;
  width: 100% !important;
}
@media (max-width: 768px) {
  #loc-map {
    height: 400px !important;
  }
  .loc-map-container {
    height: 400px !important;
  }
  /* Extra bottom padding so map clears iOS Safari toolbar */
  #page-location > div:last-child,
  #page-location > div > div:last-child {
    padding-bottom: 120px !important;
  }
}
