.quality-page main { background: #f7f8fa; }
.quality-page main h1, .quality-page main h2, .quality-page main h3 { color: #0b2340; }
.quality-page main p { color: #45566b; font-size: 15px; line-height: 1.75; }
.qc-hero, .qc-review, .qc-first-article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr); gap: 52px; align-items: center; }
.qc-hero { min-height: 560px; padding-top: 78px; padding-bottom: 56px; background: linear-gradient(135deg, #f7f9fc 0%, #eef3f8 100%); }
.qc-hero h1 { max-width: 760px; margin: 12px 0 24px; font-size: clamp(44px, 5vw, 72px); line-height: 1.02; letter-spacing: -.045em; }
.qc-hero-lead { max-width: 760px; font-size: 18px !important; }
.qc-hero-tags, .qc-chip-list, .qc-tool-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.qc-hero-tags { margin: 28px 0 34px; }
.qc-hero-tags span, .qc-chip-list span { padding: 8px 13px; border: 1px solid #cbd5e1; border-radius: 999px; background: #fff; color: #173858; font-size: 13px; font-weight: 700; }
.qc-hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.qc-text-link { color: #0c4779; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.qc-hero-visual { position: relative; margin: 0; min-height: 420px; overflow: hidden; border-radius: 4px; background: #0b2340; box-shadow: 0 28px 70px rgba(11,35,64,.18); }
.qc-hero-visual img { width: 100%; height: 420px; object-fit: cover; display: block; }
.qc-hero-visual figcaption { position: absolute; left: 24px; right: 24px; bottom: 24px; padding: 18px 20px; background: rgba(7,26,48,.9); color: #fff; }
.qc-hero-visual figcaption strong, .qc-hero-visual figcaption span { display: block; }
.qc-hero-visual figcaption span { margin-top: 5px; color: #cdd8e5; font-size: 13px; }
.qc-stage-section, .qc-incoming, .qc-process, .qc-tools { background: #fff; }
.qc-section-heading { max-width: 820px; margin-bottom: 38px; }
.qc-section-heading.centered { margin-inline: auto; text-align: center; }
.qc-section-heading h2, .qc-review h2, .qc-first-article h2, .qc-cta h2 { margin: 8px 0 14px; font-size: clamp(32px, 4vw, 48px); line-height: 1.1; letter-spacing: -.03em; }
.qc-stage-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #d8e0e8; }
.qc-stage-grid article { min-height: 280px; padding: 30px 26px; border-right: 1px solid #d8e0e8; background: #fff; }
.qc-stage-grid article:last-child { border-right: 0; }
.qc-stage-no { display: inline-grid; place-items: center; width: 46px; height: 46px; margin-bottom: 46px; background: #f59e0b; color: #0b2340; font-weight: 900; }
.qc-stage-grid h3 { margin: 0 0 12px; font-size: 21px; }
.qc-stage-grid p { min-height: 88px; font-size: 14px; }
.qc-stage-grid small, .qc-output-line strong { color: #bd6500; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.qc-policy-note { max-width: 980px; margin: 24px auto 0; padding-left: 28px; text-align: center; position: relative; }
.qc-policy-note::before { content: "i"; position: absolute; margin-left: -28px; width: 20px; height: 20px; border-radius: 50%; background: #f59e0b; color: #0b2340; font-size: 12px; font-weight: 900; line-height: 20px; }
.qc-review { background: #eef2f6; }
.qc-review-copy > p:not(.eyebrow) { max-width: 680px; }
.qc-critical-callout { display: flex; gap: 16px; margin-top: 28px; padding: 22px; background: #0b2e51; }
.qc-critical-callout > span { flex: 0 0 32px; display: grid; place-items: center; height: 32px; background: #f59e0b; color: #0b2340; font-weight: 900; }
.qc-critical-callout strong { color: #fff; }
.qc-critical-callout p { margin: 5px 0 0; color: #cbd7e3 !important; font-size: 13px !important; }
.qc-requirement-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.qc-requirement-grid span { position: relative; padding: 18px 18px 18px 46px; background: #fff; border: 1px solid #dbe3eb; color: #183650; font-size: 14px; font-weight: 750; }
.qc-requirement-grid span::before { content: "✓"; position: absolute; left: 18px; color: #e38200; font-weight: 900; }
.qc-photo-card-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.qc-photo-card-grid article { background: #f5f7f9; border: 1px solid #dce3ea; }
.qc-photo-card-grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.qc-photo-placeholder { aspect-ratio: 4/3; background: repeating-linear-gradient(45deg, #f6f9fc 0, #f6f9fc 12px, #e9f0f7 12px, #e9f0f7 14px); border-bottom: 1px solid #dce3ea; }
.qc-photo-card-grid article > div { padding: 22px; }
.qc-photo-card-grid article span, .qc-control-grid article > span { color: #e38200; font-size: 12px; font-weight: 900; }
.qc-photo-card-grid h3 { min-height: 50px; margin: 8px 0; font-size: 19px; }
.qc-photo-card-grid p { font-size: 14px !important; }
.qc-fine-print { margin: 24px 0 0; font-size: 13px !important; }
.qc-first-article { background: #0b2e51; }
.qc-first-article figure { margin: 0; height: 520px; overflow: hidden; }
.qc-first-article img { width: 100%; height: 100%; object-fit: cover; }
.qc-first-article h2, .qc-first-article > div > p { color: #fff !important; }
.qc-first-article .eyebrow { color: #f59e0b !important; }
.qc-chip-list { margin: 26px 0; }
.qc-chip-list span { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #fff; }
.qc-output-line { display: flex; gap: 18px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); }
.qc-output-line span { color: #d7e0e8; font-size: 13px; }
.qc-control-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 22px; }
.qc-control-grid article { padding: 26px; background: #f2f5f8; border-top: 3px solid #143b61; }
.qc-control-grid h3 { margin: 20px 0 10px; font-size: 19px; }
.qc-control-grid p { font-size: 14px !important; }
.qc-special-grid { display: flex; gap: 22px; overflow: hidden; scroll-behavior: smooth; }
.qc-special-card { display: grid; grid-template-columns: .78fr 1fr; min-height: 390px; overflow: hidden; border: 1px solid #d8e0e8; background: #fff; }
.qc-special-grid .qc-special-card { flex: 0 0 calc((100% - 22px) / 2); }
.qc-special-card img { width: 100%; height: 100%; object-fit: cover; }
.qc-special-card > div { padding: 32px; }
.qc-special-card h3 { margin: 4px 0 18px; font-size: 25px; }
.qc-special-card ul { margin: 0; padding: 0; list-style: none; }
.qc-special-card li { position: relative; padding: 11px 0 11px 22px; border-bottom: 1px solid #e3e8ed; color: #42566c; font-size: 14px; }
.qc-special-card li::before { content: ""; position: absolute; left: 0; top: 18px; width: 7px; height: 7px; background: #f59e0b; }
.qc-final { background: #eef2f6; }
.qc-release-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.qc-release-panel { padding: 30px; background: #fff; border: 1px solid #d7dfe7; }
.qc-panel-title { display: flex; gap: 18px; align-items: center; padding-bottom: 22px; border-bottom: 2px solid #0b2e51; }
.qc-panel-title > span { display: grid; place-items: center; width: 48px; height: 48px; background: #0b2e51; color: #fff; font-weight: 900; }
.qc-panel-title small { color: #c76e00; font-weight: 900; }
.qc-panel-title h3 { margin: 3px 0 0; font-size: 23px; }
.qc-release-panel article { padding: 22px 0; border-bottom: 1px solid #e2e7ec; }
.qc-release-panel article:last-child { border-bottom: 0; padding-bottom: 0; }
.qc-release-panel article strong { color: #143651; font-size: 15px; }
.qc-release-panel article p { margin: 6px 0 0; font-size: 14px !important; }
.qc-pack-strip { display: grid; grid-template-columns: 260px 1fr; align-items: center; margin: 22px 0 0; background: #0b2e51; }
.qc-pack-strip img { width: 260px; height: 145px; object-fit: cover; }
.qc-pack-strip figcaption { padding: 24px 30px; color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .035em; }
.qc-tool-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 22px; }
.qc-inspection-categories { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #d9e1e8; }
.qc-inspection-categories article { padding: 28px; border-right: 1px solid #d9e1e8; }
.qc-inspection-categories article:last-child { border-right: 0; }
.qc-inspection-categories span { color: #e38200; font-size: 12px; font-weight: 900; }
.qc-inspection-categories h3 { margin: 30px 0 12px; font-size: 22px; }
.qc-inspection-categories p { font-size: 14px !important; }
.qc-tools-board { padding: 30px; background: #0b2e51; color: #fff; }
.qc-tools-board small { color: #f59e0b; font-weight: 900; letter-spacing: .08em; }
.qc-tools-board h3 { color: #fff !important; font-size: 23px; }
.qc-tool-tags { margin: 24px 0; }
.qc-tool-tags span { padding: 8px 10px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); font-size: 12px; }
.qc-tools-board p { color: #cbd7e3 !important; font-size: 13px !important; }
.qc-trace { background: #081f38; }
.qc-section-heading.light h2, .qc-section-heading.light p { color: #fff; }
.qc-section-heading.light .eyebrow { color: #f59e0b; }
.qc-action-flow { display: grid; grid-template-columns: repeat(5, 1fr); margin: 0 0 32px; padding: 0; list-style: none; border: 1px solid rgba(255,255,255,.16); }
.qc-action-flow li { position: relative; min-height: 130px; padding: 24px; border-right: 1px solid rgba(255,255,255,.16); }
.qc-action-flow li:last-child { border-right: 0; }
.qc-action-flow span { display: block; color: #f59e0b; font-size: 12px; font-weight: 900; }
.qc-action-flow strong { display: block; margin-top: 28px; color: #fff; font-size: 15px; }
.qc-document-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.qc-report-mockup { padding: 28px; background: #f5f6f8; box-shadow: 0 22px 50px rgba(0,0,0,.2); transform: rotate(-.5deg); }
.qc-report-head { display: flex; gap: 14px; align-items: center; }
.qc-report-head > span { display: grid; place-items: center; width: 42px; height: 42px; background: #0b2e51; color: #fff; font-weight: 900; }
.qc-report-head strong, .qc-report-head small { display: block; }
.qc-report-head small { color: #657386; }
.qc-report-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 20px 0 12px; }
.qc-report-meta span { padding: 8px; background: #e3e8ed; color: #425064; font-size: 9px; font-weight: 800; }
.qc-report-table { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; border-left: 1px solid #cad2db; border-top: 1px solid #cad2db; }
.qc-report-table span { padding: 9px; border-right: 1px solid #cad2db; border-bottom: 1px solid #cad2db; color: #344459; font-size: 10px; }
.qc-report-table span:nth-child(-n+4) { background: #d7dee6; font-weight: 900; }
.qc-report-table .pass { color: #167348; font-weight: 900; }
.qc-report-mockup > small { display: block; margin-top: 12px; color: #697587; }
.qc-document-list { padding: 28px; border: 1px solid rgba(255,255,255,.17); }
.qc-document-list h3 { color: #fff !important; font-size: 25px; }
.qc-document-list > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 22px 0; }
.qc-document-list span { padding: 12px; background: rgba(255,255,255,.07); color: #e3ebf2; font-size: 13px; }
.qc-document-list > p:last-child { color: #aebdca !important; font-size: 13px !important; }
.qc-cta { display: grid; grid-template-columns: minmax(0, .85fr) minmax(520px, 1fr); gap: 60px; align-items: start; background-color: #fff; background-image: url("/assets/customization/background.webp"); background-position: center; background-size: cover; background-repeat: no-repeat; }
.qc-cta h2 { max-width: 830px; }
.qc-cta p { max-width: 800px; color: #26394c !important; }
.qc-cta-actions { display: flex; flex-direction: column; gap: 10px; min-width: 320px; }
.qc-cta .button.ghost { border-color: #173858; color: #173858; }
.qc-cta .quote-form { background: rgba(255,255,255,.72); border: 1px solid rgba(11,35,64,.12); border-radius: 12px; padding: clamp(18px, 3vw, 32px); box-shadow: 0 24px 54px rgba(11,35,64,.08); }
.qc-cta .quote-form label span { color: #0b2340; }
@media (max-width: 1100px) {
  .qc-hero, .qc-review, .qc-first-article { grid-template-columns: 1fr; }
  .qc-stage-grid, .qc-photo-card-grid, .qc-control-grid { grid-template-columns: 1fr 1fr; }
  .qc-stage-grid article:nth-child(2) { border-right: 0; }
  .qc-special-card { grid-template-columns: 1fr; }
  .qc-special-grid .qc-special-card { flex-basis: min(520px, 86vw); }
  .qc-special-card img { height: 250px; }
  .qc-tool-layout, .qc-cta { grid-template-columns: 1fr; }
  .qc-cta-actions { min-width: 0; flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 760px) {
  .quality-page { overflow-x: hidden; }
  .quality-page main,
  .quality-page main > section,
  .quality-page main > section > *,
  .quality-page main article,
  .quality-page main figure { min-width: 0; max-width: 100%; }
  .quality-page main .button { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .qc-hero { min-height: 0; padding-top: 105px; }
  .qc-hero h1 { font-size: 42px; }
  .qc-hero-visual, .qc-hero-visual img { min-height: 0; height: 360px; }
  .qc-stage-grid, .qc-photo-card-grid, .qc-control-grid, .qc-special-grid, .qc-release-columns, .qc-inspection-categories, .qc-action-flow, .qc-document-layout { grid-template-columns: 1fr; }
  .qc-stage-grid article, .qc-inspection-categories article, .qc-action-flow li { border-right: 0; border-bottom: 1px solid #d8e0e8; }
  .qc-stage-grid article { min-height: 0; }
  .qc-stage-grid p { min-height: 0; }
  .qc-stage-no { margin-bottom: 24px; }
  .qc-requirement-grid, .qc-document-list > div { grid-template-columns: 1fr; }
  .qc-first-article figure { height: 340px; }
  .qc-special-card { min-height: 0; }
  .qc-pack-strip { grid-template-columns: 1fr; }
  .qc-pack-strip img { width: 100%; height: 200px; }
  .qc-cta-actions { flex-direction: column; }
  .qc-report-mockup { width: 100%; overflow: hidden; transform: none; }
  .qc-report-table span, .qc-report-meta span { min-width: 0; overflow-wrap: anywhere; }
  .qc-output-line { flex-direction: column; gap: 6px; }
  .quality-page .site-footer > * { min-width: 0; max-width: 100%; }
  .quality-page .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .quality-page .footer-link-group { min-width: 0; }
}

@media (max-width: 420px) {
  .quality-page .footer-links { grid-template-columns: 1fr; }
}
