:root, [data-bs-theme="light"] {
--bs-list-group-active-bg: #284077;
--bs-list-group-active-border-color: #284077;
--bs-btn-bg: #284077;
  --bs-btn-border-color: #284077;
  --bs-blue: #284077;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #087B58;
  --bs-teal: #20c997;
  --bs-cyan: #2880ed;
  --bs-black: #282828;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #3F3F3F;
  --bs-primary: #284077;
  --bs-secondary: #6c757d;
  --bs-success: #087B58;
  --bs-info: #2880ed;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #3F3F3F;
  --bs-primary-rgb: 40,64,119;
  --bs-secondary-rgb: 108,117,125;
  --bs-success-rgb: 25,135,84;
  --bs-info-rgb: 34, 71, 119;
  --bs-warning-rgb: 255,193,7;
  --bs-danger-rgb: 220,53,69;
  --bs-light-rgb: 248,249,250;
  --bs-dark-rgb: 33,37,41;
  --bs-primary-text-emphasis: #052c65;
  --bs-secondary-text-emphasis: #2b2f32;
  --bs-success-text-emphasis: #0a3622;
  --bs-info-text-emphasis: #02244f;
  --bs-warning-text-emphasis: #664d03;
  --bs-danger-text-emphasis: #58151c;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #1C57A5;
  --bs-secondary-bg-subtle: #e2e3e5;
  --bs-success-bg-subtle: #d1e7dd;
  --bs-info-bg-subtle: #cff4fc;
  --bs-warning-bg-subtle: #fff3cd;
  --bs-danger-bg-subtle: #f8d7da;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #9ec5fe;
  --bs-secondary-border-subtle: #c4c8cb;
  --bs-success-border-subtle: #a3cfbb;
  --bs-info-border-subtle: #9eeaf9;
  --bs-warning-border-subtle: #ffe69c;
  --bs-danger-border-subtle: #f1aeb5;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255,255,255;
  --bs-black-rgb: 63,63,63;
  --bs-font-sans-serif: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #3F3F3F;
  --bs-body-color-rgb: 33,37,41;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255,255,255;
  --bs-emphasis-color: #282828;
  --bs-emphasis-color-rgb: 63,63,63;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33,37,41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233,236,239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33,37,41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248,249,250;
  --bs-heading-color: inherit;
  --bs-link-color: #284077;
  --bs-link-color-rgb: 13,110,253;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #244479;
  --bs-link-hover-color-rgb: 36, 68, 121;
  --bs-code-color: #d63384;
  --bs-highlight-color: #3F3F3F;
  --bs-highlight-bg: #fff3cd;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #d8d8d8;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
  --bs-form-valid-color: #087B58;
  --bs-form-valid-border-color: #087B58;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;

	--bs-primary-bg-subtle: #1C57A5;
  --lh-primary:#1c57a5;
  --lh-primary-2:#0f4ea2;
  --lh-border:#e6e6e6;
  --lh-bg:#f3f4f6;
  --lh-text:#0d0d0d;
  --lh-muted:#6b7280;
  --lh-hero:#111827;
      --lh-top:#1c57a5;             /* top banner same as navbar */
      --lh-cream:#f6f1d3;
      --lh-text:#343434;
      --lh-muted:#6b7280;
      --lh-focus:#1c57a5;
      --lh-shadow:0 1px 2px rgba(0,0,0,.06);
      --lh-radius: .5rem;

      /* "Ticketmaster density": tight but readable */
      --lh-gap-0: .25rem;
      --lh-gap-1: .5rem;
      --lh-gap-2: .75rem;
      --lh-gap-3: 1rem;
      --lh-gap-4: 1.25rem;
}

