.process-page {
  overflow: hidden;
}

.process-page .section-label,
.process-page .eyebrow {
  display: inline-flex;
}

.process-hero {
  padding-block: var(--space-10) var(--space-9);
}

.process-hero__grid,
.process-principle__grid,
.process-step--consultation__grid,
.process-materials__grid,
.process-measures__grid,
.process-construction__grid,
.process-fitting__grid,
.process-final__grid,
.process-journal__grid,
.process-faq__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.process-hero__copy { grid-column: 1 / span 7; min-width: 0; }
.process-hero__copy h1 { margin-bottom: var(--space-6); }
.process-hero__intro { max-width: 35rem; }
.process-hero__media { grid-column: 9 / span 4; align-self: start; width: 100%; min-width: 0; margin-top: var(--space-6); aspect-ratio: 4 / 5; }
.process-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.process-hero__reading-line { grid-column: 1 / -1; display: flex; min-width: 0; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-5); padding-top: var(--space-4); border-top: var(--border-default); }
.process-hero__meta { min-width: 0; margin: 0; font-size: var(--text-caption); font-weight: 500; line-height: var(--leading-caption); letter-spacing: .06em; text-transform: uppercase; }
.process-hero__meta span { color: var(--color-wine); padding-inline: var(--space-2); }

.process-principle { padding-block: var(--space-10); }
.process-principle blockquote { grid-column: 1 / span 8; min-width: 0; margin: 0; padding: 0 0 0 var(--space-5); font-size: clamp(2.6rem, 5vw, 4.5rem); line-height: .92; }
.process-principle__context { grid-column: 9 / span 4; align-self: end; min-width: 0; }
.process-principle__context p { max-width: 31rem; margin: 0; }
.process-principle__questions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin: var(--space-5) 0 0; padding: 0; }
.process-principle__questions li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding-top: var(--space-4); border-top: var(--border-default); }
.process-principle__questions span { color: var(--color-wine); font-size: var(--text-label); font-weight: 600; letter-spacing: .14em; }
.process-principle__questions p { margin: 0; font-size: var(--text-small); line-height: var(--leading-small); }

.process-step__heading { min-width: 0; }
.process-step__heading h2 { margin-bottom: 0; }
.process-step__number { margin: 0 0 var(--space-2); color: var(--color-wine); font-family: var(--font-heading); font-size: clamp(4rem, 7vw, 6rem); line-height: .75; }
.process-step--consultation__grid { align-items: start; }
.process-step--consultation__grid .process-step__heading { grid-column: 1 / span 4; }
.process-step--consultation__grid .process-step__body { grid-column: 3 / span 6; min-width: 0; padding-top: var(--space-8); }
.process-step__body p { max-width: 38.75rem; }
.process-step--consultation__grid .process-step__side { grid-column: 9 / span 4; display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.process-observation-list { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); margin: 0; }
.process-observation-list div { min-width: 0; padding-top: var(--space-3); border-top: var(--border-default); }
.process-observation-list dd { margin: var(--space-1) 0 0; font-size: var(--text-small); line-height: var(--leading-small); }
.process-note { min-width: 0; padding: var(--space-5); border-left: 2px solid var(--color-wine); background: var(--color-paper-warm); font-size: var(--text-small); line-height: var(--leading-small); }

.process-materials__grid { align-items: start; }
.process-materials__figure { grid-column: 1 / span 7; width: 100%; min-width: 0; margin: 0; background: transparent; }
.process-materials__figure img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.process-materials__copy { grid-column: 9 / span 4; min-width: 0; padding-top: var(--space-5); }
.process-materials__copy h2 { margin-bottom: var(--space-5); }
.process-materials__copy p:last-child { max-width: 37.5rem; }
.process-materials__cards { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; margin-top: var(--space-4); }
.process-material-card { min-width: 0; padding: var(--space-6); background: var(--color-paper-warm); border-top: var(--border-default); }
.process-material-card h3 { margin-bottom: var(--space-4); }
.process-material-card p:last-child { margin-bottom: 0; font-size: var(--text-small); line-height: var(--leading-small); }
.process-material-card--wide { grid-column: 1 / -1; }

