
      :root {
        --container-max: 72rem;
      }
      * {
        box-sizing: border-box;
      }
      body {
        line-height: 1.5;
      }
      img {
        max-width: 100%;
        height: auto;
      }
      .material-symbols-outlined {
        font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
      }
      .floating-share-button {
        display: inline-flex;
        align-items: center;
        gap: 0.625rem;
        padding: 0.7rem 0.95rem;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.58);
        background: rgba(255, 255, 255, 0.72);
        color: #0f172a;
        font-family: 'Inter', sans-serif;
        font-size: 0.875rem;
        font-weight: 600;
        letter-spacing: 0.01em;
        box-shadow: 0 12px 30px rgba(15, 23, 42, 0.14);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease, color 180ms ease;
      }
      .floating-share-button:hover {
        transform: translateY(-1px);
        background: rgba(255, 255, 255, 0.84);
        box-shadow: 0 16px 34px rgba(15, 23, 42, 0.18);
      }
      .floating-share-button:focus-visible {
        outline: 2px solid rgba(252, 130, 12, 0.9);
        outline-offset: 2px;
      }
      .floating-share-button.is-shared {
        background: rgba(0, 17, 58, 0.82);
        color: #ffffff;
        border-color: rgba(255, 255, 255, 0.24);
      }
      .floating-share-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.75rem;
        height: 1.75rem;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.55);
        color: #00113a;
        flex-shrink: 0;
      }
      .floating-share-button.is-shared .floating-share-icon {
        background: rgba(255, 255, 255, 0.16);
        color: #ffffff;
      }
      .floating-share-icon svg {
        width: 1rem;
        height: 1rem;
      }
      .modal-galeria-close {
        display: inline-flex;
        align-items: center;
        gap: 0.2rem;
        color: #ffffff;
        transition: opacity 180ms ease;
      }
      .modal-galeria-close:hover {
        opacity: 0.8;
      }
      .modal-galeria-nav-btn {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 5.25rem;
        height: 5.25rem;
        border-radius: 999px;
        border: 3px solid rgba(255, 255, 255, 0.68);
        color: #ffffff;
        background: rgba(255, 255, 255, 0.05);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
        transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
      }
      .modal-galeria-nav-btn:hover {
        transform: translateY(-50%) scale(1.04);
        border-color: rgba(255, 255, 255, 0.9);
        background: rgba(255, 255, 255, 0.12);
      }
      .modal-galeria-nav-btn:focus-visible {
        outline: 2px solid rgba(252, 130, 12, 0.9);
        outline-offset: 2px;
      }
      .glass-nav {
        backdrop-filter: blur(24px);
        -webkit-backdrop-filter: blur(24px);
      }
      .hero-gradient {
        /* Overlay escuro com cor dinâmica via CSS variables */
        background: linear-gradient(
          135deg,
          var(--hero-overlay-from, rgba(0, 0, 0, 0.45)) 0%,
          var(--hero-overlay-to, rgba(0, 0, 0, 0.58)) 100%
        );
        transition: background 240ms ease;
      }
      .hero-media {
        opacity: 1;
        transform: scale(1);
        transition: opacity 240ms ease, transform 650ms ease;
        will-change: opacity, transform;
      }
      .hero-content {
        opacity: 1;
        transform: translateY(0);
        transition: opacity 240ms ease, transform 240ms ease;
        will-change: opacity, transform;
      }
      .hero-section.is-updating .hero-media {
        opacity: 0;
        transform: scale(1.04);
      }
      .hero-section.is-updating .hero-content {
        opacity: 0;
        transform: translateY(10px);
      }
      /* Ajuda na rolagem com navbar fixa */
      #secao-imoveis,
      #secao-sobre,
      #secao-contato {
        scroll-margin-top: 7rem;
      }
      /* Navbar com fundo sólido ao rolar */
      .nav-solid {
        background-color: rgba(255, 255, 255, 0.86) !important;
        border-color: rgba(255, 255, 255, 0.18) !important;
      }
      .dark .nav-solid {
        background-color: rgba(2, 6, 23, 0.86) !important;
        border-color: rgba(255, 255, 255, 0.18) !important;
      }
      .section-pad {
        padding-top: 4rem;
        padding-bottom: 4rem;
      }
      .touch-target {
        min-height: 2.75rem;
      }
      .property-card {
        transition: transform 0.25s ease, box-shadow 0.25s ease;
      }
      .property-card:hover {
        transform: translateY(-0.375rem);
        box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.12);
      }
      .property-card:active {
        transform: translateY(-0.125rem);
      }
      .hero-title {
        font-size: clamp(1.9rem, 6.5vw, 4rem);
        line-height: 1.12;
      }
      .hero-stack {
        width: min(100%, 56rem);
      }
      .hero-bee-wrap {
        position: relative;
        width: min(88vw, 44rem);
        margin-top: clamp(0.5rem, 5vh, 3.5rem);
        margin-bottom: clamp(0.75rem, 2.8vh, 2rem);
        isolation: isolate;
      }
      .hero-bee-wrap::before {
        content: "";
        position: absolute;
        inset: 50% auto auto 50%;
        width: clamp(14rem, 34vw, 28rem);
        height: clamp(14rem, 34vw, 28rem);
        transform: translate(-50%, -52%);
        border-radius: 50%;
        background: radial-gradient(
          circle at 50% 46%,
          rgba(255, 172, 64, 0.28) 0%,
          rgba(255, 165, 0, 0.2) 34%,
          rgba(255, 165, 0, 0.11) 56%,
          rgba(255, 165, 0, 0.05) 70%,
          rgba(255, 165, 0, 0) 100%
        );
        filter: blur(16px);
        pointer-events: none;
        z-index: -2;
      }
      .hero-bee-wrap::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 4%;
        width: clamp(10rem, 28vw, 20rem);
        height: clamp(1.1rem, 3.1vw, 2.2rem);
        transform: translateX(-50%);
        border-radius: 50%;
        background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.32) 0%, rgba(0, 0, 0, 0.12) 60%, rgba(0, 0, 0, 0) 100%);
        filter: blur(6px);
        z-index: -1;
      }
      .hero-bee-image {
        display: block;
        margin-inline: auto;
        width: auto;
        height: clamp(12.5rem, 36vh, 25rem);
        max-width: 100%;
        object-fit: contain;
        object-position: center;
        filter: drop-shadow(0 0.35rem 0.85rem rgba(0, 0, 0, 0.15)) drop-shadow(0 1rem 2rem rgba(0, 0, 0, 0.28));
        animation: bee-float 6s ease-in-out infinite;
      }
      @keyframes bee-float {
        0%,
        100% {
          transform: translateY(0);
        }
        50% {
          transform: translateY(-6px);
        }
      }
      .hero-subtitle {
        font-size: clamp(1rem, 2.9vw, 1.2rem);
      }
      .hero-actions button,
      .hero-actions a {
        width: 100%;
      }
      .contact-map-card {
        transition: transform 0.25s ease, box-shadow 0.25s ease;
      }
      .contact-map-card:hover {
        transform: translateY(-0.375rem);
        box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.12);
      }
      .contact-map-card:active {
        transform: translateY(-0.125rem);
      }
      @media (min-width: 640px) {
        .section-pad {
          padding-top: 5rem;
          padding-bottom: 5rem;
        }
      }
      @media (max-width: 640px) {
        #hero-image {
          object-position: center top;
        }
        .floating-share-button {
          gap: 0.5rem;
          padding: 0.62rem 0.8rem;
          font-size: 0.77rem;
        }
        .floating-share-icon {
          width: 1.55rem;
          height: 1.55rem;
        }
        .modal-galeria-topbar {
          top: 1rem;
          padding-left: 1rem;
          padding-right: 1rem;
        }
        .modal-galeria-close .text-2xl {
          font-size: 1.55rem;
        }
        .modal-galeria-nav-btn {
          width: 3.75rem;
          height: 3.75rem;
          border-width: 2px;
        }
        #hero-content {
          padding-top: clamp(3rem, 12vh, 5rem);
        }
        .hero-bee-wrap {
          width: min(96vw, 24rem);
          margin-top: clamp(0.75rem, 4vh, 1.75rem);
          margin-bottom: 0.9rem;
        }
        .hero-bee-image {
          height: clamp(9rem, 27vh, 14rem);
        }
      }
      @media (min-width: 768px) {
        .hero-actions button,
        .hero-actions a {
          width: auto;
        }
      }
      @media (min-width: 1024px) {
        .section-pad {
          padding-top: 6rem;
          padding-bottom: 6rem;
        }
      }
      @media (prefers-reduced-motion: reduce) {
        .hero-bee-image {
          animation: none;
        }
      }
    