:root { --pr-bg:#f7f5f0; --pr-ink:#272522; --pr-muted:#746f67; --pr-tan:#a38360; --pr-line:rgba(39,37,34,.13); --pr-radius:24px; --pr-serif:'Playfair Display',Georgia,"Times New Roman",serif; }
.process-page { background:var(--pr-bg); color:var(--pr-ink); }
/* Shared editorial page width — aligned with the About Us mobile rhythm. */
.editorial-page .content-width {
  width: min(calc(100% - 64px), var(--max));
  margin-left: auto;
  margin-right: auto;
  min-width: 0;
}
.editorial-page .content-width > * { min-width: 0; }
.editorial-page .editorial-hero-copy,
.editorial-page .challenge-intro-copy,
.editorial-page .challenge-feature-copy,
.editorial-page .process-overview-copy,
.editorial-page .process-stage-copy,
.editorial-page .why-story-copy,
.editorial-page .why-closing { min-width: 0; }
.editorial-page h1,
.editorial-page h2,
.editorial-page h3,
.editorial-page p { overflow-wrap: break-word; }

.process-page .editorial-hero { position:relative; min-height:650px; overflow:hidden; color:#fff; }
.process-page .editorial-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.process-page .editorial-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(18,16,14,.77),rgba(18,16,14,.28) 68%,rgba(18,16,14,.06)); }
.process-page .editorial-hero-copy { position:relative; z-index:1; padding-top:230px; padding-bottom:88px; }
.page-eyebrow { margin:0 0 16px; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--pr-tan); }
.process-page .editorial-hero .page-eyebrow { color:rgba(255,255,255,.8); }
.process-page .editorial-hero h1 { max-width:870px; margin:0; font:400 clamp(48px,6vw,94px)/.96 var(--pr-serif); letter-spacing:-.045em; }
.process-page .editorial-hero h1 em { display:block; color:#e7cba9; font-style:normal; }
.hero-intro { max-width:570px; margin:25px 0 0; color:rgba(255,255,255,.85); font-size:15px; line-height:1.72; }
.section-space { margin-top:118px; }
.process-overview { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:clamp(42px,7vw,100px); }
.process-overview-copy h2,.process-journey-heading h2,.process-closing h2 { margin:0; font:400 clamp(36px,4.1vw,62px)/1.04 var(--pr-serif); letter-spacing:-.035em; }
.process-overview-copy>p:not(.page-eyebrow) { max-width:490px; margin:25px 0 0; color:var(--pr-muted); font-size:14px; line-height:1.82; }
.process-overview-note { display:flex; gap:10px; align-items:flex-start; max-width:440px; margin-top:29px; padding:17px 18px; border:1px solid var(--pr-line); border-radius:16px; color:#5e554b; background:#efe9df; font-size:12px; line-height:1.55; }
.process-overview-note span { color:var(--pr-tan); font-size:18px; }
.process-overview-image { min-height:520px; margin:0; overflow:hidden; border-radius:var(--pr-radius); }
.process-overview-image img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.process-overview-image:hover img { transform:scale(1.04); }
.process-journey-heading { max-width:640px; margin-bottom:48px; }
.process-timeline { border-top:1px solid var(--pr-line); }
.process-stage { display:grid; grid-template-columns:130px minmax(0,1fr) 280px; gap:34px; align-items:center; padding:27px 0; border-bottom:1px solid var(--pr-line); }
.process-stage-meta { display:flex; align-items:center; gap:13px; color:var(--pr-tan); font:400 30px/.9 var(--pr-serif); }
.process-stage-meta i { width:35px; height:1px; background:var(--pr-tan); }
.process-stage-copy h3 { margin:0; font:400 31px/1.04 var(--pr-serif); letter-spacing:-.025em; }
.process-stage-copy p { max-width:560px; margin:10px 0 0; color:var(--pr-muted); font-size:13px; line-height:1.72; }
.process-stage figure { height:165px; margin:0; overflow:hidden; border-radius:17px; }
.process-stage figure img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.process-stage:hover figure img { transform:scale(1.06); }

/* Process-only scroll reveal. The module adds .process-scroll-active only when animation is available. */
.process-item { position:relative; }
.process-item::before { content:""; position:absolute; left:0; top:0; width:3px; height:0; border-radius:999px; background:var(--pr-tan); transition:height .78s cubic-bezier(.22,1,.36,1) calc(var(--process-order, 0) * 85ms); }
.process-scroll-active .process-item { opacity:0; transform:translate3d(0,42px,0); transition:opacity .68s ease calc(var(--process-order, 0) * 85ms),transform .82s cubic-bezier(.22,1,.36,1) calc(var(--process-order, 0) * 85ms); will-change:opacity,transform; }
.process-scroll-active .process-item .process-stage-meta,
.process-scroll-active .process-item .process-stage-copy,
.process-scroll-active .process-item figure { transition:transform .82s cubic-bezier(.22,1,.36,1) calc(var(--process-order, 0) * 85ms),opacity .65s ease calc(var(--process-order, 0) * 85ms); }
.process-scroll-active .process-item .process-stage-meta { transform:translateX(-20px); }
.process-scroll-active .process-item .process-stage-copy { transform:translateX(-16px); }
.process-scroll-active .process-item figure { opacity:0; transform:translateX(26px) scale(.96); }
.process-scroll-active .process-item figure img { transform:scale(1.12); transition:transform 1.25s cubic-bezier(.22,1,.36,1); }
.process-scroll-active .process-item.is-in-view { opacity:1; transform:translate3d(0,0,0); }
.process-scroll-active .process-item.is-in-view::before { height:100%; }
.process-scroll-active .process-item.is-in-view .process-stage-meta,
.process-scroll-active .process-item.is-in-view .process-stage-copy { transform:translateX(0); }
.process-scroll-active .process-item.is-in-view figure { opacity:1; transform:translateX(0) scale(1); }
.process-scroll-active .process-item.is-in-view figure img { transform:scale(1); }
@media (prefers-reduced-motion: reduce) {
  .process-scroll-active .process-item,
  .process-scroll-active .process-item .process-stage-meta,
  .process-scroll-active .process-item .process-stage-copy,
  .process-scroll-active .process-item figure,
  .process-scroll-active .process-item figure img { opacity:1; transform:none; transition:none; }
  .process-item::before { height:100%; transition:none; }
}

.process-closing { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; padding:clamp(34px,6vw,75px); border-radius:var(--pr-radius); background:linear-gradient(135deg,#d7c0a4,#9c7556); color:#fff; }
.process-closing .page-eyebrow { color:rgba(255,255,255,.78); }
.process-closing h2 { max-width:760px; color:#fff; }
.editorial-button { display:inline-flex; align-items:center; gap:11px; flex:0 0 auto; padding:14px 19px; border-radius:999px; background:#fff; color:var(--pr-ink); font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; transition:transform .28s ease,background .28s ease; }
.editorial-button:hover { transform:translateY(-3px); background:#f0e5d7; }.editorial-button span{font-size:16px;line-height:0}
@media (max-width:850px) { .process-page .editorial-hero{min-height:590px}.process-page .editorial-hero-copy{padding-top:195px}.process-overview{grid-template-columns:1fr}.process-overview-image{min-height:410px;order:-1}.process-stage{grid-template-columns:100px minmax(0,1fr) 210px;gap:20px}.section-space{margin-top:78px}.process-closing{align-items:flex-start;flex-direction:column} }
@media (max-width:600px) {
  /* Same safe phone edge as the About Us hero text. */
  .editorial-page .content-width {
    width: min(calc(100% - 48px), var(--max));
  }
 .process-page .editorial-hero{min-height:560px}.process-page .editorial-hero-copy{padding-top:178px;padding-bottom:48px}.process-page .editorial-hero h1{font-size:clamp(42px,12vw,58px)}.hero-intro{font-size:13px}.process-overview-copy h2,.process-journey-heading h2,.process-closing h2{font-size:37px}.process-overview-image{min-height:290px;border-radius:20px}.process-stage{grid-template-columns:1fr;gap:13px;padding:25px 0}.process-stage-meta{font-size:26px}.process-stage-copy h3{font-size:29px}.process-stage figure{height:225px;margin-top:6px;border-radius:16px}.process-closing{padding:35px 26px;border-radius:20px}.section-space{margin-top:66px} }
