@font-face {
  font-family: 'Query Serif';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('./query-headings.ttf') format('truetype');
}

.query-page {
  --q-navy:#082c45;
  --q-border:#cdd8df;
  --q-serif:'Query Serif','UniTest Serif','Noto Serif SC','Songti SC',SimSun,serif;
  background:white;
  color:#102e43
}

.query-page .home-report-link[aria-current=page] {
  position:relative;
  color:var(--teal)
}

.query-page .home-report-link[aria-current=page]::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:2px;
  height:2px;
  background:currentColor
}

.q-wrap {
  width:min(90.5%,1420px);
  margin-inline:auto
}

.q-hero {
  padding-block:12px 88px;
  color:#fff;
  background-color:#092c43;
  background-image:linear-gradient(90deg,rgba(3,28,49,.99) 0%,rgba(4,31,51,.96) 25%,rgba(6,33,54,.80) 43%,rgba(6,29,47,.34) 63%,rgba(4,23,42,.12) 100%),url('/skin/library20261101/06-precision-metrology.webp');
  background-size:cover;
  background-position:50% 57%
}

.q-hero-inner {
  padding:43px clamp(14px,2.25vw,38px) 65px
}

.q-hero h1,.q-hero p,.q-card h2,.q-info h2 {
  font-family:var(--q-serif);
  font-weight:700
}

.q-hero h1 {
  --q-title-base:clamp(54px,5.8vw,92px);
  font-size:calc(var(--q-title-base) * .9);
  letter-spacing:-.045em;
  line-height:calc(var(--q-title-base) * 1.12)
}

.q-hero p {
  margin:13px 0 0;
  font-size:clamp(26px,2.5vw,39px);
  line-height:1.4;
  letter-spacing:.015em
}

.q-main {
  --q-card-padding:clamp(24px,3.1vw,53px);
  position:relative;
  margin-top:-126px
}

.q-card {
  background:#fff;
  border:1px solid var(--q-border);
  padding:27px var(--q-card-padding) 23px
}

.q-heading-line {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px 25px;
  flex-wrap:wrap;
  margin:4px 0 13px
}

.q-card h2 {
  font-size:clamp(30px,3vw,46px);
  line-height:1.3;
  letter-spacing:-.035em
}

.q-status {
  font-size:17px;
  line-height:1.5;
  font-weight:700;
  color:#007980
}

.q-note,.q-help {
  color:#536472;
  font-size:14px;
  line-height:1.65
}

.q-table {
  border-collapse:collapse;
  table-layout:fixed;
  width:100%;
  font-size:18px;
  line-height:1.55
}

.q-table th,.q-table td {
  border:1px solid #cddbe4;
  padding:10px clamp(12px,2.1vw,32px);
  text-align:left;
  vertical-align:middle;
  overflow-wrap:anywhere
}

.q-table th {
  width:23%;
  font-weight:600;
  background:#edf3f7;
  color:#193b50
}

.q-table td {
  white-space:pre-wrap;
  font-variant-numeric:tabular-nums
}

.q-note {
  margin-top:9px
}

.q-actions {
  display:flex;
  justify-content:center;
  margin-top:18px
}

.q-btn {
  min-height:50px;
  padding:8px 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  border:1px solid var(--q-navy);
  border-radius:2px;
  color:var(--q-navy);
  background:#fff;
  font:600 17px/1.5 'Microsoft YaHei','PingFang SC',sans-serif;
  cursor:pointer
}

.q-btn:hover {
  background:#edf4f6
}

.q-btn.primary {
  background:var(--q-navy);
  border-color:var(--q-navy);
  color:#fff
}

.q-btn.primary:hover {
  background:#10435e
}

.q-actions .q-btn {
  width:min(100%,245px)
}

.q-assist {
  text-align:center;
  margin:0;
  padding:17px 12px 20px;
  font-size:15px;
  color:#344d5c
}

.q-assist a,.q-info a {
  color:#007880;
  font-weight:600
}

