/* Scoped bespoke journey, aligned with the About page. */
.bespoke-page { --process-space: clamp(40px, 6vw, 80px); }
.bespoke-page .page-hero { padding: clamp(64px, 8vw, 104px) 0 48px !important; }
.bespoke-page .page-hero h1 { text-wrap: balance; }
.bespoke-page .page-hero p { max-width: 560px !important; }
.bespoke-page .page-hero .process-intro-note { font-size: .86rem !important; color: var(--ink); }
.process-link { display: inline-flex; align-items: center; gap: 12px; padding: 8px 0; text-decoration: underline; text-underline-offset: 5px; font-size: .9rem; }
.process-link:hover { text-decoration-thickness: 2px; }
.process-journey { padding: 0 0 var(--process-space); scroll-margin-top: 130px; }
.bespoke-stages { list-style: none; padding: 0; margin: 0; }
.bespoke-stage { display: grid; grid-template-columns: 44px minmax(0, .85fr) minmax(0, 1.15fr); gap: 30px; padding: 44px 0; border-top: 1px solid var(--line); }
.stage-number { padding-top: 6px; font-size: .75rem; letter-spacing: .1em; color: var(--muted); }
.bespoke-stage h2, .process-practical h2 { margin: 0; font-family: var(--dashna-type); font-weight: 400; font-size: clamp(1.65rem, 2.6vw, 2.25rem); line-height: 1.15; letter-spacing: -.025em; text-wrap: balance; }
.stage-copy p, .process-practical p { margin: 0 0 16px; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.stage-copy p:last-child { margin-bottom: 0; }
.stage-copy .stage-milestone { padding-left: 18px; border-left: 2px solid var(--accent); color: var(--ink); font-size: .93rem; }
.stage-making h2 { grid-column: 2; grid-row: 1; }
.stage-making .stage-copy { grid-column: 3; grid-row: 1 / 3; align-self: center; }
.process-art { grid-column: 2; grid-row: 2; margin: 0; width: 85%; max-width: 280px; }
.process-art img { display: block; width: 100%; height: auto; }
.process-practical { background: #e9eae6; padding: var(--process-space) 0; }
.practical-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: var(--process-space); }
.process-practical h2 { margin: 16px 0 24px; }
.process-questions details { border-bottom: 1px solid #c8cbc5; padding: 20px 0; }
.process-questions details:first-child { padding-top: 0; }
.process-questions summary { cursor: pointer; font-size: 1.05rem; font-weight: 500; line-height: 1.5; }
.process-questions details p { margin: 16px 0 0; font-size: .95rem; }
.bespoke-page .cta-band { text-align: center; padding: clamp(64px, 8vw, 104px) 0 !important; }
.bespoke-page .cta-band .eyebrow { margin-bottom: 20px; }
.bespoke-page .cta-band p { max-width: 470px; margin-left: auto; margin-right: auto; }
.process-skip { position: fixed; top: 12px; left: 12px; z-index: 1000; padding: 14px 20px; background: #232426; color: white; transform: translateY(-200%); }
.process-skip:focus { transform: translateY(0); }
@media (max-width: 760px) {
  .bespoke-page .page-hero { padding: 56px 0 32px !important; }
  .bespoke-stage { grid-template-columns: 28px minmax(0, 1fr); gap: 16px; padding: 32px 0; }
  .stage-copy { grid-column: 2; }
  .stage-copy p { font-size: .97rem; }
  .stage-making .stage-copy { grid-column: 2; grid-row: 3; }
  .stage-making .process-art { grid-column: 2; grid-row: 2; width: 100%; max-width: 280px; }
  .practical-grid { grid-template-columns: 1fr; gap: 24px; }
  .process-questions summary { padding: 4px 0; }
}
