    body {
      background-color: var(--black);
      color: var(--parchment);
      font-family: 'Cormorant Garamond', serif;
      font-weight: 300;
      cursor: default;
    }

    body::before { opacity: 0.035; }

    ::-webkit-scrollbar-track { background: var(--black); }
    ::-webkit-scrollbar-thumb { background: var(--gold); }

    /* ─── NAV ─── */

    .nav-logo {
      font-size: 0.75rem; letter-spacing: 0.35em; text-transform: uppercase;
      color: var(--gold); font-weight: 400; text-decoration: none;
    }

    .nav-links { display: none; }

    .nav-links a {
      font-size: 0.7rem; letter-spacing: 0.3em; text-transform: uppercase;
      color: var(--mist); text-decoration: none; transition: color 0.4s ease;
    }
    .nav-links a:hover, .nav-links a:active { color: var(--gold-light); }
    .nav-links a[aria-current="page"] { color: var(--gold); }

    /* HAMBURGER */

    /* MOBILE MENU */
    .mobile-menu {
      display: none; position: fixed; inset: 0;
      background: rgba(6,5,4,0.97); z-index: 150;
      flex-direction: column; align-items: center; justify-content: center; gap: 2.5rem;
      padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
    }
    .mobile-menu.open { display: flex; }
    .mobile-menu a {
      font-size: 1.4rem; font-style: italic; color: var(--mist);
      text-decoration: none; letter-spacing: 0.1em; transition: color 0.3s ease;
    }
    .mobile-menu a:active { color: var(--gold-light); }
    .mobile-room-link {
      font-size: 0.75rem; font-style: normal;
      letter-spacing: 0.3em; text-transform: uppercase; margin-top: 1rem;
    }

    /* ─── HERO ─── */
    .hero {
      min-height: 100vh; min-height: 100dvh;
      display: flex; flex-direction: column;
      justify-content: center; align-items: center; text-align: center;
      padding: 8rem 5vw 5rem; position: relative; overflow: hidden;
    }

    .hero-bg {
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 80% 60% at 50% 40%, rgba(212,168,67,0.07) 0%, transparent 65%),
        radial-gradient(ellipse 40% 40% at 80% 80%, rgba(212,168,67,0.03) 0%, transparent 60%),
        linear-gradient(180deg, #0c0b09 0%, #14120f 60%, #0c0b09 100%);
    }

    .hero-eyebrow {
      font-size: 0.62rem; letter-spacing: 0.55em; text-transform: uppercase;
      color: var(--gold); opacity: 0;
      animation: fadeInUp 1s ease forwards 0.4s;
      margin-bottom: 2.5rem;
    }

    .hero-title {
      font-size: clamp(2.2rem, 5.5vw, 6rem);
      font-weight: 300; line-height: 1.08;
      color: var(--cream); max-width: 54rem;
      opacity: 0; animation: fadeInUp 1.2s ease forwards 0.7s;
      position: relative;
    }

    .hero-title em { font-style: italic; color: var(--gold-light); }

    .hero-divider {
      width: 1px; height: 3rem;
      background: linear-gradient(to bottom, var(--gold), transparent);
      margin: 2.5rem auto;
      opacity: 0; animation: fadeIn 1s ease forwards 1.2s;
    }

    .hero-sub {
      font-size: clamp(1rem, 1.8vw, 1.3rem); font-style: italic;
      color: var(--mist); max-width: 38rem; line-height: 1.9;
      opacity: 0; animation: fadeInUp 1s ease forwards 1.4s;
    }

    .hero-cta {
      margin-top: 3rem; opacity: 0;
      animation: fadeInUp 1s ease forwards 1.8s;
    }

    /* ─── SHARED SECTION SHELL ─── */
    section { padding: 5rem 5vw; position: relative; }
    .section-inner { max-width: 60rem; margin: 0 auto; }

    /* ─── VALUE PROPOSITION ─── */
    .value { background: var(--charcoal); }

    .value-text {
      font-size: clamp(1.2rem, 2vw, 1.6rem);
      font-weight: 300; line-height: 1.85;
      color: var(--parchment); max-width: 48rem;
      margin: 0 auto; text-align: center;
    }

    .value-text em { color: var(--gold-light); font-style: italic; }

    .value-rule {
      width: 1px; height: 4rem;
      background: linear-gradient(to bottom, transparent, var(--gold), transparent);
      margin: 3rem auto 0;
    }

    /* ─── OFFERINGS ─── */
    .offerings { background: var(--void); }

    .offerings-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2px;
      margin-top: 3rem;
    }

    .offering {
      padding: 3rem 2.5rem;
      background: rgba(255,255,255,0.015);
      position: relative; overflow: hidden;
      transition: background 0.5s ease, transform 0.5s ease;
    }

    .offering::before {
      content: '';
      position: absolute; top: 0; left: 0;
      width: 100%; height: 2px;
      background: linear-gradient(to right, transparent, var(--gold), transparent);
      opacity: 0; transition: opacity 0.5s ease;
    }

    .offering:hover { background: rgba(212,168,67,0.04); transform: translateY(-3px); }
    .offering:hover::before { opacity: 0.8; }

    .offering-num {
      font-size: 0.6rem; letter-spacing: 0.4em; text-transform: uppercase;
      color: rgba(212,168,67,0.45); display: block; margin-bottom: 1.5rem;
    }

    .offering-title {
      font-size: 1.3rem; font-weight: 400;
      color: var(--cream); margin-bottom: 1rem;
      line-height: 1.3;
    }

    .offering-dash {
      width: 2rem; height: 1px;
      background: rgba(212,168,67,0.4);
      margin-bottom: 1.2rem;
    }

    .offering-desc {
      font-size: 1rem; font-style: italic;
      color: var(--mist); line-height: 1.8;
    }

    /* ─── PROCESS ─── */
    .process { background: var(--charcoal); }

    .process-steps {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0;
      margin-top: 3rem;
      border: 1px solid rgba(212,168,67,0.45);
    }

    .step {
      padding: 3rem 2.5rem;
      border-right: 1px solid rgba(212,168,67,0.22);
      transition: background 0.4s ease;
    }

    .step:last-child { border-right: none; }
    .step:hover { background: rgba(212,168,67,0.03); }

    .step-num {
      font-size: 3.5rem; font-weight: 300;
      color: rgba(212,168,67,0.15);
      line-height: 1; font-style: italic;
      margin-bottom: 1.5rem; display: block;
    }

    .step-title {
      font-size: 1.1rem; font-weight: 400;
      color: var(--cream); margin-bottom: 0.8rem;
      letter-spacing: 0.02em;
    }

    .step-desc {
      font-size: 0.95rem; font-style: italic;
      color: var(--mist); line-height: 1.8;
    }

    /* ─── CONTACT FORM ─── */
    .contact-section { background: var(--black); }

    .contact-intro {
      font-size: clamp(1rem, 1.6vw, 1.25rem);
      font-style: italic; color: var(--mist);
      text-align: center; max-width: 36rem;
      margin: 0 auto 3.5rem; line-height: 1.85;
    }

    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.5rem;
      max-width: 52rem; margin: 0 auto;
    }

    .form-field { display: flex; flex-direction: column; gap: 0.5rem; }
    .form-field--full { grid-column: 1 / -1; }

    .form-field label {
      font-size: 0.62rem; letter-spacing: 0.4em;
      text-transform: uppercase; color: var(--gold);
      opacity: 0.8;
    }

    .form-field input,
    .form-field textarea {
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(212,168,67,0.38);
      color: var(--parchment);
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.05rem; font-weight: 300;
      padding: 0.9rem 1.1rem;
      width: 100%;
      outline: none;
      transition: border-color 0.4s ease, background 0.4s ease;
      -webkit-appearance: none;
      border-radius: 0;
    }

    .form-field input::placeholder,
    .form-field textarea::placeholder {
      color: rgba(168,159,140,0.35);
      font-style: italic;
    }

    .form-field input:focus,
    .form-field textarea:focus {
      border-color: rgba(212,168,67,0.55);
      background: rgba(212,168,67,0.03);
    }

    .form-field textarea {
      resize: vertical;
      min-height: 9rem;
      line-height: 1.7;
    }

    .form-submit {
      grid-column: 1 / -1;
      display: flex; justify-content: center;
      margin-top: 1rem;
    }

    /* ─── FOOTER ─── */



    /* ─── RESPONSIVE ─── */
    @media (max-width: 768px) {
        .offerings-grid { grid-template-columns: 1fr; }
      .process-steps { grid-template-columns: 1fr; }
      .step { border-right: none; border-bottom: 1px solid rgba(212,168,67,0.22); }
      .step:last-child { border-bottom: none; }
      .form-grid { grid-template-columns: 1fr; }
      footer { flex-direction: column; gap: 1rem; text-align: center; }
    }

    @media (max-width: 480px) {
      section { padding: 3.5rem 4vw; }
      .hero { padding: 6rem 4vw 4rem; }
      .offering { padding: 2.5rem 1.8rem; }
      .step { padding: 2.5rem 1.8rem; }
      footer { padding: 2rem 4vw; padding-bottom: calc(2rem + env(safe-area-inset-bottom)); }
    }

    .form-legal-note { text-align: center; padding-top: 0.5rem; }
    .form-legal-text { font-family: 'Cormorant Garamond', serif; font-size: 0.75rem; font-style: italic; color: var(--mist); opacity: 0.7; line-height: 1.8; }
    .form-legal-link { color: var(--gold); text-decoration: none; border-bottom: 1px solid rgba(212,168,67,0.35); }
    .form-legal-link:hover { color: var(--gold-light); border-color: var(--gold-light); }
