:root {
  --ink: #0b0c0d;
  --ink-soft: #121416;
  --paper: #ece9e3;
  --paper-bright: #f5f3ef;
  --steel: #a8adb1;
  --muted: #74787b;
  --red: #c4262d;
  --line-dark: rgba(255, 255, 255, 0.16);
  --line-light: rgba(11, 12, 13, 0.18);
  --max: 1480px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--paper); font-family: "Noto Sans SC", "Microsoft YaHei", "PingFang SC", Arial, sans-serif; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; }
button, input, textarea { font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; transform: translateY(-160%); padding: 10px 16px; color: white; background: var(--red); }
.skip-link:focus { transform: none; }

.scroll-progress { position: fixed; z-index: 120; top: 0; left: 0; width: 100%; height: 3px; background: rgba(255,255,255,.06); }
.scroll-progress span { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left; background: var(--red); }

.site-header { position: fixed; z-index: 100; top: 3px; left: 0; right: 0; display: grid; grid-template-columns: auto 1fr auto; align-items: center; min-height: 78px; padding: 0 clamp(20px, 4vw, 68px); color: white; border-bottom: 1px solid rgba(255,255,255,.14); transition: background .35s ease, min-height .35s ease; }
.site-header.is-scrolled { min-height: 66px; background: rgba(11,12,13,.9); backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 290px; }
.brand-mark { width: 44px; height: 44px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.brand-mark circle { stroke-dasharray: 2.4 3.1; stroke-width: 2.8; }
.brand-mark .mark-arc { stroke: var(--red); stroke-width: 2.5; }
.brand-type { display: grid; gap: 2px; }
.brand-type strong { font-size: 15px; letter-spacing: .08em; }
.brand-type small { color: rgba(255,255,255,.54); font: 10px/1.2 "Arial Narrow", Arial, sans-serif; letter-spacing: .18em; }
.desktop-nav { justify-self: center; display: flex; align-items: center; gap: clamp(20px, 2.5vw, 44px); font-size: 13px; }
.desktop-nav a { position: relative; padding: 29px 0 24px; color: rgba(255,255,255,.72); }
.desktop-nav a::after { content: ""; position: absolute; right: 0; bottom: 17px; left: 0; height: 1px; transform: scaleX(0); transform-origin: right; background: var(--red); transition: transform .35s var(--ease); }
.desktop-nav a:hover { color: white; }
.desktop-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.header-contact { font: 700 12px/1 "Arial Narrow", Arial, sans-serif; letter-spacing: .12em; }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 0; border: 0; color: white; background: transparent; }
.menu-toggle span:not(.sr-only) { display: block; width: 22px; height: 1px; margin: 6px auto; background: currentColor; transition: transform .3s ease; }
body.menu-open .menu-toggle span:nth-last-child(2) { transform: translateY(3.5px) rotate(45deg); }
body.menu-open .menu-toggle span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.mobile-menu { position: fixed; z-index: 90; inset: 0; visibility: hidden; opacity: 0; pointer-events: none; color: white; background: #0b0c0d; transition: opacity .35s ease, visibility .35s ease; }
.mobile-menu[aria-hidden="false"] { visibility: visible; opacity: 1; pointer-events: auto; }
.mobile-menu-ring { position: absolute; width: 70vw; aspect-ratio: 1; right: -28vw; top: 12vh; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 50px rgba(255,255,255,.025), 0 0 0 100px rgba(255,255,255,.015); }
.mobile-menu-inner { position: absolute; inset: 118px 24px 28px; display: flex; flex-direction: column; }
.menu-label { margin-bottom: 24px; color: rgba(255,255,255,.42); font: 10px/1 Arial, sans-serif; letter-spacing: .2em; text-transform: uppercase; }
.mobile-menu-inner > a { display: grid; grid-template-columns: 44px 1fr; align-items: center; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.12); font-size: clamp(22px, 7vw, 34px); }
.mobile-menu-inner em { color: var(--red); font: normal 10px/1 Arial, sans-serif; }
.mobile-menu-inner .mobile-call { display: block; margin-top: auto; padding: 16px 20px; text-align: center; color: white; background: var(--red); font-size: 14px; }