/* Base font-weight: 400;*/
html,body{height:100%}
body {
  font-family: "Inter", system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;;
  font-optical-sizing: auto;  
  font-style: normal;
  font-weight: 500;
  font-size: 1.1em;
  background:var(--lh-bg);
  color:var(--lh-text);
}
.skip-link {
      position: absolute;
      top: -40px;
      left: 0;
      background: #005fcc;
      color: white;
      padding: 8px;
      z-index: 100;
      transition: top 0.3s;
}
.skip-link:focus {top: 0;}
/* App shell */
.app-shell{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.app-body{
  flex:1;
  display:flex;
  min-height:0;
}

/* Top bars */
.topbar{
  background:var(--lh-primary);
  color:#fff;
  font-size:.9rem;
}
.topbar a{color:#fff;font-weight:600;text-decoration:none}
.brandbar{
  background:#e8e8e8;
  border-bottom:1px solid var(--lh-border);
}

/* ===============================
   SIDEBAR (DESKTOP)
================================ */
.sidebar-wrap{
  width:320px;
  background:#fff;
  border-right:1px solid var(--lh-border);
  display:flex;
  flex-direction:column;
	
}

/* sticky container */
@media (min-width:992px){
  .sidebar-wrap{
    position:sticky;
    top:0;
    height:100vh;
  }
}

/* scrollable middle */
.sidebar-scroll{
  flex:1;
  overflow-y:auto;
  padding:1rem;
}

/* bottom pinned links */
.sidebar-bottom{
  border-top:1px solid var(--lh-border);
  padding:.75rem 1rem;
  background:#fff;
}

/* sidebar visuals */
.sidebar-hero img{
  width:100%;
  height:150px;
  object-fit:cover;
  border-radius:.5rem;
  margin-bottom:1rem;
}

/* accordion density */
.accordion-button{
  padding:.55rem .75rem;
  font-weight:800;
}
.accordion-body{padding:.25rem 0 .5rem}
.side-link{
  display:block;
  padding:.5rem .75rem;
  border-radius:.5rem;
  color:var(--lh-text);
  text-decoration:none;
  font-weight:600;
}
.side-link:hover{background:#f8fafc}
.side-link.active{
  background:#eef2ff;
  border:1px solid #dbeafe;
}

/* ===============================
   MAIN CONTENT
================================ */
main{
  flex:1;
  min-width:0;
}
 /* Sidebar accordion density */
    .accordion.flush-tight .accordion-button{
      padding: .55rem .75rem;
      font-weight:800;
      color:#111827;
      background:#fff;
      box-shadow:none;
    }
    .accordion.flush-tight .accordion-button:not(.collapsed){
      background:#f8fafc;
    }
    .accordion.flush-tight .accordion-body{padding:.25rem 0 .5rem}
    .side-link{
      display:block;
      padding:.5rem .75rem;
      border-radius:.5rem;
      color:#111827;
      text-decoration:none;
      font-weight:600;
    }
    .side-link:hover{background:#f8fafc}
    .side-link.active{
      background:#eef2ff;
      border:1px solid #dbeafe;
    }

    .lh-breadcrumb{
      --bs-breadcrumb-divider: "›";
      font-size:.85rem;
      opacity:.9;
      margin-bottom: .25rem;
    }
    .lh-breadcrumb a{color:#fff; text-decoration:none}
    .lh-breadcrumb a:hover{text-decoration:underline}
    .hero-title{
      font-size:1.05rem;
      font-weight:900;
      margin: .15rem 0;
      line-height:1.25;
    }
    .hero-meta{
      font-size:.9rem;
      color: rgba(255,255,255,.8);
    }
/* hero */
.content-hero{
  background:var(--lh-hero);
  color:#fff;
  border-bottom:0px solid var(--lh-primary);
}

/* tabs */
.tabsbar{background:var(--lh-primary)}
.tabsbar .nav-link{
  color:#eaf2ff;
  font-weight:800;
  padding:.85rem 1rem;
	border-radius: 0!important;
	border-top: none;
}
.tabsbar .nav-link.active{
  background:rgba(255,255,255,.14);
  color:#fff;
}

/* panel
.content-panel{
  background:#fff;
  border-bottom:1px solid var(--lh-border);
 s border-radius:.5rem;
  margin-bottom:1rem;
} */
.panel-header{
  padding:.75rem 1rem;
  border-bottom:1px solid var(--lh-border);
  background:#f9fafb;
  font-weight:900;
}
.panel-body{padding:0;}

/* footer */
footer{
  background:#0b0f18;
  color:#cbd5e1;
}

    /* Dense rhythm helpers */
    .tight{padding:.75rem 1rem !important}
    .mb-tight{margin-bottom: var(--lh-gap-2) !important}

    /* Listing carousel */
    .listing-carousel img{height: 420px; object-fit:cover;}
    @media (max-width: 991.98px){ .listing-carousel img{height: 300px;} }

    /* Notice bar */
    .notice{
      border:1px solid #cfe3ff;
      background:#f2f7ff;
      border-left:4px solid var(--lh-primary);
      border-radius: var(--lh-radius);
      padding:.85rem 1rem;
      margin-bottom: var(--lh-gap-3);
    }

    /* AI summary block */
    .ai-badge{
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      font-weight:900;
      font-size:.8rem;
      padding:.25rem .55rem;
      border-radius:999px;
      background:#ecfeff;
      border:1px solid #a5f3fc;
      color:#0e7490;
    }

    /* Monetization rotator */
    .cta-rotator .carousel-item{padding:0;}
    .cta-card{
      border:1px solid var(--lh-border);
      border-radius: var(--lh-radius);
      background:#fff;
      box-shadow: var(--lh-shadow);
      overflow:hidden;
      height:100%;
      position:relative;
    }
    .cta-card::before{
      content:"";
      position:absolute;
      top:0; left:0; right:0;
      height:4px;
      background: var(--lh-primary);
    }
    .cta-card .cta-body{padding:1rem}
    .cta-card h3{font-size:1.05rem; font-weight:900; margin:0 0 .35rem}
    .cta-card p{margin:0 0 .75rem; color:var(--lh-muted);}


    .features-card{
      border:1px solid var(--lh-border);
      border-radius: var(--lh-radius);
      background:#fff;
      box-shadow: var(--lh-shadow);
      overflow:hidden;
      height:100%;
      position:relative;
    }
    .features-card::before{
      content:"";
      position:absolute;
      top:0; left:0; right:0;
      height:4px;
      background: var(--lh-hero);
    }
    .features-card-blue::before{
      background: var(--lh-primary);
    }
    .features-card-green::before{
      background: var(--bs-green);
    }
    .features-card-red::before{
      background: var(--bs-red);
    }
    .features-card-orange::before{
      background: var(--bs-red);
    }
    .features-card .features-body{padding:0.35rem}
    .features-card .features-title{
		font-size:1.05rem; 
		font-weight:900; 
		margin:0 0 .35rem;
	font-size: clamp(1.05rem,2.75vw,1.25rem);
	font-family: "Inter", sans-serif;
	font-weight: 900;
	font-style: normal;
	font-stretch: 100%;
	letter-spacing: -0.018000000000000002em;
	margin-bottom:0;
}
    .features-card p{margin:0 0 .75rem; color:var(--lh-muted);}
    .features-card ul li {margin:0; padding:0; color:var(--lh-muted);}

    /* Modal gallery thumb strip */
    .thumb-strip{
      display:flex;
      gap:.5rem;
      overflow:auto;
      padding:.75rem;
      border-top:1px solid var(--lh-border);
      background:#fff;
    }
    .thumb-strip button{
      border:2px solid transparent;
      padding:0;
      border-radius:.5rem;
      overflow:hidden;
      flex:0 0 auto;
      background:transparent;
    }
    .thumb-strip button:focus-visible{outline:3px solid var(--lh-focus); outline-offset:2px;}
    .thumb-strip img{
      width:90px; height:60px; object-fit:cover; display:block;
    }
    .thumb-strip button[aria-current="true"]{border-color:var(--lh-primary);}


/* HERO BACKGROUND */
.hero-bg {
  background:
    linear-gradient(rgba(10,15,35,.75), rgba(10,15,35,.75)),
    url("https://images.unsplash.com/photo-1568605114967-8130f3a36994?auto=format&fit=crop&w=1600&q=80");
  background-size: cover;
  background-position: center;
}

/* MARKET STATS */
.stat-box {
  border-radius: .75rem;
  font-weight: 600;
}

.stat-blue { background:#e7f0ff; }
.stat-green { background:#e9f6ef; }
.stat-yellow { background:#fff4d6; }

/* CHAT CARD */
.chat-card {
  border-radius: .375rem;
  background:#fff;
}

.chat-input {
  border-radius: .75rem;
}
	
	/* === Trends Block === */

.trends-block {
  background: #fff;
}

.trends-image {
  min-height: 360px;
  background-size: cover;
  background-position: center;
  position: relative;
}

/* subtle overlay for text contrast */
.trends-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(0,0,0,0.45),
    rgba(0,0,0,0.15)
  );
}

/* Mobile stacking */
@media (max-width: 991px) {
  .trends-image {
    min-height: 240px;
  }
}
	.luxury-image-wrap {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: .5rem .5rem 0 0;
  background: #f2f2f2;
  position: relative;
}
.luxury-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.95) contrast(0.95);
}
.luxury-image-wrap::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 30%;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0.25) 100%
  );
}
.luxury-card {
  background: #fff;
  border-radius: .5rem;
  box-shadow: 0 1px 3px rgba(0,0,0,.08);
}
.luxury-card .card-body {
  line-height: 1.35;
}
	/* === Saved Homes Rail === */

.saved-homes-rail {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  padding-bottom: .5rem;
  scroll-snap-type: x mandatory;
}

.saved-homes-rail::-webkit-scrollbar {
  height: 6px;
}

.saved-homes-rail::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 4px;
}

