/* Wellspring Editorial Layer
   This sits on top of wellspring-tokens.css + wellspring-site.css.
   Provides the editorial home-page treatment: floating-card hero,
   deep-forest strip, watermark display word, vertical 01/02/03 process,
   and photo-backdrop closing CTA.
   Update background-image URLs to point at /wp-content/uploads/wellspring/photos/
*/

  /* -------- Editorial layer — applied on top of site.css -------- */
  :root {
    --color-forest-deep: #3A4734;        /* Trinity-style deep forest for sections */
    --color-cream-warm:  #F0EBDD;        /* Slightly warmer cream */
  }

  /* Headlines: synthesized italic emphasis */
  .ed-h1 {
    font-family: var(--font-heading);
    font-size: clamp(40px, 6.5vw, 84px);
    line-height: 1.02;
    letter-spacing: -0.025em;
    color: var(--fg-primary);
    font-weight: 400;
    text-wrap: balance;
    margin: 0;
  }
  .ed-h2 {
    font-family: var(--font-heading);
    font-size: clamp(32px, 4.4vw, 56px);
    line-height: 1.06;
    letter-spacing: -0.022em;
    margin: 0;
    color: var(--fg-primary);
    font-weight: 400;
    text-wrap: balance;
  }
  .ed-em {
    font-style: italic;
    /* If synthesized italic looks rough at scale, swap font-family to a complementary italic */
  }

  /* Underlined italic text-link CTA */
  .ed-link {
    display: inline-block;
    font-family: var(--font-heading);
    font-style: italic;
    font-size: 18px;
    color: var(--fg-primary);
    text-decoration: none;
    padding-bottom: 4px;
    border-bottom: 1px solid currentColor;
    transition: color 220ms cubic-bezier(0.22,1,0.36,1);
  }
  .ed-link:hover { color: var(--color-forest); }
  .ed-link--on-deep { color: var(--color-cream-warm); }
  .ed-link--on-deep:hover { color: #fff; }

  /* HERO — floating cream card on darker photo backdrop */
  .ed-hero {
    background: var(--color-cream-warm);
    padding: 0;
    position: relative;
    overflow: hidden;
  }
  .ed-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 720px;
    position: relative;
  }
  @media (min-width: 900px) {
    .ed-hero__grid { grid-template-columns: 1fr 1fr; min-height: 880px; }
  }
  .ed-hero__photo {
    background-size: cover; background-position: center;
    min-height: 380px; position: relative;
    filter: brightness(0.78) saturate(0.95);
  }
  .ed-hero__photo--left  { background-image: url('/wp-content/uploads/wellspring/photos/elizabeth-sofa.jpg'); }
  .ed-hero__photo--right { background-image: url('/wp-content/uploads/wellspring/photos/sam-chair.jpg'); }
  .ed-hero__card {
    position: relative;
    background: var(--color-linen);
    padding: 48px 40px;
    display: grid; gap: 22px; align-content: center;
    box-shadow: 0 18px 48px rgba(46,42,36,0.14);
  }
  @media (min-width: 900px) {
    .ed-hero__card {
      position: absolute;
      top: 50%; left: 50%; transform: translate(-50%, -50%);
      width: min(640px, 80vw);
      padding: 56px 56px;
    }
    .ed-hero__photo { min-height: 100%; height: 100%; }
  }

  /* Mission strip — Trinity-style dark forest with cream */
  .ed-deep-strip {
    background: var(--color-forest-deep);
    color: var(--color-cream-warm);
    padding: 96px 0;
  }
  .ed-deep-strip .ed-h2 { color: var(--color-cream-warm); }
  .ed-deep-strip p { color: rgba(240,235,221,0.86); }

  /* Big watermark display word */
  .ed-watermark {
    position: relative;
    padding: 96px 0 80px;
    overflow: hidden;
  }
  .ed-watermark__word {
    position: absolute;
    left: 50%; top: 32px; transform: translateX(-50%);
    font-family: var(--font-heading);
    font-style: italic;
    font-size: clamp(120px, 22vw, 280px);
    color: rgba(112,128,107,0.10);
    letter-spacing: -0.04em;
    line-height: 1;
    pointer-events: none;
    user-select: none;
    white-space: nowrap;
  }
  .ed-watermark > .container { position: relative; z-index: 1; }

  /* Numbered 01 / 02 / 03 vertical process */
  .ed-process { display: grid; gap: 0; max-width: 880px; margin: 0 auto; }
  .ed-process__row {
    display: grid; grid-template-columns: 120px 1fr; gap: 32px;
    padding: 36px 0;
    align-items: start;
  }
  .ed-process__row + .ed-process__row { border-top: 1px solid rgba(46,42,36,0.12); }
  .ed-process__num {
    font-family: var(--font-heading);
    font-size: 56px;
    line-height: 1;
    color: var(--fg-primary);
    letter-spacing: -0.02em;
  }
  .ed-process__label {
    font-family: var(--font-eyebrow);
    font-size: 11.5px; letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--fg-primary);
    margin-bottom: 10px;
  }
  .ed-process__body {
    font-size: 16px; line-height: 1.6; color: var(--fg-secondary);
    max-width: 540px;
  }

  /* Path cards — lighter chrome, photo top */
  .ed-paths { display: grid; gap: 28px; }
  @media (min-width: 900px) { .ed-paths { grid-template-columns: 1fr 1fr; gap: 36px; } }
  .ed-path {
    background: transparent;
    display: grid; gap: 18px;
  }
  .ed-path__photo {
    aspect-ratio: 4 / 5;
    background-size: cover; background-position: center;
  }
  .ed-path__num {
    font-family: var(--font-eyebrow);
    font-size: 11.5px; letter-spacing: 0.24em; text-transform: uppercase;
    color: var(--fg-tertiary);
  }
  .ed-path h3 {
    font-family: var(--font-heading);
    font-size: clamp(28px, 3vw, 36px);
    letter-spacing: -0.02em;
    margin: 0; line-height: 1.1;
  }
  .ed-path p { font-size: 16px; line-height: 1.65; color: var(--fg-secondary); margin: 0; }

  /* Closing CTA over photo */
  .ed-closing {
    position: relative;
    min-height: 540px;
    background-image: url('/wp-content/uploads/wellspring/photos/couple-60.jpg');
    background-size: cover; background-position: center;
    display: grid; place-items: center;
  }
  .ed-closing::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(58,71,52,0.45) 0%, rgba(58,71,52,0.62) 100%);
  }
  .ed-closing__card {
    position: relative; z-index: 1;
    background: var(--color-linen);
    padding: 48px 56px;
    text-align: center;
    max-width: 640px;
    margin: 0 24px;
    box-shadow: 0 18px 48px rgba(0,0,0,0.18);
  }
