 :root {
        --azul-oceano: #bdeaf9;
        --brand-primary: #189ef3;
        --primary: #1da1f3;
        --brand-dark: #0b60b5;
        --dourado-sol: #fcd34d;
        --brand-secondary: #f97316;
        --best-reservation: #0e7490;
        --white: #fff;
        --black: #000;
        --bg-white: #fff;
        --bg-light: #f8fafc;
        --bg-gray: #f1f5f9;
        --light: #f8fafc;
        --btn-whatsapp: #25d366;
        --btn-whatsapp-hover: #20ba5a;
        --borda: #e2e8f0;
        --gray-100: #f1f5f9;
        --gray-200: #e2e8f0;
        --gray-300: #cbd5e1;
        --gray-400: #94a3b8;
        --gray-500: #64748b;
        --gray-600: #475569;
        --gray-700: #334155;
        --gray-800: #1e293b;
        --gray-900: #0f172a;
        --cinza-escuro: #1e293b;
        --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
        --shadow-md:
          0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
        --shadow-lg:
          0 10px 15px -3px rgba(0, 0, 0, 0.1),
          0 4px 6px -2px rgba(0, 0, 0, 0.05);
        --shadow-xl:
          0 20px 25px -5px rgba(0, 0, 0, 0.1),
          0 10px 10px -5px rgba(0, 0, 0, 0.04);
        --sombra-forte: 0 8px 24px rgba(0, 0, 0, 0.12);
        --font-display: "Bebas Neue", Impact, sans-serif;
        --font-body: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
        --radius-sm: 0.375rem;
        --radius-md: 0.5rem;
        --radius-lg: 0.75rem;
        --radius-xl: 1rem;
        --transition: all 0.3s ease;
        --header-height: 70px;
        --ticker-height: 44px;
        --total-top-offset: 114px;
        --space-xs: 4px;
        --space-sm: 8px;
        --space-md: 16px;
        --space-lg: 24px;
        --space-xl: 32px;
        --space-2xl: 48px;
        --space-3xl: 64px;
        --space-4xl: 80px;
        --space-5xl: 100px;
      }
      *,
      *::before,
      *::after {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }
      html {
        scroll-behavior: smooth;
      }
      body {
        font-family: var(--font-body);
        color: var(--gray-700);
        line-height: 1.6;
        background: var(--white);
        overflow-x: hidden;
      }
      :focus-visible {
        outline: 3px solid var(--brand-primary);
        outline-offset: 2px;
      }
      .skip-link {
        position: absolute;
        top: -100%;
        left: 50%;
        transform: translateX(-50%);
        background: var(--brand-dark);
        color: var(--white);
        padding: 12px 24px;
        border-radius: 0 0 var(--radius-md) var(--radius-md);
        z-index: 9999;
        font-weight: 600;
        text-decoration: none;
        transition: top 0.2s;
      }
      .skip-link:focus {
        top: 0;
      }
      .container {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 24px;
      }
      @media (max-width: 768px) {
        .container {
          padding: 0 20px;
        }
      }
      @media (max-width: 480px) {
        .container {
          padding: 0 16px;
        }
      }

      /* HEADER */
      .header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
        height: var(--header-height);
      }
      .header-container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 20px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        height: 100%;
      }
      .logo {
        text-decoration: none;
        flex-shrink: 0;
      }
      .logo h1 {
        font-family: var(--font-display);
        font-size: 2.1rem;
        color: var(--brand-primary);
        line-height: 1;
        font-weight: bold;
      }
      .logo h1 span {
        color: var(--brand-secondary);
      }
      .logo p {
        font-size: 0.65rem;
        color: var(--gray-500);
        text-transform: uppercase;
        letter-spacing: 6px;
        margin-top: -1px;
      }
      .desktop-nav {
        display: none;
      }
      .nav-links {
        display: flex;
        gap: 30px;
        list-style: none;
      }
      .nav-links a {
        text-decoration: none;
        color: var(--brand-dark);
        font-weight: 500;
        font-size: 1rem;
        transition: var(--transition);
      }
      .nav-links a:hover {
        color: var(--brand-primary);
      }
      .btn-whatsapp-header {
        background: var(--btn-whatsapp);
        color: var(--white);
        padding: 8px 16px;
        border-radius: 30px;
        text-decoration: none;
        font-weight: 600;
        display: none;
        align-items: center;
        gap: 8px;
        transition: var(--transition);
        flex-shrink: 0;
      }
      .btn-whatsapp-header:hover {
        background: var(--btn-whatsapp-hover);
        transform: translateY(-2px);
      }
      .btn-login-header {
        background: var(--brand-dark);
        color: var(--white);
        border: none;
        padding: 8px 14px;
        border-radius: 30px;
        font-weight: 600;
        cursor: pointer;
        transition: var(--transition);
      }
      .btn-login-header:hover {
        background: var(--brand-primary);
        transform: translateY(-2px);
      }
      .is-hidden {
        display: none !important;
      }
      .menu-toggle {
        display: flex;
        flex-direction: column;
        gap: 5px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 5px;
      }
      .menu-toggle span {
        width: 25px;
        height: 3px;
        background: var(--cinza-escuro);
        border-radius: 3px;
        transition: var(--transition);
      }
      @media (min-width: 1200px) {
        .desktop-nav {
          display: block;
        }
        .menu-toggle {
          display: none;
        }
        .btn-whatsapp-header {
          display: flex;
        }
        .btn-login-header {
          display: inline-flex;
          align-items: center;
          justify-content: center;
        }
      }
      @media (max-width: 1199px) {
        .desktop-nav,
        .language-selector,
        .btn-whatsapp-header,
        .btn-login-header {
          display: none !important;
        }
        .menu-toggle {
          margin-left: auto;
        }
      }
      @media (max-width: 480px) {
        :root {
          --header-height: 60px;
          --total-top-offset: 104px;
        }
        .header {
          height: var(--header-height);
        }
        .header-container {
          padding: 0 15px;
        }
        .logo h1 {
          font-size: 1.7rem;
        }
        .logo p {
          font-size: 0.55rem;
          letter-spacing: 4px;
        }
      }

      /* LANGUAGE */
      .language-selector {
        position: relative;
      }
      .language-button {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 6px 10px;
        min-height: 36px;
        background: var(--white);
        border: 1px solid var(--borda);
        border-radius: var(--radius-md);
        cursor: pointer;
        font-size: 0.875rem;
        font-weight: 500;
        color: var(--cinza-escuro);
        transition: var(--transition);
      }
      .language-button:hover {
        border-color: var(--brand-primary);
        background: var(--azul-oceano);
      }
      .language-flag {
        font-size: 1.125rem;
        line-height: 1;
      }
      .language-code {
        font-weight: 600;
        text-transform: uppercase;
      }
      .language-arrow {
        display: flex;
        transition: transform 0.2s ease;
      }
      .language-arrow svg {
        width: 14px;
        height: 14px;
        stroke: var(--gray-500);
      }
      .language-selector.active .language-arrow {
        transform: rotate(180deg);
      }
      .language-dropdown {
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        min-width: 200px;
        background: var(--white);
        border: 1px solid var(--borda);
        border-radius: var(--radius-md);
        box-shadow: var(--sombra-forte);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
        transition: var(--transition);
        z-index: 100;
        padding: 4px;
      }
      .language-dropdown p {
        margin: 0;
        padding: 0 12px 8px 12px;
        font-size: 0.75rem;
        color: var(--gray-600);
        border-bottom: 1px solid var(--borda);
      }
      .language-selector.active .language-dropdown {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
      }
      .language-option {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 12px;
        width: 100%;
        background: transparent;
        border: none;
        border-radius: var(--radius-sm);
        cursor: pointer;
        text-align: left;
        font-size: 0.875rem;
        font-weight: 500;
        color: var(--cinza-escuro);
        transition: background 0.2s ease;
      }
      .language-option:hover {
        background: var(--azul-oceano);
      }
      .language-option.active {
        background: transparent;
        color: var(--brand-primary);
        border: 0.5px solid var(--brand-primary);
      }

      /* MOBILE MENU */
      .mobile-menu-wrapper {
        position: fixed;
        top: 0;
        right: -100%;
        width: 85%;
        max-width: 350px;
        height: 100vh;
        height: 100dvh;
        background: var(--white);
        z-index: 2000;
        transition: right 0.4s ease;
        display: flex;
        flex-direction: column;
        box-shadow: -10px 0 30px rgba(0, 0, 0, 0.2);
        overflow-y: auto;
      }
      .mobile-menu-wrapper.active {
        right: 0;
      }
      .menu-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 20px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
      }
      .menu-title {
        font-weight: 800;
        font-size: 1.2rem;
        color: var(--cinza-escuro);
      }
      .menu-close-btn {
        background: none;
        border: none;
        font-size: 1.5rem;
        cursor: pointer;
        color: var(--cinza-escuro);
      }
      .mobile-nav-links {
        list-style: none;
        padding: 20px;
        flex: 1;
        margin-bottom: 1rem;
      }
      .mobile-nav-link {
        display: flex;
        align-items: center;
        gap: 15px;
        padding: 15px 0;
        text-decoration: none;
        color: var(--cinza-escuro);
        font-weight: 500;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
        transition: var(--transition);
      }
      .mobile-nav-link i {
        width: 20px;
        color: var(--brand-dark);
      }
      .mobile-nav-link:hover {
        color: var(--brand-dark);
        padding-left: 10px;
        background-color: var(--azul-oceano);
      }
      .menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1500;
        opacity: 0;
        visibility: hidden;
        transition: var(--transition);
      }
      .menu-overlay.active {
        opacity: 1;
        visibility: visible;
      }
      .menu-open {
        overflow: hidden;
      }
      .menu-stats-brand {
        display: flex;
        gap: 20px;
        padding: 15px 20px;
        background: var(--light);
      }
      .stat-item-brand {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 0.85rem;
        color: var(--gray-500);
      }
      .stat-item-brand p {
        text-align: center;
      }
      .menu-stats {
        display: flex;
        gap: 20px;
        padding: 15px 20px;
        background: var(--light);
        margin: 1rem;
        border-radius: 12px;
      }
      .stat-item {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 0.85rem;
        color: var(--gray-500);
      }
      .stat-item i {
        color: var(--brand-secondary);
      }
      .menu-controls {
        padding: 20px;
        display: flex;
        flex-direction: column;
        gap: 10px;
      }
      .control-btn {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px;
        background: var(--light);
        border-radius: 12px;
        text-decoration: none;
        color: var(--cinza-escuro);
        border: none;
        cursor: pointer;
        width: 100%;
        font-size: 0.9rem;
        font-family: inherit;
      }
      .control-btn:hover {
        background-color: var(--azul-oceano);
      }
      .control-btn-left {
        display: flex;
        align-items: center;
        gap: 10px;
      }
      .control-btn-right {
        display: flex;
        align-items: center;
        gap: 5px;
        color: var(--gray-500);
        font-size: 0.85rem;
      }
      .whatsapp-menu-btn {
        background: var(--btn-whatsapp);
        color: white;
        font-weight: bold;
      }
      .whatsapp-menu-btn:hover {
        background-color: var(--btn-whatsapp-hover);
      }
      .whatsapp-menu-btn .control-btn-right {
        color: var(--white);
      }
      .dev {
        margin-top: 3rem;
        margin-bottom: 1rem;
        color: var(--gray-500);
        font-size: 0.8rem;
        text-align: center;
      }
      .dev a {
        text-decoration: none;
        color: var(--gray-500);
        font-size: 1rem;
      }
      .dev a:hover {
        color: var(--brand-primary);
        font-weight: bold;
      }

      /* TICKER */
      .ticker-wrapper {
        position: fixed;
        background: var(--dourado-sol);
        padding: 10px 0;
        top: var(--header-height);
        overflow: hidden;
        width: 100%;
        left: 0;
        right: 0;
        z-index: 999;
      }
      .ticker {
        display: flex;
        will-change: transform;
        animation: ticker 30s linear infinite;
        white-space: nowrap;
      }
      .ticker-item {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--black);
        font-size: 1rem;
        padding: 0 30px;
        margin-top: 0.3rem;
        font-weight: bold;
      }
      @keyframes ticker {
        0% {
          transform: translateX(0);
        }
        100% {
          transform: translateX(-50%);
        }
      }
      @media (max-width: 768px) {
        .ticker-item {
          font-size: 0.875rem;
          padding: 0 20px;
        }
      }

      /* HERO */
      .hero {
        position: relative;
        margin-top: var(--total-top-offset);
        min-height: calc(80vh - var(--total-top-offset));
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        padding: 60px 0 120px 0;
      }
      .hero-slideshow {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
      }
      .hero-slide {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: opacity 1s ease-in-out;
      }
      .hero-slide.active {
        opacity: 1;
      }
      .hero-slide img,
      .hero-slide picture,
      .hero-slide picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
      }
      .hero-slide picture {
        display: block;
        width: 100%;
        height: 100%;
      }
      .hero-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(
          to right,
          rgba(10, 120, 222, 0.95) 0%,
          rgba(79, 189, 240, 0.85) 40%,
          rgba(73, 173, 230, 0.4) 70%,
          rgba(51, 161, 221, 0.2) 100%
        );
        z-index: 2;
      }
      .slide-indicators {
        position: absolute;
        bottom: 30px;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        gap: 10px;
        z-index: 10;
      }
      .indicator {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.5);
        cursor: pointer;
        transition: all 0.3s;
      }
      .indicator.active {
        background: white;
        width: 30px;
        border-radius: 6px;
      }
      .hero-content {
        position: relative;
        z-index: 5;
        text-align: left;
        color: white;
        max-width: 800px;
        width: 100%;
      }
      .hero-badge {
        background: var(--dourado-sol);
        color: var(--black);
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 8px 20px;
        border-radius: 25px;
        font-weight: 600;
        font-size: 0.9rem;
        margin-bottom: 20px;
      }
      .hero-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: clamp(3rem, 6vw, 4.5rem);
        line-height: 1.05;
        margin-bottom: 20px;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
        letter-spacing: 1px;
      }
      .hero-title .emoji {
        font-size: 0.75em;
      }
      .hero-description {
        font-size: clamp(0.9rem, 1.4vw, 1.2rem);
        margin-bottom: 30px;
        opacity: 0.85;
        max-width: 700px;
        line-height: 1.7;
        font-weight: 300;
      }
      .hero-buttons {
        display: flex;
        gap: 15px;
        flex-wrap: wrap;
      }
      .btn {
        padding: 14px 32px;
        border-radius: 8px;
        font-weight: 600;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        transition: all 0.3s;
        font-size: 1rem;
        white-space: nowrap;
      }
      .btn-primary {
        background: #0b60b5;
        color: white;
      }
      .btn-primary:hover {
        background: #094d94;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(11, 96, 181, 0.4);
      }
      .btn-secondary {
        background: var(--btn-whatsapp);
        color: white;
      }
      .btn-secondary:hover {
        background: var(--btn-whatsapp-hover);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4);
      }

      /* SEARCH */
      .search-container {
        max-width: 1200px;
        margin: -60px auto 0 auto;
        padding: 0 24px 60px 24px;
        position: relative;
        z-index: 10;
      }
      .search-bar {
        background: white;
        padding: 2rem;
        border-radius: 16px;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
      }
      .search-form {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr auto;
        gap: 1rem;
        align-items: end;
      }
      .form-group {
        display: flex;
        flex-direction: column;
        gap: 8px;
      }
      .form-group label {
        font-weight: 600;
        font-size: 0.9rem;
        color: var(--cinza-escuro);
        display: flex;
        align-items: center;
        gap: 6px;
      }
      .form-group input,
      .form-group select {
        padding: 14px 16px;
        border: 2px solid #e2e8f0;
        border-radius: 8px;
        font-size: 1rem;
        font-family: inherit;
        transition: all 0.2s;
        background: white;
        width: 100%;
      }
      .form-group input:focus,
      .form-group select:focus {
        outline: none;
        border-color: var(--brand-primary);
        box-shadow: 0 0 0 3px rgba(24, 158, 243, 0.1);
      }
      .btn-search {
        padding: 14px 32px;
        background: var(--brand-secondary);
        color: white;
        border: none;
        border-radius: 8px;
        font-weight: 600;
        font-size: 1rem;
        cursor: pointer;
        transition: all 0.3s;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        height: 52px;
        white-space: nowrap;
      }
      .btn-search:hover {
        background: #ea580c;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(249, 115, 22, 0.4);
      }
      @media (max-width: 1024px) {
        .search-form {
          grid-template-columns: 1fr 1fr;
        }
        .btn-search {
          grid-column: 1/-1;
        }
      }
      @media (max-width: 768px) {
        .hero {
          min-height: 70vh;
          padding: 40px 0 100px 0;
        }
        .hero-title {
          font-size: clamp(2.8rem, 8vw, 3.5rem);
        }
        .hero-description {
          font-size: 0.95rem;
          opacity: 0.8;
        }
        .hero-buttons {
          flex-direction: column;
        }
        .btn {
          width: 100%;
        }
        .search-form {
          grid-template-columns: 1fr;
        }
        .search-bar {
          padding: 1.5rem;
        }
        .search-container {
          margin-top: -40px;
          padding: 0 16px 40px 16px;
        }
      }
      @media (max-width: 480px) {
        .hero {
          padding: 30px 0 80px 0;
          min-height: 65vh;
        }
        .hero-title {
          font-size: 2.6rem;
          line-height: 1.05;
        }
        .hero-description {
          font-size: 0.88rem;
          font-weight: 300;
        }
        .hero-badge {
          font-size: 0.8rem;
          padding: 6px 14px;
        }
        .search-bar {
          padding: 1rem;
        }
        .search-container {
          padding: 0 12px 30px 12px;
          margin-top: -30px;
        }
        .form-group input,
        .form-group select {
          padding: 12px 14px;
          font-size: 0.95rem;
        }
        .btn-search {
          padding: 14px 20px;
        }
      }

      /* SECTIONS */
      .section {
        padding: var(--space-5xl) 0;
      }
      @media (max-width: 768px) {
        .section {
          padding: var(--space-4xl) 0;
        }
      }
      @media (max-width: 480px) {
        .section {
          padding: 60px 0;
        }
      }
      .section--light {
        background: var(--bg-light);
      }
      .section-header {
        margin-bottom: var(--space-2xl);
      }
      .section-header--center {
        text-align: center;
      }
      .section-header--center .section-description {
        margin-left: auto;
        margin-right: auto;
      }
      @media (max-width: 768px) {
        .section-header {
          margin-bottom: 36px;
        }
      }
      .section-badge {
        display: inline-block;
        padding: 8px 20px;
        background: var(--brand-primary);
        color: var(--white);
        border-radius: 50px;
        font-size: 0.8rem;
        font-weight: 600;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        margin-bottom: var(--space-md);
      }
      .section-title {
        font-family: var(--font-display);
        font-size: clamp(2.2rem, 4vw, 3.2rem);
        line-height: 1.1;
        color: var(--gray-900);
        margin-bottom: var(--space-md);
        letter-spacing: 0.5px;
      }
      .section-title span {
        color: var(--brand-primary);
      }
      .section-description {
        font-family: var(--font-body);
        font-size: clamp(0.95rem, 1.3vw, 1.1rem);
        font-weight: 300;
        color: var(--gray-500);
        line-height: 1.7;
        max-width: 640px;
      }

      /* APARTMENT CARD */
      .card-title {
        font-family: var(--font-body);
        font-size: 1.15rem;
        font-weight: 700;
        color: var(--gray-900);
        line-height: 1.3;
      }
      .card-text {
        font-size: 0.9rem;
        font-weight: 400;
        color: var(--gray-600);
        line-height: 1.6;
        margin-bottom: var(--space-md);
      }
      .apartment-card {
        background: var(--white);
        border-radius: var(--radius-xl);
        overflow: hidden;
        box-shadow: var(--shadow-md);
        transition: var(--transition);
      }
      .apartment-card:hover {
        transform: translateY(-6px);
        box-shadow: var(--shadow-xl);
      }
      .card-slider {
        position: relative;
        width: 100%;
        height: 240px;
        overflow: hidden;
      }
      .card-slides {
        display: flex;
        height: 100%;
        transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
      }
      .card-slide {
        min-width: 100%;
        height: 100%;
        flex-shrink: 0;
      }
      .card-slide img,
      .card-slide picture,
      .card-slide picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
      }
      .card-slide picture {
        display: block;
        width: 100%;
        height: 100%;
      }
      .card-slider-controls {
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        display: flex;
        justify-content: space-between;
        transform: translateY(-50%);
        padding: 0 8px;
        pointer-events: none;
        opacity: 0;
        transition: opacity 0.3s;
      }
      .card-slider:hover .card-slider-controls,
      .card-slider:focus-within .card-slider-controls {
        opacity: 1;
      }
      .card-slider-btn {
        pointer-events: all;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        border: none;
        background: rgba(255, 255, 255, 0.9);
        color: var(--gray-800);
        font-size: 1.1rem;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
        transition: all 0.2s;
      }
      .card-slider-btn:hover {
        background: var(--white);
        transform: scale(1.1);
      }
      .card-slider-dots {
        position: absolute;
        bottom: 10px;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        gap: 6px;
        z-index: 5;
      }
      .card-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.5);
        border: none;
        padding: 0;
        cursor: pointer;
        transition: all 0.3s;
      }
      .card-dot.active {
        background: var(--white);
        width: 20px;
        border-radius: 4px;
      }
      @media (max-width: 768px) {
        .card-slider-controls {
          opacity: 1;
        }
        .card-slider-btn {
          width: 32px;
          height: 32px;
          font-size: 1rem;
        }
      }
      .apartment-badge {
        position: absolute;
        top: 16px;
        left: 16px;
        padding: 6px 14px;
        color: var(--white);
        border-radius: 6px;
        font-size: 12px;
        font-weight: 600;
        z-index: 5;
      }
      .apartment-badge--economy {
        background: #16a34a;
      }
      .apartment-badge--family {
        background: var(--brand-secondary);
      }
      .apartment-badge--popular {
        background: var(--best-reservation);
      }
      .favorite-btn {
        position: absolute;
        top: 16px;
        right: 16px;
        z-index: 6;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        border: none;
        background: rgba(255, 255, 255, 0.92);
        backdrop-filter: blur(4px);
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.15rem;
        color: var(--gray-500);
        transition: all 0.25s ease;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
      }
      .favorite-btn:hover {
        transform: scale(1.12);
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
      }
      .favorite-btn.active {
        color: #ef4444;
      }
      @keyframes favPop {
        0% {
          transform: scale(1);
        }
        50% {
          transform: scale(1.35);
        }
        100% {
          transform: scale(1);
        }
      }
      .favorite-btn.pop {
        animation: favPop 0.35s ease;
      }
      @media (max-width: 480px) {
        .favorite-btn {
          width: 36px;
          height: 36px;
          font-size: 1rem;
        }
      }
      .apartment-rating {
        display: flex;
        align-items: center;
        gap: 5px;
        margin-top: 6px;
        margin-bottom: 4px;
      }
      .apartment-rating .rating-star {
        color: #f59e0b;
        font-size: 0.9rem;
      }
      .apartment-rating .rating-value {
        font-weight: 700;
        color: var(--gray-800);
        font-size: 0.9rem;
      }
      .apartment-rating .rating-count {
        color: var(--gray-400);
        font-weight: 400;
        font-size: 0.82rem;
      }
      .apartment-location-link {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        text-decoration: none;
        color: var(--gray-500);
        font-size: 0.84rem;
        font-weight: 400;
        transition: color 0.2s ease;
        margin-bottom: 10px;
      }
      .apartment-location-link i {
        color: var(--brand-primary);
        font-size: 0.85rem;
        flex-shrink: 0;
      }
      .apartment-location-link:hover {
        color: var(--brand-primary);
        text-decoration: underline;
      }
      .apartment-content {
        padding: var(--space-lg);
      }
      .apartment-features {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-bottom: 20px;
      }
      .feature {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 6px 12px;
        background: var(--gray-100);
        border-radius: 6px;
        font-size: 13px;
        color: var(--gray-700);
      }
      .feature i {
        color: var(--brand-primary);
      }
      .apartment-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-top: 20px;
        border-top: 1px solid var(--gray-200);
      }
      .apartment-price-label {
        font-size: 0.8rem;
        color: var(--gray-400);
        margin-bottom: 2px;
      }
      .apartment-price {
        font-size: 1.5rem;
        font-weight: 700;
        color: var(--brand-primary);
      }
      .apartment-price small {
        font-size: 0.8rem;
        font-weight: 400;
        color: var(--gray-400);
      }
      .btn-apartment {
        padding: 12px 24px;
        background: var(--brand-dark);
        color: var(--white);
        border: none;
        border-radius: var(--radius-md);
        font-weight: 600;
        cursor: pointer;
        transition: var(--transition);
        font-family: inherit;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
      }
      .btn-apartment:hover {
        background: #094d94;
        transform: translateY(-2px);
      }

      /* ✅ CAROUSEL INFINITO — transform-based */
      .apartments-carousel-layout {
        display: flex;
        align-items: center;
        gap: 16px;
      }
      .carousel-nav-btn {
        flex-shrink: 0;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        border: 1.5px solid var(--gray-200);
        background: var(--white);
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1rem;
        color: var(--gray-600);
        box-shadow: var(--shadow-sm);
        transition: all 0.25s ease;
      }
      .carousel-nav-btn:hover {
        border-color: var(--brand-primary);
        color: var(--brand-primary);
        box-shadow: var(--shadow-md);
        transform: scale(1.06);
      }
      .carousel-nav-btn:active {
        transform: scale(0.96);
      }
      .apartments-carousel {
        flex: 1;
        overflow: hidden;
        position: relative;
      }
      .carousel-track {
        display: flex;
        gap: var(--space-lg);
        transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
        padding: 8px 4px;
      }
      .carousel-track.no-transition {
        transition: none !important;
      }
      .carousel-track .apartment-card {
        min-width: 330px;
        max-width: 360px;
        flex-shrink: 0;
        opacity: 1 !important;
      }
      .carousel-indicators {
        display: flex;
        justify-content: center;
        gap: 8px;
        margin-top: var(--space-lg);
      }
      .carousel-ind {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        border: none;
        background: var(--gray-300);
        cursor: pointer;
        padding: 0;
        transition: all 0.3s ease;
      }
      .carousel-ind.active {
        background: var(--brand-primary);
        width: 28px;
        border-radius: 5px;
      }
      @media (min-width: 1280px) {
        .carousel-track .apartment-card {
          min-width: 340px;
          max-width: 370px;
        }
      }
      @media (max-width: 768px) {
        .carousel-track {
          gap: var(--space-md);
        }
        .carousel-track .apartment-card {
          min-width: 290px;
          max-width: 320px;
        }
        .carousel-nav-btn {
          width: 40px;
          height: 40px;
          font-size: 0.9rem;
        }
        .apartments-carousel-layout {
          gap: 10px;
        }
      }
      @media (max-width: 540px) {
        .carousel-nav-btn {
          display: none;
        }
        .apartments-carousel-layout {
          gap: 0;
        }
        .carousel-track {
          gap: 14px;
        }
        .carousel-track .apartment-card {
          min-width: 85vw;
          max-width: 90vw;
        }
      }
      /* ============ MODAL BUSCAR ============ */
      .modal-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.6);
        backdrop-filter: blur(4px);
        z-index: 3000;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 20px;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
      }
      .modal-overlay.active {
        opacity: 1;
        visibility: visible;
      }
      .modal-box {
        background: var(--white);
        border-radius: 20px;
        max-width: 480px;
        width: 100%;
        padding: 0;
        box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
        transform: translateY(20px) scale(0.97);
        transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        overflow: hidden;
        max-height: 90vh;
        overflow-y: auto;
      }
      .modal-overlay.active .modal-box {
        transform: translateY(0) scale(1);
      }
      .modal-header {
        background: linear-gradient(
          135deg,
          var(--brand-primary),
          var(--brand-dark)
        );
        color: white;
        padding: 28px 28px 24px;
        position: relative;
      }
      .modal-header h3 {
        font-family: var(--font-display);
        font-size: 1.8rem;
        letter-spacing: 0.5px;
        margin-bottom: 4px;
      }
      .modal-header p {
        font-size: 0.9rem;
        opacity: 0.85;
        font-weight: 300;
      }
      .modal-close {
        position: absolute;
        top: 16px;
        right: 16px;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        border: none;
        background: rgba(255, 255, 255, 0.2);
        color: white;
        font-size: 1.1rem;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.2s;
      }
      .modal-close:hover {
        background: rgba(255, 255, 255, 0.35);
        transform: scale(1.1);
      }
      .modal-body {
        padding: 28px;
      }
      .modal-summary {
        background: var(--bg-light);
        border-radius: 12px;
        padding: 16px;
        margin-bottom: 24px;
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
      }
      .modal-summary-item {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 0.88rem;
        color: var(--gray-700);
        font-weight: 500;
      }
      .modal-summary-item i {
        color: var(--brand-primary);
        width: 16px;
      }
      .modal-question {
        text-align: center;
        font-weight: 600;
        font-size: 1.05rem;
        color: var(--gray-800);
        margin-bottom: 20px;
      }
      .modal-options {
        display: flex;
        flex-direction: column;
        gap: 12px;
      }
      .modal-option-btn {
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 18px 20px;
        border-radius: 14px;
        border: 2px solid var(--gray-200);
        background: var(--white);
        cursor: pointer;
        transition: all 0.25s ease;
        text-align: left;
        font-family: inherit;
        width: 100%;
      }
      .modal-option-btn:hover {
        border-color: var(--brand-primary);
        background: var(--azul-clarinho);
        transform: translateY(-2px);
        box-shadow: var(--shadow-md);
      }
      .modal-option-btn.whatsapp-opt:hover {
        border-color: var(--btn-whatsapp);
        background: #f0fdf4;
      }
      .modal-option-btn.email-opt:hover {
        border-color: var(--brand-primary);
        background: var(--azul-clarinho);
      }
      .modal-option-icon {
        width: 52px;
        height: 52px;
        border-radius: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        flex-shrink: 0;
      }
      .whatsapp-opt .modal-option-icon {
        background: #dcfce7;
        color: #16a34a;
      }
      .email-opt .modal-option-icon {
        background: #dbeafe;
        color: var(--brand-primary);
      }
      .modal-option-text h4 {
        font-size: 1rem;
        font-weight: 700;
        color: var(--gray-800);
        margin-bottom: 2px;
      }
      .modal-option-text p {
        font-size: 0.82rem;
        color: var(--gray-500);
        font-weight: 400;
        line-height: 1.4;
      }
      .modal-option-arrow {
        margin-left: auto;
        color: var(--gray-400);
        font-size: 0.9rem;
        transition: transform 0.2s;
      }
      .modal-option-btn:hover .modal-option-arrow {
        transform: translateX(4px);
        color: var(--brand-primary);
      }

      /* Email Form dentro do modal */
      .modal-email-form {
        display: none;
        margin-top: 20px;
        padding-top: 20px;
        border-top: 2px solid var(--gray-100);
      }
      .modal-email-form.active {
        display: block;
        animation: fadeSlide 0.3s ease;
      }
      @keyframes fadeSlide {
        from {
          opacity: 0;
          transform: translateY(10px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }
      .modal-email-form .form-group {
        margin-bottom: 14px;
        main > section {
          content-visibility: auto;
          contain-intrinsic-size: 1px 1000px;
        }
        @media (prefers-reduced-motion: reduce) {
          *,
          *::before,
          *::after {
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
            transition-duration: 0.01ms !important;
            scroll-behavior: auto !important;
          }
        }
      }
      .modal-email-form .form-group label {
        font-weight: 600;
        font-size: 0.85rem;
        color: var(--gray-700);
        margin-bottom: 6px;
        display: flex;
        align-items: center;
        gap: 6px;
      }
      .modal-email-form .form-group input {
        padding: 13px 16px;
        border: 2px solid var(--gray-200);
        border-radius: 10px;
        font-size: 0.95rem;
        font-family: inherit;
        width: 100%;
        transition: all 0.2s;
      }
      .modal-email-form .form-group input:focus {
        border-color: var(--brand-primary);
        box-shadow: 0 0 0 3px rgba(24, 158, 243, 0.1);
        outline: none;
      }
      .btn-send-email {
        width: 100%;
        padding: 15px;
        background: var(--brand-primary);
        color: white;
        border: none;
        border-radius: 10px;
        font-weight: 700;
        font-size: 1rem;
        cursor: pointer;
        transition: all 0.3s;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        font-family: inherit;
        margin-top: 8px;
      }
      .btn-send-email:hover {
        background: var(--brand-dark);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(24, 158, 243, 0.3);
      }
      .btn-send-email:disabled {
        opacity: 0.6;
        cursor: not-allowed;
        transform: none;
      }
      .btn-send-email .spinner {
        display: none;
        width: 18px;
        height: 18px;
        border: 2.5px solid rgba(255, 255, 255, 0.3);
        border-top-color: white;
        border-radius: 50%;
        animation: spin 0.7s linear infinite;
      }
      .btn-send-email.loading .spinner {
        display: inline-block;
      }
      .btn-send-email.loading .btn-text {
        display: none;
      }
      @keyframes spin {
        to {
          transform: rotate(360deg);
        }
      }
      .modal-success {
        display: none;
        text-align: center;
        padding: 20px 0;
      }
      .modal-success.active {
        display: block;
        animation: fadeSlide 0.4s ease;
      }
      .modal-success .success-icon {
        width: 72px;
        height: 72px;
        border-radius: 50%;
        background: #dcfce7;
        color: #16a34a;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2rem;
        margin: 0 auto 16px;
      }
      .modal-success h4 {
        font-size: 1.15rem;
        font-weight: 700;
        color: var(--gray-800);
        margin-bottom: 6px;
      }
      .modal-success p {
        font-size: 0.9rem;
        color: var(--gray-500);
        line-height: 1.5;
      }
      .modal-back-btn {
        background: none;
        border: none;
        color: var(--brand-primary);
        font-weight: 600;
        font-size: 0.88rem;
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 6px;
        margin-bottom: 16px;
        font-family: inherit;
        transition: color 0.2s;
      }
      .modal-back-btn:hover {
        color: var(--brand-dark);
      }
      @media (max-width: 480px) {
        .modal-box {
          border-radius: 16px;
        }
        .modal-header {
          padding: 22px 20px 18px;
        }
        .modal-header h3 {
          font-size: 1.5rem;
        }
        .modal-body {
          padding: 20px;
        }
        .modal-option-btn {
          padding: 14px 16px;
        }
        .modal-option-icon {
          width: 44px;
          height: 44px;
          font-size: 1.3rem;
        }
      }

      /* NEW LANDING SECTIONS */
      .section--ocean {
        background:
          radial-gradient(circle at top left, rgba(24, 158, 243, 0.16), transparent 32%),
          linear-gradient(180deg, #eff8ff 0%, #ffffff 100%);
      }
      .steps-grid,
      .reasons-grid,
      .location-grid,
      .trust-grid,
      .promo-grid,
      .blog-grid,
      .footer-grid {
        display: grid;
        gap: 24px;
      }
      .steps-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-bottom: 28px;
      }
      .reasons-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
      .location-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
      .trust-grid,
      .promo-grid,
      .blog-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
      .step-card,
      .reason-card,
      .location-card,
      .trust-card,
      .promo-card,
      .blog-card {
        background: rgba(255, 255, 255, 0.92);
        border: 1px solid rgba(24, 158, 243, 0.12);
        border-radius: 24px;
        padding: 28px;
        box-shadow: 0 18px 50px rgba(11, 96, 181, 0.08);
      }
      .step-number {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        margin-bottom: 18px;
        background: var(--brand-dark);
        color: var(--white);
        font-family: var(--font-display);
        font-size: 1.5rem;
        letter-spacing: 1px;
      }
      .step-card h3,
      .reason-card h3,
      .location-card h3,
      .trust-card h3,
      .promo-card h3,
      .blog-card h3,
      .cta-band h3 {
        font-size: 1.2rem;
        color: var(--gray-900);
        margin-bottom: 10px;
      }
      .step-card p,
      .reason-card p,
      .location-card p,
      .trust-card p,
      .promo-card p,
      .blog-card p,
      .cta-band p,
      .faq-answer p,
      .footer-description,
      .footer-column li,
      .micro-metrics span {
        color: var(--gray-600);
        line-height: 1.7;
        font-size: 0.95rem;
      }
      .reason-card i {
        width: 54px;
        height: 54px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 16px;
        margin-bottom: 18px;
        background: var(--azul-clarinho);
        color: var(--brand-primary);
        font-size: 1.25rem;
      }
      .trust-card i {
        width: 56px;
        height: 56px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 18px;
        background: linear-gradient(135deg, rgba(24, 158, 243, 0.12), rgba(249, 115, 22, 0.12));
        color: var(--brand-primary);
        font-size: 1.35rem;
        margin-bottom: 18px;
      }
      .location-card ul {
        margin: 16px 0 0;
        padding-left: 18px;
        color: var(--gray-600);
      }
      .location-card li {
        margin-bottom: 10px;
      }
      .location-card--highlight {
        background: linear-gradient(160deg, var(--brand-dark), #0f7bd6);
        color: var(--white);
      }
      .location-card--highlight h3,
      .location-card--highlight p,
      .location-card--highlight .micro-metrics span {
        color: var(--white);
      }
      .micro-metrics {
        display: grid;
        gap: 10px;
        margin-top: 18px;
      }
      .micro-metrics strong {
        display: inline-block;
        min-width: 54px;
      }
      .promo-card {
        position: relative;
        overflow: hidden;
      }
      .promo-card--accent {
        background: linear-gradient(155deg, var(--brand-dark), #0f7bd6);
        border-color: transparent;
      }
      .promo-card--accent h3,
      .promo-card--accent p,
      .promo-card--accent .promo-label,
      .promo-card--accent a {
        color: var(--white);
      }
      .promo-label,
      .blog-tag {
        display: inline-flex;
        align-items: center;
        padding: 6px 12px;
        border-radius: 999px;
        margin-bottom: 14px;
        background: rgba(24, 158, 243, 0.1);
        color: var(--brand-primary);
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.6px;
        text-transform: uppercase;
      }
      .promo-card a,
      .blog-card a {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-top: 18px;
        color: var(--brand-primary);
        font-weight: 700;
        text-decoration: none;
      }
      .promo-card a:hover,
      .blog-card a:hover {
        text-decoration: underline;
      }
      .maps-hub {
        display: grid;
        grid-template-columns: 0.95fr 1.05fr;
        gap: 24px;
        align-items: stretch;
        margin-top: 32px;
      }
      .maps-copy,
      .maps-embed {
        background: var(--white);
        border-radius: 24px;
        padding: 28px;
        border: 1px solid rgba(24, 158, 243, 0.1);
        box-shadow: var(--shadow-md);
      }
      .section-badge--small {
        margin-bottom: 16px;
      }
      .maps-actions {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
        margin-top: 20px;
      }
      .maps-embed {
        padding: 10px;
      }
      .maps-embed iframe {
        width: 100%;
        min-height: 360px;
        border: 0;
        border-radius: 18px;
      }
      .section--lead {
        background:
          radial-gradient(circle at top right, rgba(249, 115, 22, 0.18), transparent 28%),
          linear-gradient(180deg, #fff7ed 0%, #ffffff 100%);
      }
      .lead-shell {
        display: grid;
        grid-template-columns: 0.95fr 1.05fr;
        gap: 26px;
        align-items: start;
        background: var(--white);
        border-radius: 28px;
        padding: 32px;
        box-shadow: 0 24px 60px rgba(15, 23, 42, 0.08);
        border: 1px solid rgba(249, 115, 22, 0.12);
      }
      .lead-benefits {
        list-style: none;
        margin: 20px 0 0;
        padding: 0;
        display: grid;
        gap: 12px;
      }
      .lead-benefits li {
        position: relative;
        padding-left: 28px;
        color: var(--gray-700);
      }
      .lead-benefits li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 9px;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: var(--brand-secondary);
        box-shadow: 0 0 0 6px rgba(249, 115, 22, 0.14);
      }
      .lead-form {
        background: #fff;
      }
      .lead-form-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
      }
      .lead-form .form-group {
        margin-bottom: 16px;
      }
      .lead-form label {
        display: block;
        margin-bottom: 8px;
        font-size: 0.84rem;
        font-weight: 700;
        color: var(--gray-800);
      }
      .lead-form input,
      .lead-form select,
      .lead-form textarea {
        width: 100%;
        border: 1.5px solid var(--gray-200);
        border-radius: 14px;
        padding: 14px 16px;
        font: inherit;
        color: var(--gray-800);
        background: #fff;
      }
      .lead-form input:focus,
      .lead-form select:focus,
      .lead-form textarea:focus {
        outline: none;
        border-color: var(--brand-primary);
        box-shadow: 0 0 0 4px rgba(24, 158, 243, 0.1);
      }
      .lead-submit {
        width: 100%;
        justify-content: center;
      }
      .lead-note {
        margin-top: 12px;
        color: var(--gray-500);
        font-size: 0.82rem;
      }
      .lead-feedback {
        margin-top: 12px;
        min-height: 20px;
        font-size: 0.9rem;
        font-weight: 600;
      }

      .faq-list {
        max-width: 900px;
        margin: 0 auto;
      }
      .faq-item {
        background: var(--white);
        border: 1px solid var(--gray-200);
        border-radius: 18px;
        overflow: hidden;
        margin-bottom: 14px;
        box-shadow: var(--shadow-sm);
      }
      .faq-question {
        width: 100%;
        border: none;
        background: transparent;
        text-align: left;
        padding: 22px 24px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        cursor: pointer;
        font: inherit;
        font-weight: 600;
        color: var(--gray-900);
      }
      .faq-question i {
        color: var(--brand-primary);
        transition: transform 0.25s ease;
      }
      .faq-answer {
        max-height: 0;
        overflow: hidden;
        padding: 0 24px;
        transition: max-height 0.3s ease, padding 0.3s ease;
      }
      .faq-item.active .faq-answer {
        max-height: 240px;
        padding: 0 24px 22px;
      }
      .faq-item.active .faq-question i {
        transform: rotate(45deg);
      }

      .cta-band {
        margin-top: 36px;
        border-radius: 28px;
        padding: 32px;
        background:
          linear-gradient(135deg, rgba(11, 96, 181, 0.96), rgba(24, 158, 243, 0.94)),
          #0b60b5;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 28px;
        color: var(--white);
        box-shadow: 0 24px 50px rgba(11, 96, 181, 0.22);
      }
      .cta-band p,
      .cta-band h3 {
        color: var(--white);
      }
      .cta-band-eyebrow {
        text-transform: uppercase;
        letter-spacing: 1.6px;
        font-size: 0.78rem;
        font-weight: 700;
        opacity: 0.82;
        margin-bottom: 8px;
      }
      .cta-band-actions {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
      }

      .page-footer {
        background: #081a2d;
        color: #d6deea;
      }
      .footer-grid {
        grid-template-columns: 1.6fr 1fr 1fr 1fr;
        padding: 64px 0 36px;
      }
      .footer-brand-block,
      .footer-column {
        min-width: 0;
      }
      .footer-logo {
        display: inline-block;
        font-family: var(--font-display);
        font-size: 2rem;
        letter-spacing: 0.4px;
        text-decoration: none;
        color: var(--white);
        margin-bottom: 14px;
      }
      .footer-logo span,
      .footer-column h3 {
        color: var(--brand-primary);
      }
      .footer-description {
        max-width: 400px;
        margin-bottom: 18px;
      }
      .footer-actions,
      .footer-column ul {
        display: flex;
        flex-direction: column;
        gap: 10px;
        list-style: none;
        padding: 0;
        margin: 0;
      }
      .footer-column h3 {
        margin-bottom: 16px;
        font-size: 1rem;
      }
      .footer-actions a,
      .footer-column a,
      .footer-column span {
        color: #d6deea;
        text-decoration: none;
      }
      .footer-actions a:hover,
      .footer-column a:hover {
        color: var(--white);
      }
      .footer-bottom-bar {
        border-top: 1px solid rgba(255, 255, 255, 0.08);
      }
      .footer-bottom-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 18px 0 26px;
        font-size: 0.85rem;
        color: #94a3b8;
      }
      .footer-bottom-inner a {
        color: var(--white);
        text-decoration: none;
      }

      @media (max-width: 1024px) {
        .steps-grid,
        .reasons-grid,
        .location-grid {
          grid-template-columns: 1fr 1fr;
        }
        .trust-grid,
        .promo-grid,
        .blog-grid {
          grid-template-columns: 1fr 1fr;
        }
        .footer-grid {
          grid-template-columns: 1.2fr 1fr 1fr;
        }
        .footer-brand-block {
          grid-column: 1 / -1;
        }
        .cta-band {
          flex-direction: column;
          align-items: flex-start;
        }
        .maps-hub,
        .lead-shell {
          grid-template-columns: 1fr;
        }
      }
      @media (max-width: 768px) {
        .steps-grid,
        .reasons-grid,
        .location-grid,
        .trust-grid,
        .promo-grid,
        .blog-grid,
        .footer-grid {
          grid-template-columns: 1fr;
        }
        .step-card,
        .reason-card,
        .location-card,
        .trust-card,
        .promo-card,
        .blog-card {
          padding: 22px;
          border-radius: 20px;
        }
        .cta-band {
          padding: 24px;
          border-radius: 22px;
        }
        .cta-band-actions {
          width: 100%;
        }
        .footer-grid {
          padding: 52px 0 28px;
        }
        .lead-shell {
          padding: 24px;
        }
        .lead-form-grid {
          grid-template-columns: 1fr;
        }
        .maps-copy,
        .maps-embed {
          padding: 20px;
          border-radius: 20px;
        }
        .footer-bottom-inner {
          flex-direction: column;
          align-items: flex-start;
        }
      }