.saved-home-card {
  flex: 0 0 auto;          /* ← this stops stretching */
  min-width: 220px;        /* ← card size control */
  max-width: 220px;
  background: #fff;
  border-radius: .5rem;
  box-shadow: 0 1px 4px rgba(0,0,0,.08);
}

.saved-home-image {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: .5rem .5rem 0 0;
}

.saved-home-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.saved-home-fav {
  position: absolute;
  top: .5rem;
  right: .5rem;
  font-size: 1.1rem;
}

.saved-home-body {
  padding: .5rem .75rem;
}
/* === Home Services CTA === */

#home-services-cta {
  border-top: 1px solid #eee;
  padding-top: 3rem;
}

.service-card {
  background: #fff;
  border-radius: .5rem;
  padding: 1.25rem;
  box-shadow: 0 1px 4px rgba(0,0,0,.08);
  position: relative;
}

.service-icon {
  font-size: 1.6rem;
  margin-bottom: .5rem;
  color: #0d6efd;
}

.service-card a {
  text-decoration: none;
}
.site-footer  {
  color: #444;
padding: 0.75em;
}
.site-footer a {
  color: #061B3A;
  text-decoration: none;
}

.site-footer a:hover {
  text-decoration: underline;
}

.site-footer h6 {
  margin-bottom: .75rem;
}
/* === Listing Details Modal === */