.process-measures__grid { align-items: start; }
.process-measures__heading { grid-column: 1 / span 3; }
.process-measures__copy { grid-column: 4 / span 6; min-width: 0; padding-top: var(--space-8); }
.process-measures__copy p { max-width: 40.625rem; }
.process-measures__observations { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; margin-top: var(--space-5); }
.process-measures__observations article { min-width: 0; padding-top: var(--space-4); border-top: var(--border-default); }
.process-measures__observations span { color: var(--color-wine); font-size: var(--text-label); font-weight: 600; letter-spacing: .14em; }
.process-measures__observations h3 { margin: var(--space-3) 0; font-size: clamp(1.5rem, 2.3vw, 2rem); }
.process-measures__observations p { margin: 0; font-size: var(--text-small); line-height: var(--leading-small); }

.process-construction__grid { align-items: start; }
.process-construction__copy { grid-column: 1 / span 5; min-width: 0; padding-top: var(--space-5); }
.process-construction__copy p:last-child { max-width: 35rem; }
.process-construction__figure { grid-column: 8 / span 5; width: 100%; min-width: 0; margin: 0; background: transparent; }
.process-construction__figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.process-construction__trail { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin: var(--space-5) 0 0; padding: 0; }
.process-construction__trail li { min-width: 0; padding-top: var(--space-4); border-top: var(--border-default); }
.process-construction__trail span { color: var(--color-wine); font-size: var(--text-small); font-weight: 600; }
.process-construction__trail h3 { margin: var(--space-3) 0; }
.process-construction__trail p { max-width: 15rem; margin: 0; font-size: var(--text-small); line-height: var(--leading-small); }

.process-fitting__intro { grid-column: 3 / span 8; min-width: 0; }
.process-fitting__intro h2 { margin-bottom: var(--space-5); }
.process-fitting__intro > p:last-child { max-width: 40rem; margin-bottom: 0; }
.process-fitting__focuses { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; min-width: 0; margin-top: var(--space-6); }
.process-fitting__focuses article { min-width: 0; padding: var(--space-5); border-top: var(--border-default); border-bottom: var(--border-default); }
.process-fitting__focuses article + article { border-left: var(--border-default); }
.process-fitting__focuses h3 { margin-bottom: var(--space-3); }
.process-fitting__focuses p:last-child { max-width: 18.75rem; margin-bottom: 0; font-size: var(--text-small); line-height: var(--leading-small); }
.process-fitting__note { grid-column: 4 / span 5; min-width: 0; margin-top: var(--space-5); padding: var(--space-4) var(--space-5); border-left: 2px solid var(--color-wine); background: var(--color-paper-warm); font-size: var(--text-small); line-height: var(--leading-small); }

.process-final__grid { align-items: start; }
.process-final__figure { grid-column: 1 / span 6; width: 100%; min-width: 0; margin: 0; background: transparent; }
.process-final__figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.process-final__content { grid-column: 8 / span 5; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.process-final__content h2,
.process-final__content p { margin: 0; }
.process-final__content > p:last-of-type { max-width: 35.625rem; }
.process-final__details { display: flex; width: 100%; max-width: 27.5rem; min-width: 0; flex-direction: column; gap: 0; margin: 0; padding: 0; }
.process-final__details li { display: grid; grid-template-columns: minmax(7rem, .8fr) minmax(0, 1.8fr); gap: var(--space-3); min-width: 0; padding: var(--space-3) 0; border-top: var(--border-default); font-size: var(--text-small); line-height: var(--leading-small); }
.process-final__details strong { color: var(--color-wine); font-size: var(--text-label); letter-spacing: .1em; }
.process-final__cta { width: auto; }

.process-journal__grid { align-items: end; }
.process-journal__intro { grid-column: 1 / span 4; min-width: 0; }
.process-journal__intro p:last-child { max-width: 28.75rem; }
.process-journal__figure { width: 100%; min-width: 0; margin: 0; background: transparent; }
.process-journal__figure--tools { grid-column: 1 / span 5; margin-top: var(--space-6); }
.process-journal__figure--tools img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.process-journal__figure--silhouette { grid-column: 7 / span 6; margin-bottom: var(--space-9); }
.process-journal__figure--silhouette img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }

