/* ── Montserrat — local @font-face ── */
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-100.woff2') format('woff2'); font-weight:100; font-style:normal;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-100italic.woff2') format('woff2'); font-weight:100; font-style:italic;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-200.woff2') format('woff2'); font-weight:200; font-style:normal;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-200italic.woff2') format('woff2'); font-weight:200; font-style:italic;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-300.woff2') format('woff2'); font-weight:300; font-style:normal;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-300italic.woff2') format('woff2'); font-weight:300; font-style:italic;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-regular.woff2') format('woff2'); font-weight:400; font-style:normal;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-italic.woff2') format('woff2'); font-weight:400; font-style:italic;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-500.woff2') format('woff2'); font-weight:500; font-style:normal;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-500italic.woff2') format('woff2'); font-weight:500; font-style:italic;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-600.woff2') format('woff2'); font-weight:600; font-style:normal;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-600italic.woff2') format('woff2'); font-weight:600; font-style:italic;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-700.woff2') format('woff2'); font-weight:700; font-style:normal;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-700italic.woff2') format('woff2'); font-weight:700; font-style:italic;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-800.woff2') format('woff2'); font-weight:800; font-style:normal;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-800italic.woff2') format('woff2'); font-weight:800; font-style:italic;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-900.woff2') format('woff2'); font-weight:900; font-style:normal;  font-display:swap; }
    @font-face { font-family:'Montserrat'; src:url('/static/fonts/Montserrat%20woff2/montserrat-v31-latin-900italic.woff2') format('woff2'); font-weight:900; font-style:italic;  font-display:swap; }

    /* ── Design System Variables ── */
    :root {
      --sn-dark:           #0d1117;
      --sn-dark-2:         #1a2332;
      --sn-dark-3:         #1e2a38;
      --sn-accent:         #4a8fd4;
      --sn-accent-dim:     rgba(74, 143, 212, 0.12);
      --sn-accent-border:  rgba(74, 143, 212, 0.25);
      --sn-text-light:     #e8f0fe;
      --sn-text-mid:       #a8bfd8;
      --sn-text-muted:     #6b7f96;
      --sn-text-faint:     #3d5a75;
      --sn-gray-bg:        #f5f6f7;
      --sn-gray-card:      #ffffff;
      --sn-gray-border:    #e2e5e9;
      --sn-gray-subtle:    #f0f2f4;
      --sn-text-body:      #2c3340;
      --sn-text-secondary: #5a6474;
      --sn-text-tertiary:  #8a95a3;
      --sn-radius-sm:      4px;
      --sn-radius-md:      6px;
      --sn-radius-lg:      10px;
    }

    /* ── Reset & Base ── */
    *, *::before, *::after { box-sizing: border-box; }
    body {
      font-family: 'Montserrat', sans-serif;
      background: var(--sn-gray-bg);
      color: var(--sn-text-body);
      margin: 0; padding: 0;
      -webkit-font-smoothing: antialiased;
    }

    /* ── Header ── */
    header {
      background: var(--sn-dark) !important;
      border-bottom: 1px solid rgba(232,240,254,.06) !important;
      position: sticky; top: 0; z-index: 50;
    }
    header .max-w-7xl {
      display: flex; align-items: center; justify-content: space-between;
      padding-top: 0 !important; padding-bottom: 0 !important;
      height: 82px;
    }
    header .sn-logo {
      font-family: 'Montserrat', sans-serif !important;
      color: var(--sn-text-light) !important; text-decoration: none;
      transition: color 0.15s;
      display: inline-flex !important; flex-direction: column; gap: 3px;
      transform: scaleY(0.82);
      transform-origin: left center;
    }
    header .sn-logo:hover { color: #fff !important; }
    header .sn-logo > span:first-child {
      font-size: 31px !important; font-weight: 400 !important;
      letter-spacing: 0.08em !important; text-transform: uppercase; line-height: 1;
      margin-right: -0.08em;
    }
    header nav a {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important; font-weight: 500 !important;
      color: var(--sn-text-muted) !important;
      letter-spacing: 0.08em; text-transform: uppercase;
      text-decoration: none; transition: color 0.15s;
    }
    header nav a:hover { color: #fff !important; }

    /* ── Article ── */
    article { padding-top: 0 !important; }

    /* ── Page Title (detail pages) ── */
    article h1 {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important; font-weight: 500 !important;
      letter-spacing: 0.1em; text-transform: uppercase;
      color: var(--sn-text-tertiary) !important;
      margin: 0 !important; padding: 1.25rem 2rem 0 !important;
    }

    /* ── Honeypot (invisible to humans, visible to bots) ── */
    .sn-hp { position:absolute; left:-9999px; top:-9999px; opacity:0; pointer-events:none; tab-index:-1; }

    /* ── Carousel ── */
    .carousel-wrap {
      position: relative; width: 100%; overflow: hidden;
      aspect-ratio: 750 / 563;
      background-color: var(--sn-dark);
    }
    @media (min-width: 640px)  { .carousel-1-2-3 { aspect-ratio: 1500 / 563; } }
    @media (min-width: 1024px) { .carousel-1-2-3 { aspect-ratio: 2250 / 563; } }
    @media (min-width: 1024px) { .carousel-1-1-2 { aspect-ratio: 1500 / 563; } }
    .carousel-track {
      display: flex; flex-wrap: nowrap; width: 100%; height: 100%;
      transition: transform .35s cubic-bezier(.4,0,.2,1);
    }
    .carousel-slide { position: relative; flex-shrink: 0; height: 100%; overflow: hidden; filter: brightness(0.93); transition: filter 0.2s; background: #f3f4f6; }
    .carousel-slide:hover { filter: brightness(1); }
    .carousel-slide img { position: relative; z-index: 2; width: 100%; height: 100%; object-fit: cover; display: block; }

    /* ── Image fade-in ── */
    .sn-img-loading { opacity: 0; transition: opacity 0.5s ease-in-out; }
    .sn-img-loaded  { opacity: 1; }

    /* ── Spinner ── */
    @keyframes sn-spin { to { transform: translate(-50%, -50%) rotate(360deg); } }
    .sn-spinner {
      position: absolute; z-index: 1;
      top: 50%; left: 50%;
      transform: translate(-50%, -50%);
      width: 26px; height: 26px;
      border-radius: 50%;
      border: 2px solid #e9eaec;
      border-top-color: #b8bec6;
      animation: sn-spin 0.75s linear infinite;
      pointer-events: none;
      transition: opacity 0.3s ease;
    }
    img.sn-img-loaded ~ .sn-spinner { opacity: 0; }
    .carousel-natural { aspect-ratio: unset; background-color: transparent; }
    .carousel-natural .carousel-track { height: auto; }
    .carousel-natural .carousel-slide { height: auto; overflow: visible; filter: none; }
    .carousel-natural .carousel-slide img { object-fit: unset; }
    .carousel-btn {
      position: absolute; top: 50%; transform: translateY(-50%);
      background: rgba(13,17,23,.65); color: #fff;
      border: 1px solid var(--sn-dark-3);
      width: 2.25rem; height: 2.25rem;
      border-radius: var(--sn-radius-sm);
      font-size: 1rem; line-height: 1; cursor: pointer; z-index: 10;
      display: flex; align-items: center; justify-content: center;
      transition: background .2s;
    }
    .carousel-btn:hover { background: var(--sn-dark-2); }
    .carousel-prev { left: .5rem; }
    .carousel-next { right: .5rem; }
    .carousel-dots {
      position: absolute; bottom: .5rem; left: 50%; transform: translateX(-50%);
      display: flex; gap: .3rem;
    }
    .carousel-dot {
      width: 16px; height: 3px; border-radius: 2px;
      background: rgba(255,255,255,.25); cursor: pointer; transition: background .2s, width .2s;
    }
    .carousel-dot.active { background: var(--sn-accent); width: 24px; }

    /* ── Lightbox ── */
    .lb-overlay {
      position: fixed; inset: 0; background: rgba(13,17,23,.96);
      z-index: 9999; display: flex; align-items: center; justify-content: center;
    }
    .lb-box     { position: relative; max-width: 95vw; max-height: 95vh; }
    .lb-img     { display: none; max-width: 90vw; max-height: 90vh; object-fit: contain; }
    .lb-img.visible { display: block; }
    .lb-close   {
      position: absolute; top: -2.5rem; right: 0; background: none; border: none;
      color: var(--sn-text-mid); font-size: 2rem; cursor: pointer; line-height: 1;
    }
    .lb-prev, .lb-next {
      position: fixed; top: 50%; transform: translateY(-50%);
      background: rgba(30,42,56,.8); border: none; color: #fff;
      font-size: 2rem; padding: 0 .75rem; cursor: pointer; z-index: 10000;
      border-radius: var(--sn-radius-sm);
    }
    .lb-prev:hover, .lb-next:hover { background: var(--sn-dark-2); }
    .lb-prev { left: .5rem; }
    .lb-next  { right: .5rem; }
    .lb-counter {
      position: absolute; bottom: -2rem; left: 50%; transform: translateX(-50%);
      color: var(--sn-text-muted); font-size: .85rem; white-space: nowrap;
      font-family: 'Montserrat', sans-serif;
    }

    /* ── Video poster ── */
    .video-poster { position: absolute; inset: 0; cursor: pointer;
                    display: flex; align-items: center; justify-content: center;
                    background: #000; }
    .video-poster img { width: 100%; height: 100%; object-fit: cover; opacity: .85; }
    .video-poster .play-icon {
      position: absolute; width: 64px; height: 64px; border-radius: 50%;
      background: rgba(255,0,0,.85); display: flex; align-items: center; justify-content: center;
    }
    .video-poster .play-icon::after {
      content: ''; border-style: solid; border-width: 12px 0 12px 22px;
      border-color: transparent transparent transparent #fff; margin-left: 4px;
    }

    /* ── Accordion ── */
    .accordion-panel   { display: none; }
    .accordion-panel.open { display: block; }
    .accordion-trigger { cursor: pointer; }
    .accordion-trigger.active { border-bottom-color: #1d4ed8; color: #1d4ed8; }

    /* ── Form ── */
    .form-field { @apply block w-full border border-gray-300 rounded px-3 py-2 text-sm focus:outline-none focus:border-blue-500; }

    /* ── Price block (sidebar) ── */
    .sn-price-block {
      background: var(--sn-dark);
      padding: 1.25rem 1.5rem 1.1rem;
      border-bottom: 1px solid var(--sn-dark-3);
    }
    .sn-price-eyebrow {
      font-family: 'Montserrat', sans-serif;
      font-size: 9px; font-weight: 700;
      letter-spacing: 0.14em; text-transform: uppercase;
      color: var(--sn-accent); margin-bottom: 6px;
    }
    .sn-price-value {
      font-family: 'Montserrat', sans-serif;
      font-size: 24px; font-weight: 300;
      color: var(--sn-text-light);
      letter-spacing: -0.02em; line-height: 1.2;
    }
    .sn-price-value sub {
      font-size: 12px; font-weight: 400;
      color: var(--sn-text-muted); margin-left: 4px; vertical-align: baseline;
    }
    .sn-price-code {
      font-family: 'Montserrat', sans-serif;
      font-size: 10px; color: var(--sn-text-faint); margin-top: 6px;
    }

    /* ── Badge ── */
    .sn-badge {
      display: inline-flex; align-items: center; gap: 6px;
      font-family: 'Montserrat', sans-serif;
      font-size: 10px; font-weight: 700;
      letter-spacing: 0.12em; text-transform: uppercase;
      color: var(--sn-accent);
      background: var(--sn-accent-dim);
      border: 1px solid var(--sn-accent-border);
      padding: 3px 10px 3px 8px; border-radius: 2px;
      margin-bottom: 0.75rem;
    }
    .sn-badge::before {
      content: ''; display: block;
      width: 5px; height: 5px; border-radius: 50%;
      background: var(--sn-accent);
    }

    /* ── WhatsApp button ── */
    .sn-whatsapp-btn {
      display: block; width: 100%; margin-top: 8px; padding: 9px;
      background: transparent;
      border: 1px solid var(--sn-accent-border);
      color: var(--sn-accent);
      font-family: 'Montserrat', sans-serif;
      font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase;
      border-radius: var(--sn-radius-sm);
      cursor: pointer; text-align: center; text-decoration: none;
      transition: background 0.15s;
    }
    .sn-whatsapp-btn:hover { background: var(--sn-accent-dim); }

    /* ── Aside / Sidebar ── */
    aside > div {
      background: var(--sn-gray-card) !important;
      border: 1px solid var(--sn-gray-border) !important;
      border-radius: var(--sn-radius-lg) !important;
      overflow: hidden;
      box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 4px 16px rgba(0,0,0,.04);
    }
    aside h3 {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 13px !important; font-weight: 500 !important;
      color: var(--sn-text-body) !important;
      padding: 1.25rem 1.5rem 0 !important; margin-bottom: 1rem !important;
    }
    aside label {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 9px !important; font-weight: 500 !important;
      letter-spacing: 0.1em !important; text-transform: uppercase !important;
      color: var(--sn-text-tertiary) !important; margin-bottom: 5px !important;
    }
    aside input[type="text"],
    aside input[type="tel"],
    aside input[type="email"],
    aside textarea {
      border: 1px solid var(--sn-gray-border) !important;
      border-radius: var(--sn-radius-sm) !important;
      background: var(--sn-gray-subtle) !important;
      color: var(--sn-text-body) !important;
      font-family: 'Montserrat', sans-serif !important;
      font-size: 13px !important; padding: 8px 10px !important;
      transition: border-color 0.15s, background 0.15s;
    }
    aside input:focus,
    aside textarea:focus {
      border-color: var(--sn-accent) !important;
      background: #fff !important; outline: none !important;
    }
    aside button[type="submit"] {
      background: var(--sn-dark) !important;
      border: 1px solid var(--sn-dark-3) !important;
      color: var(--sn-text-mid) !important;
      font-family: 'Montserrat', sans-serif !important;
      font-size: 10px !important; letter-spacing: 0.1em !important;
      text-transform: uppercase;
      border-radius: var(--sn-radius-sm) !important; padding: 10px !important;
      transition: background 0.15s, color 0.15s;
    }
    aside button[type="submit"]:hover {
      background: var(--sn-dark-2) !important;
      color: var(--sn-text-light) !important;
    }

    /* ── Specs grid ── */
    .grid.grid-cols-2,
    .grid.grid-cols-3 {
      background: var(--sn-gray-card);
      border: 1px solid var(--sn-gray-border);
      border-radius: var(--sn-radius-md);
      overflow: hidden; gap: 0 !important; padding: 0 !important;
    }
    .grid.grid-cols-2 > div,
    .grid.grid-cols-3 > div {
      padding: 1rem 1.25rem !important;
      border-right: 1px solid var(--sn-gray-border);
      border-bottom: 1px solid var(--sn-gray-border);
      background: var(--sn-gray-card);
    }
    .grid.grid-cols-2 > div:last-child,
    .grid.grid-cols-3 > div:last-child { border-right: none; }
    .grid.grid-cols-2 > div > span.text-xs,
    .grid.grid-cols-3 > div > span.text-xs {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 9px !important; letter-spacing: 0.1em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-tertiary) !important;
      display: block; margin-bottom: 4px;
    }
    .grid.grid-cols-2 > div,
    .grid.grid-cols-3 > div {
      font-size: 12.5px !important; font-weight: 500 !important;
      color: var(--sn-text-body) !important;
    }

    /* ── Dividers ── */
    hr { border-color: var(--sn-gray-border) !important; }

    /* ── Section headings ── */
    h2.font-semibold,
    h3.font-semibold {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 10px !important; font-weight: 500 !important;
      letter-spacing: 0.12em !important; text-transform: uppercase !important;
      color: var(--sn-text-tertiary) !important; margin-bottom: 1rem !important;
    }

    /* ── Description text ── */
    .prose p,
    .text-sm.text-gray-700 {
      font-size: 14px !important; line-height: 1.8 !important;
      color: var(--sn-text-secondary) !important;
    }
    .mt-4.text-sm {
      font-size: 14px !important; line-height: 1.8 !important;
      color: var(--sn-text-secondary) !important;
    }

    /* ── Footer ── */
    footer {
      margin-top: 0 !important;
      background: var(--sn-dark) !important;
      border-top: 1px solid var(--sn-dark-3) !important;
      color: var(--sn-text-faint) !important;
      font-family: 'Montserrat', sans-serif !important;
      font-size: 10px !important; letter-spacing: 0.1em !important;
      text-transform: uppercase;
    }

    /* ── Cards ── */
    .sn-card {
      transition: transform 0.22s ease, box-shadow 0.22s ease;
      position: relative;
    }
    .sn-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 18px 44px rgba(0,0,0,0.22);
      z-index: 2;
    }
    .sn-card-title {
      background: var(--sn-dark);
      padding: 0.5rem 0.875rem 0.6rem;
    }
    .sn-card-title .sn-code {
      font-family: 'Montserrat', sans-serif;
      font-size: 11px;
      color: var(--sn-text-mid);
      letter-spacing: 0.08em;
      display: block;
      margin-bottom: 3px;
    }
    .sn-card-title h2 {
      margin: 0; padding: 0;
      font-family: 'Montserrat', sans-serif;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.4;
      color: var(--sn-text-light);
      letter-spacing: 0.01em;
    }
    .sn-card-title h2 a { color: inherit; text-decoration: none; }
    .sn-card-title h2 a:hover { color: var(--sn-accent); }

    /* ── Home hero ── */
    .sn-home-hero {
      position: relative;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        url('/static/uploads/site/home-hero/home-hero-bg.webp') center center / cover no-repeat;
      color: var(--sn-text-light);
      border-top: 1px solid var(--sn-dark-3);
      border-bottom: 1px solid var(--sn-dark-3);
      padding: 38px 16px 34px;
    }

    .sn-home-hero-inner {
      max-width: 1380px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: 34px;
    }

    .sn-home-hero-copy {
      max-width: 760px;
      text-align: left;
    }

    .sn-home-hero-copy h1 {
      margin: 0;
      font-family: 'Montserrat', sans-serif;
      font-size: clamp(23px, 3.1vw, 40px);
      line-height: 1.08;
      font-weight: 600;
      letter-spacing: .015em;
      color: var(--sn-text-light);
      text-transform: none;
    }

    .sn-home-hero-copy p {
      margin: 18px 0 0;
      max-width: 680px;
      font-size: clamp(14px, 1.15vw, 17px);
      line-height: 1.75;
      color: var(--sn-text-mid);
      text-transform: none;
      letter-spacing: 0;
    }

    .sn-home-whatsapp {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-top: 22px;
      padding: 12px 20px;
      border-radius: 999px;
      background: #25D366;
      color: #062d16 !important;
      text-decoration: none;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
      box-shadow: 0 12px 28px rgba(0,0,0,.28);
      transition: transform .16s ease, filter .16s ease;
    }

    .sn-home-whatsapp:hover {
      transform: translateY(-2px);
      filter: brightness(1.04);
    }

    .sn-home-whatsapp-icon {
      width: 17px;
      height: 17px;
      fill: currentColor;
      display: block;
      flex: 0 0 auto;
    }

    .sn-home-hero-actions {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 6px;
      gap: 14px;
      width: 100%;
    }

    .sn-nav-btn {
      width: 88px;
      height: 72px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(232,240,254,.08);
      border: 1px solid rgba(232,240,254,.18);
      border-radius: 14px;
      text-decoration: none;
      transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
      backdrop-filter: blur(8px);
    }

    .sn-nav-btn:hover {
      transform: translateY(-3px);
      background: rgba(232,240,254,.13);
      border-color: rgba(232,240,254,.32);
      box-shadow: 0 14px 34px rgba(0,0,0,.32);
    }

    .sn-nav-icon {
      width: 25px;
      height: 25px;
      color: var(--sn-text-light);
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .sn-nav-label {
      display: block;
      font-size: 8px;
      line-height: 1;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--sn-text-mid);
      white-space: nowrap;
    }

    .sn-nav-icon svg {
      width: 100%;
      height: 100%;
      fill: currentColor;
      display: block;
    }

    .sn-nav-btn-img {
      display: none;
    }

    @media (max-width: 900px) {
      .sn-home-hero {
        padding: 34px 18px 30px;
      }

      .sn-home-hero-copy {
        max-width: 100%;
      }

      .sn-home-hero-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
      }

      .sn-nav-btn {
        width: 82px;
        height: 68px;
      }
    }

    @media (max-width: 640px) {
      .sn-home-hero {
        padding: 28px 16px 28px;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          url('/static/uploads/site/home-hero/home-hero-bg.webp') center center / cover no-repeat;
      }

      .sn-home-hero-copy h1 {
        font-size: 23px;
        line-height: 1.14;
      }

      .sn-home-hero-copy p {
        font-size: 14px;
        line-height: 1.7;
      }

      .sn-home-whatsapp {
        width: 100%;
        max-width: 260px;
      }

      .sn-home-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
      }

      .sn-nav-btn {
        width: 100%;
        height: 58px;
        border-radius: 12px;
      }

      .sn-nav-icon {
        width: 23px;
        height: 23px;
      }

      .sn-nav-label {
        font-size: 8px;
      }
    }

    /* ── Home maps carousel ── */
    .sn-home-maps-section {
      background: var(--sn-dark);
      padding: 0;
      margin: 18px 0 0;
      border-top: 1px solid var(--sn-dark-3);
      overflow: hidden;
    }
    .sn-home-maps-carousel {
      position: relative;
      width: 100%;
      margin: 0;
    }
    .sn-home-maps-track-wrap {
      overflow: hidden;
      width: 100%;
      background: var(--sn-dark);
    }
    .sn-home-maps-track {
      display: flex;
      transition: transform .35s ease;
      will-change: transform;
    }
    .sn-home-maps-slide {
      min-width: 100%;
      margin: 0;
      background: var(--sn-dark);
      border-right: 1px solid var(--sn-dark-3);
    }
    .sn-home-maps-slide img {
      width: 100%;
      height: auto;
      display: block;
    }
    .sn-home-maps-btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 3;
      width: 42px;
      height: 42px;
      border-radius: 999px;
      border: 1px solid var(--sn-dark-3);
      background: rgba(13,17,23,.82);
      color: var(--sn-text-light);
      font-size: 30px;
      line-height: 1;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .sn-home-maps-btn:hover {
      background: var(--sn-dark-2);
    }
    .sn-home-maps-prev { left: 14px; }
    .sn-home-maps-next { right: 14px; }

    @media (min-width: 640px) {
      .sn-home-maps-slide {
        min-width: 50%;
      }
    }

    @media (min-width: 1024px) {
      .sn-home-maps-slide {
        min-width: 33.333333%;
      }
    }

    @media (max-width: 640px) {
      .sn-home-maps-btn {
        width: 36px;
        height: 36px;
        font-size: 24px;
      }
      .sn-home-maps-prev { left: 8px; }
      .sn-home-maps-next { right: 8px; }
    }


    /* ── Condominium maps carousel on property pages ── */
    .sn-cond-map-carousel {
      position: relative;
      width: 100%;
      margin: 0;
      overflow: hidden;
      background: var(--sn-gray-bg);
    }

    .sn-cond-map-track-wrap {
      width: 100%;
      overflow: hidden;
    }

    .sn-cond-map-track {
      display: flex;
      align-items: flex-start;
      transition: transform .35s ease;
      will-change: transform;
    }

    .sn-cond-map-slide {
      min-width: 100%;
      margin: 0;
      background: var(--sn-gray-bg);
      border-right: 1px solid var(--sn-gray-border);
    }

    .sn-cond-map-slide img {
      width: 100%;
      height: auto;
      display: block;
      object-fit: contain;
    }

    .sn-cond-map-btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 3;
      width: 38px;
      height: 38px;
      border-radius: 6px;
      border: 1px solid rgba(255,255,255,.25);
      background: rgba(13,17,23,.72);
      color: var(--sn-text-light);
      font-size: 26px;
      line-height: 1;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .sn-cond-map-btn:hover {
      background: var(--sn-dark-2);
    }

    .sn-cond-map-prev { left: 10px; }
    .sn-cond-map-next { right: 10px; }

    @media (min-width: 640px) {
      .sn-cond-map-slide {
        min-width: 50%;
      }
    }

    @media (max-width: 640px) {
      .sn-cond-map-btn {
        width: 34px;
        height: 34px;
        font-size: 22px;
      }

      .sn-cond-map-prev { left: 8px; }
      .sn-cond-map-next { right: 8px; }
    }


    /* ── Home hero refinements: buttons, labels and lighter image gradient ── */
    .sn-home-hero {
      background:
        linear-gradient(90deg, rgba(13,17,23,.58) 0%, rgba(13,17,23,.38) 45%, rgba(13,17,23,.12) 100%),
        linear-gradient(180deg, rgba(13,17,23,.24) 0%, rgba(13,17,23,.14) 58%, rgba(13,17,23,.54) 100%),
        url('/static/uploads/site/home-hero/home-hero-bg.webp') center center / cover no-repeat !important;
    }

    .sn-home-hero-inner {
      gap: 58px !important;
    }

    .sn-home-hero-actions {
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
      justify-content: center !important;
      flex-wrap: nowrap !important;
      gap: 18px !important;
      width: 100% !important;
    }

    .sn-nav-btn {
      flex-direction: column !important;
      gap: 10px !important;
    }

    .sn-nav-icon {
      width: 34px !important;
      height: 34px !important;
    }

    .sn-nav-label {
      font-size: 10px !important;
      letter-spacing: .13em !important;
      color: var(--sn-text-light) !important;
    }

    @media (max-width: 900px) {
      .sn-home-hero-inner {
        gap: 48px !important;
      }

      .sn-home-hero-actions {
        justify-content: center !important;
        flex-wrap: nowrap !important;
        gap: 14px !important;
      }

      .sn-nav-icon {
        width: 32px !important;
        height: 32px !important;
      }

      .sn-nav-label {
        font-size: 9.5px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-home-hero {
        background:
          linear-gradient(180deg, rgba(13,17,23,.68) 0%, rgba(13,17,23,.38) 48%, rgba(13,17,23,.72) 100%),
          url('/static/uploads/site/home-hero/home-hero-bg.webp') center center / cover no-repeat !important;
      }

      .sn-home-hero-inner {
        gap: 30px !important;
      }

      .sn-home-hero-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        gap: 10px !important;
      }

      .sn-nav-btn {
        width: 100% !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 14px !important;
        padding-left: 22px !important;
      }

      .sn-nav-icon {
        width: 30px !important;
        height: 30px !important;
      }

      .sn-nav-label {
        font-size: 11px !important;
        letter-spacing: .12em !important;
      }
    }


    /* ── Home hero final alignment and market buttons ── */
    @media (min-width: 901px) {
      .sn-home-hero-copy {
        max-width: 720px !important;
      }

      .sn-home-hero-copy h1 {
        font-size: clamp(21px, 2.25vw, 32px) !important;
        line-height: 1.16 !important;
        max-width: 720px !important;
      }

      .sn-home-hero-copy p {
        font-size: 13.5px !important;
        line-height: 1.65 !important;
        max-width: 650px !important;
      }

      .sn-home-hero-inner {
        gap: 54px !important;
      }

      .sn-home-hero-actions {
        width: 720px !important;
        max-width: 720px !important;
        margin: 0 !important;
        justify-content: space-between !important;
        gap: 10px !important;
      }

      .sn-nav-btn {
        width: auto !important;
        flex: 1 1 0 !important;
        height: 72px !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 0 12px !important;
      }

      .sn-nav-icon {
        width: 30px !important;
        height: 30px !important;
        flex: 0 0 auto !important;
      }

      .sn-nav-label {
        font-size: 9px !important;
        line-height: 1.05 !important;
        letter-spacing: .08em !important;
        white-space: normal !important;
        text-align: left !important;
      }
    }

    @media (min-width: 641px) and (max-width: 900px) {
      .sn-home-hero-copy h1 {
        font-size: clamp(24px, 4vw, 34px) !important;
        line-height: 1.14 !important;
      }

      .sn-home-hero-copy p {
        font-size: 14px !important;
        line-height: 1.65 !important;
      }

      .sn-home-hero-inner {
        gap: 46px !important;
      }

      .sn-home-hero-actions {
        width: 100% !important;
        max-width: 100% !important;
        justify-content: space-between !important;
        gap: 10px !important;
      }

      .sn-nav-btn {
        width: auto !important;
        flex: 1 1 0 !important;
        height: 70px !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 0 10px !important;
      }

      .sn-nav-icon {
        width: 29px !important;
        height: 29px !important;
        flex: 0 0 auto !important;
      }

      .sn-nav-label {
        font-size: 8.5px !important;
        line-height: 1.15 !important;
        letter-spacing: .07em !important;
        white-space: normal !important;
        text-align: left !important;
      }
    }

    @media (max-width: 640px) {
      .sn-nav-btn {
        justify-content: flex-start !important;
        align-items: center !important;
      }

      .sn-nav-icon {
        width: 31px !important;
        height: 31px !important;
      }

      .sn-nav-label {
        font-size: 11.5px !important;
        line-height: 1.15 !important;
        white-space: normal !important;
        text-align: left !important;
      }
    }


    /* ── Home hero final polish: compact copy and aligned action buttons ── */
    @media (min-width: 901px) {
      .sn-home-hero-copy {
        max-width: 620px !important;
      }

      .sn-home-hero-copy h1 {
        font-size: clamp(19px, 1.9vw, 28px) !important;
        line-height: 1.18 !important;
        max-width: 600px !important;
      }

      .sn-home-hero-copy p {
        font-size: 12.8px !important;
        line-height: 1.62 !important;
        max-width: 560px !important;
      }

      .sn-home-hero-inner {
        gap: 58px !important;
      }

      .sn-home-hero-actions {
        width: 620px !important;
        max-width: 620px !important;
        margin: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px !important;
        justify-content: start !important;
      }

      .sn-nav-btn {
        width: 100% !important;
        height: 76px !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 13px !important;
        padding: 0 14px !important;
      }

      .sn-nav-icon {
        width: 34px !important;
        height: 34px !important;
        flex: 0 0 auto !important;
      }

      .sn-nav-label {
        font-size: 9.6px !important;
        line-height: 1.15 !important;
        letter-spacing: .055em !important;
        white-space: normal !important;
        text-align: left !important;
        color: var(--sn-text-light) !important;
      }
    }

    @media (min-width: 641px) and (max-width: 900px) {
      .sn-home-hero-copy h1 {
        font-size: clamp(23px, 3.7vw, 32px) !important;
        line-height: 1.14 !important;
      }

      .sn-home-hero-copy p {
        font-size: 14px !important;
        line-height: 1.65 !important;
      }

      .sn-home-hero-inner {
        gap: 48px !important;
      }

      .sn-home-hero-actions {
        width: 100% !important;
        max-width: 100% !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px !important;
      }

      .sn-nav-btn {
        width: 100% !important;
        height: 76px !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 13px !important;
        padding: 0 14px !important;
      }

      .sn-nav-icon {
        width: 35px !important;
        height: 35px !important;
      }

      .sn-nav-label {
        font-size: 10.2px !important;
        line-height: 1.15 !important;
        letter-spacing: .06em !important;
        white-space: normal !important;
        text-align: left !important;
        color: var(--sn-text-light) !important;
      }
    }

    @media (max-width: 640px) {
      .sn-nav-label {
        font-size: 11.5px !important;
      }
    }


    /* ── Home hero background position fix: show more top of image on desktop ── */
    @media (min-width: 901px) {
      .sn-home-hero {
        background-position:
          center center,
          center center,
          center 36% !important;
      }
    }


    /* ── Home hero responsive text refinements ── */
    @media (min-width: 641px) and (max-width: 900px) {
      .sn-home-hero-copy {
        max-width: 52% !important;
      }

      .sn-home-hero-copy h1 {
        font-size: clamp(20px, 3vw, 26px) !important;
        line-height: 1.15 !important;
        max-width: 100% !important;
      }

      .sn-home-hero-copy p {
        font-size: 12.6px !important;
        line-height: 1.58 !important;
        max-width: 100% !important;
      }

      .sn-home-whatsapp {
        margin-top: 18px !important;
        padding: 10px 17px !important;
        font-size: 10.5px !important;
      }

      .sn-home-whatsapp-icon {
        width: 15px !important;
        height: 15px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-home-hero-copy h1 {
        font-size: 21px !important;
        line-height: 1.16 !important;
      }

      .sn-home-hero-copy p {
        font-size: 12.6px !important;
        line-height: 1.58 !important;
      }

      .sn-home-whatsapp {
        margin-top: 18px !important;
        padding: 10px 16px !important;
        font-size: 10.5px !important;
        max-width: 230px !important;
      }

      .sn-home-whatsapp-icon {
        width: 15px !important;
        height: 15px !important;
      }
    }


    /* ── Mobile WhatsApp natural width refinement ── */
    @media (max-width: 640px) {
      .sn-home-whatsapp {
        width: auto !important;
        max-width: none !important;
        align-self: flex-start !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        justify-content: flex-start !important;
      }
    }




    /* ── Header clean + hero owns the blend effect ── */
    header {
      border-bottom: 0 !important;
      box-shadow: none !important;
    }

    header::after {
      display: none !important;
      content: none !important;
    }

    .sn-home-hero {
      border-top: 0 !important;
      position: relative;
    }

    .sn-home-hero::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      height: 10px;
      pointer-events: none;
      background: linear-gradient(
        180deg,
        rgba(13,17,23,.55) 0%,
        rgba(13,17,23,.26) 55%,
        rgba(13,17,23,0) 100%
      );
      z-index: 1;
    }

    .sn-home-hero-inner {
      position: relative;
      z-index: 2;
    }


    /* ── Final header/hero separator override ── */
    header {
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      box-shadow: none !important;
    }

    header::after {
      display: none !important;
      content: none !important;
    }

    .sn-home-hero {
      border-top: 0 !important;
      position: relative;
    }

    .sn-home-hero::before {
      content: "" !important;
      display: block !important;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      height: 8px;
      pointer-events: none;
      background: linear-gradient(
        180deg,
        rgba(13,17,23,.42) 0%,
        rgba(13,17,23,.10) 60%,
        rgba(13,17,23,0) 100%
      );
      z-index: 1;
    }

    .sn-home-hero-inner {
      position: relative;
      z-index: 2;
    }

  
    /* ── Final hover/fade refinements ── */

    /* Remove efeito de subir dos cards e botões gerais */
    .sn-card {
      transition: box-shadow .22s ease, border-color .18s ease, background .18s ease !important;
    }

    .sn-card:hover {
      transform: none !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.18) !important;
    }

    .sn-home-whatsapp {
      transition: filter .16s ease, background .16s ease, color .16s ease !important;
    }

    .sn-home-whatsapp:hover {
      transform: none !important;
      filter: brightness(1.04);
    }

    /* Hover somente visual nos botões principais da home */
    .sn-home-hero .sn-nav-btn {
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease !important;
    }

    .sn-home-hero .sn-nav-btn:hover {
      transform: none !important;
      background: rgba(232,240,254,.72) !important;
      border-color: rgba(232,240,254,.86) !important;
      box-shadow: 0 12px 28px rgba(0,0,0,.20) !important;
    }

    .sn-home-hero .sn-nav-btn:hover .sn-nav-icon,
    .sn-home-hero .sn-nav-btn:hover .sn-nav-label {
      color: #0d1117 !important;
    }

    /* Fade-in suave ao rolar */
    .sn-scroll-fade {
      opacity: 0;
      transform: translateY(14px);
      transition: opacity .75s ease, transform .75s ease;
      will-change: opacity, transform;
    }

    .sn-scroll-fade.sn-scroll-visible {
      opacity: 1;
      transform: translateY(0);
    }

    @media (prefers-reduced-motion: reduce) {
      .sn-scroll-fade {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
      }
    }

  
    /* ── Header mega menu + mobile drawer ── */
    .sn-site-header {
      background: var(--sn-dark) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      position: sticky;
      top: 0;
      z-index: 1000;
    }

    .sn-header-inner {
      height: 82px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
      position: relative;
    }

    .sn-desktop-nav {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 22px;
      margin-left: auto;
    }

    .sn-menu-group {
      position: relative;
      display: flex;
      align-items: center;
      min-height: 82px;
    }

    .sn-menu-trigger,
    .sn-menu-link {
      appearance: none;
      background: transparent;
      border: 0;
      padding: 30px 0;
      cursor: pointer;
      font-family: 'Montserrat', sans-serif !important;
      font-size: 10.5px !important;
      font-weight: 500 !important;
      letter-spacing: .09em;
      text-transform: uppercase;
      color: var(--sn-text-muted) !important;
      text-decoration: none;
      transition: color .16s ease;
      white-space: nowrap;
    }

    .sn-menu-trigger:hover,
    .sn-menu-link:hover,
    .sn-menu-group:hover .sn-menu-trigger {
      color: var(--sn-text-light) !important;
    }

    .sn-mega-menu {
      position: absolute;
      top: 78px;
      right: 0;
      background: rgba(13,17,23,.97);
      border: 1px solid rgba(232,240,254,.12);
      box-shadow: 0 22px 60px rgba(0,0,0,.36);
      padding: 22px;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translateY(8px);
      transition: opacity .16s ease, visibility .16s ease, transform .16s ease;
      z-index: 1002;
      border-radius: 0 0 12px 12px;
      backdrop-filter: blur(12px);
    }

    .sn-menu-group:hover .sn-mega-menu,
    .sn-menu-group:focus-within .sn-mega-menu {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateY(0);
    }

    .sn-mega-wide {
      width: min(780px, calc(100vw - 32px));
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 26px;
    }

    .sn-mega-single {
      width: min(430px, calc(100vw - 32px));
    }

    .sn-mega-col {
      display: grid;
      gap: 8px;
      align-content: start;
      max-height: 68vh;
      overflow: auto;
      padding-right: 4px;
    }

    .sn-mega-col h3 {
      margin: 0 0 8px;
      color: var(--sn-text-light);
      font-family: 'Montserrat', sans-serif;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .sn-mega-col a {
      display: block;
      padding: 5px 0;
      color: var(--sn-text-mid) !important;
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      line-height: 1.35;
      letter-spacing: 0 !important;
      text-transform: none !important;
      text-decoration: none;
    }

    .sn-mega-col a:hover {
      color: var(--sn-text-light) !important;
    }

    .sn-mobile-menu-btn {
      display: none;
      width: 42px;
      height: 42px;
      border: 1px solid rgba(232,240,254,.16);
      background: rgba(232,240,254,.05);
      border-radius: 10px;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
    }

    .sn-mobile-menu-btn span {
      width: 18px;
      height: 1px;
      background: var(--sn-text-light);
      display: block;
    }

    .sn-mobile-menu-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,.46);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity .18s ease, visibility .18s ease;
      z-index: 1003;
    }

    .sn-mobile-drawer {
      position: fixed;
      top: 0;
      left: 0;
      width: min(86vw, 360px);
      height: 100vh;
      background: #0d1117;
      border-right: 1px solid rgba(232,240,254,.10);
      box-shadow: 22px 0 60px rgba(0,0,0,.42);
      transform: translateX(-104%);
      transition: transform .22s ease;
      z-index: 1004;
      overflow-y: auto;
      padding: 22px 18px 32px;
      color: var(--sn-text-light);
    }

    body.sn-menu-open .sn-mobile-menu-overlay {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }

    body.sn-menu-open .sn-mobile-drawer {
      transform: translateX(0);
    }

    .sn-mobile-drawer-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 20px;
      padding-bottom: 14px;
      border-bottom: 1px solid rgba(232,240,254,.10);
      font-size: 11px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--sn-text-mid);
    }

    .sn-mobile-drawer-head button {
      border: 0;
      background: transparent;
      color: var(--sn-text-light);
      font-size: 30px;
      line-height: 1;
      cursor: pointer;
    }

    .sn-mobile-drawer details {
      border-bottom: 1px solid rgba(232,240,254,.08);
      padding: 10px 0;
    }

    .sn-mobile-drawer summary,
    .sn-mobile-direct {
      display: block;
      padding: 12px 0;
      cursor: pointer;
      color: var(--sn-text-light) !important;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .09em;
      text-transform: uppercase;
      text-decoration: none;
    }

    .sn-mobile-drawer h4 {
      margin: 14px 0 6px;
      color: var(--sn-text-muted);
      font-size: 10px;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .sn-mobile-drawer details a {
      display: block;
      padding: 8px 0 8px 10px;
      color: var(--sn-text-mid) !important;
      font-size: 12px;
      line-height: 1.35;
      text-decoration: none;
    }

    @media (max-width: 980px) {
      .sn-desktop-nav {
        display: none !important;
      }

      .sn-mobile-menu-btn {
        display: inline-flex;
      }
    }

  
    /* ── Menu scroll lock + mobile drawer white-box cleanup ── */

    body.sn-menu-open,
    body.sn-mega-open {
      overflow: hidden !important;
    }

    .sn-mobile-drawer,
    .sn-mobile-drawer-head,
    .sn-mobile-drawer details,
    .sn-mobile-drawer summary,
    .sn-mobile-drawer a,
    .sn-mobile-direct {
      background: transparent !important;
      box-shadow: none !important;
    }

    .sn-mobile-drawer {
      background: #0d1117 !important;
    }

    .sn-mobile-drawer details {
      appearance: none !important;
      -webkit-appearance: none !important;
    }

    .sn-mobile-drawer summary {
      list-style: none !important;
      outline: none !important;
      border: 0 !important;
    }

    .sn-mobile-drawer summary::-webkit-details-marker {
      display: none !important;
    }

    .sn-mobile-drawer summary::after {
      content: "+";
      float: right;
      color: var(--sn-text-muted);
      font-size: 16px;
      line-height: 1;
    }

    .sn-mobile-drawer details[open] summary::after {
      content: "–";
    }

    .sn-mega-menu,
    .sn-mega-col {
      overscroll-behavior: contain !important;
    }

  
    /* ── Final menu visual refinement ── */

    html {
      scrollbar-gutter: stable;
    }

    body.sn-menu-open,
    body.sn-mega-open {
      overflow: hidden !important;
      padding-right: var(--sn-scrollbar-comp, 0px);
    }

    .sn-desktop-nav {
      gap: 10px !important;
    }

    .sn-menu-group {
      min-height: 82px !important;
      padding: 0 2px !important;
      display: flex !important;
      align-items: center !important;
    }

    .sn-menu-trigger,
    .sn-menu-link {
      min-height: 46px !important;
      padding: 0 17px !important;
      border-radius: 13px !important;
      border: 1px solid rgba(232,240,254,.10) !important;
      background: rgba(232,240,254,.035) !important;
      color: var(--sn-text-mid) !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
    }

    .sn-menu-group:hover .sn-menu-trigger,
    .sn-menu-group:focus-within .sn-menu-trigger,
    .sn-menu-trigger:hover,
    .sn-menu-link:hover {
      background: rgba(232,240,254,.84) !important;
      border-color: rgba(232,240,254,.92) !important;
      color: #0d1117 !important;
      box-shadow: 0 10px 28px rgba(0,0,0,.20) !important;
    }

    .sn-mega-menu {
      top: 76px !important;
    }

    .sn-mobile-drawer {
      padding: 0 18px 32px !important;
    }

    .sn-mobile-drawer-head {
      height: 72px !important;
      margin: 0 -18px 18px !important;
      padding: 0 18px !important;
      border-bottom: 1px solid rgba(232,240,254,.10) !important;
      background: #0d1117 !important;
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
    }

    .sn-mobile-drawer-head span {
      color: #a8bfd8 !important;
      font-size: 14px !important;
      font-weight: 500 !important;
      letter-spacing: .12em !important;
      text-transform: uppercase !important;
      line-height: 1 !important;
    }

    .sn-mobile-drawer-head button {
      width: 42px !important;
      height: 42px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      border: 1px solid rgba(232,240,254,.12) !important;
      border-radius: 10px !important;
      background: rgba(232,240,254,.04) !important;
      color: #e8f0fe !important;
      font-size: 26px !important;
      line-height: 1 !important;
      padding: 0 0 3px !important;
    }

    .sn-mobile-drawer details {
      padding: 0 !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
    }

    .sn-mobile-drawer summary,
    .sn-mobile-direct {
      min-height: 54px !important;
      padding: 0 !important;
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      color: #e8f0fe !important;
      font-size: 13px !important;
      font-weight: 500 !important;
      letter-spacing: .10em !important;
      text-transform: uppercase !important;
    }

    .sn-mobile-drawer summary::after {
      float: none !important;
      margin-left: 12px !important;
      font-size: 18px !important;
      color: #a8bfd8 !important;
    }

    .sn-mobile-drawer h4 {
      margin: 14px 0 8px !important;
      color: #6b7f96 !important;
      font-size: 10px !important;
      letter-spacing: .13em !important;
    }

    .sn-mobile-drawer details a {
      padding: 9px 0 9px 10px !important;
      font-size: 12.5px !important;
      line-height: 1.35 !important;
    }

  
    /* ── Final header mode: hamburger on all screens ── */

    .sn-desktop-nav {
      display: none !important;
    }

    .sn-mobile-menu-btn {
      display: inline-flex !important;
    }

    .sn-header-inner {
      height: 82px !important;
      background: #0d1117 !important;
    }

    .sn-mobile-drawer {
      width: min(88vw, 430px) !important;
      background: #0d1117 !important;
      padding: 0 22px 34px !important;
    }

    .sn-mobile-drawer-head {
      height: 82px !important;
      margin: 0 -22px 18px !important;
      padding: 0 22px !important;
      border-bottom: 1px solid rgba(232,240,254,.10) !important;
      background: #0d1117 !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
    }

    .sn-mobile-drawer-head span {
      color: #a8bfd8 !important;
      font-size: 14px !important;
      font-weight: 500 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      line-height: 1 !important;
    }

    .sn-mobile-drawer-head button {
      width: auto !important;
      height: auto !important;
      padding: 0 !important;
      margin: 0 !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      color: #e8f0fe !important;
      font-size: 24px !important;
      font-weight: 300 !important;
      line-height: 1 !important;
      cursor: pointer !important;
    }

    .sn-mobile-drawer details {
      padding: 0 !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      background: transparent !important;
    }

    .sn-mobile-drawer summary,
    .sn-mobile-direct {
      min-height: 58px !important;
      padding: 0 !important;
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      color: #e8f0fe !important;
      font-size: 13px !important;
      font-weight: 500 !important;
      letter-spacing: .10em !important;
      text-transform: uppercase !important;
      background: transparent !important;
    }

    .sn-mobile-drawer summary::after {
      float: none !important;
      margin-left: 12px !important;
      color: #a8bfd8 !important;
    }

    .sn-mobile-drawer h4 {
      margin: 14px 0 8px !important;
      color: #6b7f96 !important;
      font-size: 10px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
    }

    .sn-mobile-drawer details a {
      padding: 9px 0 9px 10px !important;
      font-size: 12.5px !important;
      line-height: 1.35 !important;
    }

    body.sn-menu-open {
      overflow: hidden !important;
      touch-action: none;
    }

  
    /* ── Final aside title cleanup ── */

    .sn-mobile-drawer-head {
      margin: 0 -22px 18px !important;
      padding: 0 22px !important;
      border: 0 !important;
      border-bottom: 1px solid rgba(232,240,254,.10) !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      background: #0d1117 !important;
    }

    .sn-mobile-drawer-head button {
      border: 0 !important;
      outline: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      border-radius: 0 !important;
      width: auto !important;
      height: auto !important;
      padding: 0 !important;
      margin: 0 !important;
      color: #e8f0fe !important;
      font-size: 29px !important;
      font-weight: 400 !important;
      line-height: 1 !important;
    }

    .sn-mobile-drawer-head button:hover {
      color: #ffffff !important;
      background: transparent !important;
      box-shadow: none !important;
    }
/* ── Header menu item counts ── */

    .sn-mobile-drawer details a {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 12px;
    }

    .sn-mobile-drawer details a span {
      min-width: 0;
    }

    .sn-mobile-drawer details a em {
      min-width: 28px;
      height: 18px;
      padding: 0 7px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      background: rgba(232,240,254,.08);
      border: 1px solid rgba(232,240,254,.12);
      color: #a8bfd8;
      font-style: normal;
      font-size: 10px;
      line-height: 1;
      letter-spacing: 0;
    }

  
    /* ── Final drawer scroll lock without layout shift ── */

    body.sn-menu-open {
      overflow: hidden !important;
      touch-action: none !important;
      width: 100% !important;
    }

    body.sn-menu-open.sn-scroll-fixed {
      position: fixed !important;
      left: 0 !important;
      right: 0 !important;
      width: 100% !important;
      overflow: hidden !important;
    }

  
    /* ── Touch devices: prevent sticky hover on home buttons ── */
    @media (hover: none), (pointer: coarse) {
      .sn-home-hero .sn-nav-btn:hover,
      .sn-home-hero .sn-nav-btn:focus,
      .sn-home-hero .sn-nav-btn:active {
        transform: none !important;
        background: rgba(232,240,254,.08) !important;
        border-color: rgba(232,240,254,.18) !important;
        box-shadow: none !important;
        color: inherit !important;
      }

      .sn-home-hero .sn-nav-btn:hover .sn-nav-icon,
      .sn-home-hero .sn-nav-btn:hover .sn-nav-label,
      .sn-home-hero .sn-nav-btn:focus .sn-nav-icon,
      .sn-home-hero .sn-nav-btn:focus .sn-nav-label,
      .sn-home-hero .sn-nav-btn:active .sn-nav-icon,
      .sn-home-hero .sn-nav-btn:active .sn-nav-label {
        color: var(--sn-text-light) !important;
      }

      .sn-home-hero .sn-nav-label {
        color: var(--sn-text-mid) !important;
      }
    }

  
    /* ── Footer rework ── */
    .sn-footer-grid {
      display: grid;
      gap: 34px;
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .sn-footer-grid h3 {
      color: var(--sn-text-mid);
      font-size: 11px;
      margin: 0 0 14px;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .sn-footer-grid ul {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      gap: 9px;
    }

    .sn-footer-grid a {
      color: var(--sn-text-muted);
      text-decoration: none;
      font-size: 12px;
      line-height: 1.35;
    }

    .sn-footer-grid a:hover {
      color: var(--sn-text-light);
    }

    .sn-footer-creci {
      margin: 16px 0 0;
      color: var(--sn-text-mid);
      font-size: 11px;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .sn-footer-text,
    .sn-footer-contact-note {
      margin-top: 10px;
      line-height: 1.7;
      text-transform: none;
      letter-spacing: 0;
      font-size: 12px;
      color: var(--sn-text-muted);
    }

    .sn-footer-icon-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }

    .sn-footer-icon-link svg {
      width: 15px;
      height: 15px;
      fill: currentColor;
      flex: 0 0 auto;
    }

    .sn-footer-address {
      margin: 12px 0 0;
      display: flex;
      align-items: flex-start;
      gap: 8px;
      color: var(--sn-text-muted);
      font-size: 12px;
      line-height: 1.55;
      text-transform: none;
      letter-spacing: 0;
    }

    .sn-footer-address svg {
      width: 15px;
      height: 15px;
      fill: currentColor;
      flex: 0 0 auto;
      margin-top: 2px;
    }

    .sn-footer-bottom {
      margin-top: 32px;
      padding-top: 18px;
      border-top: 1px solid var(--sn-dark-3);
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      justify-content: space-between;
      align-items: center;
      color: var(--sn-text-muted);
      font-size: 10px;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    @media (max-width: 1100px) {
      .sn-footer-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 700px) {
      .sn-footer-grid {
        grid-template-columns: 1fr;
      }

      .sn-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
      }
    }

  
    /* ── Footer desktop spacing refinement ── */
    @media (min-width: 1101px) {
      .sn-footer-grid {
        grid-template-columns: minmax(320px, 1.45fr) repeat(4, minmax(120px, .85fr)) !important;
        column-gap: 22px !important;
      }

      .sn-footer-grid > div:first-child {
        padding-right: 58px !important;
      }
    }

  
    /* ── Footer link font refinement ── */
    .sn-footer-grid ul a:not(.sn-footer-icon-link) {
      font-size: 11px !important;
    }

    .sn-footer-grid .sn-footer-icon-link:not([href*="wa.me"]) {
      font-size: 11px !important;
    }

  
    /* ── Cards subtle refinement: separators, soft elevation, mobile no-hover ── */

    .sn-card {
      box-shadow: 0 8px 22px rgba(13,17,23,.07) !important;
      transition: box-shadow .18s ease, border-color .18s ease !important;
    }

    .sn-card:hover {
      transform: none !important;
      box-shadow: 0 12px 28px rgba(13,17,23,.11) !important;
      border-color: rgba(13,17,23,.14) !important;
    }

    .sn-card .p-3 > p {
      margin: 0 !important;
      padding-bottom: 9px !important;
      border-bottom: 1px solid rgba(13,17,23,.075) !important;
    }

    .sn-card .p-3 > div.flex {
      margin-top: 0 !important;
      gap: 0 !important;
    }

    .sn-card .p-3 > div.flex > span {
      display: block !important;
      padding: 7px 0 !important;
      border-bottom: 1px solid rgba(13,17,23,.06) !important;
      line-height: 1.25 !important;
    }

    .sn-card .p-3 > div.flex > span:last-child {
      border-bottom: 0 !important;
      padding-bottom: 0 !important;
    }

    @media (hover: none), (pointer: coarse), (max-width: 1024px) {
      .sn-card:hover {
        transform: none !important;
        box-shadow: 0 8px 22px rgba(13,17,23,.07) !important;
        border-color: var(--sn-gray-border) !important;
      }

      .sn-card-title h2 a:hover,
      .sn-card:hover .carousel-slide,
      .carousel-slide:hover {
        filter: none !important;
      }
    }

  
    /* ── Mobile cards wider ── */
    @media (max-width: 640px) {
      main .grid {
        padding-left: 6px !important;
        padding-right: 6px !important;
      }

      main article.sn-card {
        width: 100% !important;
      }

      main .sn-card {
        margin-left: -6px !important;
        margin-right: -6px !important;
      }
    }

  
    /* ── Mobile listing cards wider: correct grid selector ── */
    @media (max-width: 640px) {
      section:has(#cards-grid) {
        padding-left: 8px !important;
        padding-right: 8px !important;
      }

      #cards-grid {
        gap: 18px !important;
      }

      #cards-grid .sn-card {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
      }
    }

  
    /* ── Final mobile listing width ── */
    @media (max-width: 640px) {
      .sn-listing-section {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
      }

      .sn-listing-section #cards-grid {
        width: 100% !important;
        gap: 18px !important;
      }

      .sn-listing-section #cards-grid .sn-card {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
      }
    }

  
    /* ── Home cards spacing / mobile width ── */

    .sn-home-listing-section {
      padding: 1rem;
    }

    .sn-home-cards-grid {
      gap: 4px;
    }

    @media (max-width: 640px) {
      .sn-home-listing-section {
        padding-left: 4px !important;
        padding-right: 4px !important;
        padding-top: 18px !important;
      }

      .sn-home-cards-grid {
        gap: 16px !important;
      }

      .sn-home-cards-grid .sn-card {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
      }
    }

  
    /* ── Cards stronger dark navy elevation ── */
    .sn-card {
      box-shadow:
        0 10px 24px rgba(13,17,23,.12),
        0 2px 6px rgba(13,17,23,.08) !important;
    }

    .sn-card:hover {
      transform: none !important;
      box-shadow:
        0 16px 36px rgba(13,17,23,.17),
        0 4px 10px rgba(13,17,23,.10) !important;
      border-color: rgba(13,17,23,.16) !important;
    }

    @media (hover: none), (pointer: coarse), (max-width: 1024px) {
      .sn-card,
      .sn-card:hover {
        transform: none !important;
        box-shadow:
          0 10px 24px rgba(13,17,23,.12),
          0 2px 6px rgba(13,17,23,.08) !important;
      }
    }

  
    /* ── Home simple pagination ── */
    #home-listings {
      scroll-margin-top: 92px;
    }

    .sn-home-pagination {
      margin: 24px auto 0;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      flex-wrap: wrap;
      font-family: 'Montserrat', sans-serif;
    }

    .sn-home-page-link {
      min-width: 118px;
      min-height: 38px;
      padding: 0 16px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(13,17,23,.14);
      background: #fff;
      color: #0d1117;
      text-decoration: none;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
      box-shadow: 0 8px 22px rgba(13,17,23,.08);
      transition: background .16s ease, color .16s ease, border-color .16s ease;
    }

    .sn-home-page-link:hover {
      background: #0d1117;
      color: #e8f0fe;
      border-color: #0d1117;
    }

    .sn-home-page-link.is-disabled {
      opacity: .32;
      pointer-events: none;
      box-shadow: none;
    }

    .sn-home-page-status {
      color: var(--sn-text-tertiary);
      font-size: 10px;
      letter-spacing: .10em;
      text-transform: uppercase;
    }

    @media (max-width: 640px) {
      .sn-home-pagination {
        gap: 10px;
        margin-top: 20px;
      }

      .sn-home-page-link {
        min-width: 104px;
        min-height: 36px;
        font-size: 10px;
        padding: 0 12px;
      }

      .sn-home-page-status {
        width: 100%;
        text-align: center;
        order: -1;
      }
    }


  
    /* ── Final home pagination spacing ── */
    .sn-home-cards-grid {
      margin-bottom: 28px !important;
    }

    .sn-home-pagination {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
      padding-top: 0 !important;
    }

    @media (max-width: 640px) {
      .sn-home-cards-grid {
        margin-bottom: 24px !important;
      }

      .sn-home-pagination {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
      }
    }

  
    /* ── Footer desktop links smaller, except WhatsApp/address ── */
    @media (min-width: 701px) {
      .sn-footer-grid ul a:not([href*="wa.me"]) {
        font-size: 10.3px !important;
        line-height: 1.32 !important;
      }

      .sn-footer-grid .sn-footer-icon-link:not([href*="wa.me"]) {
        font-size: 10.3px !important;
      }

      .sn-footer-grid .sn-footer-icon-link:not([href*="wa.me"]) svg {
        width: 14px !important;
        height: 14px !important;
      }
    }

  
    /* ── Footer desktop links tighter spacing ── */
    @media (min-width: 701px) {
      .sn-footer-grid ul {
        gap: 6px !important;
      }

      .sn-footer-grid li {
        line-height: 1.2 !important;
      }
    }
    /* ── Card carousel refinements: subtle arrows + safe drag ── */
    .sn-card .carousel-wrap {
      cursor: grab;
      touch-action: pan-y;
    }

    .sn-card .carousel-wrap:active {
      cursor: grabbing;
    }

    .sn-card .carousel-btn {
      width: 36px !important;
      height: 56px !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      color: #111111 !important;
      font-size: 34px !important;
      font-weight: 800 !important;
      line-height: 1 !important;
      opacity: .82;
      padding: 0 !important;
      transition: opacity .18s ease, transform .18s ease !important;
    }

    .sn-card .carousel-btn:hover {
      opacity: 1 !important;
      background: transparent !important;
      color: #000 !important;
      transform: translateY(-50%) scale(1.06) !important;
      box-shadow: none !important;
    }

    .sn-card .carousel-prev {
      left: 2px !important;
    }

    .sn-card .carousel-next {
      right: 2px !important;
    }

    .sn-card .carousel-dots {
      bottom: 7px !important;
      gap: 4px !important;
    }

    .sn-card .carousel-dot {
      width: 10px !important;
      height: 2px !important;
      background: rgba(255,255,255,.30) !important;
    }

    .sn-card .carousel-dot.active {
      width: 18px !important;
      background: rgba(255,255,255,.78) !important;
    }


    
    @media (hover: none), (pointer: coarse), (max-width: 1024px) {
      .sn-card .carousel-btn {
        width: 34px !important;
        height: 52px !important;
        opacity: .72 !important;
        background: transparent !important;
        color: #111111 !important;
        font-size: 32px !important;
        font-weight: 800 !important;
        box-shadow: none !important;
      }

      .sn-card .carousel-btn:hover {
        opacity: .72 !important;
        background: transparent !important;
        color: #111111 !important;
        transform: translateY(-50%) !important;
        box-shadow: none !important;
      }
    }


  
    /* ── Detail main carousel: drag + lightbox freer sizing ── */
    .carousel-wrap {
      touch-action: pan-y pinch-zoom;
    }

    .carousel-wrap[data-drag="true"] {
      cursor: grab;
      user-select: none;
      -webkit-user-select: none;
    }

    .carousel-wrap[data-drag="true"].is-dragging {
      cursor: grabbing;
    }

    .carousel-wrap[data-drag="true"] .carousel-slide img {
      -webkit-user-drag: none;
      user-drag: none;
    }

    .carousel-wrap.is-dragging .carousel-track {
      transition: none !important;
    }

    .lb-box {
      width: 95vw !important;
      height: 95vh !important;
      max-width: 95vw !important;
      max-height: 95vh !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
    }

    .lb-track {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      touch-action: pan-y pinch-zoom;
    }

    .lb-img {
      display: none;
      width: auto !important;
      height: auto !important;
      max-width: 100% !important;
      max-height: 100% !important;
      object-fit: contain !important;
      margin: 0 auto;
    }

    .lb-img.visible {
      display: block;
    }

  
    /* ── Lightbox interaction fix ── */
    .lb-overlay {
      cursor: zoom-out;
    }

    .lb-box,
    .lb-track {
      cursor: zoom-out;
    }

    .lb-img {
      cursor: grab;
      transition: transform .16s ease;
    }

    .lb-box.is-lb-dragging .lb-img.visible {
      cursor: grabbing;
      transition: none;
    }

    .lb-close,
    .lb-prev,
    .lb-next {
      cursor: pointer;
    }

  
    /* ── Lightbox final controls positioning ── */
    .lb-box {
      position: relative !important;
    }

    .lb-close {
      position: absolute !important;
      top: 8px !important;
      right: 10px !important;
      z-index: 10005 !important;
      width: auto !important;
      height: auto !important;
      padding: 0 !important;
      border: 0 !important;
      background: transparent !important;
      color: #ffffff !important;
      font-size: 42px !important;
      font-weight: 800 !important;
      line-height: 1 !important;
      text-shadow: 0 2px 12px rgba(0,0,0,.55) !important;
      cursor: pointer !important;
    }

    .lb-close:hover {
      color: #ffffff !important;
      background: transparent !important;
      transform: scale(1.06);
    }

    .lb-prev,
    .lb-next {
      z-index: 10004 !important;
      background: transparent !important;
      border: 0 !important;
      color: #ffffff !important;
      font-size: 58px !important;
      font-weight: 800 !important;
      padding: 0 !important;
      text-shadow: 0 2px 14px rgba(0,0,0,.65) !important;
      opacity: .78;
    }

    .lb-prev:hover,
    .lb-next:hover {
      background: transparent !important;
      opacity: 1;
    }

    @media (min-width: 1024px) {
      .lb-prev {
        left: 34px !important;
      }

      .lb-next {
        right: 34px !important;
      }

      .lb-overlay {
        cursor: default !important;
      }

      .lb-track {
        cursor: default !important;
      }

      .lb-img {
        cursor: grab !important;
      }

      .lb-box.is-lb-dragging .lb-img.visible {
        cursor: grabbing !important;
      }
    }

    @media (max-width: 1023px) {
      .lb-close {
        top: 6px !important;
        right: 8px !important;
        font-size: 38px !important;
      }

      .lb-prev,
      .lb-next {
        font-size: 46px !important;
      }

      .lb-prev {
        left: 14px !important;
      }

      .lb-next {
        right: 14px !important;
      }

      .lb-overlay {
        cursor: zoom-out !important;
      }
    }

  
    /* ── Lightbox close button near actual image ── */
    .lb-overlay {
      background: rgba(13,17,23,.98) !important;
    }

    .lb-track {
      background: #0d1117 !important;
    }

    .lb-close {
      position: fixed !important;
      z-index: 10008 !important;
      color: #ffffff !important;
      font-size: 48px !important;
      font-weight: 900 !important;
      line-height: .8 !important;
      text-shadow: 0 3px 16px rgba(0,0,0,.72) !important;
      background: transparent !important;
      border: 0 !important;
      padding: 0 !important;
      margin: 0 !important;
    }

    @media (min-width: 1024px) {
      .lb-prev {
        left: 72px !important;
      }

      .lb-next {
        right: 72px !important;
      }
    }

    @media (max-width: 1023px) {
      .lb-close {
        font-size: 44px !important;
      }
    }

  
    /* ── Lightbox restore background + X close near photo ── */
    .lb-overlay {
      background: rgba(13,17,23,.96) !important;
    }

    .lb-track {
      background: transparent !important;
    }

    

    @media (min-width: 1024px) {
      .lb-prev {
        left: 72px !important;
      }

      .lb-next {
        right: 72px !important;
      }
    }

  
    /* ── Lightbox X outside image final adjustment ── */
    .lb-overlay {
      background: rgba(13,17,23,.96) !important;
    }

    .lb-track {
      background: transparent !important;
    }

    


  
    /* ── Detail page H1 final adjustment ── */
    article h1.sn-detail-page-h1 {
      color: #0d1117 !important;
      margin: 0 !important;
      padding: 15px 16px 15px !important;
      text-align: left !important;

      /* mantém a linguagem visual anterior, só um pouco mais forte */
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 500 !important;
      letter-spacing: 0.1em !important;
      text-transform: uppercase !important;
      line-height: 1.35 !important;
    }

    @media (min-width: 768px) {
      article h1.sn-detail-page-h1 {
        padding-left: 16px !important;
        padding-right: 16px !important;
        padding-top: 18px !important;
        padding-bottom: 18px !important;
      }
    }

  
    /* ── Detail price/form refinement ── */
    .sn-detail-lead-card {
      border-radius: 0 !important;
      background: #ffffff !important;
      box-shadow:
        0 10px 24px rgba(13,17,23,.10),
        0 2px 6px rgba(13,17,23,.06) !important;
    }

    .sn-detail-lead-card .sn-price-block {
      border-radius: 0 !important;
    }

    .sn-price-eyebrow-badge {
      display: inline-flex !important;
      align-items: center !important;
      gap: 6px !important;
      width: auto !important;
      margin-bottom: 8px !important;
      padding: 3px 9px 3px 7px !important;
      border-radius: 2px !important;
      background: var(--sn-accent-dim) !important;
      border: 1px solid var(--sn-accent-border) !important;
      color: var(--sn-accent) !important;
      font-size: 8.5px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      line-height: 1 !important;
      text-transform: uppercase !important;
    }

    .sn-price-eyebrow-badge::before {
      content: '' !important;
      display: block !important;
      width: 4px !important;
      height: 4px !important;
      border-radius: 50% !important;
      background: var(--sn-accent) !important;
      flex: 0 0 auto !important;
    }

    .sn-detail-lead-card .sn-price-code {
      color: var(--sn-accent) !important;
      opacity: .92 !important;
      letter-spacing: .10em !important;
    }

    .sn-detail-form-panel {
      border-radius: 0 !important;
      background: #ffffff !important;
    }

    .sn-detail-form-panel h3 {
      margin: 0 0 15px !important;
      padding: 0 !important;
      color: #0d1117 !important;
      font-family: 'Montserrat', sans-serif !important;
      font-size: 15px !important;
      font-weight: 600 !important;
      line-height: 1.25 !important;
      letter-spacing: .01em !important;
      text-transform: none !important;
      text-align: left !important;
    }

    .sn-detail-form-panel form {
      margin-top: 0 !important;
    }

    @media (max-width: 767px) {
      .sn-detail-lead-card {
        box-shadow:
          0 8px 20px rgba(13,17,23,.09),
          0 2px 5px rgba(13,17,23,.05) !important;
      }

      .sn-detail-form-panel h3 {
        font-size: 14px !important;
      }
    }

  
    /* ── Detail price/form fine tuning ── */

    .sn-detail-lead-card .sn-price-block {
      padding-top: 1.05rem !important;
    }

    .sn-price-eyebrow-badge {
      min-height: 20px !important;
      padding: 5px 10px 5px 8px !important;
      margin-bottom: 12px !important;
      font-size: 8.5px !important;
      line-height: 1 !important;
    }

    .sn-price-eyebrow-badge::before {
      width: 5px !important;
      height: 5px !important;
    }

    .sn-detail-form-panel h3 {
      margin: 0 0 17px !important;
      padding: 2px 0 1px !important;
      color: #a8bfd8 !important;
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 500 !important;
      line-height: 1.3 !important;
      letter-spacing: .12em !important;
      text-transform: uppercase !important;
      text-align: left !important;
    }

    @media (max-width: 767px) {
      .sn-detail-lead-card .sn-price-block {
        padding-top: .95rem !important;
      }

      .sn-price-eyebrow-badge {
        margin-bottom: 10px !important;
      }

      .sn-detail-form-panel h3 {
        font-size: 10.5px !important;
        margin-bottom: 15px !important;
      }
    }

  
    /* ── Detail form final tuning ── */

    /* Ref abaixo do preço volta para branco gelo */
    .sn-detail-lead-card .sn-price-code {
      color: #e8f0fe !important;
      opacity: .78 !important;
    }

    /* VISITA OU ATENDIMENTO: cinza igual linguagem dos labels do formulário */
    .sn-detail-form-panel h3 {
      color: #4b5563 !important;
      text-transform: uppercase !important;
      font-size: 11px !important;
      font-weight: 500 !important;
      letter-spacing: .12em !important;
      line-height: 1.35 !important;
      margin: 0 0 17px !important;
      padding: 5px 0 4px !important;
      text-align: left !important;
    }

    /* Diminui espaço superior do bloco do preço */
    .sn-detail-lead-card .sn-price-block {
      padding-top: .85rem !important;
    }

    /* Fonte do preço maior no desktop */
    @media (min-width: 1024px) {
      .sn-detail-lead-card .sn-price-value {
        font-size: 29px !important;
        line-height: 1.12 !important;
      }
    }

    /* Tablet: formulário mais largo para não ficar apertado */
    @media (min-width: 768px) and (max-width: 1023px) {
      .sn-detail-aside {
        width: 36% !important;
        flex-basis: 36% !important;
      }

      .sn-detail-aside + .flex-1 {
        width: 64% !important;
        flex-basis: 64% !important;
      }

      .sn-detail-lead-card .sn-price-value {
        font-size: 24px !important;
      }
    }

    /* Celular: preço também maior */
    @media (max-width: 767px) {
      .sn-detail-lead-card .sn-price-value {
        font-size: 27px !important;
        line-height: 1.13 !important;
      }

      .sn-detail-form-panel h3 {
        font-size: 10.5px !important;
        padding-top: 5px !important;
        padding-bottom: 4px !important;
        margin-bottom: 16px !important;
      }
    }

  
    /* ── Detail attributes vertical list ── */
    .sn-detail-attributes {
      display: flex !important;
      flex-direction: column !important;
      gap: 0 !important;
      border-top: 1px solid rgba(13,17,23,.08);
      border-bottom: 1px solid rgba(13,17,23,.08);
    }

    .sn-detail-attributes > div {
      display: flex !important;
      align-items: baseline !important;
      justify-content: space-between !important;
      gap: 18px !important;
      padding: 11px 0 !important;
      border-bottom: 1px solid rgba(13,17,23,.06);
    }

    .sn-detail-attributes > div:last-child {
      border-bottom: 0 !important;
    }

    .sn-detail-attributes span {
      color: #8a95a3 !important;
      font-family: 'Montserrat', sans-serif !important;
      font-size: 10px !important;
      font-weight: 500 !important;
      letter-spacing: .11em !important;
      text-transform: uppercase !important;
      white-space: nowrap !important;
    }

    .sn-detail-attributes strong {
      color: #0d1117 !important;
      font-family: 'Montserrat', sans-serif !important;
      font-size: 13px !important;
      font-weight: 500 !important;
      line-height: 1.35 !important;
      text-align: right !important;
    }

    @media (max-width: 640px) {
      .sn-detail-attributes > div {
        padding: 10px 0 !important;
        gap: 12px !important;
      }

      .sn-detail-attributes strong {
        font-size: 12.5px !important;
      }
    }

  
    /* ── Detail attributes stacked label/value ── */
    .sn-detail-attributes > div {
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      justify-content: flex-start !important;
      gap: 4px !important;
      padding: 11px 0 !important;
      border-bottom: 1px solid rgba(13,17,23,.06) !important;
    }

    .sn-detail-attributes span {
      display: block !important;
      white-space: normal !important;
    }

    .sn-detail-attributes strong {
      display: block !important;
      text-align: left !important;
      font-size: 13px !important;
      line-height: 1.35 !important;
    }

    @media (max-width: 640px) {
      .sn-detail-attributes > div {
        padding: 10px 0 !important;
        gap: 3px !important;
      }
    }

  
    /* ── Detail attributes boxed vertical cards ── */
    .sn-detail-attributes {
      display: flex !important;
      flex-direction: column !important;
      gap: 10px !important;
      border-top: 0 !important;
      border-bottom: 0 !important;
    }

    .sn-detail-attributes > div {
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      justify-content: flex-start !important;
      gap: 5px !important;
      padding: 12px 14px !important;
      background: #ffffff !important;
      border: 1px solid rgba(13,17,23,.09) !important;
      box-shadow:
        0 7px 18px rgba(13,17,23,.045),
        0 1px 4px rgba(13,17,23,.035) !important;
    }

    .sn-detail-attributes > div:last-child {
      border-bottom: 1px solid rgba(13,17,23,.09) !important;
    }

    .sn-detail-attributes span {
      display: block !important;
      color: #8a95a3 !important;
      font-family: 'Montserrat', sans-serif !important;
      font-size: 9.5px !important;
      font-weight: 500 !important;
      letter-spacing: .12em !important;
      text-transform: uppercase !important;
      line-height: 1.2 !important;
      white-space: normal !important;
    }

    .sn-detail-attributes strong {
      display: block !important;
      color: #0d1117 !important;
      font-family: 'Montserrat', sans-serif !important;
      font-size: 13px !important;
      font-weight: 500 !important;
      line-height: 1.35 !important;
      text-align: left !important;
    }

    @media (max-width: 640px) {
      .sn-detail-attributes {
        gap: 8px !important;
      }

      .sn-detail-attributes > div {
        padding: 11px 12px !important;
      }

      .sn-detail-attributes strong {
        font-size: 12.5px !important;
      }
    }

  
    /* ── Detail section titles spacing ── */
    .sn-detail-section-separator {
      margin-top: 20px !important;
      margin-bottom: 10px !important;
      border-color: rgba(13,17,23,.10) !important;
    }

    .sn-detail-section-title {
      margin: 0 0 14px !important;
      color: #0d1117 !important;
      font-family: 'Montserrat', sans-serif !important;
      font-size: 13px !important;
      font-weight: 600 !important;
      line-height: 1.35 !important;
      letter-spacing: .08em !important;
      text-transform: uppercase !important;
    }

    @media (max-width: 640px) {
      .sn-detail-section-separator {
        margin-top: 18px !important;
        margin-bottom: 9px !important;
      }

      .sn-detail-section-title {
        font-size: 12.5px !important;
        margin-bottom: 12px !important;
      }
    }

  
    /* ── Detail section titles gray ice ── */
    .sn-detail-section-title {
      color: #8a95a3 !important;
    }

  
    /* ── Detail page bottom spacing before footer ── */
    article {
      padding-bottom: 44px !important;
    }

    @media (max-width: 640px) {
      article {
        padding-bottom: 34px !important;
      }
    }

  
    /* ── Detail form title gray ice only ── */
    .sn-detail-form-panel h3 {
      color: #8a95a3 !important;
    }

  
    /* ── Detail H1 smaller on mobile ── */
    @media (max-width: 640px) {
      article h1.sn-detail-page-h1 {
        font-size: 10px !important;
        letter-spacing: .095em !important;
        line-height: 1.32 !important;
      }
    }

  
    /* ── Carousel ratio for 1 mobile / 2 tablet / 2 desktop ── */
    @media (min-width: 640px) {
      .carousel-1-2-2 {
        aspect-ratio: 1500 / 563 !important;
      }
    }

    @media (min-width: 1024px) {
      .carousel-1-2-2 {
        aspect-ratio: 1500 / 563 !important;
      }
    }

  
    /* ── Orange neon badge for rental detail price ── */
    .sn-price-eyebrow-badge.sn-price-eyebrow-rent {
      color: #ff9f1c !important;
      background: rgba(255,159,28,.12) !important;
      border-color: rgba(255,159,28,.34) !important;
    }

    .sn-price-eyebrow-badge.sn-price-eyebrow-rent::before {
      background: #ff9f1c !important;
      box-shadow: 0 0 8px rgba(255,159,28,.65) !important;
    }

  
    /* ── Header hamburger colors ── */
    .sn-mobile-menu-btn {
      background: #3d5a75 !important;
      border-color: rgba(168,191,216,.22) !important;
    }

    .sn-mobile-menu-btn span {
      background: #a8bfd8 !important;
    }

    .sn-mobile-menu-btn:hover {
      background: #4a6a88 !important;
      border-color: rgba(168,191,216,.35) !important;
    }

  
    /* ── Header hamburger lines dark navy + thicker ── */
    .sn-mobile-menu-btn span {
      background: #0d1117 !important;
      height: 2px !important;
      border-radius: 999px !important;
    }

  
    /* ── Home AJAX pagination loading state ── */
    #home-listings.is-loading {
      opacity: .72;
      pointer-events: none;
      transition: opacity .04s ease;
    }

  
    /* ── Fix: global article bottom spacing must not affect cards ── */
    article.sn-card {
      padding-bottom: 0 !important;
    }

  
    /* ── Listing pages: home-like spacing + load more ── */
    .sn-grid-listing-section {
      padding-top: 22px !important;
      padding-bottom: 34px !important;
    }

    .sn-grid-listing-section > .mb-6 {
      margin-bottom: 18px !important;
    }

    .sn-grid-listing-section h1 {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 18px !important;
      line-height: 1.25 !important;
      font-weight: 600 !important;
      letter-spacing: .02em !important;
      color: #0d1117 !important;
    }

    .sn-listing-cards-grid {
      gap: 18px !important;
      margin-bottom: 26px !important;
    }

    .sn-load-more-wrap {
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 4px 0 10px;
    }

    .sn-load-more-btn {
      appearance: none;
      border: 1px solid rgba(13,17,23,.26);
      background: #0d1117;
      color: #f8fafc;
      min-width: 178px;
      height: 42px;
      padding: 0 22px;
      border-radius: 0;
      font-family: 'Montserrat', sans-serif;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .14em;
      text-transform: uppercase;
      cursor: pointer;
      transition: opacity .18s ease, transform .18s ease, background .18s ease;
    }

    .sn-load-more-btn:hover {
      background: #17202b;
      transform: translateY(-1px);
    }

    .sn-load-more-btn:disabled {
      cursor: wait;
      opacity: .62;
      transform: none;
    }

    #imoveis-grid.is-loading-more .sn-load-more-btn {
      opacity: .62;
    }

    @media (max-width: 640px) {
      .sn-grid-listing-section {
        padding-top: 14px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
      }

      .sn-grid-listing-section > .mb-6 {
        margin-bottom: 14px !important;
        padding-left: 2px !important;
        padding-right: 2px !important;
      }

      .sn-grid-listing-section h1 {
        font-size: 16px !important;
        line-height: 1.28 !important;
      }

      .sn-listing-cards-grid {
        gap: 18px !important;
        margin-bottom: 24px !important;
      }

      .sn-load-more-btn {
        width: calc(100% - 12px);
        max-width: 360px;
      }
    }

  
    /* ── Listing pages: 6 columns, home-like full width ── */
    .sn-grid-listing-section {
      width: 100% !important;
      max-width: none !important;
      padding-left: 16px !important;
      padding-right: 16px !important;
    }

    .sn-grid-listing-section #imoveis-grid {
      width: 100% !important;
      max-width: none !important;
    }

    .sn-grid-listing-section .sn-listing-cards-grid {
      grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
      gap: 16px !important;
      width: 100% !important;
    }

    @media (max-width: 1023px) {
      .sn-grid-listing-section .sn-listing-cards-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      }
    }

    @media (max-width: 640px) {
      .sn-grid-listing-section {
        padding-left: 6px !important;
        padding-right: 6px !important;
      }

      .sn-grid-listing-section .sn-listing-cards-grid {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
        gap: 18px !important;
      }
    }

  
    /* ── Listing pages: exact same card gap as home ── */
    .sn-grid-listing-section .sn-listing-cards-grid {
      gap: 4px !important;
      column-gap: 4px !important;
      row-gap: 4px !important;
      margin-bottom: 28px !important;
    }

    @media (max-width: 640px) {
      .sn-grid-listing-section .sn-listing-cards-grid {
        gap: 16px !important;
        column-gap: 16px !important;
        row-gap: 16px !important;
        margin-bottom: 24px !important;
      }
    }

  
    /* ── Guide listing cards: remove inherited detail-page article spacing ── */
    article.sn-guide-card {
      padding-bottom: 0 !important;
    }

    .sn-guide-card > .p-4 {
      padding-top: 1rem !important;
      padding-bottom: 1rem !important;
      flex: 0 0 auto !important;
    }

    .sn-guide-card > .p-4 h2,
    .sn-guide-card > .p-4 h3,
    .sn-guide-card > .p-4 p {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
    }

  
    /* ── Hub hero: Imóveis Brasil ── */
    .sn-hub-hero {
      position: relative;
      min-height: calc(100vh - 82px);
      display: flex;
      align-items: center;
      color: var(--sn-text-light);
      border-top: 1px solid var(--sn-dark-3);
      border-bottom: 1px solid var(--sn-dark-3);
      overflow: hidden;
    }

    .sn-hub-hero-imoveis-brasil {
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        url('/static/uploads/site/imoveis-no-brasil/hero-desktop.jpg') center center / cover no-repeat;
    }

    .sn-hub-hero-inner {
      width: 100%;
      max-width: 1380px;
      margin: 0 auto;
      padding: 54px 16px 52px;
      display: flex;
      flex-direction: column;
      gap: 34px;
    }

    .sn-hub-breadcrumb {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 7px;
      font-family: 'Montserrat', sans-serif;
      font-size: 10px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: rgba(232,240,254,.58);
    }

    .sn-hub-breadcrumb a {
      color: rgba(232,240,254,.70);
      text-decoration: none;
      transition: color .16s ease;
    }

    .sn-hub-breadcrumb a:hover {
      color: var(--sn-text-light);
    }

    .sn-hub-breadcrumb strong {
      color: var(--sn-accent);
      font-weight: 600;
    }

    .sn-hub-copy {
      max-width: 760px;
      text-align: left;
    }

    .sn-hub-copy h1 {
      margin: 0;
      font-family: 'Montserrat', sans-serif;
      font-size: clamp(30px, 4.2vw, 58px);
      line-height: 1.02;
      font-weight: 650;
      letter-spacing: .012em;
      color: var(--sn-text-light);
      text-transform: none;
    }

    .sn-hub-copy p {
      margin: 18px 0 0;
      max-width: 680px;
      font-size: clamp(14px, 1.15vw, 17px);
      line-height: 1.75;
      color: var(--sn-text-mid);
      text-transform: none;
      letter-spacing: 0;
    }

    .sn-hub-actions {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 14px;
      width: 100%;
      max-width: 900px;
    }

    .sn-hub-btn {
      min-height: 76px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 5px;
      padding: 14px 10px;
      background: rgba(232,240,254,.08);
      border: 1px solid rgba(232,240,254,.18);
      border-radius: 14px;
      color: var(--sn-text-light);
      text-decoration: none;
      text-align: center;
      backdrop-filter: blur(8px);
      transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
    }

    .sn-hub-btn:hover {
      transform: translateY(-3px);
      background: rgba(232,240,254,.13);
      border-color: rgba(232,240,254,.32);
      box-shadow: 0 14px 34px rgba(0,0,0,.32);
    }

    .sn-hub-btn span {
      display: block;
      font-family: 'Montserrat', sans-serif;
      font-size: 10px;
      line-height: 1.2;
      font-weight: 750;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--sn-text-light);
    }

    .sn-hub-btn small {
      display: block;
      font-size: 10px;
      line-height: 1.25;
      color: var(--sn-text-mid);
    }

    @media (max-width: 1024px) {
      .sn-hub-hero-imoveis-brasil {
        background:
          linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
          linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
          url('/static/uploads/site/imoveis-no-brasil/hero-tablet.jpg') center center / cover no-repeat;
      }

      .sn-hub-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-width: 620px;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero {
        min-height: calc(100vh - 82px);
        align-items: flex-end;
      }

      .sn-hub-hero-imoveis-brasil {
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          url('/static/uploads/site/imoveis-no-brasil/hero-mobile.jpg') center center / cover no-repeat;
      }

      .sn-hub-hero-inner {
        padding: 34px 16px 30px;
        gap: 24px;
      }

      .sn-hub-copy h1 {
        font-size: 30px;
        line-height: 1.08;
      }

      .sn-hub-copy p {
        font-size: 14px;
        line-height: 1.7;
      }

      .sn-hub-actions {
        grid-template-columns: 1fr;
        gap: 10px;
        max-width: none;
      }

      .sn-hub-btn {
        min-height: 58px;
        flex-direction: row;
        justify-content: flex-start;
        padding: 0 22px;
        border-radius: 12px;
      }
    }

  
    /* ── Imóveis Brasil hub: transitional page compact layout ── */
    .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
      max-width: 760px !important;
      min-height: calc(100vh - 82px) !important;
      justify-content: center !important;
      align-items: stretch !important;
      padding-top: 18px !important;
      padding-bottom: 42px !important;
      gap: 18px !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb {
      position: absolute !important;
      top: 18px !important;
      left: 50% !important;
      transform: translateX(-50%) !important;
      width: min(760px, calc(100% - 32px)) !important;
      margin: 0 !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      opacity: .86 !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-copy {
      max-width: none !important;
      text-align: left !important;
      margin: 0 0 2px !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-copy h1 {
      font-size: 14px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: rgba(232,240,254,.82) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-copy p {
      display: none !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-actions {
      width: 100% !important;
      max-width: none !important;
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin: 0 !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-btn {
      width: 100% !important;
      min-height: 48px !important;
      height: 48px !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      box-shadow: none !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-btn:hover {
      transform: translateX(3px) !important;
      background: rgba(232,240,254,.14) !important;
      border-color: rgba(232,240,254,.34) !important;
      box-shadow: 0 12px 28px rgba(0,0,0,.24) !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-btn span {
      font-size: 10px !important;
      line-height: 1 !important;
      font-weight: 500 !important;
      letter-spacing: .14em !important;
      text-align: left !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-btn i {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 24px !important;
      height: 24px !important;
      font-style: normal !important;
      font-size: 28px !important;
      line-height: 1 !important;
      color: var(--sn-accent) !important;
      opacity: .92 !important;
      transform: translateY(-1px) !important;
    }

    @media (max-width: 1024px) {
      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        width: 100% !important;
        max-width: 720px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        justify-content: flex-end !important;
        padding: 70px 16px 28px !important;
        gap: 14px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb {
        top: 14px !important;
        width: calc(100% - 32px) !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-btn {
        height: 48px !important;
        min-height: 48px !important;
        border-radius: 8px !important;
      }
    }

  
    /* ── Imóveis Brasil hub: top aligned transitional block ── */
    .sn-hub-hero-imoveis-brasil {
      align-items: flex-start !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: calc(100vh - 82px) !important;
      justify-content: flex-start !important;
      align-items: flex-start !important;
      padding: 18px 16px 52px !important;
      gap: 0 !important;
      margin: 0 auto !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      width: 100% !important;
      max-width: 760px !important;
      margin: 0 0 18px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-copy {
      width: 100% !important;
      max-width: 760px !important;
      margin: 0 0 14px !important;
      text-align: left !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: rgba(232,240,254,.84) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-actions {
      width: 100% !important;
      max-width: 760px !important;
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin: 0 !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-btn {
      width: 100% !important;
      min-height: 48px !important;
      height: 48px !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
    }

    @media (max-width: 1024px) {
      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        max-width: none !important;
        width: 100% !important;
        padding: 18px 18px 42px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb,
      .sn-hub-hero-imoveis-brasil .sn-hub-copy,
      .sn-hub-hero-imoveis-brasil .sn-hub-actions {
        max-width: none !important;
        width: 100% !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-imoveis-brasil {
        align-items: flex-start !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        justify-content: flex-start !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: none !important;
        min-height: calc(100vh - 82px) !important;
        padding: 14px 16px 28px !important;
        gap: 0 !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 16px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-copy {
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 12px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-copy h1 {
        font-size: 12px !important;
        line-height: 1.2 !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
        gap: 8px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }
    }

  
    /* ── Imóveis Brasil hub: final desktop/tablet/mobile positioning ── */

    .sn-hub-hero-imoveis-brasil {
      min-height: auto !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 18px 16px 72px !important;
      justify-content: flex-start !important;
      align-items: flex-start !important;
      gap: 0 !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb,
    .sn-hub-hero-imoveis-brasil .sn-hub-copy,
    .sn-hub-hero-imoveis-brasil .sn-hub-actions {
      width: 100% !important;
      max-width: 560px !important;
      margin-left: 0 !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin-top: 0 !important;
      margin-bottom: 150px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-copy {
      margin-bottom: 14px !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      border-radius: 8px !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
    }

    @media (max-width: 1024px) {
      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        max-width: none !important;
        width: 100% !important;
        padding: 16px 18px 48px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb,
      .sn-hub-hero-imoveis-brasil .sn-hub-copy,
      .sn-hub-hero-imoveis-brasil .sn-hub-actions {
        max-width: none !important;
        width: 100% !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb {
        margin-bottom: 120px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-imoveis-brasil {
        min-height: auto !important;
        align-items: flex-start !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        min-height: auto !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
        padding: 14px 16px 34px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        max-width: none !important;
        margin-bottom: 95px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-copy,
      .sn-hub-hero-imoveis-brasil .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }
    }

  
    /* ── Imóveis Brasil hub: corrected top layout, wide buttons, no huge bottom gap ── */

    .sn-hub-hero-imoveis-brasil {
      align-items: flex-start !important;
      min-height: calc(100vh - 82px - 210px) !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 18px 16px 38px !important;
      justify-content: flex-start !important;
      align-items: flex-start !important;
      gap: 0 !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      width: 100% !important;
      max-width: 760px !important;
      margin: 0 0 16px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-copy {
      width: 100% !important;
      max-width: 760px !important;
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-actions {
      width: 100% !important;
      max-width: 760px !important;
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin: 0 !important;
    }

    .sn-hub-hero-imoveis-brasil .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
    }

    @media (max-width: 1024px) {
      .sn-hub-hero-imoveis-brasil {
        min-height: calc(100vh - 82px - 190px) !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb,
      .sn-hub-hero-imoveis-brasil .sn-hub-copy,
      .sn-hub-hero-imoveis-brasil .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-imoveis-brasil {
        min-height: calc(100vh - 82px - 190px) !important;
        align-items: flex-start !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-copy {
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 12px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
        gap: 8px !important;
      }
    }

  
    /* ── Imóveis Brasil hub: reduce tablet/mobile hero height only ── */

    @media (max-width: 1024px) {
      .sn-hub-hero-imoveis-brasil {
        min-height: auto !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        min-height: auto !important;
        padding-bottom: 24px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-imoveis-brasil {
        min-height: auto !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        min-height: auto !important;
        padding-bottom: 22px !important;
      }
    }

  
    /* ── Imóveis Brasil hub: balanced tablet/mobile height ── */

    @media (max-width: 1024px) {
      .sn-hub-hero-imoveis-brasil {
        min-height: 68vh !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        min-height: auto !important;
        padding-bottom: 42px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-imoveis-brasil {
        min-height: 64vh !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        min-height: auto !important;
        padding-bottom: 36px !important;
      }
    }

  
    /* ── Imóveis Brasil hub: desktop centered block only ── */
    @media (min-width: 1025px) {
      .sn-hub-hero-imoveis-brasil {
        min-height: auto !important;
        align-items: flex-start !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        width: 100% !important;
        max-width: 1380px !important;
        margin: 0 auto !important;
        padding: 18px 16px 58px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb,
      .sn-hub-hero-imoveis-brasil .sn-hub-copy,
      .sn-hub-hero-imoveis-brasil .sn-hub-actions {
        width: 100% !important;
        max-width: 760px !important;
        margin-left: auto !important;
        margin-right: auto !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb {
        position: static !important;
        transform: none !important;
        margin-top: 0 !important;
        margin-bottom: 16px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }
    }

  
    /* ── Imóveis Brasil hub: desktop final spacing only ── */
    @media (min-width: 1025px) {
      .sn-hub-hero-imoveis-brasil {
        min-height: 68vh !important;
        align-items: flex-start !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        width: 100% !important;
        max-width: 1380px !important;
        margin: 0 auto !important;
        padding: 18px 16px 82px !important;
        align-items: center !important;
        justify-content: flex-start !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb,
      .sn-hub-hero-imoveis-brasil .sn-hub-copy,
      .sn-hub-hero-imoveis-brasil .sn-hub-actions {
        width: 100% !important;
        max-width: 620px !important;
        margin-left: auto !important;
        margin-right: auto !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-btn {
        width: 100% !important;
      }
    }

  
    /* ── Imóveis Brasil hub: desktop correction wider block and slightly lower height ── */
    @media (min-width: 1025px) {
      .sn-hub-hero-imoveis-brasil {
        min-height: 64vh !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        width: 100% !important;
        max-width: 1380px !important;
        margin: 0 auto !important;
        padding: 18px 16px 68px !important;
        align-items: center !important;
        justify-content: flex-start !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb,
      .sn-hub-hero-imoveis-brasil .sn-hub-copy,
      .sn-hub-hero-imoveis-brasil .sn-hub-actions {
        width: 100% !important;
        max-width: 760px !important;
        margin-left: auto !important;
        margin-right: auto !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-btn {
        width: 100% !important;
      }
    }

  
    /* ── Imóveis Brasil hub: desktop wider buttons block only ── */
    @media (min-width: 1025px) {
      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb,
      .sn-hub-hero-imoveis-brasil .sn-hub-copy,
      .sn-hub-hero-imoveis-brasil .sn-hub-actions {
        width: 100% !important;
        max-width: 980px !important;
        margin-left: auto !important;
        margin-right: auto !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-btn {
        width: 100% !important;
      }
    }

  
    /* ── Imóveis Brasil hub: desktop even wider buttons block only ── */
    @media (min-width: 1025px) {
      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb,
      .sn-hub-hero-imoveis-brasil .sn-hub-copy,
      .sn-hub-hero-imoveis-brasil .sn-hub-actions {
        width: 100% !important;
        max-width: 1120px !important;
        margin-left: auto !important;
        margin-right: auto !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-btn {
        width: 100% !important;
      }
    }

  
    /* ── Imóveis Brasil hub: desktop reduce header-to-breadcrumb spacing only ── */
    @media (min-width: 1025px) {
      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        padding-top: 8px !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-breadcrumb {
        margin-top: 0 !important;
        margin-bottom: 14px !important;
      }
    }

  
    /* ── Imóveis Brasil hub: desktop tiny breadcrumb spacing increase ── */
    @media (min-width: 1025px) {
      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        padding-top: 12px !important;
      }
    }

  
    /* ── Imóveis Brasil hub: tiny tablet height reduction only ── */
    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-imoveis-brasil {
        min-height: 64vh !important;
      }

      .sn-hub-hero-imoveis-brasil .sn-hub-hero-inner {
        padding-bottom: 34px !important;
      }
    }

  
    /* ── SANOME image logo ── */
    .sn-logo-img-link {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      text-decoration: none !important;
      height: 82px !important;
      color: transparent !important;
    }

    .sn-logo-img {
      display: block !important;
      width: auto !important;
      height: 44px !important;
      max-width: 190px !important;
      object-fit: contain !important;
    }

    .sn-footer-logo-img-link {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      text-decoration: none !important;
    }

    .sn-footer-logo-img {
      display: block !important;
      width: auto !important;
      height: 48px !important;
      max-width: 210px !important;
      object-fit: contain !important;
    }

    @media (max-width: 640px) {
      .sn-logo-img {
        height: 38px !important;
        max-width: 165px !important;
      }

      .sn-footer-logo-img {
        height: 42px !important;
        max-width: 180px !important;
      }
    }

  
    /* ── SANOME cropped logo sizing ── */
    .sn-logo-img {
      width: 184px !important;
      height: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
    }

    .sn-footer-logo-img {
      width: 205px !important;
      height: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
    }

    @media (max-width: 640px) {
      .sn-logo-img {
        width: 160px !important;
        height: auto !important;
      }

      .sn-footer-logo-img {
        width: 176px !important;
        height: auto !important;
      }
    }

  
    /* ── SANOME header logo final size/alignment ── */
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      padding-top: 0 !important;
      padding-bottom: 0 !important;
      line-height: 1 !important;
    }

    header .sn-logo-img {
      width: 168px !important;
      height: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      display: block !important;
      transform: translateY(2px) !important;
    }

    @media (max-width: 640px) {
      header .sn-logo-img {
        width: 148px !important;
        transform: translateY(1px) !important;
      }
    }

  
    /* ── SANOME header logo smaller and lower ── */
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      padding-top: 0 !important;
      padding-bottom: 0 !important;
      line-height: 1 !important;
      overflow: visible !important;
    }

    header .sn-logo-img {
      width: 140px !important;
      height: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      display: block !important;
      transform: translateY(7px) !important;
    }

    @media (max-width: 640px) {
      header .sn-logo-img {
        width: 126px !important;
        transform: translateY(6px) !important;
      }
    }

  
    /* ── SANOME header logo: taller visual proportion ── */
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      overflow: visible !important;
      padding-top: 0 !important;
      padding-bottom: 0 !important;
    }

    header .sn-logo-img {
      width: auto !important;
      height: 34px !important;
      max-width: 150px !important;
      max-height: none !important;
      object-fit: contain !important;
      display: block !important;
      transform: translateY(8px) !important;
    }

    @media (max-width: 640px) {
      header .sn-logo-img {
        width: auto !important;
        height: 30px !important;
        max-width: 135px !important;
        transform: translateY(7px) !important;
      }
    }

  
    /* ── SANOME header logo: stronger height, less flattened ── */
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      overflow: visible !important;
      padding-top: 0 !important;
      padding-bottom: 0 !important;
      line-height: 1 !important;
    }

    header .sn-logo-img {
      width: auto !important;
      height: 46px !important;
      max-width: 142px !important;
      max-height: none !important;
      object-fit: contain !important;
      display: block !important;
      transform: translateY(8px) !important;
    }

    @media (max-width: 640px) {
      header .sn-logo-img {
        width: auto !important;
        height: 40px !important;
        max-width: 126px !important;
        transform: translateY(7px) !important;
      }
    }

  
    /* ── SANOME final logo from cropped source file ── */
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      padding: 0 !important;
      margin: 0 !important;
      line-height: 1 !important;
      overflow: visible !important;
    }

    header .sn-logo-img {
      display: block !important;
      height: 44px !important;
      width: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      transform: translateY(2px) !important;
      margin: 0 !important;
    }

    .sn-footer-logo-img {
      display: block !important;
      height: 48px !important;
      width: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      margin: 0 !important;
    }

    @media (max-width: 640px) {
      header .sn-logo-img {
        height: 38px !important;
        width: auto !important;
        transform: translateY(1px) !important;
      }

      .sn-footer-logo-img {
        height: 42px !important;
        width: auto !important;
      }
    }

  
    /* ── SANOME header logo: final real image size override ── */
    header.sn-site-header .sn-logo-img-link,
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      padding: 0 !important;
      margin: 0 !important;
      overflow: visible !important;
      line-height: 0 !important;
    }

    header.sn-site-header .sn-logo-img,
    header .sn-logo-img {
      display: block !important;
      height: 58px !important;
      width: auto !important;
      max-width: none !important;
      min-width: 0 !important;
      max-height: none !important;
      object-fit: contain !important;
      margin: 0 !important;
      transform: translateY(1px) !important;
    }

    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        height: 48px !important;
        width: auto !important;
        max-width: none !important;
        max-height: none !important;
        transform: translateY(1px) !important;
      }
    }

  
    /* ── SANOME header logo: much bigger real image ── */
    header.sn-site-header .sn-logo-img-link,
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      padding: 0 !important;
      margin: 0 !important;
      overflow: visible !important;
      line-height: 0 !important;
    }

    header.sn-site-header .sn-logo-img,
    header .sn-logo-img {
      display: block !important;
      height: 72px !important;
      width: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      margin: 0 !important;
      transform: translateY(0) !important;
    }

    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        height: 58px !important;
        width: auto !important;
        max-width: none !important;
        max-height: none !important;
        transform: translateY(0) !important;
      }
    }

  
    /* ── SANOME header logo: taller and slightly narrower ── */
    header.sn-site-header .sn-logo-img-link,
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      padding: 0 !important;
      margin: 0 !important;
      overflow: visible !important;
      line-height: 0 !important;
    }

    header.sn-site-header .sn-logo-img,
    header .sn-logo-img {
      display: block !important;
      height: 80px !important;
      width: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      margin: 0 !important;
      transform: translateY(0) scaleX(.78) !important;
      transform-origin: left center !important;
    }

    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        height: 62px !important;
        width: auto !important;
        max-width: none !important;
        max-height: none !important;
        transform: translateY(0) scaleX(.78) !important;
        transform-origin: left center !important;
      }
    }

  
    /* ── SANOME mobile logo: more top spacing only ── */
    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        transform: translateY(7px) scaleX(.78) !important;
      }
    }

  
    /* ── SANOME mobile logo: final extra top spacing ── */
    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        transform: translateY(10px) scaleX(.78) !important;
      }
    }

  
    /* ── SANOME logo: final rule using corrected logo.png ── */
    header.sn-site-header .sn-logo-img-link,
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      padding: 0 !important;
      margin: 0 !important;
      overflow: visible !important;
      line-height: 0 !important;
    }

    header.sn-site-header .sn-logo-img,
    header .sn-logo-img {
      display: block !important;
      height: 70px !important;
      width: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      margin: 0 !important;
      transform: translateY(3px) !important;
      transform-origin: left center !important;
    }

    .sn-footer-logo-img {
      display: block !important;
      height: 54px !important;
      width: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      margin: 0 !important;
    }

    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        height: 58px !important;
        width: auto !important;
        max-width: none !important;
        max-height: none !important;
        transform: translateY(10px) !important;
      }

      .sn-footer-logo-img {
        height: 46px !important;
        width: auto !important;
      }
    }

  
    /* ── SANOME logo: refreshed cropped logo.png final override ── */
    header.sn-site-header .sn-logo-img-link,
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      padding: 0 !important;
      margin: 0 !important;
      overflow: visible !important;
      line-height: 0 !important;
    }

    header.sn-site-header .sn-logo-img,
    header .sn-logo-img {
      display: block !important;
      height: 80px !important;
      width: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      margin: 0 !important;
      transform: translateY(0) scaleX(.78) !important;
      transform-origin: left center !important;
    }

    .sn-footer-logo-img {
      display: block !important;
      height: 54px !important;
      width: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      margin: 0 !important;
    }

    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        height: 62px !important;
        width: auto !important;
        max-width: none !important;
        max-height: none !important;
        transform: translateY(10px) scaleX(.78) !important;
      }

      .sn-footer-logo-img {
        height: 46px !important;
        width: auto !important;
      }
    }

  
    /* ── SANOME logo: reduced size all devices ── */
    header.sn-site-header .sn-logo-img-link,
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      padding: 0 !important;
      margin: 0 !important;
      overflow: visible !important;
      line-height: 0 !important;
    }

    header.sn-site-header .sn-logo-img,
    header .sn-logo-img {
      display: block !important;
      height: 52px !important;
      width: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      margin: 0 !important;
      transform: translateY(2px) !important;
      transform-origin: left center !important;
    }

    .sn-footer-logo-img {
      display: block !important;
      height: 42px !important;
      width: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      margin: 0 !important;
    }

    @media (max-width: 1024px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        height: 48px !important;
        transform: translateY(2px) !important;
      }
    }

    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        height: 42px !important;
        transform: translateY(5px) !important;
      }

      .sn-footer-logo-img {
        height: 38px !important;
      }
    }

  
    /* ── SANOME logo: smaller without distortion ── */
    header.sn-site-header .sn-logo-img-link,
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      padding: 0 !important;
      margin: 0 !important;
      overflow: visible !important;
      line-height: 0 !important;
    }

    header.sn-site-header .sn-logo-img,
    header .sn-logo-img {
      display: block !important;
      height: 58px !important;
      width: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      margin: 0 !important;
      transform: translateY(2px) !important;
      transform-origin: left center !important;
    }

    .sn-footer-logo-img {
      display: block !important;
      height: 42px !important;
      width: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      margin: 0 !important;
      transform: none !important;
    }

    @media (max-width: 1024px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        height: 54px !important;
        width: auto !important;
        transform: translateY(2px) !important;
      }
    }

    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        height: 48px !important;
        width: auto !important;
        transform: translateY(8px) !important;
      }

      .sn-footer-logo-img {
        height: 38px !important;
      }
    }

  
    /* ── SANOME logo: clean final, no distortion ── */
    header.sn-site-header .sn-logo-img-link,
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      padding: 0 !important;
      margin: 0 !important;
      line-height: 0 !important;
      overflow: visible !important;
    }

    header.sn-site-header .sn-logo-img,
    header .sn-logo-img {
      display: block !important;
      width: auto !important;
      height: 56px !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-footer-logo-img {
      display: block !important;
      width: auto !important;
      height: 46px !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        width: auto !important;
        height: 46px !important;
        transform: none !important;
      }

      .sn-footer-logo-img {
        width: auto !important;
        height: 38px !important;
      }
    }

  
    /* ── SANOME logo final clean: no distortion ── */
    header.sn-site-header .sn-logo-img-link,
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      padding: 0 !important;
      margin: 0 !important;
      line-height: 0 !important;
      overflow: visible !important;
    }

    header.sn-site-header .sn-logo-img,
    header .sn-logo-img {
      display: block !important;
      height: 46px !important;
      width: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-footer-logo-img {
      display: block !important;
      height: 42px !important;
      width: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        height: 38px !important;
        width: auto !important;
        transform: translateY(4px) !important;
      }

      .sn-footer-logo-img {
        height: 36px !important;
      }
    }

  
    /* ── SANOME logo final: width based, no distortion, vertically centered ── */
    header.sn-site-header .sn-logo-img-link,
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      padding: 0 !important;
      margin: 0 !important;
      line-height: 0 !important;
      overflow: visible !important;
    }

    header.sn-site-header .sn-logo-img,
    header .sn-logo-img {
      display: block !important;
      width: 220px !important;
      height: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      margin: 0 !important;
      padding: 0 !important;
      transform: translateY(5px) !important;
      transform-origin: left center !important;
    }

    .sn-footer-logo-img {
      display: block !important;
      width: 190px !important;
      height: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    @media (max-width: 1024px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        width: 200px !important;
        height: auto !important;
        transform: translateY(5px) !important;
      }
    }

    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        width: 170px !important;
        height: auto !important;
        transform: translateY(10px) !important;
      }

      .sn-footer-logo-img {
        width: 160px !important;
        height: auto !important;
      }
    }

    /* ── Logo header: centrado verticalmente, sem distorções ── */
    header .sn-logo,
    header.sn-site-header .sn-logo-img-link,
    header .sn-logo-img-link {
      display: inline-flex !important;
      align-items: center !important;
      flex-direction: row !important;
      height: 82px !important;
      padding: 0 !important;
      margin: 0 !important;
      transform: none !important;
    }

    header.sn-site-header .sn-logo-img,
    header .sn-logo-img {
      display: block !important;
      width: 140px !important;
      height: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      transform: none !important;
      margin: 0 !important;
    }

    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        width: 118px !important;
        transform: none !important;
      }
    }

    /* ── Hamburguer só aparece em mobile ── */
    .sn-mobile-menu-btn {
      display: none !important;
    }
    @media (max-width: 980px) {
      .sn-mobile-menu-btn {
        display: inline-flex !important;
      }
    }

  
    /* ── Desktop menu button: show without affecting logo/header layout ── */
    @media (min-width: 981px) {
      .sn-header-inner {
        position: relative !important;
      }

      .sn-mobile-menu-btn {
        display: inline-flex !important;
        position: absolute !important;
        right: 16px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 5 !important;
      }
    }

  
    /* ── SANOME logo: FINAL clean using logo.png ── */
    header.sn-site-header .sn-logo-img-link,
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      padding: 0 !important;
      margin: 0 !important;
      line-height: 0 !important;
      overflow: visible !important;
      transform: none !important;
    }

    header.sn-site-header .sn-logo-img,
    header .sn-logo-img {
      display: block !important;
      width: 220px !important;
      height: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-footer-logo-img {
      display: block !important;
      width: 190px !important;
      height: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    @media (max-width: 1024px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        width: 200px !important;
        height: auto !important;
        transform: none !important;
      }
    }

    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        width: 170px !important;
        height: auto !important;
        transform: translateY(6px) !important;
      }

      .sn-footer-logo-img {
        width: 160px !important;
        height: auto !important;
      }
    }

  
    /* ── SANOME logo: smaller, proportional, vertically centered FINAL ── */
    header.sn-site-header .sn-logo-img-link,
    header .sn-logo-img-link {
      height: 82px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      padding: 0 !important;
      margin: 0 !important;
      line-height: 0 !important;
      overflow: visible !important;
      transform: none !important;
    }

    header.sn-site-header .sn-logo-img,
    header .sn-logo-img {
      display: block !important;
      width: 150px !important;
      height: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    @media (max-width: 1024px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        width: 140px !important;
        height: auto !important;
        transform: none !important;
      }
    }

    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        width: 120px !important;
        height: auto !important;
        transform: translateY(4px) !important;
      }
    }

  
    /* ── SANOME logo: mobile slightly bigger and higher ── */
    @media (max-width: 640px) {
      header.sn-site-header .sn-logo-img,
      header .sn-logo-img {
        width: 132px !important;
        height: auto !important;
        transform: translateY(2px) !important;
      }
    }

  
    /* ── SANOME footer logo: final left aligned above CRECI ── */
    .sn-footer-logo-img-link {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      width: auto !important;
      text-decoration: none !important;
      margin: 0 0 14px 0 !important;
      padding: 0 !important;
      line-height: 0 !important;
    }

    .sn-footer-logo-img {
      display: block !important;
      width: 150px !important;
      height: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    @media (max-width: 1024px) {
      .sn-footer-logo-img {
        width: 142px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-footer-logo-img {
        width: 130px !important;
      }
    }

  
    /* ── SANOME footer logo: replace text logo above CRECI ── */
    .sn-footer-logo-img-link {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      text-decoration: none !important;
      margin: 0 0 12px 0 !important;
      padding: 0 !important;
      line-height: 0 !important;
    }

    .sn-footer-logo-img {
      display: block !important;
      width: 150px !important;
      height: auto !important;
      max-width: none !important;
      max-height: none !important;
      object-fit: contain !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    @media (max-width: 1024px) {
      .sn-footer-logo-img {
        width: 142px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-footer-logo-img {
        width: 130px !important;
      }
    }

  
    /* ── SANOME footer logo: tighter spacing to CRECI ── */
    .sn-footer-logo-img-link {
      margin-bottom: 4px !important;
    }

    .sn-footer-creci {
      margin-top: 0 !important;
    }

    @media (max-width: 1024px) {
      .sn-footer-logo-img-link {
        margin-bottom: 4px !important;
      }

      .sn-footer-creci {
        margin-top: 0 !important;
      }
    }

    @media (max-width: 640px) {
      .sn-footer-logo-img-link {
        margin-bottom: 3px !important;
      }

      .sn-footer-creci {
        margin-top: 0 !important;
      }
    }

  
    /* ── SANOME footer logo: slightly more spacing to CRECI ── */
    .sn-footer-logo-img-link {
      margin-bottom: 8px !important;
    }

    .sn-footer-creci {
      margin-top: 0 !important;
    }

    @media (max-width: 1024px) {
      .sn-footer-logo-img-link {
        margin-bottom: 8px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-footer-logo-img-link {
        margin-bottom: 7px !important;
      }
    }

  
    /* ── SANOME footer logo: final balanced spacing to CRECI ── */
    .sn-footer-logo-img-link {
      margin-bottom: 11px !important;
    }

    .sn-footer-creci {
      margin-top: 0 !important;
    }

    @media (max-width: 1024px) {
      .sn-footer-logo-img-link {
        margin-bottom: 11px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-footer-logo-img-link {
        margin-bottom: 10px !important;
      }
    }

  
    /* ── SANOME footer logo: tiny final spacing plus to CRECI ── */
    .sn-footer-logo-img-link {
      margin-bottom: 14px !important;
    }

    .sn-footer-creci {
      margin-top: 0 !important;
    }

    @media (max-width: 1024px) {
      .sn-footer-logo-img-link {
        margin-bottom: 14px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-footer-logo-img-link {
        margin-bottom: 13px !important;
      }
    }

  
    /* ── SANOME footer logo: tiny left alignment adjustment ── */
    .sn-footer-logo-img-link {
      transform: translateX(-4px) !important;
    }

    @media (max-width: 1024px) {
      .sn-footer-logo-img-link {
        transform: translateX(-4px) !important;
      }
    }

    @media (max-width: 640px) {
      .sn-footer-logo-img-link {
        transform: translateX(-3px) !important;
      }
    }

  
    /* ── Hub Casas: same approved transitional layout as Imóveis Brasil ── */

    .sn-hub-hero-casas {
      position: relative !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        url('/static/uploads/site/casas/hero-desktop.jpg') center center / cover no-repeat !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid var(--sn-dark-3) !important;
      border-bottom: 1px solid var(--sn-dark-3) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-casas .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-casas .sn-hub-breadcrumb,
    .sn-hub-hero-casas .sn-hub-copy,
    .sn-hub-hero-casas .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-casas .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-casas .sn-hub-breadcrumb a,
    .sn-hub-hero-casas .sn-hub-breadcrumb span,
    .sn-hub-hero-casas .sn-hub-breadcrumb strong {
      color: rgba(232,240,254,.82) !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-casas .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-casas .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-casas .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-casas .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-casas .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.32) !important;
    }

    .sn-hub-hero-casas .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
    }

    .sn-hub-hero-casas .sn-hub-btn i {
      font-style: normal !important;
      font-size: 22px !important;
      line-height: 1 !important;
      opacity: .8 !important;
    }

    @media (min-width: 1025px) {
      .sn-hub-hero-casas {
        min-height: 64vh !important;
      }
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-casas {
        min-height: 64vh !important;
        background:
          linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
          linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
          url('/static/uploads/site/casas/hero-tablet.jpg') center center / cover no-repeat !important;
      }

      .sn-hub-hero-casas .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-casas .sn-hub-breadcrumb,
      .sn-hub-hero-casas .sn-hub-copy,
      .sn-hub-hero-casas .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-casas .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-casas {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          url('/static/uploads/site/casas/hero-celular.jpg') center center / cover no-repeat !important;
      }

      .sn-hub-hero-casas .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-casas .sn-hub-breadcrumb,
      .sn-hub-hero-casas .sn-hub-copy,
      .sn-hub-hero-casas .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-casas .sn-hub-breadcrumb {
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-casas .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-casas .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-casas .sn-hub-actions {
        gap: 8px !important;
      }

      .sn-hub-hero-casas .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }
    }

  
    /* ── Hub Casas: breadcrumb same blue/accent style as Imóveis Brasil ── */
    .sn-hub-hero-casas .sn-hub-breadcrumb a,
    .sn-hub-hero-casas .sn-hub-breadcrumb span,
    .sn-hub-hero-casas .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .92 !important;
    }

    .sn-hub-hero-casas .sn-hub-breadcrumb a:hover {
      color: var(--sn-text-light) !important;
      opacity: 1 !important;
    }

  
    /* ── Hub Casas: only current breadcrumb item blue ── */
    .sn-hub-hero-casas .sn-hub-breadcrumb a,
    .sn-hub-hero-casas .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-casas .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
    }

    .sn-hub-hero-casas .sn-hub-breadcrumb a:hover {
      color: var(--sn-text-light) !important;
      opacity: 1 !important;
    }

  
    /* ── Hub Casas SJC: same approved transitional layout ── */

    .sn-hub-hero-casas-sjc {
      position: relative !important;
      min-height: 64vh !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        url('/static/uploads/site/casas-em-sao-jose-dos-campos/hero-desktop.jpg') center center / cover no-repeat !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid var(--sn-dark-3) !important;
      border-bottom: 1px solid var(--sn-dark-3) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-casas-sjc .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-casas-sjc .sn-hub-breadcrumb,
    .sn-hub-hero-casas-sjc .sn-hub-copy,
    .sn-hub-hero-casas-sjc .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-casas-sjc .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-casas-sjc .sn-hub-breadcrumb a,
    .sn-hub-hero-casas-sjc .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-casas-sjc .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-casas-sjc .sn-hub-breadcrumb a:hover {
      color: var(--sn-text-light) !important;
      opacity: 1 !important;
    }

    .sn-hub-hero-casas-sjc .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-casas-sjc .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-casas-sjc .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-casas-sjc .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-casas-sjc .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.32) !important;
    }

    .sn-hub-hero-casas-sjc .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
    }

    .sn-hub-hero-casas-sjc .sn-hub-btn i {
      font-style: normal !important;
      font-size: 22px !important;
      line-height: 1 !important;
      opacity: .8 !important;
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-casas-sjc {
        min-height: 64vh !important;
        background:
          linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
          linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
          url('/static/uploads/site/casas-em-sao-jose-dos-campos/hero-tablet.jpg') center center / cover no-repeat !important;
      }

      .sn-hub-hero-casas-sjc .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-casas-sjc .sn-hub-breadcrumb,
      .sn-hub-hero-casas-sjc .sn-hub-copy,
      .sn-hub-hero-casas-sjc .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-casas-sjc .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-casas-sjc {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          url('/static/uploads/site/casas-em-sao-jose-dos-campos/hero-celular.jpg') center center / cover no-repeat !important;
      }

      .sn-hub-hero-casas-sjc .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-casas-sjc .sn-hub-breadcrumb,
      .sn-hub-hero-casas-sjc .sn-hub-copy,
      .sn-hub-hero-casas-sjc .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-casas-sjc .sn-hub-breadcrumb {
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-casas-sjc .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-casas-sjc .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-casas-sjc .sn-hub-actions {
        gap: 8px !important;
      }

      .sn-hub-hero-casas-sjc .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }
    }

  
    /* ── Transitional hub pages: solid blue background, no hero photos ── */
    .sn-hub-hero,
    .sn-hub-hero-imoveis-brasil,
    .sn-hub-hero-casas,
    .sn-hub-hero-casas-sjc {
      background: var(--sn-text-mid) !important;
      color: var(--sn-dark) !important;
      border-top: 1px solid rgba(13,17,23,.10) !important;
      border-bottom: 1px solid rgba(13,17,23,.10) !important;
    }

    .sn-hub-hero .sn-hub-breadcrumb a,
    .sn-hub-hero .sn-hub-breadcrumb span {
      color: rgba(13,17,23,.72) !important;
      opacity: 1 !important;
    }

    .sn-hub-hero .sn-hub-breadcrumb strong {
      color: var(--sn-dark) !important;
      opacity: 1 !important;
    }

    .sn-hub-hero .sn-hub-breadcrumb a:hover {
      color: var(--sn-dark) !important;
      opacity: 1 !important;
    }

    .sn-hub-hero .sn-hub-copy h1 {
      color: var(--sn-dark) !important;
    }

    .sn-hub-hero .sn-hub-btn {
      background: rgba(13,17,23,.10) !important;
      border: 1px solid rgba(13,17,23,.26) !important;
      color: var(--sn-dark) !important;
      box-shadow: none !important;
      backdrop-filter: none !important;
    }

    .sn-hub-hero .sn-hub-btn:hover {
      background: rgba(13,17,23,.16) !important;
      border-color: rgba(13,17,23,.28) !important;
      box-shadow: none !important;
    }

    .sn-hub-hero .sn-hub-btn span,
    .sn-hub-hero .sn-hub-btn i {
      color: var(--sn-dark) !important;
    }

  
    /* ── Transitional hub pages: blue base with home dark gradient overlay ── */
    .sn-hub-hero,
    .sn-hub-hero-imoveis-brasil,
    .sn-hub-hero-casas,
    .sn-hub-hero-casas-sjc {
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        var(--sn-text-mid) !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid rgba(232,240,254,.08) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
    }

    .sn-hub-hero .sn-hub-breadcrumb a,
    .sn-hub-hero .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .9 !important;
    }

    .sn-hub-hero .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .96 !important;
    }

    .sn-hub-hero .sn-hub-breadcrumb a:hover {
      color: var(--sn-text-light) !important;
      opacity: 1 !important;
    }

    .sn-hub-hero .sn-hub-copy h1 {
      color: var(--sn-text-light) !important;
    }

    .sn-hub-hero .sn-hub-btn {
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      box-shadow: none !important;
      backdrop-filter: blur(8px) !important;
    }

    .sn-hub-hero .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    }

    .sn-hub-hero .sn-hub-btn span,
    .sn-hub-hero .sn-hub-btn i {
      color: var(--sn-text-light) !important;
    }

    @media (max-width: 640px) {
      .sn-hub-hero,
      .sn-hub-hero-imoveis-brasil,
      .sn-hub-hero-casas,
      .sn-hub-hero-casas-sjc {
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          var(--sn-text-mid) !important;
      }
    }

  
    /* ── Transitional hub buttons: larger blue arrow ── */
    .sn-hub-hero .sn-hub-btn i,
    .sn-hub-btn i {
      color: var(--sn-accent) !important;
      opacity: 1 !important;
      font-size: 34px !important;
      line-height: 1 !important;
      font-weight: 900 !important;
      font-style: normal !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 26px !important;
      transform: translateY(-1px) !important;
    }

    .sn-hub-hero .sn-hub-btn:hover i,
    .sn-hub-btn:hover i {
      color: var(--sn-accent) !important;
      transform: translate(3px, -1px) !important;
    }

    @media (max-width: 640px) {
      .sn-hub-hero .sn-hub-btn i,
      .sn-hub-btn i {
        font-size: 32px !important;
        min-width: 24px !important;
      }
    }

  
    /* ── Hub Terrenos: same approved transitional layout ── */

    .sn-hub-hero-terrenos {
      position: relative !important;
      min-height: 64vh !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        var(--sn-text-mid) !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid rgba(232,240,254,.08) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-terrenos .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-terrenos .sn-hub-breadcrumb,
    .sn-hub-hero-terrenos .sn-hub-copy,
    .sn-hub-hero-terrenos .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-terrenos .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-terrenos .sn-hub-breadcrumb a,
    .sn-hub-hero-terrenos .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-terrenos .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-terrenos .sn-hub-breadcrumb a:hover {
      color: var(--sn-text-light) !important;
      opacity: 1 !important;
    }

    .sn-hub-hero-terrenos .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-terrenos .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-terrenos .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-terrenos .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-terrenos .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    }

    .sn-hub-hero-terrenos .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
    }

    .sn-hub-hero-terrenos .sn-hub-btn i {
      color: var(--sn-accent) !important;
      opacity: 1 !important;
      font-size: 34px !important;
      line-height: 1 !important;
      font-weight: 900 !important;
      font-style: normal !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 26px !important;
      transform: translateY(-1px) !important;
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-terrenos {
        min-height: 64vh !important;
      }

      .sn-hub-hero-terrenos .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-terrenos .sn-hub-breadcrumb,
      .sn-hub-hero-terrenos .sn-hub-copy,
      .sn-hub-hero-terrenos .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-terrenos .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-terrenos {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          var(--sn-text-mid) !important;
      }

      .sn-hub-hero-terrenos .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-terrenos .sn-hub-breadcrumb,
      .sn-hub-hero-terrenos .sn-hub-copy,
      .sn-hub-hero-terrenos .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-terrenos .sn-hub-breadcrumb {
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-terrenos .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-terrenos .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-terrenos .sn-hub-actions {
        gap: 8px !important;
      }

      .sn-hub-hero-terrenos .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }

      .sn-hub-hero-terrenos .sn-hub-btn i {
        font-size: 32px !important;
        min-width: 24px !important;
      }
    }

  
    /* ── Hub Terrenos SJC: same approved transitional layout ── */

    .sn-hub-hero-terrenos-sjc {
      position: relative !important;
      min-height: 64vh !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        var(--sn-text-mid) !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid rgba(232,240,254,.08) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-terrenos-sjc .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-terrenos-sjc .sn-hub-breadcrumb,
    .sn-hub-hero-terrenos-sjc .sn-hub-copy,
    .sn-hub-hero-terrenos-sjc .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-terrenos-sjc .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-terrenos-sjc .sn-hub-breadcrumb a,
    .sn-hub-hero-terrenos-sjc .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-terrenos-sjc .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-terrenos-sjc .sn-hub-breadcrumb a:hover {
      color: var(--sn-text-light) !important;
      opacity: 1 !important;
    }

    .sn-hub-hero-terrenos-sjc .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-terrenos-sjc .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-terrenos-sjc .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-terrenos-sjc .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-terrenos-sjc .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    }

    .sn-hub-hero-terrenos-sjc .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
    }

    .sn-hub-hero-terrenos-sjc .sn-hub-btn i {
      color: var(--sn-accent) !important;
      opacity: 1 !important;
      font-size: 34px !important;
      line-height: 1 !important;
      font-weight: 900 !important;
      font-style: normal !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 26px !important;
      transform: translateY(-1px) !important;
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-terrenos-sjc {
        min-height: 64vh !important;
      }

      .sn-hub-hero-terrenos-sjc .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-terrenos-sjc .sn-hub-breadcrumb,
      .sn-hub-hero-terrenos-sjc .sn-hub-copy,
      .sn-hub-hero-terrenos-sjc .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-terrenos-sjc .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-terrenos-sjc {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          var(--sn-text-mid) !important;
      }

      .sn-hub-hero-terrenos-sjc .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-terrenos-sjc .sn-hub-breadcrumb,
      .sn-hub-hero-terrenos-sjc .sn-hub-copy,
      .sn-hub-hero-terrenos-sjc .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-terrenos-sjc .sn-hub-breadcrumb {
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-terrenos-sjc .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-terrenos-sjc .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-terrenos-sjc .sn-hub-actions {
        gap: 8px !important;
      }

      .sn-hub-hero-terrenos-sjc .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }

      .sn-hub-hero-terrenos-sjc .sn-hub-btn i {
        font-size: 32px !important;
        min-width: 24px !important;
      }
    }

  
    /* ── Hub Mansões: same approved transitional layout ── */

    .sn-hub-hero-mansoes {
      position: relative !important;
      min-height: 64vh !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        var(--sn-text-mid) !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid rgba(232,240,254,.08) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-mansoes .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-mansoes .sn-hub-breadcrumb,
    .sn-hub-hero-mansoes .sn-hub-copy,
    .sn-hub-hero-mansoes .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-mansoes .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-mansoes .sn-hub-breadcrumb a,
    .sn-hub-hero-mansoes .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-mansoes .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-mansoes .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-mansoes .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-mansoes .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-mansoes .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-mansoes .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    }

    .sn-hub-hero-mansoes .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
    }

    .sn-hub-hero-mansoes .sn-hub-btn i {
      color: var(--sn-accent) !important;
      opacity: 1 !important;
      font-size: 34px !important;
      line-height: 1 !important;
      font-weight: 900 !important;
      font-style: normal !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 26px !important;
      transform: translateY(-1px) !important;
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-mansoes {
        min-height: 64vh !important;
      }

      .sn-hub-hero-mansoes .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-mansoes .sn-hub-breadcrumb,
      .sn-hub-hero-mansoes .sn-hub-copy,
      .sn-hub-hero-mansoes .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-mansoes .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-mansoes {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          var(--sn-text-mid) !important;
      }

      .sn-hub-hero-mansoes .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-mansoes .sn-hub-breadcrumb,
      .sn-hub-hero-mansoes .sn-hub-copy,
      .sn-hub-hero-mansoes .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-mansoes .sn-hub-breadcrumb {
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-mansoes .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-mansoes .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-mansoes .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }

      .sn-hub-hero-mansoes .sn-hub-btn i {
        font-size: 32px !important;
        min-width: 24px !important;
      }
    }

  
    /* ── Hub Mansões SJC: same approved transitional layout ── */

    .sn-hub-hero-mansoes-sjc {
      position: relative !important;
      min-height: 64vh !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        var(--sn-text-mid) !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid rgba(232,240,254,.08) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-mansoes-sjc .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-mansoes-sjc .sn-hub-breadcrumb,
    .sn-hub-hero-mansoes-sjc .sn-hub-copy,
    .sn-hub-hero-mansoes-sjc .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-mansoes-sjc .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-mansoes-sjc .sn-hub-breadcrumb a,
    .sn-hub-hero-mansoes-sjc .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-mansoes-sjc .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-mansoes-sjc .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-mansoes-sjc .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-mansoes-sjc .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-mansoes-sjc .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-mansoes-sjc .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    }

    .sn-hub-hero-mansoes-sjc .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
    }

    .sn-hub-hero-mansoes-sjc .sn-hub-btn i {
      color: var(--sn-accent) !important;
      opacity: 1 !important;
      font-size: 34px !important;
      line-height: 1 !important;
      font-weight: 900 !important;
      font-style: normal !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 26px !important;
      transform: translateY(-1px) !important;
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-mansoes-sjc {
        min-height: 64vh !important;
      }

      .sn-hub-hero-mansoes-sjc .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-mansoes-sjc .sn-hub-breadcrumb,
      .sn-hub-hero-mansoes-sjc .sn-hub-copy,
      .sn-hub-hero-mansoes-sjc .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-mansoes-sjc .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-mansoes-sjc {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          var(--sn-text-mid) !important;
      }

      .sn-hub-hero-mansoes-sjc .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-mansoes-sjc .sn-hub-breadcrumb,
      .sn-hub-hero-mansoes-sjc .sn-hub-copy,
      .sn-hub-hero-mansoes-sjc .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-mansoes-sjc .sn-hub-breadcrumb {
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-mansoes-sjc .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-mansoes-sjc .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-mansoes-sjc .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }

      .sn-hub-hero-mansoes-sjc .sn-hub-btn i {
        font-size: 32px !important;
        min-width: 24px !important;
      }
    }

  
    /* ── Hub Apartamentos: same approved transitional layout ── */

    .sn-hub-hero-apartamentos {
      position: relative !important;
      min-height: 64vh !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        var(--sn-text-mid) !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid rgba(232,240,254,.08) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-apartamentos .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-apartamentos .sn-hub-breadcrumb,
    .sn-hub-hero-apartamentos .sn-hub-copy,
    .sn-hub-hero-apartamentos .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-apartamentos .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-apartamentos .sn-hub-breadcrumb a,
    .sn-hub-hero-apartamentos .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-apartamentos .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-apartamentos .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-apartamentos .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-apartamentos .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-apartamentos .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-apartamentos .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    }

    .sn-hub-hero-apartamentos .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
    }

    .sn-hub-hero-apartamentos .sn-hub-btn i {
      color: var(--sn-accent) !important;
      opacity: 1 !important;
      font-size: 34px !important;
      line-height: 1 !important;
      font-weight: 900 !important;
      font-style: normal !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 26px !important;
      transform: translateY(-1px) !important;
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-apartamentos {
        min-height: 64vh !important;
      }

      .sn-hub-hero-apartamentos .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-apartamentos .sn-hub-breadcrumb,
      .sn-hub-hero-apartamentos .sn-hub-copy,
      .sn-hub-hero-apartamentos .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-apartamentos .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-apartamentos {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          var(--sn-text-mid) !important;
      }

      .sn-hub-hero-apartamentos .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-apartamentos .sn-hub-breadcrumb,
      .sn-hub-hero-apartamentos .sn-hub-copy,
      .sn-hub-hero-apartamentos .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-apartamentos .sn-hub-breadcrumb {
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-apartamentos .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-apartamentos .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-apartamentos .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }

      .sn-hub-hero-apartamentos .sn-hub-btn i {
        font-size: 32px !important;
        min-width: 24px !important;
      }
    }

  
    /* ── Hub Apartamentos SJC: same approved transitional layout ── */

    .sn-hub-hero-apartamentos-sjc {
      position: relative !important;
      min-height: 64vh !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        var(--sn-text-mid) !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid rgba(232,240,254,.08) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-apartamentos-sjc .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-apartamentos-sjc .sn-hub-breadcrumb,
    .sn-hub-hero-apartamentos-sjc .sn-hub-copy,
    .sn-hub-hero-apartamentos-sjc .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-apartamentos-sjc .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-apartamentos-sjc .sn-hub-breadcrumb a,
    .sn-hub-hero-apartamentos-sjc .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-apartamentos-sjc .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-apartamentos-sjc .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-apartamentos-sjc .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-apartamentos-sjc .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-apartamentos-sjc .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-apartamentos-sjc .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    }

    .sn-hub-hero-apartamentos-sjc .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
    }

    .sn-hub-hero-apartamentos-sjc .sn-hub-btn i {
      color: var(--sn-accent) !important;
      opacity: 1 !important;
      font-size: 34px !important;
      line-height: 1 !important;
      font-weight: 900 !important;
      font-style: normal !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 26px !important;
      transform: translateY(-1px) !important;
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-apartamentos-sjc {
        min-height: 64vh !important;
      }

      .sn-hub-hero-apartamentos-sjc .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-apartamentos-sjc .sn-hub-breadcrumb,
      .sn-hub-hero-apartamentos-sjc .sn-hub-copy,
      .sn-hub-hero-apartamentos-sjc .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-apartamentos-sjc .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-apartamentos-sjc {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          var(--sn-text-mid) !important;
      }

      .sn-hub-hero-apartamentos-sjc .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-apartamentos-sjc .sn-hub-breadcrumb,
      .sn-hub-hero-apartamentos-sjc .sn-hub-copy,
      .sn-hub-hero-apartamentos-sjc .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-apartamentos-sjc .sn-hub-breadcrumb {
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-apartamentos-sjc .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-apartamentos-sjc .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-apartamentos-sjc .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }

      .sn-hub-hero-apartamentos-sjc .sn-hub-btn i {
        font-size: 32px !important;
        min-width: 24px !important;
      }
    }

  
    /* ── Hub Fazendas: same approved transitional layout ── */

    .sn-hub-hero-fazendas {
      position: relative !important;
      min-height: 64vh !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        var(--sn-text-mid) !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid rgba(232,240,254,.08) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-fazendas .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-fazendas .sn-hub-breadcrumb,
    .sn-hub-hero-fazendas .sn-hub-copy,
    .sn-hub-hero-fazendas .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-fazendas .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-fazendas .sn-hub-breadcrumb a,
    .sn-hub-hero-fazendas .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-fazendas .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-fazendas .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-fazendas .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-fazendas .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-fazendas .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-fazendas .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    }

    .sn-hub-hero-fazendas .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
    }

    .sn-hub-hero-fazendas .sn-hub-btn i {
      color: var(--sn-accent) !important;
      opacity: 1 !important;
      font-size: 34px !important;
      line-height: 1 !important;
      font-weight: 900 !important;
      font-style: normal !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 26px !important;
      transform: translateY(-1px) !important;
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-fazendas {
        min-height: 64vh !important;
      }

      .sn-hub-hero-fazendas .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-fazendas .sn-hub-breadcrumb,
      .sn-hub-hero-fazendas .sn-hub-copy,
      .sn-hub-hero-fazendas .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-fazendas .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-fazendas {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          var(--sn-text-mid) !important;
      }

      .sn-hub-hero-fazendas .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-fazendas .sn-hub-breadcrumb,
      .sn-hub-hero-fazendas .sn-hub-copy,
      .sn-hub-hero-fazendas .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-fazendas .sn-hub-breadcrumb {
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-fazendas .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-fazendas .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-fazendas .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }

      .sn-hub-hero-fazendas .sn-hub-btn i {
        font-size: 32px !important;
        min-width: 24px !important;
      }
    }

  
    /* ── Hub Imóveis: same approved transitional layout ── */

    .sn-hub-hero-imoveis-menu {
      position: relative !important;
      min-height: 64vh !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        var(--sn-text-mid) !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid rgba(232,240,254,.08) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-imoveis-menu .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-imoveis-menu .sn-hub-breadcrumb,
    .sn-hub-hero-imoveis-menu .sn-hub-copy,
    .sn-hub-hero-imoveis-menu .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-imoveis-menu .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-imoveis-menu .sn-hub-breadcrumb a,
    .sn-hub-hero-imoveis-menu .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-imoveis-menu .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-imoveis-menu .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-imoveis-menu .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-imoveis-menu .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-imoveis-menu .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-imoveis-menu .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    }

    .sn-hub-hero-imoveis-menu .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
    }

    .sn-hub-hero-imoveis-menu .sn-hub-btn i {
      color: var(--sn-accent) !important;
      opacity: 1 !important;
      font-size: 34px !important;
      line-height: 1 !important;
      font-weight: 900 !important;
      font-style: normal !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 26px !important;
      transform: translateY(-1px) !important;
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-imoveis-menu {
        min-height: 64vh !important;
      }

      .sn-hub-hero-imoveis-menu .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-imoveis-menu .sn-hub-breadcrumb,
      .sn-hub-hero-imoveis-menu .sn-hub-copy,
      .sn-hub-hero-imoveis-menu .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-imoveis-menu .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-imoveis-menu {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          var(--sn-text-mid) !important;
      }

      .sn-hub-hero-imoveis-menu .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-imoveis-menu .sn-hub-breadcrumb,
      .sn-hub-hero-imoveis-menu .sn-hub-copy,
      .sn-hub-hero-imoveis-menu .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-imoveis-menu .sn-hub-breadcrumb {
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-imoveis-menu .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-imoveis-menu .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-imoveis-menu .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }

      .sn-hub-hero-imoveis-menu .sn-hub-btn i {
        font-size: 32px !important;
        min-width: 24px !important;
      }
    }

  
    /* ── Hub Imóveis SJC: same approved transitional layout ── */

    .sn-hub-hero-imoveis-sjc {
      position: relative !important;
      min-height: 64vh !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        var(--sn-text-mid) !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid rgba(232,240,254,.08) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-imoveis-sjc .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-imoveis-sjc .sn-hub-breadcrumb,
    .sn-hub-hero-imoveis-sjc .sn-hub-copy,
    .sn-hub-hero-imoveis-sjc .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-imoveis-sjc .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-imoveis-sjc .sn-hub-breadcrumb a,
    .sn-hub-hero-imoveis-sjc .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-imoveis-sjc .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-imoveis-sjc .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-imoveis-sjc .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-imoveis-sjc .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-imoveis-sjc .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-imoveis-sjc .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    }

    .sn-hub-hero-imoveis-sjc .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
    }

    .sn-hub-hero-imoveis-sjc .sn-hub-btn i {
      color: var(--sn-accent) !important;
      opacity: 1 !important;
      font-size: 34px !important;
      line-height: 1 !important;
      font-weight: 900 !important;
      font-style: normal !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 26px !important;
      transform: translateY(-1px) !important;
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-imoveis-sjc {
        min-height: 64vh !important;
      }

      .sn-hub-hero-imoveis-sjc .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-imoveis-sjc .sn-hub-breadcrumb,
      .sn-hub-hero-imoveis-sjc .sn-hub-copy,
      .sn-hub-hero-imoveis-sjc .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-imoveis-sjc .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-imoveis-sjc {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          var(--sn-text-mid) !important;
      }

      .sn-hub-hero-imoveis-sjc .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-imoveis-sjc .sn-hub-breadcrumb,
      .sn-hub-hero-imoveis-sjc .sn-hub-copy,
      .sn-hub-hero-imoveis-sjc .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-imoveis-sjc .sn-hub-breadcrumb {
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-imoveis-sjc .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-imoveis-sjc .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-imoveis-sjc .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }

      .sn-hub-hero-imoveis-sjc .sn-hub-btn i {
        font-size: 32px !important;
        min-width: 24px !important;
      }
    }

  
    /* ── Hub Casas em Condomínio: same approved transitional layout ── */

    .sn-hub-hero-casas-em-condominio {
      position: relative !important;
      min-height: 64vh !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        var(--sn-text-mid) !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid rgba(232,240,254,.08) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-casas-em-condominio .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-casas-em-condominio .sn-hub-breadcrumb,
    .sn-hub-hero-casas-em-condominio .sn-hub-copy,
    .sn-hub-hero-casas-em-condominio .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-casas-em-condominio .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-casas-em-condominio .sn-hub-breadcrumb a,
    .sn-hub-hero-casas-em-condominio .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-casas-em-condominio .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-casas-em-condominio .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-casas-em-condominio .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-casas-em-condominio .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-casas-em-condominio .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-casas-em-condominio .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    }

    .sn-hub-hero-casas-em-condominio .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
    }

    .sn-hub-hero-casas-em-condominio .sn-hub-btn i {
      color: var(--sn-accent) !important;
      opacity: 1 !important;
      font-size: 34px !important;
      line-height: 1 !important;
      font-weight: 900 !important;
      font-style: normal !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 26px !important;
      transform: translateY(-1px) !important;
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-casas-em-condominio {
        min-height: 64vh !important;
      }

      .sn-hub-hero-casas-em-condominio .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-casas-em-condominio .sn-hub-breadcrumb,
      .sn-hub-hero-casas-em-condominio .sn-hub-copy,
      .sn-hub-hero-casas-em-condominio .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-casas-em-condominio .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-casas-em-condominio {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          var(--sn-text-mid) !important;
      }

      .sn-hub-hero-casas-em-condominio .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-casas-em-condominio .sn-hub-breadcrumb,
      .sn-hub-hero-casas-em-condominio .sn-hub-copy,
      .sn-hub-hero-casas-em-condominio .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-casas-em-condominio .sn-hub-breadcrumb {
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-casas-em-condominio .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-casas-em-condominio .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-casas-em-condominio .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }

      .sn-hub-hero-casas-em-condominio .sn-hub-btn i {
        font-size: 32px !important;
        min-width: 24px !important;
      }
    }

  
    /* ── Hub Casas em Condomínio Urbanova: same approved transitional layout ── */

    .sn-hub-hero-casas-cond-urbanova {
      position: relative !important;
      min-height: 64vh !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        var(--sn-text-mid) !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid rgba(232,240,254,.08) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-casas-cond-urbanova .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-casas-cond-urbanova .sn-hub-breadcrumb,
    .sn-hub-hero-casas-cond-urbanova .sn-hub-copy,
    .sn-hub-hero-casas-cond-urbanova .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-casas-cond-urbanova .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-casas-cond-urbanova .sn-hub-breadcrumb a,
    .sn-hub-hero-casas-cond-urbanova .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-casas-cond-urbanova .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-casas-cond-urbanova .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-casas-cond-urbanova .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-casas-cond-urbanova .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-casas-cond-urbanova .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-casas-cond-urbanova .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    }

    .sn-hub-hero-casas-cond-urbanova .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
    }

    .sn-hub-hero-casas-cond-urbanova .sn-hub-btn i {
      color: var(--sn-accent) !important;
      opacity: 1 !important;
      font-size: 34px !important;
      line-height: 1 !important;
      font-weight: 900 !important;
      font-style: normal !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 26px !important;
      transform: translateY(-1px) !important;
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-casas-cond-urbanova {
        min-height: 64vh !important;
      }

      .sn-hub-hero-casas-cond-urbanova .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-casas-cond-urbanova .sn-hub-breadcrumb,
      .sn-hub-hero-casas-cond-urbanova .sn-hub-copy,
      .sn-hub-hero-casas-cond-urbanova .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-casas-cond-urbanova .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-casas-cond-urbanova {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          var(--sn-text-mid) !important;
      }

      .sn-hub-hero-casas-cond-urbanova .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-casas-cond-urbanova .sn-hub-breadcrumb,
      .sn-hub-hero-casas-cond-urbanova .sn-hub-copy,
      .sn-hub-hero-casas-cond-urbanova .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-casas-cond-urbanova .sn-hub-breadcrumb {
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-casas-cond-urbanova .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-casas-cond-urbanova .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-casas-cond-urbanova .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }

      .sn-hub-hero-casas-cond-urbanova .sn-hub-btn i {
        font-size: 32px !important;
        min-width: 24px !important;
      }
    }

  
    /* ── Hub Casas Urbanova: same approved transitional layout ── */

    .sn-hub-hero-casas-urbanova {
      position: relative !important;
      min-height: 64vh !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        var(--sn-text-mid) !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid rgba(232,240,254,.08) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-casas-urbanova .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-casas-urbanova .sn-hub-breadcrumb,
    .sn-hub-hero-casas-urbanova .sn-hub-copy,
    .sn-hub-hero-casas-urbanova .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-casas-urbanova .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-casas-urbanova .sn-hub-breadcrumb a,
    .sn-hub-hero-casas-urbanova .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-casas-urbanova .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-casas-urbanova .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-casas-urbanova .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-casas-urbanova .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-casas-urbanova .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-casas-urbanova .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    }

    .sn-hub-hero-casas-urbanova .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
    }

    .sn-hub-hero-casas-urbanova .sn-hub-btn i {
      color: var(--sn-accent) !important;
      opacity: 1 !important;
      font-size: 34px !important;
      line-height: 1 !important;
      font-weight: 900 !important;
      font-style: normal !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 26px !important;
      transform: translateY(-1px) !important;
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-casas-urbanova {
        min-height: 64vh !important;
      }

      .sn-hub-hero-casas-urbanova .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-casas-urbanova .sn-hub-breadcrumb,
      .sn-hub-hero-casas-urbanova .sn-hub-copy,
      .sn-hub-hero-casas-urbanova .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-casas-urbanova .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-casas-urbanova {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          var(--sn-text-mid) !important;
      }

      .sn-hub-hero-casas-urbanova .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-casas-urbanova .sn-hub-breadcrumb,
      .sn-hub-hero-casas-urbanova .sn-hub-copy,
      .sn-hub-hero-casas-urbanova .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-casas-urbanova .sn-hub-breadcrumb {
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-casas-urbanova .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-casas-urbanova .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-casas-urbanova .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }

      .sn-hub-hero-casas-urbanova .sn-hub-btn i {
        font-size: 32px !important;
        min-width: 24px !important;
      }
    }

  
    /* ── Hub Exclusividades: same approved transitional layout ── */

    .sn-hub-hero-exclusividades {
      position: relative !important;
      min-height: 64vh !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        var(--sn-text-mid) !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid rgba(232,240,254,.08) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-exclusividades .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-exclusividades .sn-hub-breadcrumb,
    .sn-hub-hero-exclusividades .sn-hub-copy,
    .sn-hub-hero-exclusividades .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-exclusividades .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-exclusividades .sn-hub-breadcrumb a,
    .sn-hub-hero-exclusividades .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-exclusividades .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-exclusividades .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-exclusividades .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-exclusividades .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-exclusividades .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-exclusividades .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    }

    .sn-hub-hero-exclusividades .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
    }

    .sn-hub-hero-exclusividades .sn-hub-btn i {
      color: var(--sn-accent) !important;
      opacity: 1 !important;
      font-size: 34px !important;
      line-height: 1 !important;
      font-weight: 900 !important;
      font-style: normal !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 26px !important;
      transform: translateY(-1px) !important;
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-exclusividades {
        min-height: 64vh !important;
      }

      .sn-hub-hero-exclusividades .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-exclusividades .sn-hub-breadcrumb,
      .sn-hub-hero-exclusividades .sn-hub-copy,
      .sn-hub-hero-exclusividades .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-exclusividades .sn-hub-breadcrumb {
        margin-bottom: 16px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-exclusividades {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          var(--sn-text-mid) !important;
      }

      .sn-hub-hero-exclusividades .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-exclusividades .sn-hub-breadcrumb,
      .sn-hub-hero-exclusividades .sn-hub-copy,
      .sn-hub-hero-exclusividades .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-exclusividades .sn-hub-breadcrumb {
        margin: 0 0 14px !important;
        font-size: 8px !important;
      }

      .sn-hub-hero-exclusividades .sn-hub-copy {
        margin-bottom: 12px !important;
      }

      .sn-hub-hero-exclusividades .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-exclusividades .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }

      .sn-hub-hero-exclusividades .sn-hub-btn i {
        font-size: 32px !important;
        min-width: 24px !important;
      }
    }

  
    /* ── Hub Guias: same approved transitional layout ── */

    .sn-hub-hero-guias {
      position: relative !important;
      min-height: 64vh !important;
      background:
        linear-gradient(90deg, rgba(13,17,23,.82) 0%, rgba(13,17,23,.54) 42%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.56) 0%, rgba(13,17,23,.26) 58%, rgba(13,17,23,.78) 100%),
        var(--sn-text-mid) !important;
      color: var(--sn-text-light) !important;
      border-top: 1px solid rgba(232,240,254,.08) !important;
      border-bottom: 1px solid rgba(232,240,254,.08) !important;
      align-items: flex-start !important;
    }

    .sn-hub-hero-guias .sn-hub-hero-inner {
      width: 100% !important;
      max-width: 1380px !important;
      min-height: auto !important;
      margin: 0 auto !important;
      padding: 12px 16px 68px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 0 !important;
    }

    .sn-hub-hero-guias .sn-hub-breadcrumb,
    .sn-hub-hero-guias .sn-hub-copy,
    .sn-hub-hero-guias .sn-hub-actions {
      width: 100% !important;
      max-width: 1120px !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .sn-hub-hero-guias .sn-hub-breadcrumb {
      position: static !important;
      transform: none !important;
      margin: 0 0 14px !important;
      font-size: 9px !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      opacity: .88 !important;
    }

    .sn-hub-hero-guias .sn-hub-breadcrumb a,
    .sn-hub-hero-guias .sn-hub-breadcrumb span {
      color: rgba(232,240,254,.82) !important;
      opacity: .88 !important;
      text-decoration: none !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-guias .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
      opacity: .95 !important;
      font-weight: 500 !important;
    }

    .sn-hub-hero-guias .sn-hub-copy {
      margin: 0 0 12px !important;
      text-align: left !important;
    }

    .sn-hub-hero-guias .sn-hub-copy h1 {
      font-size: 13px !important;
      line-height: 1.2 !important;
      font-weight: 600 !important;
      letter-spacing: .16em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-hub-hero-guias .sn-hub-actions {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
      margin-top: 0 !important;
    }

    .sn-hub-hero-guias .sn-hub-btn {
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      display: flex !important;
      flex-direction: row !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 0 18px 0 20px !important;
      border-radius: 8px !important;
      background: rgba(232,240,254,.08) !important;
      border: 1px solid rgba(232,240,254,.18) !important;
      color: var(--sn-text-light) !important;
      text-decoration: none !important;
      backdrop-filter: blur(8px) !important;
      transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    }

    .sn-hub-hero-guias .sn-hub-btn:hover {
      background: rgba(232,240,254,.13) !important;
      border-color: rgba(232,240,254,.32) !important;
      box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
    }

    .sn-hub-hero-guias .sn-hub-btn span {
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      color: var(--sn-text-light) !important;
    }

    .sn-hub-hero-guias .sn-hub-btn i {
      color: var(--sn-accent) !important;
      opacity: 1 !important;
      font-size: 34px !important;
      line-height: 1 !important;
      font-weight: 900 !important;
      font-style: normal !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-width: 26px !important;
      transform: translateY(-1px) !important;
    }

    @media (min-width: 641px) and (max-width: 1024px) {
      .sn-hub-hero-guias {
        min-height: 64vh !important;
      }

      .sn-hub-hero-guias .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 16px 18px 34px !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-guias .sn-hub-breadcrumb,
      .sn-hub-hero-guias .sn-hub-copy,
      .sn-hub-hero-guias .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero-guias {
        min-height: 64vh !important;
        background:
          linear-gradient(180deg, rgba(13,17,23,.72) 0%, rgba(13,17,23,.60) 48%, rgba(13,17,23,.84) 100%),
          var(--sn-text-mid) !important;
      }

      .sn-hub-hero-guias .sn-hub-hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 16px 30px !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
      }

      .sn-hub-hero-guias .sn-hub-breadcrumb,
      .sn-hub-hero-guias .sn-hub-copy,
      .sn-hub-hero-guias .sn-hub-actions {
        width: 100% !important;
        max-width: none !important;
      }

      .sn-hub-hero-guias .sn-hub-copy h1 {
        font-size: 12px !important;
      }

      .sn-hub-hero-guias .sn-hub-btn {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
      }

      .sn-hub-hero-guias .sn-hub-btn i {
        font-size: 32px !important;
        min-width: 24px !important;
      }
    }



    /* ── FINAL listing card specs tight to title ── */
    .sn-card .p-3 {
      padding-top: 7px !important;
    }

    .sn-card .p-3 > div.flex {
      margin-top: -3px !important;
    }
    /* ── FIM FINAL listing card specs tight to title ── */

    /* ── FINAL listing card specs dark army ── */
    .sn-card .p-3 > div.flex,
    .sn-card .p-3 > div.flex > span {
      color: var(--sn-dark) !important;
      border-color: rgba(13,17,23,.34) !important;
    }

    .sn-card .p-3 > div.flex svg,
    .sn-card .p-3 > div.flex i {
      color: var(--sn-dark) !important;
      opacity: .9 !important;
    }
    /* ── FIM FINAL listing card specs dark army ── */

    /* ── FINAL listing card neon price badges consolidated ── */
    .sn-card-title {
      padding-bottom: 13px !important;
    }

    .sn-card-title .sn-card-price-badge {
      display: inline-grid !important;
      grid-template-columns: 5px auto !important;
      align-items: center !important;
      justify-content: start !important;
      column-gap: 7px !important;
      width: fit-content !important;
      max-width: 100% !important;
      height: 24px !important;
      min-height: 24px !important;
      margin: 12px 0 4px !important;
      padding: 0 9px !important;
      box-sizing: border-box !important;
      border-radius: 2px !important;
      font-family: 'Montserrat', sans-serif !important;
      font-size: 11.8px !important;
      font-weight: 600 !important;
      line-height: 1 !important;
      letter-spacing: .035em !important;
      text-transform: uppercase !important;
      text-align: left !important;
      white-space: nowrap !important;
      vertical-align: middle !important;
    }

    .sn-card-title .sn-card-price-badge::before {
      content: '' !important;
      display: block !important;
      width: 5px !important;
      height: 5px !important;
      min-width: 5px !important;
      min-height: 5px !important;
      border-radius: 50% !important;
      margin: 0 !important;
      padding: 0 !important;
      align-self: center !important;
      justify-self: center !important;
    }

    .sn-card-title .sn-card-price-badge span {
      display: block !important;
      line-height: 1 !important;
      margin: 0 !important;
      padding: 0 !important;
      transform: translateY(0.5px) !important;
      align-self: center !important;
    }

    .sn-card-title .sn-card-price-badge-sale {
      color: var(--sn-accent) !important;
      background: var(--sn-accent-dim) !important;
      border: 1px solid var(--sn-accent-border) !important;
      box-shadow:
        inset 0 0 0 1px rgba(168,191,216,.06),
        0 0 10px rgba(168,191,216,.18) !important;
    }

    .sn-card-title .sn-card-price-badge-sale::before {
      background: var(--sn-accent) !important;
      box-shadow: 0 0 8px rgba(168,191,216,.75) !important;
    }

    .sn-card-title .sn-card-price-badge-rent {
      color: #ff9f1c !important;
      background: rgba(255,159,28,.12) !important;
      border: 1px solid rgba(255,159,28,.38) !important;
      box-shadow:
        inset 0 0 0 1px rgba(255,159,28,.06),
        0 0 10px rgba(255,159,28,.18) !important;
    }

    .sn-card-title .sn-card-price-badge-rent::before {
      background: #ff9f1c !important;
      box-shadow: 0 0 8px rgba(255,159,28,.75) !important;
    }

    .sn-card .p-3 > .sn-card-price-badge {
      display: none !important;
    }

    @media (min-width: 641px) and (max-width: 1023px) {
      .sn-card-title .sn-card-price-badge {
        height: 23px !important;
        min-height: 23px !important;
        font-size: 10.8px !important;
      }
    }

    @media (max-width: 640px) {
      .sn-card-title .sn-card-price-badge {
        grid-template-columns: 5px auto !important;
        column-gap: 6px !important;
        height: 24px !important;
        min-height: 24px !important;
        font-size: 13px !important;
        padding: 0 8px !important;
      }
    }
    /* ── FIM FINAL listing card neon price badges consolidated ── */









    /* ── FINAL transition hubs buttons behavior ── */
    .sn-hub-hero .sn-hub-btn,
    .sn-hub-hero .sn-hub-btn:hover,
    .sn-hub-hero .sn-hub-btn:focus,
    .sn-hub-hero .sn-hub-btn:active {
      transform: none !important;
      box-shadow: none !important;
    }

    .sn-hub-hero .sn-hub-btn {
      transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
    }

    @media (hover: hover) and (pointer: fine) {
      .sn-hub-hero .sn-hub-btn:hover {
        background: rgba(255,255,255,.16) !important;
        border-color: rgba(255,255,255,.38) !important;
      }
    }

    @media (max-width: 640px) {
      .sn-hub-hero .sn-hub-btn {
        justify-content: space-between !important;
        text-align: left !important;
      }

      .sn-hub-hero .sn-hub-btn span {
        flex: 1 1 auto !important;
        text-align: left !important;
      }

      .sn-hub-hero .sn-hub-btn i {
        flex: 0 0 auto !important;
      }
    }
    /* ── FIM FINAL transition hubs buttons behavior ── */


    /* ── FINAL mobile transition hubs scroll performance ── */
    @media (hover: none), (pointer: coarse), (max-width: 767px) {
      .sn-hub-hero .sn-hub-btn,
      .sn-hub-hero .sn-hub-btn:hover,
      .sn-hub-hero .sn-hub-btn:focus,
      .sn-hub-hero .sn-hub-btn:active {
        transform: none !important;
        transition: none !important;
        animation: none !important;
        box-shadow: none !important;
        filter: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
      }

      .sn-hub-hero .sn-hub-btn {
        touch-action: manipulation !important;
        -webkit-tap-highlight-color: transparent !important;
        will-change: auto !important;
      }
    }
    /* ── FIM FINAL mobile transition hubs scroll performance ── */

    /* ── FINAL listing top clean ice style ── */
    .sn-grid-listing-section {
      padding-top: 0 !important;
    }

    .sn-listing-hero {
      margin: 0 -1rem 24px !important;
      padding: 14px 16px 22px !important;
      background: var(--sn-gray-subtle) !important;
      border-bottom: 1px solid var(--sn-gray-border) !important;
      box-sizing: border-box !important;
    }

    .sn-listing-hero-inner {
      width: 100% !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .sn-listing-hero .sn-hub-breadcrumb {
      margin: 0 0 15px !important;
      padding: 0 !important;
    }

    .sn-listing-hero .sn-hub-breadcrumb a,
    .sn-listing-hero .sn-hub-breadcrumb span {
      color: var(--sn-text-tertiary) !important;
    }

    .sn-listing-hero .sn-hub-breadcrumb strong {
      color: var(--sn-accent) !important;
    }

    .sn-listing-hero .sn-hub-copy {
      margin: 0 !important;
      padding: 0 !important;
      max-width: none !important;
      text-align: left !important;
    }

    .sn-listing-hero .sn-hub-copy h1 {
      margin: 0 !important;
      padding: 0 !important;
      font-family: 'Montserrat', sans-serif !important;
      font-size: 15px !important;
      font-weight: 800 !important;
      line-height: 1.35 !important;
      letter-spacing: .13em !important;
      text-transform: uppercase !important;
      color: var(--sn-dark) !important;
    }

    .sn-listing-filter-row {
      margin-top: 16px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
    }

    @media (max-width: 640px) {
      .sn-listing-hero {
        margin: 0 -1rem 22px !important;
        padding: 12px 16px 20px !important;
      }

      .sn-listing-hero .sn-hub-breadcrumb {
        margin-bottom: 13px !important;
      }

      .sn-listing-hero .sn-hub-copy h1 {
        font-size: 13px !important;
        font-weight: 800 !important;
        letter-spacing: .12em !important;
      }
    }
    /* ── FIM FINAL listing top clean ice style ── */



    /* ── FINAL transition hubs blue gradient background only ── */
    .sn-hub-hero {
      background:
        linear-gradient(90deg, rgba(13,17,23,.64) 0%, rgba(13,17,23,.44) 44%, rgba(13,17,23,.38) 100%),
        linear-gradient(180deg, rgba(13,17,23,.42) 0%, rgba(13,17,23,.26) 52%, rgba(13,17,23,.60) 100%),
        var(--sn-text-mid) !important;
    }

    @media (max-width: 640px) {
      .sn-hub-hero {
        background:
          linear-gradient(180deg, rgba(13,17,23,.74) 0%, rgba(13,17,23,.58) 46%, rgba(13,17,23,.82) 100%),
          var(--sn-text-mid) !important;
      }
    }
    /* ── FIM FINAL transition hubs blue gradient background only ── */

  
/* ── FINAL home hero main buttons vertical layout ── */
.sn-home-hero .sn-home-hero-inner {
  gap: 14px !important;
}

.sn-home-hero .sn-home-hero-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin: 0 !important;
  max-width: 620px !important;
}

.sn-home-hero .sn-home-hero-copy h1,
.sn-home-hero .sn-home-hero-copy p,
.sn-home-hero .sn-home-whatsapp {
  margin: 0 !important;
}

.sn-home-hero .sn-home-hero-copy p {
  max-width: 560px !important;
}

.sn-home-hero .sn-home-whatsapp {
  display: inline-flex !important;
  padding: 12px 20px !important;
  min-height: initial !important;
  margin: 0 !important;
}

.sn-home-hero .sn-home-hero-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: min(50vw, 920px) !important;
  max-width: calc(100vw - 72px) !important;
  margin: 0 !important;
}

