/* ============ fonts, served from this site ============ */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/inter-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/inter-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fonts/inter-500-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fonts/inter-500-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fonts/inter-600-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fonts/inter-600-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;
  src:url('/assets/fonts/playfair-display-400i-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;
  src:url('/assets/fonts/playfair-display-400i-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/playfair-display-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/playfair-display-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fonts/playfair-display-500-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fonts/playfair-display-500-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fonts/playfair-display-600-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fonts/playfair-display-600-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ============ tokens ============ */
:root{
  --ink: #111111;         
  --ink-2: #1A1A1A;       
  --bone: #FFFFFF;        
  --paper: #F9F9F9;       
  --moss: #97A97F;        
  --sage: #B9C7A6;        
  --slate: #666666;       
  --line: #EAEAEA;        
  --line-dark: #333333;

  --w: 1320px;
  --gut: clamp(20px, 4.5vw, 60px);
  --bar: 80px;            

  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'Inter', system-ui, sans-serif;
}

*,*::before,*::after{box-sizing:border-box !important}
html{-webkit-text-size-adjust:100% !important;scroll-behavior:smooth !important;scroll-padding-top:calc(var(--bar) + 44px) !important}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto !important}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0 !important;background:var(--bone) !important;color:var(--ink) !important;
  font-family:var(--sans) !important;font-size:16px !important;line-height:1.6 !important;-webkit-font-smoothing:antialiased !important}
img,svg{max-width:100% !important;display:block !important}
a{color:inherit !important}
:focus-visible{outline:2px solid var(--moss) !important;outline-offset:3px !important}
.dark :focus-visible,.solid :focus-visible{outline-color:var(--bone) !important}
.skip{position:absolute !important;left:-9999px !important;background:var(--ink) !important;color:var(--bone) !important;padding:10px 16px !important;z-index:300 !important}
.skip:focus{left:8px !important;top:8px !important}

/* ============ type ============ */
h1,h2,h3{margin:0 !important;font-family:var(--serif) !important;font-weight:400 !important;line-height:1.1 !important;letter-spacing:-.01em !important; color: var(--ink) !important}
h1{font-size:clamp(3.5rem, 6.2vw, 5.5rem) !important;line-height:1 !important;letter-spacing:-.02em !important}
h2{font-size:clamp(2.5rem, 4vw, 3.8rem) !important}
h3{font-size:1.6rem !important;line-height:1.2 !important}

