/* Processes: one continuous editorial journey. Shell, opening and motion stay shared. */
.processes-page { --ops-gap:24px; --ops-chapter-space:clamp(72px,9vw,136px); background:var(--paper); }
.processes-page main { padding-top:0; }
.processes-page h1,.processes-page h2,.processes-page h3 { font-family:"Parkinsans",sans-serif; font-weight:500; overflow-wrap:anywhere; }
.processes-page .page-kicker { font-size:var(--text-label-prominent); font-weight:600; letter-spacing:.1em; }
.ops-copy { max-width:48ch; margin:0; font:400 var(--text-body-editorial)/1.6 "Hanken Grotesk",sans-serif; text-wrap:pretty; }
.ops-prose > p + p { margin-top:24px; }
.ops-introduction,.ops-plants__intro,.ops-cta__inner { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:var(--ops-gap); align-items:start; }
.ops-introduction { padding-block:var(--ops-chapter-space); row-gap:48px; }
.ops-introduction__statement { grid-column:1/11; max-width:30ch; margin:0; font:500 clamp(30px,3.7vw,54px)/1.17 "Parkinsans",sans-serif; letter-spacing:-.045em; text-wrap:pretty; }
.ops-introduction > .ops-prose { grid-column:7/-1; }
/* Hierarchy and spacing connect the stages without decorative rules. */
.ops-process { padding-block:24px var(--ops-chapter-space); }
.ops-process h2 { max-width:13ch; margin:0; font-size:var(--text-heading); line-height:1.08; letter-spacing:-.055em; }
.ops-process .reading-scene__aside > .ops-copy { margin-top:28px; max-width:36ch; }
.ops-process .reading-scene__steps { padding-left:0; }
.ops-process .reading-scene__steps > li { display:block; padding:0 0 64px; border:0; }
.ops-process .reading-scene__steps > li:last-child { padding-bottom:0; }
.ops-process .reading-scene__steps > li::before { content:none; }
.ops-process .reading-scene__steps h3 { font-size:clamp(25px,2.5vw,36px); line-height:1.16; text-wrap:pretty; }
.ops-step-number { display:block; margin-bottom:16px; color:var(--orange-text); font:600 var(--text-detail)/1.3 "Hanken Grotesk",sans-serif; letter-spacing:.08em; }
.ops-process .reading-scene__steps .ops-step-lead { margin:20px 0 16px; color:var(--ink-deep); font:600 var(--text-lead)/1.4 "Hanken Grotesk",sans-serif; }
.ops-process .reading-scene__steps .ops-copy { max-width:48ch; margin:16px 0 0; font-weight:400; line-height:1.6; }
/* A typographic pause; no additional colour band or invented claims. */
.ops-quality { padding-block:clamp(48px,6vw,88px) var(--ops-chapter-space); }
.ops-plants__intro { margin-bottom:48px; }
.ops-plants__intro h2 { grid-column:1/7; margin:0; font-size:var(--text-heading); line-height:1.1; letter-spacing:-.055em; text-wrap:pretty; }
.ops-plants__intro > div { grid-column:8/-1; }
.ops-quality .ops-quality__heading { grid-column:1/7; }
.ops-quality .ops-plants__intro { margin-bottom:0; }
.ops-plant__place { margin:0 0 22px; color:var(--orange-text); font:600 var(--text-body)/1.4 "Hanken Grotesk",sans-serif; }
.ops-quality h2 { max-width:12ch; font-size:var(--text-heading-feature); }
/* Parallel photo essays with copy kept adjacent in DOM and visual order. */
.ops-plants { padding-bottom:var(--ops-chapter-space); }
.ops-plants > .ops-plants__intro { align-items:start; margin-bottom:56px; }
.ops-plants > .ops-plants__intro .ops-copy { max-width:var(--measure-reading); }
.ops-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,4vw,64px); }
.ops-plant { display:flex; flex-direction:column; min-width:0; gap:28px; }
.ops-plant__copy { min-width:0; }
.ops-plant .ops-copy { max-width:48ch; }
.ops-plant figure { order:-1; margin:0; }
.ops-plant figure img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; border-radius:var(--media-radius); background:var(--orange-soft); }
.ops-plant--fresh figure img { object-position:48% 53%; }
.ops-plant--frozen figure img { object-position:50% 57%; }
.ops-local { padding-block:clamp(48px,6vw,88px) var(--ops-chapter-space); }
.ops-local .ops-plants__intro { margin-bottom:0; }
.ops-local h2 { max-width:15ch; }
.ops-local .ops-local__conclusion { margin-top:36px; font-weight:600; }
.ops-local .ops-local__signature { color:var(--orange-text); font:500 var(--text-title)/1.3 "Parkinsans",sans-serif; letter-spacing:-.035em; }
.ops-cta { padding-block:clamp(64px,7vw,100px); color:var(--paper); background:var(--ink-deep); }
.ops-cta__inner { align-items:end; }
.ops-cta__copy { grid-column:1/8; }
.ops-cta__copy .page-kicker { margin-bottom:20px; color:var(--orange-soft); }
.ops-cta h2 { max-width:18ch; margin:0; color:var(--paper); font-size:var(--text-heading-feature); line-height:1.08; letter-spacing:-.055em; text-wrap:balance; }
.ops-cta .page-button { grid-column:8/-1; justify-self:start; font-weight:600; }
.ops-cta .page-button:hover { transform:none; }
.ops-cta .page-button:focus-visible { outline-color:var(--orange-action); }
.processes-page .site-footer { margin-top:0; }
/* Shared entrance only; photographs never fade to an unreadable washed-out state. */
html.has-reveal .processes-page figure.page-reveal { opacity:1; transform:translate3d(0,24px,0); }
html.has-reveal .processes-page figure.page-reveal.is-revealed { transform:none; }
@media (max-width:800px) {
  .processes-page { --ops-gap:16px; }
  .ops-introduction { row-gap:32px; }
  .ops-introduction__statement,.ops-introduction > .ops-prose,.ops-plants__intro h2,.ops-plants__intro > div,.ops-quality .ops-quality__heading { grid-column:1/-1; }
  .ops-introduction__statement { max-width:30ch; }
  .ops-introduction > .ops-prose { max-width:60ch; }
  .ops-process .reading-scene__aside > .ops-copy { max-width:48ch; }
  .ops-process .reading-scene__steps > li { padding-bottom:44px; }
  .ops-plants__intro { row-gap:24px; }
  .ops-comparison { grid-template-columns:1fr; gap:48px; }
  .ops-plant { gap:24px; }
  .ops-plant figure img { aspect-ratio:5/6; }
  .ops-cta__copy,.ops-cta .page-button { grid-column:1/-1; }
  .ops-cta__inner { row-gap:28px; }
}
@media (prefers-reduced-motion:reduce) {
  html.has-reveal .processes-page figure.page-reveal { transform:none; }
}

