﻿/* Manufacturing project journal. Shared header typography stays in products.css.
   DESIGN_VARIANCE: 6; MOTION_INTENSITY: 2; VISUAL_DENSITY: 4.
   Flat neutral surfaces; functional navigation only; no decorative animation. */
html{scroll-padding-top:28px}
body[data-page=manufacturing]{--muted:oklch(43% .008 250)}
.m-hero{padding:48px 0 0;background:var(--bg);color:var(--fg)}
.m-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.m-hero .eyebrow{font-size:11px;font-weight:600;letter-spacing:.09em;color:var(--muted);margin:0 0 20px;text-transform:uppercase}
.m-hero h1{font-family:var(--font-display);font-size:clamp(30px,3.3vw,49px);font-weight:600;line-height:1.14;letter-spacing:-.025em;margin:0 0 22px;text-wrap:balance}
.m-intro{font-size:16px;line-height:1.65;max-width:50ch;margin:0 0 26px}
.m-hero .button{white-space:nowrap}
.m-figure{margin:0;min-width:0}
.m-photo{aspect-ratio:3/2;overflow:hidden;background:oklch(93% .004 250);position:relative}
.m-photo img{display:block;width:100%;height:100%;object-fit:cover}
.m-photo.sheet img{position:absolute;width:200%;height:200%;max-width:none;object-fit:fill}
.m-photo.q0 img{left:0;top:0}.m-photo.q1 img{left:-100%;top:0}.m-photo.q2 img{left:0;top:-100%}.m-photo.q3 img{left:-100%;top:-100%}
.m-figure figcaption{font-size:11px;letter-spacing:.01em;color:var(--muted);padding-top:8px;line-height:1.5}
.m-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:28px 0;margin-top:38px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.m-team>div{display:flex;align-items:center;gap:18px;min-width:0}
.m-team strong{font-size:32px;font-weight:550;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}
.m-team span{font-size:13px;line-height:1.5;color:var(--muted);max-width:19ch}
.m-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:clamp(30px,5vw,76px);align-items:start;padding-top:56px;padding-bottom:72px}
.m-index{position:sticky;top:28px;display:flex;flex-direction:column;gap:3px}
.m-index a{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;min-height:48px;padding:10px 8px;font-size:13px;line-height:1.45;color:var(--muted);border-left:2px solid transparent;transition:color 150ms,background-color 150ms}
.m-index b{font-size:11px;font-weight:400;font-variant-numeric:tabular-nums}
.m-index a:hover{color:var(--fg);background:oklch(94% .004 250)}
.m-index a[aria-current=step]{color:var(--accent);border-left-color:var(--accent);font-weight:600}
.m-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px;min-width:0}
.m-step{min-width:0;scroll-margin-top:28px;display:flex;flex-direction:column;gap:24px}
.m-copy{min-width:0}
.m-copy h2{font-family:var(--font-display);font-size:clamp(24px,2.1vw,30px);line-height:1.2;letter-spacing:-.02em;margin:0 0 16px;text-wrap:pretty;overflow-wrap:break-word}
.m-copy>p{font-size:15px;line-height:1.7;margin:0 0 24px;max-width:62ch}
.m-copy dl{margin:0;border-top:1px solid var(--border);padding-top:16px}
.m-copy dl div+div{margin-top:14px}
.m-copy dt{font-size:12px;line-height:1.5;font-weight:600;margin-bottom:4px}
.m-copy dd{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.m-step:nth-child(3),.m-step:nth-child(6){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:32px;padding:36px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.m-step:nth-child(3) .m-photo,.m-step:nth-child(6) .m-photo{aspect-ratio:4/5}
.m-closing{background:oklch(94% .004 250);padding:48px 0}
.m-closing .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}
.m-closing h2{font-size:clamp(26px,2.7vw,38px);line-height:1.2;margin:0 0 14px;letter-spacing:-.02em}
.m-closing p{max-width:60ch;font-size:15px;margin:0}
.m-closing .button{flex-shrink:0;white-space:nowrap}
.m-foot{font-size:12px}
body[data-page=manufacturing] .footer{background:var(--bg);color:var(--fg);border-top:1px solid var(--border)}
.m-photo.failed:after{content:attr(data-fallback);position:absolute;inset:0;display:grid;place-items:center;padding:24px;color:var(--muted);font-size:14px}
a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(min-width:851px){body[data-page=manufacturing] .top-inner{min-height:76px}}
@media(max-width:1180px){.m-layout{grid-template-columns:150px minmax(0,1fr);gap:28px}.m-stages{gap:40px 24px}.m-team>div{gap:12px}.m-step:nth-child(3),.m-step:nth-child(6){grid-template-columns:1fr;gap:24px}.m-step:nth-child(3) .m-photo,.m-step:nth-child(6) .m-photo{aspect-ratio:16/8}}
@media(max-width:850px){.m-hero{padding-top:32px}.m-hero-grid{grid-template-columns:1fr}.m-hero h1{font-size:clamp(32px,5.7vw,44px)}.m-hero-figure .m-photo{aspect-ratio:16/8}.m-team{margin-top:28px;gap:18px}.m-team>div{align-items:start;flex-direction:column;gap:8px}.m-layout{display:block;padding-top:24px}.m-index{position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:36px}.m-index a{font-size:12px;grid-template-columns:1fr;gap:4px;align-content:start;min-height:70px}.m-step:nth-child(3),.m-step:nth-child(6){grid-template-columns:1fr 1fr}.m-step:nth-child(3) .m-photo,.m-step:nth-child(6) .m-photo{aspect-ratio:3/4}.m-closing .wrap{align-items:start;flex-direction:column;gap:24px}}
@media(max-width:600px){.m-hero h1{font-size:32px}.m-team strong{font-size:28px}.m-team span{font-size:12px}.m-stages{grid-template-columns:1fr;gap:36px}.m-step,.m-step:nth-child(3),.m-step:nth-child(6){display:flex;flex-direction:column;gap:20px;padding:0 0 30px;border-top:0;border-bottom:1px solid var(--border)}.m-step:nth-child(3) .m-photo,.m-step:nth-child(6) .m-photo{aspect-ratio:3/2}.m-index{grid-template-columns:repeat(2,minmax(0,1fr))}.m-index a{display:grid;grid-template-columns:22px minmax(0,1fr);min-height:48px;align-items:center;align-content:center}.m-layout{padding-bottom:16px}.m-copy h2{font-size:26px}.m-hero-figure .m-photo{aspect-ratio:3/2}.m-closing{padding:32px 0}.nav{overflow-x:auto;justify-content:flex-start;gap:22px}.nav a{white-space:nowrap;min-height:44px}.m-hero .eyebrow{font-size:10px}}
html:lang(ru) .m-hero h1,html:lang(es) .m-hero h1{font-size:clamp(28px,2.9vw,43px)}
html:lang(zh-CN) .m-hero h1,html:lang(zh-CN) .m-copy h2{letter-spacing:0;line-height:1.3}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Preserve the contact-sheet quadrant proportions at every breakpoint. */
.m-step:nth-child(6) .m-photo.sheet,.m-hero-figure .m-photo.sheet{aspect-ratio:3/2}

/* Equipment-led process narrative: consistent landscape photography, readable rows. */
.m-hero{padding-top:56px}.m-hero-grid{grid-template-columns:1fr 1.15fr;gap:48px;align-items:center}
.m-hero-figure .m-photo{aspect-ratio:3/2}
.m-team{margin-top:32px;padding:24px 0}.m-team strong{font-size:30px}
.m-layout{grid-template-columns:152px minmax(0,1fr);gap:40px;padding-top:60px}
.m-stages{display:flex;flex-direction:column;gap:0}
.m-step,.m-step:nth-child(3),.m-step:nth-child(6){display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);gap:32px;align-items:start;padding:0 0 44px;margin:0 0 44px;border:0;border-bottom:1px solid var(--border)}
.m-step:last-child{margin-bottom:0}.m-step .m-photo,.m-step:nth-child(3) .m-photo,.m-step:nth-child(6) .m-photo{aspect-ratio:3/2}
.m-step .m-figure{position:sticky;top:28px}
.m-step-label{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}
.m-step-label>span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}
.m-step-label h2{font-size:14px;line-height:1.5;font-weight:550;letter-spacing:0;margin:0}
.m-copy .m-lead{font-family:var(--font-display);font-size:clamp(23px,2.2vw,31px);font-weight:600;letter-spacing:-.02em;line-height:1.25;margin:0 0 18px;text-wrap:pretty}
.m-copy>p{font-size:14px;line-height:1.75;margin-bottom:22px}
.m-copy dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:16px}
.m-copy dl div+div{margin:0}.m-copy dd{font-size:12px;line-height:1.65}.m-copy dt{font-size:12px}
.m-figure figcaption{font-size:11px;padding-top:7px}.m-photo img{object-position:center}
html:lang(zh-CN) .m-lead{letter-spacing:0;line-height:1.35}
@media(max-width:1180px){.m-layout{grid-template-columns:136px minmax(0,1fr);gap:24px}.m-step,.m-step:nth-child(3),.m-step:nth-child(6){grid-template-columns:1fr;gap:22px}.m-step .m-figure{position:static}.m-step .m-photo{max-height:360px}.m-hero-grid{gap:28px}}
@media(max-width:850px){.m-hero{padding-top:32px}.m-hero-grid{grid-template-columns:1fr}.m-layout{display:block;padding-top:30px}.m-index{margin-bottom:30px}.m-hero-figure .m-photo{aspect-ratio:16/9}.m-copy dl{gap:24px}.m-step,.m-step:nth-child(3),.m-step:nth-child(6){margin-bottom:32px;padding-bottom:32px}.m-copy .m-lead{font-size:28px}}
@media(max-width:600px){.m-copy dl{grid-template-columns:1fr;gap:16px}.m-copy dd{font-size:14px}.m-copy>p{font-size:15px}.m-copy .m-lead{font-size:26px}.m-step .m-photo,.m-step:nth-child(3) .m-photo,.m-step:nth-child(6) .m-photo{aspect-ratio:3/2}.m-team{gap:14px}.m-team strong{font-size:28px}.m-team span{font-size:12px}.m-hero-grid{gap:24px}}