#listingDetailsModal .modal-body {
  overflow-y: auto;
}

.listing-gallery img {
  background: #f2f2f2;
}

.listing-thumbs img {
  cursor: pointer;
}

.listing-thumbs img:hover {
  opacity: .8;
}
.editorial-card img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.editorial-card h5 {
  margin-top: .5rem;
}

.authority-footer-links a {
  color: #d7dbe3;
}

.authority-footer-links a:hover {
  color: #ffffff;
}
.modal-header {
  border: none!important;
}
.listing-gallery img {
  transition: transform .2s ease, box-shadow .2s ease;
}

.listing-gallery button:hover img {
  transform: scale(1.02);
  box-shadow: 0 8px 24px rgba(0,0,0,.15);
}

.gallery-thumbs img,
.gallery-modal-thumbs img {
  border-radius: 6px;
}
.photo-count-badge {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: rgba(0,0,0,.65);
  color: #fff;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: .85rem;
  font-weight: 600;
  backdrop-filter: blur(4px);
  pointer-events: none;
}

/* ===== Listing Gallery Mosaic ===== */

.gallery-mosaic{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:220px 220px 220px;
  grid-template-areas:
    "a a a a a a b b b d d d"
    "a a a a a a c c c d d d"
    "e e e e e e f f f g g g";
}