/* Chapter headings and reading match Home without changing the opening. */
.processes-page :is(.ops-process, .ops-plants__intro, .ops-quality, .ops-local, .ops-cta) h2 { font-size: var(--type-editorial); font-weight: 520; }
.processes-page .ops-process .reading-scene__steps h3 { font-size: var(--type-subtitle); font-weight: 520; line-height: 1.08; }
.processes-page .ops-copy:not(.ops-introduction__statement):not(.ops-local__signature),
.processes-page .ops-process .reading-scene__steps .ops-step-lead { font-size: var(--type-reading); font-weight: 400; line-height: 1.5; }
/* These are short visual statements, not reading paragraphs. */

.processes-page .ops-introduction__statement { font-size: var(--type-feature); overflow-wrap: anywhere; }
.processes-page .ops-local__signature .ops-copy { font-size: var(--type-subtitle); }

/* Explicit reuse of Sustainability's native sticky stack and colour sequence. */
.ops-process__intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:clamp(32px,6vw,86px); }
.ops-process__intro h2 { max-width:20ch; }
.ops-process__intro .ops-copy { max-width:56ch; }
.ops-process__stack { list-style:none; margin-inline:0; padding-inline:0; }
.processes-page .sustainability-card .sustainability-card__inner { min-height:0; }
.processes-page .sustainability-card__copy h3 { margin:0 0 clamp(18px,2vw,28px); font:520 var(--type-subtitle)/1.08 "Parkinsans",sans-serif; letter-spacing:-.045em; text-transform:none; }
.processes-page .sustainability-card__copy p:not(.sustainability-card__label) { max-width:none; font-size:var(--type-reading); font-weight:400; line-height:1.5; }
.processes-page .sustainability-card__copy .ops-step-lead { margin-bottom:16px; }
.processes-page .sustainability-card--people { border-radius:30px; }
@media (max-width:900px) { .ops-process__intro { grid-template-columns:1fr; gap:28px; } .processes-page .sustainability-card--people { border-radius:24px; } }

/* Prioritize the supplied player from startup; local still is failure/reduced-motion fallback. */
.ops-opening-film { position:absolute; top:50%; left:50%; width:max(100%, calc(100svh * 16 / 9)); height:auto; aspect-ratio:16 / 9; border:0; transform:translate(-50%, -50%); pointer-events:none; visibility:hidden; }
.is-video-playing .ops-opening-film,
.is-film-starting .ops-opening-film { visibility:visible; }
[data-opening-film]:is(.is-film-starting, .is-video-playing) > img { visibility:hidden; }
@media (prefers-reduced-motion:reduce) { .ops-opening-film { display:none; } }
/* Supplied mango panorama: keep the central fruit in the portrait fallback crop. */
.processes-page [data-opening-film] { --opening-focal:50% 50%; --opening-focal-mobile:60% 50%; }