.hero { position: relative; min-height: 100svh; overflow: hidden; color: white; background: var(--ink); }
.hero-image, .hero-shade { position: absolute; inset: 0; height: 100%; object-fit: cover; }
.hero-shade { background: linear-gradient(90deg, rgba(5,6,7,.95) 0%, rgba(5,6,7,.68) 38%, rgba(5,6,7,.08) 73%), linear-gradient(0deg, rgba(5,6,7,.62), transparent 42%); }
.hero-radar { position: absolute; width: min(58vw, 820px); aspect-ratio: 1; right: -7vw; top: 50%; transform: translateY(-50%); border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.hero-radar i { position: absolute; inset: 12%; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; }
.hero-radar i:nth-child(2) { inset: 26%; }
.hero-radar i:nth-child(3) { inset: 42%; }
.hero-copy { position: relative; z-index: 2; width: min(720px, 80vw); margin-left: clamp(24px, 7vw, 118px); padding-top: clamp(170px, 24vh, 250px); }
.hero-kicker, .eyebrow { margin: 0 0 24px; color: var(--red); font: 700 11px/1.2 "Arial Narrow", Arial, sans-serif; letter-spacing: .22em; text-transform: uppercase; }
.hero h1 { margin: 0; font-size: clamp(60px, 8vw, 124px); font-weight: 300; line-height: .92; letter-spacing: -.075em; }
.hero h1 span { display: block; }
.hero h1 span:last-child { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.68); }
.hero-intro { width: min(590px, 100%); margin: 34px 0 0; color: rgba(255,255,255,.74); font-size: clamp(16px, 1.4vw, 21px); line-height: 1.75; }
.hero-actions { display: flex; align-items: center; gap: 22px; margin-top: 38px; }
.action-primary { display: inline-flex; justify-content: space-between; align-items: center; min-width: 210px; padding: 16px 20px; background: var(--red); font-size: 14px; }
.action-primary span { font-size: 20px; }
.action-secondary { padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.45); font-size: 14px; }
.hero-coordinate { position: absolute; z-index: 2; right: clamp(24px, 4vw, 68px); bottom: 42px; display: grid; grid-template-columns: auto 100px auto; align-items: center; gap: 12px; color: rgba(255,255,255,.46); font: 10px/1 Arial, sans-serif; letter-spacing: .16em; }
.hero-coordinate b { height: 1px; background: rgba(255,255,255,.34); }
.hero-caption { position: absolute; z-index: 2; left: clamp(24px, 4vw, 68px); bottom: 34px; margin: 0; color: rgba(255,255,255,.5); font-size: 12px; letter-spacing: .14em; }