.tile{position:relative;overflow:hidden;border-radius:10px;cursor:pointer}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.tile:hover img{transform:scale(1.04)}

.tile-a{grid-area:a}
.tile-b{grid-area:b}
.tile-c{grid-area:c}
.tile-d{grid-area:d}
.tile-e{grid-area:e}
.tile-f{grid-area:f}
.tile-g{grid-area:g}

.gallery-more{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.count-pill,
.media-pill{
  position:absolute;
  bottom:12px;
  right:12px;
  background:rgba(0,0,0,.65);
  color:#fff;
  padding:6px 12px;
  border-radius:999px;
  font-size:.85rem;
  font-weight:700;
}

.count-pill{top:12px;left:12px;right:auto}
/* ===============================
   HERO IMAGE + OVERLAY
================================ */
.listing-hero-btn img {
  transition: transform .35s ease, filter .35s ease;
}

.listing-hero-btn:hover img {
  transform: scale(1.00);
  filter: brightness(.85);
}

.listing-hero-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  padding: 1rem;
  background: linear-gradient(to top, rgba(0,0,0,.05), transparent);
  color: #fff;
  pointer-events: none;
}

.listing-hero-overlay * {
  text-shadow: 0 2px 4px rgba(0,0,0,.8);
}

/* ===============================
   THUMB STRIP
================================
.gallery-thumbs {
  display: flex;
  gap: .5rem;
  overflow-x: auto;
  padding-bottom: .5rem;
} */
.gallery-thumbs {
  display: inline-block;
  overflow-y: auto;
  padding: .5rem;
  max-height: 400px;
}
.gallery-thumb {
  border: 2px solid transparent;
  padding: 0;
  background: none;
  border-radius: .5rem;
  cursor: pointer;
  flex: 0 0 auto;
}

.gallery-thumb img {
  height: 58px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: .4rem;
}

.gallery-thumb.active {
  border-color: #0d6efd;
}
/* Responsive */
@media (max-width:992px){
  .gallery-mosaic{
    grid-template-columns:repeat(8,1fr);
    grid-template-areas:
      "a a a a a a d d"
      "a a a a a a d d"
      "b b b b c c c c"
      "e e e e f f g g";
  }
  .gallery-more{grid-template-columns:repeat(3,1fr)}	

	/* ===== MAIN GALLERY CONATAINER ===== */
	.gallery-thumbs {
	  display: flex;
	  gap: .5rem;
	  overflow-x: auto;
	  padding-bottom: .5rem;
	} 
}
@media (max-width:576px){
  .gallery-mosaic{
    grid-template-columns:repeat(2,1fr);
    grid-template-areas:
      "a a"
      "b d"
      "c d"
      "e e"
      "f g";
  }
  .gallery-more{grid-template-columns:repeat(2,1fr)}

}
/* Infinite gallery continuation */
.gallery-flow {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
}

.gallery-flow .tile {
  height: 220px;
}

@media (max-width: 992px) {
  .gallery-flow {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 576px) {
  .gallery-flow {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* HERO MOSAIC */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 220px;
  gap: 12px;
}

/* Base tile */
.tile {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}

.tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* REPEATING PATTERN */
.span-a { grid-column: span 6; grid-row: span 2; }
.span-b { grid-column: span 3; grid-row: span 1; }
.span-c { grid-column: span 3; grid-row: span 1; }
.span-d { grid-column: span 3; grid-row: span 2; }
.span-e { grid-column: span 6; grid-row: span 1; }
.span-f { grid-column: span 3; grid-row: span 1; }
.span-g { grid-column: span 3; grid-row: span 1; }

/* Pills */
.pill {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background: rgba(0,0,0,.65);
  color: #fff;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: .75rem;
}

.pill.media {
  top: 10px;
  right: 10px;
  left: auto;
}

/* Responsive */
@media (max-width: 992px) {
  .gallery-grid {
    grid-template-columns: repeat(8, 1fr);
  }
}

@media (max-width: 576px) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 160px;
  }

  .span-a,
  .span-d {
    grid-column: span 2;
    grid-row: span 1;
  }
}
.showcase-wrap {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  padding: 24px;
  margin: 24px auto;
}
.market-pulse .pulse-card {
  border-radius: 7px;
  padding: 1.25rem;
  text-align: center;
}
.market-pulse .pulse-label {
  font-size: .8rem;
  color: #555;
	font-weight: 600;
	text-transform: uppercase;
}
.market-pulse .pulse-value {
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  font-weight: 700;
}