.sn-home-hero .sn-nav-btn {
  width: 100% !important;
  min-height: 52px !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: 28px 1fr 34px !important;
  align-items: center !important;
  column-gap: 9px !important;
  padding: 10px 18px !important;
  border-radius: 6px !important;
  text-align: left !important;
}

.sn-home-hero .sn-nav-icon {
  grid-column: 1 !important;
  width: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  align-self: center !important;
  transform: translateY(0) !important;
}

.sn-home-hero .sn-nav-icon svg {
  width: 23px !important;
  height: 23px !important;
  display: block !important;
}

.sn-home-hero .sn-nav-label {
  grid-column: 2 !important;
  display: flex !important;
  align-items: center !important;
  align-self: center !important;
  min-height: 28px !important;
  text-align: left !important;
  justify-self: start !important;
  color: var(--sn-text-mid) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: .055em !important;
  white-space: normal !important;
  text-transform: uppercase !important;
  transform: translateY(0) !important;
}

.sn-home-hero .sn-nav-arrow {
  grid-column: 3 !important;
  justify-self: end !important;
  align-self: center !important;
  color: var(--sn-accent) !important;
  opacity: 1 !important;
  font-size: 34px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  font-style: normal !important;
  font-family: Arial, sans-serif !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 28px !important;
  transform: translateY(-2px) !important;
}

