   *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { font-family: 'DM Sans', sans-serif; background: #faf9f7; color: #1c1917; }

    /* ── Hero ── */
    .hero-bg {
      background: linear-gradient(135deg, #1c1917 0%, #2d2520 40%, #3b2b0e 100%);
      position: relative;
      overflow: hidden;
    }
    .hero-bg::before {
      content: '';
      position: absolute; inset: 0;
      background: url('IMG_4767.jpeg') center/cover no-repeat;
      opacity: 0.18;
    }
    .hero-grain {
      position: absolute; inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
      pointer-events: none;
    }

    /* ── Typography ── */
    .font-display { font-family: 'Playfair Display', serif; }

    /* ── Gold accent ── */
    .text-gold { color: #bfa268; }
    .bg-gold { background: #bfa268; }
    .border-gold { border-color: #bfa268; }

    /* ── Cards ── */
    .house-card {
      background: #fff;
      border-radius: 2px;
      overflow: hidden;
      transition: transform 0.35s cubic-bezier(.25,.46,.45,.94), box-shadow 0.35s ease;
      box-shadow: 0 2px 16px rgba(0,0,0,0.06);
    }
    .house-card:hover { transform: translateY(-6px); box-shadow: 0 16px 48px rgba(0,0,0,0.13); }
    .house-card img { transition: transform 0.55s cubic-bezier(.25,.46,.45,.94); }
    .house-card:hover img { transform: scale(1.04); }

    /* ── Divider ornament ── */
    .ornament::before, .ornament::after {
      content: ''; display: inline-block; width: 48px; height: 1px;
      background: #bfa268; vertical-align: middle; margin: 0 14px;
    }

    /* ── Nav ── */
    .nav-scrolled { background: rgba(28,25,23,0.97) !important; backdrop-filter: blur(12px); }

    /* ── Sections ── */
    .section-reveal { opacity: 0; transform: translateY(40px); }

    /* ── Form ── */
    .form-input {
      background: transparent;
      border: 1px solid #d6d0c6;
      padding: 14px 18px;
      font-family: 'DM Sans', sans-serif;
      font-size: 15px;
      color: #1c1917;
      outline: none;
      transition: border-color 0.2s, box-shadow 0.2s;
      border-radius: 1px;
      width: 100%;
    }
    .form-input:focus { border-color: #bfa268; box-shadow: 0 0 0 3px rgba(191,162,104,0.12); }
    .form-input::placeholder { color: #a09880; }

    /* ── Scrollbar ── */
    ::-webkit-scrollbar { width: 6px; }
    ::-webkit-scrollbar-track { background: #f5f2ec; }
    ::-webkit-scrollbar-thumb { background: #bfa268; border-radius: 3px; }

    a:hover { color: #bfa268; }