.q-assist a {
  margin-left:12px
}

.q-assist a:hover,.q-info a:hover,.q-foot a:hover {
  text-decoration:underline;
  text-underline-offset:4px
}

.q-foot {
  --company-size:clamp(25px,2.05vw,32px);
  background:#072e48;
  color:#fff;
  padding:23px 0 15px
}

.q-foot-row,.q-foot .home-legal {
  width:min(91.2%,1750px);
  margin-inline:auto
}

.q-foot-row {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:26px
}

.q-identity {
  display:flex;
  align-items:baseline;
  gap:30px;
  white-space:nowrap;
  min-width:0
}

.q-identity strong {
  font-size:var(--company-size);
  font-weight:700;
  line-height:1.4;
  letter-spacing:0
}

.q-identity span {
  font-size:calc(var(--company-size) * 2 / 3);
  font-weight:400;
  color:#e1eaf0;
  line-height:1.5
}

.q-foot-nav {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  row-gap:6px;
  font-size:15px;
  line-height:1.5
}

.q-foot-nav a {
  display:flex;
  align-items:center;
  min-height:36px;
  white-space:nowrap;
  color:#edf2f6
}

.q-foot-nav a+a::before {
  content:"";
  width:1px;
  height:12px;
  background:#688398;
  display:block;
  margin:0 clamp(8px,.88vw,16px)
}

.q-foot-nav [aria-current=page] {
  color:#8ce1de
}

.q-foot .home-legal {
  justify-content:center;
  align-items:center;
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid #48657a
}

.q-foot .home-legal a {
  color:inherit
}

.q-form label {
  font-size:20px;
  font-weight:600
}

.q-form-controls {
  display:flex;
  align-items:stretch;
  gap:12px;
  margin:10px 0 7px
}

.q-form input {
  min-width:0;
  flex:1 1 auto;
  border:1px solid #91a8b6;
  border-radius:2px;
  background:#fff;
  padding:12px 16px;
  font-size:17px;
  height:52px;
  color:var(--q-navy)
}

.q-form input:focus {
  outline:none;
  border:1px solid var(--q-navy)
}

.q-lookup-card {
  container-type:inline-size
}

.q-facts,.q-missing {
  box-sizing:content-box;
  margin-top:24px;
  padding-top:16px;
  border-top:1px solid var(--q-border);
  --q-copy-lines:1;
  --q-summary-height:calc(33px + var(--q-copy-lines) * 27.2px);
  min-block-size:var(--q-summary-height)
}

.q-form button {
  min-width:165px
}

.q-facts {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px
}

.q-facts h3 {
  font:700 22px/1.5 var(--q-serif);
  color:var(--q-navy)
}

.q-facts p,.q-info p {
  font-size:16px;
  line-height:1.7;
  color:#536472
}

/* With three columns and two 24px gaps, each 16-character description needs 256px. */
@container (width < 816px) {
  .q-facts,.q-missing {
    --q-copy-lines:2
  }
}

.q-info {
  display:grid;
  grid-template-columns:minmax(150px,.37fr) 1fr;
  gap:24px;
  margin:35px 0 38px
}

.q-info h2 {
  font-size:34px;
  line-height:1.4
}

.q-faq>div {
  display:grid;
  grid-template-columns:minmax(140px,.45fr) 1fr;
  gap:25px;
  padding:10px 0;
  border-bottom:1px solid #dce4e8
}

.q-faq>div:last-child {
  border:0
}

.q-faq strong {
  font-size:16px;
  line-height:1.7
}