/* Suprascriere culori titluri pe fundal intunecat */
.dark h1, .dark h2, .dark h3 { color: var(--bone) !important; }
.solid h1, .solid h2, .solid h3 { color: #FFFFFF !important; }

p{margin:0 !important}
.tag{display:block !important;font-family:var(--sans) !important;font-size:.7rem !important;font-weight:600 !important;
  letter-spacing:.15em !important;text-transform:uppercase !important;color:var(--slate) !important;margin-bottom:16px !important}
.dark .tag{color:#A0A0A0 !important;}
.solid .tag{color:#FFFFFF !important; opacity: 0.8 !important;}
.sec{color:var(--slate) !important;max-width:60ch !important;font-size:1.05rem !important; line-height: 1.7 !important}
.dark .sec{color:#CCCCCC !important}
.solid .sec{color:#FFFFFF !important; opacity: 0.9 !important}
.small{font-size:.85rem !important;color:var(--slate) !important}
.dark .small{color:#A0A0A0 !important}

/* ============ layout ============ */
.wrap{max-width:var(--w) !important;margin-inline:auto !important;padding-inline:var(--gut) !important}
section{padding-block:clamp(80px,10vw,140px) !important}
.dark{background:var(--ink) !important;color:var(--bone) !important}
.solid{background:var(--moss) !important;color:#FFFFFF !important}
.head{display:grid !important;gap:16px !important;justify-items:start !important;margin-bottom:clamp(40px,5vw,60px) !important}
.rule{border:0 !important;border-top:1px solid var(--line) !important}

/* ============ buttons ============ */
.btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;font:inherit !important;font-weight:500 !important;
  font-size:.95rem !important;padding:16px 32px !important;background:var(--ink) !important;color:var(--bone) !important;
  border: 1px solid var(--ink) !important; border-radius:0 !important;cursor:pointer !important;text-decoration:none !important;transition:background .2s,color .2s,border-color .2s !important}
.btn:hover{background:var(--moss) !important;color:var(--bone) !important; border-color:var(--moss) !important}
.btn--ghost{background:transparent !important;color:var(--ink) !important; border:1px solid var(--ink) !important}
.btn--ghost:hover{background:var(--ink) !important;color:var(--bone) !important}
.btn--sm{padding:12px 24px !important;font-size:.85rem !important}
.dark .btn{background:var(--bone) !important;border-color:var(--bone) !important;color:var(--ink) !important}
.dark .btn:hover{background:var(--moss) !important;color:var(--bone) !important; border-color:var(--moss) !important}
.dark .btn--ghost{background:transparent !important;color:var(--bone) !important;border-color:var(--bone) !important}
.dark .btn--ghost:hover{background:var(--bone) !important;color:var(--ink) !important;border-color:var(--bone) !important}
.solid .btn{background:#FFFFFF !important;border-color:#FFFFFF !important;color:var(--moss) !important}
.solid .btn:hover{background:var(--ink) !important;color:#FFFFFF !important; border-color:var(--ink) !important}
.more{display:inline-flex !important;align-items:center !important;gap:10px !important;font-size:.9rem !important;font-weight:500 !important;text-decoration:none !important}
.more::after{content:"" !important;width:26px !important;height:1px !important;background:currentColor !important;transition:width .2s !important}
.more:hover::after{width:42px !important}
.more--accent{color:var(--moss) !important}
.dark .more--accent{color:var(--sage) !important}

/* ============ status chips ============ */
.chip{display:inline-flex !important;align-items:center !important;gap:8px !important;font-size:.7rem !important;font-weight:600 !important;
  letter-spacing:.1em !important;text-transform:uppercase !important;padding:6px 12px !important;background:var(--paper) !important; color:var(--ink) !important}
.chip::before{content:"" !important;width:6px !important;height:6px !important;background:currentColor !important; border-radius:50% !important}
.chip--open{color:var(--moss) !important}
.chip--soon{color:var(--slate) !important}
.chip--lease{color:var(--bone) !important;background:var(--ink) !important}
.dark .chip{background:#2A2A2A !important}
.dark .chip--open{color:var(--sage) !important}
.dark .chip--soon{color:#A0A0A0 !important}

/* ============ header ============ */
.util{background:var(--paper) !important;color:var(--slate) !important;font-size:.78rem !important;padding-block:12px !important; border-bottom:1px solid var(--line) !important}
.util .wrap{display:flex !important;justify-content:space-between !important;gap:18px !important;align-items:center !important}
.util a{color:var(--ink) !important;font-weight:600 !important;text-decoration:none !important}
.util a:hover{text-decoration:underline !important; color:var(--moss) !important}

.stickybar{position:sticky !important;top:0 !important;z-index:100 !important;container-type:scroll-state !important;container-name:nav !important}
header.bar{background:var(--bone) !important;border-bottom:1px solid transparent !important;transition:border-color .2s,background .2s !important}
@container nav scroll-state(stuck: top){header.bar{border-bottom-color:var(--line) !important;
  background:rgb(255 255 255/.96) !important;backdrop-filter:blur(8px) !important}}
header.bar.is-stuck{border-bottom-color:var(--line) !important;background:rgb(255 255 255/.96) !important;backdrop-filter:blur(8px) !important}
.bar .wrap{display:grid !important;grid-template-columns:1fr auto 1fr !important;align-items:center !important;height:var(--bar) !important}
.menubtn{justify-self:start !important;display:inline-flex !important;align-items:center !important;gap:11px !important;background:none !important;border:0 !important;
  font:inherit !important;font-size:.9rem !important;font-weight:500 !important;cursor:pointer !important;padding:8px 0 !important}
.menubtn svg{width:17px !important;height:9px !important}
.brand{justify-self:center !important;font-family:var(--serif) !important;font-size:1.4rem !important;letter-spacing:0 !important;
  text-decoration:none !important;white-space:nowrap !important; color: var(--ink) !important}
.brand b{font-weight:500 !important; font-family:var(--sans) !important; font-size:1.2rem !important; letter-spacing: -0.02em !important}
.bar .btn{justify-self:end !important}
/* ---- brand lockup (image logo) ---- */
.brand{display:inline-flex !important;align-items:center !important;line-height:0 !important}
.brand img{height:44px !important;width:auto !important;max-width:none !important;display:block !important}
.mtop .brand img{height:40px !important}
footer .brand img{height:52px !important}
@media (max-width:640px){.brand img{height:34px !important}}

/* ============ overlay menu ============ */
#menu{border:0 !important;padding:0 !important;margin:0 !important;width:100vw !important;max-width:100vw !important;height:100dvh !important;max-height:100dvh !important;
  background:var(--bone) !important;color:var(--ink) !important}
#menu::backdrop{background:rgb(17 17 17/.8) !important}
.mtop{display:grid !important;grid-template-columns:1fr auto 1fr !important;align-items:center !important;height:var(--bar) !important;
  border-bottom:1px solid var(--line) !important;padding-inline:var(--gut) !important}
.mclose{justify-self:start !important;background:none !important;border:0 !important;font:inherit !important;font-size:.9rem !important;font-weight:500 !important;
  cursor:pointer !important;display:inline-flex !important;gap:11px !important;align-items:center !important;padding:8px 0 !important}
.mbody{max-width:var(--w) !important;margin-inline:auto !important;padding:clamp(40px,5vw,80px) var(--gut) 70px !important;
  display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:clamp(24px,3vw,40px) !important;
  overflow:auto !important;max-height:calc(100dvh - var(--bar)) !important}
.mcol h4{margin:0 0 20px !important;font-family:var(--sans) !important;font-size:.7rem !important;font-weight:600 !important;
  letter-spacing:.15em !important;text-transform:uppercase !important;color:var(--slate) !important}
.mcol ul{list-style:none !important;margin:0 !important;padding:0 !important;display:grid !important;gap:6px !important}
.mcol a{display:block !important;font-family:var(--serif) !important;font-size:clamp(1.4rem,2vw,1.8rem) !important;
  line-height:1.2 !important;text-decoration:none !important;padding:4px 0 !important;transition:color .15s !important}
.mcol a:hover{color:var(--moss) !important}
.mcol .note{font-size:.85rem !important;color:var(--slate) !important;margin-top:16px !important;display:block !important;line-height:1.5 !important}
.mfoot{grid-column:1/-1 !important;border-top:1px solid var(--line) !important;padding-top:30px !important;margin-top:20px !important;
  display:flex !important;flex-wrap:wrap !important;gap:16px 32px !important;align-items:center !important;justify-content:space-between !important}

/* ============ hero ============ */
.hero{padding-block:clamp(60px,8vw,100px) 0 !important}
.hero-grid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:clamp(40px,6vw,80px) !important;align-items:start !important}
.hero h1{max-width:14ch !important; line-height: 1.05 !important}
.hero-right{display:grid !important;gap:30px !important;padding-top: 10px !important; justify-items:start !important}
.hero-actions{display:flex !important;flex-wrap:wrap !important;gap:16px !important}
.hero-media{margin-top:clamp(40px,6vw,80px) !important;display:grid !important;grid-template-columns:2fr 1.2fr !important;gap:20px !important; align-items: stretch !important; min-height: 400px !important}
/* Imagini placeholders (fara border radius) */
.ph{background:var(--paper) !important;position:relative !important;overflow:hidden !important; display:flex !important; align-items:flex-end !important; padding:32px !important; border-radius: 0 !important;}
.ph::after{content:attr(data-ph) !important;font-size:.75rem !important; font-weight:600 !important;
  letter-spacing:.1em !important;text-transform:uppercase !important;color:var(--slate) !important; z-index: 2 !important;}
.ph--a{background:#EFEFEF !important}
.ph--b{background:#E8E8E8 !important}
.ph img{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;
  object-fit:cover !important;max-width:none !important;display:block !important;z-index:1 !important}
.facts{display:grid !important;grid-template-columns:repeat(3,1fr) !important; gap: 40px !important;
  margin-top:clamp(40px,6vw,80px) !important; padding-top: 40px !important; border-top: 1px solid var(--line) !important}
.facts div{display:grid !important; gap: 8px !important}
.facts b{font-family:var(--serif) !important;font-size:1.4rem !important;font-weight:400 !important}
.facts span{font-size:.95rem !important;color:var(--slate) !important}

/* ============ router ============ */
.router{display:grid !important;grid-template-columns:repeat(4,1fr) !important; gap: 24px !important}
.router a{display:grid !important;gap:16px !important;align-content:start !important;justify-items:start !important;padding:32px !important; background:var(--paper) !important;
  text-decoration:none !important;transition:transform .2s, background .2s !important; border-radius: 0 !important;} 
.router a:hover{background:#F1F1F1 !important; transform: translateY(-4px) !important}
.router p{font-size:1rem !important;color:var(--slate) !important;line-height:1.6 !important}
.router .more{margin-top:8px !important}

/* ============ masterplan ============ */
.plan-top{display:flex !important;flex-wrap:wrap !important;gap:24px !important;justify-content:space-between !important;align-items:end !important;margin-bottom:40px !important}
.toggle{display:inline-flex !important; background: #2A2A2A !important; padding: 4px !important; border-radius: 0 !important} 
.toggle button{font:inherit !important;font-size:.85rem !important;font-weight:500 !important;padding:12px 24px !important;background:none !important;border:0 !important;color:#A0A0A0 !important;cursor:pointer !important; border-radius: 0 !important} 
.toggle button[aria-pressed="true"]{background:var(--bone) !important;color:var(--ink) !important}
.filters{display:flex !important;flex-wrap:wrap !important;gap:12px !important; margin-bottom:24px !important}
.filters button{font:inherit !important;font-size:.85rem !important;font-weight:500 !important;padding:10px 20px !important;cursor:pointer !important;background:#2A2A2A !important;
  border:0 !important; color:#A0A0A0 !important; border-radius: 0 !important} 
.filters button[aria-pressed="true"]{background:var(--bone) !important;color:var(--ink) !important}
.filters .count{opacity:.5 !important;margin-left:8px !important;font-variant-numeric:tabular-nums !important}

.plan{display:grid !important;grid-template-columns:minmax(0,1fr) 380px !important; gap: 24px !important}
.canvas{position:relative !important;background:#222 !important;width:100% !important;aspect-ratio:16/10 !important}
.canvas svg.site{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important}
.pin{position:absolute !important;transform:translate(-50%,-50%) !important;display:flex !important;align-items:center !important;gap:10px !important;
  background:var(--bone) !important;color:var(--ink) !important;border:0 !important;padding:8px 16px 8px 10px !important;font:inherit !important;font-size:.85rem !important;
  font-weight:500 !important;cursor:pointer !important;white-space:nowrap !important;box-shadow:0 10px 30px rgb(0 0 0/.2) !important;
  transition:transform .2s,background .2s !important; border-radius: 30px !important} 
.pin:hover,.pin[aria-current="true"]{transform:translate(-50%,-50%) scale(1.05) !important;background:var(--moss) !important; color:var(--bone) !important}
.pin[data-status="available"]{background:var(--ink) !important;color:var(--bone) !important}
.pin[data-status="available"]:hover,.pin[data-status="available"][aria-current="true"]{background:var(--moss) !important;color:var(--bone) !important}
.pin .dot{width:20px !important;height:20px !important;background:currentColor !important;display:grid !important;place-items:center !important; border-radius: 50% !important}
.pin .dot i{font-style:normal !important;font-size:.65rem !important;font-weight:600 !important;color:var(--bone) !important}
.pin:hover .dot i, .pin[aria-current="true"] .dot i {color: var(--moss) !important}
.pin[data-status="available"] .dot i{color:var(--ink) !important}
.pin[data-status="available"]:hover .dot i, .pin[data-status="available"][aria-current="true"] .dot i {color: var(--moss) !important}
.pin[hidden]{display:none !important}
.hint{position:absolute !important;left:24px !important;bottom:24px !important;font-size:.75rem !important;letter-spacing:.1em !important;text-transform:uppercase !important;
  color:#A0A0A0 !important;background:rgb(26 26 26/.9) !important;padding:8px 14px !important; font-weight: 600 !important}

.panel{background:#1A1A1A !important;padding:40px !important;display:grid !important;
  align-content:start !important;justify-items:start !important;gap:20px !important;overflow:auto !important;max-height:660px !important}
.panel h3{font-size:2rem !important; color:var(--bone) !important}
.pfacts{list-style:none !important;margin:0 !important;padding:0 !important;width:100% !important; display:grid !important; gap:16px !important; margin-top: 10px !important}
.pfacts li{display:flex !important;justify-content:space-between !important;gap:16px !important;padding-bottom:16px !important;
  border-bottom:1px solid #333 !important;font-size:.95rem !important}
.pfacts span:first-child{color:#A0A0A0 !important}
.planlist{margin:0 !important;padding:0 !important;list-style:none !important;display:none !important}

/* ============ stats ============ */
.stats-container { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 18px !important; margin-bottom: 60px !important}
.stats-container .sec { margin-inline: auto !important }
.stats{display:grid !important;grid-template-columns:repeat(4,1fr) !important; gap: 40px !important; padding-top: 20px !important}
.stat{display:grid !important;gap:12px !important;align-content:start !important; text-align: center !important; justify-items: center !important}
.stat .n{font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(3.5rem,6vw,5.5rem) !important;line-height:1 !important;
  letter-spacing:-.02em !important;display:flex !important;align-items:baseline !important; justify-content: center !important}
.stat .n sup{font-size:.4em !important;font-weight:500 !important;top:-1.2em !important;position:relative !important;letter-spacing:0 !important;margin-left:4px !important; font-family: var(--sans) !important; text-transform: uppercase !important;}
.stat .l{font-size:.95rem !important;line-height:1.5 !important; color: var(--ink) !important}
.stat .src{font-size:.75rem !important;color:var(--slate) !important}

/* ============ cells ============ */
.grid3{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap: 24px !important}
.cell{background:var(--paper) !important; display:flex !important; flex-direction:column !important; text-decoration:none !important;transition:transform .2s, background .2s !important; border-radius: 0 !important; overflow: hidden !important} 
a.cell:hover{background:#F1F1F1 !important; transform: translateY(-4px) !important}
.cell-content {padding: 32px !important; display: grid !important; gap: 16px !important; align-content: start !important; justify-items: start !important; flex: 1 !important}
/* Square card images */
.cell .ph {width: 100% !important; aspect-ratio: 1/1 !important; border-radius: 0 !important; flex-shrink: 0 !important; padding: 32px !important; align-items: flex-start !important; justify-content: flex-end !important} 
.cell p{font-size:1rem !important;color:var(--slate) !important;line-height:1.6 !important}
.cell .fact{font-size:.9rem !important;font-weight:500 !important; margin-top: auto !important; padding-top: 16px !important}
.date{font-size:.8rem !important;font-weight:600 !important;letter-spacing:.1em !important;text-transform:uppercase !important;color:var(--moss) !important}

/* ============ timeline ============ */
.timeline{list-style:none !important;margin:0 !important;padding:0 !important;display:grid !important;grid-template-columns:repeat(4,1fr) !important; gap: 24px !important}
.timeline li{padding:32px !important; background:var(--paper) !important; display:grid !important;gap:16px !important;align-content:start !important; border-radius: 0 !important;} 
.timeline li[data-now]{background:var(--ink) !important;color:var(--bone) !important}
.timeline li[data-now] h3{color:var(--bone) !important}
.timeline li[data-now] p{color:#A0A0A0 !important}
.timeline .when{font-size:.75rem !important;font-weight:600 !important;letter-spacing:.15em !important;text-transform:uppercase !important;color:var(--moss) !important}
.timeline h3{font-size:1.4rem !important}
.timeline p{font-size:.95rem !important;color:var(--slate) !important}

/* ============ agenda (What's on) ============ */
.agenda{display:grid !important;grid-template-columns:1.15fr 1fr !important;gap:clamp(32px,4vw,64px) !important;align-items:start !important}
.agenda-feature{display:grid !important;text-decoration:none !important;background:var(--paper) !important;transition:background .2s !important}
.agenda-feature:hover{background:#F1F1F1 !important}
.agenda-feature .ph{aspect-ratio:4/3 !important;padding:0 !important}
.agenda-feature-body{padding:32px !important;display:grid !important;gap:14px !important;justify-items:start !important}
.agenda-feature h3{font-size:1.8rem !important}
.agenda-feature p{color:var(--slate) !important}
.agenda-list{list-style:none !important;margin:0 !important;padding:0 !important;border-top:1px solid var(--line) !important}
.agenda-list li{margin:0 !important;padding:0 !important}
.agenda-list a{display:grid !important;grid-template-columns:72px 1fr auto !important;gap:24px !important;align-items:center !important;
  padding:24px 0 !important;border-bottom:1px solid var(--line) !important;text-decoration:none !important;transition:padding-left .2s !important}
.agenda-list a:hover{padding-left:8px !important}
.agenda-list .day{display:grid !important;justify-items:center !important;line-height:1 !important}
.agenda-list .day b{font-family:var(--serif) !important;font-weight:400 !important;font-size:2.2rem !important;letter-spacing:-.02em !important}
.agenda-list .day small{font-size:.7rem !important;font-weight:600 !important;letter-spacing:.15em !important;text-transform:uppercase !important;color:var(--moss) !important;margin-top:6px !important}
.agenda-list h3{font-size:1.2rem !important}
.agenda-list p{font-size:.9rem !important;color:var(--slate) !important;margin-top:4px !important}
.agenda-list .more{white-space:nowrap !important}
.agenda-foot{margin-top:24px !important;display:flex !important;gap:24px !important;align-items:center !important;flex-wrap:wrap !important}

/* ============ progress (100vh, video bg) ============ */
.progress{position:relative !important;min-height:100vh !important;min-height:100svh !important;display:grid !important;align-content:end !important;
  overflow:hidden !important;color:var(--bone) !important;background:var(--ink) url(/assets/images/hero-poster.webp) center/cover no-repeat !important}
.progress-video{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;z-index:0 !important}
.progress::before{content:"" !important;position:absolute !important;inset:0 !important;z-index:1 !important;
  background:linear-gradient(180deg,rgb(17 17 17/.25) 0%,rgb(17 17 17/.55) 50%,rgb(17 17 17/.85) 100%) !important}
.progress .wrap{position:relative !important;z-index:2 !important;width:100% !important}
.progress h2,.progress h3{color:var(--bone) !important}
.progress .tag{color:rgb(255 255 255/.7) !important}
.progress .sec{color:rgb(255 255 255/.85) !important}
.progress .timeline li{background:rgb(255 255 255/.08) !important;border:1px solid rgb(255 255 255/.14) !important;backdrop-filter:blur(12px) !important;-webkit-backdrop-filter:blur(12px) !important}
.progress .timeline p{color:rgb(255 255 255/.72) !important}
.progress .timeline .when{color:var(--sage) !important}
.progress .timeline li[data-now]{background:var(--moss) !important;border-color:var(--moss) !important;color:#FFFFFF !important}
.progress .timeline li[data-now] h3{color:#FFFFFF !important}
.progress .timeline li[data-now] p{color:rgb(255 255 255/.85) !important}
.progress .timeline li[data-now] .when{color:#FFFFFF !important}
.progress .more--accent{color:var(--bone) !important}
@media (prefers-reduced-motion:reduce){.progress-video{display:none !important}}

/* ============ partners (dark, premium) ============ */
.partners{background:var(--ink) !important}
.partners .tag{color:var(--sage) !important}
.partners .sec{color:#CFCFCF !important}
.partners .small{color:#9A9A9A !important}
.partners-grid{display:grid !important;grid-template-columns:1fr 1.1fr !important;gap:clamp(40px,7vw,96px) !important;align-items:start !important}
.partners-lead{display:grid !important;gap:28px !important;justify-items:start !important}
.partners-lead .tag{margin-bottom:0 !important}
.proof{list-style:none !important;margin:8px 0 0 !important;padding:28px 0 0 !important;width:100% !important;display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:24px !important;border-top:1px solid rgb(255 255 255/.14) !important}
.proof li{display:grid !important;gap:8px !important}
.proof b{font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(2.2rem,3.2vw,3rem) !important;line-height:1 !important;letter-spacing:-.02em !important;color:var(--bone) !important}
.proof span{font-size:.85rem !important;line-height:1.4 !important;color:#A0A0A0 !important}
.partners-cta{display:grid !important;gap:14px !important;justify-items:start !important;max-width:42ch !important;margin-top:8px !important}
.partners-media{display:grid !important;gap:0 !important}
.partners-media .ph{aspect-ratio:16/9 !important;padding:0 !important;background:#1A1A1A !important}
.partners-media .ph::before{content:"" !important;position:absolute !important;inset:0 !important;z-index:2 !important;background:linear-gradient(180deg,transparent 60%,rgb(17 17 17/.6)) !important}
.inventory{list-style:none !important;margin:0 !important;padding:0 !important}
.inventory li{display:grid !important;grid-template-columns:56px 1fr !important;gap:16px !important;padding:22px 0 !important;border-bottom:1px solid rgb(255 255 255/.12) !important;align-items:start !important}
.inventory li:last-child{border-bottom:0 !important}
.inv-n{font-family:var(--serif) !important;font-size:1.05rem !important;line-height:1.4 !important;color:var(--sage) !important}
.inventory h3{font-size:1.2rem !important;line-height:1.3 !important;color:var(--bone) !important}
.inventory p{font-size:.9rem !important;line-height:1.55 !important;margin-top:6px !important;color:#A0A0A0 !important}
.partners .more--accent,.partners .btn:hover{color:var(--ink) !important}

/* ============ inventory marquee ============ */
.partners-grid{align-items:center !important}
.partners-media{gap:24px !important}
.inv-marquee{position:relative !important;overflow:hidden !important;width:100% !important}
.inv-marquee::before,.inv-marquee::after{content:"" !important;position:absolute !important;top:0 !important;bottom:0 !important;width:clamp(48px,10%,110px) !important;z-index:2 !important;pointer-events:none !important}
.inv-marquee::before{left:0 !important;background:linear-gradient(90deg,var(--ink),rgb(17 17 17/0)) !important}
.inv-marquee::after{right:0 !important;background:linear-gradient(270deg,var(--ink),rgb(17 17 17/0)) !important}
.inv-track{list-style:none !important;margin:0 !important;padding:0 !important;display:flex !important;gap:16px !important;width:max-content !important;animation:inv-marquee 32s linear infinite !important}
.inv-marquee:hover .inv-track{animation-play-state:paused !important}
.inv-card{flex:0 0 auto !important;width:clamp(240px,22vw,300px) !important;padding:28px !important;background:#1A1A1A !important;border:1px solid rgb(255 255 255/.1) !important;display:grid !important;gap:10px !important;align-content:start !important}
.inv-card .inv-n{font-family:var(--serif) !important;font-size:1rem !important;color:var(--sage) !important;line-height:1 !important;margin-bottom:6px !important}
.inv-card h3{font-size:1.15rem !important;line-height:1.3 !important;color:var(--bone) !important}
.inv-card p{font-size:.88rem !important;line-height:1.55 !important;color:#A0A0A0 !important;margin:0 !important}
@keyframes inv-marquee{0%{transform:translateX(0)}100%{transform:translateX(calc(-50% - 8px))}}
@media (prefers-reduced-motion:reduce){.inv-track{animation:none !important;flex-wrap:wrap !important;width:100% !important}.inv-card[aria-hidden]{display:none !important}.inv-marquee::before,.inv-marquee::after{display:none !important}}

/* ============ hero video + slideshow ============ */
.hero-video video{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;z-index:1 !important;display:block !important}

/* ============ infinite scroll carousel ============ */
.carousel-section {
  padding-block: 0 clamp(30px, 4vw, 60px) !important; 
  overflow: hidden !important; 
  width: 100% !important;
}
.carousel-wrapper {
  display: flex !important;
  overflow: hidden !important;
  width: 100% !important;
}
.carousel-track {
  display: flex !important;
  gap: 24px !important;
  width: max-content !important;
  animation: marquee 25s linear infinite !important;
}
.carousel-track:hover {
  animation-play-state: paused !important;
}
.carousel-track .ph {
  width: clamp(320px, 30vw, 550px) !important; 
  aspect-ratio: 1/1 !important; 
  background: #EEEEEE !important;
  flex-shrink: 0 !important;
  border-radius: 0 !important; 
}
@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-50% - 12px)); } 
}


/* ============ split & table ============ */
.split{display:grid !important;grid-template-columns:1fr 1fr !important;gap:clamp(40px,8vw,100px) !important;align-items:start !important}
.mix{width:100% !important;border-collapse:collapse !important;font-size:1rem !important}
.mix caption{text-align:left !important;font-size:.85rem !important;color:var(--slate) !important;padding-bottom:20px !important}
.mix th,.mix td{text-align:left !important;padding:16px 8px !important;border-bottom:1px solid var(--line) !important}
.mix th{font-size:.75rem !important;font-weight:600 !important;letter-spacing:.15em !important;text-transform:uppercase !important;color:var(--slate) !important}
.mix td:last-child,.mix th:last-child{text-align:right !important;font-variant-numeric:tabular-nums !important}
.taglist{display:flex !important;flex-wrap:wrap !important;gap:12px !important}
.taglist span{font-size:.9rem !important;font-weight:500 !important; padding:10px 20px !important;border:1px solid rgb(255 255 255/.4) !important; border-radius: 0 !important} 

/* ============ forms ============ */
input,select,textarea{font:inherit !important;font-size:1rem !important;padding:16px !important;background:#FFFFFF !important;
  border:1px solid transparent !important;border-radius:0 !important;color:var(--ink) !important;width:100% !important; transition: border-color .2s !important}
input:focus,select:focus,textarea:focus{outline:none !important; border-color:var(--moss) !important}
.dark input,.dark select,.dark textarea{background:#FFFFFF !important;color:var(--ink) !important;border-color:transparent !important}
input::placeholder,textarea::placeholder{color:#999 !important}
label{display:block !important;font-size:.75rem !important;font-weight:600 !important;letter-spacing:.1em !important;text-transform:uppercase !important;margin-bottom:10px !important}
.field{margin-bottom:24px !important}
.req{color:var(--moss) !important}
.err{display:none !important;font-size:.85rem !important;color:#D93025 !important;margin-top:8px !important;gap:6px !important}
:is(input,select,textarea):user-invalid{border-color:#D93025 !important;background:#FFF5F5 !important}
.dark :is(input,select,textarea):user-invalid{border-color:#F28B82 !important;background:#331D1C !important}
:is(input,select,textarea):user-invalid ~ .err,
:is(input,select,textarea).invalid-fb ~ .err{display:flex !important}
:is(input,select,textarea).invalid-fb{border-color:#D93025 !important}
.fgrid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:0 24px !important}
.fgrid .full{grid-column:1/-1 !important}
.ok{display:none !important;padding:20px !important;border:1px solid var(--moss) !important;color:var(--moss) !important;font-size:1rem !important; font-weight:500 !important}
.ok[data-show]{display:block !important}
.waitlist{display:flex !important;flex-wrap:wrap !important;gap:16px !important;align-items:end !important}
.waitlist>div{flex:1 1 240px !important}

details.brokers{border-top:1px solid var(--line-dark) !important;margin-top:40px !important}
details.brokers summary{padding:20px 0 !important;cursor:pointer !important;font-weight:500 !important;font-size:1rem !important;list-style:none !important;
  display:flex !important;justify-content:space-between !important}
details.brokers summary::-webkit-details-marker{display:none !important}
details.brokers summary::after{content:"+" !important; font-size:1.2rem !important}
details.brokers[open] summary::after{content:"-" !important}
.bgrid{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:30px !important;padding-bottom:30px !important; padding-top: 10px !important}
.bgrid p{font-size:.95rem !important;line-height:1.6 !important}
.bgrid b{display:block !important;font-size:.75rem !important;letter-spacing:.1em !important;text-transform:uppercase !important;margin-bottom:6px !important; color:var(--slate) !important}
.bgrid a{color:var(--bone) !important;text-decoration:none !important}
.bgrid a:hover{color:var(--moss) !important}

/* ============ footer ============ */
.logos{display:flex !important;flex-wrap:wrap !important;gap:24px 50px !important;align-items:center !important;font-family:var(--serif) !important;
  font-size:1.3rem !important;color:var(--slate) !important}
footer{background:var(--ink) !important;color:#A0A0A0 !important;font-size:.95rem !important;padding-block:80px 40px !important}
.fgrid2{display:grid !important;grid-template-columns:1.5fr repeat(4,1fr) !important;gap:40px !important}
.fgrid2 h4{font-family:var(--sans) !important;font-size:.75rem !important;font-weight:600 !important;letter-spacing:.15em !important;
  text-transform:uppercase !important;color:var(--bone) !important;margin:0 0 20px !important}
.fgrid2 ul{list-style:none !important;margin:0 !important;padding:0 !important;display:grid !important;gap:12px !important}
.fgrid2 a{text-decoration:none !important; transition: color .2s !important}
.fgrid2 a:hover{color:var(--moss) !important}
.fbot{display:flex !important;flex-wrap:wrap !important;gap:16px 30px !important;justify-content:space-between !important;
  border-top:1px solid #333 !important;margin-top:60px !important;padding-top:30px !important;font-size:.85rem !important;color:#808080 !important}
.fbot ul{display:flex !important;gap:24px !important;list-style:none !important;margin:0 !important;padding:0 !important;flex-wrap:wrap !important}

/* ============ mobile bar ============ */
.mobar{display:none !important;position:fixed !important;left:0 !important;right:0 !important;bottom:0 !important;z-index:90 !important;background:var(--ink) !important;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom)) !important;gap:12px !important}
.mobar .btn{flex:1 !important}

/* ============ responsive ============ */
@media (max-width:1100px){
  .plan{grid-template-columns:1fr !important}
  .panel{border-left:0 !important; max-height:none !important}
  .router,.stats,.grid3,.timeline,.mbody,.fgrid2{grid-template-columns:repeat(2,1fr) !important}
}
@media (max-width:860px){
  .hero-grid,.split,.agenda,.partners-grid{grid-template-columns:1fr !important}
  .hero-media{grid-template-columns:1fr !important}
  .mobar{display:flex !important}
  body{padding-bottom:80px !important}
  .util .wrap span:last-child{display:none !important}
}
@media (max-width:640px){
  .router,.stats,.grid3,.timeline,.mbody,.fgrid2,.bgrid,.fgrid,.facts{grid-template-columns:1fr !important}
  .facts div{padding:16px 0 !important}
  .proof{grid-template-columns:1fr !important}
  .agenda-list a{grid-template-columns:56px 1fr !important;gap:16px !important}
  .agenda-list .more{grid-column:2 !important}
  .progress .timeline li{backdrop-filter:none !important;background:rgb(17 17 17/.6) !important}
  .canvas,.panel{display:none !important}
  .planlist{display:grid !important}
  .planlist li{padding:24px !important; background:var(--paper) !important; display:grid !important;gap:10px !important;justify-items:start !important}
  .planlist li[hidden]{display:none !important}
  .planlist p{font-size:.95rem !important;color:var(--slate) !important}
  .dark .planlist li {background: #1A1A1A !important}
}

/* ======================================================
   Secondary pages
   ====================================================== */

/* ---- page hero ---- */
.phero{padding-block:clamp(48px,6vw,80px) 0 !important}
.crumbs{display:flex !important;align-items:center !important;gap:10px !important;font-size:.8rem !important;color:var(--slate) !important;margin-bottom:28px !important;flex-wrap:wrap !important}
.crumbs a{text-decoration:none !important;color:var(--slate) !important}
.crumbs a:hover{color:var(--ink) !important}
.crumbs > * + *::before{content:"\203A" !important;margin-right:10px !important;opacity:.55 !important;display:inline-block !important}
.phero h1{max-width:16ch !important}
.phero .hero-right{padding-top:14px !important}
.phero-media{margin-top:clamp(40px,6vw,80px) !important;position:relative !important;width:100% !important;aspect-ratio:21/9 !important}
.phero-media .ph{position:absolute !important;inset:0 !important;padding:0 !important}
.phero-media video{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;z-index:1 !important;display:block !important}

/* ---- light proof numbers (on white/paper) ---- */
.numbers{list-style:none !important;margin:0 !important;padding:0 !important;display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:24px !important}
.numbers li{padding:28px !important;background:var(--paper) !important;display:grid !important;gap:8px !important;align-content:start !important}
.numbers b{font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(2.2rem,3.4vw,3.2rem) !important;line-height:1 !important;letter-spacing:-.02em !important}
.numbers span{font-size:.9rem !important;color:var(--slate) !important;line-height:1.45 !important}
.numbers small{font-size:.75rem !important;color:var(--slate) !important;opacity:.8 !important}
.numbers--4{grid-template-columns:repeat(4,1fr) !important}

/* ---- flow diagram (Arena -> Plaza -> Edge) ---- */
.flow{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:24px !important;counter-reset:flow !important}
.flow > div{position:relative !important;padding:32px !important;background:var(--paper) !important;display:grid !important;gap:12px !important;align-content:start !important}
.flow > div + div::before{content:"" !important;position:absolute !important;left:-24px !important;top:50% !important;width:24px !important;height:1px !important;background:var(--ink) !important;opacity:.35 !important}
.flow .tag{margin-bottom:4px !important}
.flow b{font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(2rem,3vw,2.8rem) !important;line-height:1 !important;letter-spacing:-.02em !important;display:block !important}
.flow p{font-size:.95rem !important;color:var(--slate) !important}
.flow > div.is-here{background:var(--ink) !important;color:var(--bone) !important}
.flow > div.is-here .tag,.flow > div.is-here p{color:#A0A0A0 !important}
.flow > div.is-here b{color:var(--bone) !important}

/* ---- suite plan ---- */
.suites{display:grid !important;grid-template-columns:minmax(0,1.3fr) 380px !important;gap:24px !important;align-items:stretch !important}
.suites-plan{position:relative !important;background:var(--paper) !important;padding:32px !important;display:grid !important;align-content:center !important;min-height:420px !important}
.suites-plan svg{width:100% !important;height:auto !important;display:block !important;overflow:visible !important}
.suites-plan .lot{fill:#FFFFFF !important;stroke:var(--ink) !important;stroke-width:1 !important;cursor:pointer !important;transition:fill .2s !important}
.suites-plan .lot:hover{fill:#EDEDED !important}
.suites-plan .lot.is-on{fill:var(--ink) !important}
.suites-plan .lot.is-leased{fill:#E4E4E4 !important;stroke-dasharray:3 3 !important;cursor:default !important}
.suites-plan text{font-family:var(--sans) !important;font-size:11px !important;font-weight:600 !important;letter-spacing:.08em !important;text-transform:uppercase !important;fill:var(--ink) !important;pointer-events:none !important}
.suites-plan .lot.is-on + text{fill:var(--bone) !important}
.suites-plan .lbl{font-weight:500 !important;letter-spacing:.04em !important;text-transform:none !important;fill:var(--slate) !important;font-size:10px !important}
.suites-plan .patio{fill:none !important;stroke:var(--moss) !important;stroke-width:1 !important;stroke-dasharray:4 3 !important;pointer-events:none !important}
.suites-plan .plaza{fill:#E9EDE4 !important;stroke:none !important}
.suites-plan .hint{position:absolute !important;left:24px !important;bottom:24px !important;font-size:.72rem !important;letter-spacing:.1em !important;text-transform:uppercase !important;color:var(--slate) !important;background:none !important;padding:0 !important;font-weight:600 !important}
.suites-panel{background:var(--ink) !important;color:var(--bone) !important;padding:40px !important;display:grid !important;align-content:start !important;justify-items:start !important;gap:18px !important}
.suites-panel h3{font-size:1.9rem !important;color:var(--bone) !important}
.suites-panel p{color:#CCCCCC !important;font-size:.95rem !important;line-height:1.6 !important}
.suites-panel .pfacts li{border-bottom-color:#333 !important}
.suites-panel .pfacts span:first-child{color:#A0A0A0 !important}
.suites-panel .btn{background:var(--bone) !important;border-color:var(--bone) !important;color:var(--ink) !important;margin-top:8px !important}
.suites-panel .btn:hover{background:var(--moss) !important;border-color:var(--moss) !important;color:#FFFFFF !important}
.suites-tabs{display:flex !important;flex-wrap:wrap !important;gap:12px !important;margin-bottom:24px !important}
.suites-tabs button{font:inherit !important;font-size:.85rem !important;font-weight:500 !important;padding:10px 20px !important;cursor:pointer !important;background:var(--paper) !important;border:1px solid transparent !important;color:var(--ink) !important;border-radius:0 !important}
.suites-tabs button[aria-pressed="true"]{background:var(--ink) !important;color:var(--bone) !important}
.suites-tabs button[disabled]{opacity:.45 !important;cursor:default !important}

/* ---- spec list (light) ---- */
.spec{list-style:none !important;margin:0 !important;padding:0 !important;display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:0 40px !important}
.spec li{display:flex !important;justify-content:space-between !important;gap:24px !important;padding:16px 0 !important;border-bottom:1px solid var(--line) !important;font-size:.95rem !important}
.spec li span:first-child{color:var(--slate) !important}
.spec li span:last-child{text-align:right !important;font-weight:500 !important}
.tbc{font-size:.75rem !important;font-weight:600 !important;letter-spacing:.08em !important;text-transform:uppercase !important;color:var(--slate) !important;background:var(--paper) !important;padding:4px 8px !important}

/* ---- process steps ---- */
.steps{list-style:none !important;margin:0 !important;padding:0 !important;display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:24px !important;counter-reset:step !important}
.steps li{counter-increment:step !important;padding:32px !important;background:var(--paper) !important;display:grid !important;gap:12px !important;align-content:start !important}
.steps li::before{content:"0" counter(step) !important;font-family:var(--serif) !important;font-size:1.1rem !important;color:var(--moss) !important}
.steps h3{font-size:1.25rem !important}
.steps p{font-size:.95rem !important;color:var(--slate) !important}

/* ---- leasing team (light) ---- */
.team{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:24px !important}
.team div{padding:28px !important;background:var(--paper) !important;display:grid !important;gap:6px !important;align-content:start !important;font-size:.95rem !important}
.team b{font-family:var(--serif) !important;font-weight:400 !important;font-size:1.3rem !important;margin-bottom:6px !important}
.team a{text-decoration:none !important;color:var(--slate) !important}
.team a:hover{color:var(--ink) !important}
.team span{font-size:.8rem !important;color:var(--slate) !important;text-transform:uppercase !important;letter-spacing:.08em !important;font-weight:600 !important}

/* ---- space cards (available spaces) ---- */
.space{background:var(--paper) !important;display:grid !important;gap:16px !important;align-content:start !important;padding:32px !important;text-decoration:none !important;transition:transform .2s,background .2s !important;position:relative !important}
a.space:hover{background:#F1F1F1 !important;transform:translateY(-4px) !important}
.space .sf{font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(2rem,3vw,2.6rem) !important;line-height:1 !important;letter-spacing:-.02em !important}
.space .sf small{font-family:var(--sans) !important;font-size:.75rem !important;font-weight:600 !important;letter-spacing:.1em !important;text-transform:uppercase !important;margin-left:6px !important;color:var(--slate) !important}
.space h3{font-size:1.3rem !important}
.space p{font-size:.95rem !important;color:var(--slate) !important}
.space .meta{display:flex !important;flex-wrap:wrap !important;gap:8px 16px !important;font-size:.85rem !important;color:var(--slate) !important;border-top:1px solid var(--line) !important;padding-top:14px !important;margin-top:auto !important}
.space .meta b{font-weight:500 !important;color:var(--ink) !important}
.space[data-status="leased"]{opacity:.55 !important}
.filterbar{display:flex !important;flex-wrap:wrap !important;gap:12px !important;margin-bottom:32px !important;align-items:center !important}
.filterbar label{margin:0 !important;font-size:.75rem !important}
.filterbar select{width:auto !important;padding:12px 40px 12px 16px !important;font-size:.9rem !important}
.filterbar .count{margin-left:auto !important;font-size:.85rem !important;color:var(--slate) !important}

/* ---- side by side lot cards ---- */
.lots{display:grid !important;grid-template-columns:1fr 1fr !important;gap:24px !important}
.lots a{display:grid !important;text-decoration:none !important;background:var(--paper) !important;transition:background .2s !important}
.lots a:hover{background:#F1F1F1 !important}
.lots .ph{aspect-ratio:16/10 !important;padding:0 !important}
.lots .body{padding:32px !important;display:grid !important;gap:14px !important;justify-items:start !important}
.lots h3{font-size:1.6rem !important}
.lots p{color:var(--slate) !important}
.lots .facts{margin-top:8px !important;padding-top:20px !important;grid-template-columns:repeat(3,1fr) !important;gap:16px !important;width:100% !important}
.lots .facts b{font-size:1.2rem !important}
.lots .facts span{font-size:.8rem !important}

/* ---- inline CTA band ---- */
.band{padding-block:clamp(40px,5vw,64px) !important;background:var(--paper) !important}
.band .wrap{display:flex !important;flex-wrap:wrap !important;gap:24px !important;align-items:center !important;justify-content:space-between !important}
.band h3{font-size:1.6rem !important}
.band .actions{display:flex !important;gap:12px !important;flex-wrap:wrap !important}

/* ---- responsive ---- */
@media (max-width:1100px){
  .suites{grid-template-columns:1fr !important}
  .numbers--4,.steps{grid-template-columns:repeat(2,1fr) !important}
}
@media (max-width:860px){
  .lots,.numbers,.flow,.team,.spec{grid-template-columns:1fr !important}
  .flow > div + div::before{display:none !important}
}
@media (max-width:640px){
  .numbers--4,.steps{grid-template-columns:1fr !important}
  .suites-panel{padding:28px !important}
  .filterbar .count{margin-left:0 !important;width:100% !important}
}

/* ---- carousel captions ---- */
.carousel-section .head{margin-bottom:clamp(32px,4vw,48px) !important}
.carousel-track .ph{align-items:flex-end !important;padding:20px !important}
.ph-cap{position:relative !important;z-index:2 !important;color:var(--bone) !important;font-size:.72rem !important;font-weight:600 !important;letter-spacing:.12em !important;text-transform:uppercase !important;background:rgb(17 17 17/.72) !important;padding:8px 12px !important}

/* ---- lots on dark ---- */
.dark .lots a{background:#1A1A1A !important}
.dark .lots a:hover{background:#222 !important}
.dark .lots h3{color:var(--bone) !important}
.dark .lots p{color:#CCCCCC !important}
.dark .lots .facts{border-top-color:#333 !important}
.dark .lots .facts b{color:var(--bone) !important}
.dark .lots .facts span{color:#A0A0A0 !important}

/* ---- space cards: chips don't stretch, meta with icons ---- */
.space > .chip,.suites-panel > .chip{justify-self:start !important}
.space .meta{display:grid !important;gap:10px !important;list-style:none !important;margin:auto 0 0 !important;padding:16px 0 0 !important}
.space .meta li{display:flex !important;align-items:center !important;gap:10px !important;font-size:.88rem !important;color:var(--slate) !important}
.space .meta svg{width:16px !important;height:16px !important;flex:0 0 16px !important;stroke:var(--moss) !important;fill:none !important;stroke-width:1.6 !important;stroke-linecap:round !important;stroke-linejoin:round !important}
.space .meta b{font-weight:500 !important;color:var(--ink) !important;margin-left:auto !important;text-align:right !important}

/* ---- dark-section variants of light components ---- */
.dark .cell{background:#1A1A1A !important}
.dark a.cell:hover{background:#222 !important}
.dark .cell h3{color:var(--bone) !important}
.dark .cell p,.dark .cell .fact{color:#CCCCCC !important}
.dark .router a{background:#1A1A1A !important}
.dark .router a:hover{background:#222 !important}
.dark .router h3{color:var(--bone) !important}
.dark .router p{color:#CCCCCC !important}
.dark .flow > div{background:#1A1A1A !important}
.dark .flow > div b{color:var(--bone) !important}
.dark .flow > div p{color:#CCCCCC !important}
.dark .flow > div + div::before{background:#fff !important}
.dark .flow > div.is-here{background:var(--moss) !important;color:#FFFFFF !important}
.dark .flow > div.is-here .tag,.dark .flow > div.is-here p{color:rgb(255 255 255/.85) !important}
.dark .flow > div.is-here b{color:#FFFFFF !important}
.dark .spec li{border-bottom-color:#333 !important}
.dark .spec li span:first-child{color:#A0A0A0 !important}
section:not(.dark) .filters button{background:var(--paper) !important;color:var(--ink) !important}
section:not(.dark) .filters button[aria-pressed="true"]{background:var(--ink) !important;color:var(--bone) !important}

/* ---- images inside router cards ---- */
.router a{padding:0 !important;overflow:hidden !important}
.router a .ph{width:100% !important;aspect-ratio:16/10 !important;padding:0 !important;flex-shrink:0 !important}
.router .rbody{padding:32px !important;display:grid !important;gap:16px !important;align-content:start !important;justify-items:start !important}

/* ---- full-bleed image band ---- */
.imgband{position:relative !important;min-height:clamp(280px,42vh,460px) !important;display:grid !important;align-content:end !important;overflow:hidden !important;padding-block:0 !important;color:var(--bone) !important;background:var(--ink) !important}
.imgband img{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;z-index:0 !important}
.imgband::after{content:"" !important;position:absolute !important;inset:0 !important;z-index:1 !important;background:linear-gradient(180deg,rgb(17 17 17/.15),rgb(17 17 17/.75)) !important}
.imgband .wrap{position:relative !important;z-index:2 !important;width:100% !important;padding-block:clamp(32px,4vw,56px) !important}
.imgband h2,.imgband h3{color:var(--bone) !important;max-width:20ch !important}
.imgband p{color:rgb(255 255 255/.85) !important;max-width:52ch !important;margin-top:12px !important}
.imgband .tag{color:rgb(255 255 255/.7) !important}

/* ---- media band (CTA with thumbnail) ---- */
.band--media .wrap{gap:32px !important}
.band--media .thumb{width:180px !important;flex:0 0 180px !important;aspect-ratio:4/3 !important;overflow:hidden !important;position:relative !important}
.band--media .thumb img{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important}
.band--media .txt{flex:1 1 320px !important}
@media (max-width:640px){.band--media .thumb{width:100% !important;flex:1 1 100% !important;aspect-ratio:16/9 !important}}

/* ---- aerial behind plans ---- */
.canvas{background:#222 center/cover no-repeat !important}
.canvas .aerial{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;z-index:0 !important;opacity:.55 !important}
.canvas svg.site,.canvas .pin,.canvas .hint{z-index:2 !important}
.suites-plan{background:var(--paper) center/cover no-repeat !important;overflow:hidden !important}
.suites-plan .aerial{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;z-index:0 !important;opacity:.16 !important}
.suites-plan svg,.suites-plan .hint{position:relative !important;z-index:2 !important}

/* ---- split figure helper ---- */
.figure{position:relative !important;overflow:hidden !important;background:var(--paper) !important}
.figure img{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important}
.figure--43{aspect-ratio:4/3 !important}
.figure--11{aspect-ratio:1/1 !important}
.figure--169{aspect-ratio:16/9 !important}
.figure figcaption{position:absolute !important;left:0 !important;bottom:0 !important;z-index:2 !important;background:rgb(17 17 17/.72) !important;color:var(--bone) !important;font-size:.72rem !important;font-weight:600 !important;letter-spacing:.12em !important;text-transform:uppercase !important;padding:8px 12px !important}

/* ---- team cards with portrait slot ---- */
.team div{padding:0 !important;overflow:hidden !important}
.team .tbody{padding:28px !important;display:grid !important;gap:6px !important;align-content:start !important}
.team .initials{aspect-ratio:16/10 !important;background:var(--ink) !important;display:grid !important;place-items:center !important;color:var(--bone) !important;font-family:var(--serif) !important;font-size:2.4rem !important;letter-spacing:.04em !important}

/* ---- steps with image ---- */
.steps li{padding:0 !important;overflow:hidden !important}
.steps .sbody{padding:32px !important;display:grid !important;gap:12px !important;align-content:start !important}
.steps .sbody::before{content:"0" counter(step) !important;font-family:var(--serif) !important;font-size:1.1rem !important;color:var(--moss) !important}
.steps li::before{content:none !important}
.steps .ph{aspect-ratio:16/10 !important;padding:0 !important}

/* ---- media inside numbers + flow ---- */
.numbers li{padding:0 !important;overflow:hidden !important}
.numbers .nbody{padding:28px !important;display:grid !important;gap:8px !important;align-content:start !important}
.numbers .ph{aspect-ratio:16/9 !important;padding:0 !important}
.flow > div{padding:0 !important;overflow:hidden !important}
.flow .fbody{padding:32px !important;display:grid !important;gap:12px !important;align-content:start !important}
.flow .ph{aspect-ratio:16/9 !important;padding:0 !important}
.flow > div + div::before{top:28% !important}
.logos-strip{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:24px !important;margin-top:32px !important}
.logos-strip .figure{aspect-ratio:16/10 !important}
@media (max-width:860px){.logos-strip{grid-template-columns:repeat(2,1fr) !important}}

/* ---- typography: no widowed last lines ---- */
h1,h2,h3,h4{text-wrap:balance !important}
p,figcaption,.sec,.small,caption,li{text-wrap:pretty !important}
h1,h2,h3,h4{overflow-wrap:break-word !important}

/* ---- media boxes: aspect-ratio must never drive width ---- */
@media (max-width:860px){.phero-media{aspect-ratio:16/9 !important}}
@media (max-width:640px){.phero-media{aspect-ratio:4/3 !important}}

/* ---- display type: smaller on phones so two words still fit a line ---- */
@media (max-width:640px){
  h1{font-size:clamp(2.6rem,9vw,3.4rem) !important}
  h2{font-size:clamp(2rem,7vw,2.6rem) !important}
}

/* ======================================================
   V1 feedback
   ====================================================== */

/* ---- anything sitting on green reads white ---- */
.flow > div.is-here{background:var(--moss) !important;color:#FFFFFF !important}
.flow > div.is-here .tag,.flow > div.is-here p{color:rgb(255 255 255/.85) !important}
.flow > div.is-here b,.flow > div.is-here h3{color:#FFFFFF !important}
.pin:hover,.pin[aria-current="true"],.pin[data-status="available"]:hover{color:#FFFFFF !important}
.pin:hover .dot i,.pin[aria-current="true"] .dot i{color:var(--moss) !important}

/* ---- hero variants ---- */
/* overlay: full-bleed media, copy sitting on top */
.hero--overlay{position:relative !important;padding:0 !important;min-height:82vh !important;min-height:82svh !important;
  display:grid !important;align-content:end !important;overflow:hidden !important;background:var(--ink) !important;color:var(--bone) !important}
.hero--overlay > img,.hero--overlay > video{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;z-index:0 !important}
.hero--overlay::after{content:"" !important;position:absolute !important;inset:0 !important;z-index:1 !important;
  background:linear-gradient(180deg,rgb(17 17 17/.50) 0%,rgb(17 17 17/.42) 38%,rgb(17 17 17/.92) 100%) !important}
.hero--overlay .wrap{position:relative !important;z-index:2 !important;width:100% !important;padding-block:clamp(40px,6vw,80px) !important}
.hero--overlay h1{color:var(--bone) !important;max-width:18ch !important}
.hero--overlay .sec{color:rgb(255 255 255/.88) !important}
.hero--overlay .tag{color:rgb(255 255 255/.72) !important}
.hero--overlay .crumbs,.hero--overlay .crumbs a{color:rgb(255 255 255/.7) !important}
.hero--overlay .crumbs a:hover{color:#FFFFFF !important}
.hero--overlay .btn{background:var(--bone) !important;border-color:var(--bone) !important;color:var(--ink) !important}
.hero--overlay .btn:hover{background:var(--moss) !important;border-color:var(--moss) !important;color:#FFFFFF !important}
.hero--overlay .btn--ghost{background:transparent !important;color:var(--bone) !important;border-color:rgb(255 255 255/.55) !important}
.hero--overlay .btn--ghost:hover{background:var(--bone) !important;color:var(--ink) !important;border-color:var(--bone) !important}
.hero--overlay .hero-foot{display:flex !important;flex-wrap:wrap !important;gap:12px 40px !important;margin-top:36px !important;
  padding-top:24px !important;border-top:1px solid rgb(255 255 255/.22) !important}
.hero--overlay .hero-foot div{display:grid !important;gap:4px !important}
.hero--overlay .hero-foot b{font-family:var(--serif) !important;font-weight:400 !important;font-size:1.5rem !important;color:var(--bone) !important}
.hero--overlay .hero-foot span{font-size:.85rem !important;color:rgb(255 255 255/.7) !important}

/* side: copy column beside a tall image, no full-width band */
.hero--side{padding-block:0 !important}
.hero--side .wrap{padding-inline:0 !important;max-width:none !important}
.hero--side-grid{display:grid !important;grid-template-columns:1fr 1fr !important;align-items:stretch !important;min-height:74vh !important}
.hero--side-copy{display:grid !important;align-content:center !important;justify-items:start !important;gap:24px !important;
  padding:clamp(48px,6vw,90px) clamp(32px,5vw,70px) !important;max-width:none !important}
.hero--side-copy h1{max-width:13ch !important}
.hero--side-media{position:relative !important;overflow:hidden !important;background:var(--paper) !important;min-height:340px !important}
.hero--side-media img,.hero--side-media video{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important}
.hero--side .facts{margin-top:0 !important;padding:0 clamp(32px,5vw,70px) clamp(40px,5vw,64px) !important;border-top:0 !important}

/* compact: utility pages, no hero image at all */
.hero--compact{padding-block:clamp(40px,5vw,64px) clamp(28px,3vw,40px) !important;border-bottom:1px solid var(--line) !important}
.hero--compact .hero-grid{align-items:end !important}
.hero--compact h1{font-size:clamp(2.4rem,3.6vw,3.4rem) !important;max-width:20ch !important}

/* strip: copy over a short, wide band of images */
.hero--strip{padding-bottom:0 !important}
.hero--strip .stripgrid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:16px !important;margin-top:clamp(36px,5vw,64px) !important}
.hero--strip .stripgrid .figure{aspect-ratio:3/4 !important}
.hero--strip .stripgrid .figure:nth-child(2){margin-top:clamp(20px,3vw,44px) !important}
.hero--strip .stripgrid .figure:nth-child(3){margin-top:clamp(40px,6vw,88px) !important}

/* ---- allocation list (replaces the old data table) ---- */
.alloc{list-style:none !important;margin:0 !important;padding:0 !important;display:grid !important;gap:2px !important}
.alloc li{display:grid !important;grid-template-columns:auto 1fr auto !important;align-items:center !important;gap:20px !important;
  padding:22px 24px !important;background:var(--paper) !important}
.alloc .n{font-family:var(--serif) !important;font-weight:400 !important;font-size:1.9rem !important;line-height:1 !important;
  min-width:2ch !important;text-align:center !important;letter-spacing:-.02em !important}
.alloc .lbl{display:grid !important;gap:4px !important}
.alloc .lbl b{font-weight:500 !important;font-size:1.05rem !important}
.alloc .lbl span{font-size:.85rem !important;color:var(--slate) !important}
.alloc .pill{font-size:.7rem !important;font-weight:600 !important;letter-spacing:.1em !important;text-transform:uppercase !important;
  padding:6px 12px !important;background:var(--bone) !important;color:var(--slate) !important;white-space:nowrap !important}
.alloc .pill--live{background:var(--ink) !important;color:var(--bone) !important}
.alloc .pill--talk{background:var(--moss) !important;color:#FFFFFF !important}
.dark .alloc li{background:#1A1A1A !important}
.dark .alloc .lbl b{color:var(--bone) !important}
.dark .alloc .n{color:var(--bone) !important}
.dark .alloc .pill{background:#2A2A2A !important;color:#A0A0A0 !important}

/* ---- phase stepper (replaces the phasing table) ---- */
.phases{list-style:none !important;margin:0 !important;padding:0 !important;display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:2px !important}
.phases li{padding:28px 24px !important;background:var(--paper) !important;display:grid !important;gap:10px !important;align-content:start !important;position:relative !important}
.phases li[data-live]{background:var(--ink) !important;color:var(--bone) !important}
.phases li[data-live] h3,.phases li[data-live] b{color:var(--bone) !important}
.phases li[data-live] p{color:#A0A0A0 !important}
.phases .when{font-size:.72rem !important;font-weight:600 !important;letter-spacing:.14em !important;text-transform:uppercase !important;color:var(--moss) !important}
.phases h3{font-size:1.15rem !important}
.phases p{font-size:.9rem !important;color:var(--slate) !important;line-height:1.55 !important}

/* ---- partner logo marquee ---- */
.logomarq{position:relative !important;overflow:hidden !important;margin-top:36px !important}
.logomarq::before,.logomarq::after{content:"" !important;position:absolute !important;top:0 !important;bottom:0 !important;
  width:clamp(40px,8%,96px) !important;z-index:2 !important;pointer-events:none !important}
.logomarq::before{left:0 !important;background:linear-gradient(90deg,var(--bone),rgb(255 255 255/0)) !important}
.logomarq::after{right:0 !important;background:linear-gradient(270deg,var(--bone),rgb(255 255 255/0)) !important}
.logotrack{display:flex !important;align-items:center !important;gap:clamp(40px,6vw,88px) !important;width:max-content !important;
  animation:logomarq 34s linear infinite !important}
.logomarq:hover .logotrack{animation-play-state:paused !important}
.logotrack > *{flex:0 0 auto !important;display:grid !important;place-items:center !important;height:44px !important}
.logotrack img{height:100% !important;width:auto !important;max-width:none !important;object-fit:contain !important}
.logotrack .wordmark{font-family:var(--serif) !important;font-size:1.35rem !important;color:var(--slate) !important;white-space:nowrap !important;position:relative !important}
@keyframes logomarq{0%{transform:translateX(0)}100%{transform:translateX(calc(-50% - clamp(20px,3vw,44px)))}}
@media (prefers-reduced-motion:reduce){.logotrack{animation:none !important;flex-wrap:wrap !important;width:100% !important}
  .logotrack [aria-hidden="true"]{display:none !important}.logomarq::before,.logomarq::after{display:none !important}}

/* ---- team portraits are placeholders until we get the real photos ---- */
.team .initials{position:relative !important}

/* ---- in-progress notice for pages not built yet ---- */
.wip{display:grid !important;gap:24px !important;justify-items:start !important;padding:clamp(48px,7vw,96px) 0 !important}
.wip .badge{font-size:.72rem !important;font-weight:600 !important;letter-spacing:.14em !important;text-transform:uppercase !important;
  padding:8px 14px !important;background:var(--moss) !important;color:#FFFFFF !important}

/* ---- responsive ---- */
@media (max-width:1100px){.phases{grid-template-columns:repeat(2,1fr) !important}}
@media (max-width:860px){
  .hero--side-grid{grid-template-columns:1fr !important;min-height:0 !important}
  .hero--side-copy{padding:clamp(36px,6vw,56px) var(--gut) !important}
  .hero--side .facts{padding-inline:var(--gut) !important}
  .hero--side-media{aspect-ratio:16/10 !important;min-height:0 !important}
  .hero--overlay{min-height:70vh !important}
  .hero--strip .stripgrid{grid-template-columns:1fr 1fr !important}
  .hero--strip .stripgrid .figure:nth-child(3){display:none !important}
}
@media (max-width:640px){
  .phases,.alloc li{grid-template-columns:1fr !important}
  .alloc li{gap:10px !important;justify-items:start !important}
  .alloc .n{text-align:left !important}
  .hero--strip .stripgrid{grid-template-columns:1fr !important}
  .hero--strip .stripgrid .figure:nth-child(2),.hero--strip .stripgrid .figure:nth-child(3){margin-top:0 !important;display:none !important}
}

/* ======================================================
   V1 round 2
   ====================================================== */

/* ---- secondary buttons follow the Contemporan Homes pattern:
        light fill, dark label, accent circle with an outbound arrow ---- */
.btn--ghost{background:var(--paper) !important;color:var(--ink) !important;border-color:var(--paper) !important;
  padding:10px 10px 10px 26px !important;gap:14px !important}
.btn--ghost:hover{background:#EDEDED !important;color:var(--ink) !important;border-color:#EDEDED !important}
.btn--ghost::after{content:"\2197" !important;display:grid !important;place-items:center !important;
  width:32px !important;height:32px !important;border-radius:50% !important;background:var(--moss) !important;
  color:#FFFFFF !important;font-size:.95rem !important;line-height:1 !important;flex:0 0 32px !important;
  transition:transform .2s !important}
.btn--ghost:hover::after{transform:translate(2px,-2px) !important}
.btn--ghost.btn--sm{padding:8px 8px 8px 22px !important;gap:12px !important}
.btn--ghost.btn--sm::after{width:28px !important;height:28px !important;flex-basis:28px !important;font-size:.85rem !important}
.dark .btn--ghost,.hero--overlay .btn--ghost,.progress .btn--ghost{background:rgb(255 255 255/.12) !important;
  color:var(--bone) !important;border-color:rgb(255 255 255/.12) !important}
.dark .btn--ghost:hover,.hero--overlay .btn--ghost:hover,.progress .btn--ghost:hover{background:rgb(255 255 255/.2) !important;color:var(--bone) !important;border-color:rgb(255 255 255/.2) !important}

/* ---- centered hero variant ---- */
.hero--center .wrap{text-align:center !important}
.hero--center h1{max-width:22ch !important;margin-inline:auto !important}
.hero--center .sec{margin-inline:auto !important;max-width:60ch !important}
.hero--center .crumbs{justify-content:center !important}
.hero--center .hero-actions{justify-content:center !important}
.hero--center .tag,.hero--center .chip{margin-inline:auto !important}
.hero--center .hero-foot{justify-content:center !important;text-align:center !important}
.hero--center .hero-foot div{justify-items:center !important}

/* ---- available spaces: every card carries a size ---- */
.space .sf{display:flex !important;align-items:baseline !important;flex-wrap:wrap !important;gap:0 6px !important}
.space .sf.is-range{font-size:clamp(1.5rem,2.2vw,2rem) !important}
.space .sfnote{font-size:.75rem !important;font-weight:600 !important;letter-spacing:.1em !important;
  text-transform:uppercase !important;color:var(--slate) !important;display:block !important;margin-top:-6px !important}

/* ---- side hero with a stacked pair of images ---- */
.hero--side-media.is-split{display:grid !important;grid-template-rows:1fr 1fr !important;gap:2px !important;background:var(--bone) !important}
.hero--side-media.is-split figure{position:relative !important;overflow:hidden !important;margin:0 !important;background:var(--paper) !important}
.hero--side-media.is-split img{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important}
@media (max-width:860px){.hero--side-media.is-split{aspect-ratio:16/11 !important}}

/* ======================================================
   V1 round 3
   ====================================================== */

/* ---- overlay hero: give the stack room to breathe ---- */
.hero--overlay .wrap{display:grid !important;justify-items:start !important;gap:0 !important}
.hero--overlay .crumbs{margin-bottom:clamp(24px,3vw,40px) !important}
.hero--overlay .tag,.hero--overlay .chip{margin-bottom:20px !important}
.hero--overlay h1{margin-bottom:0 !important}
.hero--overlay .sec{margin-top:22px !important}
.hero--overlay .hero-actions{margin-top:clamp(28px,3vw,40px) !important}
.hero--overlay .hero-foot{width:100% !important;margin-top:clamp(36px,4vw,56px) !important;
  padding-top:26px !important;gap:20px 56px !important}
.hero--center .wrap{justify-items:center !important}

/* ---- district cards read as a 2 by 2 block ---- */
.grid2x2{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:24px !important}
@media (max-width:860px){.grid2x2{grid-template-columns:1fr !important}}

/* ---- partner logos: one optical height, no stray boxes ---- */
.logomarq{margin-top:40px !important;padding-block:6px !important}
.logotrack{gap:clamp(48px,7vw,104px) !important;align-items:center !important}
.logotrack > *{height:auto !important;display:grid !important;place-items:center !important}
.logotrack img{height:auto !important;width:auto !important;max-height:34px !important;max-width:190px !important;
  object-fit:contain !important;opacity:.72 !important;transition:opacity .2s !important}
.logotrack a:hover img{opacity:1 !important}
.logotrack img[src*="logo-cbre"]{max-height:22px !important}
.logotrack img[src*="logo-adept"]{max-height:26px !important}
.logotrack img[src*="logo-toyota-arena"]{max-height:40px !important}
.logotrack img[src*="logo-city-of-ontario"]{max-height:38px !important}

/* ---- residential block: one calm column pair ---- */
.resid{display:grid !important;grid-template-columns:1.05fr 1fr !important;gap:clamp(32px,5vw,72px) !important;align-items:center !important}
.resid-copy{display:grid !important;gap:22px !important;justify-items:start !important}
.resid-copy .sec{max-width:46ch !important}
.resid form{display:grid !important;gap:18px !important;width:100% !important;max-width:440px !important;
  background:var(--paper) !important;padding:clamp(26px,3vw,36px) !important}
.resid .waitlist{display:grid !important;grid-template-columns:1fr 130px !important;gap:16px !important;width:100% !important}
.resid .waitlist > div{flex:none !important}
.resid form .btn{justify-self:start !important}
.resid .figure{aspect-ratio:4/5 !important}
@media (max-width:860px){
  .resid{grid-template-columns:1fr !important}
  .resid .figure{aspect-ratio:16/10 !important}
  .resid form{max-width:none !important}
}
@media (max-width:520px){.resid .waitlist{grid-template-columns:1fr !important}}

/* ======================================================
   V1 round 4
   ====================================================== */

/* ---- form fields always read as fields ---- */
input,select,textarea{border:1px solid var(--line) !important}
input:hover,select:hover,textarea:hover{border-color:#D4D4D4 !important}
input::placeholder,textarea::placeholder{color:#9A9A9A !important}
.dark label,.hero--overlay label{color:var(--bone) !important}
.dark .small,.dark .req{color:#A0A0A0 !important}
.dark input::placeholder{color:#8A8A8A !important}

/* ---- residential block: full-width, no card, wider fields ---- */
.resid{grid-template-columns:1.1fr .9fr !important;gap:clamp(36px,5vw,80px) !important;align-items:center !important}
.resid form{background:transparent !important;padding:0 !important;max-width:none !important;gap:22px !important}
.resid .waitlist{grid-template-columns:minmax(0,1fr) 160px !important;gap:18px !important}
.resid input{width:100% !important}
.resid .figure{aspect-ratio:3/4 !important}
.dark .resid form{background:transparent !important}
@media (max-width:860px){.resid .figure{aspect-ratio:16/10 !important}}
@media (max-width:520px){.resid .waitlist{grid-template-columns:1fr !important}}

/* ---- parallax on full-bleed image bands ---- */



/* ---- icon list: replaces the flat label/value rows ---- */
.iconlist{list-style:none !important;margin:0 !important;padding:0 !important;display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;gap:2px !important}
.iconlist li{display:grid !important;grid-template-columns:44px 1fr !important;gap:18px !important;align-items:start !important;
  padding:24px 26px !important;background:var(--paper) !important}
.iconlist .ico{width:44px !important;height:44px !important;display:grid !important;place-items:center !important;
  background:var(--bone) !important;border-radius:50% !important}
.iconlist svg{width:20px !important;height:20px !important;stroke:var(--moss) !important;fill:none !important;
  stroke-width:1.6 !important;stroke-linecap:round !important;stroke-linejoin:round !important}
.iconlist b{display:block !important;font-weight:500 !important;font-size:1.05rem !important;margin-bottom:5px !important}
.iconlist span{font-size:.9rem !important;color:var(--slate) !important;line-height:1.5 !important}
.dark .iconlist li{background:#1A1A1A !important}
.dark .iconlist .ico{background:#242424 !important}
.dark .iconlist b{color:var(--bone) !important}
.dark .iconlist span{color:#A0A0A0 !important}
@media (max-width:640px){.iconlist{grid-template-columns:1fr !important}}

/* ---- FAQ accordion ---- */
.faqlist{display:grid !important;gap:2px !important}
.faqlist details{background:var(--paper) !important}
.faqlist summary{display:flex !important;justify-content:space-between !important;align-items:center !important;gap:20px !important;
  padding:22px 26px !important;cursor:pointer !important;font-weight:500 !important;font-size:1.05rem !important;list-style:none !important}
.faqlist summary::-webkit-details-marker{display:none !important}
.faqlist summary::after{content:"" !important;flex:0 0 26px !important;width:26px !important;height:26px !important;
  border-radius:50% !important;background:var(--moss) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/13px 13px no-repeat !important;
  transition:transform .2s !important}
.faqlist details{position:relative !important}
.faqlist details[open] summary::after{transform:rotate(180deg) !important}
.faqlist summary:hover{background:#F1F1F1 !important}
.faqlist details > div{padding:0 26px 24px !important}
.faqlist p{font-size:.98rem !important;color:var(--slate) !important;line-height:1.65 !important;max-width:62ch !important}
.dark .faqlist details{background:#1A1A1A !important}
.dark .faqlist summary{color:var(--bone) !important}
.dark .faqlist summary:hover{background:#222 !important}
.dark .faqlist p{color:#A0A0A0 !important}
@media (max-width:640px){
  .faqlist summary{padding:20px !important;font-size:1rem !important}
    .faqlist details > div{padding:0 20px 20px !important}
}

/* ---- residential block collapses properly on small screens
        (declared last so it wins over the desktop rule above) ---- */
@media (max-width:860px){
  .resid{grid-template-columns:1fr !important;gap:32px !important}
  .resid .figure{aspect-ratio:16/10 !important}
}
@media (max-width:560px){
  .resid .waitlist{grid-template-columns:1fr !important}
}

/* ---- lot key: the legend under the interactive plan ---- */
.lotkey{list-style:none !important;margin:0 !important;padding:0 !important;display:grid !important}
.lotkey li{display:grid !important;grid-template-columns:170px minmax(0,1fr) auto !important;gap:24px 32px !important;
  align-items:baseline !important;padding:20px 0 !important;border-bottom:1px solid var(--line) !important}
.lotkey li:first-child{border-top:1px solid var(--line) !important}
.lotkey .lot{font-weight:600 !important;font-size:1rem !important;letter-spacing:-.01em !important;color:var(--ink) !important}
.lotkey .use{font-size:.98rem !important;color:var(--slate) !important;line-height:1.55 !important}
.lotkey .use b{color:var(--ink) !important;font-weight:500 !important}
.lotkey .eyebrow{display:inline-flex !important;align-items:center !important;gap:8px !important;white-space:nowrap !important;
  font-size:.68rem !important;font-weight:600 !important;letter-spacing:.14em !important;text-transform:uppercase !important;
  color:var(--slate) !important}
.lotkey .eyebrow::before{content:"" !important;width:6px !important;height:6px !important;border-radius:50% !important;
  background:currentColor !important;flex:0 0 6px !important}
.lotkey .eyebrow--live{color:var(--moss) !important}
.lotkey .eyebrow--soon{color:var(--slate) !important}
.lotkey .eyebrow--soon::before{background:transparent !important;box-shadow:inset 0 0 0 1.5px currentColor !important}
.lotkey .eyebrow--held{color:#B0B0B0 !important}
.lotkey .eyebrow--held::before{border-radius:0 !important}
.dark .lotkey li{border-color:rgb(255 255 255/.14) !important}
.dark .lotkey .lot{color:var(--bone) !important}
.dark .lotkey .use{color:#A0A0A0 !important}
.dark .lotkey .use b{color:var(--bone) !important}
.dark .lotkey .eyebrow--soon,.dark .lotkey .eyebrow{color:#9A9A9A !important}
.dark .lotkey .eyebrow--live{color:var(--sage) !important}
.dark .lotkey .eyebrow--held{color:#6E6E6E !important}
@media (max-width:860px){
  .lotkey li{grid-template-columns:1fr !important;gap:8px !important;padding:22px 0 !important}
  .lotkey .eyebrow{margin-top:4px !important}
}

/* ---- compact icon rows, for narrow columns ---- */
.iconlist--rows{grid-template-columns:1fr !important;gap:0 !important}
.iconlist--rows li{grid-template-columns:34px minmax(0,1fr) auto !important;gap:0 16px !important;align-items:center !important;
  padding:14px 0 !important;background:transparent !important;border-bottom:1px solid var(--line) !important}
.iconlist--rows li:first-child{border-top:1px solid var(--line) !important}
.iconlist--rows .ico{width:34px !important;height:34px !important;background:var(--paper) !important}
.iconlist--rows svg{width:17px !important;height:17px !important}
.iconlist--rows b{margin-bottom:0 !important;font-size:.98rem !important}
.iconlist--rows span{font-size:.88rem !important;text-align:right !important;white-space:nowrap !important}
.dark .iconlist--rows li{background:transparent !important;border-color:rgb(255 255 255/.14) !important}
.dark .iconlist--rows .ico{background:#242424 !important}
@media (max-width:560px){
  .iconlist--rows li{grid-template-columns:34px minmax(0,1fr) !important;row-gap:2px !important;align-items:start !important}
  .iconlist--rows span{grid-column:2 !important;text-align:left !important;white-space:normal !important}
}

/* ---- lists inside a .head (which aligns children to content) must still fill it ---- */
.iconlist,.spec,.lotkey,.faqlist,.alloc{width:100% !important}

/* ---- compact icon rows on phones: icon beside the title, value underneath ---- */
@media (max-width:560px){
  .iconlist--rows li{grid-template-columns:34px minmax(0,1fr) !important;column-gap:14px !important;row-gap:2px !important;
    align-items:start !important;padding:13px 0 !important}
  .iconlist--rows .ico{grid-row:span 2 !important;align-self:start !important}
  .iconlist--rows b{grid-column:2 !important;align-self:start !important;display:flex !important;align-items:center !important;
    min-height:34px !important;margin:0 !important}
  .iconlist--rows li > span:last-child{grid-column:2 !important;text-align:left !important;white-space:normal !important;
    align-self:start !important}
}

/* ---- image bands: the picture stays put while the band scrolls over it ---- */
.imgband{overflow:hidden !important;isolation:isolate !important}
.imgband > img{position:absolute !important;left:0 !important;top:0 !important;width:100% !important;
  height:100vh !important;height:100svh !important;object-fit:cover !important;object-position:center !important;
  z-index:0 !important;will-change:transform !important;backface-visibility:hidden !important}
@media (prefers-reduced-motion:reduce){
  .imgband > img{height:100% !important;transform:none !important}
}

/* ---- a full-bleed band always keeps air before the next section ---- */
.imgband + section,.band + section,.progress + section{padding-top:clamp(80px,10vw,140px) !important}

/* ---- side hero: the fact row sits with the copy, not across the page ---- */
.hero--side-copy .facts{width:100% !important;margin-top:8px !important;padding-top:26px !important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;gap:22px 24px !important;
  border-top:1px solid var(--line) !important}
.hero--side-copy .facts b{font-size:1.05rem !important;white-space:nowrap !important}
.hero--side-copy .facts span{font-size:.82rem !important;line-height:1.45 !important}
.hero--side .wrap > .facts{display:none !important}
@media (max-width:1100px){.hero--side-copy .facts{grid-template-columns:1fr 1fr !important}}
@media (max-width:560px){.hero--side-copy .facts{grid-template-columns:1fr !important;gap:14px !important}}

/* ---- a figure that fills its grid row instead of forcing a ratio ---- */
.figure--fill{height:100% !important;min-height:280px !important;aspect-ratio:auto !important}

/* ---- phases as an accordion ---- */
.phaselist{display:grid !important;gap:2px !important;width:100% !important}
.phaselist details{background:#1A1A1A !important;position:relative !important}
.phaselist summary{display:grid !important;grid-template-columns:180px minmax(0,1fr) auto !important;gap:24px !important;
  align-items:center !important;padding:22px 26px !important;cursor:pointer !important;list-style:none !important}
.phaselist summary::-webkit-details-marker{display:none !important}
.phaselist summary::after{content:"" !important;width:26px !important;height:26px !important;border-radius:50% !important;
  background:rgb(255 255 255/.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/13px 13px no-repeat !important;
  justify-self:end !important;align-self:center !important;transition:transform .2s !important}
.phaselist details[open] summary::after{transform:rotate(180deg) !important}
.phaselist summary:hover{background:#222 !important}
.phaselist .when{font-size:.68rem !important;font-weight:600 !important;letter-spacing:.14em !important;text-transform:uppercase !important;
  color:#9A9A9A !important;white-space:nowrap !important}
.phaselist .when--live{color:var(--sage) !important}
.phaselist summary b{font-family:var(--serif) !important;font-weight:400 !important;font-size:1.35rem !important;
  letter-spacing:-.01em !important;color:var(--bone) !important}
.phaselist details > div{padding:0 26px 24px 230px !important}
.phaselist p{font-size:.98rem !important;color:#A0A0A0 !important;line-height:1.65 !important;max-width:64ch !important}
.phaselist details[open]{background:#202020 !important}
@media (max-width:860px){
  .phaselist summary{grid-template-columns:minmax(0,1fr) 26px !important;gap:6px 16px !important;padding:20px !important}
  .phaselist .when{grid-column:1 !important}
  .phaselist summary b{grid-column:1 !important;font-size:1.2rem !important}
  .phaselist summary::after{grid-row:1 / span 2 !important}
    .phaselist details > div{padding:0 20px 20px !important}
}

/* ---- legal pages: plain prose, comfortable measure ---- */
.legal{display:grid !important;gap:clamp(40px,5vw,64px) !important;max-width:74ch !important}
.legal section{padding:0 !important}
.legal h2{font-size:1.7rem !important;margin-bottom:16px !important}
.legal h3{font-size:1.1rem !important;font-family:var(--sans) !important;font-weight:600 !important;margin:26px 0 8px !important}
.legal p{font-size:1.02rem !important;line-height:1.75 !important;color:var(--slate) !important;margin-bottom:14px !important}
.legal p strong{color:var(--ink) !important;font-weight:500 !important}
.legal ul{margin:0 0 14px !important;padding-left:20px !important;display:grid !important;gap:8px !important}
.legal li{font-size:1.02rem !important;line-height:1.7 !important;color:var(--slate) !important}
.legal a{color:var(--ink) !important;text-decoration:underline !important;text-underline-offset:3px !important}
.legal .note{padding:22px 24px !important;background:var(--paper) !important;font-size:.95rem !important;color:var(--slate) !important;line-height:1.65 !important}
.legal .updated{font-size:.78rem !important;font-weight:600 !important;letter-spacing:.12em !important;text-transform:uppercase !important;color:var(--slate) !important}

/* ---- a paragraph asking for its own spacing must win over the base reset ---- */
.linkrow{margin-top:clamp(30px,3.2vw,44px) !important}
.linkrow--wide{margin-top:clamp(52px,6vw,88px) !important}

/* ---- a media box that shows the whole asset instead of cropping it ---- */
.ph--contain{aspect-ratio:16/10 !important;display:grid !important;place-items:center !important;padding:34px !important}
.ph--contain img{position:static !important;inset:auto !important;width:auto !important;height:auto !important;
  max-width:100% !important;max-height:100% !important;object-fit:contain !important}

/* ---- forms: the submit and its footnote need air, on every page ---- */
form .btn[type="submit"],form button[type="submit"]{margin-top:clamp(12px,1.6vw,20px) !important}
#inqForm button[type="submit"]{margin-top:clamp(16px,2vw,26px) !important}
#inqForm .small,#inqForm .ok{margin-top:18px !important}
form .ok{margin-top:18px !important}
.brokers{margin-top:clamp(36px,4vw,52px) !important}

/* ---- contained media: centre reliably and keep a real height ---- */
.ph--contain{display:flex !important;align-items:center !important;justify-content:center !important}
.ph--contain img{max-height:112px !important;max-width:76% !important;width:auto !important;height:auto !important;
  object-fit:contain !important;position:static !important;inset:auto !important}

/* ---- a footnote after a block needs its own air ---- */
ul + p.small,ol + p.small,div + p.small,table + p.small,figure + p.small{margin-top:clamp(18px,2vw,26px) !important}

/* ---- map pins are touch targets ---- */
.pin{padding:10px 18px 10px 12px !important;min-height:40px !important}

/* ---- screen-reader-only, without the off-canvas hack ---- */
.visually-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;
  margin:-1px !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;clip-path:inset(50%) !important;
  white-space:nowrap !important;border:0 !important}

/* ---- menu rows are touch targets ---- */
.mcol a{padding-block:10px !important;min-height:44px !important;display:flex !important;align-items:center !important}
.mclose{min-height:44px !important}

/* ============================================================
   SPEC SHEET, rebuilt
   One column by default, micro-label above a serif value.
   .spec--2 opts back into two columns on wide viewports only.
   ============================================================ */
.spec{grid-template-columns:1fr !important;gap:0 !important}
.spec li{display:grid !important;grid-template-columns:minmax(0,38%) minmax(0,1fr) !important;
  align-items:baseline !important;gap:6px 28px !important;padding:17px 0 !important;
  border-bottom:1px solid var(--line) !important;font-size:1rem !important}
.spec li:first-child{border-top:1px solid var(--line) !important}
.spec li span:first-child{font-family:var(--sans) !important;font-size:.7rem !important;font-weight:600 !important;
  letter-spacing:.13em !important;text-transform:uppercase !important;color:var(--slate) !important;line-height:1.55 !important}
.spec li span:last-child{font-family:var(--serif) !important;font-size:1.12rem !important;font-weight:400 !important;
  line-height:1.35 !important;text-align:left !important;color:var(--ink) !important;text-wrap:pretty !important}
.spec .tbc{font-size:.66rem !important;padding:5px 9px !important;justify-self:start !important;background:var(--paper) !important}
.dark .spec li{border-bottom-color:#333 !important}
.dark .spec li:first-child{border-top-color:#333 !important}
.dark .spec li span:first-child{color:#A0A0A0 !important}
.dark .spec li span:last-child{color:var(--bone) !important}
.dark .spec .tbc{background:#222 !important;color:#B5B5B5 !important}
/* a data panel sits centred against the copy beside it */
.split--mid{align-items:center !important}

/* ============================================================
   SIDE HERO: copy aligns to the page grid, facts are not indented
   ============================================================ */
@media (min-width:861px){
  .hero--side-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important}
  .hero--side-copy{padding-left:max(var(--gut),calc((100% * 2 - var(--w)) / 2 + var(--gut))) !important}
  .hero--side-copy.is-right{padding-left:clamp(32px,5vw,70px) !important;
    padding-right:max(var(--gut),calc((100% * 2 - var(--w)) / 2 + var(--gut))) !important}
}
.hero--side-copy .facts{padding-inline:0 !important;padding-bottom:0 !important}
.facts span{text-wrap:balance !important}

/* ============================================================
   SECTION RHYTHM
   ============================================================ */
/* a hero that ends on its fact row still needs air before the next section */
.hero > .wrap > .facts:last-child{margin-bottom:clamp(80px,10vw,140px) !important}
/* the staggered strip hero must not run into the section below it */
.hero--strip{padding-bottom:clamp(80px,10vw,140px) !important}
/* two dark sections in a row should read as one field, not two */
section.dark:has(+ section.dark){padding-bottom:0 !important}

/* ============================================================
   HEADING ROW: the footnote and its link sit beside the intro copy
   ============================================================ */
.headrow{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(210px,290px) !important;
  gap:clamp(28px,4vw,72px) !important;align-items:end !important;margin-bottom:clamp(40px,5vw,60px) !important}
.headrow > .head{margin-bottom:0 !important}
.headrow .aside{display:grid !important;gap:13px !important;justify-items:start !important;padding-bottom:5px !important}
.headrow .aside p{margin:0 !important;font-size:.84rem !important;color:var(--slate) !important;line-height:1.6 !important}
.dark .headrow .aside p{color:#A0A0A0 !important}
@media (max-width:860px){
  .headrow{grid-template-columns:1fr !important;gap:22px !important}
  .headrow .aside{padding-bottom:0 !important}
}

/* ---- a footnote that closes a full-width data block ---- */
.footnote{max-width:74ch !important;margin-inline:auto !important;text-align:center !important;
  margin-top:clamp(34px,4vw,52px) !important}

/* ---- inside a split the head is a column, so it carries no trailing margin ---- */
.split > .head,.split > div > .head{margin-bottom:0 !important}

/* ---- a copy column that stacks a heading block over a data panel ---- */
.stack{display:grid !important;gap:clamp(26px,3vw,36px) !important;align-content:center !important}
@media (max-width:640px){.footnote{text-align:left !important}}

/* ---- a three-up fact row inside a card has no room on a phone ---- */
@media (max-width:640px){
  .lots .facts{grid-template-columns:1fr !important;gap:14px !important}
}

/* ---- on touch widths every footer and header link is a real target ---- */
@media (max-width:860px){
  .fgrid2 ul{gap:0 !important}
  .fgrid2 li a{display:flex !important;align-items:center !important;min-height:44px !important;padding-block:6px !important}
  header .brand,header a.brand{min-height:44px !important;display:inline-flex !important;align-items:center !important}
  .fbot ul{gap:4px 18px !important}
  .fbot li a{display:inline-flex !important;align-items:center !important;min-height:44px !important}
}

/* ---- a marquee must never be wider than the column it sits in ---- */
.logomarq,.inv-marquee{width:100% !important;max-width:100% !important;min-width:0 !important;justify-self:stretch !important}

/* ---- home hero: one clip, edge to edge, taller ---- */
.hero-media--full{display:block !important;margin-top:clamp(40px,6vw,80px) !important;width:100% !important;
  height:clamp(480px,78vh,880px) !important;min-height:0 !important}
.hero-media--full .hero-video{position:relative !important;width:100% !important;height:100% !important;padding:0 !important;background:#111 !important}
@media (max-width:860px){.hero-media--full{height:clamp(420px,62svh,640px) !important}}
@media (max-width:640px){.hero-media--full{height:clamp(380px,58svh,560px) !important}}

/* ---- home hero: the fact row sits on the clip, along its bottom edge ---- */
.hero-media--full{position:relative !important;overflow:hidden !important}
.hero-media--full .hero-video{position:absolute !important;inset:0 !important;height:auto !important}
.hero-overlay{position:absolute !important;left:0 !important;right:0 !important;bottom:0 !important;z-index:2 !important;
  padding-top:clamp(90px,14vw,200px) !important;
  background:linear-gradient(180deg,rgb(10 12 14/0) 0%,rgb(10 12 14/.55) 45%,rgb(10 12 14/.82) 100%) !important}
.hero-overlay .facts{margin-top:0 !important;margin-bottom:0 !important;padding-top:24px !important;
  padding-bottom:clamp(26px,3.4vw,46px) !important;border-top:1px solid rgb(255 255 255/.26) !important}
.hero-overlay .facts b{color:#FFFFFF !important}
.hero-overlay .facts span{color:rgb(255 255 255/.82) !important}
@media (max-width:640px){
  .hero-media--full{height:clamp(520px,82svh,680px) !important}
  .hero-overlay{padding-top:120px !important}
  .hero-overlay .facts{gap:0 !important;padding-top:10px !important;padding-bottom:22px !important}
  .hero-overlay .facts div{padding:10px 0 !important;gap:2px !important}
  .hero-overlay .facts b{font-size:1.15rem !important}
  .hero-overlay .facts span{font-size:.86rem !important}
}

/* ---- original static wordmark (vector), 15% larger than the previous raster logo ---- */
header .brand img{height:50px !important}
.mtop .brand img{height:46px !important}
@media (max-width:640px){header .brand img{height:39px !important}}

/* ---- a picture used purely as a visual pause: no scrim, no copy ---- */
.imgband--plain{min-height:clamp(480px,68vh,840px) !important}
.imgband--plain::after{display:none !important}

/* ---- a one-line strip: status, one sentence, one link ---- */
.band--strip{padding-block:clamp(26px,3vw,38px) !important}
.band--strip .wrap{gap:14px 32px !important}
.band--strip .txt{display:flex !important;flex-wrap:wrap !important;align-items:center !important;gap:10px 18px !important;flex:1 1 420px !important}
.band--strip .strip-line{margin:0 !important;font-family:var(--serif) !important;font-size:clamp(1.15rem,1.6vw,1.4rem) !important;line-height:1.35 !important;color:var(--ink) !important}
.band--strip .chip{margin:0 !important}
@media (max-width:640px){.band--strip .txt{flex-direction:column !important;align-items:flex-start !important}}
.carousel-section + .imgband--plain{margin-top:clamp(56px,7vw,100px) !important}

/* ============================================================
   HOME MASTERPLAN: full-bleed stage, 2027 render and site today
   ============================================================ */
.mp{background:var(--ink) !important;color:var(--bone) !important;padding-bottom:0 !important}
.mp .head h2{color:var(--bone) !important;max-width:18ch !important}
.mp .head .sec{color:rgb(255 255 255/.78) !important;max-width:52ch !important}
.mp .head .tag{color:rgb(255 255 255/.62) !important}
.mp-top{display:flex !important;flex-wrap:wrap !important;justify-content:space-between !important;align-items:end !important;gap:28px 40px !important;margin-bottom:clamp(36px,4.5vw,64px) !important}
.mp-toggle{display:inline-flex !important;background:rgb(255 255 255/.08) !important;padding:4px !important;border:1px solid rgb(255 255 255/.14) !important}
.mp-toggle button{font:inherit !important;font-size:.9rem !important;font-weight:500 !important;padding:13px 28px !important;min-height:46px !important;background:none !important;border:0 !important;color:rgb(255 255 255/.7) !important;cursor:pointer !important}
.mp-toggle button[aria-pressed="true"]{background:var(--bone) !important;color:var(--ink) !important}

.mp-stage{position:relative !important;width:100% !important;height:min(56.25vw, 94vh) !important;min-height:520px !important;overflow:hidden !important;background:#0d0f10 !important}
.mp-layer{position:absolute !important;inset:0 !important;margin:0 !important;opacity:0 !important;transition:opacity .9s ease !important}
.mp-layer.is-on{opacity:1 !important}
.mp-layer img{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;object-position:50% 50% !important;max-width:none !important}
.mp-layer::after{content:"" !important;position:absolute !important;inset:0 !important;pointer-events:none !important;
  background:linear-gradient(180deg,rgb(17 17 17/.55) 0%,rgb(17 17 17/0) 18%,rgb(17 17 17/0) 62%,rgb(17 17 17/.62) 100%) !important}
.mp-layer figcaption{position:absolute !important;right:var(--gut) !important;bottom:18px !important;z-index:3 !important;font-size:.72rem !important;letter-spacing:.12em !important;text-transform:uppercase !important;color:rgb(255 255 255/.72) !important}

.mp-frame{position:absolute !important;inset:0 !important}
.mp-pins{position:absolute !important;inset:0 !important;z-index:4 !important}
.mp-pin{position:absolute !important;transform:translate(-50%,-50%) !important;display:inline-flex !important;align-items:center !important;gap:10px !important;
  padding:8px 16px 8px 8px !important;min-height:44px !important;border:0 !important;cursor:pointer !important;font:inherit !important;font-size:.88rem !important;font-weight:500 !important;
  color:var(--ink) !important;background:rgb(255 255 255/.94) !important;box-shadow:0 8px 24px rgb(0 0 0/.28) !important;white-space:nowrap !important;transition:background .2s,color .2s !important}
.mp-pin[hidden]{display:none !important}
.mp-dot{width:26px !important;height:26px !important;border-radius:50% !important;background:var(--moss) !important;position:relative !important;flex:0 0 26px !important}
.mp-dot::after{content:"" !important;position:absolute !important;inset:9px !important;border-radius:50% !important;background:#fff !important}
.mp-pin[data-status="open"] .mp-dot{background:var(--ink) !important}
.mp-pin[aria-pressed="true"]{background:var(--moss) !important;color:#fff !important}
.mp-pin[aria-pressed="true"] .mp-dot{background:#fff !important}
.mp-pin[aria-pressed="true"] .mp-dot::after{background:var(--moss) !important}
.mp-pin[aria-pressed="true"] .mp-dot::before{content:"" !important;position:absolute !important;inset:-7px !important;border-radius:50% !important;border:2px solid rgb(255 255 255/.7) !important;animation:mppulse 2.2s ease-out infinite !important}
@keyframes mppulse{0%{transform:scale(.8);opacity:1}100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.mp-pin .mp-dot::before{animation:none !important}.mp-layer{transition:none !important}}

.mp-card{position:absolute !important;z-index:5 !important;left:max(var(--gut), calc((100% - var(--w)) / 2 + var(--gut))) !important;bottom:clamp(28px,3.5vw,52px) !important;
  width:min(380px, 34vw) !important;display:grid !important;gap:12px !important;justify-items:start !important;padding:clamp(22px,2.2vw,30px) !important;
  background:rgb(17 17 17/.78) !important;-webkit-backdrop-filter:blur(14px) !important;backdrop-filter:blur(14px) !important;border:1px solid rgb(255 255 255/.12) !important}
.mp-card h3{color:#fff !important;font-size:clamp(1.5rem,2vw,1.9rem) !important}
.mp-card p{color:rgb(255 255 255/.82) !important;font-size:.98rem !important;line-height:1.55 !important}
.mp-facts{list-style:none !important;margin:4px 0 0 !important;padding:0 !important;width:100% !important;display:grid !important}
.mp-facts li{display:flex !important;justify-content:space-between !important;gap:16px !important;padding:10px 0 !important;border-top:1px solid rgb(255 255 255/.14) !important;font-size:.9rem !important}
.mp-facts span{color:rgb(255 255 255/.62) !important}
.mp-facts b{color:#fff !important;font-weight:500 !important}
.mp-card .more{margin-top:4px !important}

.mp-cta{display:flex !important;flex-wrap:wrap !important;justify-content:space-between !important;align-items:center !important;gap:24px 40px !important;padding-block:clamp(40px,5vw,72px) !important}
.mp-cta h3{color:#fff !important;font-size:clamp(1.8rem,3vw,2.6rem) !important}

@media (max-width:860px){
  .mp-stage{height:auto !important;min-height:0 !important;overflow:visible !important;background:none !important}
  .mp-frame{position:relative !important;inset:auto !important;aspect-ratio:4/3 !important;overflow:hidden !important}
  .mp-layer[data-mode="2027"] img{object-position:56% 50% !important}
  .mp-card{position:relative !important;left:auto !important;bottom:auto !important;width:auto !important;margin:-28px var(--gut) 0 !important;
    background:#1b1d1f !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important}
  .mp-layer figcaption{bottom:auto !important;top:12px !important;right:12px !important;font-size:.62rem !important}
  .mp-pin{padding:6px !important;gap:0 !important;min-height:40px !important}
  .mp-pin .mp-name{display:none !important}
  .mp-pin[aria-pressed="true"]{padding:6px 14px 6px 6px !important;gap:8px !important}
  .mp-pin[aria-pressed="true"] .mp-name{display:inline !important}
}

/* ---- full vision state: future lots read differently from Phase One ---- */
.mp-pin[data-status="future"]{background:rgb(17 17 17/.72) !important;color:#fff !important;border:1px dashed rgb(255 255 255/.55) !important;box-shadow:none !important}
.mp-pin[data-status="future"] .mp-dot{background:transparent !important;border:2px solid #fff !important}
.mp-pin[data-status="future"] .mp-dot::after{inset:7px !important;background:rgb(255 255 255/.8) !important}
.mp-pin[data-status="future"][aria-pressed="true"]{background:#fff !important;color:var(--ink) !important;border-style:solid !important}
.mp-pin[data-status="future"][aria-pressed="true"] .mp-dot{border-color:var(--ink) !important}
.mp-pin[data-status="future"][aria-pressed="true"] .mp-dot::after{background:var(--ink) !important}
.mp-pin[data-status="build"] .mp-dot{background:var(--moss) !important}
.mp-legend{list-style:none !important;margin:2px 0 0 !important;padding:0 !important;display:flex !important;flex-wrap:wrap !important;gap:8px 20px !important}
.mp-legend li{display:inline-flex !important;align-items:center !important;gap:8px !important;font-size:.85rem !important;color:rgb(255 255 255/.8) !important}
.mp-legend li::before{content:"" !important;width:12px !important;height:12px !important;border-radius:50% !important}
.mp-legend li[data-k="build"]::before{background:var(--moss) !important}
.mp-legend li[data-k="future"]::before{border:2px dashed #fff !important}
@media (max-width:860px){.mp-toggle button{padding:12px 16px !important}}

/* ---- beyond Phase One: the scale moment ---- */
.mp-vision{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) !important;gap:clamp(36px,6vw,96px) !important;align-items:center !important;
  padding-block:clamp(64px,8vw,120px) clamp(20px,3vw,40px) !important;border-bottom:1px solid rgb(255 255 255/.12) !important}
.mp-vision-head{display:grid !important;gap:18px !important;justify-items:start !important}
.mp-vision-head h3{color:#fff !important;font-size:clamp(2rem,3.6vw,3.2rem) !important;line-height:1.08 !important;max-width:16ch !important}
.mp-vision-head .sec{color:rgb(255 255 255/.78) !important;max-width:48ch !important}
.mp-vision-head .btn{margin-top:10px !important;font:inherit !important;cursor:pointer !important}
.mp-vision-list{list-style:none !important;margin:0 !important;padding:0 !important;display:grid !important;grid-template-columns:1fr 1fr !important;gap:1px !important;background:rgb(255 255 255/.12) !important}
.mp-vision-list li{background:var(--ink) !important;display:grid !important;gap:16px !important;align-content:start !important;padding:clamp(22px,2.4vw,32px) clamp(18px,2vw,28px) !important}
.mp-vision-list .ico{width:44px !important;height:44px !important;border-radius:50% !important;display:grid !important;place-items:center !important;background:rgb(151 169 127/.16) !important;color:var(--moss) !important}
.mp-vision-list .ico svg{width:22px !important;height:22px !important}
.mp-vision-list div{display:grid !important;gap:6px !important}
.mp-vision-list b{color:#fff !important;font-weight:500 !important;font-size:1.05rem !important}
.mp-vision-list div span{color:rgb(255 255 255/.66) !important;font-size:.92rem !important;line-height:1.5 !important}
.mp-vision-note{grid-column:1/-1 !important;color:rgb(255 255 255/.5) !important;margin:0 !important}
@media (max-width:860px){
  .mp-vision{grid-template-columns:1fr !important;padding-top:56px !important}
}
@media (max-width:520px){.mp-vision-list{grid-template-columns:1fr !important}}
/* in the full vision the render dims a touch so the lot markers lead */
.mp-stage[data-mode="full"] .mp-layer[data-mode="2027"] img{filter:saturate(.9) brightness(.86) !important;transition:filter .6s ease !important}
.mp-vision-list .ico svg{fill:none !important;stroke:currentColor !important;stroke-width:1.6 !important;stroke-linecap:round !important;stroke-linejoin:round !important}
.mp-vision-list .ico{color:#C9D6B8 !important;background:rgb(151 169 127/.22) !important}
.mp-vision-note{padding-top:8px !important}

/* ---- a page that is not open yet carries its date in the navigation ---- */
.mcol a .soon,.fgrid2 a .soon{font-family:var(--sans) !important;font-size:.62rem !important;font-weight:600 !important;letter-spacing:.12em !important;
  text-transform:uppercase !important;color:var(--slate) !important;margin-left:10px !important;white-space:nowrap !important;vertical-align:middle !important}
.fgrid2 a .soon{color:#7d7d7d !important;margin-left:8px !important}
.mcol a:has(.soon){flex-wrap:wrap !important;column-gap:0 !important}

/* ---- a holding statement where confirmed content will go ---- */
.holding{display:grid !important;gap:14px !important;justify-items:start !important;padding:clamp(28px,3.4vw,48px) !important;background:var(--paper) !important;border-left:3px solid var(--moss) !important}
.holding h3{font-size:clamp(1.5rem,2.2vw,2rem) !important}
.holding p{color:var(--slate) !important;line-height:1.65 !important;max-width:52ch !important}
.mp #lots{padding-bottom:clamp(64px,8vw,120px) !important}

/* ============ suite plans: each suite shows its own rendering ============ */
.suites-plan{padding:24px !important;align-content:center !important;gap:14px !important}
.suites-plan image{pointer-events:none !important}
.suites-plan .lot{fill:rgb(17 17 17/.46) !important;stroke:#FFFFFF !important;stroke-width:1.5 !important}
.suites-plan .lot:hover{fill:rgb(17 17 17/.22) !important}
.suites-plan .lot.is-on{fill:rgb(17 17 17/.08) !important;stroke:var(--moss) !important;stroke-width:6 !important}
.suites-plan g[data-suite] text{fill:#FFFFFF !important;font-size:17px !important;paint-order:stroke !important;stroke:rgb(17 17 17/.55) !important;stroke-width:3px !important}
.suites-plan .lot.is-on + text{fill:#FFFFFF !important}
.suites-plan .hint{position:static !important;left:auto !important;bottom:auto !important;background:none !important;padding:0 !important;margin:0 !important}
@media (max-width:640px){
  .suites-plan{padding:14px !important;min-height:0 !important}
  .suites-plan svg text{font-size:24px !important}
  .suites-plan g[data-suite] text{font-size:26px !important;stroke-width:5px !important}
  .suites-plan .lbl{font-size:22px !important}
  .suites-plan .lbl[style]{display:none !important}
}

/* ============ toyota arena hero: copy sits clear of the arena ============ */
@media (min-width:861px){
  .hero--overlay-right .wrap{padding-left:var(--gut) !important;grid-template-columns:minmax(0,1fr) min(720px,68%) !important}
  .hero--overlay-right .wrap > *{grid-column:2 !important}
  .hero--overlay-right h1{max-width:none !important}
  .hero--overlay-right .hero-foot{flex-wrap:nowrap !important;gap:12px clamp(24px,3.2vw,56px) !important}
  .hero--overlay-right .hero-foot div{flex:0 1 auto !important;min-width:0 !important}
  .hero--overlay-right::after{background:linear-gradient(90deg,rgb(17 17 17/.10) 0%,rgb(17 17 17/.25) 38%,rgb(17 17 17/.82) 72%),linear-gradient(180deg,rgb(17 17 17/.35),rgb(17 17 17/0) 30%,rgb(17 17 17/.55)) !important}
}

/* ============ masterplan and full vision on phones ============ */
@media (max-width:640px){
  .mp-pin{padding:3px !important;min-height:0 !important;box-shadow:0 3px 10px rgb(0 0 0/.3) !important}
  .mp-dot{width:14px !important;height:14px !important;flex:0 0 14px !important}
  .mp-dot::after{inset:4px !important}
  .mp-pin[data-status="future"] .mp-dot{border-width:1.5px !important}
  .mp-pin[data-status="future"] .mp-dot::after{inset:3px !important}
  .mp-pin[aria-pressed="true"]{padding:3px 9px 3px 3px !important;gap:6px !important;font-size:.74rem !important}
  .mp-pin[aria-pressed="true"] .mp-dot::before{inset:-4px !important;border-width:1.5px !important}
  .mp-vision-list li{padding-inline:0 !important}
  .mp-vision-list{background:none !important;gap:0 !important}
  .mp-vision-list li{border-top:1px solid rgb(255 255 255/.12) !important;padding-block:22px !important}
}

/* ============ event category cards: icons until event photography exists ============ */
.cell-ico{display:grid !important;place-items:center !important;width:64px !important;height:64px !important;margin:32px 32px 0 !important;background:rgb(151 169 127/.16) !important;color:var(--moss) !important;flex:0 0 auto !important}
.cell-ico svg{width:36px !important;height:36px !important;fill:none !important;stroke:currentColor !important;stroke-width:1.5 !important;stroke-linecap:round !important;stroke-linejoin:round !important}
.cell-ico + .cell-content{padding-top:24px !important}
.dark .cell-ico{background:#242424 !important;color:#B5C4A1 !important}

/* ============================================================
   DATA VISUALS: income, one mile, demand engines
   Every figure comes from the numbers register; scales start at zero.
   ============================================================ */
.dv{--dv-bg:var(--bone);--dv-ink:var(--ink);--dv-muted:var(--slate);--dv-line:#E2E4DE;--dv-panel:var(--paper);
  --dv-lead:#111111;--dv-compare:#D5D9CF;--dv-accent:var(--moss);--dv-soft:#EEF1EA;--dv-ease:cubic-bezier(.2,.75,.1,1)}
.dark .dv{--dv-bg:var(--ink);--dv-ink:#FFFFFF;--dv-muted:#A0A0A0;--dv-line:#2C2C2C;--dv-panel:#1A1A1A;
  --dv-lead:#F3F3EF;--dv-compare:#3B3D38;--dv-accent:var(--sage);--dv-soft:#161A14}
figure.dv,.dv figure{margin:0 !important}
.dv p{margin:0 !important}
.dv-kicker{font-size:.7rem !important;font-weight:600 !important;letter-spacing:.15em !important;text-transform:uppercase !important;color:var(--dv-muted) !important}
.dv-src{font-size:.78rem !important;line-height:1.6 !important;color:var(--dv-muted) !important;max-width:88ch !important}
.dv [data-count]{font-variant-numeric:tabular-nums lining-nums !important}

/* ---- 01 income ---- */
.dv-income{display:grid !important;grid-template-columns:minmax(0,5fr) minmax(0,7fr) !important;gap:clamp(36px,6vw,96px) !important;
  align-items:center !important;background:var(--dv-panel) !important;padding:clamp(28px,4.5vw,64px) !important}
.dv-income-lead{display:grid !important;gap:14px !important;align-content:start !important}
.dv-hero{font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(4rem,8.6vw,7.6rem) !important;line-height:.88 !important;
  letter-spacing:-.035em !important;color:var(--dv-ink) !important;white-space:nowrap !important;margin-top:6px !important}
.dv-hero-sign{font-size:.5em !important;color:var(--dv-accent) !important;vertical-align:.62em !important;margin-right:.06em !important;letter-spacing:0 !important}
.dv-lead{font-size:clamp(1.05rem,1.4vw,1.25rem) !important;line-height:1.45 !important;color:var(--dv-ink) !important;max-width:24ch !important}
.dv-age{display:flex !important;align-items:center !important;gap:18px !important;margin-top:clamp(18px,3vw,34px) !important;padding-top:clamp(18px,2.4vw,26px) !important;border-top:1px solid var(--dv-line) !important}
.dv-age-n{font-family:var(--serif) !important;font-size:clamp(2.6rem,4vw,3.4rem) !important;line-height:1 !important;color:var(--dv-ink) !important}
.dv-age-l{font-size:.9rem !important;line-height:1.45 !important;color:var(--dv-muted) !important;max-width:22ch !important}
.dv-bars{position:relative !important;display:grid !important;gap:clamp(22px,2.6vw,34px) !important}
.dv-grid{position:absolute !important;left:0 !important;right:0 !important;top:0 !important;bottom:64px !important;display:flex !important;justify-content:space-between !important;pointer-events:none !important;z-index:0 !important}
.dv-grid i{width:1px !important;background:var(--dv-line) !important}
.dv-bar{position:relative !important;z-index:1 !important;display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:"name val" "track track" !important;gap:10px 16px !important;align-items:baseline !important}
.dv-bar-name{grid-area:name !important;font-size:.95rem !important;font-weight:500 !important;color:var(--dv-ink) !important}
.dv-bar-val{grid-area:val !important;font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(1.5rem,2.3vw,2.1rem) !important;line-height:1 !important;color:var(--dv-ink) !important;font-variant-numeric:tabular-nums lining-nums !important}
.dv-bar:not(.is-lead) .dv-bar-val{color:var(--dv-muted) !important}
.dv-bar-track{grid-area:track !important;position:relative !important;display:block !important;height:clamp(40px,4.6vw,60px) !important}
.dv-bar-fill{position:absolute !important;left:0 !important;top:0 !important;bottom:0 !important;width:var(--v) !important;background:var(--dv-compare) !important;
  transform-origin:left center !important;transition:transform 1.5s var(--dv-ease) !important}
.is-lead .dv-bar-fill{background:var(--dv-lead) !important}
.dv-bar-gap{position:absolute !important;top:-7px !important;bottom:-7px !important;left:var(--from) !important;width:calc(var(--v) - var(--from)) !important;
  min-width:6px !important;background:var(--dv-accent) !important;transition:opacity .6s ease 1.35s, transform .6s var(--dv-ease) 1.35s !important;transform-origin:center !important}
.dv-axis{position:relative !important;height:18px !important;margin-top:-8px !important;font-size:.74rem !important;color:var(--dv-muted) !important;font-variant-numeric:tabular-nums !important}
.dv-axis span{position:absolute !important;top:0 !important;transform:translateX(-50%) !important;white-space:nowrap !important}
.dv-axis span:nth-child(1){left:0 !important;transform:none !important}
.dv-axis span:nth-child(2){left:25% !important}
.dv-axis span:nth-child(3){left:50% !important}
.dv-axis span:nth-child(4){left:75% !important}
.dv-axis span:nth-child(5){left:100% !important;transform:translateX(-100%) !important}
.dv-note{display:flex !important;align-items:center !important;gap:10px !important;font-size:.8rem !important;color:var(--dv-muted) !important}
.dv-swatch{width:14px !important;height:14px !important;background:var(--dv-accent) !important;flex:0 0 14px !important}
.dv-income > .dv-src{grid-column:1/-1 !important;padding-top:clamp(18px,2.4vw,26px) !important;border-top:1px solid var(--dv-line) !important}
.dv-armed .dv-bar-fill{transform:scaleX(0) !important}
.dv-armed .dv-bar-gap{opacity:0 !important;transform:scaleY(.2) !important}
@media (max-width:860px){
  .dv-income{grid-template-columns:1fr !important}
}
@media (max-width:560px){
  .dv-axis span:nth-child(2),.dv-axis span:nth-child(4){display:none !important}
}

/* ---- 02 one mile ---- */
.dv-mile{display:grid !important;gap:clamp(20px,3vw,32px) !important}
.dv-mile-stage{position:relative !important;width:100% !important;max-width:1120px !important;margin-inline:auto !important;aspect-ratio:1000/600 !important;container-type:inline-size !important}
.dv-mile-svg{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;overflow:visible !important}
.dv-mile-halo{fill:var(--dv-soft) !important}
.dv-mile-inner{fill:none !important;stroke:var(--dv-line) !important;stroke-width:1 !important}
.dv-mile-ring{fill:none !important;stroke:var(--dv-accent) !important;stroke-width:2 !important;stroke-dasharray:.9 .9 !important;stroke-linecap:round !important;
  transform-origin:500px 300px !important;animation:dv-orbit 120s linear infinite !important}
@keyframes dv-orbit{to{transform:rotate(360deg)}}
.dv-mile-spoke{stroke:var(--dv-ink) !important;stroke-opacity:.28 !important;stroke-width:1.2 !important;stroke-dasharray:100 !important;stroke-dashoffset:0 !important;
  transition:stroke-dashoffset 1s var(--dv-ease) calc(.15s + var(--d) * .12s) !important}
.dv-armed .dv-mile-spoke{stroke-dashoffset:100 !important}
.dv-mile-center{position:absolute !important;left:50% !important;top:50% !important;transform:translate(-50%,-50%) !important;z-index:2 !important;
  width:clamp(70px,18cqw,200px) !important;aspect-ratio:1 !important;border-radius:50% !important;background:var(--dv-bg) !important;
  display:grid !important;place-items:center !important;align-content:center !important;gap:6px !important;
  box-shadow:0 0 0 1px var(--dv-line),0 0 0 clamp(8px,1.6vw,16px) rgb(151 169 127/.18),0 18px 40px rgb(17 17 17/.10) !important}
.dv-mile-center img{width:58% !important;height:auto !important}
.dv-logo-light{display:none !important}
.dark .dv-logo-dark{display:none !important}
.dark .dv-logo-light{display:block !important}
.dv-mile-center span{font-size:clamp(.5rem,.9vw,.64rem) !important;font-weight:600 !important;letter-spacing:.14em !important;text-transform:uppercase !important;color:var(--dv-muted) !important;text-align:center !important;max-width:80% !important;line-height:1.3 !important}
.dv-mile-label{position:absolute !important;left:50% !important;top:6.33% !important;transform:translate(-50%,-50%) !important;z-index:2 !important;
  padding:6px 14px !important;background:var(--dv-bg) !important;font-size:clamp(.56rem,1vw,.72rem) !important;font-weight:600 !important;letter-spacing:.14em !important;
  text-transform:uppercase !important;color:var(--dv-accent) !important;white-space:nowrap !important;border:1px solid var(--dv-accent) !important}
.dark .dv-mile-label{color:var(--sage) !important}
.dv-node{position:absolute !important;left:var(--x) !important;top:var(--y) !important;z-index:3 !important;width:0 !important;height:0 !important}
.dv-node-dot{position:absolute !important;left:0 !important;top:0 !important;transform:translate(-50%,-50%) scale(1) !important;
  width:clamp(26px,6.4cqw,72px) !important;aspect-ratio:1 !important;border-radius:50% !important;background:var(--dv-lead) !important;color:var(--dv-bg) !important;
  display:grid !important;place-items:center !important;box-shadow:0 0 0 clamp(3px,.8cqw,9px) var(--dv-soft) !important;
  transition:transform .7s cubic-bezier(.3,1.5,.5,1) calc(.5s + var(--d) * .12s) !important}
.dv-node-dot svg{width:46% !important;height:46% !important;fill:none !important;stroke:currentColor !important;stroke-width:1.6 !important;stroke-linecap:round !important;stroke-linejoin:round !important}
.dv-node-dot em{display:none !important}
.dv-node-card{position:absolute !important;top:0 !important;transform:translateY(-50%) !important;display:grid !important;gap:4px !important;width:max-content !important;max-width:clamp(150px,22vw,250px) !important;
  transition:opacity .6s ease calc(.75s + var(--d) * .12s), transform .6s var(--dv-ease) calc(.75s + var(--d) * .12s) !important}
.dv-node--l .dv-node-card{right:clamp(26px,4.4vw,56px) !important;text-align:right !important;justify-items:end !important}
.dv-node--r .dv-node-card{left:clamp(26px,4.4vw,56px) !important}
.dv-node-card b{font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(1.05rem,1.7vw,1.45rem) !important;line-height:1.15 !important;color:var(--dv-ink) !important}
.dv-node-card span{font-size:clamp(.74rem,1vw,.88rem) !important;line-height:1.4 !important;color:var(--dv-muted) !important}
.dv-armed .dv-node-dot{transform:translate(-50%,-50%) scale(0) !important}
.dv-armed .dv-node-card{opacity:0 !important}
.dv-armed .dv-node--l .dv-node-card{transform:translate(12px,-50%) !important}
.dv-armed .dv-node--r .dv-node-card{transform:translate(-12px,-50%) !important}
.dv-mile-legend{display:none !important}
.dv-mile > .dv-src{text-align:center !important;margin-inline:auto !important}
@media (max-width:720px){
  .dv-node-card{display:none !important}
  .dv-node-dot svg{display:none !important}
  .dv-node-dot em{display:block !important;font-style:normal !important;font-weight:600 !important;font-size:.72rem !important}
  .dv-mile-center span{display:none !important}
  .dv-mile-center img{width:66% !important}
  .dv-mile-label{top:3% !important;padding:4px 10px !important}
  .dv-mile-legend{display:grid !important;list-style:none !important;margin:0 !important;padding:0 !important;gap:0 !important;border-top:1px solid var(--dv-line) !important}
  .dv-mile-legend li{display:grid !important;grid-template-columns:30px 1fr !important;column-gap:12px !important;padding:12px 0 !important;border-bottom:1px solid var(--dv-line) !important;align-items:baseline !important}
  .dv-mile-legend em{grid-row:span 2 !important;width:24px !important;height:24px !important;border-radius:50% !important;background:var(--dv-lead) !important;color:var(--dv-bg) !important;
    display:grid !important;place-items:center !important;font-style:normal !important;font-weight:600 !important;font-size:.72rem !important;align-self:start !important}
  .dv-mile-legend b{font-family:var(--serif) !important;font-weight:400 !important;font-size:1.1rem !important;color:var(--dv-ink) !important}
  .dv-mile-legend span{font-size:.85rem !important;color:var(--dv-muted) !important}
  .dv-mile > .dv-src{text-align:left !important}
}

/* ---- 03 demand engines ---- */
.dv-engines{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:clamp(14px,2vw,24px) !important}
.dv-eng{background:var(--dv-panel) !important;padding:clamp(24px,3.4vw,48px) !important;display:grid !important;gap:clamp(22px,3vw,36px) !important;align-content:space-between !important}
.dv-eng--people{grid-column:1/-1 !important}
.dv-eng-head{display:flex !important;justify-content:space-between !important;align-items:center !important;gap:10px 20px !important;flex-wrap:wrap !important}
.dv-key{display:inline-flex !important;align-items:center !important;gap:9px !important;font-size:.78rem !important;color:var(--dv-muted) !important;white-space:nowrap !important}
.dv-key i{display:block !important;background:var(--dv-lead) !important}
.dv-key-dot{width:11px !important;height:11px !important;border-radius:50% !important}
.dv-key-tick{width:5px !important;height:10px !important;border-radius:1px !important}
.dv-key i.dv-key-block{width:15px !important;height:10px !important;border-radius:2px !important;background:var(--dv-accent) !important}
.dv-people{display:grid !important;gap:clamp(26px,3.4vw,44px) !important}
.dv-prow{display:grid !important;grid-template-columns:clamp(128px,15vw,210px) minmax(0,1fr) !important;grid-template-areas:"big dots" "big lbl" !important;
  column-gap:clamp(20px,3vw,44px) !important;row-gap:12px !important;align-items:center !important}
.dv-big{font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(2.8rem,5.4vw,4.9rem) !important;line-height:.9 !important;letter-spacing:-.025em !important;color:var(--dv-ink) !important;white-space:nowrap !important}
.dv-prow .dv-big{grid-area:big !important}
.dv-lbl{font-size:.95rem !important;line-height:1.45 !important;color:var(--dv-muted) !important}
.dv-prow .dv-lbl{grid-area:lbl !important}
.dv-dots{grid-area:dots !important;display:grid !important;grid-template-columns:repeat(28,minmax(0,1fr)) !important;gap:clamp(3px,.6vw,9px) !important}
.dv-engines--no-mills .dv-dots{grid-template-columns:repeat(14,minmax(0,1fr)) !important;max-width:620px !important}
.dv-dots i{display:block !important;aspect-ratio:1 !important;border-radius:50% !important;background:var(--dv-lead) !important;
  transition:transform .55s cubic-bezier(.3,1.6,.5,1) calc(var(--i,0) * 32ms), opacity .3s ease calc(var(--i,0) * 32ms) !important}
.dv-dots i.is-plus,.dv-homes i.is-plus{background:none !important;position:relative !important}
.dv-dots i.is-plus::before,.dv-dots i.is-plus::after,.dv-homes i.is-plus::before,.dv-homes i.is-plus::after{content:"" !important;position:absolute !important;left:50% !important;top:50% !important;background:var(--dv-accent) !important;transform:translate(-50%,-50%) !important}
.dv-dots i.is-plus::before{width:64% !important;height:2px !important}
.dv-dots i.is-plus::after{width:2px !important;height:64% !important}
.dv-armed .dv-dots i{transform:scale(0) !important;opacity:0 !important}
.dv-events{display:grid !important;grid-template-columns:repeat(30,minmax(0,1fr)) !important;gap:clamp(2px,.32vw,4px) !important;
  clip-path:inset(0 0 0 0) !important;transition:clip-path 2.2s cubic-bezier(.65,0,.25,1) .1s !important}
.dv-events i{display:block !important;aspect-ratio:1/1.15 !important;border-radius:1px !important;background:var(--dv-lead) !important}
.dv-armed .dv-events{clip-path:inset(0 100% 0 0) !important}
.dv-homes{position:relative !important;display:grid !important;grid-template-columns:repeat(10,minmax(0,1fr)) !important;gap:clamp(4px,.6vw,8px) !important;padding-right:clamp(18px,2vw,26px) !important}
.dv-homes i{display:block !important;aspect-ratio:1.6 !important;border-radius:2px !important;background:var(--dv-accent) !important;
  transition:transform .5s var(--dv-ease) calc(var(--i,0) * 40ms), opacity .4s ease calc(var(--i,0) * 40ms) !important}
.dv-homes i.is-plus{position:absolute !important;right:0 !important;bottom:0 !important;width:clamp(12px,1.4vw,18px) !important;aspect-ratio:1 !important}
.dv-homes i.is-plus::before{width:100% !important;height:2px !important}
.dv-homes i.is-plus::after{width:2px !important;height:100% !important}
.dv-armed .dv-homes i:not(.is-plus){transform:translateY(10px) !important;opacity:0 !important}
.dv-foot{display:flex !important;align-items:baseline !important;gap:10px 18px !important;flex-wrap:wrap !important}
.dv-foot .dv-lbl{max-width:24ch !important}
.dv-eng-src{grid-column:1/-1 !important;text-align:center !important;margin-inline:auto !important}
@media (max-width:860px){
  .dv-engines{grid-template-columns:1fr !important}
  .dv-prow{grid-template-columns:1fr !important;grid-template-areas:"big" "dots" "lbl" !important}
  .dv-eng-src{text-align:left !important}
}
@media (prefers-reduced-motion:reduce){
  .dv-mile-ring{animation:none !important}
}

/* ---- shared additions for priority 2 visuals ---- */
.dv{--dv-facade:#E7EAE2;--dv-range:rgb(151 169 127/.17);--dv-seg2:#6D6F69;--dv-seg3:#B9BCB4}
.dark .dv{--dv-facade:#262823;--dv-range:rgb(185 199 166/.12);--dv-seg2:#A6A9A0;--dv-seg3:#62655E}
.dv-gap{height:clamp(20px,3vw,36px) !important}
.dv-keys{display:flex !important;flex-wrap:wrap !important;gap:8px 22px !important}
.dv-key i.dv-key-win{width:12px !important;height:9px !important;border-radius:1px !important;background:var(--dv-accent) !important}
.dv-key i.dv-key-range{width:24px !important;height:11px !important;background:var(--dv-range) !important;box-shadow:inset 0 0 0 1px var(--dv-accent) !important}
.dv-key i.dv-key-seg{width:30px !important;height:9px !important;background:linear-gradient(90deg,var(--dv-lead) 0 57%,var(--dv-seg2) 57% 95%,var(--dv-seg3) 95%) !important}

/* ---- 04 phase one ---- */
.dv-phase{display:grid !important;gap:clamp(22px,3vw,36px) !important;background:var(--dv-panel) !important;padding:clamp(22px,4vw,56px) !important}
.dv-phase-stage{--row:clamp(9px,1.75vw,24px);display:flex !important;align-items:flex-end !important;border-bottom:2px solid var(--dv-ink) !important;margin-bottom:clamp(34px,4vw,48px) !important;padding-top:6px !important}
.dv-bldg{position:relative !important;display:grid !important;min-width:0 !important}
.dv-bldg--edge{flex:27 1 0 !important}
.dv-bldg--echo{flex:22 1 0 !important}
.dv-bldg-top{display:flex !important;align-items:baseline !important;gap:10px !important;flex-wrap:wrap !important;margin-bottom:12px !important}
.dv-bldg-top b{font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(1.7rem,3.8vw,3.3rem) !important;line-height:.9 !important;color:var(--dv-ink) !important}
.dv-bldg-top b::before{content:"~" !important}
.dv-bldg-top > span{font-size:clamp(.72rem,1vw,.9rem) !important;color:var(--dv-muted) !important}
.dv-win{display:grid !important;grid-template-columns:repeat(10,minmax(0,1fr)) !important;grid-auto-rows:var(--row) !important;gap:clamp(2px,.45vw,6px) !important;
  padding:clamp(5px,1vw,14px) !important;background:var(--dv-facade) !important}
.dv-win i{display:block !important;border-radius:1px !important;background:var(--dv-accent) !important;transition:opacity .5s ease calc(.2s + var(--i,0) * 24ms), transform .5s var(--dv-ease) calc(.2s + var(--i,0) * 24ms) !important}
.dv-ground{display:grid !important;align-content:center !important;gap:2px !important;min-height:clamp(52px,6vw,88px) !important;padding:clamp(8px,1.4vw,18px) !important;
  background:var(--dv-lead) !important;color:var(--dv-bg) !important;transform-origin:left bottom !important;transition:transform 1s var(--dv-ease) !important}
.dv-ground b{font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(.95rem,2vw,1.8rem) !important;line-height:1.05 !important;color:var(--dv-bg) !important}
.dv-ground span{font-size:clamp(.6rem,.9vw,.8rem) !important;opacity:.72 !important;line-height:1.3 !important}
.dv-bldg-name{position:absolute !important;top:calc(100% + 12px) !important;left:0 !important;font-family:var(--serif) !important;font-size:clamp(.9rem,1.5vw,1.25rem) !important;color:var(--dv-ink) !important;white-space:nowrap !important}
.dv-plaza{flex:0 0 clamp(48px,13%,170px) !important;height:clamp(18px,2.2vw,30px) !important;background:var(--dv-range) !important;border-top:2px solid var(--dv-accent) !important;
  position:relative !important;display:grid !important;place-items:center !important}
.dv-plaza span{position:absolute !important;bottom:calc(100% + 8px) !important;left:50% !important;transform:translateX(-50%) !important;font-size:clamp(.5rem,.8vw,.7rem) !important;font-weight:600 !important;
  letter-spacing:.14em !important;text-transform:uppercase !important;color:var(--dv-accent) !important;white-space:nowrap !important}
.dv-phase-total{display:flex !important;flex-wrap:wrap !important;gap:16px clamp(28px,6vw,90px) !important;padding-top:clamp(18px,2.4vw,26px) !important;border-top:1px solid var(--dv-line) !important}
.dv-phase-total div{display:grid !important;gap:4px !important}
.dv-phase-total b{font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(1.8rem,3vw,2.6rem) !important;line-height:1 !important;color:var(--dv-ink) !important}
.dv-phase-total span{font-size:.88rem !important;color:var(--dv-muted) !important}
.dv-armed .dv-win i{opacity:0 !important;transform:scale(.4) !important}
.dv-armed .dv-ground{transform:scaleY(0) !important}

/* ---- 05 suite sizes ---- */
.dv-sizes{display:grid !important;gap:clamp(22px,3vw,34px) !important;background:var(--dv-panel) !important;padding:clamp(22px,4vw,56px) !important}
.dv-sgroup{display:grid !important;grid-template-columns:clamp(58px,7vw,90px) minmax(0,1fr) clamp(52px,5.4vw,70px) clamp(160px,17vw,230px) !important;
  column-gap:clamp(12px,1.6vw,22px) !important;row-gap:0 !important;align-items:center !important}
.dv-sgroup-name{grid-column:1/-1 !important;grid-row:1 !important;font-family:var(--serif) !important;font-size:clamp(1.2rem,1.8vw,1.5rem) !important;color:var(--dv-ink) !important;margin-bottom:8px !important}
.dv-srange{grid-column:2 !important;grid-row:2 !important;position:relative !important;height:28px !important}
.dv-srange::before{content:"" !important;position:absolute !important;left:var(--a) !important;width:calc(var(--b) - var(--a)) !important;bottom:0 !important;height:7px !important;
  border:1px solid var(--dv-accent) !important;border-bottom:0 !important}
.dv-srange em{position:absolute !important;left:var(--a) !important;bottom:12px !important;font-style:normal !important;font-size:.74rem !important;color:var(--dv-accent) !important;white-space:nowrap !important}
.dark .dv-srange em{color:var(--sage) !important}
.dv-srow{display:contents !important}
.dv-sname{grid-column:1 !important;grid-row:var(--r) !important;font-size:.88rem !important;color:var(--dv-muted) !important;white-space:nowrap !important}
.dv-strack{grid-column:2 !important;grid-row:var(--r) !important;position:relative !important;display:block !important;height:clamp(32px,3.2vw,42px) !important;
  background:linear-gradient(90deg,transparent var(--a),var(--dv-range) var(--a),var(--dv-range) var(--b),transparent var(--b)) !important}
.dv-strack::before{content:"" !important;position:absolute !important;inset:0 !important;pointer-events:none !important;
  background:linear-gradient(90deg,var(--dv-line) 1px,transparent 1px) 0 0/33.333% 100% repeat-x !important;border-right:1px solid var(--dv-line) !important}
.dv-sbar{position:absolute !important;left:0 !important;top:24% !important;bottom:24% !important;width:var(--v) !important;background:var(--dv-lead) !important;
  transform-origin:left center !important;transition:transform 1.2s var(--dv-ease) calc(var(--r,0) * 70ms) !important}
.dv-sgroup--echo .dv-sbar{background:var(--dv-accent) !important}
.dv-sbar.is-split{display:flex !important;background:none !important}
.dv-sbar.is-split i{display:block !important;height:100% !important;width:var(--s) !important}
.dv-sbar.is-split i:nth-child(1){background:var(--dv-lead) !important}
.dv-sbar.is-split i:nth-child(2){background:var(--dv-seg2) !important}
.dv-sbar.is-split i:nth-child(3){background:var(--dv-seg3) !important}
.dv-sval{grid-column:3 !important;grid-row:var(--r) !important;text-align:right !important;font-weight:500 !important;font-size:.95rem !important;color:var(--dv-ink) !important;font-variant-numeric:tabular-nums !important}
.dv-pair{grid-column:4 !important;grid-row:var(--r) / span 2 !important;align-self:stretch !important;display:grid !important;align-content:center !important;gap:2px !important;
  margin-block:5px !important;padding-left:16px !important;border-left:2px solid var(--dv-accent) !important}
.dv-pair b{font-size:.8rem !important;font-weight:600 !important;color:var(--dv-muted) !important;letter-spacing:.04em !important}
.dv-pair span{font-family:var(--serif) !important;font-size:clamp(1.1rem,1.6vw,1.4rem) !important;color:var(--dv-ink) !important;font-variant-numeric:tabular-nums !important}
.dv-pair--all{grid-row:var(--r) / span 3 !important}
.dv-pair--all span{font-family:var(--sans) !important;font-size:.88rem !important;color:var(--dv-muted) !important;line-height:1.45 !important}
.dv-pair--all b{font-size:.95rem !important;color:var(--dv-ink) !important;letter-spacing:0 !important}
.dv-bsplit{grid-column:2 / 4 !important;grid-row:var(--r) !important;display:flex !important;flex-wrap:wrap !important;gap:4px 18px !important;padding-top:8px !important;font-size:.76rem !important;color:var(--dv-muted) !important}
.dv-bsplit span{display:inline-flex !important;align-items:center !important;gap:7px !important}
.dv-bsplit span::before{content:"" !important;width:10px !important;height:10px !important;background:var(--dv-lead) !important}
.dv-bsplit span:nth-child(2)::before{background:var(--dv-seg2) !important}
.dv-bsplit span:nth-child(3)::before{background:var(--dv-seg3) !important}
.dv-pairs-m{display:none !important}
.dv-sgroup--axis{margin-top:calc(clamp(22px,3vw,34px) * -1 + 6px) !important}
.dv-saxis{grid-column:2 !important;position:relative !important;height:18px !important;font-size:.72rem !important;color:var(--dv-muted) !important;font-variant-numeric:tabular-nums !important}
.dv-saxis span{position:absolute !important;top:0 !important;transform:translateX(-50%) !important;white-space:nowrap !important}
.dv-saxis span:nth-child(1){left:0 !important;transform:none !important}
.dv-saxis span:nth-child(2){left:33.333% !important}
.dv-saxis span:nth-child(3){left:66.667% !important}
.dv-saxis span:nth-child(4){left:100% !important;transform:translateX(-100%) !important}
.dv-armed .dv-sbar{transform:scaleX(0) !important}
@media (max-width:760px){
  .dv-sgroup{grid-template-columns:52px minmax(0,1fr) 50px !important;column-gap:10px !important}
  .dv-pair{display:none !important}
  .dv-pairs-m{display:block !important;grid-column:1/-1 !important;grid-row:20 !important;padding-top:10px !important;font-size:.8rem !important;color:var(--dv-muted) !important;line-height:1.5 !important}
  .dv-sname{font-size:.74rem !important}
  .dv-sval{font-size:.8rem !important}
  .dv-bsplit{grid-column:1 / -1 !important;font-size:.7rem !important}
  .dv-srange em{font-size:.66rem !important}
}

/* ---- 06 route ---- */
.dv-route{display:grid !important;gap:clamp(22px,3vw,34px) !important}
.dv-route-row{--img:clamp(128px,16vw,230px);display:grid !important;grid-template-columns:minmax(0,1fr) clamp(56px,8vw,140px) minmax(0,1fr) clamp(56px,8vw,140px) minmax(0,1fr) !important;align-items:start !important}
.dv-stop{display:grid !important;justify-items:center !important;text-align:center !important;gap:6px !important;
  transition:opacity .7s ease calc(var(--d) * .35s), transform .7s var(--dv-ease) calc(var(--d) * .35s) !important}
.dv-stop-img{width:var(--img) !important;max-width:100% !important;aspect-ratio:1 !important;border-radius:50% !important;overflow:hidden !important;margin-bottom:16px !important;
  box-shadow:0 0 0 1px var(--dv-line),0 22px 44px rgb(0 0 0/.12) !important}
.dv-stop-img img{width:100% !important;height:100% !important;object-fit:cover !important}
.is-here .dv-stop-img{box-shadow:0 0 0 4px var(--dv-bg),0 0 0 7px var(--dv-accent),0 22px 44px rgb(0 0 0/.14) !important}
.dv-stop-tag{font-size:.68rem !important;font-weight:600 !important;letter-spacing:.14em !important;text-transform:uppercase !important;color:var(--dv-muted) !important}
.is-here .dv-stop-tag{color:var(--dv-accent) !important}
.dark .is-here .dv-stop-tag{color:var(--sage) !important}
.dv-stop-big{font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(1.7rem,3vw,2.7rem) !important;line-height:1 !important;color:var(--dv-ink) !important;white-space:nowrap !important}
.dv-stop-lbl{font-size:.9rem !important;line-height:1.45 !important;color:var(--dv-muted) !important;max-width:26ch !important}
.dv-link{display:grid !important;justify-items:center !important;gap:8px !important;margin-top:calc(var(--img) / 2 - 22px) !important}
.dv-link em{font-style:normal !important;font-size:.66rem !important;font-weight:600 !important;letter-spacing:.14em !important;text-transform:uppercase !important;color:var(--dv-muted) !important;white-space:nowrap !important}
.dv-link-line{position:relative !important;display:block !important;width:100% !important;height:2px !important;
  background:repeating-linear-gradient(90deg,var(--dv-muted) 0 5px,transparent 5px 10px) !important;opacity:.9 !important;
  transform-origin:left !important;transition:transform .8s var(--dv-ease) calc(.3s + var(--d) * .35s) !important}
.dv-link-line::after{content:"" !important;position:absolute !important;right:-3px !important;top:50% !important;transform:translateY(-50%) !important;
  border:5px solid transparent !important;border-left:7px solid var(--dv-muted) !important;border-right:0 !important}
.dv-link-line i{position:absolute !important;top:50% !important;left:0 !important;width:8px !important;height:8px !important;margin-top:-4px !important;border-radius:50% !important;
  background:var(--dv-accent) !important;opacity:0 !important;animation:dv-flow 3s linear infinite !important}
.dv-link-line i:nth-child(2){animation-delay:1s !important}
.dv-link-line i:nth-child(3){animation-delay:2s !important}
@keyframes dv-flow{0%{left:0;opacity:0}15%{opacity:1}80%{opacity:1}100%{left:calc(100% - 8px);opacity:0}}
.dv-route > .dv-src{text-align:center !important;margin-inline:auto !important}
.dv-armed .dv-stop{opacity:0 !important;transform:translateY(18px) !important}
.dv-armed .dv-link-line{transform:scaleX(0) !important}
@media (max-width:760px){
  .dv-route-row{--img:92px;grid-template-columns:1fr !important}
  .dv-stop{grid-template-columns:var(--img) minmax(0,1fr) !important;justify-items:start !important;text-align:left !important;column-gap:18px !important;row-gap:4px !important;align-items:center !important}
  .dv-stop-img{grid-row:1 / span 3 !important;margin:0 !important}
  .dv-stop-big{white-space:normal !important;font-size:1.6rem !important}
  .dv-link{margin:0 !important;height:54px !important;width:var(--img) !important;grid-template-columns:auto !important;align-content:center !important;position:relative !important}
  .dv-link em{position:absolute !important;left:calc(100% + 18px) !important;top:50% !important;transform:translateY(-50%) !important}
  .dv-link-line{width:2px !important;height:100% !important;background:repeating-linear-gradient(180deg,var(--dv-muted) 0 5px,transparent 5px 10px) !important;transform-origin:top !important}
  .dv-link-line::after{right:auto !important;left:50% !important;top:auto !important;bottom:-4px !important;transform:translateX(-50%) !important;border:5px solid transparent !important;border-top:7px solid var(--dv-muted) !important;border-bottom:0 !important}
  .dv-link-line i{left:50% !important;top:0 !important;margin:0 0 0 -4px !important;animation-name:dv-flow-v !important}
  .dv-armed .dv-link-line{transform:scaleY(0) !important}
  .dv-route > .dv-src{text-align:left !important}
}
@keyframes dv-flow-v{0%{top:0;opacity:0}15%{opacity:1}80%{opacity:1}100%{top:calc(100% - 8px);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .dv-link-line i{display:none !important}
}
@media (max-width:600px){
  .dv-plaza span{display:none !important}
  .dv-phase-stage::after{content:"The Plaza sits between the two buildings" !important}
  .dv-phase-stage{position:relative !important}
  .dv-phase-stage::after{position:absolute !important;left:0 !important;right:0 !important;top:calc(100% + 42px) !important;text-align:center !important;font-size:.64rem !important;font-weight:600 !important;letter-spacing:.12em !important;text-transform:uppercase !important;color:var(--dv-accent) !important}
  .dv-phase-stage{margin-bottom:64px !important}
}
@media (max-width:760px){
  .dv-saxis span:nth-child(3){display:none !important}
  .dv-link-line{height:36px !important}
}

/* ============ side heroes: one headline, three lines at most ============ */
.hero--side-copy h1{max-width:none !important;font-size:clamp(2.6rem,4.3vw,4.5rem) !important;line-height:1.02 !important;text-wrap:balance !important}

/* data visual captions sit centred under their panels */
.dv-eng-src{justify-self:center !important;text-align:center !important}

/* ============ suite explorer (Edge and Echo) ============ */
.sx{display:grid !important;gap:0 !important}
.sx-top{display:flex !important;justify-content:space-between !important;align-items:center !important;gap:14px 24px !important;flex-wrap:wrap !important;
  padding:14px 14px 14px clamp(18px,2.4vw,28px) !important;background:var(--paper) !important;border-bottom:1px solid var(--line) !important}
.sx-note{font-size:.72rem !important;font-weight:600 !important;letter-spacing:.12em !important;text-transform:uppercase !important;color:var(--slate) !important}
.sx-tabs{display:flex !important;flex-wrap:wrap !important;gap:6px !important}
.sx-tabs button{font:inherit !important;display:grid !important;gap:1px !important;text-align:left !important;padding:9px 16px !important;background:var(--bone) !important;
  border:1px solid var(--line) !important;color:var(--ink) !important;cursor:pointer !important;border-radius:0 !important;transition:background .2s,border-color .2s !important}
.sx-tabs button b{font-size:.86rem !important;font-weight:600 !important}
.sx-tabs button span{font-size:.74rem !important;color:var(--slate) !important;font-variant-numeric:tabular-nums !important}
.sx-tabs button:hover{border-color:var(--ink) !important}
.sx-tabs button[aria-pressed="true"]{background:var(--ink) !important;border-color:var(--ink) !important;color:var(--bone) !important}
.sx-tabs button[aria-pressed="true"] span{color:#BDBDBD !important}
.sx-plan{background:var(--paper) !important;padding:clamp(16px,2.6vw,36px) clamp(12px,2.6vw,36px) clamp(10px,1.6vw,20px) !important}
.sx-svg{display:block !important;width:100% !important;height:auto !important;overflow:visible !important}
.sx-lbl{font-family:var(--sans) !important;font-size:12px !important;fill:var(--slate) !important;pointer-events:none !important}
.sx-lbl--dir{font-size:11px !important;font-weight:600 !important;letter-spacing:.14em !important;text-transform:uppercase !important}
.sx-lbl--plaza{font-family:var(--serif) !important;font-size:17px !important;fill:var(--ink) !important}
.sx-corridor{fill:#DCDDD8 !important}
.sx-patio{fill:rgb(151 169 127/.08) !important;stroke:var(--moss) !important;stroke-width:1.2 !important;stroke-dasharray:5 4 !important}
.sx-plaza{fill:#E6EBDF !important}
.sx-suite{cursor:pointer !important;outline:none !important}
.sx-suite image{pointer-events:none !important;transition:opacity .25s !important}
.sx-lot{fill:transparent !important;stroke:#FFFFFF !important;stroke-width:2 !important;transition:stroke .2s,stroke-width .2s !important}
.sx-demise{stroke:#FFFFFF !important;stroke-opacity:.55 !important;stroke-width:1.2 !important;stroke-dasharray:5 5 !important;pointer-events:none !important}
.sx-name{font-family:var(--serif) !important;font-size:22px !important;fill:#FFFFFF !important;pointer-events:none !important}
.sx-sf{font-family:var(--sans) !important;font-size:13px !important;font-weight:500 !important;fill:rgb(255 255 255/.86) !important;pointer-events:none !important;font-variant-numeric:tabular-nums !important}
.sx[data-sel] .sx-suite:not(.is-on) image{opacity:.62 !important}
.sx-suite:hover image{opacity:1 !important}
.sx-suite.is-on .sx-lot,.sx-suite:focus-visible .sx-lot{stroke:var(--moss) !important;stroke-width:7 !important}
.sx-legend{display:flex !important;flex-wrap:wrap !important;gap:6px 22px !important;padding:0 clamp(18px,2.6vw,36px) clamp(16px,2vw,24px) !important;background:var(--paper) !important;
  font-size:.74rem !important;color:var(--slate) !important;margin:0 !important}
.sx-legend span{display:inline-flex !important;align-items:center !important;gap:8px !important}
.sx-legend i{display:block !important;width:18px !important;height:8px !important}
.sx-k-corridor{background:#DCDDD8 !important}
.sx-k-patio{border:1px dashed var(--moss) !important;background:rgb(151 169 127/.08) !important;height:10px !important}
.sx-k-demise{height:0 !important;border-top:1.5px dashed var(--slate) !important}
.sx-detail{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;gap:clamp(24px,4vw,64px) !important;background:var(--ink) !important;color:var(--bone) !important;
  padding:clamp(26px,4vw,52px) !important}
.sx-d-main{display:grid !important;gap:14px !important;align-content:start !important;justify-items:start !important}
.sx-d-main .chip{justify-self:start !important}
.sx-d-main h3{font-size:clamp(1.8rem,3vw,2.5rem) !important;color:var(--bone) !important}
.sx-sub{color:var(--sage) !important;font-size:.9rem !important;margin-top:-6px !important}
.sx-blurb{color:#CCCCCC !important;font-size:.98rem !important;line-height:1.65 !important;max-width:52ch !important}
.sx-d-main .btn{background:var(--bone) !important;border-color:var(--bone) !important;color:var(--ink) !important;margin-top:8px !important}
.sx-d-main .btn:hover{background:var(--moss) !important;border-color:var(--moss) !important;color:#FFFFFF !important}
.sx-d-facts{display:grid !important;gap:22px !important;align-content:start !important}
.sx-kpis{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(120px,1fr)) !important;gap:1px !important;background:#2C2C2C !important}
.sx-kpis div{background:var(--ink) !important;padding:4px 16px 14px 0 !important;display:grid !important;gap:6px !important}
.sx-kpis div + div{padding-left:16px !important}
.sx-kpis b{font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(1.7rem,2.6vw,2.4rem) !important;line-height:1 !important;color:var(--bone) !important;white-space:nowrap !important}
.sx-kpis span{font-size:.78rem !important;color:#A0A0A0 !important}
.sx-d-facts .pfacts{margin:0 !important}
.sx-d-facts .pfacts li{border-bottom-color:#333 !important}
.sx-d-facts .pfacts span:first-child{color:#A0A0A0 !important}
.sx-d-facts .pfacts span:last-child{color:var(--bone) !important}
@media (max-width:860px){
  .sx-detail{grid-template-columns:1fr !important}
}
@media (max-width:640px){
  .sx-top{padding:12px !important}
  .sx-tabs{width:100% !important;display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .sx-tabs button{padding:8px 10px !important}
  .sx-tabs button b{font-size:.76rem !important}
  .sx-tabs button span{font-size:.68rem !important}
  .sx-sf,.sx-lbl,.sx-lbl--dir{display:none !important}
  .sx-name{font-size:38px !important}
  .sx-lbl--plaza{display:block !important;font-size:34px !important}
  .sx-legend{font-size:.68rem !important}
}

.sx-tabs button em{font-style:normal !important}
.sx-kpis{display:flex !important;flex-wrap:wrap !important;gap:16px 0 !important;background:none !important}
.sx-kpis div,.sx-kpis div + div{padding:0 clamp(16px,2vw,26px) 0 0 !important;margin-right:clamp(16px,2vw,26px) !important;border-right:1px solid #2E2E2E !important;background:none !important}
.sx-kpis div:last-child{border-right:0 !important;margin-right:0 !important;padding-right:0 !important}
@media (max-width:640px){
  .sx-tabs button em{display:none !important}
  .sx-kpis b{font-size:1.6rem !important}
  .sx-kpis div,.sx-kpis div + div{padding-right:14px !important;margin-right:14px !important}
}

.sx-d-facts .pfacts span:first-child{white-space:nowrap !important;padding-right:18px !important}
