:root {
    --cream:      #F5F1EB;
    --warm-white: #FAF8F5;
    --stone:      #C8BFB0;
    --sage:       #7A8C7E;
    --sage-deep:  #4E6352;
    --charcoal:   #2A2A28;
    --ink:        #1A1A18;
    --gold:       #A8915A;
    --gold-light: #C8A96A;
    --mist:       #E8E2D9;
  }
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; font-size: 16px; }
  body { font-family: 'DM Sans', sans-serif; background: var(--warm-white); color: var(--charcoal); min-height: 100vh; line-height: 1.6; }

  /* ── NAV ── */
  nav {
    position: sticky; top: 0; z-index: 100;
    background: rgba(245,241,235,0.97);
    border-bottom: 1px solid var(--mist);
    backdrop-filter: blur(8px);
    padding: 0 3rem; height: 62px;
    display: flex; align-items: center; justify-content: space-between;
  }
  .nav-logo { display: flex; align-items: center; gap: 0.7rem; text-decoration: none; }
  .nav-brand { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; font-weight: 500; color: var(--ink); letter-spacing: 0.02em; }
  .nav-sub { font-size: 0.66rem; color: var(--sage); display: block; letter-spacing: 0.02em; }
  .nav-links { display: flex; align-items: center; gap: 2rem; list-style: none; }
  .nav-links a { font-size: 0.78rem; font-weight: 400; letter-spacing: 0.06em; text-transform: uppercase; color: var(--charcoal); text-decoration: none; transition: color 0.2s; }
  .nav-links a:hover { color: var(--sage-deep); }
  .nav-links a.active { color: var(--sage-deep); font-weight: 500; }
  .nav-cta { padding: 0.42rem 1.1rem; background: var(--sage-deep) !important; color: var(--cream) !important; border-radius: 2px; font-size: 0.74rem !important; }
  .nav-cta:hover { background: var(--sage) !important; }

  /* ── PAGE WRAP ── */
  .page { max-width: 960px; margin: 0 auto; padding: 2.5rem 1.5rem 5rem; }

  /* ── PAGE HEADER ── */
  .page-header { margin-bottom: 2.2rem; }
  .eyebrow-row { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 0.7rem; }
  .eyebrow-tag {
    font-size: 0.62rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--sage); display: flex; align-items: center; gap: 0.5rem;
  }
  .eyebrow-tag::before { content: ''; display: block; width: 18px; height: 1px; background: var(--sage); }
  .eyebrow-divider { width: 1px; height: 12px; background: var(--stone); }
  .page-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.6rem; font-weight: 300; color: var(--ink); line-height: 1.1; margin-bottom: 0.65rem;
  }
  .page-intro {
    font-size: 0.93rem; font-weight: 300; line-height: 1.75; color: #5a5a56;
    max-width: 580px;
  }

  /* ── MAIN CARD ── */
  .hiw-card {
    background: white; border: 1px solid var(--mist); border-radius: 8px;
    overflow: hidden; margin-bottom: 1.5rem;
  }

  /* ── TWO-COL GRID ── */
  .hiw-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid var(--mist);
  }
  .hiw-col { padding: 2rem 2.2rem; }
  .hiw-col:first-child { border-right: 1px solid var(--mist); }
  .col-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.55rem; font-weight: 400; color: var(--ink); margin-bottom: 0.6rem;
  }
  .col-desc {
    font-size: 0.84rem; font-weight: 300; line-height: 1.7; color: #5a5a56;
    margin-bottom: 1.6rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--mist);
  }

  /* ── STEPS ── */
  .steps { display: flex; flex-direction: column; gap: 0; }
  .step-item { display: flex; gap: 1rem; padding: 1rem 0; position: relative; }
  .step-item:not(:last-child) { border-bottom: 1px solid var(--mist); }

  .step-num-wrap { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 0; }
  .step-num {
    width: 28px; height: 28px; border-radius: 50%;
    background: var(--sage-deep); color: white;
    font-size: 0.74rem; font-weight: 600;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; letter-spacing: 0;
  }
  .step-num.buyer { background: rgba(78,99,82,0.15); color: var(--sage-deep); }

  .step-body { flex: 1; min-width: 0; }
  .step-name {
    font-size: 0.88rem; font-weight: 600; color: var(--ink);
    margin-bottom: 0.3rem; line-height: 1.3;
  }
  .step-name a { color: var(--sage-deep); text-decoration: underline; text-underline-offset: 2px; font-weight: 600; }
  .step-text {
    font-size: 0.81rem; font-weight: 300; color: #5a5a56; line-height: 1.65;
  }
  .step-list {
    list-style: none; margin-top: 0.5rem; display: flex; flex-direction: column; gap: 0.25rem;
  }
  .step-list li { font-size: 0.8rem; font-weight: 300; color: #5a5a56; display: flex; align-items: baseline; gap: 0.45rem; }
  .step-list li::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: var(--stone); flex-shrink: 0; margin-top: 0.45em; }

  /* ── ADDITIONAL NOTES ── */
  .notes-section { padding: 1.6rem 2.2rem; }
  .notes-label {
    font-size: 0.62rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--sage); margin-bottom: 1rem; display: flex; align-items: center; gap: 0.5rem;
  }
  .notes-label::before { content: ''; display: block; width: 16px; height: 1px; background: var(--sage); }
  .notes-list { display: flex; flex-direction: column; gap: 0.55rem; }
  .notes-list li {
    font-size: 0.83rem; font-weight: 300; color: #5a5a56; line-height: 1.6;
    display: flex; align-items: baseline; gap: 0.55rem;
  }
  .notes-list li::before {
    content: ''; width: 5px; height: 5px; border-radius: 50%;
    background: var(--stone); flex-shrink: 0; margin-top: 0.45em;
  }

  /* ── CTA BAND ── */
  .cta-band {
    background: var(--ink); border-radius: 8px;
    padding: 2.2rem 2.6rem; display: flex; align-items: center; justify-content: space-between;
    gap: 2rem; flex-wrap: wrap;
  }
  .cta-band-text h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.6rem; font-weight: 300; color: var(--cream); margin-bottom: 0.3rem;
  }
  .cta-band-text p { font-size: 0.83rem; font-weight: 300; color: var(--stone); line-height: 1.6; }
  .cta-band-actions { display: flex; gap: 0.8rem; flex-wrap: wrap; flex-shrink: 0; }
  .btn-cream {
    padding: 0.72rem 1.6rem; background: var(--cream); color: var(--ink);
    font-size: 0.82rem; font-weight: 500; border: none; border-radius: 2px;
    cursor: pointer; font-family: 'DM Sans', sans-serif; letter-spacing: 0.04em;
    text-decoration: none; display: inline-block; transition: background 0.2s;
  }
  .btn-cream:hover { background: var(--stone); }
  .btn-outline-cream {
    padding: 0.72rem 1.4rem; background: transparent; color: var(--cream);
    font-size: 0.82rem; font-weight: 400; border: 1px solid rgba(200,191,176,0.4); border-radius: 2px;
    cursor: pointer; font-family: 'DM Sans', sans-serif; letter-spacing: 0.02em;
    text-decoration: none; display: inline-block; transition: border-color 0.2s;
  }
  .btn-outline-cream:hover { border-color: rgba(200,191,176,0.7); }

  /* ── FOOTER ── */
  footer {
    background: var(--cream); border-top: 1px solid var(--mist);
    padding: 1.4rem 3rem; margin-top: 0;
    display: flex; justify-content: space-between; align-items: center;
    font-size: 0.74rem; color: var(--sage);
  }