@media(min-width:761px) {
  .q-info h2 {
    padding-inline-start:var(--q-card-padding);
    border-inline-start:1px solid transparent
  }
  @supports(grid-template-columns:subgrid) {
    /* Preserve the answer track from the two grids above, including their minimum widths. */
    .q-info {
      --faq-width:min(calc((100% - 24px) / 1.37),calc(100% - 174px));
      --answer-width:min(calc((var(--faq-width) - 25px) / 1.45),calc(var(--faq-width) - 165px));
      grid-template-columns:max-content max-content minmax(0,var(--answer-width));
      justify-content:start;
      column-gap:60px
    }
    .q-info h2 {
      justify-self:start;
      text-align:start
    }
    .q-faq {
      grid-column:2 / 4;
      display:grid;
      grid-template-columns:subgrid;
      column-gap:inherit
    }
    .q-faq>div {
      grid-column:1 / -1;
      grid-template-columns:subgrid;
      column-gap:inherit
    }
  }
}

.q-missing h2 {
  position:relative;
  top:-1px;
  margin:0
}

@media(max-width:1100px) {
  .q-foot-nav {
    font-size:14px
  }
  .q-foot-row {
    flex-wrap:wrap;
    row-gap:12px
  }
  .q-foot-nav {
    margin-left:auto
  }
  .q-table th,.q-table td {
    padding-block:9px
  }
}

@media(max-width:760px) {
  .q-hero-inner {
    padding:31px 3px 45px
  }
  .q-hero h1 {
    --q-title-base:49px
  }
  .q-hero p {
    font-size:23px;
    margin-top:8px
  }
  .q-hero {
    background-position:66% 52%
  }
  .q-main {
    --q-card-padding:16px;
    margin-top:-116px
  }
  .q-card {
    padding:19px var(--q-card-padding)
  }
  .q-heading-line {
    margin:4px 0 11px;
    gap:4px
  }
  .q-status {
    font-size:14px
  }
  .q-card h2 {
    font-size:29px
  }
  .q-help,.q-note {
    font-size:12px
  }
  .q-table {
    font-size:15px
  }
  .q-table th {
    width:31%
  }
  .q-table th,.q-table td {
    padding:8px 10px
  }
  .q-actions .q-btn {
    width:180px
  }
  .q-btn {
    font-size:15px;
    min-height:44px
  }
  .q-assist {
    font-size:13px
  }
  .q-foot {
    --company-size:clamp(15px,4.65vw,24px);
    padding-top:19px
  }
  .q-foot-row {
    flex-direction:column;
    align-items:flex-start;
    gap:10px
  }
  .q-foot-nav {
    margin-left:0;
    justify-content:flex-start;
    column-gap:16px;
    row-gap:0
  }
  .q-foot-nav a {
    min-height:32px;
    font-size:13px
  }
  .q-foot-nav a+a::before {
    display:none
  }
  .q-foot .home-legal {
    font-size:11px;
    gap:4px 10px;
    margin-top:10px
  }
  .q-form-controls {
    gap:7px
  }
  .q-form input {
    width:100%;
    padding-inline:10px;
    font-size:14px
  }
  .q-form button {
    min-width:86px;
    padding-inline:10px
  }
  .q-facts,.q-missing {
    margin-top:16px;
    padding-top:10px;
    --q-summary-height:calc(3 * (27px + 23.8px) + 12px)
  }
  .q-facts {
    grid-template-columns:1fr;
    gap:6px
  }
  .q-missing h2 {
    top:13px
  }
  .q-facts h3 {
    font-size:18px
  }
  .q-facts p,.q-info p,.q-faq strong {
    font-size:14px
  }
  .q-info {
    display:block;
    margin:24px 0;
    padding-inline:var(--q-card-padding);
    border-inline:1px solid transparent
  }
  .q-info h2 {
    font-size:24px
  }
  .q-faq>div {
    grid-template-columns:1fr;
    gap:2px
  }
}

@media(max-width:450px) {
  .q-foot-nav {
    display:grid;
    grid-template-columns:repeat(3,auto);
    column-gap:25px
  }
  .q-heading-line {
    display:block
  }
}


.q-hero{background-position:50% 45%}@media(max-width:760px){.q-hero{background-position:65% 45%}}

/* Keep the query action on one line and aligned with its input. */
.q-form-controls > button {
  flex:0 0 auto;
  height:52px;
  min-height:52px;
  white-space:nowrap;
}
