/* ==========================================================
   EPIC — mobile audit (≤820px)
   Load LAST so it overrides components.
   ========================================================== */

@media (max-width:820px){

  /* ---------- NAV ---------- */
  .ep-nav .inner{ padding:12px 0; gap:12px; grid-template-columns:auto 1fr auto }
  .ep-nav .brand .logo-img{ height:22px !important }
  .ep-nav .side{ gap:10px }
  .ep-nav .links.desk-only{ display:none }
  .ep-nav .call.desk-only{ display:none }
  .ep-nav .burger{ display:inline-flex }
  .ep-nav .lang{ padding:6px 10px; font-size:11px }
  .ep-nav .lang .lang-menu{ right:-8px; min-width:140px }

  /* Mobile drawer */
  .ep-nav.open .drawer{
    display:flex; flex-direction:column;
    position:fixed; top:60px; left:0; right:0; bottom:0;
    background:var(--jet); padding:24px; gap:8px; z-index:60;
    overflow-y:auto;
  }
  .ep-nav .drawer{ display:none }
  .ep-nav .drawer a{
    display:block; padding:14px 4px; color:rgba(255,255,255,.85);
    font-family:var(--ff-display); font-weight:500; font-size:20px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .ep-nav .drawer a:hover{ color:#fff }
  .ep-nav .drawer .call-mobile{
    margin-top:20px; display:inline-flex; align-items:center; justify-content:center; gap:10px;
    background:var(--sand); color:var(--jet);
    font-family:var(--ff-sans); font-weight:700; font-size:13px; letter-spacing:.04em;
    padding:14px 20px; text-transform:uppercase;
    border:0;
  }

  /* ---------- HERO ---------- */
  .ep-hero{
    min-height:calc(100vh - 48px);
    padding-bottom:40px;
  }
  .ep-hero > .inner{
    min-height:inherit;
    padding:88px 20px 64px !important;
    gap:24px !important;
  }
  .ep-hero h1{
    font-size:clamp(36px, 9vw, 64px) !important;
    max-width:none !important;
    line-height:.98;
    margin-bottom:18px;
  }
  .ep-hero .lede{ font-size:15px !important; line-height:1.5; max-width:none }
  .ep-hero .actions{ flex-direction:column; gap:12px; align-items:stretch }
  .ep-hero .actions .ep-btn{ width:100%; text-align:center; justify-content:center }
  .ep-hero .scroll{ display:none !important }

  /* ---------- INVESTOR STRIP ---------- */
  .ep-investor{ padding:24px 0 }
  .ep-investor .inner{
    grid-template-columns:1fr !important;
    gap:20px !important;
    text-align:left;
    padding:28px 20px !important;
  }
  .ep-investor .label{ border-right:0; padding-right:0 }
  .ep-investor .who{ font-size:15px !important; line-height:1.5 }
  .ep-investor .track-record{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:22px 24px !important;
    padding:12px 0 0; margin-top:4px;
    border-left:0; border-top:1px solid rgba(255,255,255,.08);
  }
  .ep-investor .tr{ text-align:left !important; min-width:0 }
  .ep-investor .tr b{ font-size:20px !important }

  /* ---------- SECTION HEADS ---------- */
  .sec-head{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-bottom:28px !important;
    align-items:start;
  }
  .sec-head h2{ font-size:clamp(26px,7vw,38px) !important }
  .sec-head .num{ font-size:10px !important }
  .sec-head .side{ text-align:left !important; font-size:11px !important }

  /* ---------- STORY ---------- */
  .ep-story{ padding:56px 0 !important }
  .ep-story .inner{ grid-template-columns:1fr !important; gap:32px !important }
  .ep-story .text h2{ font-size:clamp(26px,7vw,36px) !important; margin-bottom:16px !important }
  .ep-story .text .first{ font-size:17px !important }
  .ep-story .text p{ font-size:15px !important }
  .ep-story .story-media{ min-height:240px !important }

  /* ---------- LOCATION ---------- */
  .ep-location{ padding:56px 0 !important }
  .ep-location .inner{ grid-template-columns:1fr !important; gap:24px !important }
  .ep-location .features{ grid-template-columns:1fr 1fr !important; margin:24px 0 !important }
  .ep-location .features .f{ min-height:92px !important; padding:16px 14px !important }
  .ep-location .features .f:nth-child(2n){ border-right:0 }
  .ep-location .features .f .v{ font-size:20px !important }

  /* ---------- APARTMENTS ---------- */
  .ep-apts{ padding:56px 0 !important }
  .apt-toolbar{
    grid-template-columns:1fr !important;
    gap:12px !important; padding:14px !important;
    align-items:stretch !important;
  }
  .apt-toolbar .filters{ flex-wrap:wrap; gap:6px !important }
  .apt-toolbar .filters button{ font-size:10px !important; padding:8px 10px !important }

  .apt-card{ grid-template-columns:1fr !important; margin-bottom:18px !important }
  .apt-card .cover{ aspect-ratio:4/3 !important; min-height:auto !important }
  .apt-card .top{
    grid-template-columns:1fr !important;
    gap:12px !important; padding:18px 18px 14px !important;
  }
  .apt-card .status-stack{
    width:100%; flex-direction:row !important; justify-content:space-between;
    align-items:center !important; text-align:left !important; gap:12px;
  }
  .apt-card h3{ font-size:22px !important }
  .apt-card .desc{ font-size:13px !important }
  .apt-card .status-stack .price{ font-size:22px !important }

  .apt-card .features{ grid-template-columns:1fr 1fr !important }
  .apt-card .features .f{
    padding:12px 16px !important;
    border-right:1px solid var(--line-2);
    border-bottom:1px solid var(--line-2);
  }
  .apt-card .features .f:nth-child(2n){ border-right:0 }
  .apt-card .features .f:last-child{ border-bottom:0 }
  .apt-card .features .f .v{ font-size:18px !important }

  .apt-card .bottom{
    flex-direction:column !important; align-items:stretch !important;
    gap:12px !important; padding:14px 18px !important;
  }
  .apt-card .bottom .links{ gap:14px !important; font-size:10px !important }
  .apt-card .bottom .cta{ width:100%; justify-content:center }

  .apt-grid{ grid-template-columns:1fr !important; gap:14px !important }

  /* ---------- BUILDING ---------- */
  .ep-build{ padding:56px 0 !important }
  .ep-build .arch-row{ grid-template-columns:1fr !important; gap:10px !important }
  .ep-build .stats{ grid-template-columns:1fr 1fr !important }
  .ep-build .stats .s{ padding:20px 18px !important }
  .ep-build .stats .s .v{ font-size:28px !important }
  .ep-build .stats .s p{ font-size:12.5px !important }

  /* ---------- CTA BANNER ---------- */
  .ep-cta{ padding:36px 0 !important }
  .ep-cta .inner{ grid-template-columns:1fr !important; gap:20px !important }
  .ep-cta .txt h2{ font-size:clamp(22px,6vw,28px) !important; line-height:1.15 }
  .ep-cta .txt p{ font-size:13px !important }
  .ep-cta .act{ flex-direction:column; gap:10px; align-items:stretch }
  .ep-cta .act .ep-btn{ justify-content:center; text-align:center; font-size:12px }

  /* ---------- CONTACT ---------- */
  .ep-contact{ padding:56px 0 !important }
  .ep-contact .row{ grid-template-columns:1fr !important; gap:28px !important }
  .ep-contact .info .block{
    grid-template-columns:1fr !important;
    gap:6px !important; padding:14px 0 !important;
  }
  .ep-contact .form-wrap{ padding:22px 20px 20px !important }
  .ep-contact .form-wrap h3{ font-size:20px !important }

  /* ---------- FOOTER ---------- */
  .ep-foot{ padding:32px 0 24px !important; font-size:11px }
  .ep-foot .top{ grid-template-columns:1fr !important; gap:20px !important }
  .ep-foot ul{ display:flex; flex-wrap:wrap; gap:14px }
  .ep-foot .bottom{ flex-direction:column; gap:6px }
}

/* Small phones */
@media (max-width:400px){
  .ep-nav .container, .ep-foot .container,
  section[class*="ep-"] .container{ padding:0 16px !important }
  .ep-hero > .inner{ padding:72px 16px 48px !important }
  .ep-hero h1{ font-size:30px !important }
  .ep-investor .track-record{ grid-template-columns:1fr 1fr !important }
  .apt-card .features .f{ padding:10px 12px !important }
  .apt-card .features .f .v{ font-size:16px !important }
}