.process-faq__heading { grid-column: 2 / span 7; min-width: 0; }
.process-faq__heading h2 { margin-bottom: 0; }
.process-faq__list { grid-column: 2 / span 9; display: flex; min-width: 0; flex-direction: column; margin-top: var(--space-5); border-top: var(--border-default); }
.process-faq__item { min-width: 0; border-bottom: var(--border-default); }
.process-faq__item h3 { margin: 0; font-family: var(--font-body); font-size: var(--text-body); font-weight: 600; line-height: var(--leading-body); letter-spacing: 0; }
.process-faq__item button { display: grid; grid-template-columns: minmax(0, 4fr) auto; width: 100%; min-height: 3.75rem; padding: var(--space-4) 0; border: 0; border-radius: 0; background: transparent; color: var(--color-ink); text-align: left; }
.process-faq__item button:hover { background: transparent; color: var(--color-wine); }
.process-faq__item button span { position: relative; width: 1rem; height: 1rem; margin-left: var(--space-4); }
.process-faq__item button span::before,
.process-faq__item button span::after { position: absolute; top: 50%; left: 0; width: 1rem; height: 1px; background: currentColor; content: ""; transition: transform var(--transition-panel); }
.process-faq__item button span::after { transform: rotate(90deg); }
.process-faq__item button[aria-expanded="true"] span::after { transform: rotate(0); }
.process-faq__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--transition-panel); }
.process-faq__panel.is-open { grid-template-rows: 1fr; }
.process-faq__panel > div { overflow: hidden; }
.process-faq__panel p { max-width: 38.75rem; margin: 0; padding: 0 0 var(--space-5); font-size: var(--text-small); line-height: var(--leading-small); }
.process-faq__cta { grid-column: 1 / -1; display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: var(--space-6); margin-top: var(--space-7); padding: var(--space-7); background: var(--color-wine); color: var(--color-paper); }
.process-faq__cta .section-label,
.process-faq__cta h2 { color: var(--color-paper); }
.process-faq__cta h2 { max-width: 35rem; margin-bottom: var(--space-3); }
.process-faq__cta p:last-child { max-width: 35rem; margin-bottom: 0; font-size: var(--text-small); line-height: var(--leading-small); }
.process-faq__cta-button { display: inline-flex; min-width: 0; min-height: 2.75rem; align-items: center; justify-content: center; padding: .6875rem var(--space-4); border: 1px solid var(--color-paper); border-radius: var(--radius-control); background: var(--color-paper); color: var(--color-wine); font-size: var(--text-small); font-weight: 600; line-height: 1.2; text-align: center; text-decoration: none; transition: background-color var(--transition-fast), color var(--transition-fast); }
.process-faq__cta-button:hover { background: var(--color-ink); color: var(--color-paper); }

@media (max-width: 1040px) {
  .process-step--consultation__grid .process-step__body { grid-column: 1 / span 8; }
  .process-step--consultation__grid .process-step__side { grid-column: 9 / span 4; }
  .process-measures__observations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .process-materials__figure { grid-column: 1 / span 6; }
  .process-materials__copy { grid-column: 7 / span 6; }
  .process-construction__copy { grid-column: 1 / span 6; }
  .process-construction__figure { grid-column: 7 / span 6; }
  .process-final__figure { grid-column: 1 / span 6; }
  .process-final__content { grid-column: 7 / span 6; }
}

@media (max-width: 900px) {
  .process-hero { padding-block: var(--space-9) var(--space-8); }
  .process-hero__grid,
  .process-principle__grid,
  .process-step--consultation__grid,
  .process-materials__grid,
  .process-measures__grid,
  .process-construction__grid,
  .process-fitting__grid,
  .process-final__grid,
  .process-journal__grid,
  .process-faq__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .process-hero__copy { grid-column: 1 / -1; }
  .process-hero__media { grid-column: 3 / span 4; }
  .process-principle { padding-block: var(--space-9); }
  .process-principle blockquote { grid-column: 1 / -1; }
  .process-principle__context { grid-column: 1 / span 5; margin-top: var(--space-3); }
  .process-principle__questions { grid-template-columns: 1fr; }
  .process-step--consultation__grid .process-step__heading { grid-column: 1 / -1; }
  .process-step--consultation__grid .process-step__body { grid-column: 1 / span 5; padding-top: 0; }
  .process-step--consultation__grid .process-step__side { grid-column: 2 / -1; }
  .process-materials__figure { grid-column: 1 / -1; }
  .process-materials__copy { grid-column: 1 / span 5; padding-top: 0; }
  .process-measures__heading { grid-column: 1 / span 2; }
  .process-measures__copy { grid-column: 3 / -1; padding-top: var(--space-5); }
  .process-measures__observations { grid-column: 1 / -1; }
  .process-construction__copy { grid-column: 1 / span 5; padding-top: 0; }
  .process-construction__figure { grid-column: 3 / -1; }
  .process-fitting__intro { grid-column: 1 / -1; }
  .process-fitting__focuses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-fitting__focuses article:nth-child(3) { grid-column: 1 / -1; border-left: 0; }
  .process-fitting__note { grid-column: 1 / span 5; }
  .process-final__figure { grid-column: 1 / span 4; }
  .process-final__content { grid-column: 2 / -1; margin-top: var(--space-3); }
  .process-journal__intro { grid-column: 1 / -1; }
  .process-journal__figure--tools { grid-column: 2 / -1; margin-top: 0; }
  .process-journal__figure--silhouette { grid-column: 1 / span 5; margin-bottom: 0; }
  .process-faq__heading { grid-column: 1 / -1; }
  .process-faq__list { grid-column: 1 / -1; }
  .process-faq__item button { grid-template-columns: minmax(0, 1fr) auto; }
}