.sn-home-hero .sn-nav-btn:hover .sn-nav-arrow {
  color: var(--sn-accent) !important;
  transform: translate(3px, -2px) !important;
}

@media (min-width: 1100px) {
  .sn-home-hero .sn-home-hero-inner {
    gap: 14px !important;
  }

  .sn-home-hero .sn-home-hero-actions {
    width: min(50vw, 920px) !important;
  }
}

@media (max-width: 900px) {
  .sn-home-hero .sn-home-hero-inner {
    gap: 14px !important;
  }

  .sn-home-hero .sn-home-hero-copy {
    gap: 14px !important;
    max-width: 100% !important;
  }

  .sn-home-hero .sn-home-whatsapp {
    padding: 12px 20px !important;
    min-height: initial !important;
    margin: 0 !important;
  }

  .sn-home-hero .sn-home-hero-actions {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    gap: 10px !important;
  }

  .sn-home-hero .sn-nav-btn {
    min-height: 56px !important;
    grid-template-columns: 30px 1fr 34px !important;
    column-gap: 9px !important;
    padding: 11px 18px !important;
    border-radius: 6px !important;
  }

  .sn-home-hero .sn-nav-label {
    color: var(--sn-text-mid) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .055em !important;
  }

  .sn-home-hero .sn-nav-arrow {
    color: var(--sn-accent) !important;
    font-size: 32px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    font-style: normal !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 28px !important;
    transform: translateY(-2px) !important;
  }
}





