 /* ============================================
      HEADER RESPONSIVE
     ============================================ */
 @media (max-width: 900px){
    .mobile-panel{ margin-top: 15px;}
    .nav-links{ display:none; }
    .nav-right .call-btn{ display:none; }
    .hamburger{ display:flex; }
    .nav-inner{ padding: 0 22px; }
    :root{ --nav-h: 84px; --nav-h-sticky: 68px; }
    .logo-chip img{ height: 42px; }
    .site-header.is-sticky .logo-chip img{ height: 36px; }
  }
 
  @media (max-width: 480px){
    .logo-chip{ padding: 10px 16px; }
  }
  /* ============================================
      FORM RESPONSIVE
     ============================================ */ 
     /* ---------------- TABLET (≤1024px) ---------------- */
@media (max-width: 1024px){
  .contact-lead-section{
    padding:28px 32px;
  }

  .contact-lead-heading{
    font-size:28px;
  }
}

/* ---------------- LARGE MOBILE / SMALL TABLET (≤768px) ---------------- */
/* Tablet & below */
@media (max-width: 768px) {
  .contact-lead-section {
    padding: 24px 6%;
  }
  .contact-lead-heading {
    font-size: 24px;
  }
  .contact-lead-form {
    gap: 16px;
  }
}

/* Mobile */
@media (max-width: 480px) {
  .contact-lead-section {
    min-height: auto;
    padding: 24px 5%;
  }
  .contact-lead-heading {
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 14px;
  }
  .contact-lead-heading span {
    display: block;
    margin-top: 6px;
    white-space: nowrap;
  }
  .contact-lead-form {
    flex-direction: column;
    gap: 16px;
  }
  .contact-form-field {
    flex: 1 1 100%;
    min-width: 100%;
  }
  .contact-submit-btn {
    width: 100%;
    margin-top: 8px;
  }
}

