*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

    :root {
      --bg:        #0c0c0c;
      --bg-alt:    #131313;
      --text:      #f0ede8;
      --muted:     #7a7572;
      --accent:    #c8a96a;
      --border:    #1e1e1e;
    }

    html { scroll-behavior: smooth; }

    body {
      background: var(--bg);
      color: var(--text);
      font-family: 'Inter', sans-serif;
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }

    /* ─── HEADER ─── */
    header {
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 2.5rem 2rem 2rem;
      border-bottom: 1px solid var(--border);
    }

        /* ─── LOGO IMAGE ─── */
    .logo-img {
      height: 158px;
      width: auto;
      mix-blend-mode: screen;
      display: block;
    }

    /* ─── NAV ─── */
    nav {
      display: flex;
      justify-content: center;
      gap: 2.5rem;
      padding: 1rem 2rem;
      border-bottom: 1px solid var(--border);
    }
    nav a {
      color: var(--muted);
      text-decoration: none;
      font-size: 0.78rem;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      transition: color 0.2s;
    }
    nav a:hover { color: var(--accent); }

    /* ─── HERO ─── */
    .hero {
      text-align: center;
      padding: 9rem 2rem 8rem;
      max-width: 820px;
      margin: 0 auto;
    }
    .hero-eyebrow {
      display: inline-block;
      font-size: 0.7rem;
      letter-spacing: 0.38em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 1.75rem;
    }
    .hero h1 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2.6rem, 6vw, 4.8rem);
      font-weight: 700;
      line-height: 1.08;
      letter-spacing: -0.01em;
      margin-bottom: 1.75rem;
    }
    .hero h1 em {
      font-style: italic;
      color: var(--accent);
    }
    .hero p {
      font-size: 1.05rem;
      color: var(--muted);
      max-width: 540px;
      margin: 0 auto 3rem;
      line-height: 1.8;
    }
    .btn {
      display: inline-block;
      padding: 1rem 2.8rem;
      background: var(--accent);
      color: #0c0c0c;
      font-family: 'Inter', sans-serif;
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      text-decoration: none;
      transition: opacity 0.2s;
      margin-right: 1rem;
    }
    .btn:hover { opacity: 0.82; }
    .btn-ghost {
      display: inline-block;
      padding: 1rem 2.2rem;
      border: 1px solid var(--border);
      color: var(--muted);
      font-family: 'Inter', sans-serif;
      font-size: 0.75rem;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      transition: border-color 0.2s, color 0.2s;
    }
    .btn-ghost:hover { border-color: var(--muted); color: var(--text); }

    /* ─── DIVIDER ─── */
    .divider {
      width: 40px;
      height: 1px;
      background: var(--accent);
      margin: 0 auto;
      opacity: 0.5;
    }

    /* ─── SERVICES STRIP ─── */
    .services-strip {
      display: flex;
      justify-content: center;
      gap: 0;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }
    .service-item {
      flex: 1;
      max-width: 300px;
      padding: 2.5rem 2rem;
      text-align: center;
      border-right: 1px solid var(--border);
    }
    .service-item:last-child { border-right: none; }
    .service-icon {
      font-size: 1.4rem;
      margin-bottom: 0.75rem;
    }
    .service-item h3 {
      font-family: 'Playfair Display', serif;
      font-size: 1rem;
      font-weight: 700;
      margin-bottom: 0.5rem;
    }
    .service-item p {
      font-size: 0.82rem;
      color: var(--muted);
      line-height: 1.7;
    }

    /* ─── ABOUT ─── */
    .about {
      padding: 7rem 2rem;
      background: var(--bg-alt);
      border-bottom: 1px solid var(--border);
    }
    .about-inner {
      max-width: 680px;
      margin: 0 auto;
      text-align: center;
    }
    .section-label {
      display: block;
      font-size: 0.68rem;
      letter-spacing: 0.4em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 1.5rem;
    }
    .about h2 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.8rem, 3.5vw, 2.6rem);
      font-weight: 400;
      line-height: 1.25;
      margin-bottom: 2rem;
    }
    .about p {
      font-size: 0.97rem;
      color: var(--muted);
      line-height: 1.9;
      margin-bottom: 1.25rem;
    }
    .about p:last-of-type { margin-bottom: 0; }

    .about-body {
      display: flex;
      align-items: flex-start;
      gap: 2.5rem;
      text-align: left;
    }
    .about-headshot {
      width: 140px;
      height: 140px;
      object-fit: cover;
      object-position: center top;
      border-radius: 50%;
      flex-shrink: 0;
      border: 2px solid var(--border);
    }
    .about-text { flex: 1; }

    /* ─── BOOKING ─── */
    .booking {
      padding: 8rem 2rem;
      text-align: center;
      background: var(--bg-alt);
      border-top: 1px solid var(--border);
    }
    .booking-inner {
      max-width: 640px;
      margin: 0 auto;
    }
    .booking-inner h2 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2rem, 4vw, 3rem);
      font-weight: 700;
      margin-bottom: 1.25rem;
      line-height: 1.15;
    }
    .booking-inner p {
      font-size: 1rem;
      color: var(--muted);
      line-height: 1.85;
      margin-bottom: 3rem;
      max-width: 480px;
      margin-left: auto;
      margin-right: auto;
    }
    .booking-cards {
      display: flex;
      justify-content: center;
      gap: 1px;
      background: var(--border);
      border: 1px solid var(--border);
      max-width: 560px;
      margin: 0 auto 3rem;
    }
    .booking-card {
      flex: 1;
      background: var(--bg);
      padding: 2rem 1.5rem;
      text-align: center;
    }
    .booking-card .card-icon {
      font-size: 1.5rem;
      margin-bottom: 0.75rem;
      display: block;
    }
    .booking-card h4 {
      font-family: 'Playfair Display', serif;
      font-size: 1.05rem;
      font-weight: 700;
      margin-bottom: 0.4rem;
      color: var(--text);
    }
    .booking-card p {
      font-size: 0.78rem;
      color: var(--muted);
      margin-bottom: 0;
      line-height: 1.6;
    }
    .btn-calendly {
      display: inline-block;
      padding: 1.1rem 3.2rem;
      background: var(--accent);
      color: #0c0c0c;
      font-family: 'Inter', sans-serif;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      text-decoration: none;
      cursor: pointer;
      border: none;
      transition: opacity 0.2s;
    }
    .btn-calendly:hover { opacity: 0.82; }
    .booking-note {
      margin-top: 1.25rem;
      font-size: 0.72rem;
      color: var(--muted);
      letter-spacing: 0.08em;
    }

    /* ─── FOOTER ─── */
    footer {
      padding: 2.5rem 2rem;
      text-align: center;
      border-top: 1px solid var(--border);
      font-size: 0.75rem;
      color: var(--muted);
      letter-spacing: 0.05em;
    }
    footer a {
      color: var(--muted);
      text-decoration: none;
      transition: color 0.2s;
    }
    footer a:hover { color: var(--accent); }

    /* ─── RESPONSIVE ─── */
    /* ─── TABLET ─── */
    @media (max-width: 860px) {
      .booking-cards { max-width: 100%; }
    }

    /* ─── MOBILE ─── */
    @media (max-width: 640px) {
      /* Header & logo */
      header { padding: 1.5rem 1rem; }
      .logo-img { height: 112px; }

      /* Nav: tighten gap, allow wrap */
      nav {
        gap: 1.2rem;
        padding: 0.85rem 1rem;
        flex-wrap: wrap;
      }
      nav a { font-size: 0.72rem; letter-spacing: 0.12em; }

      /* Hero */
      .hero { padding: 4.5rem 1.25rem 4rem; }
      .hero-eyebrow { font-size: 0.65rem; letter-spacing: 0.25em; }
      .hero p { font-size: 0.95rem; }
      .btn, .btn-ghost {
        display: block;
        width: 100%;
        text-align: center;
        margin-right: 0;
        margin-bottom: 0.75rem;
      }

      /* Services strip: stack vertically */
      .services-strip { flex-direction: column; }
      .service-item {
        border-right: none;
        border-bottom: 1px solid var(--border);
        max-width: 100%;
        padding: 2rem 1.5rem;
      }
      .service-item:last-child { border-bottom: none; }

      /* About */
      .about { padding: 4.5rem 1.25rem; }
      .about-body { flex-direction: column; align-items: center; text-align: center; gap: 1.5rem; }
      .about-headshot { width: 110px; height: 110px; }

      /* Booking */
      .booking { padding: 4.5rem 1.25rem; }
      .booking-inner p { margin-bottom: 2rem; }
      .booking-cards {
        flex-direction: column;
        gap: 0;
        max-width: 100%;
      }
      .booking-card {
        border-bottom: 1px solid var(--border);
        padding: 1.5rem 1.25rem;
      }
      .booking-card:last-child { border-bottom: none; }
      .btn-calendly {
        display: block;
        width: 100%;
        padding: 1.1rem 1rem;
      }

      /* Footer */
      footer { padding: 2rem 1.25rem; font-size: 0.7rem; }
    }