/* ── FINAL home WhatsApp external spacing only ── */
.sn-home-hero .sn-home-hero-copy {
  gap: 18px !important;
}

.sn-home-hero .sn-home-hero-actions {
  margin-top: 18px !important;
}

.sn-home-hero .sn-home-whatsapp {
  padding: 12px 20px !important;
  min-height: initial !important;
  height: auto !important;
  margin: 0 !important;
}


/* ── FINAL home anchor to WhatsApp spacing ── */
.sn-home-hero .sn-home-hero-copy {
  gap: 22px !important;
}

.sn-home-hero .sn-home-hero-copy p {
  margin-bottom: 0 !important;
}

.sn-home-hero .sn-home-whatsapp {
  margin-top: 0 !important;
}


/* ── FINAL home H1 to anchor spacing ── */
.sn-home-hero .sn-home-hero-copy h1 {
  margin-bottom: -4px !important;
}

.sn-home-hero .sn-home-hero-copy p {
  margin-top: 0 !important;
}


/* ── FINAL desktop anchor to WhatsApp spacing slight plus ── */
@media (min-width: 901px) {
  .sn-home-hero .sn-home-hero-copy {
    gap: 25px !important;
  }
}


/* ── FINAL tablet H1 to anchor spacing slight reduction ── */
@media (min-width: 641px) and (max-width: 900px) {
  .sn-home-hero .sn-home-hero-copy h1 {
    margin-bottom: -8px !important;
  }

  .sn-home-hero .sn-home-hero-copy p {
    margin-top: 0 !important;
  }
}