.section-index { display: flex; align-items: flex-start; gap: 18px; }
.section-index > span { display: grid; place-items: center; width: 42px; aspect-ratio: 1; color: var(--red); border: 1px solid currentColor; border-radius: 50%; font: 11px/1 Arial, sans-serif; }
.section-index p { margin: 2px 0 0; color: var(--muted); font: 10px/1.45 Arial, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.light-index p { color: rgba(255,255,255,.52); }
.profile { display: grid; grid-template-columns: .42fr 1.25fr .9fr; column-gap: clamp(30px, 6vw, 100px); align-items: start; max-width: var(--max); margin: 0 auto; padding: clamp(90px, 11vw, 170px) clamp(22px, 5vw, 76px); background: var(--paper); }
.profile-statement h2, .products-heading h2, .manufacturing-heading h2, .development-heading h2, .contact-heading h2 { margin: 0; font-size: clamp(40px, 5.3vw, 82px); font-weight: 300; line-height: 1.08; letter-spacing: -.06em; }
.profile-copy { padding-top: 56px; }
.profile-copy p { margin: 0 0 22px; color: #55595c; font-size: 15px; line-height: 1.9; }
.profile-copy .lead { color: var(--ink); font-size: clamp(18px, 1.55vw, 24px); line-height: 1.7; }
.profile-media { grid-column: 2 / 4; margin: 72px 0 0; display: grid; grid-template-columns: 1.4fr .6fr; align-items: end; }
.profile-media img { height: clamp(360px, 42vw, 630px); object-fit: cover; filter: saturate(.72) contrast(1.06); }
.profile-media figcaption { align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; padding: 0 0 4px clamp(22px, 4vw, 60px); border-bottom: 1px solid var(--line-light); }
.profile-media figcaption span { color: var(--red); font: 10px/1 Arial, sans-serif; letter-spacing: .16em; }
.profile-media figcaption strong { font-size: 14px; font-weight: 500; }

.products { position: relative; overflow: hidden; color: white; background: var(--ink); padding: clamp(90px, 10vw, 160px) clamp(22px, 5vw, 76px) clamp(120px, 12vw, 190px); }
.products::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 60px 60px; }
.products-heading { position: relative; z-index: 1; display: grid; grid-template-columns: .42fr 1.25fr .9fr; gap: clamp(30px, 6vw, 100px); max-width: var(--max); margin: 0 auto; align-items: start; }
.products-heading p:last-child { margin: 10px 0 0; color: rgba(255,255,255,.58); font-size: 15px; line-height: 1.85; }
.product-atlas { position: relative; z-index: 1; max-width: 1380px; min-height: 1080px; margin: 95px auto 0; }
.atlas-orbit { position: absolute; width: min(58vw, 760px); aspect-ratio: 1; left: 50%; top: 48%; transform: translate(-50%, -50%); border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.atlas-orbit i { position: absolute; inset: 13%; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; }
.atlas-orbit i:nth-child(2) { inset: 29%; }
.atlas-orbit i:nth-child(3) { inset: 44%; }
.atlas-orbit b { position: absolute; top: 50%; left: -20%; width: 140%; height: 1px; background: linear-gradient(90deg, transparent, rgba(196,38,45,.75), transparent); }
.atlas-center { position: absolute; z-index: 3; left: 50%; top: 48%; display: grid; place-content: center; width: 210px; aspect-ratio: 1; transform: translate(-50%, -50%); text-align: center; background: rgba(11,12,13,.82); border: 1px solid rgba(255,255,255,.28); border-radius: 50%; box-shadow: 0 0 0 18px rgba(255,255,255,.025); }
.atlas-center span { color: var(--red); font: 9px/1 Arial, sans-serif; letter-spacing: .18em; }
.atlas-center strong { margin-top: 9px; font-size: 26px; font-weight: 400; }
.atlas-center small { margin-top: 7px; color: rgba(255,255,255,.46); font-size: 11px; }
.product-node { position: absolute; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(210px, .65fr); gap: 24px; width: min(560px, 42vw); }
.product-node figure { position: relative; margin: 0; overflow: hidden; background: #181a1c; }
.product-node figure::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.12); }
.product-node img { height: 260px; object-fit: cover; filter: saturate(.7) contrast(1.08); transition: transform .8s var(--ease); }
.product-node:hover img { transform: scale(1.035); }
.product-node > div { align-self: end; padding-bottom: 3px; }
.product-node h3 { margin: 0 0 12px; font-size: clamp(23px, 2vw, 32px); font-weight: 400; }
.product-node p:last-child { margin: 0; color: rgba(255,255,255,.52); font-size: 13px; line-height: 1.75; }
.node-index { position: absolute; z-index: 3; top: -12px; left: -12px; display: grid; place-items: center; width: 38px; aspect-ratio: 1; color: white; background: var(--red); border-radius: 50%; font: 10px/1 Arial, sans-serif; }
.node-one { top: 0; left: 0; }
.node-two { top: 96px; right: 0; grid-template-columns: minmax(210px, .65fr) minmax(0, 1.35fr); }
.node-two figure { grid-column: 2; grid-row: 1; }
.node-two > div { grid-column: 1; grid-row: 1; text-align: right; }
.node-two .node-index { left: auto; right: -12px; }
.node-three { left: 6%; bottom: 40px; }
.node-four { right: 6%; bottom: 120px; display: block; width: min(360px, 32vw); padding: 34px 0 28px 62px; border-top: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.12); }
.node-four::before { content: ""; position: absolute; left: 0; top: 29px; width: 42px; aspect-ratio: 1; border: 1px dashed rgba(255,255,255,.46); border-radius: 50%; }
.node-four .node-index { top: 31px; left: 2px; width: 38px; background: transparent; }

