:root {
  --navy:#24303e;
  --navy-2:#36475b;
  --red:#1e60c8;
  --ink:#1f2935;
  --muted:#4e6886;
  --line:#d0dded;
  --paper:#e8eef6;
  --max:1240px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  color:var(--ink);
  background:#293747;
  font-family:"Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif;
  font-size:15px;
  line-height:1.7;
}
img { max-width:100%; display:block; }
a { color:var(--navy); text-decoration:none; }
a:hover { color:var(--red); }
.wrap { width:min(var(--max), calc(100% - 40px)); margin:0 auto; }
.nowrap { white-space:nowrap; }

.preview-bar {
  background:#263442;
  color:#aebdcf;
  text-align:center;
  font-size:12px;
  padding:6px 12px;
  border-bottom:1px solid #41556b;
}
.util { background:#293747; border-bottom:1px solid var(--line); font-size:12px; color:#aebdcf; }
.util-in { display:flex; gap:18px; flex-wrap:wrap; padding:6px 0; }
.util a { color:#aebdcf; }

.site-head {
  position:sticky;
  top:0;
  z-index:20;
  background:#293747;
  border-bottom:1px solid var(--line);
}
.head-in {
  height:72px;
  display:flex;
  align-items:center;
  gap:20px;
  width:min(var(--max), calc(100% - 40px));
  margin:0 auto;
}
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); flex:none; }
.brand img { height:34px; width:auto; max-width:168px; object-fit:contain; background:#293747; }
.brand-name { font-size:20px; font-weight:700; letter-spacing:1px; line-height:1.15; }
.brand-name small { display:block; font-size:12px; font-weight:400; color:var(--muted); letter-spacing:0; }
.site-nav { display:flex; align-items:center; gap:4px; margin-left:auto; }
.site-nav > a, .site-nav .top {
  display:block;
  padding:22px 14px;
  color:var(--ink);
  font-size:15px;
}
.site-nav .drop > .top::after {
  content:"";
  display:inline-block;
  margin-left:6px;
  border-width:5px 4px 0;
  border-style:solid;
  border-color:currentColor transparent transparent;
  transform:translateY(-1px);
  opacity:.55;
}
.drop:hover > .top::after,
.drop:focus-within > .top::after {
  transform:translateY(-1px) rotate(180deg);
  opacity:1;
}
.site-nav > a[aria-current="page"], .site-nav .top[aria-current="page"] { color:var(--red); font-weight:700; }
.drop { position:relative; }
.drop:hover .mega, .drop:focus-within .mega { display:grid; }
.mega {
  display:none;
  position:absolute;
  top:100%;
  left:0;
  width:520px;
  grid-template-columns:1fr;
  background:#293747;
  border:1px solid var(--line);
  box-shadow:0 12px 28px rgba(16, 24, 40, .08);
  padding:8px;
  z-index:30;
}
.drop.end .mega { left:auto; right:0; }
.mega.wide {
  width:min(860px, calc(100vw - 48px));
  max-height:72vh;
  overflow:auto;
  padding:8px 8px 12px;
}
.mega-cols { display:grid; grid-template-columns:1fr 1fr 1fr; gap:4px; }
.mega-label {
  margin:0;
  padding:8px 12px 2px;
  font-size:12px;
  color:var(--muted);
  letter-spacing:1px;
}
.mega-cols .mega-links { grid-template-columns:1fr; }
.mega-intro { display:none; }
.mega-links { display:grid; grid-template-columns:1fr 1fr; }
.mega.narrow .mega-links { grid-template-columns:1fr; }
.mega-links a {
  display:block;
  padding:10px 12px;
  color:var(--ink);
  border-radius:4px;
}
.mega-links a:hover, .mega-links a.cur { background:#293747; color:var(--red); }
.mega-links b { display:block; font-size:14px; }
.mega-links span { display:block; color:var(--muted); font-size:12px; font-weight:400; line-height:1.45; margin-top:2px; }
.head-phone {
  flex:none;
  background:var(--red);
  color:#f0f4f9;
  font-weight:700;
  padding:8px 14px;
  border-radius:2px;
  letter-spacing:.3px;
}
.head-phone:hover { color:#f0f4f9; background:#1d2834; }
.nav-toggle, .nav-btn { display:none; }

.hero-bleed {
  position:relative;
  min-height:520px;
  color:#f0f4f9;
  background:#1d2834 url("../img/factory-cnc-lg.jpg") center/cover no-repeat;
  display:flex;
  align-items:flex-end;
}
.hero-bleed .veil {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(8, 16, 28, .88) 0%, rgba(8, 16, 28, .62) 46%, rgba(8, 16, 28, .18) 100%);
}
.hero-bleed .wrap {
  position:relative;
  z-index:1;
  width:min(var(--max), calc(100% - 40px));
  max-width:none;
  padding:88px 0 56px;
}
.hero-bleed h1 { margin:0 0 12px; font-size:56px; line-height:1.05; letter-spacing:1px; color:#f0f4f9; }
.hero-bleed .kicker { color:rgba(255,255,255,.75); letter-spacing:2px; }
.hero-bleed .lede { color:rgba(255,255,255,.92); font-size:18px; max-width:38em; }
.hero-bleed .btn.line { color:#f0f4f9; border-color:rgba(255,255,255,.7); background:transparent; }
.hero-bleed .btn.line:hover { color:#f0f4f9; border-color:#41556b; }
.proof {
  display:grid;
  grid-template-columns:repeat(4, max-content);
  justify-content:center;
  gap:8px 56px;
  background:#293747;
  border-bottom:1px solid var(--line);
  padding:6px 20px;
}
.proof div { padding:16px 4px; text-align:center; }
.proof b { display:block; font-size:28px; color:var(--navy); letter-spacing:.5px; }
.proof span { display:block; margin-top:4px; color:var(--muted); font-size:13px; }
.gallery.wide { grid-template-columns:repeat(4, 1fr); }
.hero { background:var(--paper); border-bottom:1px solid var(--line); }
.hero-in {
  width:min(var(--max), calc(100% - 40px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
  align-items:stretch;
  padding:28px 0 32px;
}
.hero-picks { display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; margin-top:22px; }
.hero-picks a { display:block; background:#293747; border:1px solid var(--line); color:var(--ink); }
.hero-picks a:hover { border-color:#4c6582; color:var(--ink); }
.hero-picks img { width:100%; height:84px; object-fit:cover; }
.hero-picks span { display:block; padding:6px 8px 8px; font-size:12px; font-weight:700; line-height:1.3; }
.kicker { margin:0 0 8px; color:var(--red); font-size:13px; letter-spacing:1px; }
.hero h1 { margin:0 0 12px; font-size:36px; line-height:1.25; font-weight:700; }
.lede { margin:0 0 18px; color:#f0f4f9; font-size:16px; }
.actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.btn {
  display:inline-block;
  background:var(--red);
  color:#f0f4f9;
  padding:10px 18px;
  border-radius:2px;
  font-weight:700;
}
.btn:hover { color:#f0f4f9; background:#1d2834; }
.btn.line { background:#293747; color:var(--navy); border:1px solid #41556b; }
.btn.line:hover { color:var(--red); border-color:var(--red); }
.hero-photo { position:relative; display:flex; margin:0; }
.hero-photo img { width:100%; height:100%; min-height:320px; object-fit:cover; object-position:center 40%; border-radius:2px; }
.cap {
  position:absolute;
  left:12px;
  bottom:12px;
  margin:0;
  background:rgba(11, 47, 85, .88);
  color:#f0f4f9;
  font-size:12px;
  padding:4px 8px;
}

.band {
  background:var(--navy);
  color:#f0f4f9;
}
.nums {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
}
.nums div { padding:22px 8px; text-align:center; border-right:1px solid rgba(255,255,255,.12); }
.nums div:last-child { border-right:0; }
.nums b { display:block; font-size:26px; font-weight:700; }
.nums span { display:block; margin-top:4px; font-size:13px; color:#f0f4f9; }

.sec { padding:48px 0; }
.sec.alt { background:var(--paper); }
.sec-h { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; margin-bottom:18px; }
.sec-h h2 { margin:0; font-size:26px; }
.sec-h p { margin:6px 0 0; color:var(--muted); }
.sec-h a { color:var(--navy); font-size:14px; white-space:nowrap; }

.pgrid { display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; }
.pgrid.libs img, .pgrid.pick img { height:220px; object-fit:contain; background:#293747; }
.pgrid.hot img { height:280px; object-fit:contain; background:#293747; }
.gallery { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin:12px 0 22px; }
.gallery a { display:block; border:1px solid var(--line); background:#293747; }
.gallery img { width:100%; height:210px; object-fit:contain; background:#293747; }
.pcard {
  background:#293747;
  border:1px solid var(--line);
  border-radius:4px;
  overflow:hidden;
  color:var(--ink);
  display:flex;
  flex-direction:column;
}
.pcard:hover { border-color:#41556b; color:var(--ink); }
.pcard img { width:100%; height:180px; object-fit:cover; background:#263442; }
.pcard div { padding:12px 14px 14px; }
.pcard h3 { margin:0 0 4px; font-size:16px; }
.pcard p { margin:0; color:var(--muted); font-size:13px; }

.chips { display:flex; flex-wrap:wrap; gap:8px; }
.chips a {
  background:#293747;
  border:1px solid var(--line);
  color:var(--ink);
  padding:8px 14px;
  border-radius:2px;
  font-size:14px;
}
.chips a:hover { border-color:var(--red); color:var(--red); }

.steps { display:grid; grid-template-columns:repeat(5, 1fr); gap:12px; }
.steps div { background:#293747; border:1px solid var(--line); padding:16px 14px; border-radius:4px; }
.steps b { display:block; color:var(--red); font-size:13px; margin-bottom:6px; }
.steps strong { display:block; margin-bottom:4px; }
.steps span { color:var(--muted); font-size:13px; }

.shots { display:grid; grid-template-columns:1.2fr .8fr; gap:12px; }
.shots figure { margin:0; background:#293747; border:1px solid var(--line); }
.shots img { width:100%; height:360px; object-fit:cover; object-position:center; }
.paths { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.path {
  display:block;
  background:#293747;
  border:1px solid var(--line);
  padding:22px 22px 18px;
  color:var(--ink);
}
.path:hover { border-color:#41556b; color:var(--ink); }
.path b { display:block; font-size:20px; margin-bottom:6px; }
.path span { display:block; color:var(--muted); font-size:14px; line-height:1.6; }
.floor { display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; }
.floor figure { margin:0; background:#293747; border:1px solid var(--line); overflow:hidden; }
.floor img { width:100%; height:220px; object-fit:cover; object-position:center; }
.floor figcaption { padding:8px 10px 12px; font-size:13px; color:var(--muted); line-height:1.45; }
.floor figcaption b { display:block; color:var(--ink); font-size:14px; margin-bottom:2px; }
.shots figcaption { padding:8px 10px; font-size:13px; color:var(--muted); }

.article { max-width:980px; }
.article p, .doc p { margin:0 0 12px; }
.split { display:grid; grid-template-columns:1.05fr .95fr; gap:28px; align-items:center; margin:22px 0 8px; }
.split figure { margin:0; }
.split img { width:100%; height:320px; object-fit:cover; border:1px solid var(--line); background:#293747; }
.split.contain img { object-fit:contain; height:300px; }
.split h2 { margin:0 0 8px; font-size:22px; }
.split figcaption { margin:8px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.doc h3 { margin:18px 0 6px; font-size:16px; }
.alist { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
.alist a { display:block; border:1px solid var(--line); background:#293747; color:var(--ink); }
.alist a:hover { border-color:#41556b; color:var(--ink); }
.alist img { width:100%; height:168px; object-fit:cover; background:#263442; }
.alist div { padding:12px 14px 16px; }
.alist h3 { margin:0 0 6px; font-size:16px; }
.alist p { margin:0; color:var(--muted); font-size:13px; }
main.doc { padding:44px 0 20px; }
.doc-grid { display:grid; grid-template-columns:1fr 260px; gap:48px; align-items:start; }
.doc h1 { margin:8px 0 16px; font-size:32px; line-height:1.3; }
.doc h2 { margin:40px 0 12px; font-size:22px; }
.doc .lede { font-size:16px; margin-bottom:16px; }
.crumb { color:var(--muted); font-size:13px; margin:0 0 18px; }
.rail { position:sticky; top:88px; border:1px solid var(--line); background:#293747; padding:14px; }
.rail h2 { margin:0 0 8px; font-size:16px; }
.rail dl { margin:0 0 8px; display:grid; grid-template-columns:64px 1fr; gap:4px 8px; font-size:13px; }
.rail dt { color:var(--muted); }
.rail dd { margin:0; font-weight:700; }
.rail p { margin:0 0 8px; color:var(--muted); font-size:13px; }
.rail .btn { margin:8px 0; }
.rail .tel { display:block; font-size:13px; margin-top:4px; }
.cards { display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin:28px 0 12px; }
.card { background:#293747; border:1px solid var(--line); border-radius:4px; overflow:hidden; }
a.card { display:block; color:inherit; text-decoration:none; }
a.card:hover { border-color:#4c6582; }
.card img { width:100%; height:220px; object-fit:contain; background:#293747; padding:12px; }
.card .pad { padding:14px 16px 18px; }
.card h3 { margin:0 0 4px; font-size:16px; }
.card p { margin:0; color:var(--muted); font-size:13px; }
.table { width:100%; border-collapse:collapse; margin:12px 0; background:#293747; }
.table th, .table td { border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top; }
.table th { width:132px; background:#293747; font-weight:700; }
.rowitem { display:grid; grid-template-columns:240px 1fr; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); }
.rowitem img { width:240px; height:160px; object-fit:cover; background:#263442; }
.rowitem h3 { margin:0 0 6px; font-size:18px; }
.rowitem p { margin:0 0 6px; }
.note { background:#293747; border-left:3px solid var(--navy); padding:10px 12px; color:#f0f4f9; }

.qcards, .q4 { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:8px 0 8px; }
.qcards article, .q4 article {
  border:1px solid var(--line);
  padding:20px 20px 18px;
}
.qcards article { background:#293747; }
.q4 article { background:#293747; }
.qcards h3, .q4 h3 { margin:0 0 8px; font-size:16px; line-height:1.4; }
.qcards p, .q4 p { margin:0; color:#f0f4f9; font-size:14px; }
.q4 a { display:inline-block; margin-top:10px; font-size:13px; }
.handoff {
  background:var(--paper);
  border-top:1px solid var(--line);
  padding:64px 0 56px;
}
.handoff h2 { margin:0 0 8px; font-size:26px; }
.handoff .lead { margin:0 0 22px; color:var(--muted); max-width:40em; }
.site-foot { background:#1d2834; color:#aebdcf; padding:52px 0 20px; font-size:13px; }
.foot-grid { display:grid; grid-template-columns:1.3fr .9fr .9fr 1fr; gap:28px; }
.site-foot h2 { color:#f0f4f9; font-size:15px; margin:0 0 8px; }
.site-foot ul { margin:0; padding:0; list-style:none; }
.site-foot b { color:#f0f4f9; display:block; margin-bottom:8px; }
.site-foot a { color:#aebdcf; display:block; padding:3px 0; }
.site-foot a:hover { color:#f0f4f9; }
.site-foot p { margin:0 0 6px; }
.legal { border-top:1px solid #4c6582; margin-top:22px; padding-top:12px; color:#aebdcf; }

.faq details { border-bottom:1px solid var(--line); padding:10px 0; }
.faq summary { cursor:pointer; font-weight:700; }
.faq p { margin:8px 0 4px; color:#f0f4f9; }

@media (max-width: 980px) {
  .hero-in, .pgrid, .nums, .steps, .shots, .doc-grid, .foot-grid, .cards, .floor, .paths, .split, .alist, .qcards, .q4 { grid-template-columns:1fr 1fr; }
  .steps { grid-template-columns:1fr 1fr; }
  .nums { grid-template-columns:1fr 1fr; }
  .hero-bleed { min-height:420px; }
  .hero-bleed h1 { font-size:40px; }
  .hero-bleed .wrap { padding:64px 0 36px; }
  .gallery.wide { grid-template-columns:1fr 1fr; }
  .proof { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:4px 16px; }
  .hero-photo img, .shots img { height:220px; }
}
@media (max-width: 860px) {
  .nav-btn {
    display:inline-block;
    margin-left:auto;
    border:1px solid var(--line);
    padding:6px 10px;
    border-radius:2px;
  }
  .nav-toggle:checked ~ .site-nav { display:flex; }
  .site-nav {
    display:none;
    position:absolute;
    top:72px;
    left:0;
    right:0;
    background:#293747;
    border-bottom:1px solid var(--line);
    flex-direction:column;
    align-items:stretch;
    padding:8px 16px 16px;
    box-shadow:0 12px 24px rgba(0,0,0,.06);
  }
  .head-in { position:static; }
  .site-nav > a, .site-nav .top { padding:10px 0; }
  .nav-toggle:checked ~ .site-nav .mega,
  .nav-toggle:checked ~ .site-nav .mega.wide,
  .nav-toggle:checked ~ .site-nav .mega.narrow {
    display:block;
    position:static;
    width:auto;
    max-height:none;
    box-shadow:none;
    border:0;
    padding:0 0 8px 8px;
  }
  .nav-toggle:checked ~ .site-nav .mega-cols { grid-template-columns:1fr; }
  .head-phone { display:none; }
  .hero-in, .rowitem, .doc-grid, .foot-grid, .shots, .split, .alist, .qcards, .q4 { grid-template-columns:1fr; }
  .hero-picks { grid-template-columns:1fr 1fr; }
  .handoff { padding:40px 0 32px; }
  main.doc { padding-top:28px; }
  .pgrid, .pgrid.hot, .cards, .gallery { grid-template-columns:1fr 1fr; }
  .pgrid.hot img, .gallery img { height:160px; }
  .rowitem img { width:100%; height:200px; }
  .hero-photo img { height:220px; }
}


/* Shared neutral palette and accessible navigation for tablets and phones. */
a:focus-visible, .nav-toggle:focus-visible + .nav-btn { outline:2px solid var(--red); outline-offset:4px; }
.mega.wide { left:50%; transform:translateX(-46%); }
@media (max-width: 1060px) {
  .nav-btn { display:inline-block; margin-left:auto; border:1px solid var(--line); padding:6px 10px; border-radius:3px; cursor:pointer; }
  .nav-toggle { display:block; position:absolute; width:1px; height:1px; opacity:0; }
  .site-nav { display:none; position:absolute; top:72px; left:0; right:0; background:#293747; flex-direction:column; align-items:stretch; padding:8px 20px 20px; border-bottom:1px solid var(--line); box-shadow:0 12px 24px rgba(0,0,0,.06); max-height:min(72dvh, calc(100dvh - 120px)); overflow-y:auto; }
  .head-in { height:72px; position:static; }
  .head-phone { display:none; }
  .site-nav > a, .site-nav .top { padding:10px 0; }
  .nav-toggle:checked ~ .site-nav { display:flex; }
  .nav-toggle:checked ~ .site-nav .mega,
  .nav-toggle:checked ~ .site-nav .mega.wide,
  .nav-toggle:checked ~ .site-nav .mega.narrow { display:block; position:static; transform:none; width:auto; max-height:none; box-shadow:none; border:0; padding:0 0 8px 8px; }
  .nav-toggle:checked ~ .site-nav .mega-cols { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }

/* Reviewed purchasing guides and product detail pages. */
.skip-link{position:absolute;left:16px;top:-100px;padding:12px 20px;background:#1d2834;color:#f0f4f9;z-index:1000}.skip-link:focus{top:12px}.reviewed-doc{background:#263442}.reviewed-doc article{min-width:0}.review-eyebrow{font-size:11px;letter-spacing:.14em;color:#aebdcf;margin:20px 0 10px}.reviewed-doc h1{font-size:clamp(28px,3vw,44px);line-height:1.28;letter-spacing:-.025em;max-width:23em}.reviewed-doc .lede{font-size:17px;line-height:1.9;color:#aebdcf;max-width:48em;margin:20px 0 34px}.reviewed-doc article>h2,.reviewed-doc section>h2{margin-top:36px;font-size:23px}.reviewed-doc article p,.reviewed-doc li{line-height:1.95}.reviewed-doc .table{font-size:14px;background:#293747}.reviewed-doc .table td:first-child{font-weight:600;width:28%;color:#f0f4f9}.table-scroll{max-width:100%;overflow-x:auto;margin:24px 0}.table-scroll .table{margin:0;min-width:360px}.review-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 30px}.review-links>a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border:1px solid #41556b;border-radius:8px;background:#293747;color:#f0f4f9;font-size:14px;font-weight:500;line-height:1.6}.review-links>a:hover{background:#263442;border-color:#4c6582}.review-photo{margin:24px 0}.review-photo img{display:block;width:100%;max-height:430px;object-fit:contain;background:#263442;border:1px solid #41556b;border-radius:10px}.review-photo figcaption,.review-gallery figcaption{font-size:12px;line-height:1.7;color:#aebdcf;margin-top:10px}.review-gallery{align-items:start}.review-gallery figure{margin:0;min-width:0}.review-gallery a{display:block}.review-gallery img{object-fit:contain!important;background:#293747;aspect-ratio:4/3;height:auto!important;width:100%}.review-gallery-count{font-size:13px;color:#aebdcf}.review-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px}.review-cards .card{min-width:0;display:block}.review-cards .card img{object-fit:contain!important;aspect-ratio:4/3;background:#263442;height:auto!important;width:100%}.review-cards .card p{font-size:13px;line-height:1.8}.review-card-placeholder{aspect-ratio:4/3;background:linear-gradient(140deg,#263442,#263442);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#aebdcf}.review-card-placeholder span{font-size:10px;letter-spacing:.18em}.review-card-placeholder b{font-size:24px;font-weight:500;color:#aebdcf}.review-spec-banner{padding:40px 32px;background:linear-gradient(135deg,#263442,#263442);border:1px solid #41556b;border-radius:10px;margin:28px 0}.review-spec-banner small{font-size:11px;letter-spacing:.15em;color:#aebdcf}.review-spec-banner strong{display:block;font-size:27px;line-height:1.5;font-weight:500;margin:12px 0}.review-spec-banner p{margin:0;color:#aebdcf}.review-qr{width:144px!important;height:145px!important}.review-answer{padding:2px 0 20px;border-bottom:1px solid #41556b;scroll-margin-top:100px}.reviewed-doc section[id]{scroll-margin-top:110px}.reviewed-doc .rail p{font-size:12px;line-height:1.8}.reviewed-doc .crumb{font-size:12px;overflow-wrap:anywhere}.reviewed-doc .rail .btn{font-size:14px}.reviewed-doc .doc-grid{align-items:start}
@media(max-width:600px){.review-links{grid-template-columns:1fr}.reviewed-doc h1{font-size:29px}.reviewed-doc .lede{font-size:16px;margin-bottom:26px}.reviewed-doc article>h2,.reviewed-doc section>h2{font-size:21px}.review-cards{gap:12px}.review-cards .pad{padding:14px}.review-cards .card h3{font-size:17px}.review-cards .card p{font-size:12px}.review-spec-banner{padding:28px 22px}.review-spec-banner strong{font-size:23px}.review-links>a{padding:14px 16px}.reviewed-doc .table{font-size:13px}}

/* Editorial pages: purposeful imagery, application notes and project enquiry. */
.ed-kicker{font-size:10px!important;letter-spacing:.16em;color:#aebdcf;font-weight:600;margin:0 0 12px!important}.ed-caption{font-size:12px!important;color:#aebdcf;line-height:1.8!important}.ed-feature{display:grid;grid-template-columns:1fr 1.05fr;gap:28px;align-items:center;margin:26px 0 30px}.ed-feature .review-photo{margin:0}.ed-feature .review-photo img{min-height:230px;max-height:340px;border-radius:12px}.ed-feature h2{margin:0 0 16px!important;font-size:27px!important;line-height:1.45}.ed-feature p{font-size:14px}.ed-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:28px 0 38px}.ed-notes>section{background:#263442;border:1px solid #41556b;border-radius:10px;padding:22px 20px}.ed-notes>section>span{font-size:11px;letter-spacing:.1em;color:#aebdcf}.ed-notes h3{font-size:17px;line-height:1.5;margin:13px 0 10px}.ed-notes p{font-size:13px;line-height:1.85;margin:0}.ed-app-grid,.ed-guide-grid,.ed-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0 42px}.ed-app-card,.ed-guide,.ed-catalog-grid>a{display:block;border:1px solid #41556b;background:#293747;border-radius:12px;overflow:hidden;color:#f0f4f9;transition:box-shadow .2s,transform .2s}.ed-app-card:hover,.ed-guide:hover,.ed-catalog-grid>a:hover{box-shadow:0 10px 25px #1f2a360c;transform:translateY(-2px)}.ed-app-card>img,.ed-guide-photo>img,.ed-catalog-grid>a>img{height:auto;width:100%;aspect-ratio:4/3;object-fit:contain;background:#263442}.ed-app-card>div,.ed-catalog-grid>a>div,.ed-guide-body{padding:23px}.ed-app-card h3{font-size:22px;line-height:1.5;margin:0 0 12px}.ed-app-card p,.ed-catalog-grid p,.ed-guide-body p{font-size:13px;line-height:1.9!important;color:#aebdcf;margin-bottom:20px}.ed-card-link,.ed-catalog-grid a span{font-size:12px;color:#aebdcf}.ed-guide-photo{position:relative}.ed-guide-photo>img{object-fit:cover}.ed-guide-photo>span{position:absolute;left:16px;bottom:14px;background:#263442ed;padding:7px 12px;border-radius:5px;color:#aebdcf;font-size:11px}.ed-guide-body h2,.ed-catalog-grid h2{font-size:21px!important;line-height:1.55;margin:0 0 14px!important}.ed-example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}.ed-example{display:block;background:#293747;border:1px solid #41556b;border-radius:10px;overflow:hidden}.ed-example>img{height:auto;width:100%;aspect-ratio:4/3;object-fit:contain;background:#263442}.ed-example>div{padding:22px}.ed-example small{font-size:10px;color:#aebdcf;letter-spacing:.05em}.ed-example h3{font-size:19px;line-height:1.55;margin:13px 0}.ed-example p{font-size:13px!important;line-height:1.9;color:#aebdcf}.ed-example span{font-size:12px;color:#aebdcf}.ed-product-notes{border-top:1px solid #41556b;border-bottom:1px solid #41556b;padding:26px 0 18px;margin:30px 0}.ed-product-notes h2{margin:0 0 20px!important}.ed-product-notes h3{font-size:18px;margin:20px 0 8px}.ed-product-notes p{font-size:14px}.ed-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.ed-section-nav>a{font-size:12px;padding:7px 13px;border-radius:20px;background:#263442;color:#aebdcf;border:1px solid #41556b}.ed-card-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:#263442}.ed-image-kind{position:absolute;right:9px;bottom:9px;background:#263442ef;color:#aebdcf;border:1px solid #41556b;border-radius:5px;padding:4px 8px;font-size:10px;line-height:1.4}.ed-enquiry{scroll-margin-top:110px;margin-top:42px;padding:28px;background:#263442;border:1px solid #41556b;border-radius:12px}.ed-enquiry h2{margin:0 0 16px!important}.ed-field-label{display:block;font-size:12px;margin:20px 0 8px;color:#aebdcf}.ed-enquiry textarea{box-sizing:border-box;display:block;width:100%;resize:vertical;min-height:260px;padding:18px;border:1px solid #41556b;border-radius:6px;background:#293747;color:#f0f4f9;font:14px/2 'Microsoft YaHei','PingFang SC',sans-serif}.ed-copy-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:16px}.ed-copy-row button{border:0;cursor:pointer;font:inherit;font-size:14px;background:#1d2834;color:#f0f4f9;padding:10px 20px}.ed-copy-row p{font-size:12px;margin:0;color:#aebdcf}.ed-quote{margin:24px 0;padding:22px 24px;background:#263442;border-left:3px solid #4c6582;font-size:15px;line-height:2;color:#aebdcf}.ed-diagram{margin:26px 0}.ed-diagram img{width:100%;height:auto;border-radius:12px}.ed-diagram figcaption{font-size:12px;color:#aebdcf;margin-top:12px}.ed-process-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0}.ed-process-photos .review-photo{margin:0}.ed-process-photos img{width:100%;height:180px!important;object-fit:cover}.ed-process-photos figcaption{font-size:11px}.review-gallery figcaption{display:flex;gap:10px;align-items:center;justify-content:space-between}.review-gallery figcaption a{font-size:11px;color:#aebdcf}.ed-gallery-more{margin:28px 0}.ed-gallery-more>summary{list-style:none;cursor:pointer;padding:16px 22px;text-align:center;border:1px solid #41556b;border-radius:8px;background:#263442;color:#aebdcf;font-size:14px}.ed-gallery-more>summary::after{content:' ＋';font-size:16px}.ed-gallery-more[open]>summary{margin-bottom:24px}.ed-gallery-more[open]>summary::after{content:' −'}.ed-pet-tile{aspect-ratio:4/3;background:#263442;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.ed-pet-tile b{font-size:27px;font-weight:500}.ed-pet-tile span{font-size:11px;color:#aebdcf}.d-projects{background:#263442}.d-projects .ed-example p{margin-bottom:24px}.ed-article-extra{border-top:1px solid #41556b;margin-top:42px;padding-top:6px}
@media(max-width:700px){.ed-feature{grid-template-columns:1fr;gap:22px}.ed-feature h2{font-size:24px!important}.ed-notes{grid-template-columns:1fr;gap:10px}.ed-notes>section{padding:20px}.ed-notes>section>span{float:right}.ed-notes h3{margin-top:0}.ed-app-grid,.ed-guide-grid,.ed-catalog-grid{gap:14px}.ed-app-card>div,.ed-catalog-grid>a>div,.ed-guide-body{padding:17px}.ed-app-card h3,.ed-guide-body h2,.ed-catalog-grid h2{font-size:18px!important}.ed-example-grid{grid-template-columns:1fr}.ed-example{display:grid;grid-template-columns:38% 1fr}.ed-example>img{height:100%;aspect-ratio:auto;object-fit:contain}.ed-example>div{padding:19px}.ed-example h3{font-size:17px;margin:9px 0}.ed-enquiry{padding:22px 18px}.ed-process-photos{grid-template-columns:1fr}.ed-process-photos img{height:220px!important}.ed-guide-photo>span{left:10px;bottom:10px;font-size:10px;padding:5px 8px}.review-gallery figcaption{flex-direction:column;align-items:flex-start;gap:3px}}
@media(max-width:440px){.ed-guide-grid,.ed-app-grid{grid-template-columns:1fr}.ed-guide-photo>img,.ed-app-card>img{aspect-ratio:16/10}.ed-catalog-grid{gap:10px}.ed-catalog-grid>a>div{padding:13px}.ed-catalog-grid p{font-size:12px}.ed-catalog-grid h2{font-size:17px!important}}

.ed-app-photo{position:relative}.ed-app-photo>img{height:auto;width:100%;aspect-ratio:4/3;object-fit:contain;background:#263442}@media(max-width:440px){.ed-app-photo>img{aspect-ratio:16/10}}

/* Complete product directory */
[hidden]{display:none!important}.pd-search{margin:25px 0;padding:22px;background:#263442;border:1px solid #41556b;border-radius:10px}.pd-search label{display:block;font-weight:600;margin-bottom:9px}.pd-search input{width:100%;font:inherit;padding:12px;border:1px solid #41556b;border-radius:6px;background:#293747;color:#f0f4f9}.pd-search p{display:inline-block;margin:12px 15px 0 0!important;font-size:13px}.pd-search button{border:0;background:transparent;text-decoration:underline;cursor:pointer;font:inherit;font-size:13px;color:#aebdcf}.pd-jumps{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 36px}.pd-jumps a{font-size:13px;border:1px solid #41556b;padding:8px 12px;border-radius:20px}.pd-group{scroll-margin-top:100px;border-top:1px solid #41556b;padding:10px 0 20px}.pd-group h2 small{font-size:13px;font-weight:400;color:#aebdcf}.pd-list{padding:0!important;margin:22px 0!important;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pd-item{margin:0!important;border:1px solid #41556b;border-radius:8px;background:#293747;overflow:hidden}.pd-item a{display:flex;flex-direction:column;height:100%;padding:20px}.pd-item strong{font-size:18px}.pd-item span{display:block;font-size:13px;line-height:1.85;color:#aebdcf;margin:9px 0 18px}.pd-item small{display:block;font-size:12px;color:#aebdcf;margin-top:auto}.pd-item:hover{border-color:#4c6582}.pd-item a:focus-visible,.pd-search button:focus-visible{outline:3px solid #4c6582;outline-offset:3px}.ed-card-image>img{height:100%;width:100%;object-fit:contain}@media(max-width:600px){.pd-list{grid-template-columns:1fr}.pd-search{padding:18px}.pd-jumps a{font-size:12px}.pd-item a{padding:18px}}

/* Deep slate blue direction, sampled from the approved process-section reference. */
:root{color-scheme:dark;--navy:#dbe6f2;--navy-2:#aebdcf;--ink:#f0f4f9;--muted:#aebdcf;--line:#41556b;--paper:#293747;--red:#9bc6f2}
body,.reviewed-doc{background:#242f3c;color:#f0f4f9}
.site-head{background:#202b38;border-color:#41556b}.util{background:#1d2834}.util a{color:#aebdcf}
a:hover{color:#b5d8fb}.brand img{background:#f7f9fc;padding:3px 6px;border-radius:3px;box-sizing:content-box}
.head-phone,.btn,.ed-copy-row button{background:#356d9f;color:#fff}.head-phone:hover,.btn:hover,.ed-copy-row button:hover{background:#417fb5;color:#fff}
.btn.line{background:transparent;color:#dbe6f2;border-color:#607b98}.btn.line:hover{background:#30465b;color:#fff}
.band{background:#1d2834}.note{border-left-color:#87acd3}.site-foot{background:#1b2531}.legal{color:#a2b4c8}
.mega,.rail{background:#293747}.mega-links a:hover,.mega-links a.cur{background:#34495e;color:#c5e1ff}
.pcard,.card,.path,.alist a,.ed-app-card,.ed-guide,.ed-catalog-grid>a,.ed-example,.pd-item{background:#293747;color:#f0f4f9}
.gallery img,.pcard img,.card img,.pgrid img,.ed-app-photo>img,.ed-card-image,.ed-app-card>img,.ed-example>img,.ed-catalog-grid>a>img,.split.contain img,.review-photo img{background:#f1f4f7;color:#24303e;color-scheme:light}
.ed-image-kind{background:#233343ed;color:#e2ecf7;border-color:#607b98}.ed-guide-photo>span{background:#233343ed;color:#e2ecf7}
.ed-enquiry textarea,.pd-search input{background:#1d2936;color:#f0f4f9;border-color:#607b98}.pd-search input::placeholder{color:#aebdcf}
::selection{background:#507da8;color:#fff}
@media(max-width:1060px){.site-nav{background:#202b38}}

/* Keep photography in its own proportions instead of adding pale letterbox bars. */
.brand img{background:transparent;padding:0;border-radius:0;box-sizing:border-box;height:34px;width:113px;object-fit:contain;filter:none;mix-blend-mode:normal}.brand-name{color:#f0f4f9}.brand-name small{color:#aebdcf}
.review-photo{background:transparent}.review-photo img{display:block;width:auto;height:auto;max-width:100%;max-height:520px;margin-inline:auto;background:transparent;border:0;border-radius:8px}
.review-photo--scene img{width:100%;height:auto;max-height:none;object-fit:contain;background:transparent;border:0}
.factory-overview{margin:28px 0 34px}.factory-overview .review-photo{margin:0}.factory-overview img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px}
.factory-scene-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 34px}.factory-scene-grid .review-photo{margin:0;min-width:0}.factory-scene-grid img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:8px}.factory-scene-grid figcaption{border-top:1px solid #41556b;padding-top:10px}
.ed-feature .review-photo--scene img{height:auto;min-height:0;max-height:none}.ed-process-photos .review-photo--scene img{background:transparent;object-fit:cover}
.ed-card-image{background:#dbe3eb}.ed-card-image>img{mix-blend-mode:multiply;background:transparent}
@media(max-width:700px){.factory-scene-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.factory-scene-grid .review-photo:first-child{grid-column:1/-1}.factory-scene-grid .review-photo:first-child img{aspect-ratio:4/3;object-position:50% 44%}.factory-scene-grid figcaption{font-size:11px}.review-photo img{max-height:none}}

/* Preserve the exact original wordmark: invert its ink to white and screen out its paper. */
.brand img,.design-home .brand img{background:transparent;padding:0;filter:grayscale(1) invert(1) contrast(5);mix-blend-mode:screen;border:0;border-radius:0}
.brand{isolation:auto}

/* Engineering edition: readable long-form content and purposeful product presentation. */
.reviewed-doc{background:#222f3d}.reviewed-doc .doc-grid{grid-template-columns:minmax(0,1fr) 250px;gap:48px}.reviewed-doc article{min-width:0;padding-bottom:38px}.reviewed-doc h1{font-weight:650;letter-spacing:-.035em;max-width:24em}.reviewed-doc .lede{font-size:17px;color:#b7c9da;max-width:50em;padding-bottom:26px;border-bottom:1px solid #41566c;margin-bottom:30px}.reviewed-doc article>p,.reviewed-doc section>p{color:#c5d2df}.reviewed-doc h2[id]{scroll-margin-top:120px}.reviewed-doc .review-eyebrow{color:#9db9d4;font-size:10px;letter-spacing:.16em}.reviewed-doc article>h2{padding-top:14px}.reviewed-doc .table{font-size:14px;line-height:1.85}.reviewed-doc .table thead th{width:auto;background:#31465b;color:#edf4fc;font-weight:600}.reviewed-doc .table td{padding:15px 17px;color:#c7d5e3}.reviewed-doc .table td:first-child{color:#f0f4f9}.reviewed-doc .table tbody tr:nth-child(even){background:#2b3b4d}.reviewed-doc .rail{background:linear-gradient(145deg,#2c3e51,#273545);border-color:#4d647c;padding:22px 18px;border-radius:8px}.reviewed-doc .rail h2{font-size:16px;padding-bottom:14px;border-bottom:1px solid #496178}.reviewed-doc .rail dl{row-gap:9px;padding:5px 0}.reviewed-doc .rail .btn{display:block;text-align:center;margin-top:18px}.btn{min-height:43px;line-height:1.6}.review-links>a{align-items:center;transition:background .2s,border-color .2s}.review-links>a:hover{background:#344c63;border-color:#7fa5cb}.pro-feature-label{font-size:10px;letter-spacing:.17em;color:#9dbedc;padding:17px 0;border-bottom:1px solid #496078}
.pro-product-hero{display:grid;grid-template-columns:1.03fr 1fr;gap:28px;align-items:center;margin:0 0 32px;min-width:0}.pro-product-hero>div{min-width:0}.pro-product-visual{border-radius:10px;background:#dbe4ec;overflow:hidden;border:1px solid #7892ab}.pro-product-visual .review-photo{margin:0;padding:22px}.pro-product-visual .review-photo img{width:100%;height:285px;max-height:none;object-fit:contain;background:transparent;mix-blend-mode:multiply;border:0;border-radius:4px}.pro-product-visual .review-photo figcaption{color:#405970;font-size:10px;line-height:1.7;margin-top:18px;padding-top:12px;border-top:1px solid #bccbd7}.pro-product-brief h2{font-size:25px!important;line-height:1.5;margin:0 0 15px!important;letter-spacing:-.02em}.pro-product-brief>p:not(.ed-kicker){font-size:14px;color:#bacddd}.pro-product-brief dl{margin:22px 0;font-size:12px}.pro-product-brief dl>div{display:grid;grid-template-columns:66px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #41566c}.pro-product-brief dt{color:#9db7cf}.pro-product-brief dd{margin:0;color:#dce7f1}.pro-product-brief .btn{font-size:12px;padding:12px 15px}.pro-product-design{padding:27px 30px;background:#2b3d50;border:1px solid #4b637a;border-left:3px solid #91b6d9;border-radius:0 8px 8px 0;margin:30px 0}.pro-product-design h2{font-size:22px!important;margin:0 0 14px!important}.pro-product-design p:last-child{margin-bottom:0;font-size:14px;line-height:1.95}.pro-delivery{margin:38px 0;padding-top:8px;border-top:1px solid #496078}.pro-insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:25px 0 32px}.pro-insight-grid>section{min-width:0;padding:24px;background:#293c4e;border:1px solid #4a627b;border-radius:8px}.pro-insight-grid>section>span{color:#8eafcd;font-size:10px;letter-spacing:.12em}.pro-insight-grid h3{font-size:18px;margin:12px 0!important}.pro-insight-grid p{font-size:13px;line-height:1.9!important;color:#bdcddd;margin-bottom:0!important}.pro-playbook{margin:25px 0 40px}.pro-sources{margin:38px 0 18px;padding:23px 26px;border:1px solid #4a627a;border-radius:8px;background:#263747}.pro-sources h2{font-size:17px!important;margin:0 0 14px!important}.pro-sources ul{padding-left:20px;margin:0 0 14px}.pro-sources li,.pro-sources p{font-size:12px;color:#b5c8d9}.pro-sources p{margin-bottom:0!important}
.pro-toc{padding:18px 22px;background:#2b3e51;border:1px solid #49637c;border-radius:8px;margin:0 0 32px}.pro-toc summary{cursor:pointer;font-weight:600;font-size:13px}.pro-toc summary>span{font-size:9px;letter-spacing:.16em;color:#9db8d0;margin-left:14px}.pro-toc nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 25px;margin-top:18px;padding-top:15px;border-top:1px solid #47617a;counter-reset:toc}.pro-toc nav a{font-size:12px;color:#c9d8e7;display:flex;gap:10px;line-height:1.8}.pro-toc nav a::before{counter-increment:toc;content:counter(toc,decimal-leading-zero);font-size:10px;color:#8eabc5;flex:none}.pro-toc nav a:hover{color:#fff}.ed-section-nav{padding-bottom:18px;border-bottom:1px solid #496078;margin-bottom:30px}.ed-product-notes{padding-top:28px}.ed-product-notes h3{color:#dbe8f4}.ed-product-notes p{color:#bdcddd}
@media(max-width:1060px){.reviewed-doc .doc-grid{grid-template-columns:minmax(0,1fr) 230px;gap:28px}.pro-product-hero{gap:20px;grid-template-columns:1fr}.pro-product-visual .review-photo img{height:270px}.pro-product-brief h2{font-size:23px!important}.pro-product-brief dl{margin:15px 0}}
@media(max-width:860px){.reviewed-doc .doc-grid{grid-template-columns:1fr}.reviewed-doc .rail{position:static;margin-top:12px}.pro-product-hero{grid-template-columns:1fr 1fr}.pro-product-visual .review-photo img{height:260px}.reviewed-doc h1{font-size:clamp(29px,5vw,40px)}}
@media(max-width:600px){.pro-product-hero{grid-template-columns:1fr;gap:25px}.pro-product-visual .review-photo img{height:260px}.pro-product-visual .review-photo{padding:20px}.pro-product-design{padding:23px 20px}.pro-product-design h2{font-size:20px!important}.pro-insight-grid{grid-template-columns:1fr;gap:11px}.pro-insight-grid>section{padding:22px}.pro-toc{padding:18px}.pro-toc nav{grid-template-columns:1fr;gap:8px}.reviewed-doc .lede{font-size:16px;line-height:1.95}.reviewed-doc .table td{padding:12px}.reviewed-doc article>p,.reviewed-doc section>p{font-size:14px}.pro-product-brief .btn{display:block;text-align:center}.pro-sources{padding:22px 18px}}