/* ── FINAL mobile anchor to WhatsApp spacing slight plus ── */
@media (max-width: 640px) {
  .sn-home-hero .sn-home-hero-copy {
    gap: 25px !important;
  }
}


/* ── FINAL desktop H1 to anchor spacing slight reduction ── */
@media (min-width: 901px) {
  .sn-home-hero .sn-home-hero-copy h1 {
    margin-bottom: -7px !important;
  }

  .sn-home-hero .sn-home-hero-copy p {
    margin-top: 0 !important;
  }
}


/* ── FINAL desktop main buttons width minus 20 percent ── */
@media (min-width: 901px) {
  .sn-home-hero .sn-home-hero-actions {
    width: min(40vw, 736px) !important;
    max-width: calc(100vw - 72px) !important;
  }
}


/* ── FINAL desktop main buttons font and icons slight plus ── */
@media (min-width: 901px) {
  .sn-home-hero .sn-nav-icon {
    width: 31px !important;
    height: 31px !important;
  }

  .sn-home-hero .sn-nav-icon svg {
    width: 26px !important;
    height: 26px !important;
  }

  .sn-home-hero .sn-nav-label {
    font-size: 15px !important;
  }
}


/* ── FINAL desktop main buttons 2 columns only ── */
@media (min-width: 901px) {
  .sn-home-hero .sn-home-hero-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* ── FINAL mobile H1 to anchor spacing slight reduction ── */
@media (max-width: 640px) {
  .sn-home-hero .sn-home-hero-copy h1 {
    margin-bottom: -6px !important;
  }

  .sn-home-hero .sn-home-hero-copy p {
    margin-top: 0 !important;
  }
}


/* ── FINAL VERIFIED home maps carousel white arrows and drag ── */
.sn-home-maps-section .sn-home-maps-carousel {
  touch-action: pan-y !important;
}

.sn-home-maps-section .sn-home-maps-track {
  cursor: grab !important;
  user-select: none !important;
  will-change: transform !important;
}

.sn-home-maps-section .sn-home-maps-track.is-dragging {
  cursor: grabbing !important;
}

.sn-home-maps-section .sn-home-maps-slide,
.sn-home-maps-section .sn-home-maps-slide img {
  user-select: none !important;
  -webkit-user-drag: none !important;
}

.sn-home-maps-section .sn-home-maps-btn,
.sn-home-maps-section button.sn-home-maps-btn {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  color: #fff !important;
  width: 48px !important;
  height: 76px !important;
  border-radius: 0 !important;
  font-size: 66px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-shadow: 0 3px 14px rgba(0,0,0,.60) !important;
  opacity: .98 !important;
  padding: 0 !important;
}

.sn-home-maps-section .sn-home-maps-btn:hover,
.sn-home-maps-section button.sn-home-maps-btn:hover {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: #fff !important;
  opacity: 1 !important;
}

.sn-home-maps-section .sn-home-maps-prev {
  left: 18px !important;
}

.sn-home-maps-section .sn-home-maps-next {
  right: 18px !important;
}

@media (max-width: 900px) {
  .sn-home-maps-section .sn-home-maps-btn,
  .sn-home-maps-section button.sn-home-maps-btn {
    width: 40px !important;
    height: 64px !important;
    font-size: 56px !important;
  }

  .sn-home-maps-section .sn-home-maps-prev {
    left: 10px !important;
  }

  .sn-home-maps-section .sn-home-maps-next {
    right: 10px !important;
  }
}


/* ── FINAL tablet/desktop header to home H1 spacing slight reduction ── */
@media (min-width: 641px) {
  .sn-home-hero {
    padding-top: 22px !important;
  }
}


/* ── FINAL desktop header to home H1 spacing slight increase ── */
@media (min-width: 901px) {
  .sn-home-hero {
    padding-top: 28px !important;
  }
}


/* ── FINAL single page attributes 10 fixed slots ── */
.sn-detail-attrs-fixed-10 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(5, minmax(72px, auto)) !important;
  grid-auto-flow: column !important;
  gap: 12px !important;
}

