:root {
      --ink:       #0e0e0e;
      --ink-soft:  #383838;
      --ink-muted: #888;
      --parchment: #faf7f2;
      --warm:      #f2ece0;
      --gold:      #b8922a;
      --gold-lt:   #d4ac52;
      --ivory:     #fffdf8;
      --border:    #e6e0d4;
      --forest:    #1a3d2e;
      --forest-lt: #2a5c44;
      --white:     #ffffff;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { background: var(--ivory); font-family: 'Jost', sans-serif; color: var(--ink); font-weight: 300; letter-spacing: 0.01em; overflow-x: hidden; }
    h1, h2, h3, h4, h5, .serif { font-family: 'Cormorant Garamond', serif; }
    ::-webkit-scrollbar { width: 3px; }
    ::-webkit-scrollbar-track { background: transparent; }
    ::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 2px; }

    /* ─── SECTION BASE ─── */
    .section { display: none; animation: fadeUp 0.4s ease; }
    @keyframes fadeUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
    .section-wrap { max-width: 1320px; margin: 0 auto; padding: 70px 36px; }
    .section-wrap-sm { max-width: 860px; margin: 0 auto; padding: 70px 36px; }
    .section-eyebrow { font-size: 0.65rem; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
    .section-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; color: var(--ink); line-height: 1.15; margin-bottom: 14px; }
    .rule { width: 40px; height: 1.5px; background: var(--gold); margin: 0 auto 48px; }
    .rule-left { margin: 0 0 36px; }

    
/* ─── CARDS ─── */
    .card-clean { background: var(--white); border: 1px solid var(--border); border-radius: 4px; padding: 28px; transition: box-shadow 0.25s, transform 0.25s; }
    .card-clean:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.07); transform: translateY(-2px); }
    .card-dark { background: var(--forest); border: none; border-radius: 4px; padding: 28px; color: white; }
