/* Training and contact: visual alignment with the existing factory experience.
   Only these two pages opt in. Existing content, scripts and forms are retained. */
body.qiai-aligned-20261007.qa-service main {
  background: var(--qa-paper);
  color: var(--qa-ink);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
}
body.qiai-aligned-20261007.qa-service main > section > .container,
body.qiai-aligned-20261007.qa-training .training-shell .container {
  width: calc(100% - 320px);
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 0;
}
body.qiai-aligned-20261007.qa-service main :is(h1,h2,h3) { font-family: inherit; }
body.qiai-aligned-20261007.qa-service main :is(a,button,input,select,textarea):focus-visible {
  outline: 3px solid var(--qa-green);
  outline-offset: 5px;
}

/* The actual classroom fills the first viewport, as the factory scene does. */
body.qiai-aligned-20261007.qa-training .training-hero { padding: 0 !important; background: #182e2b !important; }
body.qiai-aligned-20261007.qa-training .training-hero > .container { width: 100%; max-width: none; }
body.qiai-aligned-20261007.qa-training .training-hero-grid {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: 748px;
  height: calc(100vh - 64px);
  max-height: 920px;
  gap: 0;
}
body.qiai-aligned-20261007.qa-training .qa-training-hero-copy {
  position: relative;
  z-index: 2;
  width: calc(100% - 240px);
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 0 112px;
}
body.qiai-aligned-20261007.qa-training .training-eyebrow {
  color: #e6efea;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: .12em;
  margin-bottom: 28px;
}
body.qiai-aligned-20261007.qa-training .training-eyebrow i { display: none; }
body.qiai-aligned-20261007.qa-training .training-hero h1 {
  max-width: 880px;
  font-size: 68px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.035em;
  color: #fff !important;
  margin: 0 0 28px;
  text-shadow: 0 2px 16px #10232026;
}
body.qiai-aligned-20261007.qa-training .training-hero .lead {
  max-width: 680px;
  font-size: 16px;
  line-height: 1.9;
  color: #e5edeb;
  margin-bottom: 32px;
}
body.qiai-aligned-20261007.qa-training .training-actions { gap: 24px; }
body.qiai-aligned-20261007.qa-training .training-btn {
  border-radius: 0;
  min-height: 52px;
  padding: 15px 22px;
  font-size: 15px;
  font-weight: 500;
  gap: 12px;
}
body.qiai-aligned-20261007.qa-training .training-btn.primary { background: var(--qa-green); }
body.qiai-aligned-20261007.qa-training .training-btn.primary:hover { background: #244c3e; }
body.qiai-aligned-20261007.qa-training .training-btn.ghost { border-color: #b7c9be; color: var(--qa-green); }
body.qiai-aligned-20261007.qa-training .training-hero .training-btn.primary { background: #f5f8f2; color: #1e3931; }
body.qiai-aligned-20261007.qa-training .training-hero .training-btn.primary:hover { background: #dce7dc; }
body.qiai-aligned-20261007.qa-training .training-hero .training-btn.ghost { color: #fff; background: transparent; border: 0; border-bottom: 1px solid #d9e8df80; padding-inline: 0; }
body.qiai-aligned-20261007.qa-training .training-hero .training-btn.ghost:hover { border-color: #fff; }
body.qiai-aligned-20261007.qa-training .training-hero-photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  border: 0;
  border-radius: 0;
  background: #182e2b;
}
body.qiai-aligned-20261007.qa-training .training-hero-photo img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
}
body.qiai-aligned-20261007.qa-training .training-hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg,rgba(6,24,26,.88),rgba(6,24,26,.74) 38%,rgba(6,24,26,.24) 78%),linear-gradient(0deg,rgba(6,24,26,.56),transparent 32%);
}
body.qiai-aligned-20261007.qa-training .training-hero-photo figcaption {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 25px max(80px,calc((100% - 1200px)/2));
  color: #e5edeb;
  background: #0c252833;
  border-top: 1px solid #ffffff30;
  font-size: 12px;
  font-weight: 400;
}
body.qiai-aligned-20261007.qa-training .training-hero-photo figcaption :is(a,span) { color: #e5edeb; font-weight: 400; }
body.qiai-aligned-20261007.qa-training .training-hero-photo figcaption a { text-decoration: none; }
body.qiai-aligned-20261007.qa-training .training-hero-photo figcaption a:hover { text-decoration: underline; text-underline-offset: 4px; }
body.qiai-aligned-20261007.qa-training .training-meta {
  width: calc(100% - 320px);
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 0;
  color: var(--qa-ink);
  border: 0;
  background: var(--qa-paper);
}
body.qiai-aligned-20261007.qa-training .training-hero:has(.training-meta) { background: var(--qa-paper) !important; }
body.qiai-aligned-20261007.qa-training .training-meta-card { padding: 0 32px; }
body.qiai-aligned-20261007.qa-training .training-meta-card:first-child { padding-left: 0; }
body.qiai-aligned-20261007.qa-training .training-meta-card strong { font-size: 18px; font-weight: 500; }
body.qiai-aligned-20261007.qa-training .training-meta-card span { font-size: 13px; color: var(--qa-muted); }
body.qiai-aligned-20261007.qa-training .training-page-nav { background: var(--qa-paper); border-block: 1px solid var(--qa-line); }
body.qiai-aligned-20261007.qa-training .training-page-nav .container { min-height: 76px; }
body.qiai-aligned-20261007.qa-training .training-page-nav a { padding: 25px 0; color: var(--qa-ink); font-weight: 400; }
body.qiai-aligned-20261007.qa-training .training-page-nav a:last-child { color: var(--qa-green); font-weight: 500; }

/* Chapter rhythm, typography and photographic surfaces follow strength.html. */
body.qiai-aligned-20261007.qa-training .training-shell { background: var(--qa-paper); }
body.qiai-aligned-20261007.qa-training .training-section { padding: 96px 0 !important; background: var(--qa-paper); }
body.qiai-aligned-20261007.qa-training .training-section.tight { padding: 64px 0 !important; }
body.qiai-aligned-20261007.qa-training .training-section-header { max-width: 920px; margin-bottom: 44px; }
body.qiai-aligned-20261007.qa-training :is(.training-section-title,.training-copy-panel h2,.training-teacher-band h2,.training-cert-content h2,.training-final-cta > div > h2) {
  color: var(--qa-ink);
  font-size: 42px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -.025em;
  margin-bottom: 24px;
}
body.qiai-aligned-20261007.qa-training .training-kicker { color: var(--qa-green); font-size: 12px; font-weight: 400; letter-spacing: .12em; margin-bottom: 24px; }
body.qiai-aligned-20261007.qa-training :is(.training-section-desc,.training-copy-panel p,.training-teacher-band p,.training-cert-content p,.training-final-cta > div > p) { color: var(--qa-muted); font-size: 16px; line-height: 1.9; }
body.qiai-aligned-20261007.qa-training .training-proof-card .num { color: var(--qa-ink); font-size: 40px; font-weight: 400; letter-spacing: -.035em; }
body.qiai-aligned-20261007.qa-training .training-proof-card h3 { color: var(--qa-ink); font-weight: 500; }
body.qiai-aligned-20261007.qa-training .training-proof-card p { color: var(--qa-muted); font-size: 13px; }
body.qiai-aligned-20261007.qa-training .training-two-col { grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); gap: 66px; }
body.qiai-aligned-20261007.qa-training .training-list li { color: var(--qa-muted); font-size: 15px; line-height: 1.9; }
body.qiai-aligned-20261007.qa-training :is(.training-image-card,.training-schedule-panel,.training-teacher-card,.training-gallery figure,.training-cert-card,.training-final-cta,.training-qr) { border-radius: 0; box-shadow: none; border-color: var(--qa-line); }
body.qiai-aligned-20261007.qa-training :is(.training-image-card,.training-teacher-card,.training-cert-card,.training-gallery figure) { padding: 0; border: 0; background: transparent; }
body.qiai-aligned-20261007.qa-training :is(.training-image-card,.training-teacher-card,.training-cert-card) img { border: 1px solid var(--qa-line); }
body.qiai-aligned-20261007.qa-training .training-image-card figcaption { padding: 16px 0 0; }
body.qiai-aligned-20261007.qa-training :is(#course,.training-teachers,#certificate) { background: var(--qa-wash) !important; }
body.qiai-aligned-20261007.qa-training .training-module-grid { gap: 0 30px; }
body.qiai-aligned-20261007.qa-training .training-module-card { padding-top: 28px; padding-bottom: 32px; border-color: var(--qa-line) !important; }
body.qiai-aligned-20261007.qa-training .training-module-card::before { top: 28px; color: var(--qa-muted); font-weight: 400; }
body.qiai-aligned-20261007.qa-training .training-module-card h3 { font-size: 19px; font-weight: 500; color: var(--qa-ink); }
body.qiai-aligned-20261007.qa-training .training-module-card p { font-size: 14px; color: var(--qa-muted); }
body.qiai-aligned-20261007.qa-training .training-schedule-panel { padding: 40px; margin-top: 32px; background: var(--qa-paper); }
body.qiai-aligned-20261007.qa-training .training-schedule-head { gap: 48px; margin-bottom: 32px; }
body.qiai-aligned-20261007.qa-training .training-schedule-head h3 { font-size: 24px; font-weight: 500; color: var(--qa-ink); }
body.qiai-aligned-20261007.qa-training .training-schedule-head p { font-size: 14px; color: var(--qa-muted); }
body.qiai-aligned-20261007.qa-training .training-fit-card { border-color: var(--qa-line) !important; border-top-width: 1px !important; padding-top: 28px; }
body.qiai-aligned-20261007.qa-training .training-fit-card h3 { font-size: 21px; font-weight: 500; color: var(--qa-ink); }
body.qiai-aligned-20261007.qa-training .training-fit-card p { color: var(--qa-muted); }
body.qiai-aligned-20261007.qa-training .training-teacher-band { max-width: 920px; margin-bottom: 44px; }
body.qiai-aligned-20261007.qa-training .training-teacher-grid { gap: 32px 24px; }
body.qiai-aligned-20261007.qa-training .training-teacher-card figcaption { padding: 16px 0 0; color: var(--qa-ink); font-weight: 500; }
body.qiai-aligned-20261007.qa-training .training-gallery { gap: 26px; }
body.qiai-aligned-20261007.qa-training .training-gallery figcaption { padding: 16px 0 0; font-weight: 400; color: var(--qa-muted); }
body.qiai-aligned-20261007.qa-training .training-cert-grid { grid-template-columns: minmax(280px,.72fr) minmax(0,1.6fr); gap: 66px; }
body.qiai-aligned-20261007.qa-training .training-final-cta { padding: 44px; gap: 48px; background: var(--qa-wash); }
body.qiai-aligned-20261007.qa-training .training-final-cta > div > h2 { font-size: 38px; }
body.qiai-aligned-20261007.qa-training .training-contact-card h2 { color: var(--qa-ink); font-weight: 500; }
body.qiai-aligned-20261007.qa-training .training-phone { color: var(--qa-green); }

/* Keep the restored leaf hero, contact cards, form and map in their original order. */
body.qiai-aligned-20261007.qa-contact .page-header {
  display: flex;
  align-items: center;
  min-height: 748px;
  height: calc(100vh - 64px);
  max-height: 920px;
  padding: 0 !important;
  text-align: left;
}
body.qiai-aligned-20261007.qa-contact .page-header > div:first-child { background: linear-gradient(90deg,rgba(6,24,26,.73),rgba(6,24,26,.38) 50%,rgba(6,24,26,.12)) !important; }
body.qiai-aligned-20261007.qa-contact .page-header .container { width: calc(100% - 240px); max-width: 1200px; padding-bottom: 36px; }
body.qiai-aligned-20261007.qa-contact .page-header h1 { font-size: 68px !important; line-height: 1.2 !important; font-weight: 500; letter-spacing: -.035em; color: #fff; margin: 0 0 28px; }
body.qiai-aligned-20261007.qa-contact .page-header p { max-width: 640px !important; margin: 0; font-size: 17px; line-height: 1.9; color: #e5edeb; opacity: 1; }
body.qiai-aligned-20261007.qa-contact :is(.contact-info-section,.contact-main,.business-scope-section,.contact-process,.business-hours) { background: var(--qa-paper) !important; }
body.qiai-aligned-20261007.qa-contact :is(.contact-info-section,.contact-main,.business-hours) > div:first-child:not(.container) { background: none !important; }
body.qiai-aligned-20261007.qa-contact .contact-info-section { margin-top: 0; padding: 48px 0 !important; border-bottom: 1px solid var(--qa-line); }
body.qiai-aligned-20261007.qa-contact .contact-cards { gap: 24px; grid-template-columns: repeat(4,minmax(0,1fr)); }
body.qiai-aligned-20261007.qa-contact .contact-card { padding: 28px 20px; background: #fff; border: 1px solid var(--qa-line); border-radius: 0; box-shadow: none; text-align: left; transition: border-color .2s; }
body.qiai-aligned-20261007.qa-contact .contact-card:hover { transform: none; box-shadow: none; border-color: #8da597; }
body.qiai-aligned-20261007.qa-contact .contact-icon { width: 36px; height: 36px; margin: 0 0 18px; border-radius: 0; font-size: 23px; background: transparent; color: var(--qa-green); justify-content: flex-start; }
body.qiai-aligned-20261007.qa-contact .contact-card h3 { color: var(--qa-ink); font-size: 19px; font-weight: 500; margin-bottom: 12px; }
body.qiai-aligned-20261007.qa-contact .contact-card p { font-size: 14px !important; color: var(--qa-muted); line-height: 1.8 !important; }
body.qiai-aligned-20261007.qa-contact .contact-card .highlight { color: var(--qa-green); font-size: 17px !important; font-weight: 500; margin-top: 10px; }
body.qiai-aligned-20261007.qa-contact :is(.contact-main,.business-scope-section,.contact-process,.business-hours) { padding: 96px 0 !important; }
body.qiai-aligned-20261007.qa-contact .contact-grid { gap: 66px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
body.qiai-aligned-20261007.qa-contact :is(.contact-form-section,.company-info-section,.business-scope-section,.contact-process) h2 { font-size: 42px !important; font-weight: 500 !important; line-height: 1.4; letter-spacing: -.025em !important; color: var(--qa-ink) !important; }
body.qiai-aligned-20261007.qa-contact :is(.contact-form-section,.company-info-section) > h2 { margin-bottom: 24px; }
body.qiai-aligned-20261007.qa-contact :is(.contact-form-section > p,.info-block p) { font-size: 16px; line-height: 1.9; color: var(--qa-muted); }
body.qiai-aligned-20261007.qa-contact .contact-form-section > p { margin-bottom: 32px; }
body.qiai-aligned-20261007.qa-contact .cooperation-types { padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; margin-bottom: 32px; }
body.qiai-aligned-20261007.qa-contact .cooperation-types h3 { font-size: 18px; font-weight: 500; color: var(--qa-ink); }
body.qiai-aligned-20261007.qa-contact .type-options { gap: 10px; }
body.qiai-aligned-20261007.qa-contact .type-option { font-size: 14px; font-weight: 400; padding: 12px 16px; border: 1px solid var(--qa-line); border-radius: 0; color: var(--qa-ink); background: transparent; transition: color .2s,background-color .2s,border-color .2s; }
body.qiai-aligned-20261007.qa-contact .type-option.active { color: #fff; border-color: var(--qa-green); background: var(--qa-green); }
body.qiai-aligned-20261007.qa-contact .type-option:hover:not(.active) { background: var(--qa-wash); border-color: #8da597; }
body.qiai-aligned-20261007.qa-contact .form-group label { color: var(--qa-ink); font-size: 14px; font-weight: 500; }
body.qiai-aligned-20261007.qa-contact .form-group :is(input,select,textarea) { padding: 14px 16px; border: 1px solid #bfcfc5; border-radius: 0; background: #fff; color: var(--qa-ink); font-size: 15px; line-height: 1.6; transition: border-color .2s; }
body.qiai-aligned-20261007.qa-contact .form-group :is(input,select,textarea):focus { border-color: var(--qa-green); }
body.qiai-aligned-20261007.qa-contact .form-group :is(input,textarea)::placeholder { color: #64736c; }
body.qiai-aligned-20261007.qa-contact .submit-btn { border-radius: 0; background: var(--qa-green); padding: 18px; font-size: 16px; font-weight: 500; box-shadow: none; }
body.qiai-aligned-20261007.qa-contact .submit-btn:hover { background: #244c3e; box-shadow: none; transform: none; }
body.qiai-aligned-20261007.qa-contact .info-block { padding-bottom: 30px; margin-bottom: 30px; border-bottom: 1px solid var(--qa-line); }
body.qiai-aligned-20261007.qa-contact .info-block:last-child { padding-bottom: 0; border: 0; }
body.qiai-aligned-20261007.qa-contact .info-block h3 { font-size: 19px; font-weight: 500; color: var(--qa-ink); }
body.qiai-aligned-20261007.qa-contact .info-item span { font-size: 15px; line-height: 1.9; color: var(--qa-muted); }
body.qiai-aligned-20261007.qa-contact .map-container { border-radius: 0 !important; border: 1px solid var(--qa-line); box-shadow: none !important; }
body.qiai-aligned-20261007.qa-contact .business-scope-section { background: var(--qa-wash) !important; border-block-color: var(--qa-line) !important; }
body.qiai-aligned-20261007.qa-contact .business-scope-section > .container > div:first-child { max-width: 840px !important; text-align: left !important; margin: 0 0 44px !important; }
body.qiai-aligned-20261007.qa-contact .business-scope-section > .container > div:first-child > span { background: transparent !important; padding: 0 !important; border-radius: 0 !important; color: var(--qa-green) !important; font-weight: 400 !important; font-size: 12px !important; letter-spacing: .12em !important; }
body.qiai-aligned-20261007.qa-contact .business-scope-section > .container > div:first-child > span > svg { display: none; }
body.qiai-aligned-20261007.qa-contact .business-scope-section > .container > div:last-child { max-width: none !important; gap: 32px !important; }
body.qiai-aligned-20261007.qa-contact .business-scope-section > .container > div:last-child > div { padding: 32px 0 0 !important; border: 0 !important; border-top: 1px solid #b8c9be !important; border-radius: 0 !important; background: transparent !important; }
body.qiai-aligned-20261007.qa-contact .business-scope-section > .container > div:last-child > div > div > div { display: none !important; }
body.qiai-aligned-20261007.qa-contact .business-scope-section h3 { font-size: 21px !important; font-weight: 500 !important; color: var(--qa-ink) !important; }
body.qiai-aligned-20261007.qa-contact .business-scope-section p { color: var(--qa-muted) !important; font-size: 16px !important; line-height: 1.9 !important; }
body.qiai-aligned-20261007.qa-contact .contact-process > .container > :is(h2,p) { text-align: left !important; margin-left: 0 !important; }
body.qiai-aligned-20261007.qa-contact .contact-process > .container > p { margin-top: 24px !important; margin-bottom: 44px !important; font-size: 16px; line-height: 1.9 !important; color: var(--qa-muted) !important; }
body.qiai-aligned-20261007.qa-contact .contact-process > .container > div { gap: 28px !important; }
body.qiai-aligned-20261007.qa-contact .contact-process > .container > div > div { max-width: none !important; padding: 24px 0 0 !important; border: 0 !important; border-top: 1px solid var(--qa-line) !important; border-radius: 0 !important; background: transparent !important; text-align: left !important; }
body.qiai-aligned-20261007.qa-contact .contact-process > .container > div > div > div { width: auto !important; height: auto !important; display: block !important; margin: 0 0 20px !important; background: transparent !important; color: var(--qa-green) !important; font-size: 32px !important; font-weight: 400 !important; }
body.qiai-aligned-20261007.qa-contact .contact-process h3 { font-size: 19px !important; font-weight: 500; color: var(--qa-ink) !important; }
body.qiai-aligned-20261007.qa-contact .contact-process > .container > div p { font-size: 14px !important; line-height: 1.9 !important; color: var(--qa-muted) !important; }
body.qiai-aligned-20261007.qa-contact .business-hours { background: var(--qa-wash) !important; }
body.qiai-aligned-20261007.qa-contact .hours-grid { gap: 66px; }
body.qiai-aligned-20261007.qa-contact .hours-card { border-radius: 0; background: transparent; padding: 0; }
body.qiai-aligned-20261007.qa-contact .hours-card h3 { font-size: 26px; font-weight: 500; color: var(--qa-ink); margin-bottom: 30px; }
body.qiai-aligned-20261007.qa-contact .hours-item { border-color: var(--qa-line); padding: 18px 0; }
body.qiai-aligned-20261007.qa-contact .hours-item span { color: var(--qa-muted); }
body.qiai-aligned-20261007.qa-contact .hours-item .time { font-weight: 500; color: var(--qa-green); }

/* Preserve the existing fixed 1280px phone overview, including its desktop layout. */
@media (max-width: 1300px) {
  body.qiai-aligned-20261007.qa-contact .page-header .container { width: calc(100% - 160px); }
  body.qiai-aligned-20261007.qa-service main > section > .container,
  body.qiai-aligned-20261007.qa-training .training-shell .container,
  body.qiai-aligned-20261007.qa-training .training-meta,
  body.qiai-aligned-20261007.qa-training .qa-training-hero-copy { width: calc(100% - 160px); }
  body.qiai-aligned-20261007.qa-training .training-hero > .container { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  body.qiai-aligned-20261007.qa-service main :is(a,button,input,select,textarea,.contact-card,.type-option) { transition: none !important; }
}