.listing-top h1 {
	font-size: clamp(1.2rem,3vw,2.25rem);
	font-family: "Inter", sans-serif;
	font-weight: 900;
	font-style: normal;
	font-stretch: 100%;
	letter-spacing: -0.018000000000000002em;
	margin-bottom:0;
}
.expandable-wrap {
  position: relative;
  max-width: 100%;
}

/* Content container */
.expandable-content {
  position: relative;
  max-height: 240px;
  overflow: hidden;
  transition: max-height 0.5s ease;
  line-height: 1.55;
}

/* Gradient fade overlay */
.expandable-content::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 122px;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0),
    #ffffff 70%
  );
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* Expanded state */
.expandable-content.is-open {
  max-height: 1200px;
}

.expandable-content.is-open::after {
  opacity: 0;
}

/* Toggle button */
.expand-toggle {
  display: inline-flex;
	width: 100%;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding: 0;
  border: none;
  background: none;
  color: #1a73e8;
  cursor: pointer;
	text-transform: uppercase;
	font-size: .8em;
	font-weight: 900;
	text-align: right;
}

.expand-toggle i {
  transition: transform 0.3s ease;
}

.expand-toggle.is-open i {
  transform: rotate(180deg);
}

/* Optional subtle hover */
.expand-toggle:hover i {
  transform: rotate(180deg);
}
.expand-toggle:hover {
	color: #111827;
}

	.offerby {
		font-size: clamp(9pt,2.5vw,.75rem);
		color: #ffffff; 
	}
/* Mobile tuning */
@media (max-width: 576px) {
  .expandable-content {
    max-height: 120px;
  }
}

/* === Listing ==== */

.vertical-rotate {
	transform: rotate(-90deg);
	transform-origin: left top;
	white-space: nowrap;
}
.vertical-text {
	writing-mode: vertical-rl;
	text-orientation: upright;font-size: clamp(1.2rem,3vw,2.25rem);
	font-family: "Inter", sans-serif;
	font-weight: 900;
	font-style: normal;
	font-stretch: 100%;
	letter-spacing: -0.018000000000000002em;
}
						
/* Mobile tuning */
/* Default = LARGE screens (lg and up) */
.vertical-hero {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: -0.018em;
  opacity: 0.85;
  font-size: clamp(2rem, 3vw, 8.25rem);
  font-family: "Inter", sans-serif;
  font-weight: 900;
  color: #111827;
align-self: center;
  transition:
    letter-spacing 0.3s ease,
    opacity 0.3s ease;
}

/* Tablet + mobile (< lg) */
@media (max-width: 991px) {
  .vertical-hero {
    writing-mode: horizontal-tb;
    text-orientation: initial;
    letter-spacing: normal;
	  align-self: flex-start;
    text-align: center;
  }
}



table.expensetable tr, table.expensetable td {
	
}

.expensetable th {
	font-size: clamp(.875rem,3vw,.975rem);
	font-family: "Inter", sans-serif;
	font-weight: 900;
	font-style: normal;
	font-stretch: 100%;
	letter-spacing: -0.018000000000000002em;
	margin-bottom:0;
}

.expensetable td {
	font-size: clamp(.85rem,3vw,.95rem);
	font-family: "Inter", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-stretch: 100%;
	letter-spacing: -0.018000000000000002em;
	margin-bottom:0;
}