.capacity { color: var(--ink); background: var(--paper-bright); }
.capacity-heading { display: grid; grid-template-columns: 1fr 1.4fr .7fr; align-items: end; max-width: var(--max); margin: 0 auto; padding: 64px clamp(22px, 5vw, 76px) 32px; border-bottom: 1px solid var(--line-light); }
.capacity-heading span { color: var(--red); font: 10px/1 Arial, sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.capacity-heading h2 { margin: 0; font-size: clamp(28px, 3.5vw, 52px); font-weight: 400; }
.capacity-heading p { justify-self: end; margin: 0; color: var(--muted); font-size: 12px; }
.capacity-scale { display: grid; grid-template-columns: repeat(5, 1fr); max-width: var(--max); margin: 0 auto; padding: 0 clamp(22px, 5vw, 76px) 80px; }
.capacity-item { position: relative; min-height: 230px; padding: 38px 20px 28px 0; border-right: 1px solid var(--line-light); }
.capacity-item:last-child { border-right: 0; padding-left: 20px; }
.capacity-item:not(:first-child) { padding-left: 20px; }
.capacity-item::before { content: ""; position: absolute; top: -4px; left: -1px; width: 8px; height: 8px; background: var(--red); border-radius: 50%; }
.capacity-item strong { display: block; font: 300 clamp(42px, 4.3vw, 68px)/1 "Arial Narrow", Arial, sans-serif; letter-spacing: -.04em; }
.capacity-item em { margin-left: 5px; font: normal 12px/1 inherit; letter-spacing: 0; }
.capacity-item span { display: block; margin-top: 24px; color: #55595c; font-size: 13px; }

.manufacturing { max-width: var(--max); margin: 0 auto; padding: clamp(95px, 11vw, 170px) clamp(22px, 5vw, 76px); }
.manufacturing-heading { display: grid; grid-template-columns: .42fr 1.5fr; gap: clamp(30px, 6vw, 100px); margin-bottom: 90px; }
.process { display: grid; grid-template-columns: 1.45fr .55fr; align-items: end; gap: clamp(28px, 5vw, 78px); margin-bottom: 110px; }
.process-visual { margin: 0; }
.process-visual img { height: clamp(390px, 45vw, 650px); object-fit: cover; filter: saturate(.72) contrast(1.04); }
.process-visual figcaption { padding: 12px 0; color: var(--muted); border-bottom: 1px solid var(--line-light); font: 10px/1 Arial, sans-serif; letter-spacing: .16em; }
.process-copy { padding-bottom: 42px; }
.process-copy > span { display: block; margin-bottom: 60px; color: var(--red); font: 300 56px/1 "Arial Narrow", Arial, sans-serif; }
.process-copy h3 { margin: 0 0 20px; font-size: clamp(29px, 3vw, 46px); font-weight: 400; line-height: 1.25; letter-spacing: -.035em; }
.process-copy p:last-child { margin: 0; color: #5f6366; font-size: 14px; line-height: 1.9; }
.process-quality { grid-template-columns: .55fr 1.45fr; }
.process-line { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto 1fr auto; align-items: center; gap: 14px; padding: 28px 0; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); color: #55595c; font-size: 12px; }
.process-line i { height: 1px; background: linear-gradient(90deg, var(--line-light), var(--red)); }

.development { position: relative; min-height: 920px; color: white; background: var(--ink); }
.development-image, .development-shade { position: absolute; inset: 0; height: 100%; object-fit: cover; }
.development-shade { background: linear-gradient(90deg, rgba(7,8,9,.96) 0%, rgba(7,8,9,.78) 45%, rgba(7,8,9,.25) 100%), linear-gradient(0deg, rgba(7,8,9,.88), transparent 50%); }
.development-content { position: relative; z-index: 1; display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(50px, 8vw, 120px); max-width: var(--max); min-height: 920px; margin: 0 auto; padding: clamp(100px, 11vw, 170px) clamp(22px, 5vw, 76px); align-items: end; }
.development-heading .section-index { margin-bottom: 64px; }
.timeline { list-style: none; margin: 0; padding: 0; }
.timeline li { display: grid; grid-template-columns: 104px 1fr; gap: 24px; padding: 26px 0; border-top: 1px solid rgba(255,255,255,.2); }
.timeline li:last-child { border-bottom: 1px solid rgba(255,255,255,.2); }
.timeline time { color: var(--red); font: 12px/1.5 Arial, sans-serif; letter-spacing: .1em; }
.timeline p { margin: 0; color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.8; }

.contact { color: white; background: var(--ink-soft); padding: clamp(95px, 11vw, 165px) clamp(22px, 5vw, 76px); }
.contact-heading, .contact-layout { max-width: var(--max); margin: 0 auto; }
.contact-heading { display: grid; grid-template-columns: .42fr 1.5fr; gap: clamp(30px, 6vw, 100px); }
.contact-layout { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(50px, 10vw, 160px); margin-top: 92px; }
.contact-details { font-style: normal; }
.contact-details > div { padding: 22px 0; border-top: 1px solid var(--line-dark); }
.contact-details > div:last-of-type { border-bottom: 1px solid var(--line-dark); }
.contact-details span { display: block; margin-bottom: 8px; color: rgba(255,255,255,.4); font-size: 11px; }
.contact-details a, .contact-details p { margin: 0; color: rgba(255,255,255,.86); font-size: clamp(17px, 1.55vw, 23px); line-height: 1.5; }
.official-link { display: inline-flex; align-items: center; gap: 34px; margin-top: 32px; padding-bottom: 8px; color: white !important; border-bottom: 1px solid var(--red); font-size: 13px !important; }
.inquiry-form { border-top: 1px solid rgba(255,255,255,.42); }
.form-row { display: grid; grid-template-columns: 150px 1fr; align-items: start; padding: 20px 0; border-bottom: 1px solid var(--line-dark); }
.form-row label { padding-top: 10px; color: rgba(255,255,255,.48); font-size: 12px; }
.form-row input, .form-row textarea { width: 100%; padding: 10px 0; color: white; background: transparent; border: 0; border-radius: 0; outline: none; resize: vertical; }
.form-row:focus-within { border-bottom-color: var(--red); }
.inquiry-form button { display: flex; justify-content: space-between; width: 100%; margin-top: 30px; padding: 17px 20px; color: white; background: var(--red); border: 0; cursor: pointer; }
.form-status { min-height: 24px; margin: 16px 0 0; color: #d9d4ca; font-size: 13px; line-height: 1.6; }
.site-footer { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 44px; padding: 24px clamp(22px, 5vw, 76px); color: white; background: #070809; border-top: 1px solid rgba(255,255,255,.1); }
.footer-brand { display: flex; align-items: center; gap: 12px; }
.footer-brand .brand-mark { width: 34px; height: 34px; }
.footer-brand strong { font-size: 12px; font-weight: 500; }
.site-footer p, .site-footer > a { margin: 0; color: rgba(255,255,255,.43); font-size: 11px; }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1100px) {
  .site-header { grid-template-columns: auto 1fr auto; }
  .desktop-nav, .header-contact { display: none; }
  .menu-toggle { display: block; justify-self: end; }
  .profile, .products-heading { grid-template-columns: .35fr 1.15fr .9fr; gap: 32px; }
  .product-atlas { min-height: 1160px; }
  .product-node { width: min(520px, 48vw); grid-template-columns: 1fr; }
  .product-node > div { padding: 0 20px; }
  .node-two { grid-template-columns: 1fr; }
  .node-two figure, .node-two > div { grid-column: 1; grid-row: auto; text-align: left; }
  .node-four { width: 340px; }
  .capacity-scale { grid-template-columns: repeat(3, 1fr); }
  .capacity-item:nth-child(3) { border-right: 0; }
  .capacity-item:nth-child(n+4) { border-top: 1px solid var(--line-light); }
}

@media (max-width: 760px) {
  .site-header { min-height: 66px; padding: 0 18px; }
  .brand { min-width: 0; }
  .brand-mark { width: 38px; height: 38px; }
  .brand-type strong { font-size: 13px; }
  .brand-type small { font-size: 8px; }
  .hero { min-height: 820px; }
  .hero-image { object-position: 61% center; }
  .hero-shade { background: linear-gradient(180deg, rgba(5,6,7,.18), rgba(5,6,7,.74) 47%, rgba(5,6,7,.98) 83%); }
  .hero-radar { width: 100vw; right: -42vw; top: 32%; }
  .hero-copy { width: auto; margin: 0 20px; padding-top: 390px; }
  .hero h1 { font-size: clamp(56px, 18vw, 78px); }
  .hero-intro { margin-top: 24px; font-size: 15px; line-height: 1.7; }
  .hero-actions { align-items: stretch; gap: 16px; margin-top: 26px; }
  .action-primary { min-width: 0; flex: 1; }
  .hero-caption { left: 20px; bottom: 20px; }
  .hero-coordinate { display: none; }
  .profile, .products-heading, .manufacturing-heading, .contact-heading { grid-template-columns: 1fr; }
  .profile { padding: 82px 20px; }
  .profile-statement { margin-top: 40px; }
  .profile-copy { padding-top: 32px; }
  .profile-media { grid-column: auto; grid-template-columns: 1fr; margin-top: 46px; }
  .profile-media img { height: 340px; }
  .profile-media figcaption { padding: 16px 0; }
  .products { padding: 82px 20px 100px; }
  .products-heading h2 { margin-top: 38px; }
  .products-heading p:last-child { margin-top: 24px; }
  .product-atlas { min-height: 0; margin-top: 70px; }
  .atlas-orbit, .atlas-center { display: none; }
  .product-node { position: relative; inset: auto; width: 100%; display: grid; grid-template-columns: 46px 1fr; gap: 0; margin-bottom: 58px; padding-top: 0; border-top: 1px solid rgba(255,255,255,.16); }
  .product-node figure { grid-column: 1 / 3; margin-bottom: 22px; }
  .product-node img { height: 260px; }
  .product-node > div { grid-column: 2; padding: 0; }
  .node-index { position: static; grid-column: 1; grid-row: 2; width: 30px; background: transparent; border: 1px solid var(--red); color: var(--red); }
  .node-four { padding: 24px 0 0; }
  .node-four::before { display: none; }
  .node-four .node-index { position: static; }
  .capacity-heading { grid-template-columns: 1fr auto; gap: 20px; padding: 48px 20px 26px; }
  .capacity-heading h2 { grid-column: 1; grid-row: 2; }
  .capacity-heading p { grid-column: 2; grid-row: 2; }
  .capacity-scale { grid-template-columns: 1fr 1fr; padding: 0 20px 64px; }
  .capacity-item { min-height: 165px; padding: 28px 14px 20px 0; }
  .capacity-item:nth-child(even) { border-right: 0; padding-left: 14px; }
  .capacity-item:nth-child(n+3) { border-top: 1px solid var(--line-light); }
  .capacity-item:last-child { grid-column: 1 / 3; padding-left: 0; }
  .capacity-item strong { font-size: 44px; }
  .manufacturing { padding: 82px 20px; }
  .manufacturing-heading { margin-bottom: 60px; }
  .manufacturing-heading h2, .contact-heading h2 { margin-top: 38px; }
  .process, .process-quality { grid-template-columns: 1fr; gap: 26px; margin-bottom: 78px; }
  .process-visual img { height: 330px; }
  .process-copy { padding-bottom: 0; }
  .process-copy > span { margin-bottom: 28px; }
  .process-quality .process-copy { grid-row: 2; }
  .process-quality .process-visual { grid-row: 1; }
  .process-line { grid-template-columns: 1fr; gap: 10px; }
  .process-line i { width: 1px; height: 22px; margin-left: 4px; background: linear-gradient(var(--line-light), var(--red)); }
  .development { min-height: 1000px; }
  .development-image { object-position: 60% center; }
  .development-shade { background: linear-gradient(180deg, rgba(7,8,9,.48), rgba(7,8,9,.95) 49%, #070809 100%); }
  .development-content { grid-template-columns: 1fr; align-content: end; min-height: 1000px; padding: 90px 20px 74px; }
  .development-heading h2 { margin-top: 42px; }
  .timeline { margin-top: 25px; }
  .timeline li { grid-template-columns: 76px 1fr; gap: 14px; padding: 20px 0; }
  .contact { padding: 82px 20px; }
  .contact-layout { grid-template-columns: 1fr; gap: 70px; margin-top: 64px; }
  .form-row { grid-template-columns: 1fr; }
  .form-row label { padding-top: 0; }
  .site-footer { grid-template-columns: 1fr auto; padding: 22px 20px; }
  .site-footer p { grid-column: 1 / 3; grid-row: 2; }
  .footer-brand strong { max-width: 210px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
