:root {
  --quality-ink: #11211d;
  --quality-green: #103d33;
  --quality-deep: #071c17;
  --quality-paper: #f3f0e8;
  --quality-gold: #c8a95d;
  --quality-mint: #8fd0b8;
  --quality-line: rgba(17, 33, 29, .16);
  --quality-serif: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  --quality-sans: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif;
}

html { scroll-behavior: smooth; }

body.nichful-quality {
  margin: 0;
  color: var(--quality-ink);
  background: var(--quality-paper);
  font-family: var(--quality-sans);
  overflow-x: hidden;
}

.nichful-quality *,
.nichful-quality *::before,
.nichful-quality *::after { box-sizing: border-box; }

.nichful-quality section { padding: 0; }
.nichful-quality h1,
.nichful-quality h2,
.nichful-quality h3,
.nichful-quality p { margin: 0; }
.nichful-quality img { display: block; max-width: 100%; }

.nichful-quality .site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  border-bottom: 1px solid rgba(17, 33, 29, .1);
  background: rgba(243, 240, 232, .9);
  backdrop-filter: blur(18px);
}

.nichful-quality .nav { min-height: 82px; }
.nichful-quality .brand { color: var(--quality-ink); }
.nichful-quality .nav-links a { color: #34463f; }
.nichful-quality .nav-cta { color: var(--quality-paper); background: var(--quality-green); }

.quality-kicker,
.quality-section-heading > p,
.quality-closing-section > div > p {
  color: var(--quality-gold);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .28em;
}

.quality-editorial-hero {
  min-height: 100svh;
  padding-top: 82px !important;
  color: var(--quality-paper);
  background:
    radial-gradient(circle at 76% 36%, rgba(61, 124, 103, .28), transparent 34%),
    linear-gradient(145deg, #071c17, #103d33 72%, #174a3c);
  overflow: hidden;
}

.quality-hero-grid {
  width: min(calc(100% - 96px), 1360px);
  min-height: calc(100svh - 250px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(540px, 1.12fr);
  align-items: center;
  gap: clamp(48px, 7vw, 118px);
  padding: 90px 0 54px;
}

.quality-hero-copy { position: relative; z-index: 4; }

.quality-hero-copy h1 {
  margin-top: 30px;
  font-family: var(--quality-serif);
  font-size: clamp(60px, 7vw, 104px);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.075em;
}

.quality-hero-copy h1 em,
.quality-section-heading h2 em,
.quality-closing-section h2 em {
  color: #e0c987;
  font-weight: inherit;
  font-style: italic;
}

.quality-spec-section .quality-section-heading h2 em {
  display: inline-block;
  font-size: .75em;
  white-space: nowrap;
}

.quality-gate-section .quality-section-heading h2 em {
  display: inline-block;
  white-space: nowrap;
}

.quality-gate-section .quality-section-heading h2 em { font-size: .68em; }

.quality-hero-copy h1 em {
  display: inline-block;
  font-size: .75em;
  white-space: nowrap;
}

.quality-hero-lead {
  max-width: 530px;
  margin-top: 36px !important;
  color: rgba(243, 240, 232, .67);
  font-size: 15px;
  line-height: 2;
}

.quality-text-link {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  margin-top: 38px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(243, 240, 232, .46);
  color: var(--quality-paper);
  font-size: 12px;
  font-weight: 900;
}

.quality-hero-machine {
  position: relative;
  min-height: 620px;
  isolation: isolate;
}

.quality-hero-machine::before,
.quality-hero-machine::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 50% auto auto 50%;
  width: 560px;
  aspect-ratio: 1;
  border: 1px solid rgba(200, 169, 93, .13);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.quality-hero-machine::after { width: 390px; border-color: rgba(143, 208, 184, .12); }

.machine-intent,
.machine-spec,
.machine-task,
.machine-output {
  position: absolute;
  z-index: 2;
  border: 1px solid rgba(243, 240, 232, .14);
  background: rgba(5, 22, 18, .72);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .22);
  backdrop-filter: blur(14px);
}

.machine-intent { top: 52px; left: 0; width: 205px; padding: 20px; border-radius: 5px 28px 28px; }
.machine-intent span,
.machine-output > span { color: var(--quality-gold); font-size: 7px; font-weight: 900; letter-spacing: .2em; }
.machine-intent b { display: block; margin-top: 12px; font-family: var(--quality-serif); font-size: 18px; font-weight: 500; line-height: 1.45; }

.machine-spec { top: 112px; left: 155px; width: 330px; padding: 17px 20px 24px; border-radius: 22px; transform: rotate(-2deg); }
.machine-window-head { display: flex; align-items: center; gap: 6px; padding-bottom: 14px; border-bottom: 1px solid rgba(243, 240, 232, .12); }
.machine-window-head i { width: 6px; height: 6px; border-radius: 50%; background: rgba(243, 240, 232, .28); }
.machine-window-head span { margin-left: auto; color: rgba(243, 240, 232, .43); font-size: 8px; }
.machine-spec p { margin-top: 16px; color: rgba(243, 240, 232, .76); font: 500 11px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
.machine-spec p span { display: inline-block; width: 70px; color: var(--quality-mint); }
.machine-cursor { width: 1px; height: 15px; margin: 14px 0 0 70px; background: var(--quality-gold); animation: quality-cursor .8s steps(1) infinite; }

.machine-task { width: 122px; min-height: 56px; display: flex; align-items: center; gap: 11px; padding: 12px 14px; border-radius: 14px; }
.machine-task span { color: var(--quality-gold); font: 500 18px/1 var(--quality-serif); }
.machine-task b { font-size: 10px; letter-spacing: .12em; }
.task-a { top: 330px; left: 52px; }
.task-b { top: 405px; left: 158px; }
.task-c { top: 330px; left: 273px; }

.machine-output { right: 0; bottom: 34px; width: 205px; padding: 18px; border-radius: 28px 7px 28px 28px; }
.machine-phone { width: 112px; height: 226px; margin: 0 auto 16px; padding: 7px; border-radius: 23px; background: #07110e; overflow: hidden; }
.machine-phone img { width: 100%; height: 100%; border-radius: 17px; object-fit: cover; object-position: top; }
.machine-output > span { display: block; text-align: center; }

.machine-path { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; }
.machine-path path { fill: none; stroke: rgba(200, 169, 93, .3); stroke-width: 1; stroke-dasharray: 3 7; }

.quality-proof-rail {
  width: min(calc(100% - 96px), 1360px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(243, 240, 232, .18);
}
.quality-proof-rail > div { min-height: 168px; padding: 34px 28px; border-right: 1px solid rgba(243, 240, 232, .18); }
.quality-proof-rail > div:first-child { padding-left: 0; }
.quality-proof-rail > div:last-child { border-right: 0; }
.quality-proof-rail strong { display: block; font: 500 clamp(42px, 5vw, 70px)/.9 var(--quality-serif); letter-spacing: -.06em; }
.quality-proof-rail span { display: block; margin-top: 18px; color: var(--quality-gold); font-size: var(--font-info-label-min); font-weight: 900; letter-spacing: .16em; }
.quality-proof-rail p { margin-top: 8px; color: rgba(243, 240, 232, .68); font-size: var(--font-info-body-min); line-height: 1.5; }

.quality-spec-section,
.quality-gate-section { padding: 136px 0 !important; background: var(--quality-paper); }

.quality-section-heading {
  width: min(calc(100% - 96px), 1220px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: .42fr 1.2fr .7fr;
  align-items: end;
  gap: 42px;
}
.quality-section-heading h2 { font-family: var(--quality-serif); font-size: clamp(48px, 6vw, 82px); font-weight: 500; line-height: 1.02; letter-spacing: -.075em; }
.quality-section-heading > span { color: #526760; font-size: 14px; line-height: 1.9; }
.quality-section-heading.light { color: var(--quality-paper); }
.quality-section-heading.light > span { color: rgba(243, 240, 232, .58); }

.spec-engine-stage { width: min(calc(100% - 96px), 1220px); margin: 90px auto 0; }
.spec-step-rail { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid var(--quality-line); border-bottom: 1px solid var(--quality-line); }
.spec-step-rail::before { content: ""; position: absolute; top: -1px; left: 0; width: calc(100% / 6); height: 2px; background: var(--quality-gold); transform: translateX(calc(var(--quality-step, 0) * 100%)); transition: transform .55s cubic-bezier(.22, 1, .36, 1); }
.spec-step-rail button { min-height: 92px; display: grid; place-content: center; gap: 9px; border: 0; border-right: 1px solid var(--quality-line); color: #6f7b76; background: transparent; cursor: pointer; }
.spec-step-rail button:last-child { border-right: 0; }
.spec-step-rail button span { font: italic 500 14px/1 var(--quality-serif); }
.spec-step-rail button b { font-size: 12px; letter-spacing: .1em; }
.spec-step-rail button[aria-selected="true"] { color: var(--quality-green); }

.spec-stage-display { position: relative; min-height: 660px; margin-top: 34px; display: grid; grid-template-columns: 220px minmax(0, 1fr); border: 1px solid rgba(17, 33, 29, .15); background: #ece9e1; overflow: hidden; }
.spec-stage-display::before { content: "SPEC"; position: absolute; right: -2vw; bottom: -3vw; color: rgba(16, 61, 51, .035); font: 500 220px/.7 Georgia, serif; pointer-events: none; }
.spec-stage-status { position: relative; z-index: 2; padding: 36px 28px; border-right: 1px solid var(--quality-line); }
.spec-stage-status span { color: #6c7b75; font-size: 12px; font-weight: 900; letter-spacing: .1em; }
.spec-stage-status i { display: block; width: 9px; height: 9px; margin-top: 26px; border-radius: 50%; background: var(--quality-gold); box-shadow: 0 0 18px rgba(200, 169, 93, .68); }
.spec-stage-status b { display: block; margin-top: 16px; color: var(--quality-green); font-size: 12px; line-height: 1.5; letter-spacing: .07em; }
.spec-stage-panels { position: relative; z-index: 2; min-height: 660px; }
.spec-panel { position: absolute; inset: 0; padding: 58px clamp(42px, 6vw, 86px); opacity: 0; transform: translateY(24px); pointer-events: none; transition: opacity .42s ease, transform .55s cubic-bezier(.22, 1, .36, 1); }
.spec-panel.is-active { opacity: 1; transform: none; pointer-events: auto; }
.spec-panel > p { color: var(--quality-gold); font-size: 10px; font-weight: 900; letter-spacing: .2em; }
.spec-panel h3 { margin-top: 24px; color: var(--quality-green); font-family: var(--quality-serif); font-size: clamp(42px, 5vw, 68px); font-weight: 500; line-height: 1.07; letter-spacing: -.06em; }
.spec-panel dl { margin: 42px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--quality-line); }
.spec-panel dl > div { padding: 24px 20px 0 0; }
.spec-panel dt { color: #65776f; font-size: 10px; font-weight: 900; letter-spacing: .16em; }
.spec-panel dd { margin: 12px 0 0; color: #263d36; font-size: 16px; line-height: 1.7; }
.spec-panel ul { margin: 46px 0 0; padding: 0; list-style: none; }
.spec-panel li { display: grid; grid-template-columns: 130px 1fr; align-items: center; gap: 22px; padding: 17px 0; border-top: 1px solid var(--quality-line); color: #263d36; font-size: 16px; line-height: 1.5; }
.spec-panel li span { color: var(--quality-gold); font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.mini-task-grid { margin-top: 46px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.mini-task-grid span { min-height: 84px; display: grid; place-content: center; gap: 9px; padding: 12px; border: 1px solid var(--quality-line); color: #4f625b; text-align: center; background: rgba(255, 255, 255, .34); }
.mini-task-grid b { font-size: 12px; letter-spacing: .06em; }
.mini-task-grid small { color: #435a52; font-size: 13px; }
.mini-agent-lanes { margin-top: 48px; display: grid; gap: 12px; }
.mini-agent-lanes span { position: relative; min-height: 60px; display: grid; grid-template-columns: 190px 1fr; align-items: center; gap: 18px; padding: 15px 20px; color: #445750; background: rgba(16, 61, 51, .06); overflow: hidden; }
.mini-agent-lanes b { font-size: 11px; letter-spacing: .1em; }
.mini-agent-lanes small { font-size: 14px; }
.mini-agent-lanes i { position: absolute; inset: auto 0 0; height: 2px; background: linear-gradient(90deg, var(--quality-gold), var(--quality-mint)); animation: quality-lane 2.2s ease-in-out infinite; }
.mini-checks { margin-top: 42px; display: grid; gap: 0; border-top: 1px solid var(--quality-line); }
.mini-checks span { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--quality-line); color: #4a5d56; }
.mini-checks i { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 18px; flex: 1; font-style: normal; }
.mini-checks b { color: var(--quality-green); font-size: 11px; letter-spacing: .08em; }
.mini-checks small { font-size: 14px; line-height: 1.45; }
.mini-checks strong { color: var(--quality-green); font-size: 11px; letter-spacing: .1em; }
.mini-release { margin-top: 50px; padding: 26px; border: 1px solid rgba(200, 169, 93, .48); background: rgba(200, 169, 93, .07); }
.mini-release span { display: block; color: #6e7d77; font-size: 8px; }
.mini-release b { display: block; margin-top: 14px; color: var(--quality-green); font: 500 28px/1 var(--quality-serif); }
.spec-trace-line { position: absolute; z-index: 3; right: 0; bottom: 0; left: 220px; height: 2px; overflow: hidden; }
.spec-trace-line i { display: block; width: 36%; height: 100%; background: linear-gradient(90deg, transparent, var(--quality-gold), transparent); animation: quality-trace 2.2s linear infinite; }

.quality-agent-section { padding: 136px 0 !important; color: var(--quality-paper); background: linear-gradient(145deg, var(--quality-deep), var(--quality-green)); overflow: hidden; }
.agent-constellation { position: relative; width: min(calc(100% - 96px), 1100px); min-height: 700px; margin: 80px auto 0; }
.agent-constellation::before { content: ""; position: absolute; inset: 50% auto auto 50%; width: 610px; aspect-ratio: 1; border: 1px solid rgba(200, 169, 93, .14); border-radius: 50%; transform: translate(-50%, -50%); }
.agent-constellation svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.agent-constellation svg path { fill: none; stroke: rgba(143, 208, 184, .2); stroke-width: 1; stroke-dasharray: 4 9; animation: quality-dash 9s linear infinite; }
.agent-human,
.agent-orchestrator,
.agent-specialist { position: absolute; z-index: 2; border: 1px solid rgba(243, 240, 232, .14); background: rgba(5, 22, 18, .72); backdrop-filter: blur(12px); }
.agent-human { top: 22px; left: 50%; width: 310px; padding: 19px 22px; border-color: rgba(200, 169, 93, .42); transform: translateX(-50%); }
.agent-human span,
.agent-orchestrator span { color: var(--quality-gold); font-size: 12px; font-weight: 900; letter-spacing: .1em; }
.agent-human b,
.agent-orchestrator b { display: block; margin-top: 9px; font-family: var(--quality-serif); font-size: 16px; font-weight: 500; }
.agent-orchestrator { top: 235px; left: 50%; width: 260px; min-height: 120px; display: grid; place-content: center; padding: 20px; border-radius: 50%; text-align: center; transform: translateX(-50%); box-shadow: 0 0 80px rgba(200, 169, 93, .08); }
.agent-orchestrator > i { position: absolute; inset: -12px; border: 1px solid rgba(200, 169, 93, .2); border-radius: 50%; animation: quality-orbit 10s linear infinite; }
.agent-specialist { width: 166px; min-height: 88px; display: grid; place-content: center; padding: 14px; text-align: center; }
.agent-specialist > i { position: absolute; top: 50%; left: -4px; width: 8px; height: 8px; border-radius: 50%; background: var(--quality-mint); box-shadow: 0 0 14px var(--quality-mint); }
.agent-specialist b { font-size: 12px; letter-spacing: .09em; }
.agent-specialist small { margin-top: 8px; color: rgba(243, 240, 232, .68); font-size: 12px; }
.agent-planning { top: 440px; left: 65px; }.agent-ui { top: 535px; left: 252px; }.agent-build { top: 570px; left: 467px; }.agent-qa { top: 535px; right: 252px; }.agent-legal { top: 440px; right: 65px; }.agent-localize { top: 240px; right: 36px; }
.agent-section-note { max-width: 690px; margin: 0 auto !important; color: rgba(243, 240, 232, .7); font-size: 14px; line-height: 2; text-align: center; }

.quality-gate-board { position: relative; width: min(calc(100% - 96px), 1220px); margin: 90px auto 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--quality-line); border-bottom: 1px solid var(--quality-line); overflow: hidden; }
.quality-gate-board article { position: relative; min-height: 390px; padding: 42px 28px; border-right: 1px solid var(--quality-line); }
.quality-gate-board article:nth-of-type(4) { border-right: 0; }
.quality-gate-board article > span { color: var(--quality-gold); font: italic 500 13px/1 var(--quality-serif); }
.quality-gate-board h3 { margin-top: 36px; color: var(--quality-green); font-size: 16px; line-height: 1.12; letter-spacing: -.03em; }
.quality-gate-board article p { margin-top: 28px; color: #586b63; font-size: 14px; line-height: 1.8; }
.quality-gate-board article > b { position: absolute; bottom: 30px; left: 28px; color: rgba(16, 61, 51, .18); font: 500 45px/1 Georgia, serif; }
.gate-scanner { position: absolute; z-index: 4; top: 0; bottom: 112px; left: 0; width: 1px; background: linear-gradient(transparent, var(--quality-gold), transparent); box-shadow: 0 0 28px rgba(200, 169, 93, .8); animation: quality-scan 5.2s ease-in-out infinite; }
.gate-decision { grid-column: 1 / -1; min-height: 112px; display: grid; grid-template-columns: .45fr .8fr 1.2fr; align-items: center; gap: 30px; padding: 25px 30px; border-top: 1px solid var(--quality-line); background: var(--quality-green); color: var(--quality-paper); }
.gate-decision span { color: var(--quality-gold); font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.gate-decision strong { font: 500 24px/1 var(--quality-serif); }
.gate-decision p { color: rgba(243, 240, 232, .7); font-size: 13px; line-height: 1.7; }

.quality-support-invite { position: relative; overflow: hidden; padding: 150px 0 !important; color: var(--quality-paper); background: radial-gradient(circle at 50% 42%, rgba(65, 134, 108, .3), transparent 31%), linear-gradient(145deg, #071c17, #103d33); text-align: center; }
.quality-support-invite::before { content: "LISTEN"; position: absolute; top: 50%; left: 50%; color: rgba(243, 240, 232, .035); font: 500 clamp(160px, 22vw, 360px)/.7 Georgia, serif; letter-spacing: -.1em; transform: translate(-50%, -50%); pointer-events: none; }
.quality-support-inner { position: relative; width: min(calc(100% - 96px), 820px); margin: 0 auto; }
.quality-support-inner > p:first-child { color: var(--quality-gold); font-size: 10px; font-weight: 900; letter-spacing: .26em; }
.quality-support-inner h2 { margin-top: 30px; font-family: var(--quality-serif); font-size: clamp(56px, 6vw, 80px); font-weight: 500; line-height: 1.03; letter-spacing: -.075em; }
.quality-support-inner h2 em { color: var(--quality-gold); font-style: italic; }
.quality-support-lead { max-width: 610px; margin: 34px auto 0 !important; color: rgba(243, 240, 232, .74); font-size: 16px; line-height: 2; }
.quality-support-topics { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 42px; }
.quality-support-topics span { padding: 11px 15px; border: 1px solid rgba(243, 240, 232, .2); border-radius: 999px; color: rgba(243, 240, 232, .84); font-size: 13px; }
.quality-support-link { display: inline-flex; align-items: center; gap: 34px; margin-top: 38px; padding: 20px 24px 19px 28px; border: 1px solid rgba(200, 169, 93, .7); color: var(--quality-paper); background: rgba(200, 169, 93, .1); font-size: 14px; font-weight: 900; letter-spacing: .05em; transition: color .25s ease, background .25s ease, transform .25s ease; }
.quality-support-link:hover { color: var(--quality-deep); background: var(--quality-gold); transform: translateY(-3px); }
.quality-support-link span { color: var(--quality-gold); font-size: 17px; transition: color .25s ease, transform .25s ease; }
.quality-support-link:hover span { color: inherit; transform: translate(2px, -2px); }
.quality-support-note { margin-top: 18px !important; color: rgba(243, 240, 232, .62); font-size: 13px; }

.quality-closing-section { min-height: 78svh; display: grid; place-items: center; padding: 110px 48px !important; background: var(--quality-paper); text-align: center; }
.quality-closing-section h2 { margin-top: 34px; font-family: var(--quality-serif); font-size: clamp(54px, 8vw, 112px); font-weight: 500; line-height: 1.02; letter-spacing: -.075em; }
.quality-closing-section > div > div { display: flex; justify-content: center; gap: 36px; margin-top: 48px; }
.quality-closing-section a { display: inline-flex; gap: 24px; padding-bottom: 8px; border-bottom: 1px solid currentColor; color: var(--quality-green); font-size: 14px; font-weight: 900; }

.nichful-quality footer { color: rgba(243, 240, 232, .54); border-color: rgba(243, 240, 232, .12); background: var(--quality-deep); }

.quality-motion [data-quality-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .8s cubic-bezier(.22, 1, .36, 1), transform .8s cubic-bezier(.22, 1, .36, 1); }
.quality-motion [data-quality-reveal].is-visible { opacity: 1; transform: none; }

.quality-motion .quality-hero-machine.is-visible .machine-intent { animation: quality-machine-pop .65s .08s cubic-bezier(.22, 1, .36, 1) both; }
.quality-motion .quality-hero-machine.is-visible .machine-spec { animation: quality-machine-spec .75s .42s cubic-bezier(.22, 1, .36, 1) both; }
.quality-motion .quality-hero-machine.is-visible .task-a { animation: quality-machine-pop .55s .82s cubic-bezier(.22, 1, .36, 1) both; }
.quality-motion .quality-hero-machine.is-visible .task-b { animation: quality-machine-pop .55s 1.02s cubic-bezier(.22, 1, .36, 1) both; }
.quality-motion .quality-hero-machine.is-visible .task-c { animation: quality-machine-pop .55s 1.22s cubic-bezier(.22, 1, .36, 1) both; }
.quality-motion .quality-hero-machine.is-visible .machine-output { animation: quality-machine-pop .75s 1.5s cubic-bezier(.22, 1, .36, 1) both; }
.quality-motion .quality-hero-machine.is-visible .machine-path path { animation: quality-machine-path 2.4s .35s ease both; }

@keyframes quality-cursor { 50% { opacity: 0; } }
@keyframes quality-lane { 0%,100% { transform: translateX(-100%); } 50% { transform: translateX(190%); } }
@keyframes quality-trace { from { transform: translateX(-120%); } to { transform: translateX(390%); } }
@keyframes quality-dash { to { stroke-dashoffset: -130; } }
@keyframes quality-orbit { to { transform: rotate(360deg); } }
@keyframes quality-scan { 0%,8% { transform: translateX(0); } 82%,100% { transform: translateX(1220px); } }
@keyframes quality-machine-pop { from { opacity: 0; transform: translateY(22px) scale(.94); } to { opacity: 1; transform: none; } }
@keyframes quality-machine-spec { from { opacity: 0; transform: translateY(24px) rotate(-2deg) scale(.94); } to { opacity: 1; transform: rotate(-2deg); } }
@keyframes quality-machine-path { from { stroke-dashoffset: 160; opacity: 0; } to { stroke-dashoffset: 0; opacity: 1; } }

@media (max-width: 1050px) {
  .quality-hero-grid { grid-template-columns: 1fr; padding-top: 120px; }
  .quality-hero-copy { max-width: 780px; }
  .quality-hero-machine { width: min(100%, 760px); margin: 0 auto; }
  .quality-section-heading { grid-template-columns: 1fr; gap: 22px; }
  .quality-section-heading > span { max-width: 620px; }
  .agent-planning { left: 20px; }.agent-legal { right: 20px; }
  .quality-gate-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quality-gate-board article:nth-of-type(2) { border-right: 0; }
  .quality-gate-board article:nth-of-type(-n+2) { border-bottom: 1px solid var(--quality-line); }
  .gate-scanner { display: none; }
}

@media (max-width: 720px) {
  .nichful-quality .nav { min-height: 72px; }
  .quality-editorial-hero { padding-top: 72px !important; }
  .quality-hero-grid,
  .quality-proof-rail,
  .quality-section-heading,
  .spec-engine-stage,
  .agent-constellation,
  .quality-gate-board { width: min(calc(100% - 36px), 620px); }
  .quality-hero-grid { min-height: auto; gap: 36px; padding: 84px 0 44px; }
  .quality-kicker { font-size: 8px; }
  .quality-hero-copy h1 { margin-top: 24px; font-size: min(14vw, 56px); }
  .quality-hero-copy h1 em { font-size: .66em; }
  .quality-hero-lead { margin-top: 24px !important; font-size: 12px; line-height: 1.8; }
  .quality-text-link { margin-top: 26px; }
  .quality-hero-machine { min-height: 480px; transform: scale(.9); transform-origin: top center; }
  .machine-intent { top: 24px; left: 0; width: 158px; padding: 14px; }
  .machine-intent b { font-size: 14px; }
  .machine-spec { top: 94px; left: 50px; width: 260px; }
  .machine-spec p { font-size: 9px; }
  .task-a { top: 306px; left: 0; }.task-b { top: 362px; left: 82px; }.task-c { top: 306px; left: 166px; }
  .machine-task { width: 105px; }
  .machine-output { right: -12px; bottom: 0; width: 142px; padding: 12px; }
  .machine-phone { width: 78px; height: 158px; }
  .quality-proof-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quality-proof-rail > div { min-height: 140px; padding: 26px 14px; border-bottom: 1px solid rgba(243, 240, 232, .18); }
  .quality-proof-rail > div:first-child { padding-left: 14px; }
  .quality-proof-rail > div:nth-child(2) { border-right: 0; }
  .quality-proof-rail strong { font-size: 44px; }

  .quality-spec-section,
  .quality-gate-section,
  .quality-agent-section,
  .quality-support-invite { padding: 104px 0 !important; }
  .quality-section-heading h2 { font-size: min(12vw, 48px); }
  .quality-spec-section .quality-section-heading h2 em { font-size: .78em; }
  .quality-section-heading > span { font-size: 14px; }
  .spec-engine-stage { margin-top: 54px; }
  .spec-step-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .spec-step-rail::before { display: none; }
  .spec-step-rail button { min-height: 66px; border-bottom: 1px solid var(--quality-line); }
  .spec-stage-display { min-height: 690px; grid-template-columns: 1fr; }
  .spec-stage-status { min-height: 76px; display: flex; align-items: center; gap: 12px; padding: 18px; border-right: 0; border-bottom: 1px solid var(--quality-line); }
  .spec-stage-status i { margin: 0; }.spec-stage-status b { margin: 0 0 0 auto; font-size: 12px; }
  .spec-stage-panels { min-height: 614px; }
  .spec-panel { padding: 44px 24px; }
  .spec-panel h3 {
    font-size: min(7.5vw, 30px);
    line-height: 1.18;
    letter-spacing: -.045em;
  }
  .spec-panel dl { margin-top: 30px; grid-template-columns: 1fr; }
  .spec-panel dl > div { padding: 15px 0; border-bottom: 1px solid var(--quality-line); }
  .spec-panel dd { margin-top: 7px; font-size: 15px; line-height: 1.55; }
  .spec-panel ul { margin-top: 30px; }
  .spec-panel li { grid-template-columns: 100px 1fr; gap: 12px; padding: 13px 0; font-size: 14px; }
  .mini-task-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mini-task-grid span { min-height: 78px; }
  .mini-task-grid b { font-size: 10px; }
  .mini-task-grid small { font-size: 12px; }
  .mini-agent-lanes { margin-top: 32px; gap: 9px; }
  .mini-agent-lanes span { min-height: 58px; grid-template-columns: 1fr; gap: 6px; padding: 12px 16px; }
  .mini-agent-lanes b { font-size: 10px; }
  .mini-agent-lanes small { font-size: 13px; }
  .mini-checks { margin-top: 28px; }
  .mini-checks span { padding: 10px 0; }
  .mini-checks i { grid-template-columns: 1fr; gap: 4px; }
  .mini-checks b { font-size: 10px; }
  .mini-checks small { font-size: 12px; }
  .mini-checks strong { font-size: 10px; }
  .spec-trace-line { left: 0; }

  .agent-constellation { min-height: 770px; margin-top: 50px; }
  .agent-constellation::before { width: 500px; }
  .agent-constellation svg { display: none; }
  .agent-human { top: 8px; width: 270px; }
  .agent-orchestrator { top: 170px; width: 270px; }
  .agent-orchestrator b { font-size: 15px; white-space: nowrap; }
  .agent-specialist { width: 142px; min-height: 84px; }
  .agent-specialist b { font-size: 12px; }
  .agent-specialist small { margin-top: 8px; font-size: 12px; }
  .agent-planning { top: 378px; left: 0; }.agent-ui { top: 478px; left: 8px; }.agent-build { top: 578px; left: calc(50% - 71px); }.agent-qa { top: 478px; right: 8px; }.agent-legal { top: 378px; right: 0; }.agent-localize { top: 280px; right: calc(50% - 71px); }
  .agent-section-note { width: calc(100% - 36px); font-size: 13px; }

  .quality-gate-board { margin-top: 54px; grid-template-columns: 1fr; }
  .quality-gate-board article { min-height: 260px; padding: 30px 24px; border-right: 0; border-bottom: 1px solid var(--quality-line); }
  .quality-gate-board article:nth-of-type(-n+2) { border-bottom: 1px solid var(--quality-line); }
  .quality-gate-board h3 { margin-top: 24px; }
  .quality-gate-board article p { margin-top: 18px; }
  .gate-decision { grid-template-columns: 1fr; gap: 10px; }

  .quality-support-inner { width: min(calc(100% - 36px), 620px); }
  .quality-support-inner h2 { font-size: min(9vw, 36px); }
  .quality-support-lead { margin-top: 28px !important; font-size: 14px; line-height: 1.9; }
  .quality-support-topics { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 32px; }
  .quality-support-topics span { padding: 12px 14px; font-size: 13px; }
  .quality-support-link { width: 100%; justify-content: space-between; margin-top: 28px; padding: 19px 20px; }
  .quality-support-note { font-size: 11px; }

  .quality-closing-section { min-height: 640px; padding: 90px 18px !important; }
  .quality-closing-section h2 { font-size: min(8.8vw, 40px); }
  .quality-closing-section h2 span,
  .quality-closing-section h2 em { display: inline-block; white-space: nowrap; }
  .quality-closing-section > div > div { flex-direction: column; align-items: center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .quality-motion [data-quality-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
  .machine-cursor,
  .mini-agent-lanes i,
  .spec-trace-line i,
  .agent-constellation svg path,
  .agent-orchestrator > i { animation: none !important; }
  .gate-scanner { display: none; }
}
