
  :root{
    --paper:#ffffff;
    --surface-alt:#f6f5f1;
    --ink:#14161a;
    --ink-muted:#5b5e63;
    --line:#e6e4df;
    --accent:#d92b1c;
    --accent-ink:#fff5f3;
    --shadow:0 24px 48px -28px rgba(20,22,26,0.22);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; overflow-x:hidden;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'IBM Plex Sans', system-ui, -apple-system, sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  h1,h2,h3{font-family:'Archivo', system-ui, sans-serif; text-wrap:balance; margin:0; letter-spacing:-0.015em;}
  .mono{font-family:'IBM Plex Mono', ui-monospace, monospace; font-variant-numeric:tabular-nums;}
  a{color:inherit;}
  .wrap{max-width:1180px; margin:0 auto; padding-inline:clamp(20px,4vw,48px);}
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    text-transform:uppercase;
    letter-spacing:0.16em;
    font-size:0.72rem;
    color:var(--accent);
    font-weight:600;
  }
  section{position:relative;}
  .hr{border:none; border-top:1px solid var(--line); margin:0;}

  header{
    position:sticky; top:0; z-index:50;
    background:color-mix(in srgb, var(--paper) 88%, transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding-block:14px;
    gap:12px;
  }
  .brand{display:flex; align-items:center; gap:12px; text-decoration:none; min-width:0;}
  .brand svg{width:32px; height:32px; flex:none;}
  .brand-word{font-family:'IBM Plex Mono',monospace; font-size:1.02rem; font-weight:700; line-height:1.1; color:var(--ink); letter-spacing:0.01em; white-space:nowrap;}
  .brand-word small{display:block; font-size:0.56rem; letter-spacing:0.16em; color:var(--ink-muted); font-weight:600; text-transform:uppercase;}
  .nav-right{display:flex; align-items:center; gap:clamp(14px,2vw,30px); flex:none;}
  nav.links{display:flex; gap:clamp(14px,2vw,30px); font-size:0.9rem;}
  nav.links a{text-decoration:none; color:var(--ink-muted); transition:color .2s; font-weight:500;}
  nav.links a:hover{color:var(--ink);}
  .nav-cta{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--accent); color:var(--accent-ink);
    padding:10px 18px; border-radius:2px; text-decoration:none;
    font-size:0.85rem; font-weight:700; letter-spacing:0.01em;
    transition:opacity .2s; font-family:'IBM Plex Mono',monospace;
    white-space:nowrap;
  }
  .nav-cta:hover{opacity:0.85;}
  .nav-cta-mobile{display:none;}

  .menu-toggle{
    z-index:65;
    display:none; position:relative; width:38px; height:38px; flex:none;
    align-items:center; justify-content:center;
    background:none; border:1px solid var(--line); border-radius:2px; cursor:pointer;
    color:var(--ink);
  }
  .menu-toggle svg{width:18px; height:18px; position:absolute; transition:opacity .15s, transform .15s;}
  .menu-toggle .icon-close{opacity:0; transform:rotate(-90deg);}
  .menu-toggle.open .icon-menu{opacity:0; transform:rotate(90deg);}
  .menu-toggle.open .icon-close{opacity:1; transform:rotate(0);}

  .nav-backdrop{
    position:fixed; inset:0; z-index:55;
    background:rgba(10,10,10,0.42);
    opacity:0; pointer-events:none; transition:opacity .25s ease;
  }
  .nav-backdrop.open{opacity:1; pointer-events:auto;}

  @media (max-width:760px){
    .menu-toggle{display:flex;}
    .nav-cta-desktop{display:none;}
    nav.links{
      position:fixed; top:0; right:0; z-index:60;
      height:100vh; width:min(80vw,320px);
      flex-direction:column; align-items:stretch; gap:0;
      background:var(--paper); border-left:1px solid var(--line);
      padding:96px 28px 28px;
      transform:translateX(100%);
      transition:transform .3s cubic-bezier(.4,0,.2,1);
      box-shadow:-32px 0 60px -30px rgba(20,22,26,0.35);
    }
    nav.links.open{transform:translateX(0);}
    nav.links a{
      padding:15px 2px; border-bottom:1px solid var(--line);
      font-size:1.02rem; color:var(--ink);
    }
    nav.links a.nav-cta{
      color:var(--accent-ink); border-bottom:none; padding:14px 26px;
    }
    .nav-cta-mobile{display:inline-flex; justify-content:center; margin-top:22px;}
  }

  .hero{padding-top:clamp(48px,8vw,88px); padding-bottom:clamp(40px,6vw,64px);}
  .hero-inner{display:grid; gap:24px; max-width:820px;}
  .hero h1{
    font-size:clamp(2.3rem,5.6vw,4.6rem);
    line-height:1.03;
    font-weight:700;
    color:var(--ink);
  }
  .hero h1 .accent{color:var(--accent);}
  .hero p.lead{
    font-size:clamp(1rem,1.4vw,1.15rem);
    color:var(--ink-muted);
    max-width:52ch;
    line-height:1.6;
  }
  .hero-cta{display:flex; gap:14px; flex-wrap:wrap; margin-top:4px;}
  .btn{
    display:inline-flex; align-items:center; gap:10px;
    padding:14px 26px; border-radius:2px;
    font-size:0.9rem; font-weight:700; text-decoration:none;
    transition:transform .15s, opacity .2s, border-color .2s;
    font-family:'IBM Plex Mono',monospace; letter-spacing:0.01em;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--accent); color:var(--accent-ink);}
  .btn-primary:hover{opacity:0.88;}
  .btn-ghost{border:1px solid var(--line); color:var(--ink);}
  .btn-ghost:hover{border-color:var(--ink);}

  .stat-row{
    display:grid; grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    margin-top:clamp(28px,5vw,48px);
  }
  @media (max-width:700px){ .stat-row{grid-template-columns:repeat(2,1fr);} }
  .stat-row div{
    padding:20px clamp(14px,2vw,26px);
    border-right:1px solid var(--line);
  }
  .stat-row div:last-child{border-right:none;}
  .stat-row b{
    display:block; font-family:'Archivo',sans-serif; font-size:clamp(1.7rem,2.8vw,2.3rem);
    font-weight:800; color:var(--accent); line-height:1;
  }
  .stat-row span{font-size:0.76rem; color:var(--ink-muted); text-transform:uppercase; letter-spacing:0.06em; display:block; margin-top:8px;}
  .stat-row svg{width:22px; height:22px; color:var(--accent);}

  .section-head{
    display:grid; gap:12px; max-width:640px;
    margin-bottom:clamp(28px,4.5vw,48px);
  }
  .section-head h2{font-size:clamp(1.7rem,3.2vw,2.4rem); font-weight:700;}
  .section-head p{color:var(--ink-muted); font-size:1rem; line-height:1.6; max-width:56ch;}
  .pad{padding-block:clamp(56px,8vw,100px);}

  .about-grid{
    display:grid; grid-template-columns:1.05fr 0.95fr; gap:clamp(32px,6vw,64px);
    align-items:center;
  }
  @media (max-width:860px){ .about-grid{grid-template-columns:1fr;} }
  .about-media{
    position:relative; border-radius:2px; overflow:hidden;
    border:1px solid var(--line);
  }
  .about-media img{width:100%; height:100%; object-fit:cover;}
  .about-copy p{color:var(--ink-muted); line-height:1.7; font-size:1rem; margin:0 0 15px;}
  .feature-list{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:11px;}
  .feature-list li{display:flex; gap:11px; align-items:flex-start; font-size:0.93rem; color:var(--ink);}
  .feature-list li::before{
    content:""; width:6px; height:6px; margin-top:7px; flex:none;
    background:var(--accent);
  }

  .gallery-strip{background:var(--surface-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .gallery-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  @media (max-width:700px){ .gallery-grid{grid-template-columns:1fr;} }
  .gallery-grid figure{margin:0; background:var(--paper);}
  .gallery-grid button.gallery-item{
    touch-action:manipulation;
    display:block; width:100%; padding:0; border:0; margin:0; background:none; cursor:zoom-in;
    font:inherit; color:inherit; text-align:left;
  }
  .gallery-grid button.gallery-item:focus-visible{outline:2px solid var(--accent); outline-offset:-2px;}
  .gallery-grid img{width:100%; aspect-ratio:16/10; object-fit:cover;}
  .gallery-grid figcaption{padding:12px 16px; font-size:0.78rem; color:var(--ink-muted); font-family:'IBM Plex Mono',monospace; border-top:1px solid var(--line);}

  .video-embed{
    position:relative; width:100%; aspect-ratio:16/9;
    background:#000; border:1px solid var(--line); border-radius:2px;
    overflow:hidden; cursor:pointer;
  }
  .video-embed img{width:100%; height:100%; object-fit:cover; opacity:0.85;}
  .video-embed iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
  .video-play{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:76px; height:76px; border-radius:999px; border:none;
    background:var(--accent); color:#fff; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 20px 45px -18px rgba(0,0,0,0.6);
    transition:transform .2s;
  }
  .video-embed:hover .video-play{transform:translate(-50%,-50%) scale(1.06);}
  .video-play svg{width:28px; height:28px; margin-left:4px;}

  .lightbox{
    touch-action:manipulation;
    position:fixed; inset:0; z-index:100; display:none;
    background:rgba(10,10,10,0.92);
    align-items:center; justify-content:center;
    padding:clamp(16px,4vw,56px);
  }
  .lightbox.open{display:flex;}
  .lightbox img{
    display:block; max-width:100%; max-height:calc(100vh - 140px); width:auto; height:auto;
    box-shadow:0 30px 70px -20px rgba(0,0,0,0.6);
    border:1px solid rgba(255,255,255,0.1);
    box-sizing:border-box;
  }
  .lightbox-figure{display:flex; flex-direction:column; align-items:center; gap:14px; width:100%; max-width:100%; min-width:0; box-sizing:border-box;}
  .lightbox-caption{font-family:'IBM Plex Mono',monospace; font-size:0.8rem; color:#d8d6d0; letter-spacing:0.02em;}
  .lightbox-close{
    position:absolute; top:clamp(14px,3vw,28px); right:clamp(14px,3vw,28px);
    width:42px; height:42px; border-radius:999px; border:1px solid rgba(255,255,255,0.25);
    background:rgba(255,255,255,0.06); color:#f5f4f0; cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:background .2s;
  }
  .lightbox-close:hover{background:rgba(255,255,255,0.16);}
  .lightbox-close svg{width:18px; height:18px;}
  .lightbox-nav{
    position:absolute; top:50%; transform:translateY(-50%);
    width:46px; height:46px; border-radius:999px; border:1px solid rgba(255,255,255,0.25);
    background:rgba(255,255,255,0.06); color:#f5f4f0; cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:background .2s;
  }
  .lightbox-nav:hover{background:rgba(255,255,255,0.16);}
  .lightbox-nav svg{width:20px; height:20px;}
  .lightbox-prev{left:clamp(8px,3vw,28px);}
  .lightbox-next{right:clamp(8px,3vw,28px);}
  @media (max-width:640px){ .lightbox-nav{width:38px; height:38px;} }

  .filters{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px;}
  .filter-btn{
    font-family:'IBM Plex Mono',monospace; font-size:0.76rem; letter-spacing:0.02em;
    padding:8px 15px; border-radius:999px; border:1px solid var(--line);
    background:var(--paper); color:var(--ink-muted); cursor:pointer;
    transition:all .15s; font-weight:500;
  }
  .filter-btn:hover{border-color:var(--ink);}
  .filter-btn.active{background:var(--ink); border-color:var(--ink); color:var(--paper);}
  .filters + .filters{margin-bottom:30px;}

  .units-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(272px,1fr)); gap:16px;}
  .unit-card{
    background:var(--paper); border:1px solid var(--line); border-radius:2px;
    padding:22px 22px 20px; cursor:pointer;
    transition:background .2s, border-color .2s;
    display:flex; flex-direction:column; gap:13px;
  }
  .unit-card:hover{background:var(--surface-alt); border-color:var(--accent);}
  .unit-top{display:flex; justify-content:space-between; align-items:flex-start; gap:10px;}
  .unit-code{font-family:'Archivo',sans-serif; font-size:1.55rem; font-weight:800;}
  .unit-floor{font-family:'IBM Plex Mono',monospace; font-size:0.7rem; color:var(--ink-muted); letter-spacing:0.05em; margin-top:2px;}
  .unit-type-pill{
    font-family:'IBM Plex Mono',monospace; font-size:0.66rem; letter-spacing:0.03em; font-weight:600;
    background:var(--accent); color:var(--accent-ink);
    padding:4px 10px; border-radius:999px; white-space:nowrap;
  }
  .unit-area{display:flex; align-items:baseline; gap:6px;}
  .unit-area b{font-family:'Archivo',sans-serif; font-size:1.9rem; font-weight:800; color:var(--ink);}
  .unit-area span{font-size:0.82rem; color:var(--ink-muted);}
  .unit-meta{display:flex; gap:14px; font-size:0.78rem; color:var(--ink-muted); flex-wrap:wrap;}
  .unit-meta b{color:var(--ink); font-weight:600;}
  .unit-price{font-family:'IBM Plex Mono',monospace; font-size:0.76rem; color:var(--ink-muted); border-top:1px solid var(--line); padding-top:12px;}
  .unit-price b{color:var(--ink); font-weight:600;}
  .unit-rooms{display:none; border-top:1px dashed var(--line); padding-top:13px; margin-top:1px; font-size:0.84rem;}
  .unit-card.open .unit-rooms{display:block;}
  .unit-rooms table{width:100%; border-collapse:collapse;}
  .unit-rooms td{padding:4px 0; color:var(--ink-muted);}
  .unit-rooms td:last-child{text-align:right; font-family:'IBM Plex Mono',monospace; color:var(--ink); white-space:nowrap;}
  .unit-rooms tr.total td{border-top:1px solid var(--line); padding-top:8px; margin-top:4px; font-weight:700; color:var(--ink);}
  .unit-toggle{font-size:0.76rem; color:var(--accent); font-weight:700; display:flex; align-items:center; gap:6px; font-family:'IBM Plex Mono',monospace;}
  .unit-toggle svg{width:11px; height:11px; transition:transform .2s;}
  .unit-card.open .unit-toggle svg{transform:rotate(180deg);}
  .units-empty{color:var(--ink-muted); font-size:0.95rem; padding:24px; background:var(--paper);}
  .units-note{margin-top:24px; font-size:0.83rem; color:var(--ink-muted); display:flex; gap:9px; align-items:flex-start;}
  .units-note b{color:var(--accent);}

  .commercial-band{
    border:1px solid var(--line); border-radius:2px;
    padding:clamp(28px,5vw,48px); display:grid; gap:26px;
    grid-template-columns:1.5fr 1fr; align-items:center;
  }
  @media (max-width:700px){ .commercial-band{grid-template-columns:1fr;} }
  .commercial-band h3{font-size:clamp(1.3rem,2.4vw,1.8rem); font-weight:700;}
  .commercial-band p{color:var(--ink-muted); margin:9px 0 0; max-width:50ch; line-height:1.6;}
  .commercial-list{display:flex; gap:8px; flex-wrap:wrap; min-width:0;}
  .commercial-chip{
    font-family:'IBM Plex Mono',monospace; font-size:0.76rem; border:1px solid var(--line);
    padding:8px 13px; border-radius:999px; color:var(--ink);
  }

  .loc-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,56px); align-items:start;}
  @media (max-width:820px){ .loc-grid{grid-template-columns:1fr;} }
  .loc-list{list-style:none; margin:20px 0 0; padding:0; display:grid; gap:0;}
  .loc-list li{display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--line);}
  .loc-list li:first-child{border-top:1px solid var(--line);}
  .loc-list b{display:block; font-size:0.93rem;}
  .loc-list span{font-size:0.85rem; color:var(--ink-muted);}
  .loc-billing{margin:22px 0 0; padding-top:18px; border-top:1px solid var(--line); display:grid; gap:10px;}
  .loc-billing-row{display:flex; justify-content:space-between; gap:16px; font-size:0.85rem;}
  .loc-billing-row span{font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-muted); flex:none;}
  .loc-billing-row b{font-weight:500; color:var(--ink); text-align:right;}
  .loc-map{
    aspect-ratio:4/3; border:1px solid var(--line);
    position:relative; overflow:hidden;
  }
  .loc-map iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}

  .contact-band{
    background:var(--ink); color:var(--paper); border-radius:2px; padding:clamp(32px,6vw,60px);
    display:grid; grid-template-columns:1.1fr 0.9fr; gap:clamp(28px,5vw,56px);
  }
  .contact-band > *{min-width:0;}
  @media (max-width:820px){ .contact-band{grid-template-columns:1fr;} }
  .contact-band h2{color:var(--paper); font-size:clamp(1.7rem,3vw,2.3rem);}
  .contact-band p{color:#c9c9c7; line-height:1.65; max-width:44ch; margin-top:13px;}
  .contact-card{
    background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.14);
    border-radius:2px; padding:24px; display:grid; gap:16px; align-self:start;
    min-width:0; width:100%; box-sizing:border-box;
  }
  .agent{display:flex; align-items:center; gap:16px; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,0.14); min-width:0;}
  .agent-photo{
    width:76px; height:76px; flex:none; border-radius:999px; overflow:hidden;
    background:var(--surface-alt); color:var(--ink);
    display:flex; align-items:center; justify-content:center;
    font-family:'Archivo',system-ui,sans-serif; font-weight:700; font-size:1.35rem; letter-spacing:0.02em;
  }
  .agent-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .agent-id{display:flex; flex-direction:column; gap:3px; min-width:0;}
  .agent-id b{font-family:'Archivo',system-ui,sans-serif; font-size:1.15rem; font-weight:700; color:var(--paper); line-height:1.2;}
  .agent-id span{font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:#c9c9c7;}
  .contact-row{display:flex; flex-direction:column; gap:4px; min-width:0;}
  .contact-row span{font-family:'IBM Plex Mono',monospace; font-size:0.7rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--accent);}
  .contact-row a{font-size:1rem; text-decoration:none; color:var(--paper); font-weight:500; overflow-wrap:break-word;}
  .contact-band .btn-primary{margin-top:4px; justify-self:start;}

  footer{padding-block:32px; border-top:1px solid var(--line);}
  .footer-inner{display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;}
  .footer-brand{display:flex; align-items:center; gap:10px; font-size:0.83rem; color:var(--ink-muted); font-family:'IBM Plex Mono',monospace;}
  .footer-brand svg{width:20px; height:20px;}
  footer .fine{font-size:0.76rem; color:var(--ink-muted);}