@media (max-width: 680px) {
  .process-hero__grid,
  .process-principle__grid,
  .process-step--consultation__grid,
  .process-materials__grid,
  .process-measures__grid,
  .process-construction__grid,
  .process-fitting__grid,
  .process-final__grid,
  .process-journal__grid,
  .process-faq__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .process-hero { padding-block: var(--space-8); }
  .process-hero__copy,
  .process-hero__media,
  .process-hero__reading-line,
  .process-principle blockquote,
  .process-principle__context,
  .process-principle__questions,
  .process-step--consultation__grid .process-step__heading,
  .process-step--consultation__grid .process-step__body,
  .process-step--consultation__grid .process-step__side,
  .process-materials__figure,
  .process-materials__copy,
  .process-materials__cards,
  .process-measures__heading,
  .process-measures__copy,
  .process-measures__observations,
  .process-construction__copy,
  .process-construction__figure,
  .process-construction__trail,
  .process-fitting__intro,
  .process-fitting__focuses,
  .process-fitting__note,
  .process-final__figure,
  .process-final__content,
  .process-journal__intro,
  .process-journal__figure--tools,
  .process-journal__figure--silhouette,
  .process-faq__heading,
  .process-faq__list,
  .process-faq__cta { grid-column: 1; }
  .process-hero__copy h1 { font-size: clamp(3.25rem, 15vw, 4rem); line-height: .9; }
  .process-hero__media { margin-top: 0; }
  .process-hero__reading-line { align-items: flex-start; justify-content: flex-start; }
  .process-hero__meta { line-height: 1.8; }
  .process-principle { padding-block: var(--space-8); }
  .process-principle blockquote { padding-left: var(--space-4); font-size: clamp(2.625rem, 12vw, 3rem); }
  .process-principle__questions { gap: 0; margin-top: var(--space-3); }
  .process-principle__questions li { padding-block: var(--space-4); }
  .process-step__number { font-size: 4rem; }
  .process-materials__cards { grid-template-columns: 1fr; }
  .process-material-card--wide { grid-column: 1; }
  .process-material-card { padding: var(--space-5); }
  .process-measures__copy { padding-top: 0; }
  .process-measures__observations { grid-template-columns: 1fr; gap: 0; margin-top: var(--space-2); }
  .process-measures__observations article { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); column-gap: var(--space-3); padding-block: var(--space-4); }
  .process-measures__observations span { grid-row: span 2; }
  .process-measures__observations h3 { margin: 0 0 var(--space-2); }
  .process-construction__figure { order: 2; }
  .process-construction__trail { grid-template-columns: 1fr; gap: 0; margin-top: 0; }
  .process-construction__trail li { padding-block: var(--space-4); }
  .process-construction__trail p { max-width: none; }
  .process-fitting__focuses { grid-template-columns: 1fr; margin-top: 0; }
  .process-fitting__focuses article,
  .process-fitting__focuses article + article,
  .process-fitting__focuses article:nth-child(3) { grid-column: 1; border-left: 0; border-bottom: 0; }
  .process-fitting__focuses article:last-child { border-bottom: var(--border-default); }
  .process-fitting__note { margin-top: 0; }
  .process-final__content { margin-top: 0; }
  .process-final__details { max-width: none; }
  .process-final__cta { width: 100%; }
  .process-journal__figure--tools,
  .process-journal__figure--silhouette { margin: 0; }
  .process-faq__cta { flex-direction: column; align-items: stretch; gap: var(--space-5); margin-top: var(--space-6); padding: var(--space-6) var(--space-5); }
  .process-faq__cta h2 { font-size: clamp(2.25rem, 11vw, 3rem); }
  .process-faq__cta-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .process-faq__panel,
  .process-faq__item button span::before,
  .process-faq__item button span::after { transition: none; }
}
