    *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    :root {
      --cream: #FFFFFF;
      --dark: #000000;
      --rust: #C44B2B;
      --teal: #3A5E55;
      --gold: #B8963E;
      --text: #2A2A27;
      --muted: #6B6B65;
    }

    body {
      font-family: "Noto Sans", sans-serif;
      background: var(--cream);
      color: var(--text);
      overflow-x: hidden;
      padding: 40px 80px;
    }

    /* NAV */
    nav {
      position: relative;
      top: 0;
      left: 0;
      right: 0;
      z-index: 100;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-bottom: 28px;
      background: #FFFFFF;
      backdrop-filter: blur(8px);
    }

    .logo {
      display: flex;
      align-items: center;
      text-decoration: none;
    }

    .logo img {
      width: 278px;
      height: 59px;
    }

    .nav-cta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: var(--dark);
      color: var(--cream);
      border: none;
      padding: 12px 28px;
      border-radius: 30px;
      font-family: "Noto Sans", sans-serif;
      font-size: 16px;
      font-weight: 400;
      letter-spacing: 0.06em;
      cursor: pointer;
      text-decoration: none;
      transition: background 0.2s;
    }

    .nav-cta:hover {
      background: #333;
    }

    .nav-cta-arrow {
      width: 12px;
      height: 12px;
      margin-left: 5px;
    }

  /* HERO */
  .hero {
      position: relative;
      width: 100%;
      height: 100vh;
      min-height: 600px;
      overflow: hidden;
      border-radius: 20px;
      margin-bottom: 40px;
  }

  .hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

    @keyframes bounce {

      0%,
      100% {
        transform: translateX(-50%) translateY(0);
      }

      50% {
        transform: translateX(-50%) translateY(6px);
      }
    }

    /* SECTION: PROPERTY FEATURE */
    .property-section {
      display: grid;
      grid-template-columns: 1.8fr 1fr;
      min-height: 60vh;
      padding-bottom: 28px;
      gap: 20px;
    }

    .property-image {
      position: relative;
      width: 100%;
      height: 100%;
      overflow: hidden;
      border-radius: 20px;
    }

    .property-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: none;
      position: absolute;
      top: 0;
      left: 0;
      border-radius: 30px;
      animation: fadeIn 0.8s ease;
    }

    .property-image img.active {
      display: block;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }
      to {
        opacity: 1;
      }
    }

    .slideshow-controls {
      position: absolute;
      top: 50%;
      width: 100%;
      display: flex;
      justify-content: space-between;
      padding: 0 20px;
      transform: translateY(-50%);
      pointer-events: none;
    }

    .slide-btn {
      pointer-events: all;
      background: rgba(0, 0, 0, 0.5);
      color: white;
      border: none;
      font-size: 24px;
      padding: 12px 16px;
      cursor: pointer;
      border-radius: 4px;
      transition: background 0.3s;
    }

    .slide-btn:hover {
      background: rgba(0, 0, 0, 0.8);
    }

    .slideshow-dots {
      position: absolute;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: 10px;
      z-index: 10;
    }

    .dot {
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.6);
      cursor: pointer;
      transition: background 0.3s;
    }

    .dot.active {
      background: rgba(255, 255, 255, 1);
    }

    .property-content {
      background: #F2F2F2;
      padding: 40px 40px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      border-radius: 20px;
      gap: 10px;
    }

    .property-content h2 {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(28px, 3vw, 36px);
      font-weight: 500;
      color: var(--dark);
      line-height: 1.2;
      margin-bottom: 24px;
    }

    .property-content p {
      font-size: 16px;
      line-height: 24px;
      color: var(--dark);
      font-weight: 400;
      margin-bottom: 36px;
      max-width: 420px;
    }

    .btn-group {
      display: flex;
      flex-direction: column;
      gap: 20px;
      align-items: flex-start;
    }

    .btn-dark {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: var(--dark);
      color: var(--cream);
      border: none;
      padding: 13px 28px;
      border-radius: 30px;
      font-family: "Noto Sans", sans-serif;
      font-size: 14px;
      font-weight: 400;
      letter-spacing: 0.08em;
      cursor: pointer;
      text-decoration: none;
      transition: background 0.2s;
      text-transform: uppercase;
    }

    .btn-dark:hover {
      background: #333;
    }

    .btn-dark .arrow {
      width: 12px;
      height: 12px;
      margin-left: 5px;
    }

    /* RESPONSIVE */
    /* RESPONSIVE */
    @media (max-width: 1399px) {
      .hero{
        height: 100%;
        min-height: inherit;
      }
      .hero-video {
        object-fit: contain;
      }
    }
    
    @media (max-width: 1200px) {
      body {
        padding: 32px 40px;
      }

      .logo img {
        width: 220px;
        height: auto;
      }

      .property-content {
        padding: 20px;
      }
    }

    @media (max-width: 900px) {
      body {
        padding: 24px;
      }

      nav {
        padding-bottom: 24px;
      }

      .logo img {
        width: 180px;
        height: auto;
      }

      .nav-cta {
        padding: 10px 22px;
        font-size: 14px;
      }

      .property-section {
        grid-template-columns: 1fr;
      }

      .property-image {
        height: 420px;
      }

      .property-content {
        padding: 40px 32px;
      }

      .property-content p {
        max-width: 100%;
      }
    }

    @media (max-width: 768px) {
      body {
        padding: 20px;
      }

      nav {
        gap: 20px;
        align-items: flex-start;
      }

      .hero {
        height: 100%;
        min-height: inherit;
        margin-bottom: 20px;
      }

      .hero-bg {
        border-radius: 16px;
      }

      .property-section {
        gap: 16px;
        padding-bottom: 20px;
      }

      .property-image {
        height: 320px;
      }

      .property-image img {
        border-radius: 20px;
      }

      .property-content {
        border-radius: 20px;
        padding: 32px 24px;
      }

      .property-content h2 {
        margin-bottom: 18px;
      }

      .property-content p {
        font-size: 15px;
        line-height: 24px;
        margin-bottom: 28px;
      }

      .btn-group {
        width: 100%;
      }

      .btn-dark {
        width: 100%;
        justify-content: center;
        text-align: center;
      }

      .hero-video {
        object-fit: contain;
      }
      .hero {
          height: auto;
          min-height: inherit;
      }
    }

    @media (max-width: 576px) {
      body {
        padding: 16px;
      }

      nav {
        padding-bottom: 18px;
      }

      .nav-cta {
        justify-content: center;
        font-size: 13px;
        padding: 10px 18px;
      }

      .hero-bg {
        border-radius: 14px;
      }

      .property-image {
        height: 260px;
      }

      .property-content {
        padding: 24px 18px;
      }

      .property-content h2 {
        font-size: 28px;
        line-height: 1.2;
      }

      .property-content p {
        font-size: 14px;
        line-height: 22px;
        margin-bottom: 24px;
      }

      .btn-dark {
        font-size: 12px;
        padding: 12px 16px;
      }
    }

    @media (max-width: 380px) {
      body {
        padding: 12px;
      }

      .property-image {
        height: 220px;
      }

      .property-content {
        padding: 20px 16px;
      }

      .property-content h2 {
        font-size: 24px;
      }

      .property-content p {
        font-size: 13px;
        line-height: 20px;
      }
    }