.sn-detail-attrs-fixed-10 > div,
.sn-detail-attrs-fixed-10 .sn-detail-attr-slot {
  min-height: 72px !important;
  box-sizing: border-box !important;
}

.sn-detail-attrs-fixed-10 .sn-detail-attr-slot {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.sn-detail-attrs-fixed-10 .sn-detail-attr-slot-empty {
  visibility: visible !important;
}

@media (max-width: 640px) {
  .sn-detail-attrs-fixed-10 {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
  }

  .sn-detail-attrs-fixed-10 .sn-detail-attr-slot-empty {
    display: none !important;
  }
}


/* ── FINAL single page attributes hide empty slots and auto width ── */
.sn-detail-attrs-fixed-10 .sn-detail-attr-slot-empty {
  display: none !important;
}

.sn-detail-attrs-fixed-10.sn-detail-attrs-one-col {
  grid-template-columns: 1fr !important;
  grid-template-rows: none !important;
  grid-auto-flow: row !important;
  width: 100% !important;
}

.sn-detail-attrs-fixed-10.sn-detail-attrs-two-col {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  grid-auto-flow: row !important;
}

@media (max-width: 640px) {
  .sn-detail-attrs-fixed-10,
  .sn-detail-attrs-fixed-10.sn-detail-attrs-one-col,
  .sn-detail-attrs-fixed-10.sn-detail-attrs-two-col {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
  }
}


/* ── FINAL single page attributes one column full width when <=5 ── */
.sn-detail-attrs-fixed-10 .sn-detail-attr-slot-empty {
  display: none !important;
}

.sn-detail-attrs-fixed-10.sn-detail-attrs-one-col {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: none !important;
  grid-auto-flow: row !important;
  width: 100% !important;
  max-width: 100% !important;
}

.sn-detail-attrs-fixed-10.sn-detail-attrs-one-col > div,
.sn-detail-attrs-fixed-10.sn-detail-attrs-one-col .sn-detail-attr-slot {
  width: 100% !important;
  max-width: 100% !important;
  grid-column: 1 / -1 !important;
}

.sn-detail-attrs-fixed-10.sn-detail-attrs-two-col {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  grid-auto-flow: row !important;
  width: 100% !important;
}

@media (max-width: 640px) {
  .sn-detail-attrs-fixed-10,
  .sn-detail-attrs-fixed-10.sn-detail-attrs-one-col,
  .sn-detail-attrs-fixed-10.sn-detail-attrs-two-col {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
    width: 100% !important;
  }

  .sn-detail-attrs-fixed-10 > div,
  .sn-detail-attrs-fixed-10 .sn-detail-attr-slot {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
}


/* ── FINAL terrain/sparse single attributes full width ── */
.sn-detail-attrs-fixed-10.sn-detail-attrs-one-col,
.sn-detail-attrs-fixed-10.sn-detail-attrs-one-col.sn-detail-attributes {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: none !important;
  grid-auto-flow: row !important;
  width: 100% !important;
  max-width: 100% !important;
}

.sn-detail-attrs-fixed-10.sn-detail-attrs-one-col > div,
.sn-detail-attrs-fixed-10.sn-detail-attrs-one-col .sn-detail-attr-slot {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.sn-detail-attrs-fixed-10 .sn-detail-attr-slot-empty {
  display: none !important;
}


/* ── FINAL mobile single attributes 2 columns when applicable ── */
@media (max-width: 640px) {
  .sn-detail-attrs-fixed-10.sn-detail-attrs-two-col,
  .sn-detail-attrs-fixed-10:not(.sn-detail-attrs-one-col) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
  }

  .sn-detail-attrs-fixed-10.sn-detail-attrs-one-col {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .sn-detail-attrs-fixed-10 .sn-detail-attr-slot-empty {
    display: none !important;
  }

  .sn-detail-attrs-fixed-10 .sn-detail-attr-slot {
    min-height: 68px !important;
  }
}


/* ── FINAL single attrs mobile 2 columns except terrain/farm ── */
.sn-detail-attrs-fixed-10 .sn-detail-attr-slot-empty {
  display: none !important;
}

.sn-detail-attrs-fixed-10.sn-detail-attrs-one-col {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: none !important;
  grid-auto-flow: row !important;
  width: 100% !important;
  max-width: 100% !important;
}

.sn-detail-attrs-fixed-10.sn-detail-attrs-one-col > div,
.sn-detail-attrs-fixed-10.sn-detail-attrs-one-col .sn-detail-attr-slot {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.sn-detail-attrs-fixed-10.sn-detail-attrs-two-col,
.sn-detail-attrs-fixed-10:not(.sn-detail-attrs-one-col) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  grid-auto-flow: row !important;
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 640px) {
  .sn-detail-attrs-fixed-10.sn-detail-attrs-two-col,
  .sn-detail-attrs-fixed-10:not(.sn-detail-attrs-one-col) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .sn-detail-attrs-fixed-10.sn-detail-attrs-one-col {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .sn-detail-attrs-fixed-10 .sn-detail-attr-slot {
    min-height: 66px !important;
  }
}

/* ── FINAL remove mobile blue tap highlight on links/buttons ── */
a,
button,
[role="button"],
input,
textarea,
select,
summary,
.sn-nav-btn,
.sn-logo,
.sn-footer-logo-img-link,
.carousel-wrap,
.carousel-slide {
  -webkit-tap-highlight-color: transparent;
}

/* Remove outline only for pointer/touch focus; keeps keyboard focus via :focus-visible below */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
[role="button"]:focus:not(:focus-visible),
summary:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

/* Keep accessible keyboard focus */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
summary:focus-visible {
  outline: 2px solid rgba(143, 183, 216, .9);
  outline-offset: 3px;
}
/* ── FIM FINAL remove mobile blue tap highlight on links/buttons ── */

/* ── FINAL remove lightbox click/focus highlight ── */
.lb-overlay,
.lb-overlay *,
.lb-box,
.lb-track,
.lb-img,
.lb-prev,
.lb-next,
.lb-close {
  -webkit-tap-highlight-color: transparent !important;
}

.lb-overlay:focus,
.lb-overlay *:focus,
.lb-box:focus,
.lb-track:focus,
.lb-img:focus,
.lb-prev:focus,
.lb-next:focus,
.lb-close:focus {
  outline: none !important;
  box-shadow: none !important;
}

.lb-prev,
.lb-next,
.lb-close {
  user-select: none !important;
  -webkit-user-select: none !important;
}
/* ── FIM FINAL remove lightbox click/focus highlight ── */

/* ── FINAL remove lightbox text selection blue flash ── */
.lb-overlay,
.lb-overlay *,
.lb-box,
.lb-box *,
.lb-track,
.lb-track *,
.lb-counter,
.lb-prev,
.lb-next,
.lb-close {
  user-select: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  -webkit-touch-callout: none !important;
}

.lb-overlay::selection,
.lb-overlay *::selection,
.lb-box::selection,
.lb-box *::selection,
.lb-counter::selection,
.lb-prev::selection,
.lb-next::selection,
.lb-close::selection {
  background: transparent !important;
  color: inherit !important;
}

.lb-overlay::-moz-selection,
.lb-overlay *::-moz-selection,
.lb-box::-moz-selection,
.lb-box *::-moz-selection,
.lb-counter::-moz-selection,
.lb-prev::-moz-selection,
.lb-next::-moz-selection,
.lb-close::-moz-selection {
  background: transparent !important;
  color: inherit !important;
}
/* ── FIM FINAL remove lightbox text selection blue flash ── */