/* Small mobile */
@media (max-width: 360px) {
  .contact-lead-heading {
    font-size: 18px;
  }
  .contact-lead-heading span {
    font-size: 16px;
  }
}

  /* ============================================
      ABOUT RESPONSIVE
     ============================================ */

 
  @media (max-width: 1024px) {
    .aura-connect__content {
      padding: 64px 0 64px 5vw;
    }
    .aura-connect__visual {
      padding: 64px 5vw 64px 0;
    }
    .aura-connect__inner {
      column-gap: 32px;
    }
  }
 
  @media (max-width: 860px) {
    .aura-connect__inner {
      grid-template-columns: 1fr;
      column-gap: 0;
      min-height: 0;
    }
    .aura-connect__visual {
      order: -1;
      height: 62vh;
      min-height: 340px;
      padding: 6vw 6vw 0 6vw;
    }
    .aura-connect__content {
      padding: 56px 6vw;
    }
  }
 
  @media (max-width: 600px) {
    .aura-connect__heading br {
      display: none;
    }
    .aura-connect__stats {
      grid-template-columns: 1fr;
      gap: 16px;
    }
    .aura-connect__brand {
      font-size: 11px;
    }
    .aura-connect__visual {
      height: 50vh;
      min-height: 280px;
      padding: 5vw 5vw 0 5vw;
    }
    .aura-connect__frame--inset {
      width: 46%;
      bottom: 5%;
      left: 6%;
      border-width: 5px;
    }
  }


  /* ============================================
      HIGHLIGHTS RESPONSIVE
     ============================================ */  
      @media (max-width: 1080px){
    .highlights__grid{ grid-template-columns: repeat(4, 1fr); }
  }
 
  @media (max-width: 820px){
    .highlights{ padding: 72px 20px 80px; }
    .highlights__grid{ grid-template-columns: repeat(3, 1fr); }
  }
 
  @media (max-width: 560px){
    .highlights__grid{ grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .amenity__title{ font-size: 13.5px; }
  }
 
  @media (prefers-reduced-motion: reduce){
    .amenity{ animation: none; opacity: 1; transform: none; }
    .amenity img{ transition: none; }
  }


  /* ============================================
      REASONS RESPONSIVE
     ============================================ */   

/* Tablet */
@media (max-width: 1024px) {
  .reasons2-section {
    padding: 36px 40px 70px;
  }
  .reasons2-row {
    grid-template-columns: repeat(3, 1fr);
    padding: 0 20px;
  }
  .reason2-card {
    padding: 20px 16px 16px;
  }
}

/* Mobile */
/* Tablet & Mobile — 2 columns */
@media (max-width: 768px) {
  .reasons2-section {
    min-height: auto;
    padding: 32px 24px 50px;
  }
  .reasons2-heading {
    font-size: 26px;
    letter-spacing: 2px;
    margin-bottom: 24px;
  }
  .reason2-first {
    max-width: 100%;
    padding: 12px 20px;
  }
  .reason2-first-text {
    font-size: 17px;
    white-space: normal;
  }
  .reasons2-row {
    grid-template-columns: repeat(2, 1fr);
    padding: 0;
    gap: 12px;
  }
  .reason2-card:last-child {
    grid-column: 1 / -1;
    max-width: 260px;
    margin: 0 auto;
  }
  .reason2-card {
    padding: 18px 16px 14px;
  }
  .reason2-card-stat {
    font-size: 20px;
  }
  .reason2-card-text {
    font-size: 10.5px;
  }
}

/* Very small phones only — switch to 1 column */
@media (max-width: 360px) {
  .reasons2-section {
    padding: 28px 16px 40px;
  }
  .reasons2-heading {
    font-size: 21px;
    letter-spacing: 1px;
  }
  .reason2-first {
    flex-wrap: wrap;
    padding: 12px 16px;
  }
  .reason2-first .reason2-num {
    font-size: 20px;
  }
  .reason2-first i {
    font-size: 22px !important;
  }
  .reason2-first-text {
    font-size: 15px;
  }
  .reasons2-row {
    grid-template-columns: 1fr;
  }
  .reason2-card:last-child {
    grid-column: auto;
    max-width: 100%;
  }
}
 /* ============================================
      FLOOR PLANS
     ============================================ */ 

  /* ============================================
      LOCATION RESPONSIVE
     ============================================ */ 

  @media (max-width: 1024px) {
    .lh-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }
 
  @media (max-width: 640px) {
    .lh-section {
      padding: 76px 18px 90px;
    }
    .lh-heading {
      white-space: normal;
    }
    .lh-grid {
      grid-template-columns: 1fr;
      gap: 24px;
      margin-top: 44px;
    }
    .lh-media {
      aspect-ratio: 5 / 4;
    }
  }


/* ============================================
      FORM RESPONSIVE
     ============================================ */ 
     
     /* ---------------- TABLET (≤1024px) ---------------- */
@media (max-width: 1024px){
  .contact-section{
    padding:48px 40px 56px;
  }

  .form-side{
    padding:48px 40px;
  }

  .map-card .label{
    font-size:16px;
  }
}

/* ---------------- LARGE MOBILE / SMALL TABLET (≤768px) ---------------- */
@media (max-width: 768px){
  .contact-section{
    padding:40px 24px 48px;
    border-radius:0;
  }

  .contact-grid{
    grid-template-columns:1fr;
    height:auto;
    border:none;
  }

  .map-side{
    height:320px;
    border-right:none;
    border-bottom:1px solid var(--line);
  }

  .form-side{
    height:auto;
    padding:40px 24px 8px;
  }

  .form-side .form-top{
    margin-bottom:26px;
  }

  .form-side .form-top h3{
    font-size:22px;
  }

  .fields-row{
    grid-template-columns:1fr;
    gap:0;
  }

  .fields{
    margin-bottom:26px;
  }

  .fields.full{
    grid-column:auto;
  }

  .map-card{
    left:16px;
    right:16px;
    bottom:16px;
    padding:16px 18px;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }

  .map-pin{
    order:-1;
  }

  .submit-row{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }

  .btn-submits{
    width:100%;
    justify-content:center;
  }
}

/* ---------------- MOBILE (≤480px) ---------------- */
@media (max-width: 480px){
  .contact-section{
    padding:32px 16px 40px;
  }

  .form-side{
    padding:32px 20px 0;
  }

  .form-side .form-top h3{
    font-size:19px;
  }

  .map-side{
    height:240px;
  }

  .map-card .label{
    font-size:14px;
    margin-bottom:4px;
  }

  .map-card .addr{
    font-size:11px;
  }

  .map-card .addr span{
    font-size:12px;
  }

  .map-corner{
    width:18px;
    height:18px;
  }

  .map-corner.tl{ top:14px; left:14px; }
  .map-corner.br{ bottom:14px; right:14px; }

  .fields input,
  .fields textarea{
    font-size:14px;
  }

  .btn-submits{
    padding:14px 24px;
    font-size:12.5px;
  }
}


/* ============================================
      STRIP RESPONSIVE
     ============================================ */
/* ---------------- TABLET (≤1024px) ---------------- */
/* Tablet */
@media (max-width: 1024px) {
  .cta-strip {
    width: 100%;
    padding: 0 24px;
  }
  .cta-content {
    padding-left: 32px;
  }
  .headline-line1 {
    font-size: 24px;
  }
  .headline-line2 {
    font-size: 34px;
  }
  .building-wrap {
    width: 40%;
    right: 16px;
  }
}

/* Mobile — stack content above building */
@media (max-width: 768px) {
  .cta-strip {
    height: auto;
    flex-direction: column;
    align-items: center;
    padding: 0 0 24px;
    overflow: visible;
    margin-top: 55px; 
  }

  .building-wrap {
    display: none;
  }

  .building-img-mobile {
    display: block;
    order: 1;
    width: 100%;
    max-width: 420px;   /* bigger */
    height: 320px;      /* taller — more building visible */
    object-fit: cover;
    object-position: top;
    position: relative;
    top: -75px;          /* pushed up further, was -50px */
    margin: 0 auto -95px; /* tighter reclaim — pulls the text block up closer, less gap = less visible navy */
    z-index: 2;
    border-radius: 0;
    filter: drop-shadow(0 12px 20px rgba(0,0,0,0.3));
  }

  .cta-content {
    order: 2;
    position: relative;
    z-index: 3;
    padding: 20px 24px 0; 
    height: auto;
    width: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
  }

  .text-block {
    align-items: center;
  }

  .headline {
    text-align: center;
  }

  .headline-line2 {
    justify-content: center;
  }

  .cta-button {
    margin-left: auto;
    margin-right: auto;
  }

  .headline-line1 {
    font-size: 20px;
  }
  .headline-line2 {
    font-size: 28px;
  }
  .location-pin {
    width: 22px;
    height: 22px;
  }
  .cta-button {
    padding: 13px 22px;
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .cta-strip {
    min-height: 260px;
    padding: 24px 20px 20px;
    border-radius: 0px;
    margin-top: 48px;
  }
  .building-img-mobile {
    width: 95%;
    max-width: 330px;
    height: 260px;
    top: -35px;
    margin-bottom: -40px;
  }
  .headline-line1 {
    font-size: 24px;
  }
  .headline-line2 {
    font-size: 24px;
    gap: 6px;
  }
  .location-pin {
    width: 18px;
    height: 18px;
  }
  .cta-button {
    padding: 12px 18px;
    font-size: 11px;
    letter-spacing: 1px;
  }
}


/* ============================================
      FOOTER RESPONSIVE
     ============================================ */      

     /* ---------------- TABLET (≤1024px) ---------------- */
@media (max-width: 1024px){
  .site-footer{
    height:auto;
  }

  .footer-overlay{
    padding:44px 24px 0;
  }

  .footer-inner{
    gap:32px;
  }

  .footer-col{
    flex:1 1 220px;
  }
}

/* ---------------- LARGE MOBILE / SMALL TABLET (≤768px) ---------------- */
@media (max-width: 768px){
  .site-footer{
    background-size:auto 100%;
    background-position:center top;
  }

  .footer-overlay{
    padding:40px 20px 0;
  }

  .footer-inner{
    flex-direction:column;
    gap:36px;
  }

  .footer-col{
    flex:1 1 auto;
    min-width:0;
  }

  .col-brand p{
    max-width:100%;
  }

  .logo-box{
    padding:8px 14px;
  }

  .logo-box img{
    height:72px;
  }

  .footer-col h3{
    font-size:16px;
    margin-bottom:16px;
  }

  .quick-links li,
  .contact-info li{
    margin-bottom:10px;
  }

  .footer-bottom{
    padding:18px 20px;
    font-size:14px;
  }
}

/* ---------------- MOBILE (≤480px) ---------------- */
@media (max-width: 480px){
  .footer-overlay{
    padding:32px 16px 0;
  }

  .footer-inner{
    gap:28px;
  }

  .social-icons a{
    width:36px;
    height:36px;
  }

  .social-icons svg{
    width:18px;
    height:18px;
  }

  .col-brand p{
    font-size:13px;
  }

  .quick-links a,
  .contact-info li{
    font-size:14px;
  }

  .contact-info svg{
    width:18px;
    height:18px;
  }

  .footer-bottom{
    padding:16px 16px 18px;
    font-size:13px;
  }
}

  /* ============================================
      FORM RESPONSIVE
     ============================================ */ 
     
     
     
     @media (max-width: 480px) {
    .fab-stack {
      right: 16px;
      bottom: 16px;
      gap: 12px;
    }
    .fab {
      width: 48px;
      height: 48px;
    }
    .fab-top {
      width: 40px;
      height: 40px;
    }
    .fab::before {
      display: none; /* tooltips off on touch devices */
    }
  }