/* 由 _design/wpgen.py 生成：设计样式已作用域化到 .nova-root，不会外泄到主题 */
/* ==========================================================================
   PRECIMETAL — design tokens, reset, shared primitives
   Generated from the Ardot design file.  Edit tokens here first.
   ========================================================================== */

.nova-root{/* type */
  --font-head:'HarmonyOS Sans SC','PingFang SC','Microsoft YaHei',system-ui,-apple-system,sans-serif;
  --font-body:'Inter','PingFang SC','Microsoft YaHei',system-ui,-apple-system,sans-serif;

  /* brand */
  --navy:#0A2747;        /* utility bar */
  --ink:#0F1B27;         /* dark bands */
  --ink-2:#111C28;
  --steel:#0A4FA5;       /* primary blue */
  --deep:#06377A;        /* button text on light */
  --bright:#4C8FE0;      /* accent / underline */
  --tint:#E7EFF9;        /* light blue surface */

  /* neutrals */
  --heading:#141F2B;
  --body:#5B6875;
  --muted:#8E9CAB;
  --line:#E3E8EE;
  --soft:#F4F6F8;
  --white:#fff;

  --shell:1440px;
  /* 1440 - 2 x 70 = 1300px of usable content, per client note */
  --gutter:70px;
  --content:1300px;
  /* the real content inset: 70px at 1440 and below, then it grows with the
     viewport so the 1300px column stays centred — exactly like the header shell.
     Percentages inside a custom property resolve where the property is used. */
  --inset:max(var(--gutter),calc(50% - var(--content) / 2));
  --radius:3px;}
.nova-root *,
.nova-root *::before,
.nova-root *::after{box-sizing:border-box}
.nova-root{margin:0;background:var(--white);color:var(--body);
  font-family:var(--font-body);font-size:15px;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.nova-root h1,
.nova-root h2,
.nova-root h3,
.nova-root h4,
.nova-root p,
.nova-root figure{margin:0}
.nova-root a{color:inherit;text-decoration:none}
.nova-root img,
.nova-root svg{display:block}
.nova-root button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.nova-root ul{margin:0;padding:0;list-style:none}
/* every section is a full-bleed band; content padding comes from the design */

.nova-root{display:block;overflow-x:clip}
.nova-root section{width:100%}
/* One content column for the whole page. The bands stay full-bleed (their
   background still reaches the viewport edge) but the inset is the one the
   header uses, so nothing drifts left of the logo on a wide monitor. */

.nova-root [data-shell="l"],
.nova-root [data-shell="lr"]{padding-left:var(--inset) !important}
.nova-root [data-shell="r"],
.nova-root [data-shell="lr"]{padding-right:var(--inset) !important}
/* inline icons: 24x24 viewBox, colour inherited from the icon wrapper */

.nova-root .i{width:100%;height:100%;
  fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
  flex:none;}
/* ---------------------------------------------------------------- header */

.nova-root .site-header{position:relative;z-index:60;background:var(--white)}
.nova-root .util{background:var(--navy);color:#B7C5D3}
.nova-root .util__in{max-width:var(--shell);margin:0 auto;height:76px;
  padding:0 var(--gutter);display:flex;align-items:center;gap:28px;}
.nova-root .brand{display:flex;align-items:center;gap:12px}
.nova-root .brand__mark{width:38px;height:38px}
.nova-root .brand__text{display:flex;flex-direction:column;line-height:1.05}
.nova-root .brand__text b{font-family:var(--font-head);font-weight:800;font-size:21px;color:var(--white);letter-spacing:.3px}
.nova-root .brand__text i{font-style:normal;font-size:7.5px;font-weight:600;letter-spacing:.9px;color:#8E9CAB;margin-top:3px}
.nova-root .util__tag{font-size:10.5px;font-weight:600;letter-spacing:.7px;color:#7E93A8;
  padding-left:26px;border-left:1px solid rgba(183,197,211,.25);white-space:nowrap;}
.nova-root .util__contact{display:flex;align-items:center;gap:24px;margin-left:auto}
.nova-root .util__contact a{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:500;color:#B7C5D3;transition:color .18s}
.nova-root .util__contact a:hover{color:var(--white)}
.nova-root .util__contact .i{width:15px;height:15px;color:var(--steel)}
.nova-root .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:40px;padding:0 22px;border-radius:var(--radius);
  background:var(--steel);color:var(--white);
  font-size:12.5px;font-weight:600;white-space:nowrap;
  transition:background .18s,transform .18s;}
.nova-root .btn:hover{background:var(--deep)}
.nova-root .btn .i{width:14px;height:14px}
.nova-root .btn--sm{height:40px;padding:0 20px;font-size:12px}
.nova-root .nav{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:55}
.nova-root .nav__in{max-width:var(--shell);margin:0 auto;height:62px;
  padding:0 var(--gutter);display:flex;align-items:center;gap:24px;}
.nova-root .nav__links{display:flex;align-items:center;gap:26px;flex:1;min-width:0}
.nova-root .nav__links a{position:relative;display:flex;align-items:center;gap:5px;
  font-size:12.5px;font-weight:500;color:#4C5967;white-space:nowrap;
  height:62px;transition:color .18s;}
.nova-root .nav__links a::after{content:"";position:absolute;left:0;bottom:18px;width:0;height:2px;
  background:var(--bright);transition:width .22s;}
.nova-root .nav__links a:hover{color:var(--navy)}
.nova-root .nav__links a:hover::after{width:100%}
.nova-root .nav__links a[aria-current="page"]{color:var(--navy);font-weight:600}
.nova-root .nav__links a[aria-current="page"]::after{width:26px}
.nova-root .nav__util{display:flex;align-items:center;gap:14px}
.nova-root .icon-btn{display:flex;align-items:center;gap:5px;color:#4C5967;
  font-size:11.5px;font-weight:600;transition:color .18s;}
.nova-root .icon-btn:hover{color:var(--navy)}
.nova-root .icon-btn .i{width:17px;height:17px}
.nova-root .icon-btn--wide .i{width:15px;height:15px}
.nova-root .icon-btn--wide .i--caret{width:9px;height:9px}
.nova-root .nav__sep{width:1px;height:18px;background:var(--line)}
.nova-root .burger{display:none;flex-direction:column;gap:5px;padding:6px}
.nova-root .burger span{display:block;width:22px;height:2px;background:var(--navy);transition:transform .22s,opacity .22s}
.nova-root .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nova-root .burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nova-root .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* ---------------------------------------------------------------- footer shell */

.nova-root .site-footer{background:var(--ink);color:#8E9CAB}
/* ---------------------------------------------------------------- helpers */

.nova-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* rows of hug-width cells spread across the full band */

.nova-root [data-j="between"]{justify-content:space-between}
.nova-root [data-a="center"]{align-items:center}
/* the hero copy block is pinned in the source at the old 80px gutter */

.nova-root .home-s1 .hero-content{left:var(--inset) !important}
/* ...and the slider dots were pinned at x=1240, which overflows below 1440 */

.nova-root .home-s1 .slider-dots{left:auto !important;right:calc(var(--inset) + 30px) !important}
/* chips and pills were drawn tight to the 1440 canvas; give the label some air */

.nova-root [class*="pill"]{padding-left:12px !important;padding-right:12px !important}
.nova-root [class*="pill"] > *{height:auto !important}
/* ---------------------------------------------------------------- polish */
/* the canvas draws every corner at 2-3px, which reads harsh at these sizes */

.nova-root [class*="button-"],
.nova-root [class*="pill"],
.nova-root [class*="filter-"],
.nova-root [class*="chip-"],
.nova-root [class*="input"],
.nova-root [class*="select"],
.nova-root [data-card]{border-radius:4px !important}
/* Only real cards get a frame. The generator flags a card when a tile holds its
   own artwork *and* its own copy — matching on class names alone was painting a
   hairline around grids, rows, columns and even headlines. */

.nova-root [data-card]{overflow:hidden;
  box-shadow:inset 0 0 0 1px #D8E0E9,0 2px 6px rgba(10,39,71,.05) !important;
  transition:box-shadow .22s;}
/* cards answer the pointer with a hairline change and a soft lift */

.nova-root [data-card]:hover{box-shadow:inset 0 0 0 1px #C6D2DE,0 10px 26px rgba(10,39,71,.09) !important}
/* the news index is an editorial list, not a gallery — no frames, no lift */

.nova-news [data-card],
.nova-news [data-card]:hover{box-shadow:none !important}
/* controls share one motion curve and lift under the pointer */

.nova-root [class*="button-"],
.nova-root [class*="filter-"],
.nova-root .btn{transition:background .2s,color .2s,box-shadow .2s,transform .2s,filter .2s;}
.nova-root [class*="button-"]:hover{transform:translateY(-1px);filter:drop-shadow(0 6px 12px rgba(10,39,71,.16))}
.nova-root [class*="button-"]:active{transform:translateY(0);filter:none}
/* keyboard focus must be visible */

.nova-root a:focus-visible,
.nova-root button:focus-visible,
.nova-root input:focus-visible,
.nova-root textarea:focus-visible,
.nova-root [class*="button-"]:focus-visible{outline:2px solid var(--bright);outline-offset:2px}
/* the load-more bar is a full-width row holding one button — centre it */

.nova-root [class*="load-more"]{justify-content:center !important}
/* four stats at a 15px gap read as one word; spread them across the column */

.nova-root [class*="factory-stats"]{width:100% !important;justify-content:space-between !important;gap:18px !important;}
/* trust logos sit on navy; the canvas grey is invisible against it */

.nova-root [class*="client-logos"] > div{color:#93A2B1 !important}
.nova-root [class*="client-logos"] > span{color:#6E9BD8 !important}
/* footer legal line and the dark subscribe field were below 3:1 as well */

.nova-root .site-footer [class*="copyright"],
.nova-root .site-footer [class*="privacy-policy"],
.nova-root .site-footer [class*="terms-of-use"],
.nova-root .site-footer [class*="sitemap"]{color:#8A97A4 !important}
.nova-root [class*="subscribe"] input::placeholder{color:#94A1B0}
/* the legal line sits at the far end of the bottom bar */

.nova-root .site-footer [class*="footer-bottom"]{justify-content:space-between !important;gap:24px !important}
/* the social marks arrived as loose vector fragments — draw them properly */

.nova-root .site-footer [class*="social-row"] > div{background-color:#1B2A38}
.nova-root .site-footer .icon,
.nova-root .site-footer .icon-2,
.nova-root .site-footer .icon-3,
.nova-root .site-footer .icon-4{background-repeat:no-repeat;background-position:center;background-size:13px 13px;}
.nova-root .site-footer .icon > *,
.nova-root .site-footer .icon-2 > *{display:none}
.nova-root .site-footer .linked-in .icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B7C5D3' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9.5V20M5 5.6v.01M11 20V9m0 4.6a4 4 0 0 1 8 0V20'/%3E%3C/svg%3E")}
.nova-root .site-footer .you-tube .icon-2{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B7C5D3' stroke-width='1.9' stroke-linejoin='round'%3E%3Crect x='2.5' y='5.5' width='19' height='13' rx='4'/%3E%3Cpath d='m10 9.5 5 2.5-5 2.5z'/%3E%3C/svg%3E")}
.nova-root .site-footer .facebook .icon-3{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B7C5D3' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15.5 4H13a3.5 3.5 0 0 0-3.5 3.5V20M7 11h7'/%3E%3C/svg%3E")}
.nova-root .site-footer .x .icon-4{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B7C5D3' stroke-width='1.9' stroke-linecap='round'%3E%3Cpath d='M4.5 4.5 19.5 19.5M19.5 4.5 4.5 19.5'/%3E%3C/svg%3E")}
/* page banners: photo + overlay are pinned, the copy block sits vertically centred */

.nova-root section[class~="page-banner"]{justify-content:center}
/* banner art is painted at the full 1440 canvas width — it must follow the viewport */

.nova-root section[class~="page-banner"] > [class*="overlay"],
.nova-root section[class~="page-banner"] > [class*="photo"]{width:100% !important}
/* ---------------------------------------------------------------- responsive */
@media (max-width:1280px){
.nova-root{--gutter:48px}
.nova-root .util__tag{display:none}
/* cards keep their canvas height, which no longer fits the copy at this width */
  
.nova-root [data-card]{height:auto !important}
.nova-root section *{max-width:100% !important;min-width:0}
/* result strips hold three fixed cells on the canvas, they must shrink here */
  
.nova-root [class*="result-row"]{flex-wrap:wrap !important}

}
@media (max-width:1080px){
.nova-root{--gutter:32px}
.nova-root .util__contact a:first-child{display:none}
.nova-root .nav__links{gap:18px}
.nova-root .nav__links a{font-size:12px}

}
@media (max-width:900px){
.nova-root{--gutter:24px}
.nova-root{overflow-x:hidden}
.nova-root .util__in{height:64px}
.nova-root .util__contact{display:none}
.nova-root .nav__in{gap:12px}
.nova-root .burger{display:flex}
/* nothing may exceed its parent on small screens */
  
.nova-root section *{max-width:100% !important;min-width:0}
.nova-root section img{object-fit:cover}
.nova-root .nav__links{position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--white);border-bottom:1px solid var(--line);
    padding:6px var(--gutter) 14px;
    display:none;}
.nova-root .nav__links.is-open{display:flex}
.nova-root .nav__links a{height:46px;font-size:14px;border-bottom:1px solid var(--soft)}
.nova-root .nav__links a::after{display:none}
.nova-root .nav__links a[aria-current="page"]{color:var(--steel)}
/* stacked sections — !important is required: generated rules use two-class
     selectors (.home-s2 .section-head) and would otherwise win on specificity */
  
.nova-root [data-r="split"]{flex-direction:column !important;align-items:stretch !important;height:auto !important;min-height:0 !important}
.nova-root [data-r="split"] > *{width:100% !important;flex:0 0 auto !important;max-width:100% !important}
/* once a button is stretched to full width its content has to sit in the middle */
  
.nova-root [data-r="split"] > [class*="button-"]{justify-content:center !important}
.nova-root [data-r="cols"]{flex-wrap:wrap !important}
.nova-root [data-r="cols"] > *{flex:1 1 calc(50% - 10px) !important;width:auto !important;min-width:0;max-width:100% !important}
/* hairline dividers between stacked columns have no place on a phone */
  
.nova-root [data-r] > [class*="divider"]{display:none !important}
/* pull-quotes and similar boxes were sized for one line of 1440px copy */
  
.nova-root [class*="quote"]{height:auto !important}
/* the tab strip and its two panes: nothing fits side by side below 900 */
  
.nova-root [class*="tab-bar"]{flex-wrap:wrap !important;height:auto !important;row-gap:2px}
.nova-root [class*="tab-bar"] > div{flex:0 0 auto !important;max-width:100% !important}
.nova-root [class*="tab-content"]{flex-direction:column !important;gap:34px !important}
/* any box whose copy now wraps must be free to grow */
  
.nova-root [data-h="grow"]{height:auto !important;min-height:0 !important}
/* the design gutter (80px) has to follow the breakpoint, not stay fixed */
  
.nova-root > section{padding-left:var(--gutter) !important;padding-right:var(--gutter) !important}
/* fixed heights only make sense at 1440 — once stacked, sections must grow */
  
.nova-root > section{height:auto !important}
.nova-root > section[data-j="between"]{padding-top:36px !important;padding-bottom:36px !important;gap:20px !important}
/* page banners use absolute positioning — collapse the inset */
  
.nova-root section[class~="page-banner"]{height:auto !important;min-height:280px;padding:84px var(--gutter) 48px !important}
/* 只有正文节点回到文档流；照片层与遮罩层是背景美术，必须留在绝对定位里铺满整块，
   否则窄屏下照片 div 会以 340px 的固定高度把面包屑和标题推到下方（v1.12.0 修复） */
.nova-root section[class~="page-banner"] > *:not(img):not([class*="overlay"]):not([class*="photo"]){position:relative !important;left:0 !important;top:0 !important;
    right:auto !important;max-width:100% !important;}
.nova-root section[class~="page-banner"] > [class*="overlay"],
.nova-root section[class~="page-banner"] > [class*="photo"]{position:absolute !important;left:0 !important;top:0 !important;
    width:100% !important;height:100% !important;max-width:none !important;object-fit:cover}
/* hero art is a 1440x560 crop — keep it anchored once the section grows */
  
.nova-root section[class~="page-banner"]{background-position:center top !important}

}
@media (max-width:600px){
.nova-root{--gutter:20px}
.nova-root{font-size:14px}
.nova-root [data-r="cols"] > *{flex:1 1 100% !important}
/* a gallery thumb is not a column — keep the four of them on one line */
  
.nova-root [class*="thumbnail-row"]{flex-wrap:nowrap !important}
.nova-root [class*="thumbnail-row"] > *{flex:1 1 0 !important;min-width:0 !important}
/* a pill, a dot or a hairline is not a column — never stretch them to full width */
  
.nova-root [data-r="cols"] > [class*="pill"],
.nova-root [data-r="cols"] > [class*="dot"],
.nova-root [data-r="cols"] > [class*="rule"]{flex:0 0 auto !important}
.nova-root section[class~="page-banner"]{min-height:240px}
/* header has to fit 350px of usable width */
  
.nova-root .brand__mark{width:30px;height:30px}
.nova-root .brand__text b{font-size:17px}
.nova-root .brand__text i{display:none}
.nova-root .btn--sm{height:34px;padding:0 14px;font-size:11px}
/* scale the desktop type ramp down instead of wrapping to 4-5 lines */
  
.nova-root h1,
.nova-root .h1{font-size:32px !important;line-height:1.18 !important}
.nova-root h2{font-size:23px !important;line-height:1.25 !important}
.nova-root h3{font-size:17px !important}
/* the decorative slash after a section title would sit alone on its own line */
  
.nova-root [class*="slash"]{display:none !important}
/* stat/pill groups stay two-up so a band is not four stacked rows */
  
.nova-root [class*="stats"]{gap:10px 12px !important}
.nova-root [class*="stats"] > *{flex:1 1 calc(50% - 8px) !important;width:auto !important;min-width:0}

}

/* Section styles generated 1:1 from the Ardot design (1440 canvas). */
/* 1. site-footer */

.nova-root .site-footer .footer{width:100%;height:auto;display:flex;flex-direction:column;padding:64px var(--gutter) 0px var(--gutter);box-sizing:border-box;background-color:#0F1B27}
/* 2. site-footer */

.nova-root .site-footer .footer-top{width:100%;height:auto;display:flex;flex-direction:row;gap:44px;padding:0px 0px 46px 0px;box-sizing:border-box}
/* 3. site-footer */

.nova-root .site-footer .column-brand{width:292px;height:auto;display:flex;flex-direction:column;gap:18px;box-sizing:border-box}
/* 4. site-footer +10 more */

.nova-root .site-footer .logo-row,
.nova-root .about-banner .breadcrumb,
.nova-root .contact-banner .breadcrumb,
.nova-root .news-banner .breadcrumb,
.nova-root .news-s1 .read-link,
.nova-root .news-detail-s1 .breadcrumb,
.nova-root .cases-banner .breadcrumb,
.nova-root .cases-s2 .case-link,
.nova-root .products-banner .breadcrumb,
.nova-root .home-s2 .title-block,
.nova-root .home-s7 .title-block{width:fit-content;height:auto;display:flex;flex-direction:row;gap:9px;box-sizing:border-box}
/* 5. site-footer */

.nova-root .site-footer .logo-mark{width:30px;height:30px;position:relative;overflow:hidden}
/* 6. site-footer */

.nova-root .site-footer .wordmark{width:fit-content;height:auto;display:flex;flex-direction:column;gap:1px;box-sizing:border-box}
/* 7. site-footer */

.nova-root .site-footer .brand-name{width:fit-content;position:relative;font-size:17px;font-family:'Manrope',var(--font-head);font-weight:800;line-height:1.2;color:#FFFFFF}
/* 8. site-footer */

.nova-root .site-footer .brand-descriptor{width:fit-content;position:relative;font-size:6.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#656F7A}
/* 9. site-footer */

.nova-root .site-footer .footer-tagline{width:100%;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:21px;color:#727D89}
/* 10. site-footer +13 more */

.nova-root .site-footer .social-row,
.nova-root .about-s4 .title-group,
.nova-root .about-s5 .title-group,
.nova-root .about-s6 .title-group,
.nova-root .about-s7 .title-group,
.nova-root .about-s8 .title-group,
.nova-root .contact-s4 .title-group,
.nova-root .contact-s5 .title-group,
.nova-root .news-s1 .title-group,
.nova-root .news-s3 .subscribe-form,
.nova-root .news-detail-s5 .title-group,
.nova-root .cases-s2 .title-group,
.nova-root .cases-s3 .title-group,
.nova-root .products-s1 .title-group{width:fit-content;height:auto;display:flex;flex-direction:row;gap:10px;box-sizing:border-box}
/* 11. site-footer +3 more */

.nova-root .site-footer .linked-in,
.nova-root .site-footer .you-tube,
.nova-root .site-footer .facebook,
.nova-root .site-footer .x{width:28px;height:28px;display:flex;flex-direction:row;align-items:center;justify-content:center;box-sizing:border-box;background-color:#16232F;border-radius:2px}
/* 12. site-footer +5 more */

.nova-root .site-footer .icon,
.nova-root .site-footer .icon-2,
.nova-root .site-footer .icon-3,
.nova-root .site-footer .icon-4,
.nova-root .news-detail-s3 .icon,
.nova-root .news-detail-s3 .icon-2{width:13px;height:13px;position:relative;overflow:hidden}
/* 13. site-footer */

.nova-root .site-footer .ellipse{width:1.3px;height:1.3px;position:relative;position:absolute;left:2.3px;top:2.5px;box-shadow:inset 0 0 0 1px #B7C5D3}
/* 14. site-footer */

.nova-root .site-footer .rectangle{width:10.3px;height:6.5px;position:relative;position:absolute;left:1.4px;top:3.2px;box-shadow:inset 0 0 0 1px #B7C5D3;border-radius:3.4px}
/* 15. site-footer */

.nova-root .site-footer .column-quick-links{width:152px;height:auto;display:flex;flex-direction:column;gap:13px;box-sizing:border-box}
/* 16. site-footer +12 more */

.nova-root .site-footer .heading,
.nova-root .site-footer .heading-2,
.nova-root .site-footer .heading-3,
.nova-root .site-footer .heading-4,
.nova-root .news-s2 .label,
.nova-root .news-s2 .number,
.nova-root .news-detail-s3 .label-3,
.nova-root .home-s3 .name,
.nova-root .home-s3 .name-2,
.nova-root .home-s3 .name-3,
.nova-root .home-s3 .name-4,
.nova-root .home-s3 .name-5,
.nova-root .home-s6 .label-5{width:fit-content;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#FFFFFF}
/* 17. site-footer +12 more */

.nova-root .site-footer .link-home,
.nova-root .site-footer .link-cnc-machining,
.nova-root .site-footer .link-metal-processing,
.nova-root .site-footer .link-capabilities,
.nova-root .site-footer .link-case-studies,
.nova-root .site-footer .link-profile,
.nova-root .site-footer .link-facility,
.nova-root .site-footer .link-quality,
.nova-root .site-footer .link-certificates,
.nova-root .site-footer .link-news,
.nova-root .site-footer .phone,
.nova-root .site-footer .email,
.nova-root .site-footer .hours{width:fit-content;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#727D89}
/* 18. site-footer */

.nova-root .site-footer .column-about-us{width:172px;height:auto;display:flex;flex-direction:column;gap:13px;box-sizing:border-box}
/* 19. site-footer */

.nova-root .site-footer .column-contact{width:252px;height:auto;display:flex;flex-direction:column;gap:14px;box-sizing:border-box}
/* 20. site-footer +6 more */

.nova-root .site-footer .row-address,
.nova-root .site-footer .row-phone,
.nova-root .site-footer .row-email,
.nova-root .site-footer .row-hours,
.nova-root .home-s3 .title-row,
.nova-root .home-s5 .title-row,
.nova-root .home-s6 .title-row{width:100%;height:auto;display:flex;flex-direction:row;gap:9px;box-sizing:border-box}
/* 21. site-footer +3 more */

.nova-root .site-footer .pin-icon,
.nova-root .site-footer .phone-icon,
.nova-root .site-footer .mail-icon,
.nova-root .site-footer .clock-icon{width:14px;height:14px;position:relative;overflow:hidden;color:#7E93A8}
/* 22. site-footer */

.nova-root .site-footer .address{flex:1 1 0;min-width:0;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:20px;color:#727D89}
/* 23. site-footer */

.nova-root .site-footer .column-get-a-quote{width:280px;height:auto;display:flex;flex-direction:column;gap:14px;box-sizing:border-box}
/* 24. site-footer */

.nova-root .site-footer .description{width:100%;position:relative;font-size:12px;font-family:var(--font-body);font-weight:400;line-height:20px;color:#727D89}
/* 25. site-footer */

.nova-root .site-footer .button-upload{width:fit-content;height:44px;display:flex;flex-direction:row;gap:9px;padding:0px 22px 0px 22px;align-items:center;box-sizing:border-box;box-shadow:inset 0 0 0 1px #2B3A48;border-radius:3px}
/* 26. site-footer */

.nova-root .site-footer .upload-icon{width:14px;height:14px;position:relative;overflow:hidden;color:#B7C5D3}
/* 27. site-footer */

.nova-root .site-footer .button-label{width:fit-content;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#E6EDF3}
/* 28. site-footer +3 more */

.nova-root .site-footer .footer-rule,
.nova-root .contact-s3 .rule,
.nova-root .contact-s3 .rule-2,
.nova-root .contact-s3 .rule-3{width:100%;height:1px;position:relative;overflow:hidden;background-color:#24323F}
/* 29. site-footer */

.nova-root .site-footer .footer-bottom{width:100%;height:auto;display:flex;flex-direction:row;padding:20px 0px 22px 0px;box-sizing:border-box}
/* 30. site-footer +3 more */

.nova-root .site-footer .copyright,
.nova-root .site-footer .privacy-policy,
.nova-root .site-footer .terms-of-use,
.nova-root .site-footer .sitemap{width:fit-content;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#58626D}
/* 31. site-footer */

.nova-root .site-footer .legal-links{width:fit-content;height:auto;display:flex;flex-direction:row;gap:22px;box-sizing:border-box}
/* 1. about-banner +4 more */

.nova-root .about-banner,
.nova-root .contact-banner,
.nova-root .news-banner,
.nova-root .cases-banner,
.nova-root .products-banner{width:100%;height:340px;display:flex;flex-direction:column;gap:18px;padding:0px var(--gutter) 0px var(--gutter);position:relative;box-sizing:border-box;background:linear-gradient(180deg, #0A1421 0%, #0A1726 100%)}
/* 2. about-banner +1 more */

.nova-root .about-banner .banner-photo,
.nova-root .contact-banner .banner-photo{width:1440px;height:340px;position:relative;overflow:hidden;position:absolute;left:0px;top:0px;object-fit:cover}
/* 3. about-banner +1 more */

.nova-root .about-banner .banner-overlay,
.nova-root .contact-banner .banner-overlay{width:1440px;height:340px;position:relative;overflow:hidden;position:absolute;left:0px;top:0px;background:linear-gradient(180deg, rgba(10,18,28,0.96) 0%, rgba(10,18,28,0.84) 62%, rgba(10,18,28,0.58) 100%)}
/* 4. about-banner +4 more */

.nova-root .about-banner .home,
.nova-root .contact-banner .home,
.nova-root .news-banner .home,
.nova-root .cases-banner .home,
.nova-root .products-banner .home{width:fit-content;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#8FA3B8}
/* 5. about-banner +4 more */

.nova-root .about-banner .breadcrumb-sep,
.nova-root .contact-banner .breadcrumb-sep,
.nova-root .news-banner .breadcrumb-sep,
.nova-root .cases-banner .sep,
.nova-root .products-banner .sep{width:11px;height:11px;position:relative;overflow:hidden;color:#5C7186}
/* 6. about-banner +4 more */

.nova-root .about-banner .current-page,
.nova-root .contact-banner .current-page,
.nova-root .news-banner .current-page,
.nova-root .cases-banner .current,
.nova-root .products-banner .current{width:fit-content;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#FFFFFF}
/* 7. about-banner +4 more */

.nova-root .about-banner .banner-title,
.nova-root .contact-banner .banner-title,
.nova-root .news-banner .banner-title,
.nova-root .cases-banner .banner-title,
.nova-root .products-banner .banner-title{width:fit-content;position:relative;font-size:54px;font-family:'Manrope',var(--font-head);font-weight:800;line-height:1.2;color:#FFFFFF}
/* 8. about-banner +4 more */

.nova-root .about-banner .banner-subline,
.nova-root .contact-banner .banner-subline,
.nova-root .news-banner .banner-subline,
.nova-root .cases-banner .banner-subline,
.nova-root .products-banner .banner-subline{width:fit-content;position:relative;font-size:16px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#C2D0DE}
/* 1. about-s2 */

.nova-root .about-s2{width:100%;height:auto;display:flex;flex-direction:row;gap:56px;padding:78px var(--gutter) 78px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. about-s2 */

.nova-root .about-s2 .profile-copy{width:620px;height:auto;display:flex;flex-direction:column;gap:20px;box-sizing:border-box}
/* 3. about-s2 +2 more */

.nova-root .about-s2 .eyebrow,
.nova-root .contact-s3 .eyebrow,
.nova-root .cases-s1 .eyebrow{width:fit-content;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#0A4FA5}
/* 4. about-s2 */

.nova-root .about-s2 .section-title{width:560px;position:relative;font-size:34px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:44px;color:#141F2B}
/* 5. about-s2 +2 more */

.nova-root .about-s2 .body-1,
.nova-root .about-s2 .body-2,
.nova-root .cases-s1 .body{width:580px;position:relative;font-size:14px;font-family:var(--font-body);font-weight:400;line-height:25px;color:#5B6875}
/* 6. about-s2 */

.nova-root .about-s2 .proof-points{width:100%;height:auto;display:flex;flex-direction:column;gap:12px;box-sizing:border-box}
/* 7. about-s2 +5 more */

.nova-root .about-s2 .point-iso,
.nova-root .about-s2 .point-inspection,
.nova-root .about-s2 .point-tolerance,
.nova-root .home-s4 .material-tiles,
.nova-root .home-s4 .row-1,
.nova-root .home-s4 .row-2{width:100%;height:auto;display:flex;flex-direction:row;gap:10px;box-sizing:border-box}
/* 8. about-s2 +3 more */

.nova-root .about-s2 .check,
.nova-root .about-s2 .check-2,
.nova-root .about-s2 .check-3,
.nova-root .contact-s5 .chevron-up{width:16px;height:16px;position:relative;overflow:hidden;color:#0A4FA5}
/* 9. about-s2 +2 more */

.nova-root .about-s2 .label,
.nova-root .about-s2 .label-2,
.nova-root .about-s2 .label-3{width:fit-content;position:relative;font-size:13.5px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#2A3644}
/* 10. about-s2 */

.nova-root .about-s2 .button-download-profile{width:fit-content;height:44px;display:flex;flex-direction:row;gap:10px;padding:0px 24px 0px 24px;align-items:center;box-sizing:border-box;box-shadow:inset 0 0 0 1px #C9D2DC;border-radius:3px}
/* 11. about-s2 +8 more */

.nova-root .about-s2 .button-label,
.nova-root .product-s1 .label-6,
.nova-root .product-s2 .value,
.nova-root .product-s2 .value-2,
.nova-root .product-s2 .value-3,
.nova-root .product-s2 .value-4,
.nova-root .product-s2 .value-5,
.nova-root .product-s2 .value-6,
.nova-root .product-s2 .value-7{width:fit-content;position:relative;font-size:13px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#141F2B}
/* 12. about-s2 +3 more */

.nova-root .about-s2 .download-icon,
.nova-root .news-s1 .arrow-right,
.nova-root .cases-s2 .arrow-right,
.nova-root .product-s1 .download-icon{width:14px;height:14px;position:relative;overflow:hidden;color:#0A4FA5}
/* 13. about-s2 */

.nova-root .about-s2 .profile-visual{width:604px;height:auto;display:flex;flex-direction:column;gap:12px;box-sizing:border-box}
/* 14. about-s2 */

.nova-root .about-s2 .facility-photo{width:604px;height:440px;position:relative;overflow:hidden;border-radius:2px;object-fit:cover}
/* 15. about-s2 +1 more */

.nova-root .about-s2 .photo-caption,
.nova-root .news-detail-s4 .role{width:fit-content;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#6F7882}
/* 1. about-s3 */

.nova-root .about-s3{width:100%;height:196px;display:flex;flex-direction:row;padding:0px var(--gutter) 0px var(--gutter);box-sizing:border-box;background:linear-gradient(180deg, #0A2647 0%, #0A1726 100%)}
/* 2. about-s3 +8 more */

.nova-root .about-s3 .stat-facility,
.nova-root .about-s3 .stat-machines,
.nova-root .about-s3 .stat-staff,
.nova-root .about-s3 .stat-years,
.nova-root .about-s3 .stat-countries,
.nova-root .products-s3 .cap-alloys,
.nova-root .products-s3 .cap-tolerance,
.nova-root .products-s3 .cap-lead-time,
.nova-root .products-s3 .cap-moq{width:fit-content;height:auto;display:flex;flex-direction:column;gap:7px;box-sizing:border-box}
/* 3. about-s3 +4 more */

.nova-root .about-s3 .value,
.nova-root .about-s3 .value-2,
.nova-root .about-s3 .value-3,
.nova-root .about-s3 .value-4,
.nova-root .about-s3 .value-5{width:fit-content;position:relative;font-size:40px;font-family:'Manrope',var(--font-head);font-weight:800;line-height:1.2;color:#FFFFFF}
/* 4. about-s3 +4 more */

.nova-root .about-s3 .label,
.nova-root .about-s3 .label-2,
.nova-root .about-s3 .label-3,
.nova-root .about-s3 .label-4,
.nova-root .about-s3 .label-5{width:fit-content;position:relative;font-size:11px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#7E93A8}
/* 1. about-s4 */

.nova-root .about-s4{width:100%;height:auto;display:flex;flex-direction:column;gap:38px;padding:78px var(--gutter) 78px var(--gutter);box-sizing:border-box;background-color:#F4F6F8}
/* 2. about-s4 +14 more */

.nova-root .about-s4 .section-head,
.nova-root .about-s5 .section-head,
.nova-root .about-s6 .section-head,
.nova-root .about-s7 .section-head,
.nova-root .about-s7 .cert-grid,
.nova-root .about-s8 .section-head,
.nova-root .contact-s2 .channel-grid,
.nova-root .contact-s4 .section-head,
.nova-root .contact-s4 .office-grid,
.nova-root .contact-s5 .section-head,
.nova-root .news-s1 .section-head,
.nova-root .news-detail-s5 .section-head,
.nova-root .cases-s2 .section-head,
.nova-root .products-s1 .section-head{width:100%;height:auto;display:flex;flex-direction:row;gap:18px;box-sizing:border-box}
/* 3. about-s4 +5 more */

.nova-root .about-s4 .title,
.nova-root .about-s5 .title,
.nova-root .about-s7 .title,
.nova-root .about-s8 .title,
.nova-root .contact-s4 .title,
.nova-root .contact-s5 .title{width:fit-content;position:relative;font-size:30px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#141F2B}
/* 4. about-s4 +8 more */

.nova-root .about-s4 .slash,
.nova-root .about-s5 .slash,
.nova-root .about-s7 .slash,
.nova-root .about-s8 .slash,
.nova-root .contact-s4 .slash,
.nova-root .contact-s5 .slash,
.nova-root .home-s2 .slash,
.nova-root .home-s6 .slash,
.nova-root .home-s7 .slash{width:fit-content;position:relative;font-size:30px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#0A4FA5}
/* 5. about-s4 +1 more */

.nova-root .about-s4 .vertical-rule,
.nova-root .about-s5 .vertical-rule{width:1px;height:26px;position:relative;overflow:hidden;background-color:#D3DAE2}
/* 6. about-s4 +5 more */

.nova-root .about-s4 .head-description,
.nova-root .about-s5 .head-description,
.nova-root .about-s7 .head-description,
.nova-root .about-s8 .head-description,
.nova-root .contact-s4 .head-description,
.nova-root .contact-s5 .head-description{width:fit-content;position:relative;font-size:13.5px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#5B6875}
/* 7. about-s4 +4 more */

.nova-root .contact-s4 .office-shenzhen,
.nova-root .contact-s4 .office-suzhou,
.nova-root .contact-s4 .office-munich,
.nova-root .contact-s4 .office-cincinnati{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:9px;padding:26px 24px 26px 24px;box-sizing:border-box;background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #E3E8EE;border-radius:2px}
/* 9. contact-s2 +4 more */

.nova-root .contact-s2 .title,
.nova-root .contact-s2 .title-2,
.nova-root .contact-s2 .title-3,
.nova-root .contact-s2 .title-4{width:100%;position:relative;font-size:14.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#141F2B}
/* 10. contact-s2 +5 more */

.nova-root .contact-s2 .value,
.nova-root .contact-s2 .value-2,
.nova-root .contact-s2 .value-3,
.nova-root .contact-s2 .value-4,
.nova-root .news-detail-s4 .bio{width:100%;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:20px;color:#6B7683}
/* 14. about-s4 +1 more */

.nova-root .contact-s3 .panel-intro{width:100%;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:20px;color:#76828E}
/* ---------------------------------------------------- 15. about-s4 发展历程轮播
   一屏显示 --pme-cols 张（最多 5 张，由 PHP 按实际条目数写入），
   条目多于可视宽度时横向滚动 + 吸附；默认白卡，悬停切换为设计稿
   第 5 张的深色样式（#0F1B27 + 年份 #4C8FE0 + 白标题）。 */

.nova-root .about-s4 .milestone-row{width:100%;height:auto;display:flex;flex-direction:row;flex-wrap:nowrap;gap:20px;
  box-sizing:border-box;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:2px 0 6px;scrollbar-width:none;-ms-overflow-style:none}
.nova-root .about-s4 .milestone-row::-webkit-scrollbar{display:none}
/* 一屏张数由 PHP 写入 --pme-cols（= min(条目数, 5)）；不足一屏时按实际数量平分，
   条目多于列宽时横向滚动，不会压缩成窄条 */
.nova-root .about-s4 .milestone-row > .pme-ms-item{flex:0 0 calc((100% - (var(--pme-cols,5) - 1) * 20px) / var(--pme-cols,5));
  min-width:0;max-width:none;scroll-snap-align:start;display:flex;flex-direction:column;gap:9px;
  padding:26px 24px 26px 24px;box-sizing:border-box;background-color:#FFFFFF;
  box-shadow:inset 0 0 0 1px #E3E8EE;border-radius:2px;
  transition:background-color .24s ease,box-shadow .24s ease}
.nova-root .about-s4 .milestone-row > .pme-ms-item:hover{background-color:#0F1B27;box-shadow:inset 0 0 0 1px #0F1B27}
.nova-root .about-s4 .pme-ms-year{width:fit-content;position:relative;font-size:26px;font-family:'Manrope',var(--font-head);
  font-weight:800;line-height:1.2;color:#0A4FA5;transition:color .24s ease}
.nova-root .about-s4 .pme-ms-title{width:100%;position:relative;font-size:14.5px;font-family:var(--font-body);
  font-weight:600;line-height:1.6;color:#141F2B;transition:color .24s ease}
.nova-root .about-s4 .pme-ms-desc{width:100%;position:relative;margin:0;font-size:12.5px;font-family:var(--font-body);
  font-weight:400;line-height:20px;color:#6B7683;transition:color .24s ease}
.nova-root .about-s4 .pme-ms-item:hover .pme-ms-year{color:#4C8FE0}
.nova-root .about-s4 .pme-ms-item:hover .pme-ms-title{color:#FFFFFF}
.nova-root .about-s4 .pme-ms-item:hover .pme-ms-desc{color:#76828E}
/* 轮播按钮：只在条目溢出时由 JS 打开显示，未溢出时完全隐藏 */
.nova-root .about-s4 .milestone-nav{display:none;flex:0 0 auto !important;width:auto !important;gap:8px;
  margin-left:auto;align-self:center;box-sizing:border-box}
.nova-root .about-s4 .milestone-nav.is-on{display:flex}
.nova-root .about-s4 .pme-nav-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  padding:0;box-sizing:border-box;background-color:#FFFFFF;border:1px solid #D8E0E9;border-radius:2px;
  color:#0A4FA5;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.nova-root .about-s4 .pme-nav-btn svg{width:16px;height:16px}
.nova-root .about-s4 .pme-nav-btn:hover{background-color:#0F1B27;border-color:#0F1B27;color:#FFFFFF}
.nova-root .about-s4 .pme-nav-btn[disabled]{opacity:.32;cursor:default;background-color:#FFFFFF;border-color:#D8E0E9;color:#0A4FA5}
/* 1. about-s5 */

.nova-root .about-s5{width:100%;height:auto;display:flex;flex-direction:column;gap:40px;padding:78px var(--gutter) 78px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. about-s5 +10 more */

.nova-root .about-s5 .values-grid,
.nova-root .about-s8 .team-grid,
.nova-root .news-s2 .toolbar,
.nova-root .news-s2 .article-row-1,
.nova-root .news-s2 .article-row-2,
.nova-root .news-detail-s5 .related-row,
.nova-root .cases-s2 .result-row,
.nova-root .products-s2 .product-row-1,
.nova-root .products-s2 .product-row-2,
.nova-root .home-s2 .machine-grid,
.nova-root .home-s7 .case-grid{width:100%;height:auto;display:flex;flex-direction:row;gap:20px;box-sizing:border-box}
/* 文章详情页相关文章：固定三列网格，即便不足 3 篇也保持三列（多余列留空）。 */
.nova-root .news-detail-s5 .related-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;flex-wrap:nowrap}
@media (max-width:900px){.nova-root .news-detail-s5 .related-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.nova-root .news-detail-s5 .related-row{grid-template-columns:repeat(1,minmax(0,1fr))}}
/* 3. about-s5 +3 more */

.nova-root .about-s5 .value-precision-first,
.nova-root .about-s5 .value-on-time,
.nova-root .about-s5 .value-partnership,
.nova-root .about-s5 .value-improvement{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:16px;padding:30px 28px 30px 28px;box-sizing:border-box;background-color:#F7F9FA;border-radius:2px}
/* 4. about-s5 +3 more */

.nova-root .about-s5 .icon-box,
.nova-root .about-s5 .icon-box-2,
.nova-root .about-s5 .icon-box-3,
.nova-root .about-s5 .icon-box-4{width:46px;height:46px;display:flex;flex-direction:row;align-items:center;justify-content:center;box-sizing:border-box;background-color:#E7EFF9;border-radius:3px}
/* 5. about-s5 +9 more */

.nova-root .about-s5 .icon-box > svg,
.nova-root .about-s5 .icon-box-2 > svg,
.nova-root .about-s5 .icon-box-3 > svg,
.nova-root .about-s5 .icon-box-4 > svg,
.nova-root .home-s4 .icon,
.nova-root .home-s4 .icon-2,
.nova-root .home-s4 .icon-3,
.nova-root .home-s4 .icon-4,
.nova-root .home-s4 .icon-5,
.nova-root .home-s4 .icon-6{width:22px;height:22px;position:relative;overflow:hidden;color:#0A4FA5}
/* 6. about-s5 +7 more */

.nova-root .about-s5 .title-2,
.nova-root .about-s5 .title-3,
.nova-root .about-s5 .title-4,
.nova-root .about-s5 .title-5,
.nova-root .contact-s4 .city,
.nova-root .contact-s4 .city-2,
.nova-root .contact-s4 .city-3,
.nova-root .contact-s4 .city-4{width:100%;position:relative;font-size:16px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#141F2B}
/* 7. about-s5 +3 more */

.nova-root .about-s5 .description,
.nova-root .about-s5 .description-2,
.nova-root .about-s5 .description-3,
.nova-root .about-s5 .description-4{width:100%;position:relative;font-size:13px;font-family:var(--font-body);font-weight:400;line-height:22px;color:#6B7683}
/* 1. about-s6 */

.nova-root .about-s6{width:100%;height:auto;display:flex;flex-direction:column;gap:42px;padding:80px var(--gutter) 80px var(--gutter);box-sizing:border-box;background-color:#0F1B27}
/* 2. about-s6 */

.nova-root .about-s6 .title{width:fit-content;position:relative;font-size:30px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#FFFFFF}
/* 3. about-s6 */

.nova-root .about-s6 .slash{width:fit-content;position:relative;font-size:30px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#4C8FE0}
/* 4. about-s6 +1 more */

.nova-root .about-s6 .head-description,
.nova-root .news-s3 .subline{width:fit-content;position:relative;font-size:13.5px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#76828E}
/* 5. about-s6 +2 more */

.nova-root .about-s6 .facility-content,
.nova-root .news-s1 .featured-card,
.nova-root .cases-s2 .featured-card{width:100%;height:auto;display:flex;flex-direction:row;gap:44px;box-sizing:border-box}
/* 6. about-s6 */

.nova-root .about-s6 .facility-photo{width:712px;height:430px;position:relative;overflow:hidden;object-fit:cover}
/* 7. about-s6 */

.nova-root .about-s6 .equipment-list{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:26px;box-sizing:border-box}
/* 8. about-s6 +3 more */

.nova-root .about-s6 .spec-5-axis,
.nova-root .about-s6 .spec-turning,
.nova-root .about-s6 .spec-metrology,
.nova-root .about-s6 .spec-finishing{width:100%;height:auto;display:flex;flex-direction:column;gap:5px;box-sizing:border-box}
/* 9. about-s6 +3 more */

.nova-root .about-s6 .name,
.nova-root .about-s6 .name-2,
.nova-root .about-s6 .name-3,
.nova-root .about-s6 .name-4{width:fit-content;position:relative;font-size:14.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#EDF2F7}
/* 10. about-s6 +3 more */

.nova-root .about-s6 .detail,
.nova-root .about-s6 .detail-2,
.nova-root .about-s6 .detail-3,
.nova-root .about-s6 .detail-4{width:fit-content;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#7E93A8}
/* 1. about-s7 */

.nova-root .about-s7{width:100%;height:auto;display:flex;flex-direction:column;gap:40px;padding:80px var(--gutter) 80px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. about-s7 +3 more */

.nova-root .about-s7 .cert-iso-9001,
.nova-root .about-s7 .cert-iso-13485,
.nova-root .about-s7 .cert-iatf-16949,
.nova-root .about-s7 .cert-as9100-d{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:14px;padding:26px 24px 26px 24px;box-sizing:border-box;background-color:#FBFCFD;box-shadow:inset 0 0 0 1px #E3E8EE;border-radius:2px}
/* 3. about-s7 +3 more */

.nova-root .about-s7 .cert-iso-9001 > svg,
.nova-root .about-s7 .cert-iso-13485 > svg,
.nova-root .about-s7 .cert-iatf-16949 > svg,
.nova-root .about-s7 .cert-as9100-d > svg{width:30px;height:30px;position:relative;overflow:hidden;color:#0A4FA5}
/* 4. about-s7 +3 more */

.nova-root .about-s7 .code,
.nova-root .about-s7 .code-2,
.nova-root .about-s7 .code-3,
.nova-root .about-s7 .code-4{width:100%;position:relative;font-size:17px;font-family:'Manrope',var(--font-head);font-weight:800;line-height:1.2;color:#141F2B}
/* 5. about-s7 +6 more */

.nova-root .about-s7 .name,
.nova-root .about-s7 .name-2,
.nova-root .about-s7 .name-3,
.nova-root .about-s7 .name-4,
.nova-root .news-detail-s3 .toc-2,
.nova-root .news-detail-s3 .toc-3,
.nova-root .news-detail-s3 .toc-4{width:100%;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:19px;color:#6B7683}
/* 1. about-s8 */

.nova-root .about-s8{width:100%;height:auto;display:flex;flex-direction:column;gap:40px;padding:80px var(--gutter) 80px var(--gutter);box-sizing:border-box;background-color:#F4F6F8}
/* 2. about-s8 +3 more */

.nova-root .about-s8 .person-ceo,
.nova-root .about-s8 .person-engineering,
.nova-root .about-s8 .person-quality,
.nova-root .about-s8 .person-sales{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;
  padding:14px 14px 18px 14px;box-sizing:border-box;background-color:#FFFFFF}
/* 3. about-s8 +3 more */

.nova-root .about-s8 .portrait,
.nova-root .about-s8 .portrait-2,
.nova-root .about-s8 .portrait-3,
.nova-root .about-s8 .portrait-4{width:100%;height:auto;aspect-ratio:305 / 340;position:relative;overflow:hidden;object-fit:cover}
/* 4. about-s8 +3 more */

.nova-root .about-s8 .info,
.nova-root .about-s8 .info-2,
.nova-root .about-s8 .info-3,
.nova-root .about-s8 .info-4{width:100%;height:auto;display:flex;flex-direction:column;gap:5px;padding:16px 2px 0px 2px;box-sizing:border-box}
/* 5. about-s8 +3 more */

.nova-root .about-s8 .name,
.nova-root .about-s8 .name-2,
.nova-root .about-s8 .name-3,
.nova-root .about-s8 .name-4{width:fit-content;position:relative;font-size:15.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#141F2B}
/* 6. about-s8 +3 more */

.nova-root .about-s8 .role,
.nova-root .about-s8 .role-2,
.nova-root .about-s8 .role-3,
.nova-root .about-s8 .role-4{width:fit-content;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#6B7683}
/* 1. about-s9 +7 more */

.nova-root .about-s9,
.nova-root .contact-s6,
.nova-root .news-s4,
.nova-root .news-detail-s6,
.nova-root .cases-s5,
.nova-root .products-s4,
.nova-root .product-s4,
.nova-root .home-s8{width:100%;height:176px;display:flex;flex-direction:row;padding:0px var(--gutter) 0px var(--gutter);justify-content:space-between;align-items:center;box-sizing:border-box;background-color:#06377A}
/* 2. about-s9 +9 more */

.nova-root .about-s9 .cta-copy,
.nova-root .contact-s6 .cta-copy,
.nova-root .news-s3 .copy,
.nova-root .news-s4 .cta-copy,
.nova-root .news-detail-s6 .cta-copy,
.nova-root .cases-s5 .cta-copy,
.nova-root .products-s4 .cta-copy,
.nova-root .product-s3 .head-left,
.nova-root .product-s4 .cta-copy,
.nova-root .home-s8 .cta-copy{width:fit-content;height:auto;display:flex;flex-direction:column;gap:10px;box-sizing:border-box}
/* 3. about-s9 +8 more */

.nova-root .about-s9 .headline,
.nova-root .contact-s6 .headline,
.nova-root .news-s4 .headline,
.nova-root .news-detail-s6 .headline,
.nova-root .cases-s5 .headline,
.nova-root .products-s4 .headline,
.nova-root .product-s4 .headline,
.nova-root .home-s3 .title,
.nova-root .home-s8 .headline{width:fit-content;position:relative;font-size:28px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#FFFFFF}
/* 4. about-s9 +7 more */

.nova-root .about-s9 .subline,
.nova-root .contact-s6 .subline,
.nova-root .news-s4 .subline,
.nova-root .news-detail-s6 .subline,
.nova-root .cases-s5 .subline,
.nova-root .products-s4 .subline,
.nova-root .product-s4 .subline,
.nova-root .home-s8 .subline{width:fit-content;position:relative;font-size:14px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#B0C7E0}
/* 5. about-s9 +7 more */

.nova-root .about-s9 .button-contact,
.nova-root .contact-s6 .button-upload,
.nova-root .news-s4 .button-contact,
.nova-root .news-detail-s6 .button-contact,
.nova-root .cases-s5 .button-contact,
.nova-root .products-s4 .button-contact,
.nova-root .product-s4 .button-contact,
.nova-root .home-s8 .button-contact{width:fit-content;height:50px;display:flex;flex-direction:row;gap:10px;padding:0px 28px 0px 28px;align-items:center;box-sizing:border-box;background-color:#FFFFFF;border-radius:3px}
/* 6. about-s9 +7 more */

.nova-root .about-s9 .button-label,
.nova-root .contact-s6 .button-label,
.nova-root .news-s4 .button-label,
.nova-root .news-detail-s6 .button-label,
.nova-root .cases-s5 .button-label,
.nova-root .products-s4 .button-label,
.nova-root .product-s4 .button-label,
.nova-root .home-s8 .button-label{width:fit-content;position:relative;font-size:13.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#06377A}
/* 7. about-s9 +7 more */

.nova-root .about-s9 .arrow-right,
.nova-root .contact-s6 .arrow-right,
.nova-root .news-s4 .arrow-right,
.nova-root .news-detail-s6 .arrow-right,
.nova-root .cases-s5 .arrow-right,
.nova-root .products-s4 .arrow-right,
.nova-root .product-s4 .arrow-right,
.nova-root .home-s8 .arrow-right{width:15px;height:15px;position:relative;overflow:hidden;color:#06377A}
/* 1. contact-s2 */

.nova-root .contact-s2{width:100%;height:auto;display:flex;flex-direction:column;padding:64px var(--gutter) 0px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. contact-s2 +3 more */

.nova-root .contact-s2 .channel-sales,
.nova-root .contact-s2 .channel-email,
.nova-root .contact-s2 .channel-visit,
.nova-root .contact-s2 .channel-hours{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:12px;padding:26px 24px 26px 24px;box-sizing:border-box;background-color:#F7F9FA;border-radius:2px}
/* 3. contact-s2 +3 more */

.nova-root .contact-s2 .icon-box,
.nova-root .contact-s2 .icon-box-2,
.nova-root .contact-s2 .icon-box-3,
.nova-root .contact-s2 .icon-box-4{width:40px;height:40px;display:flex;flex-direction:row;align-items:center;justify-content:center;box-sizing:border-box;background-color:#E7EFF9;border-radius:3px}
/* 4. contact-s2 +7 more */

.nova-root .contact-s2 .phone-icon,
.nova-root .contact-s2 .mail-icon,
.nova-root .contact-s2 .pin-icon,
.nova-root .contact-s2 .clock-icon,
.nova-root .products-s1 .icon-2,
.nova-root .products-s1 .icon-3,
.nova-root .products-s1 .icon-4,
.nova-root .products-s1 .icon-5{width:19px;height:19px;position:relative;overflow:hidden;color:#0A4FA5}
/* 1. contact-s3 */

.nova-root .contact-s3{width:100%;height:auto;display:flex;flex-direction:column;padding:56px var(--gutter) 80px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. contact-s3 */

.nova-root .contact-s3 .enquiry-row{width:100%;height:auto;display:flex;flex-direction:row;gap:36px;box-sizing:border-box}
/* 3. contact-s3 */

.nova-root .contact-s3 .form-card{width:760px;height:auto;display:flex;flex-direction:column;gap:20px;padding:40px 40px 40px 40px;box-sizing:border-box;background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #E3E8EE;border-radius:2px}
/* 4. contact-s3 */

.nova-root .contact-s3 .form-title{width:100%;position:relative;font-size:26px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#141F2B}
/* 5. contact-s3 */

.nova-root .contact-s3 .form-intro{width:100%;position:relative;font-size:13px;font-family:var(--font-body);font-weight:400;line-height:22px;color:#5B6875}
/* 6. contact-s3 */

.nova-root .contact-s3 .fields{width:100%;height:auto;display:flex;flex-direction:column;gap:16px;box-sizing:border-box}
/* 7. contact-s3 +2 more */

.nova-root .contact-s3 .row-name-email,
.nova-root .contact-s3 .row-company-service,
.nova-root .products-s1 .category-row{width:100%;height:auto;display:flex;flex-direction:row;gap:16px;box-sizing:border-box}
/* 8. contact-s3 +3 more */

.nova-root .contact-s3 .field-full-name,
.nova-root .contact-s3 .field-email,
.nova-root .contact-s3 .field-company,
.nova-root .contact-s3 .field-service{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:7px;box-sizing:border-box}
/* 9. contact-s3 +4 more */

.nova-root .contact-s3 .label,
.nova-root .contact-s3 .label-2,
.nova-root .contact-s3 .label-3,
.nova-root .contact-s3 .label-4,
.nova-root .contact-s3 .label-5{width:fit-content;position:relative;font-size:10.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#6B7683}
/* 10. contact-s3 +3 more */

.nova-root .contact-s3 .input,
.nova-root .contact-s3 .input-2,
.nova-root .contact-s3 .input-3,
.nova-root .contact-s3 .select{width:100%;height:44px;display:flex;flex-direction:row;padding:0px 14px 0px 14px;align-items:center;box-sizing:border-box;background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #DCE2E9;border-radius:2px}
/* 11. contact-s3 +2 more */

.nova-root .contact-s3 .placeholder,
.nova-root .contact-s3 .placeholder-2,
.nova-root .contact-s3 .placeholder-3{width:fit-content;position:relative;font-size:13px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#7B848E}
/* 12. contact-s3 */

.nova-root .contact-s3 .value{width:fit-content;position:relative;font-size:13px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#3A4753}
/* 13. contact-s3 +1 more */

.nova-root .contact-s3 .caret,
.nova-root .products-s2 .caret{width:12px;height:12px;position:relative;overflow:hidden;color:#6F7882}
/* 14. contact-s3 */

.nova-root .contact-s3 .field-details{width:100%;height:auto;display:flex;flex-direction:column;gap:7px;box-sizing:border-box}
/* 15. contact-s3 */

.nova-root .contact-s3 .textarea{width:100%;height:112px;display:flex;flex-direction:column;padding:13px 14px 13px 14px;box-sizing:border-box;background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #DCE2E9;border-radius:2px}
/* 16. contact-s3 */

.nova-root .contact-s3 .placeholder-4{width:100%;position:relative;font-size:13px;font-family:var(--font-body);font-weight:400;line-height:21px;color:#7B848E}
/* 17. contact-s3 */

.nova-root .contact-s3 .dropzone{width:100%;height:92px;display:flex;flex-direction:row;gap:12px;align-items:center;box-sizing:border-box;background-color:#F9FAFB;box-shadow:inset 0 0 0 1px #C9D2DC;border-radius:2px}
/* 18. contact-s3 */

.nova-root .contact-s3 .upload-icon{width:20px;height:20px;position:relative;overflow:hidden;color:#0A4FA5}
/* 19. contact-s3 */

.nova-root .contact-s3 .dropzone-text{width:fit-content;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#5B6875}
/* 20. contact-s3 */

.nova-root .contact-s3 .button-submit{width:100%;height:48px;display:flex;flex-direction:row;gap:10px;padding:0px 22px 0px 22px;justify-content:center;align-items:center;box-sizing:border-box;background-color:#0A4FA5;border-radius:2px}
/* 21. contact-s3 +7 more */

.nova-root .contact-s3 .button-label,
.nova-root .cases-s4 .name,
.nova-root .home-s1 .value,
.nova-root .home-s1 .value-2,
.nova-root .home-s1 .value-3,
.nova-root .home-s1 .value-4,
.nova-root .home-s1 .label-5,
.nova-root .home-s1 .label-6{width:fit-content;position:relative;font-size:13.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#FFFFFF}
/* 22. contact-s3 */

.nova-root .contact-s3 .arrow-right{width:15px;height:15px;position:relative;overflow:hidden;color:#FFFFFF}
/* 23. contact-s3 */

.nova-root .contact-s3 .info-panel{width:484px;align-self:stretch;display:flex;flex-direction:column;gap:16px;padding:36px 32px 36px 32px;justify-content:center;box-sizing:border-box;background-color:#0F1B27;border-radius:2px}
/* 24. contact-s3 +2 more */

.nova-root .contact-s3 .eyebrow-2,
.nova-root .news-s3 .eyebrow,
.nova-root .cases-s4 .eyebrow{width:fit-content;position:relative;font-size:11px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#4C8FE0}
/* 25. contact-s3 */

.nova-root .contact-s3 .panel-title{width:fit-content;position:relative;font-size:22px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#FFFFFF}
/* 26. contact-s3 +7 more */

.nova-root .contact-s3 .details,
.nova-root .contact-s5 .faq-list,
.nova-root .contact-s5 .faq-quote-speed,
.nova-root .contact-s5 .faq-file-formats,
.nova-root .contact-s5 .faq-moq,
.nova-root .contact-s5 .faq-shipping,
.nova-root .contact-s5 .faq-nda,
.nova-root .product-s1 .spec-list{width:100%;height:auto;display:flex;flex-direction:column;box-sizing:border-box}
/* 27. contact-s3 +3 more */

.nova-root .contact-s3 .detail-email,
.nova-root .contact-s3 .detail-phone,
.nova-root .contact-s3 .detail-address,
.nova-root .contact-s3 .detail-hours{width:100%;height:auto;display:flex;flex-direction:column;gap:4px;padding:15px 0px 15px 0px;box-sizing:border-box}
/* 28. contact-s3 +7 more */

.nova-root .contact-s3 .label-6,
.nova-root .contact-s3 .label-7,
.nova-root .contact-s3 .label-8,
.nova-root .contact-s3 .label-9,
.nova-root .products-s3 .label,
.nova-root .products-s3 .label-2,
.nova-root .products-s3 .label-3,
.nova-root .products-s3 .label-4{width:fit-content;position:relative;font-size:10px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#7E93A8}
/* 29. contact-s3 +2 more */

.nova-root .contact-s3 .value-2,
.nova-root .contact-s3 .value-3,
.nova-root .contact-s3 .value-5{width:fit-content;position:relative;font-size:14px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#FFFFFF}
/* 30. contact-s3 */

.nova-root .contact-s3 .value-4{width:100%;position:relative;font-size:13px;font-family:var(--font-body);font-weight:500;line-height:21px;color:#D7E1EA}
/* 31. contact-s3 */

.nova-root .contact-s3 .panel-note{width:100%;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#7E93A8}
/* 32. contact-s3 */

.nova-root .contact-s3 .spacer{width:100%;flex:1 1 0;position:relative;overflow:hidden}
/* 33. contact-s3 */

.nova-root .contact-s3 .panel-proof{width:100%;height:auto;display:flex;flex-direction:row;gap:16px;padding:18px 0px 0px 0px;box-sizing:border-box}
/* 34. contact-s3 +1 more */

.nova-root .contact-s3 .proof-24h,
.nova-root .contact-s3 .proof-countries{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:4px;box-sizing:border-box}
/* 35. contact-s3 +1 more */

.nova-root .contact-s3 .value-6,
.nova-root .contact-s3 .value-7{width:fit-content;position:relative;font-size:20px;font-family:'Manrope',var(--font-head);font-weight:800;line-height:1.2;color:#4C8FE0}
/* 36. contact-s3 +1 more */

.nova-root .contact-s3 .label-10,
.nova-root .contact-s3 .label-11{width:fit-content;position:relative;font-size:9.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#7E93A8}
/* 1. contact-s4 */

.nova-root .contact-s4{width:100%;height:auto;display:flex;flex-direction:column;gap:38px;padding:80px var(--gutter) 80px var(--gutter);box-sizing:border-box;background-color:#F4F6F8}
/* 2. contact-s4 +11 more */

.nova-root .contact-s4 .tag,
.nova-root .contact-s4 .tag-2,
.nova-root .contact-s4 .tag-3,
.nova-root .contact-s4 .tag-4,
.nova-root .news-s1 .category,
.nova-root .news-s2 .meta,
.nova-root .news-s2 .meta-2,
.nova-root .news-s2 .meta-3,
.nova-root .news-s2 .meta-4,
.nova-root .news-s2 .meta-5,
.nova-root .news-s2 .meta-6,
.nova-root .news-detail-s1 .category{width:fit-content;position:relative;font-size:10px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#0A4FA5}
/* 3. contact-s4 +3 more */

.nova-root .contact-s4 .address,
.nova-root .contact-s4 .address-2,
.nova-root .contact-s4 .address-3,
.nova-root .contact-s4 .address-4{width:100%;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:20px;color:#6B7683;white-space:pre-wrap}
/* 4. contact-s4 +3 more */

.nova-root .contact-s4 .contact,
.nova-root .contact-s4 .contact-2,
.nova-root .contact-s4 .contact-3,
.nova-root .contact-s4 .contact-4{width:100%;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#3A4753}
/* 1. contact-s5 */

.nova-root .contact-s5{width:100%;height:auto;display:flex;flex-direction:column;gap:38px;padding:80px var(--gutter) 80px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. contact-s5 +4 more */

.nova-root .contact-s5 .question-row,
.nova-root .contact-s5 .question-row-2,
.nova-root .contact-s5 .question-row-3,
.nova-root .contact-s5 .question-row-4,
.nova-root .contact-s5 .question-row-5{width:100%;height:auto;display:flex;flex-direction:row;padding:24px 0px 24px 0px;box-sizing:border-box}
/* 3. contact-s5 +5 more */

.nova-root .contact-s5 .question,
.nova-root .contact-s5 .question-2,
.nova-root .contact-s5 .question-3,
.nova-root .contact-s5 .question-4,
.nova-root .contact-s5 .question-5,
.nova-root .news-detail-s4 .name{width:fit-content;position:relative;font-size:15px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#141F2B}
/* 4. contact-s5 */

.nova-root .contact-s5 .answer{width:100%;height:auto;display:flex;flex-direction:row;padding:0px var(--gutter) 24px 0px;box-sizing:border-box}
/* 5. contact-s5 */

.nova-root .contact-s5 .answer-text{flex:1 1 0;min-width:0;position:relative;font-size:13.5px;font-family:var(--font-body);font-weight:400;line-height:23px;color:#5B6875}
/* 6. contact-s5 +14 more */

.nova-root .contact-s5 .rule,
.nova-root .contact-s5 .rule-2,
.nova-root .contact-s5 .rule-3,
.nova-root .contact-s5 .rule-4,
.nova-root .news-detail-s1 .rule,
.nova-root .products-s2 .rule,
.nova-root .products-s2 .rule-2,
.nova-root .product-s2 .tab-rule,
.nova-root .product-s2 .rule,
.nova-root .product-s2 .rule-2,
.nova-root .product-s2 .rule-3,
.nova-root .product-s2 .rule-4,
.nova-root .product-s2 .rule-5,
.nova-root .product-s2 .rule-6,
.nova-root .product-s2 .rule-7{width:100%;height:1px;position:relative;overflow:hidden;background-color:#E3E8EE}
/* 7. contact-s5 +3 more */

.nova-root .contact-s5 .chevron-down,
.nova-root .contact-s5 .chevron-down-2,
.nova-root .contact-s5 .chevron-down-3,
.nova-root .contact-s5 .chevron-down-4{width:16px;height:16px;position:relative;overflow:hidden;color:#6F7882}
/* 1. news-banner +2 more */

.nova-root .news-banner .banner-photo,
.nova-root .cases-banner .banner-photo,
.nova-root .products-banner .banner-photo{width:1440px;height:340px;position:relative;overflow:hidden;position:absolute;left:0px;top:0px;background-color:#12202C}
/* 2. news-banner +2 more */

.nova-root .news-banner .banner-overlay,
.nova-root .cases-banner .banner-overlay,
.nova-root .products-banner .banner-overlay{width:1440px;height:340px;position:relative;overflow:hidden;position:absolute;left:0px;top:0px;background:linear-gradient(180deg, rgba(10,18,28,0.96) 0%, rgba(10,18,28,0.86) 60%, rgba(10,18,28,0.60) 100%)}
/* 1. news-s1 */

.nova-root .news-s1{width:100%;height:auto;display:flex;flex-direction:column;gap:26px;padding:72px var(--gutter) 72px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. news-s1 +4 more */

.nova-root .news-s1 .title,
.nova-root .news-detail-s5 .title,
.nova-root .cases-s2 .title,
.nova-root .cases-s3 .title,
.nova-root .products-s1 .title{width:fit-content;position:relative;font-size:24px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#141F2B}
/* 3. news-s1 +4 more */

.nova-root .news-s1 .slash,
.nova-root .news-detail-s5 .slash,
.nova-root .cases-s2 .slash,
.nova-root .cases-s3 .slash,
.nova-root .products-s1 .slash{width:fit-content;position:relative;font-size:24px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#0A4FA5}
/* 4. news-s1 +3 more */

.nova-root .news-s1 .head-description,
.nova-root .news-detail-s5 .head-description,
.nova-root .cases-s2 .head-description,
.nova-root .products-s1 .head-description{width:fit-content;position:relative;font-size:13px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#5B6875}
/* 5. news-s1 */

.nova-root .news-s1 .featured-image{width:704px;height:420px;position:relative;overflow:hidden;border-radius:2px;object-fit:cover}
/* 6. news-s1 +4 more */

.nova-root .news-s1 .featured-copy,
.nova-root .cases-s2 .case-copy,
.nova-root .product-s1 .product-info,
.nova-root .home-s4 .materials-column,
.nova-root .home-s4 .industries-column{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:16px;box-sizing:border-box}
/* 7. news-s1 +3 more */

.nova-root .news-s1 .meta-row,
.nova-root .news-detail-s1 .meta-top,
.nova-root .news-detail-s1 .author-row,
.nova-root .home-s1 .hero-buttons{width:fit-content;height:auto;display:flex;flex-direction:row;gap:12px;box-sizing:border-box}
/* 8. news-s1 +2 more */

.nova-root .news-s1 .category-pill,
.nova-root .cases-s2 .industry-pill,
.nova-root .product-s1 .category-pill{width:fit-content;height:24px;display:flex;flex-direction:row;padding:0px 10px 0px 10px;align-items:center;box-sizing:border-box;background-color:#E7EFF9;border-radius:2px}
/* 9. news-s1 */

.nova-root .news-s1 .dot{width:3px;height:3px;position:relative;overflow:hidden;background-color:#C9D2DC;border-radius:2px}
/* 10. news-s1 */

.nova-root .news-s1 .date{width:fit-content;position:relative;font-size:12px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#6F7882}
/* 11. news-s1 */

.nova-root .news-s1 .article-title{width:470px;position:relative;font-size:32px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:42px;color:#141F2B}
/* 12. news-s1 */

.nova-root .news-s1 .excerpt{width:500px;position:relative;font-size:14px;font-family:var(--font-body);font-weight:400;line-height:25px;color:#5B6875}
/* 13. news-s1 +2 more */

.nova-root .news-s1 .label,
.nova-root .cases-s2 .label-4,
.nova-root .product-s3 .view-all-link{width:fit-content;position:relative;font-size:13px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#0A4FA5}
/* 1. news-s2 */

.nova-root .news-s2{width:100%;height:auto;display:flex;flex-direction:column;gap:28px;padding:56px var(--gutter) 76px var(--gutter);box-sizing:border-box;background-color:#F4F6F8}
/* 2. news-s2 +2 more */

.nova-root .news-s2 .filters,
.nova-root .news-detail-s3 .share-row,
.nova-root .cases-s3 .filter-tabs{width:fit-content;height:auto;display:flex;flex-direction:row;gap:8px;box-sizing:border-box}
/* 3. news-s2 */

.nova-root .news-s2 .filter-all-active{width:fit-content;height:34px;display:flex;flex-direction:row;padding:0px 15px 0px 15px;align-items:center;box-sizing:border-box;background-color:#0A2747;border-radius:3px}
/* 4. news-s2 +3 more */

.nova-root .news-s2 .filter-company-news,
.nova-root .news-s2 .filter-industry-insights,
.nova-root .news-s2 .filter-exhibitions,
.nova-root .news-s2 .filter-technical{width:fit-content;height:34px;display:flex;flex-direction:row;padding:0px 15px 0px 15px;align-items:center;box-sizing:border-box;background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #E3E8EE;border-radius:3px}
/* 5. news-s2 +12 more */

.nova-root .news-s2 .label-2,
.nova-root .news-s2 .label-3,
.nova-root .news-s2 .label-4,
.nova-root .news-s2 .label-5,
.nova-root .news-s2 .number-2,
.nova-root .news-s2 .number-3,
.nova-root .products-s2 .label-2,
.nova-root .products-s2 .label-3,
.nova-root .products-s2 .label-4,
.nova-root .products-s2 .label-5,
.nova-root .products-s2 .label-6,
.nova-root .products-s2 .label-7,
.nova-root .products-s2 .label-8{width:fit-content;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#4C5967}
/* 6. news-s2 */

.nova-root .news-s2 .search-field{width:248px;height:38px;display:flex;flex-direction:row;gap:9px;padding:0px 14px 0px 14px;align-items:center;box-sizing:border-box;background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #E3E8EE;border-radius:3px}
/* 7. news-s2 */

.nova-root .news-s2 .search-icon{width:15px;height:15px;position:relative;overflow:hidden;color:#6F7882}
/* 8. news-s2 */

.nova-root .news-s2 .placeholder{width:fit-content;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#7B848E}
/* 9. news-s2 +27 more */

.nova-root .news-s2 .article-metrology-lab,
.nova-root .news-s2 .article-alloy-choice,
.nova-root .news-s2 .article-formnext,
.nova-root .news-s2 .article-deep-pockets,
.nova-root .news-s2 .article-robotic-cells,
.nova-root .news-s2 .article-as9100-revision,
.nova-root .news-detail-s5 .related-chatter,
.nova-root .news-detail-s5 .related-alloy,
.nova-root .news-detail-s5 .related-metrology,
.nova-root .cases-s3 .case-surgical-housings,
.nova-root .cases-s3 .case-vacuum-chambers,
.nova-root .cases-s3 .case-ev-housings,
.nova-root .cases-s3 .case-turbine-manifolds,
.nova-root .cases-s3 .case-robot-wrist,
.nova-root .cases-s3 .case-bone-plates,
.nova-root .products-s2 .product-aluminum-housings,
.nova-root .products-s2 .product-steel-shafts,
.nova-root .products-s2 .product-gear-assemblies,
.nova-root .products-s2 .product-manifold-blocks,
.nova-root .products-s2 .product-aerospace-brackets,
.nova-root .products-s2 .product-surgical-components,
.nova-root .product-s3 .card-shafts,
.nova-root .product-s3 .card-manifolds,
.nova-root .product-s3 .card-gears,
.nova-root .home-s2 .machine-vmc,
.nova-root .home-s2 .machine-hmc,
.nova-root .home-s2 .machine-turning,
.nova-root .home-s2 .machine-5-axis{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;box-sizing:border-box;background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #E3E8EE;border-radius:2px}
/* 网格定列：行内卡片恒为三分之一宽，末行不满三张时留白而不是拉成通栏 */

.nova-root .products-s2 .product-row-1[data-r="cols"] > [data-card],
.nova-root .products-s2 .product-row-2[data-r="cols"] > [data-card],
.nova-root .news-s2 .article-row-1[data-r="cols"] > [data-card],
.nova-root .news-s2 .article-row-2[data-r="cols"] > [data-card]{flex:0 0 calc((100% - 40px) / 3);width:calc((100% - 40px) / 3);max-width:calc((100% - 40px) / 3)}

.nova-root .product-s3 .related-grid[data-r="cols"] > [data-card]{flex:0 0 calc((100% - 48px) / 3);width:calc((100% - 48px) / 3);max-width:calc((100% - 48px) / 3)}
/* 10. news-s2 +5 more */

.nova-root .news-s2 .thumbnail,
.nova-root .news-s2 .thumbnail-2,
.nova-root .news-s2 .thumbnail-3,
.nova-root .news-s2 .thumbnail-4,
.nova-root .news-s2 .thumbnail-5,
.nova-root .news-s2 .thumbnail-6{width:100%;height:208px;position:relative;overflow:hidden;object-fit:cover}
/* 11. news-s2 +5 more */

.nova-root .news-s2 .body,
.nova-root .news-s2 .body-2,
.nova-root .news-s2 .body-3,
.nova-root .news-s2 .body-4,
.nova-root .news-s2 .body-5,
.nova-root .news-s2 .body-6{width:100%;height:auto;display:flex;flex-direction:column;gap:11px;padding:20px 22px 24px 22px;box-sizing:border-box}
/* 12. news-s2 +5 more */

.nova-root .news-s2 .title,
.nova-root .news-s2 .title-2,
.nova-root .news-s2 .title-3,
.nova-root .news-s2 .title-4,
.nova-root .news-s2 .title-5,
.nova-root .news-s2 .title-6{width:100%;position:relative;font-size:16px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:24px;color:#141F2B}
/* 13. news-s2 +5 more */

.nova-root .news-s2 .excerpt,
.nova-root .news-s2 .excerpt-2,
.nova-root .news-s2 .excerpt-3,
.nova-root .news-s2 .excerpt-4,
.nova-root .news-s2 .excerpt-5,
.nova-root .news-s2 .excerpt-6{width:100%;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:21px;color:#6B7683}
/* 14. news-s2 +4 more */

.nova-root .news-s2 .pagination,
.nova-root .news-detail-s4 .tag-row,
.nova-root .product-s2 .chip-row,
.nova-root .home-s4 .title-row,
.nova-root .home-s4 .title-row-2{width:100%;height:auto;display:flex;flex-direction:row;gap:8px;box-sizing:border-box}
/* 15. news-s2 */

.nova-root .news-s2 .page-1-active{width:38px;height:38px;display:flex;flex-direction:row;align-items:center;justify-content:center;box-sizing:border-box;background-color:#0A2747;border-radius:3px}
/* 16. news-s2 +2 more */

.nova-root .news-s2 .page-2,
.nova-root .news-s2 .page-3,
.nova-root .news-s2 .page-next{width:38px;height:38px;display:flex;flex-direction:row;align-items:center;justify-content:center;box-sizing:border-box;background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #E3E8EE;border-radius:3px}
/* 17. news-s2 +1 more */

.nova-root .news-s2 .arrow-right,
.nova-root .news-detail-s3 .icon-3{width:13px;height:13px;position:relative;overflow:hidden;color:#4C5967}
/* 1. news-s3 */

.nova-root .news-s3{width:100%;height:auto;display:flex;flex-direction:row;gap:40px;padding:58px var(--gutter) 58px var(--gutter);box-sizing:border-box;background-color:#0F1B27}
/* 2. news-s3 +1 more */

.nova-root .news-s3 .headline,
.nova-root .home-s5 .title{width:fit-content;position:relative;font-size:26px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#FFFFFF}
/* 3. news-s3 */

.nova-root .news-s3 .input{width:300px;height:48px;display:flex;flex-direction:row;padding:0px 16px 0px 16px;align-items:center;box-sizing:border-box;background-color:#16232F;box-shadow:inset 0 0 0 1px #2B3A48;border-radius:3px}
/* 4. news-s3 */

.nova-root .news-s3 .placeholder{width:fit-content;position:relative;font-size:13px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#656F7A}
/* 5. news-s3 */

.nova-root .news-s3 .button-subscribe{width:fit-content;height:48px;display:flex;flex-direction:row;gap:9px;padding:0px 26px 0px 26px;align-items:center;box-sizing:border-box;background-color:#0A4FA5;border-radius:3px}
/* 6. news-s3 +1 more */

.nova-root .news-s3 .label,
.nova-root .product-s1 .label-5{width:fit-content;position:relative;font-size:13px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#FFFFFF}
/* 7. news-s3 +1 more */

.nova-root .news-s3 .arrow-right,
.nova-root .product-s1 .arrow-right{width:14px;height:14px;position:relative;overflow:hidden;color:#FFFFFF}
/* 1. news-detail-s1 */

.nova-root .news-detail-s1{width:100%;height:auto;display:flex;flex-direction:column;gap:22px;padding:40px var(--gutter) 0px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. news-detail-s1 +1 more */

.nova-root .news-detail-s1 .home,
.nova-root .news-detail-s1 .news{width:fit-content;position:relative;font-size:11px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#7B848E}
/* 3. news-detail-s1 +3 more */

.nova-root .news-detail-s1 .sep,
.nova-root .news-detail-s1 .sep-2,
.nova-root .product-breadcrumb-bar .sep,
.nova-root .product-breadcrumb-bar .sep-2{width:10px;height:10px;position:relative;overflow:hidden;color:#C9D2DC}
/* 4. news-detail-s1 */

.nova-root .news-detail-s1 .current{width:fit-content;position:relative;font-size:11px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#141F2B}
/* 5. news-detail-s1 */

.nova-root .news-detail-s1 .category-pill{width:fit-content;height:26px;display:flex;flex-direction:row;padding:0px 11px 0px 11px;align-items:center;box-sizing:border-box;background-color:#E7EFF9;border-radius:2px}
/* 6. news-detail-s1 */

.nova-root .news-detail-s1 .date{width:fit-content;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#6F7882}
/* 7. news-detail-s1 */

.nova-root .news-detail-s1 .article-title{width:1060px;position:relative;font-size:46px;font-family:'Manrope',var(--font-head);font-weight:800;line-height:56px;color:#111C28}
/* 8. news-detail-s1 */

.nova-root .news-detail-s1 .standfirst{width:900px;position:relative;font-size:17px;font-family:var(--font-body);font-weight:400;line-height:30px;color:#5B6875}
/* 9. news-detail-s1 */

.nova-root .news-detail-s1 .avatar{width:40px;height:40px;position:relative;overflow:hidden;background-color:#DDE3E9;border-radius:20px}
/* 10. news-detail-s1 */

.nova-root .news-detail-s1 .author-copy{width:fit-content;height:auto;display:flex;flex-direction:column;gap:2px;box-sizing:border-box}
/* 11. news-detail-s1 +1 more */

.nova-root .news-detail-s1 .name,
.nova-root .product-s2 .label{width:fit-content;position:relative;font-size:13.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#141F2B}
/* 12. news-detail-s1 */

.nova-root .news-detail-s1 .role{width:fit-content;position:relative;font-size:12px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#6F7882}
/* 1. news-detail-s2 */

.nova-root .news-detail-s2{width:100%;height:auto;display:flex;flex-direction:column;gap:12px;padding:32px var(--gutter) 0px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. news-detail-s2 */

.nova-root .news-detail-s2 .cover-image{width:100%;height:520px;position:relative;overflow:hidden;border-radius:2px;object-fit:cover}
/* 3. news-detail-s2 */

.nova-root .news-detail-s2 .caption{width:fit-content;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#6F7882}
/* 1. news-detail-s3 */

.nova-root .news-detail-s3{width:100%;height:auto;display:flex;flex-direction:row;gap:64px;padding:48px var(--gutter) 72px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. news-detail-s3 */

.nova-root .news-detail-s3 .article-column{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:22px;box-sizing:border-box}
/* 3. news-detail-s3 */

.nova-root .news-detail-s3 .lead{width:100%;position:relative;font-size:16.5px;font-family:var(--font-body);font-weight:400;line-height:30px;color:#3A4753}
/* 4. news-detail-s3 +3 more */

.nova-root .news-detail-s3 .body,
.nova-root .news-detail-s3 .body-2,
.nova-root .news-detail-s3 .body-3,
.nova-root .news-detail-s3 .body-closing{width:100%;position:relative;font-size:14.5px;font-family:var(--font-body);font-weight:400;line-height:27px;color:#5B6875}
/* 5. news-detail-s3 +1 more */

.nova-root .news-detail-s3 .h2-one-setup,
.nova-root .news-detail-s3 .h2-quote-impact{width:100%;position:relative;font-size:23px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#141F2B}
/* 6. news-detail-s3 +1 more */

.nova-root .news-detail-s3 .bullet-list,
.nova-root .product-s2 .feature-bullets{width:100%;height:auto;display:flex;flex-direction:column;gap:11px;box-sizing:border-box}
/* 7. news-detail-s3 +8 more */

.nova-root .news-detail-s3 .point-datum,
.nova-root .news-detail-s3 .point-cycle-time,
.nova-root .news-detail-s3 .point-inspection,
.nova-root .product-s1 .thumbnail-row,
.nova-root .product-s1 .button-row,
.nova-root .product-s2 .point-wall,
.nova-root .product-s2 .point-gasket,
.nova-root .product-s2 .point-ip67,
.nova-root .product-s2 .point-inserts{width:100%;height:auto;display:flex;flex-direction:row;gap:12px;box-sizing:border-box}
/* 8. news-detail-s3 +6 more */

.nova-root .news-detail-s3 .dash,
.nova-root .news-detail-s3 .dash-2,
.nova-root .news-detail-s3 .dash-3,
.nova-root .product-s2 .dash,
.nova-root .product-s2 .dash-2,
.nova-root .product-s2 .dash-3,
.nova-root .product-s2 .dash-4{width:12px;height:2px;position:relative;overflow:hidden;background-color:#0A4FA5}
/* 9. news-detail-s3 +2 more */

.nova-root .news-detail-s3 .text,
.nova-root .news-detail-s3 .text-2,
.nova-root .news-detail-s3 .text-3{flex:1 1 0;min-width:0;position:relative;font-size:13.5px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#3A4753}
/* 10. news-detail-s3 */

.nova-root .news-detail-s3 .pull-quote{width:100%;height:100px;display:flex;flex-direction:row;box-sizing:border-box}
/* 11. news-detail-s3 */

.nova-root .news-detail-s3 .accent-bar{width:3px;align-self:stretch;position:relative;overflow:hidden;background-color:#0A4FA5}
/* 12. news-detail-s3 */

.nova-root .news-detail-s3 .quote-body{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:12px;padding:26px 30px 26px 30px;box-sizing:border-box}
/* 13. news-detail-s3 */

.nova-root .news-detail-s3 .quote{width:100%;position:relative;font-size:18px;font-family:var(--font-body);font-weight:500;line-height:30px;color:#141F2B}
/* 14. news-detail-s3 +2 more */

.nova-root .news-detail-s3 .attribution,
.nova-root .product-breadcrumb-bar .home,
.nova-root .product-breadcrumb-bar .products{width:fit-content;position:relative;font-size:10.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#6F7882}
/* 15. news-detail-s3 +1 more */

.nova-root .news-detail-s3 .inline-figure,
.nova-root .home-s4 .industry-grid{width:100%;height:auto;display:flex;flex-direction:column;gap:10px;box-sizing:border-box}
/* 16. news-detail-s3 */

.nova-root .news-detail-s3 .figure-image{width:100%;height:400px;position:relative;overflow:hidden;border-radius:2px;object-fit:cover}
/* 17. news-detail-s3 */

.nova-root .news-detail-s3 .figure-caption{width:fit-content;position:relative;font-size:11px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#6F7882}
/* 18. news-detail-s3 */

.nova-root .news-detail-s3 .sidebar{width:320px;height:auto;display:flex;flex-direction:column;gap:18px;box-sizing:border-box}
/* 19. news-detail-s3 */

.nova-root .news-detail-s3 .toc-card{width:100%;height:auto;display:flex;flex-direction:column;gap:13px;padding:24px 22px 24px 22px;box-sizing:border-box;background-color:#F7F9FA;border-radius:2px}
/* 20. news-detail-s3 +9 more */

.nova-root .news-detail-s3 .label,
.nova-root .news-detail-s3 .label-2,
.nova-root .news-detail-s4 .label,
.nova-root .products-s2 .group-material,
.nova-root .products-s2 .group-tolerance,
.nova-root .products-s2 .group-lead-time,
.nova-root .product-s1 .label,
.nova-root .product-s1 .label-2,
.nova-root .product-s1 .label-3,
.nova-root .product-s1 .label-4{width:fit-content;position:relative;font-size:10px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#6F7882}
/* 21. news-detail-s3 */

.nova-root .news-detail-s3 .toc-1{width:100%;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:600;line-height:19px;color:#0A4FA5}
/* 22. news-detail-s3 */

.nova-root .news-detail-s3 .share-card{width:100%;height:auto;display:flex;flex-direction:column;gap:12px;padding:20px 22px 20px 22px;box-sizing:border-box;background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #E3E8EE;border-radius:2px}
/* 23. news-detail-s3 +2 more */

.nova-root .news-detail-s3 .linked-in,
.nova-root .news-detail-s3 .x,
.nova-root .news-detail-s3 .copy-link{width:32px;height:32px;display:flex;flex-direction:row;align-items:center;justify-content:center;box-sizing:border-box;background-color:#F4F6F8;border-radius:2px}
/* 24. news-detail-s3 */

.nova-root .news-detail-s3 .ellipse{width:1.3px;height:1.3px;position:relative;position:absolute;left:2.3px;top:2.5px;box-shadow:inset 0 0 0 1px #4C5967}
/* 25. news-detail-s3 */

.nova-root .news-detail-s3 .sidebar-cta-card{width:100%;height:auto;display:flex;flex-direction:column;gap:12px;padding:26px 24px 26px 24px;box-sizing:border-box;background-color:#0F1B27;border-radius:2px}
/* 26. news-detail-s3 */

.nova-root .news-detail-s3 .eyebrow{width:fit-content;position:relative;font-size:10px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#4C8FE0}
/* 27. news-detail-s3 */

.nova-root .news-detail-s3 .title{width:100%;position:relative;font-size:18px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:25px;color:#FFFFFF}
/* 28. news-detail-s3 */

.nova-root .news-detail-s3 .subline{width:100%;position:relative;font-size:12px;font-family:var(--font-body);font-weight:400;line-height:19px;color:#76828E}
/* 29. news-detail-s3 */

.nova-root .news-detail-s3 .button-request-quote{width:100%;height:40px;display:flex;flex-direction:row;gap:8px;padding:0px 22px 0px 22px;justify-content:center;align-items:center;box-sizing:border-box;background-color:#0A4FA5;border-radius:2px}
/* 30. news-detail-s3 */

.nova-root .news-detail-s3 .arrow-right{width:13px;height:13px;position:relative;overflow:hidden;color:#FFFFFF}
/* 1. news-detail-s4 */

.nova-root .news-detail-s4{width:100%;height:auto;display:flex;flex-direction:column;gap:26px;padding:0px var(--gutter) 64px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. news-detail-s4 +3 more */

.nova-root .news-detail-s4 .tag-5-axis,
.nova-root .news-detail-s4 .tag-dfm,
.nova-root .news-detail-s4 .tag-cost-reduction,
.nova-root .news-detail-s4 .tag-titanium{width:fit-content;height:30px;display:flex;flex-direction:row;padding:0px 12px 0px 12px;align-items:center;box-sizing:border-box;background-color:#F4F6F8;border-radius:2px}
/* 3. news-detail-s4 +3 more */

.nova-root .news-detail-s4 .text,
.nova-root .news-detail-s4 .text-2,
.nova-root .news-detail-s4 .text-3,
.nova-root .news-detail-s4 .text-4{width:fit-content;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#4C5967}
/* 4. news-detail-s4 */

.nova-root .news-detail-s4 .author-box{width:100%;height:auto;display:flex;flex-direction:row;gap:18px;padding:24px 26px 24px 26px;box-sizing:border-box;border-radius:2px}
/* 5. news-detail-s4 */

.nova-root .news-detail-s4 .avatar{width:56px;height:56px;position:relative;overflow:hidden;background-color:#DDE3E9;border-radius:28px}
/* 6. news-detail-s4 */

.nova-root .news-detail-s4 .copy{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:5px;box-sizing:border-box}
/* 1. news-detail-s5 +1 more */

.nova-root .news-detail-s5,
.nova-root .cases-s3{width:100%;height:auto;display:flex;flex-direction:column;gap:28px;padding:64px var(--gutter) 76px var(--gutter);box-sizing:border-box;background-color:#F4F6F8}
/* 2. news-detail-s5 +2 more */

.nova-root .news-detail-s5 .thumbnail,
.nova-root .news-detail-s5 .thumbnail-2,
.nova-root .news-detail-s5 .thumbnail-3{width:100%;height:190px;position:relative;overflow:hidden;object-fit:cover}
/* 3. news-detail-s5 +2 more */

.nova-root .news-detail-s5 .body,
.nova-root .news-detail-s5 .body-2,
.nova-root .news-detail-s5 .body-3{width:100%;height:auto;display:flex;flex-direction:column;gap:9px;padding:18px 20px 22px 20px;box-sizing:border-box}
/* 4. news-detail-s5 +10 more */

.nova-root .news-detail-s5 .meta,
.nova-root .news-detail-s5 .meta-2,
.nova-root .news-detail-s5 .meta-3,
.nova-root .cases-s2 .text,
.nova-root .cases-s3 .meta,
.nova-root .cases-s3 .meta-2,
.nova-root .cases-s3 .meta-3,
.nova-root .cases-s3 .meta-4,
.nova-root .cases-s3 .meta-5,
.nova-root .cases-s3 .meta-6,
.nova-root .product-s1 .text{width:fit-content;position:relative;font-size:9.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#0A4FA5}
/* 5. news-detail-s5 +2 more */

.nova-root .news-detail-s5 .title-2,
.nova-root .news-detail-s5 .title-3,
.nova-root .news-detail-s5 .title-4{width:100%;position:relative;font-size:15.5px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:23px;color:#141F2B}
/* 6. news-detail-s5 +2 more */

.nova-root .news-detail-s5 .excerpt,
.nova-root .news-detail-s5 .excerpt-2,
.nova-root .news-detail-s5 .excerpt-3{width:100%;position:relative;font-size:12px;font-family:var(--font-body);font-weight:400;line-height:20px;color:#6B7683}
/* 1. cases-s1 */

.nova-root .cases-s1{width:100%;height:auto;display:flex;flex-direction:row;gap:60px;padding:64px var(--gutter) 64px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. cases-s1 */

.nova-root .cases-s1 .intro-copy{width:640px;height:auto;display:flex;flex-direction:column;gap:16px;box-sizing:border-box}
/* 3. cases-s1 */

.nova-root .cases-s1 .title{width:600px;position:relative;font-size:32px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:42px;color:#141F2B}
/* 4. cases-s1 */

.nova-root .cases-s1 .intro-stats{width:fit-content;height:auto;display:flex;flex-direction:row;gap:28px;box-sizing:border-box}
/* 5. cases-s1 +1 more */

.nova-root .cases-s1 .stat-programmes,
.nova-root .cases-s1 .stat-repeat{width:fit-content;height:auto;display:flex;flex-direction:column;gap:6px;box-sizing:border-box}
/* 6. cases-s1 +1 more */

.nova-root .cases-s1 .value,
.nova-root .cases-s1 .value-2{width:fit-content;position:relative;font-size:34px;font-family:'Manrope',var(--font-head);font-weight:800;line-height:1.2;color:#0A4FA5}
/* 7. cases-s1 +1 more */

.nova-root .cases-s1 .label,
.nova-root .cases-s1 .label-2{width:fit-content;position:relative;font-size:9.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#6F7882}
/* 8. cases-s1 */

.nova-root .cases-s1 .rule{width:1px;height:42px;position:relative;overflow:hidden;background-color:#E3E8EE}
/* 1. cases-s2 */

.nova-root .cases-s2{width:100%;height:auto;display:flex;flex-direction:column;gap:22px;padding:0px var(--gutter) 72px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. cases-s2 */

.nova-root .cases-s2 .case-image{width:704px;height:452px;position:relative;overflow:hidden;border-radius:2px;object-fit:cover}
/* 3. cases-s2 */

.nova-root .cases-s2 .title-2{width:480px;position:relative;font-size:30px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:40px;color:#141F2B}
/* 4. cases-s2 */

.nova-root .cases-s2 .description{width:500px;position:relative;font-size:13.5px;font-family:var(--font-body);font-weight:400;line-height:24px;color:#5B6875}
/* 5. cases-s2 +2 more */

.nova-root .cases-s2 .result-tolerance,
.nova-root .cases-s2 .result-cost,
.nova-root .cases-s2 .result-lead-time{width:fit-content;height:auto;display:flex;flex-direction:column;gap:5px;box-sizing:border-box}
/* 6. cases-s2 +2 more */

.nova-root .cases-s2 .value,
.nova-root .cases-s2 .value-2,
.nova-root .cases-s2 .value-3{width:fit-content;position:relative;font-size:24px;font-family:'Manrope',var(--font-head);font-weight:800;line-height:1.2;color:#141F2B}
/* 7. cases-s2 +2 more */

.nova-root .cases-s2 .label,
.nova-root .cases-s2 .label-2,
.nova-root .cases-s2 .label-3{width:fit-content;position:relative;font-size:9px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#6F7882}
/* 8. cases-s2 +1 more */

.nova-root .cases-s2 .rule,
.nova-root .cases-s2 .rule-2{width:1px;height:34px;position:relative;overflow:hidden;background-color:#E3E8EE}
/* 1. cases-s3 +19 more */

.nova-root .cases-s3 .grid-toolbar,
.nova-root .cases-s3 .metrics,
.nova-root .cases-s3 .metrics-2,
.nova-root .cases-s3 .metrics-3,
.nova-root .cases-s3 .metrics-4,
.nova-root .cases-s3 .metrics-5,
.nova-root .cases-s3 .metrics-6,
.nova-root .products-s2 .result-bar,
.nova-root .products-s2 .price-row,
.nova-root .products-s2 .price-row-2,
.nova-root .products-s2 .price-row-3,
.nova-root .products-s2 .price-row-4,
.nova-root .products-s2 .price-row-5,
.nova-root .products-s2 .price-row-6,
.nova-root .product-s2 .tab-bar,
.nova-root .product-s3 .section-head,
.nova-root .home-s2 .section-head,
.nova-root .home-s3 .capability-items,
.nova-root .home-s5 .quality-items,
.nova-root .home-s7 .section-head{width:100%;height:auto;display:flex;flex-direction:row;box-sizing:border-box}
/* 2. cases-s3 */

.nova-root .cases-s3 .tab-all-active{width:fit-content;height:32px;display:flex;flex-direction:row;padding:0px 14px 0px 14px;align-items:center;box-sizing:border-box;background-color:#0A2747;border-radius:3px}
/* 3. cases-s3 +1 more */

.nova-root .cases-s3 .label,
.nova-root .products-s2 .label-9{width:fit-content;position:relative;font-size:12px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#FFFFFF}
/* 4. cases-s3 +4 more */

.nova-root .cases-s3 .tab-aerospace,
.nova-root .cases-s3 .tab-medical,
.nova-root .cases-s3 .tab-semiconductor,
.nova-root .cases-s3 .tab-automotive,
.nova-root .cases-s3 .tab-energy{width:fit-content;height:32px;display:flex;flex-direction:row;padding:0px 14px 0px 14px;align-items:center;box-sizing:border-box;background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #E3E8EE;border-radius:3px}
/* 5. cases-s3 +4 more */

.nova-root .cases-s3 .label-2,
.nova-root .cases-s3 .label-3,
.nova-root .cases-s3 .label-4,
.nova-root .cases-s3 .label-5,
.nova-root .cases-s3 .label-6{width:fit-content;position:relative;font-size:12px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#4C5967}
/* 6. cases-s3 +3 more */

.nova-root .cases-s3 .case-row-1,
.nova-root .cases-s3 .case-row-2,
.nova-root .cases-s3 .case-row-3,

/* 案例归档网格：固定三列；分类标题在上、案例在下方，不足三张也保持三列（多余列留空）。 */
.nova-root .cases-s3 .case-grid{width:100%;box-sizing:border-box;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:980px){.nova-root .cases-s3 .case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.nova-root .cases-s3 .case-grid{grid-template-columns:repeat(1,minmax(0,1fr))}}
.nova-root .product-s3 .related-grid{width:100%;height:auto;display:flex;flex-direction:row;gap:24px;box-sizing:border-box}
/* 7. cases-s3 +5 more */

.nova-root .cases-s3 .image,
.nova-root .cases-s3 .image-2,
.nova-root .cases-s3 .image-3,
.nova-root .cases-s3 .image-4,
.nova-root .cases-s3 .image-5,
.nova-root .cases-s3 .image-6{width:100%;height:320px;position:relative;overflow:hidden;object-fit:cover}
/* 8. cases-s3 +5 more */

.nova-root .cases-s3 .body,
.nova-root .cases-s3 .body-2,
.nova-root .cases-s3 .body-3,
.nova-root .cases-s3 .body-4,
.nova-root .cases-s3 .body-5,
.nova-root .cases-s3 .body-6{width:100%;height:auto;display:flex;flex-direction:column;gap:10px;padding:22px 24px 24px 24px;box-sizing:border-box}
/* 9. cases-s3 +5 more */

.nova-root .cases-s3 .title-2,
.nova-root .cases-s3 .title-3,
.nova-root .cases-s3 .title-4,
.nova-root .cases-s3 .title-5,
.nova-root .cases-s3 .title-6,
.nova-root .cases-s3 .title-7{width:100%;position:relative;font-size:19px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:27px;color:#141F2B}
/* 10. cases-s3 +5 more */

.nova-root .cases-s3 .text,
.nova-root .cases-s3 .text-2,
.nova-root .cases-s3 .text-3,
.nova-root .cases-s3 .text-4,
.nova-root .cases-s3 .text-5,
.nova-root .cases-s3 .text-6{width:fit-content;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#6B7683}
/* 11. cases-s3 +6 more */

.nova-root .cases-s3 .arrow-right,
.nova-root .cases-s3 .arrow-right-2,
.nova-root .cases-s3 .arrow-right-3,
.nova-root .cases-s3 .arrow-right-4,
.nova-root .cases-s3 .arrow-right-5,
.nova-root .cases-s3 .arrow-right-6,
.nova-root .products-s2 .chevron-down{width:13px;height:13px;position:relative;overflow:hidden;color:#0A4FA5}
/* 1. cases-s4 */

.nova-root .cases-s4{width:100%;height:auto;display:flex;flex-direction:row;gap:60px;padding:76px var(--gutter) 76px var(--gutter);box-sizing:border-box;background-color:#0F1B27}
/* 2. cases-s4 */

.nova-root .cases-s4 .quote-block{width:760px;height:auto;display:flex;flex-direction:column;gap:20px;box-sizing:border-box}
/* 3. cases-s4 */

.nova-root .cases-s4 .quote{width:760px;position:relative;font-size:24px;font-family:'Manrope',var(--font-head);font-weight:500;line-height:38px;color:#FFFFFF}
/* 4. cases-s4 */

.nova-root .cases-s4 .author{width:fit-content;height:auto;display:flex;flex-direction:row;gap:14px;box-sizing:border-box}
/* 5. cases-s4 */

.nova-root .cases-s4 .avatar{width:44px;height:44px;position:relative;overflow:hidden;background-color:#22303E;border-radius:22px}
/* 6. cases-s4 +5 more */

.nova-root .cases-s4 .copy,
.nova-root .product-s1 .price-copy,
.nova-root .home-s1 .text,
.nova-root .home-s1 .text-2,
.nova-root .home-s1 .text-3,
.nova-root .home-s1 .text-4{width:fit-content;height:auto;display:flex;flex-direction:column;gap:3px;box-sizing:border-box}
/* 7. cases-s4 */

.nova-root .cases-s4 .role{width:fit-content;position:relative;font-size:12px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#7E93A8}
/* 8. cases-s4 */

.nova-root .cases-s4 .client-logos{width:fit-content;height:auto;display:flex;flex-direction:column;gap:20px;box-sizing:border-box}
/* 9. cases-s4 */

.nova-root .cases-s4 .label{width:fit-content;position:relative;font-size:9.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#57646F}
/* 10. cases-s4 +3 more */

.nova-root .cases-s4 .logo-nordavia,
.nova-root .cases-s4 .logo-heliomed,
.nova-root .cases-s4 .logo-voltra,
.nova-root .cases-s4 .logo-kestrel{width:fit-content;position:relative;font-size:14px;font-family:'Manrope',var(--font-head);font-weight:800;line-height:1.6;color:#5B6A78}
/* 1. products-s1 */

.nova-root .products-s1{width:100%;height:auto;display:flex;flex-direction:column;gap:20px;padding:56px var(--gutter) 0px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. products-s1 */

.nova-root .products-s1 .category-all-products{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:14px;padding:24px 22px 24px 22px;box-sizing:border-box;background-color:#0A2747;border-radius:2px}
/* 3. products-s1 */

.nova-root .products-s1 .icon-box{width:40px;height:40px;display:flex;flex-direction:row;align-items:center;justify-content:center;box-sizing:border-box;background-color:#1B3A5C;border-radius:2px}
/* 4. products-s1 */

.nova-root .products-s1 .icon{width:19px;height:19px;position:relative;overflow:hidden;color:#9DC4EE}
/* 5. products-s1 */

.nova-root .products-s1 .name{width:100%;position:relative;font-size:14px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#FFFFFF}
/* 6. products-s1 */

.nova-root .products-s1 .count{width:fit-content;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#9DC4EE}
/* 7. products-s1 +3 more */

.nova-root .products-s1 .category-cnc-milling,
.nova-root .products-s1 .category-cnc-turning,
.nova-root .products-s1 .category-sheet-metal,
.nova-root .products-s1 .category-assemblies{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:14px;padding:24px 22px 24px 22px;box-sizing:border-box;background-color:#F7F9FA;border-radius:2px}
/* 8. products-s1 +3 more */

.nova-root .products-s1 .icon-box-2,
.nova-root .products-s1 .icon-box-3,
.nova-root .products-s1 .icon-box-4,
.nova-root .products-s1 .icon-box-5{width:40px;height:40px;display:flex;flex-direction:row;align-items:center;justify-content:center;box-sizing:border-box;background-color:#E7EFF9;border-radius:2px}
/* 9. products-s1 +3 more */

.nova-root .products-s1 .name-2,
.nova-root .products-s1 .name-3,
.nova-root .products-s1 .name-4,
.nova-root .products-s1 .name-5{width:100%;position:relative;font-size:14px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#141F2B}
/* 10. products-s1 +9 more */

.nova-root .products-s1 .count-2,
.nova-root .products-s1 .count-3,
.nova-root .products-s1 .count-4,
.nova-root .products-s1 .count-5,
.nova-root .products-s2 .spec,
.nova-root .products-s2 .spec-2,
.nova-root .products-s2 .spec-3,
.nova-root .products-s2 .spec-4,
.nova-root .products-s2 .spec-5,
.nova-root .products-s2 .spec-6{width:fit-content;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#636D77}
/* 1. products-s2 */

.nova-root .products-s2{width:100%;height:auto;display:flex;flex-direction:column;gap:24px;padding:48px var(--gutter) 80px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. products-s2 */

.nova-root .products-s2 .result-count{width:fit-content;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#6B7683}
/* 3. products-s2 */

.nova-root .products-s2 .sort-select{width:196px;height:38px;display:flex;flex-direction:row;gap:8px;padding:0px 14px 0px 14px;align-items:center;box-sizing:border-box;background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #E3E8EE;border-radius:3px}
/* 4. products-s2 */

.nova-root .products-s2 .value{width:fit-content;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#3A4753}
/* 5. products-s2 */

.nova-root .products-s2 .catalog-body{width:100%;height:auto;display:flex;flex-direction:row;gap:32px;box-sizing:border-box}
/* 6. products-s2 */

.nova-root .products-s2 .filter-sidebar{width:264px;height:auto;display:flex;flex-direction:column;box-sizing:border-box}
/* 7. products-s2 +7 more */

.nova-root .products-s2 .filter-aluminium,
.nova-root .products-s2 .filter-stainless,
.nova-root .products-s2 .filter-titanium,
.nova-root .products-s2 .filter-tight,
.nova-root .products-s2 .filter-standard,
.nova-root .products-s2 .filter-loose,
.nova-root .products-s2 .filter-fast,
.nova-root .products-s2 .filter-standard-lead{width:100%;height:34px;display:flex;flex-direction:row;gap:10px;align-items:center;box-sizing:border-box}
/* 8. products-s2 */

.nova-root .products-s2 .box{width:15px;height:15px;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;background-color:#0A4FA5;border-radius:2px}
/* 9. products-s2 +1 more */

.nova-root .products-s2 .label,
.nova-root .products-s2 .label-10{width:fit-content;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#141F2B}
/* 10. products-s2 +6 more */

.nova-root .products-s2 .box-2,
.nova-root .products-s2 .box-3,
.nova-root .products-s2 .box-4,
.nova-root .products-s2 .box-5,
.nova-root .products-s2 .box-6,
.nova-root .products-s2 .box-7,
.nova-root .products-s2 .box-8{width:15px;height:15px;position:relative;overflow:hidden;background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #C9D2DC;border-radius:2px}
/* 11. products-s2 +1 more */

.nova-root .products-s2 .group-spacer,
.nova-root .products-s2 .group-spacer-2{width:100%;height:20px;position:relative;overflow:hidden}
/* 12. products-s2 */

.nova-root .products-s2 .custom-part-card{width:100%;height:auto;display:flex;flex-direction:column;gap:10px;padding:22px 20px 22px 20px;box-sizing:border-box;background-color:#0F1B27;border-radius:2px}
/* 13. products-s2 */

.nova-root .products-s2 .title{width:100%;position:relative;font-size:15px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.6;color:#FFFFFF}
/* 14. products-s2 */

.nova-root .products-s2 .subline{width:100%;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:400;line-height:18px;color:#76828E}
/* 15. products-s2 */

.nova-root .products-s2 .button-send-drawing{width:100%;height:36px;display:flex;flex-direction:row;padding:0px 22px 0px 22px;justify-content:center;align-items:center;box-sizing:border-box;background-color:#0A4FA5;border-radius:2px}
/* 16. products-s2 */

.nova-root .products-s2 .product-grid{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:20px;box-sizing:border-box}
/* 17. products-s2 +8 more */

.nova-root .products-s2 .image,
.nova-root .products-s2 .image-2,
.nova-root .products-s2 .image-3,
.nova-root .products-s2 .image-4,
.nova-root .products-s2 .image-5,
.nova-root .products-s2 .image-6,
.nova-root .product-s3 .card-image,
.nova-root .product-s3 .card-image-2,
.nova-root .product-s3 .card-image-3{width:100%;height:240px;position:relative;overflow:hidden;object-fit:cover}
/* 18. products-s2 +5 more */

.nova-root .products-s2 .body,
.nova-root .products-s2 .body-2,
.nova-root .products-s2 .body-3,
.nova-root .products-s2 .body-4,
.nova-root .products-s2 .body-5,
.nova-root .products-s2 .body-6{width:100%;height:auto;display:flex;flex-direction:column;gap:7px;padding:16px 18px 18px 18px;box-sizing:border-box}
/* 19. products-s2 +5 more */

.nova-root .products-s2 .name,
.nova-root .products-s2 .name-2,
.nova-root .products-s2 .name-3,
.nova-root .products-s2 .name-4,
.nova-root .products-s2 .name-5,
.nova-root .products-s2 .name-6{width:100%;position:relative;font-size:14.5px;font-family:var(--font-body);font-weight:600;line-height:21px;color:#141F2B}
/* 20. products-s2 +7 more */

.nova-root .products-s2 .price,
.nova-root .products-s2 .price-2,
.nova-root .products-s2 .price-3,
.nova-root .products-s2 .price-4,
.nova-root .products-s2 .price-5,
.nova-root .products-s2 .price-6,
.nova-root .home-s2 .view-all-link,
.nova-root .home-s7 .view-more-link{width:fit-content;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#0A4FA5}
/* 21. products-s2 +5 more */

.nova-root .products-s2 .arrow-right,
.nova-root .products-s2 .arrow-right-2,
.nova-root .products-s2 .arrow-right-3,
.nova-root .products-s2 .arrow-right-4,
.nova-root .products-s2 .arrow-right-5,
.nova-root .products-s2 .arrow-right-6{width:13px;height:13px;position:relative;overflow:hidden;color:#6F7882}
/* 22. products-s2 */

.nova-root .products-s2 .load-more{width:100%;height:auto;display:flex;flex-direction:row;padding:12px 0px 0px 0px;box-sizing:border-box}
/* 23. products-s2 */

.nova-root .products-s2 .button-load-more{width:fit-content;height:44px;display:flex;flex-direction:row;gap:10px;padding:0px 26px 0px 26px;align-items:center;box-sizing:border-box;box-shadow:inset 0 0 0 1px #C9D2DC;border-radius:3px}
/* 1. products-s3 */

.nova-root .products-s3{width:100%;height:148px;display:flex;flex-direction:row;gap:30px;padding:0px var(--gutter) 0px var(--gutter);box-sizing:border-box;background-color:#0F1B27}
/* 2. products-s3 +3 more */

.nova-root .products-s3 .value,
.nova-root .products-s3 .value-2,
.nova-root .products-s3 .value-3,
.nova-root .products-s3 .value-4{width:fit-content;position:relative;font-size:30px;font-family:'Manrope',var(--font-head);font-weight:800;line-height:1.2;color:#FFFFFF}
/* 3. products-s3 +2 more */

.nova-root .products-s3 .rule,
.nova-root .products-s3 .rule-2,
.nova-root .products-s3 .rule-3{width:1px;height:44px;position:relative;overflow:hidden;background-color:#24323F}
/* 1. product-breadcrumb-bar */

.nova-root .product-breadcrumb-bar{width:100%;height:44px;display:flex;flex-direction:row;gap:10px;padding:0px var(--gutter) 0px var(--gutter);align-items:center;box-sizing:border-box;background-color:#F4F6F8}
/* 2. product-breadcrumb-bar */

.nova-root .product-breadcrumb-bar .current{width:fit-content;position:relative;font-size:10.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#141F2B}
/* 1. product-s1 */

.nova-root .product-s1{width:100%;height:auto;display:flex;flex-direction:row;gap:56px;padding:40px var(--gutter) 56px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. product-s1 */

.nova-root .product-s1 .gallery{width:620px;height:auto;display:flex;flex-direction:column;gap:12px;box-sizing:border-box}
/* 3. product-s1 */

.nova-root .product-s1 .main-image{width:620px;height:460px;position:relative;overflow:hidden;border-radius:2px;object-fit:cover}
/* 4. product-s1 */

.nova-root .product-s1 .thumb-1-active{width:146px;height:104px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0A4FA5;border-radius:2px;object-fit:cover}
/* 5. product-s1 +2 more */

.nova-root .product-s1 .thumb-2,
.nova-root .product-s1 .thumb-3,
.nova-root .product-s1 .thumb-4{width:146px;height:104px;position:relative;overflow:hidden;border-radius:2px;object-fit:cover}
/* 6. product-s1 */

.nova-root .product-s1 .title{width:100%;position:relative;font-size:36px;font-family:'Manrope',var(--font-head);font-weight:800;line-height:46px;color:#111C28}
/* 7. product-s1 */

.nova-root .product-s1 .description{width:100%;position:relative;font-size:13.5px;font-family:var(--font-body);font-weight:400;line-height:24px;color:#5B6875}
/* 8. product-s1 +3 more */

.nova-root .product-s1 .spec-material,
.nova-root .product-s1 .spec-process,
.nova-root .product-s1 .spec-tolerance,
.nova-root .product-s1 .spec-surface{width:100%;height:auto;display:flex;flex-direction:row;padding:11px 0px 11px 0px;box-sizing:border-box}
/* 9. product-s1 +3 more */

.nova-root .product-s1 .value,
.nova-root .product-s1 .value-2,
.nova-root .product-s1 .value-3,
.nova-root .product-s1 .value-4{width:fit-content;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#141F2B}
/* 10. product-s1 +2 more */

.nova-root .product-s1 .rule,
.nova-root .product-s1 .rule-2,
.nova-root .product-s1 .rule-3{width:100%;height:1px;position:relative;overflow:hidden;background-color:#E9EDF1}
/* 11. product-s1 */

.nova-root .product-s1 .price-block{width:100%;height:auto;display:flex;flex-direction:row;gap:12px;padding:16px 18px 16px 18px;box-sizing:border-box;border-radius:2px}
/* 12. product-s1 */

.nova-root .product-s1 .price{width:fit-content;position:relative;font-size:22px;font-family:'Manrope',var(--font-head);font-weight:800;line-height:1.2;color:#141F2B}
/* 13. product-s1 */

.nova-root .product-s1 .meta{width:fit-content;position:relative;font-size:11px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#636D77}
/* 14. product-s1 */

.nova-root .product-s1 .button-request-quote{flex:1 1 0;min-width:0;height:48px;display:flex;flex-direction:row;gap:9px;padding:0px 22px 0px 22px;justify-content:center;align-items:center;box-sizing:border-box;background-color:#0A4FA5;border-radius:3px}
/* 15. product-s1 */

.nova-root .product-s1 .button-datasheet{width:fit-content;height:48px;display:flex;flex-direction:row;gap:9px;padding:0px 22px 0px 22px;align-items:center;box-sizing:border-box;box-shadow:inset 0 0 0 1px #C9D2DC;border-radius:3px}
/* 16. product-s1 */

.nova-root .product-s1 .trust-row{width:100%;position:relative;font-size:11px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#6F7882}
/* 1. product-s2 */

.nova-root .product-s2{width:100%;height:auto;display:flex;flex-direction:column;gap:26px;padding:8px var(--gutter) 72px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. product-s2 +3 more */

.nova-root .product-s2 .tab-overview-active,
.nova-root .product-s2 .tab-specifications,
.nova-root .product-s2 .tab-materials,
.nova-root .product-s2 .tab-finishing{width:fit-content;height:48px;display:flex;flex-direction:column;gap:13px;padding:0px 20px 0px 20px;justify-content:center;box-sizing:border-box}
/* 3. product-s2 */

.nova-root .product-s2 .indicator{width:96px;height:2px;position:relative;overflow:hidden;background-color:#0A4FA5}
/* 4. product-s2 +2 more */

.nova-root .product-s2 .label-2,
.nova-root .product-s2 .label-3,
.nova-root .product-s2 .label-4{width:fit-content;position:relative;font-size:13.5px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#636D77}
/* 5. product-s2 +2 more */

.nova-root .product-s2 .indicator-2,
.nova-root .product-s2 .indicator-3,
.nova-root .product-s2 .indicator-4{width:96px;height:2px;position:relative;overflow:hidden;background-color:#FFFFFF}
/* 6. product-s2 */

.nova-root .product-s2 .tab-content{width:100%;height:auto;display:flex;flex-direction:row;gap:56px;box-sizing:border-box}
/* 7. product-s2 */

.nova-root .product-s2 .overview-column{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:18px;box-sizing:border-box}
/* 8. product-s2 */

.nova-root .product-s2 .h3{width:100%;position:relative;font-size:21px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#141F2B}
/* 9. product-s2 +1 more */

.nova-root .product-s2 .body,
.nova-root .product-s2 .body-lead-time{width:100%;position:relative;font-size:14px;font-family:var(--font-body);font-weight:400;line-height:26px;color:#5B6875}
/* 10. product-s2 +3 more */

.nova-root .product-s2 .text,
.nova-root .product-s2 .text-2,
.nova-root .product-s2 .text-3,
.nova-root .product-s2 .text-4{flex:1 1 0;min-width:0;position:relative;font-size:13px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#3A4753}
/* 11. product-s2 */

.nova-root .product-s2 .application-tags{width:100%;height:auto;display:flex;flex-direction:column;gap:10px;padding:10px 0px 0px 0px;box-sizing:border-box}
/* 12. product-s2 +1 more */

.nova-root .product-s2 .label-5,
.nova-root .product-s2 .tech-label{width:100%;position:relative;font-size:10.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#6D7883}
/* 13. product-s2 +2 more */

.nova-root .product-s2 .chip-ev,
.nova-root .product-s2 .chip-automation,
.nova-root .product-s2 .chip-medical{width:fit-content;height:auto;display:flex;flex-direction:row;padding:9px 14px 9px 14px;box-sizing:border-box;background-color:#E7EFF9;border-radius:2px}
/* 14. product-s2 +2 more */

.nova-root .product-s2 .chip-label,
.nova-root .product-s2 .chip-label-2,
.nova-root .product-s2 .chip-label-3{width:fit-content;position:relative;font-size:12px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#0A4FA5}
/* 15. product-s2 */

.nova-root .product-s2 .tech-data-column{width:420px;height:auto;display:flex;flex-direction:column;padding:2px 0px 0px 0px;box-sizing:border-box}
/* 16. product-s2 */

.nova-root .product-s2 .header-rule{width:100%;height:1px;position:relative;overflow:hidden;background-color:#141F2B}
/* 17. product-s2 +6 more */

.nova-root .product-s2 .row-material,
.nova-root .product-s2 .row-process,
.nova-root .product-s2 .row-tolerance,
.nova-root .product-s2 .row-finish,
.nova-root .product-s2 .row-max-size,
.nova-root .product-s2 .row-moq,
.nova-root .product-s2 .row-lead-time{width:100%;height:auto;display:flex;flex-direction:row;padding:14px 0px 14px 0px;box-sizing:border-box}
/* 18. product-s2 +6 more */

.nova-root .product-s2 .key,
.nova-root .product-s2 .key-2,
.nova-root .product-s2 .key-3,
.nova-root .product-s2 .key-4,
.nova-root .product-s2 .key-5,
.nova-root .product-s2 .key-6,
.nova-root .product-s2 .key-7{width:fit-content;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#5B6875}
/* 19. product-s2 */

.nova-root .product-s2 .spacer{width:100%;height:24px;position:relative;overflow:hidden}
/* 20. product-s2 */

.nova-root .product-s2 .spec-note{width:100%;height:auto;display:flex;flex-direction:column;gap:10px;padding:18px 18px 18px 18px;box-sizing:border-box;background-color:#F4F6F8;border-radius:2px}
/* 21. product-s2 */

.nova-root .product-s2 .note-text{width:100%;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:20px;color:#5B6875}
/* 22. product-s2 */

.nova-root .product-s2 .note-link{width:100%;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#0A4FA5}
/* 1. product-s3 */

.nova-root .product-s3{width:100%;height:auto;display:flex;flex-direction:column;gap:28px;padding:64px var(--gutter) 80px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. product-s3 */

.nova-root .product-s3 .eyebrow{width:fit-content;position:relative;font-size:10.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#0A4FA5}
/* 3. product-s3 */

.nova-root .product-s3 .h2{width:fit-content;position:relative;font-size:32px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#111C28}
/* 4. product-s3 +2 more */

.nova-root .product-s3 .card-body,
.nova-root .product-s3 .card-body-2,
.nova-root .product-s3 .card-body-3{width:100%;height:auto;display:flex;flex-direction:column;gap:8px;padding:20px 20px 22px 20px;box-sizing:border-box}
/* 5. product-s3 +2 more */

.nova-root .product-s3 .name,
.nova-root .product-s3 .name-2,
.nova-root .product-s3 .name-3{width:100%;position:relative;font-size:16px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.6;color:#111C28}
/* 6. product-s3 +4 more */

.nova-root .product-s3 .spec,
.nova-root .product-s3 .spec-2,
.nova-root .product-s3 .spec-3,
.nova-root .home-s4 .desc,
.nova-root .home-s4 .desc-2{width:100%;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#5B6875}
/* 7. product-s3 +2 more */

.nova-root .product-s3 .price,
.nova-root .product-s3 .price-2,
.nova-root .product-s3 .price-3{width:100%;position:relative;font-size:13px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#0A4FA5}
/* 1. home-s1 */

.nova-root .home-s1{width:100%;height:560px;position:relative;overflow:hidden;background-image:url('../img/home-s1-hero.png');background-size:cover;background-position:center}
/* 2. home-s1 */

.nova-root .home-s1 .overlay{width:1440px;height:560px;position:relative;overflow:hidden;position:absolute;left:0px;top:0px;background:linear-gradient(180deg, rgba(10,20,29,0.95) 0%, rgba(10,20,29,0.62) 55%, rgba(10,20,29,0.35) 100%)}
/* 3. home-s1 */

.nova-root .home-s1 .hero-content{width:700px;height:auto;display:flex;flex-direction:column;gap:22px;box-sizing:border-box;position:absolute;left:80px;top:126px}
/* 4. home-s1 */

.nova-root .home-s1 .eyebrow{width:100%;position:relative;font-size:11px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#7FB0E8}
/* 5. home-s1 */

.nova-root .home-s1 .h1{width:640px;position:relative;font-size:56px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:64px;color:#FFFFFF;white-space:pre-wrap}
/* 6. home-s1 */

.nova-root .home-s1 .subline{width:520px;position:relative;font-size:15px;font-family:var(--font-body);font-weight:400;line-height:27px;color:#C5D2E0}
/* 7. home-s1 */

.nova-root .home-s1 .hero-stats{width:fit-content;height:auto;display:flex;flex-direction:row;gap:38px;box-sizing:border-box}
/* 8. home-s1 +3 more */

.nova-root .home-s1 .stat-precision,
.nova-root .home-s1 .stat-volume,
.nova-root .home-s1 .stat-lead-time,
.nova-root .home-s1 .stat-global{width:fit-content;height:auto;display:flex;flex-direction:row;gap:11px;box-sizing:border-box}
/* 9. home-s1 +3 more */

.nova-root .home-s1 .icon,
.nova-root .home-s1 .icon-2,
.nova-root .home-s1 .icon-3,
.nova-root .home-s1 .icon-4{width:26px;height:26px;position:relative;overflow:hidden;color:#7FB0E8}
/* 10. home-s1 +3 more */

.nova-root .home-s1 .label,
.nova-root .home-s1 .label-2,
.nova-root .home-s1 .label-3,
.nova-root .home-s1 .label-4{width:fit-content;position:relative;font-size:11px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#A9BACB}
/* 11. home-s1 */

.nova-root .home-s1 .button-get-quote{width:fit-content;height:52px;display:flex;flex-direction:row;padding:0px 30px 0px 30px;align-items:center;box-sizing:border-box;background-color:#0A4FA5;border-radius:3px}
/* 12. home-s1 */

.nova-root .home-s1 .button-capabilities{width:fit-content;height:52px;display:flex;flex-direction:row;padding:0px 30px 0px 30px;align-items:center;box-sizing:border-box;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.50);border-radius:3px}
/* 13. home-s1 */

.nova-root .home-s1 .slider-dots{width:fit-content;height:auto;display:flex;flex-direction:row;gap:7px;box-sizing:border-box;position:absolute;left:1240px;top:496px}
/* 14. home-s1 */

.nova-root .home-s1 .dot-active{width:26px;height:3px;position:relative;overflow:hidden;background-color:#FFFFFF;border-radius:2px}
/* 15. home-s1 +1 more */

.nova-root .home-s1 .dot,
.nova-root .home-s1 .dot-2{width:8px;height:3px;position:relative;overflow:hidden;background-color:rgba(255,255,255,0.40);border-radius:2px}
/* 1. home-s2 */

.nova-root .home-s2{width:100%;height:auto;display:flex;flex-direction:column;gap:30px;padding:64px var(--gutter) 68px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. home-s2 */

.nova-root .home-s2 .head-left{width:fit-content;height:auto;display:flex;flex-direction:row;gap:32px;box-sizing:border-box}
/* 3. home-s2 +2 more */

.nova-root .home-s2 .title,
.nova-root .home-s6 .title,
.nova-root .home-s7 .title{width:fit-content;position:relative;font-size:30px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#111C28}
/* 4. home-s2 */

.nova-root .home-s2 .desc{width:320px;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:20px;color:#5B6875}
/* 5. home-s2 +3 more */

.nova-root .home-s2 .photo,
.nova-root .home-s2 .photo-2,
.nova-root .home-s2 .photo-3,
.nova-root .home-s2 .photo-4{width:100%;height:200px;position:relative;overflow:hidden;object-fit:cover}
/* 6. home-s2 +3 more */

.nova-root .home-s2 .body,
.nova-root .home-s2 .body-2,
.nova-root .home-s2 .body-3,
.nova-root .home-s2 .body-4{width:100%;height:auto;display:flex;flex-direction:column;gap:7px;padding:18px 18px 20px 18px;box-sizing:border-box}
/* 7. home-s2 +6 more */

.nova-root .home-s2 .name,
.nova-root .home-s2 .name-2,
.nova-root .home-s2 .name-3,
.nova-root .home-s2 .name-4,
.nova-root .home-s7 .title-2,
.nova-root .home-s7 .title-3,
.nova-root .home-s7 .title-4{width:100%;position:relative;font-size:13.5px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.6;color:#111C28}
/* 8. home-s2 +3 more */

.nova-root .home-s2 .specs,
.nova-root .home-s2 .specs-2,
.nova-root .home-s2 .specs-3,
.nova-root .home-s2 .specs-4{width:100%;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:400;line-height:19px;color:#5B6875;white-space:pre-wrap}
/* 1. home-s3 */

.nova-root .home-s3{width:100%;height:330px;display:flex;flex-direction:row;box-sizing:border-box;background-color:#0F1B27}
/* 2. home-s3 */

.nova-root .home-s3 .band-photo{width:620px;height:330px;position:relative;overflow:hidden;background-image:url('../img/home-band-photo.png');background-size:cover;background-position:center}
/* 3. home-s3 */

.nova-root .home-s3 .fade{width:620px;height:330px;position:relative;overflow:hidden;position:absolute;left:0px;top:0px;background:linear-gradient(180deg, rgba(15,27,39,0.15) 0%, rgba(15,27,39,0.55) 60%, #0F1B27 100%)}
/* 4. home-s3 */

.nova-root .home-s3 .band-content{flex:1 1 0;min-width:0;align-self:stretch;display:flex;flex-direction:column;gap:16px;padding:0px var(--gutter) 0px 48px;justify-content:center;box-sizing:border-box}
/* 5. home-s3 */

.nova-root .home-s3 .slash{width:fit-content;position:relative;font-size:28px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#4C8FE0}
/* 6. home-s3 */

.nova-root .home-s3 .desc{width:560px;position:relative;font-size:13px;font-family:var(--font-body);font-weight:400;line-height:22px;color:#A9BACB}
/* 7. home-s3 +4 more */

.nova-root .home-s3 .cap-cnc-milling,
.nova-root .home-s3 .cap-cnc-turning,
.nova-root .home-s3 .cap-drilling,
.nova-root .home-s3 .cap-sheet-metal,
.nova-root .home-s3 .cap-surface-finishing{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:9px;box-sizing:border-box}
/* 8. home-s3 +4 more */

.nova-root .home-s3 .icon,
.nova-root .home-s3 .icon-2,
.nova-root .home-s3 .icon-3,
.nova-root .home-s3 .icon-4,
.nova-root .home-s3 .icon-5{width:24px;height:24px;position:relative;overflow:hidden;color:#7FB0E8}
/* 9. home-s3 +4 more */

.nova-root .home-s3 .sub,
.nova-root .home-s3 .sub-2,
.nova-root .home-s3 .sub-3,
.nova-root .home-s3 .sub-4,
.nova-root .home-s3 .sub-5{width:fit-content;position:relative;font-size:10.5px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#8FA2B5}
/* 10. home-s3 +3 more */

.nova-root .home-s3 .sep,
.nova-root .home-s3 .sep-2,
.nova-root .home-s3 .sep-3,
.nova-root .home-s3 .sep-4{width:1px;height:62px;position:relative;overflow:hidden;background-color:rgba(255,255,255,0.20)}
/* 1. home-s4 +1 more */

.nova-root .home-s4,
.nova-root .home-s6{width:100%;height:auto;display:flex;flex-direction:column;padding:60px var(--gutter) 64px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. home-s4 +1 more */

.nova-root .home-s4 .two-column,
.nova-root .home-s6 .factory-row{width:100%;height:auto;display:flex;flex-direction:row;gap:48px;box-sizing:border-box}
/* 3. home-s4 +1 more */

.nova-root .home-s4 .title,
.nova-root .home-s4 .title-2{width:fit-content;position:relative;font-size:22px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#111C28}
/* 4. home-s4 +1 more */

.nova-root .home-s4 .slash,
.nova-root .home-s4 .slash-2{width:fit-content;position:relative;font-size:22px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#0A4FA5}
/* 5. home-s4 +5 more */

.nova-root .home-s4 .mat-aluminum,
.nova-root .home-s4 .mat-stainless,
.nova-root .home-s4 .mat-carbon,
.nova-root .home-s4 .mat-brass,
.nova-root .home-s4 .mat-titanium,
.nova-root .home-s4 .mat-plastics{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:6px;box-sizing:border-box}
/* 6. home-s4 +5 more */

.nova-root .home-s4 .swatch,
.nova-root .home-s4 .swatch-2,
.nova-root .home-s4 .swatch-3,
.nova-root .home-s4 .swatch-4,
.nova-root .home-s4 .swatch-5,
.nova-root .home-s4 .swatch-6{width:100%;height:70px;position:relative;overflow:hidden;border-radius:2px;object-fit:cover}
/* 7. home-s4 +5 more */

.nova-root .home-s4 .name,
.nova-root .home-s4 .name-2,
.nova-root .home-s4 .name-3,
.nova-root .home-s4 .name-4,
.nova-root .home-s4 .name-5,
.nova-root .home-s4 .name-6{width:100%;height:24px;position:relative;font-size:10.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#141F2B}
/* 8. home-s4 +5 more */

.nova-root .home-s4 .grade,
.nova-root .home-s4 .grade-2,
.nova-root .home-s4 .grade-3,
.nova-root .home-s4 .grade-4,
.nova-root .home-s4 .grade-5,
.nova-root .home-s4 .grade-6{width:100%;position:relative;font-size:9px;font-family:var(--font-body);font-weight:400;line-height:13px;color:#6D7883}
/* 9. home-s4 */

.nova-root .home-s4 .divider{width:1px;align-self:stretch;position:relative;overflow:hidden;background-color:#E3E8EE}
/* 10. home-s4 +5 more */

.nova-root .home-s4 .industry-aerospace,
.nova-root .home-s4 .industry-medical,
.nova-root .home-s4 .industry-automation,
.nova-root .home-s4 .industry-semiconductor,
.nova-root .home-s4 .industry-energy,
.nova-root .home-s4 .industry-transportation{flex:1 1 0;min-width:0;height:94px;display:flex;flex-direction:column;gap:9px;padding:14px 14px 14px 14px;justify-content:center;box-sizing:border-box;background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #E3E8EE;border-radius:2px}
/* 11. home-s4 +5 more */

.nova-root .home-s4 .label,
.nova-root .home-s4 .label-2,
.nova-root .home-s4 .label-3,
.nova-root .home-s4 .label-4,
.nova-root .home-s4 .label-5,
.nova-root .home-s4 .label-6{width:fit-content;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#141F2B}
/* 1. home-s5 */

.nova-root .home-s5{width:100%;height:264px;display:flex;flex-direction:row;box-sizing:border-box;background-color:#0F1B27}
/* 2. home-s5 */

.nova-root .home-s5 .quality-photo{width:560px;height:264px;position:relative;overflow:hidden;background-image:url('../img/home-quality-photo.png');background-size:cover;background-position:center}
/* 3. home-s5 */

.nova-root .home-s5 .fade{width:560px;height:264px;position:relative;overflow:hidden;position:absolute;left:0px;top:0px;background:linear-gradient(180deg, rgba(15,27,39,0.10) 0%, rgba(15,27,39,0.60) 65%, #0F1B27 100%)}
/* 4. home-s5 */

.nova-root .home-s5 .quality-content{flex:1 1 0;min-width:0;align-self:stretch;display:flex;flex-direction:column;gap:14px;padding:0px var(--gutter) 0px 44px;justify-content:center;box-sizing:border-box}
/* 5. home-s5 */

.nova-root .home-s5 .slash{width:fit-content;position:relative;font-size:26px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#4C8FE0}
/* 6. home-s5 */

.nova-root .home-s5 .desc{width:560px;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:21px;color:#A9BACB}
/* 7. home-s5 +4 more */

.nova-root .home-s5 .q-iso,
.nova-root .home-s5 .q-cmm,
.nova-root .home-s5 .q-spc,
.nova-root .home-s5 .q-traceability,
.nova-root .home-s5 .q-ppap{flex:1 1 0;min-width:0;height:auto;display:flex;flex-direction:column;gap:8px;box-sizing:border-box}
/* 8. home-s5 +4 more */

.nova-root .home-s5 .icon,
.nova-root .home-s5 .icon-2,
.nova-root .home-s5 .icon-3,
.nova-root .home-s5 .icon-4,
.nova-root .home-s5 .icon-5{width:22px;height:22px;position:relative;overflow:hidden;color:#7FB0E8}
/* 9. home-s5 +4 more */

.nova-root .home-s5 .label,
.nova-root .home-s5 .label-2,
.nova-root .home-s5 .label-3,
.nova-root .home-s5 .label-4,
.nova-root .home-s5 .label-5{width:100%;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:600;line-height:17px;color:#FFFFFF;white-space:pre-wrap}
/* 10. home-s5 +3 more */

.nova-root .home-s5 .sep,
.nova-root .home-s5 .sep-2,
.nova-root .home-s5 .sep-3,
.nova-root .home-s5 .sep-4{width:1px;height:58px;position:relative;overflow:hidden;background-color:rgba(255,255,255,0.20)}
/* 1. home-s6 */

.nova-root .home-s6 .factory-copy{width:470px;height:auto;display:flex;flex-direction:column;gap:18px;box-sizing:border-box}
/* 2. home-s6 */

.nova-root .home-s6 .desc{width:420px;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:22px;color:#5B6875}
/* 3. home-s6 */

.nova-root .home-s6 .factory-stats{width:fit-content;height:auto;display:flex;flex-direction:row;gap:15px;padding:6px 0px 2px 0px;box-sizing:border-box}
/* 4. home-s6 +3 more */

.nova-root .home-s6 .fstat-area,
.nova-root .home-s6 .fstat-machines,
.nova-root .home-s6 .fstat-staff,
.nova-root .home-s6 .fstat-years{width:fit-content;height:auto;display:flex;flex-direction:column;gap:4px;box-sizing:border-box}
/* 5. home-s6 +3 more */

.nova-root .home-s6 .value,
.nova-root .home-s6 .value-2,
.nova-root .home-s6 .value-3,
.nova-root .home-s6 .value-4{width:fit-content;position:relative;font-size:26px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.2;color:#0A4FA5}
/* 6. home-s6 +3 more */

.nova-root .home-s6 .label,
.nova-root .home-s6 .label-2,
.nova-root .home-s6 .label-3,
.nova-root .home-s6 .label-4{width:fit-content;position:relative;font-size:11px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#5B6875}
/* 7. home-s6 */

.nova-root .home-s6 .button-factory{width:fit-content;height:46px;display:flex;flex-direction:row;gap:10px;padding:0px 24px 0px 24px;align-items:center;box-sizing:border-box;background-color:#0A4FA5;border-radius:3px}
/* 8. home-s6 */

.nova-root .home-s6 .factory-photos{flex:1 1 0;min-width:0;height:420px;display:flex;flex-direction:row;gap:16px;box-sizing:border-box}
/* 9. home-s6 */

.nova-root .home-s6 .photo-main{flex:1 1 0;min-width:0;height:420px;position:relative;overflow:hidden;border-radius:2px;object-fit:cover}
/* 10. home-s6 */

.nova-root .home-s6 .photo-stack{width:240px;height:420px;display:flex;flex-direction:column;gap:16px;justify-content:center;box-sizing:border-box}
/* 11. home-s6 +1 more */

.nova-root .home-s6 .photo-a,
.nova-root .home-s6 .photo-b{width:240px;height:202px;position:relative;overflow:hidden;border-radius:2px;object-fit:cover}
/* 1. home-s7 */

.nova-root .home-s7{width:100%;height:auto;display:flex;flex-direction:column;gap:26px;padding:60px var(--gutter) 72px var(--gutter);box-sizing:border-box;background-color:#FFFFFF}
/* 2. home-s7 */

.nova-root .home-s7 .head-left{width:fit-content;height:auto;display:flex;flex-direction:row;gap:30px;box-sizing:border-box}
/* 3. home-s7 */

.nova-root .home-s7 .desc{width:420px;position:relative;font-size:12.5px;font-family:var(--font-body);font-weight:400;line-height:1.6;color:#5B6875}
/* 4. home-s7 +2 more */

.nova-root .home-s7 .case-aerospace-bracket,
.nova-root .home-s7 .case-medical-component,
.nova-root .home-s7 .case-automation-housing{flex:1 1 0;min-width:0;height:212px;display:flex;flex-direction:row;box-sizing:border-box;background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #E3E8EE;border-radius:2px}
/* 5. home-s7 +2 more */

.nova-root .home-s7 .photo,
.nova-root .home-s7 .photo-2,
.nova-root .home-s7 .photo-3{width:156px;height:212px;position:relative;overflow:hidden;object-fit:cover}
/* 6. home-s7 +2 more */

.nova-root .home-s7 .body,
.nova-root .home-s7 .body-2,
.nova-root .home-s7 .body-3{flex:1 1 0;min-width:0;align-self:stretch;display:flex;flex-direction:column;gap:5px;padding:16px 16px 14px 16px;justify-content:center;box-sizing:border-box}
/* 7. home-s7 +2 more */

.nova-root .home-s7 .sub,
.nova-root .home-s7 .sub-2,
.nova-root .home-s7 .sub-3{width:100%;position:relative;font-size:11.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;color:#0A4FA5}
/* 8. home-s7 +2 more */

.nova-root .home-s7 .specs,
.nova-root .home-s7 .specs-2,
.nova-root .home-s7 .specs-3{width:100%;position:relative;font-size:10.5px;font-family:var(--font-body);font-weight:400;line-height:18px;color:#5B6875;white-space:pre-wrap}
/* 9. home-s7 +2 more */

.nova-root .home-s7 .arrow-row,
.nova-root .home-s7 .arrow-row-2,
.nova-root .home-s7 .arrow-row-3{width:100%;flex:1 1 0;display:flex;flex-direction:row;box-sizing:border-box}
/* 10. home-s7 +2 more */

.nova-root .home-s7 .arrow-button,
.nova-root .home-s7 .arrow-button-2,
.nova-root .home-s7 .arrow-button-3{width:28px;height:28px;position:relative;overflow:hidden;background-color:#0A4FA5;border-radius:2px}
/* 11. home-s7 +2 more */

.nova-root .home-s7 .arrow,
.nova-root .home-s7 .arrow-2,
.nova-root .home-s7 .arrow-3{width:28px;height:28px;position:relative;overflow:hidden;position:absolute;left:0px;top:0px;color:#FFFFFF}

/* ==========================================================================
   Interactions — states that only exist at runtime, not in the static design
   ========================================================================== */

/* ---------- real form controls (replace the mocked fields) ---------- */

.nova-root input.input,
.nova-root input.input-2,
.nova-root input.input-3,
.nova-root textarea.textarea,
.nova-root .search-input{border: 0;
  background: none;
  font: inherit;
  color: var(--heading);
  width: 100%;
  padding: 0;
  margin: 0;
  outline: none;
  -webkit-appearance: none;
  appearance: none;}
.nova-root input.input,
.nova-root input.input-2,
.nova-root input.input-3{height: 100%;}
.nova-root textarea.textarea{resize: vertical;
  min-height: 96px;
  height: 112px;
  flex: 0 0 auto;
  line-height: 1.55;
  background: #fff;
  padding: 13px 14px;
  box-shadow: inset 0 0 0 1px #DCE2E9;
  border-radius: 2px;}
.nova-root textarea.textarea:focus-visible{box-shadow: inset 0 0 0 1px var(--steel);}
/* native select, drawn to match the mocked dropdown it replaces */

.nova-root select.select{-webkit-appearance: none;
  appearance: none;
  font: inherit;
  color: var(--heading);
  cursor: pointer;
  border: 0;
  outline: none;
  padding-right: 36px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234C5967' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 11px 11px;}
.nova-root select.select:focus-visible{outline: 2px solid var(--bright); outline-offset: 2px;}
.nova-root input.input::placeholder,
.nova-root input.input-2::placeholder,
.nova-root input.input-3::placeholder,
.nova-root textarea.textarea::placeholder{color: #7C8896; opacity: 1;}
.nova-root input.input.is-error,
.nova-root input.input-2.is-error,
.nova-root input.input-3.is-error,
.nova-root textarea.textarea.is-error{box-shadow: inset 0 0 0 1px #C0392B;}
/* focus ring on the wrapper look — keep it subtle */

.nova-root .field-full-name:focus-within,
.nova-root .field-email:focus-within,
.nova-root .field-company:focus-within,
.nova-root .field-details:focus-within{box-shadow: inset 0 0 0 1px var(--bright);}
/* ---------- news toolbar ---------- */

.nova-root .filters > div{cursor: pointer; transition: background .18s, color .18s;}
.nova-root .filters > div *{transition: color .18s;}
.nova-root .filters > div.is-active{background: var(--navy);}
.nova-root .filters > div.is-active *{color: #fff;}
.nova-root .filters > div:not(.is-active):hover{background: var(--tint);}

/* 动态分类筛选条：news-s2 / cases-s3 的分类现在由后台实时生成
   （见 PME_Data::news_filters_html / case_filters_html），此处给生成的
   tab 套用设计稿外观——未选中为白卡描边，选中为海军蓝实心。
   容器 .filters 仅承载动态 tab，搜索框是同级独立元素，不会受影响。 */
.nova-root .filters > div,
.nova-root .filter-tabs > div{
  height:34px;display:flex;flex-direction:row;align-items:center;
  padding:0 15px;box-sizing:border-box;border-radius:3px;
  background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #E3E8EE;
}
.nova-root .filter-tabs > div{height:32px;padding:0 14px;}
.nova-root .filters > div.is-active,
.nova-root .filter-tabs > div.is-active{box-shadow:none;}
.nova-root .filter-tabs > div.is-active{background: var(--navy);}
.nova-root .filter-tabs > div.is-active *{color:#fff;}
.nova-root .filter-tabs > div:not(.is-active):hover{background: var(--tint);}
.nova-root .filters > div > .label,
.nova-root .filter-tabs > div > .label{
  color:#4C5967;font-size:12.5px;font-family:var(--font-body);font-weight:600;line-height:1.6;
}
.nova-root .filter-tabs > div > .label{font-size:12px;}

/* 选中态（海军蓝底）的标签必须是白字：.label 直挂规则特异性高于 is-active *，需显式覆盖。 */
.nova-root .filters > div.is-active > .label,
.nova-root .filter-tabs > div.is-active > .label{color:#fff;}

.nova-root .search-field{position: relative;}
.nova-root .search-input{font-size: 13px;}
.nova-root .search-input::-webkit-search-cancel-button{-webkit-appearance: none;}
.nova-root .news-empty{padding: 34px 0 8px;
  color: var(--muted);
  font-size: 14px;}
/* ---------- product tabs ---------- */
/* the design already ships one 2px indicator per tab — recolour that bar
   instead of drawing a second underline under the whole cell */

.nova-root .tab-bar > div{cursor: pointer;}
.nova-root .tab-bar > div > [class*="indicator"]{background: #fff;
  transition: background .18s;}
.nova-root .tab-bar > div > [class*="label"]{transition: color .18s;}
.nova-root .tab-bar > div:not(.is-active) > [class*="label"]{color: #636D77;}
.nova-root .tab-bar > div.is-active > [class*="indicator"]{background: var(--steel);}
.nova-root .tab-bar > div.is-active > [class*="label"]{color: var(--navy);}
.nova-root .tab-bar > div:not(.is-active):hover > [class*="label"]{color: var(--navy);}
/* products archive category selector — the first card is dark by default, so the
   active state is a ring rather than a colour change */

.nova-root .category-row > div{cursor: pointer; transition: box-shadow .18s, transform .18s;}
.nova-root .category-row > div.is-active{box-shadow: inset 0 0 0 2px var(--bright);}
.nova-root .category-row > div:not(.is-active):hover{box-shadow: inset 0 0 0 1px var(--line);}
/* ---------- submit button ---------- */

.nova-root .button-submit{cursor: pointer; transition: background .18s, transform .18s;}
.nova-root .button-submit:hover{background: var(--deep);}
.nova-root .button-submit.is-done{background: #17794A; cursor: default;}
/* ---------- back to top ---------- */

.nova-root .to-top{position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 90;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  box-shadow: 0 8px 22px rgba(10, 39, 71, .28);
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity .25s, transform .25s, background .18s;}
.nova-root .to-top .i{width: 18px; height: 18px;}
.nova-root .to-top.is-visible{opacity: 1; pointer-events: auto; transform: none;}
.nova-root .to-top:hover{background: var(--steel);}
/* ---------- generic focus states ---------- */

.nova-root a:focus-visible,
.nova-root button:focus-visible,
.nova-root input:focus-visible,
.nova-root textarea:focus-visible{outline: 2px solid var(--bright); outline-offset: 2px;}
/* ---------- image hover (cards only, never layout-shifting) ---------- */
@media (hover: hover){
.nova-root [data-card] img,
.nova-root .case-image,
.nova-root [class*="thumbnail"]{transition: filter .3s, opacity .3s;}
.nova-root [data-card]:hover img{filter: saturate(1.06) contrast(1.02);}

}
.nova-news [data-card]:hover img{filter: none;}
/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
.nova-root *{animation-duration: .001ms !important; transition-duration: .001ms !important;}

}

/* 动态卡片改为可点击链接：保持设计稿外观，去除链接默认下划线/颜色。 */
.nova-root a[data-card]{color:inherit;text-decoration:none}
.nova-root a[data-card]:hover{color:inherit}
.nova-root a.featured-card{color:inherit;text-decoration:none}
.nova-root a.featured-card:hover{color:inherit}

/* 产品详情页动态化补丁：链接化节点与图库交互保持设计稿外观。 */
.nova-root .product-s1 .thumbnail-row img{cursor:pointer}
.nova-root .product-s1 .thumbnail-row img.is-active{box-shadow:inset 0 0 0 1px #0A4FA5;border-radius:2px}
.nova-root a.button-request-quote,
.nova-root a.button-datasheet{color:inherit;text-decoration:none}
.nova-root a.view-all-link{color:inherit;text-decoration:none}
/* 按钮 / 卡片链接化（公司简介下载、首屏两颗、设备阵容、工厂实力）：保持设计稿配色与排版 */
.nova-root a.button-download-profile,
.nova-root a.button-get-quote,
.nova-root a.button-capabilities{color:inherit;text-decoration:none;cursor:pointer}
.nova-root a.button-download-profile:hover{box-shadow:inset 0 0 0 1px #0A4FA5}
.nova-root a.button-download-profile:hover .button-label{color:#0A4FA5}
.nova-root a.button-get-quote:hover{background-color:#0A4390}
.nova-root a.button-capabilities:hover{box-shadow:inset 0 0 0 1px #FFFFFF}
.nova-root a.view-all-link:hover{text-decoration:underline;text-underline-offset:3px}
.nova-root a.machine-vmc,
.nova-root a.machine-hmc,
.nova-root a.machine-turning,
.nova-root a.machine-5-axis{cursor:pointer}
.nova-root a.button-download-profile:focus-visible,
.nova-root a.button-get-quote:focus-visible,
.nova-root a.button-capabilities:focus-visible,
.nova-root a.button-factory:focus-visible,
.nova-root a.view-all-link:focus-visible,
.nova-root a.machine-vmc:focus-visible,
.nova-root a.machine-hmc:focus-visible,
.nova-root a.machine-turning:focus-visible,
.nova-root a.machine-5-axis:focus-visible{outline:2px solid #0A4FA5;outline-offset:2px}
.nova-root a.note-link{color:inherit;text-decoration:none}
.nova-root .product-s3 a[class*="card-"]{color:inherit;text-decoration:none}
.nova-root .product-s1 .thumb-1{width:146px;height:104px;position:relative;overflow:hidden;border-radius:2px;object-fit:cover}

/* ==========================================================================
   设计稿对齐补丁 v1.4.0
   1) 全宽逃逸：Elementor 容器默认 boxed，设计稿要求区块背景铺满视口
   2) 页头配色：设计稿为「白 util 条 + 深蓝 nav 条」
   3) 返回顶部按钮：JS 挂在 body 下，需脱离 .nova-root 作用域
   ========================================================================== */

/* ---------- 1. 全宽 ---------- */
.nova-root{width:100%;box-sizing:border-box}
.elementor-element.pme-bleed,
.elementor-element:has(> .elementor-widget-container > .nova-root){
  width:100% !important;
  max-width:100% !important;
  --width:100% !important;
  --container-max-width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
/* 内容仍在 1440 设计栅格内居中，与设计稿一致 */
.elementor-element.pme-bleed > .elementor-widget-container,
.elementor-element:has(> .elementor-widget-container > .nova-root) > .elementor-widget-container{
  width:100% !important;
}

/* ---------- 2. 页头：白 util + 深蓝 nav ---------- */
.nova-root .site-header{background:var(--white)}
.nova-root .util{background:var(--white);color:#5B6875;border-bottom:1px solid var(--line)}
.nova-root .brand__text b{color:var(--heading)}
.nova-root .brand__text i{color:#8E9CAB}
.nova-root .util__tag{color:#7A8794;border-left-color:var(--line)}
.nova-root .util__contact a{color:#3F4C5A}
.nova-root .util__contact a:hover{color:var(--steel)}
.nova-root .util__contact .i{color:var(--steel)}

.nova-root .nav{background:var(--navy);border-bottom:0}
.nova-root .nav__links a{color:rgba(255,255,255,.82)}
.nova-root .nav__links a:hover,
.nova-root .nav__links a[aria-current="page"]{color:#fff}
.nova-root .nav__links a::after{background:var(--bright)}
.nova-root .icon-btn{color:rgba(255,255,255,.82)}
.nova-root .icon-btn:hover{color:#fff}
.nova-root .nav__sep{background:rgba(255,255,255,.22)}
.nova-root .burger span{background:#fff}
/* 下拉箭头（设计稿：CNC Machining / Metal Processing / About Us） */
.nova-root .nav__links a .caret{width:9px;height:9px;flex:0 0 auto;opacity:.75}
/* 后台菜单输出时保持同一套配色 */
.nova-root .nav__links .pme-menu,
.nova-root .nav__links ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.nova-root .nav__links li{position:relative}
.nova-root .nav__links li a{height:62px}
.nova-root .nav__links .sub-menu{position:absolute;left:-14px;top:100%;min-width:210px;display:none;
  flex-direction:column;align-items:stretch;gap:0;background:var(--white);
  box-shadow:0 16px 36px rgba(10,39,71,.16);border-radius:4px;padding:8px 0;z-index:70}
.nova-root .nav__links li:hover > .sub-menu{display:flex}
.nova-root .nav__links .sub-menu a{height:auto;padding:9px 18px;color:#3F4C5A;font-size:12.5px}
.nova-root .nav__links .sub-menu a::after{display:none}
.nova-root .nav__links .sub-menu a:hover{color:var(--steel);background:var(--tint)}

/* ---------- 3. 返回顶部（body 级，不受 .nova-root 约束） ---------- */
.to-top{position:fixed;right:24px;bottom:24px;z-index:9999;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:#0A2747;color:#fff;text-decoration:none;
  box-shadow:0 8px 22px rgba(10,39,71,.28);
  opacity:0;pointer-events:none;transform:translateY(10px);
  transition:opacity .25s,transform .25s,background .18s;}
.to-top .i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.to-top.is-visible{opacity:1;pointer-events:auto;transform:none}
.to-top:hover{background:#0A4FA5;color:#fff}
@media (max-width:782px){.to-top{right:16px;bottom:16px;width:40px;height:40px}}

/* 全宽兜底：Elementor 容器内层（.e-con-inner）也有限宽，必须一起放开 */
.elementor-element.pme-bleed > .e-con-inner,
.elementor-element.pme-bleed > .elementor-widget-container,
.elementor-element.pme-bleed > .e-con-inner > .elementor-widget-container{
  width:100% !important;
  max-width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
  --width:100% !important;
  --container-max-width:100% !important;
}
/* 1280 以下保留 util 副标（设计稿页头信息完整），只压缩字号 */
@media (max-width:1280px) and (min-width:1081px){
  .nova-root .util__tag{display:block;font-size:10px;letter-spacing:.3px;padding-left:18px}
  .nova-root .util__in{gap:20px}
  .nova-root .util__contact{gap:18px}
}

/* --------------------------------------------------------------------------
   800px 宽度枷锁：WordPress 全局样式
   :root{--wp--style--global--content-size:800px}
   .is-layout-constrained > :where(...){max-width:800px;margin:auto !important}
   把页头/页脚/区块容器压成居中窄条。以下规则以更高特异性 + !important 解开。
   -------------------------------------------------------------------------- */
[data-nova-widget].nova-root,
[data-nova-widget].nova-root > header,
[data-nova-widget].nova-root > footer{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.elementor-location-header,
.elementor-location-footer{width:100% !important;max-width:none !important}
.elementor-location-header > .e-con,
.elementor-location-footer > .e-con,
.elementor-location-header .e-con,
.elementor-location-footer .e-con,
.elementor-location-header .elementor-widget-container,
.elementor-location-footer .elementor-widget-container{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
/* 页面主体区块同样解除限制，背景交由区块自身铺满 */
.elementor-element.pme-bleed,
.elementor-element:has(> .elementor-widget-container > .nova-root),
.is-layout-constrained > .elementor-element{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* ---------- 产品详情页：单栏详情框（读取后台正文） ---------- */
.nova-root .pme-details{padding:52px 0 12px}
.nova-root .pme-details__title{font-family:var(--font-head);font-size:22px;line-height:1.3;
  font-weight:700;letter-spacing:-.01em;color:var(--heading);margin:0 0 22px}
.nova-root .pme-details__body{max-width:920px;font-size:14.5px;line-height:1.85;color:var(--body)}
.nova-root .pme-details__body > *:first-child{margin-top:0}
.nova-root .pme-details__body > *:last-child{margin-bottom:0}
.nova-root .pme-details__body p{margin:0 0 16px}
.nova-root .pme-details__body h2,
.nova-root .pme-details__body h3,
.nova-root .pme-details__body h4{font-family:var(--font-head);color:var(--heading);
  font-weight:700;line-height:1.35;margin:28px 0 12px}
.nova-root .pme-details__body h2{font-size:19px}
.nova-root .pme-details__body h3{font-size:17px}
.nova-root .pme-details__body h4{font-size:15px}
.nova-root .pme-details__body ul,
.nova-root .pme-details__body ol{margin:0 0 16px;padding-left:20px}
.nova-root .pme-details__body li{margin:0 0 7px}
.nova-root .pme-details__body li::marker{color:var(--steel)}
.nova-root .pme-details__body strong{color:var(--heading);font-weight:600}
.nova-root .pme-details__body a{color:var(--steel);text-decoration:none;border-bottom:1px solid rgba(10,79,165,.28)}
.nova-root .pme-details__body a:hover{border-bottom-color:var(--steel)}
.nova-root .pme-details__body img{max-width:100%;height:auto;border-radius:4px;margin:6px 0 18px;display:block}
.nova-root .pme-details__body table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:13.5px}
.nova-root .pme-details__body th,
.nova-root .pme-details__body td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
.nova-root .pme-details__body th{color:var(--heading);font-weight:600;background:var(--soft)}
.nova-root .pme-details__body blockquote{margin:0 0 18px;padding:12px 18px;border-left:3px solid var(--steel);
  background:var(--tint);color:#3F4C5A;border-radius:0 4px 4px 0}
@media (max-width:900px){.nova-root .pme-details{padding:36px 0 8px}}

/* ==========================================================================
   产品列表页：分类驱动的动态目录（v1.5.0）
   Shop by Process 卡片 / 筛选栏分类行 / 空态 / 无刷新切换状态
   ========================================================================== */

/* ---------- Shop by Process：卡片改为链接（外观沿用设计稿） ---------- */
.nova-root .products-s1 .category-row{flex-wrap:wrap}
.nova-root .products-s1 .category-row > a{min-width:150px;color:inherit;text-decoration:none;
  cursor:pointer;transition:box-shadow .18s}
.nova-root .products-s1 .category-row > a:hover{box-shadow:inset 0 0 0 1px var(--line)}
.nova-root .products-s1 .category-row > a.is-active,
.nova-root .products-s1 .category-row > a.is-active:hover{box-shadow:inset 0 0 0 2px var(--bright)}
/* 选中态：海军蓝底 + 白字（列表页分类 whichever is selected = blue）。
   仅作用于动态卡（带 pme-cat-card 的 <a>）；设计稿兜底卡是 <div> 且不带标记，保持原配色。 */
.nova-root .products-s1 .category-row > a.pme-cat-card.is-active{background-color:#0A2747}
.nova-root .products-s1 .category-row > a.pme-cat-card.is-active .name,
.nova-root .products-s1 .category-row > a.pme-cat-card.is-active .name-2,
.nova-root .products-s1 .category-row > a.pme-cat-card.is-active .name-3,
.nova-root .products-s1 .category-row > a.pme-cat-card.is-active .name-4,
.nova-root .products-s1 .category-row > a.pme-cat-card.is-active .name-5{color:#FFFFFF}
.nova-root .products-s1 .category-row > a.pme-cat-card.is-active .count,
.nova-root .products-s1 .category-row > a.pme-cat-card.is-active .count-2,
.nova-root .products-s1 .category-row > a.pme-cat-card.is-active .count-3,
.nova-root .products-s1 .category-row > a.pme-cat-card.is-active .count-4,
.nova-root .products-s1 .category-row > a.pme-cat-card.is-active .count-5{color:#9DC4EE}
/* All Products 未选中时回落浅色（不再常驻海军蓝），只有真正选中时才变蓝 */
.nova-root .products-s1 .category-all-products.pme-cat-card:not(.is-active){background-color:#F7F9FA}
.nova-root .products-s1 .category-all-products.pme-cat-card:not(.is-active) .name{color:#141F2B}
.nova-root .products-s1 .category-all-products.pme-cat-card:not(.is-active) .count{color:#6F7882}
/* 后台上传的分类图片填满 40×40 图标槽；未上传时回落到设计稿线性图标 */
.nova-root .products-s1 .pme-cat-image{width:100%;height:100%;display:block;
  object-fit:cover;border-radius:2px}

/* ---------- 筛选栏：分类行（替换设计稿的静态物料/公差行） ---------- */
.nova-root .products-s2 .pme-filter-head{margin:0 0 8px}
.nova-root .products-s2 .pme-cat-row{width:100%;height:34px;display:flex;flex-direction:row;gap:10px;
  align-items:center;box-sizing:border-box;color:inherit;text-decoration:none;cursor:pointer}
.nova-root .products-s2 .pme-cat-box{width:15px;height:15px;flex:0 0 auto;box-sizing:border-box;
  background-color:#FFFFFF;box-shadow:inset 0 0 0 1px #C9D2DC;border-radius:2px;
  transition:background-color .15s,box-shadow .15s}
.nova-root .products-s2 .pme-cat-row.is-active .pme-cat-box{background-color:#0A4FA5;box-shadow:none}
.nova-root .products-s2 .pme-cat-label{font-size:12.5px;font-family:var(--font-body);font-weight:600;
  line-height:1.6;color:#141F2B;transition:color .15s}
.nova-root .products-s2 .pme-cat-row:hover .pme-cat-label,
.nova-root .products-s2 .pme-cat-row.is-active .pme-cat-label{color:var(--steel)}

/* ---------- 结果计数 / 空态 / 加载态 ---------- */
.nova-root .products-s2 .product-grid{transition:opacity .18s}
.nova-root .products-s2 .product-grid.is-loading{opacity:.4;pointer-events:none}
.nova-root .products-s2 .pme-catalog-empty{width:100%;padding:56px 0 40px;
  font-size:14px;line-height:1.7;color:var(--muted)}

/* 新闻列表 AJAX 搜索：网格加载态与空态（复用 .news-empty） */
.nova-root .news-s2 .news-list{transition:opacity .18s}
.nova-root .news-s2 .news-list.is-loading{opacity:.4;pointer-events:none}

/* ---------- Custom Part Card：按钮可配置链接 ---------- */
.nova-root .products-s2 a.button-send-drawing{color:inherit;text-decoration:none;
  transition:background-color .18s}
.nova-root .products-s2 a.button-send-drawing:hover{background-color:var(--deep)}

/* ==========================================================================
   关于我们 · 发展历程轮播的响应式列数（v1.10.0）
   桌面一屏 5 张；窄屏逐级减到 3 / 2 张，手机保留 1 张 + 下一张露出一角，
   露出的一角是「可滑动」的视觉提示。
   ========================================================================== */
@media (max-width:1180px){
.nova-root .about-s4 .milestone-row > .pme-ms-item{flex-basis:calc((100% - 40px) / 3)}
}
@media (max-width:820px){
.nova-root .about-s4 .milestone-row > .pme-ms-item{flex-basis:calc((100% - 20px) / 2)}
}
@media (max-width:560px){
.nova-root .about-s4 .milestone-row > .pme-ms-item{flex-basis:100%}
}
/* 标题区在窄屏堆叠后，竖直分隔线会被拉伸成一条灰块，装饰斜杠也会掉到下一行 */
@media (max-width:900px){
.nova-root .about-s4 .vertical-rule,
.nova-root .about-s5 .vertical-rule,
.nova-root .about-s7 .vertical-rule,
.nova-root .about-s8 .vertical-rule{display:none !important}
.nova-root .about-s4 .title-group,
.nova-root .about-s5 .title-group,
.nova-root .about-s7 .title-group,
.nova-root .about-s8 .title-group{flex-direction:row !important;align-items:baseline !important;
  flex-wrap:nowrap !important;gap:8px !important}
.nova-root .about-s4 .title-group > *,
.nova-root .about-s5 .title-group > *,
.nova-root .about-s7 .title-group > *,
.nova-root .about-s8 .title-group > *{width:auto !important;flex:0 0 auto !important;max-width:none !important}
}

/* ==========================================================================
   首页 Hero 轮播（v1.11.0）
   三层结构：背景图 .pme-hero-slide / 文案 .pme-hero-pane / 指示点 .pme-hero-dot，
   顺序一致、索引对齐。统计条与按钮为全场共用，不参与轮播，
   所以整块高度由「最高的一屏文案」决定，切换时下方内容不跳动。
   ========================================================================== */

/* 渐变原本画在 .overlay 的背景上，会盖住图片层；改到伪元素，图片在下、渐变在上 */
.nova-root .home-s1 .overlay{background:none}
.nova-root .home-s1 .overlay::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(10,20,29,0.95) 0%, rgba(10,20,29,0.62) 55%, rgba(10,20,29,0.35) 100%)}

.nova-root .home-s1 .pme-hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity .7s ease;will-change:opacity}
.nova-root .home-s1 .pme-hero-slide.is-active{opacity:1}

.nova-root .home-s1 .pme-hero-copy{display:grid;width:100%;grid-template-columns:minmax(0,1fr)}
/* gap 与 .hero-content 的 22px 一致：拆成一层包裹后行距与设计稿完全相同 */
.nova-root .home-s1 .pme-hero-pane{grid-area:1/1;display:flex;flex-direction:column;gap:22px;width:100%;
  opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s ease}
.nova-root .home-s1 .pme-hero-pane.is-active{opacity:1;visibility:visible}

.nova-root .home-s1 .slider-dots > .pme-hero-dot{position:relative;width:8px;height:3px;padding:0;border:0;
  border-radius:2px;background-color:rgba(255,255,255,0.40);cursor:pointer;
  transition:width .3s ease,background-color .3s ease}
/* 3px 高的条太细，扩一圈透明热区，观感不变但点得中 */
.nova-root .home-s1 .slider-dots > .pme-hero-dot::after{content:"";position:absolute;left:-4px;right:-4px;top:-9px;bottom:-9px}
.nova-root .home-s1 .slider-dots > .pme-hero-dot:hover{background-color:rgba(255,255,255,0.72)}
.nova-root .home-s1 .slider-dots > .pme-hero-dot.is-active{width:26px;background-color:#FFFFFF}
.nova-root .home-s1 .slider-dots > .pme-hero-dot:focus-visible{outline:2px solid #7FB0E8;outline-offset:3px}

@media (max-width:900px){
/* 窄屏 banner 高度随文案自适应，绝对定位的图片层必须跟着拉满整块 */
.nova-root section.home-s1 > .overlay{height:auto !important;bottom:0 !important;right:0 !important}
/* 指示条从绝对定位回到文档流后会贴着按钮，拉开一点距离 */
.nova-root section.home-s1 > .slider-dots{margin-top:18px}
}

@media (prefers-reduced-motion:reduce){
.nova-root .home-s1 .pme-hero-slide,
.nova-root .home-s1 .pme-hero-pane,
.nova-root .home-s1 .slider-dots > .pme-hero-dot{transition:none}
}

/* 工厂实力按钮由 div 改为 a：保持设计稿外观（文字颜色已由 .label-5 定义） */
.nova-root a.button-factory{color:inherit;text-decoration:none;cursor:pointer}
.nova-root a.button-factory:hover{text-decoration:none}

/* ==========================================================================
   面包屑自动读取（v1.12.0）
   Home 变成真实链接、当前页名称来自 WP 页面数据，大小写不可控；
   设计稿的面包屑一律大写，这里用 text-transform 兜住，手填文案观感不变。
   ========================================================================== */

.nova-root .about-banner .breadcrumb > .home,
.nova-root .contact-banner .breadcrumb > .home,
.nova-root .news-banner .breadcrumb > .home,
.nova-root .cases-banner .breadcrumb > .home,
.nova-root .products-banner .breadcrumb > .home,
.nova-root .about-banner .breadcrumb > .current-page,
.nova-root .contact-banner .breadcrumb > .current-page,
.nova-root .news-banner .breadcrumb > .current-page,
.nova-root .cases-banner .breadcrumb > .current,
.nova-root .products-banner .breadcrumb > .current,
.nova-root .product-breadcrumb-bar > .home,
.nova-root .product-breadcrumb-bar > .products,
.nova-root .product-breadcrumb-bar > .current,
.nova-root .news-detail-s1 .breadcrumb > .home,
.nova-root .news-detail-s1 .breadcrumb > .news,
.nova-root .news-detail-s1 .breadcrumb > .current{text-transform:uppercase}

/* 面包屑内的链接：颜色沿用各自层级，去掉下划线，悬停时提亮 */
.nova-root .about-banner .breadcrumb > a.home,
.nova-root .contact-banner .breadcrumb > a.home,
.nova-root .news-banner .breadcrumb > a.home,
.nova-root .cases-banner .breadcrumb > a.home,
.nova-root .products-banner .breadcrumb > a.home,
.nova-root .news-detail-s1 .breadcrumb > a.home,
.nova-root .news-detail-s1 .breadcrumb > a.news{text-decoration:none;transition:color .2s ease}
.nova-root .about-banner .breadcrumb > a.home:hover,
.nova-root .contact-banner .breadcrumb > a.home:hover,
.nova-root .news-banner .breadcrumb > a.home:hover,
.nova-root .cases-banner .breadcrumb > a.home:hover,
.nova-root .products-banner .breadcrumb > a.home:hover{color:#FFFFFF}
.nova-root .product-breadcrumb-bar > a.home,
.nova-root .product-breadcrumb-bar > a.products{text-decoration:none;transition:color .2s ease}
.nova-root .product-breadcrumb-bar > a.home:hover,
.nova-root .product-breadcrumb-bar > a.products:hover,
.nova-root .news-detail-s1 .breadcrumb > a.home:hover,
.nova-root .news-detail-s1 .breadcrumb > a.news:hover{color:#0A4FA5}

/* 自动读取后标题可能很长：Banner 内允许换行，产品详情条改为单行省略，不撑破版式 */
.nova-root .about-banner .breadcrumb,
.nova-root .contact-banner .breadcrumb,
.nova-root .news-banner .breadcrumb,
.nova-root .cases-banner .breadcrumb,
.nova-root .products-banner .breadcrumb,
.nova-root .news-detail-s1 .breadcrumb{max-width:100%;min-width:0}
.nova-root .about-banner .breadcrumb > .current-page,
.nova-root .contact-banner .breadcrumb > .current-page,
.nova-root .news-banner .breadcrumb > .current-page,
.nova-root .cases-banner .breadcrumb > .current,
.nova-root .products-banner .breadcrumb > .current,
.nova-root .news-detail-s1 .breadcrumb > .current{max-width:100%;min-width:0;overflow-wrap:anywhere}
.nova-root .product-breadcrumb-bar > .current{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ==========================================================================
   v1.14.0 — 窄屏排版修复
   1) 面包屑中间的分隔箭头垂直居中
   2) 加工能力 / 工艺质检：五项在手机上不再挤成一列
   3) 材料与行业：手机端一行两张
   ========================================================================== */

/* 1) 面包屑 ----------------------------------------------------------------
   .breadcrumb 是 flex 行但没写 align-items，默认 stretch 下 11px 的箭头被顶到
   行首，视觉上比两侧文字高出一截；这里统一改成垂直居中。 */
.nova-root .about-banner .breadcrumb,
.nova-root .contact-banner .breadcrumb,
.nova-root .news-banner .breadcrumb,
.nova-root .cases-banner .breadcrumb,
.nova-root .products-banner .breadcrumb,
.nova-root .news-detail-s1 .breadcrumb,
.nova-root .product-breadcrumb-bar{align-items:center}

/* 分隔图标不参与压缩，也去掉 inline 基线的额外留白 */
.nova-root .about-banner .breadcrumb > svg,
.nova-root .contact-banner .breadcrumb > svg,
.nova-root .news-banner .breadcrumb > svg,
.nova-root .cases-banner .breadcrumb > svg,
.nova-root .products-banner .breadcrumb > svg,
.nova-root .news-detail-s1 .breadcrumb > svg,
.nova-root .product-breadcrumb-bar > svg{flex:0 0 auto;display:block;align-self:center;margin:0}

/* 2) 加工能力 / 工艺质检 ---------------------------------------------------
   1440 画布上是「五项 + 四条竖线」横排，手机宽度下每项只剩 50px，文字全部
   叠在一起。窄屏改成两列网格，竖线隐藏。 */
@media (max-width:900px){
  .nova-root .home-s3 .capability-items,
  .nova-root .home-s5 .quality-items{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px 18px !important;
    width:100% !important;
    align-items:start;
  }
  .nova-root .home-s3 .capability-items > *,
  .nova-root .home-s5 .quality-items > *{width:auto !important;max-width:none !important;min-width:0}
  .nova-root .home-s3 .capability-items > [class*="sep"],
  .nova-root .home-s5 .quality-items > [class*="sep"]{display:none !important}
  /* 两列后每项有半个屏幕宽，副标题不必再逐字换行 */
  .nova-root .home-s3 .capability-items .sub,
  .nova-root .home-s3 .capability-items [class*="sub-"]{line-height:1.55}

  /* 这两个深色带在 1440 靠固定高度撑出留白，堆叠后高度交给内容，
     需要自己补上下内边距；左右间距已由 section 的 gutter 提供 */
  .nova-root .home-s3 > .band-content,
  .nova-root .home-s5 > .quality-content{padding:36px 0 44px !important}
}

/* 3) 材料与行业 -----------------------------------------------------------
   600 以下全局规则把每列拉满整行，材料图变成一张一张的大图；
   这里单独放回两列，图片高度收到 66px，接近设计稿的缩略图比例。 */
@media (max-width:600px){
  .nova-root .home-s4 .material-tiles{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px 10px !important;
    width:100% !important;
  }
  .nova-root .home-s4 .material-tiles > *{
    width:auto !important;max-width:none !important;min-width:0;
    gap:5px;
  }
  .nova-root .home-s4 .material-tiles [class*="swatch"]{height:66px !important}
  .nova-root .home-s4 .material-tiles [class*="name"]{height:auto !important;line-height:1.45}
}

/* ==========================================================================
   v1.15.0 — 文章详情页：正文富文本 + 标签 chip + 侧栏短码区
   正文改读文章 content 后，编辑器里的 h2 / 列表 / 引用 / 图片需要一套
   与设计稿同节奏的排版，否则会退回主题默认间距，与两侧栏对不齐。
   ========================================================================== */

/* 1) 正文容器 -------------------------------------------------------------- */
.nova-root .news-detail-s3 .pme-post-body{
  width:100%;min-width:0;
  font-size:14.5px;font-family:var(--font-body);font-weight:400;line-height:27px;color:#5B6875;
  word-wrap:break-word;overflow-wrap:anywhere;
}
.nova-root .news-detail-s3 .pme-post-body > *:first-child{margin-top:0}
.nova-root .news-detail-s3 .pme-post-body > *:last-child{margin-bottom:0}

/* 2) 段落与标题 ------------------------------------------------------------ */
.nova-root .news-detail-s3 .pme-post-body p{
  margin:0 0 18px;font-size:14.5px;font-family:var(--font-body);font-weight:400;line-height:27px;color:#5B6875;
}
.nova-root .news-detail-s3 .pme-post-body h2{
  margin:34px 0 14px;font-size:23px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.25;color:#141F2B;
}
.nova-root .news-detail-s3 .pme-post-body h3{
  margin:28px 0 12px;font-size:18px;font-family:'Manrope',var(--font-head);font-weight:700;line-height:1.3;color:#141F2B;
}
.nova-root .news-detail-s3 .pme-post-body h4{
  margin:24px 0 10px;font-size:15.5px;font-family:var(--font-body);font-weight:700;line-height:1.4;color:#141F2B;
}
.nova-root .news-detail-s3 .pme-post-body h2:first-child,
.nova-root .news-detail-s3 .pme-post-body h3:first-child,
.nova-root .news-detail-s3 .pme-post-body h4:first-child{margin-top:0}

/* 3) 列表：与设计稿的 dash 列表同节奏 -------------------------------------- */
.nova-root .news-detail-s3 .pme-post-body ul,
.nova-root .news-detail-s3 .pme-post-body ol{
  margin:0 0 18px;padding-left:20px;
  display:flex;flex-direction:column;gap:9px;
}
.nova-root .news-detail-s3 .pme-post-body li{
  font-size:13.5px;font-family:var(--font-body);font-weight:500;line-height:1.7;color:#3A4753;
}
.nova-root .news-detail-s3 .pme-post-body li::marker{color:#0A4FA5}
.nova-root .news-detail-s3 .pme-post-body li > ul,
.nova-root .news-detail-s3 .pme-post-body li > ol{margin:9px 0 0;gap:6px}

/* 4) 引用块：复用设计稿 pull quote 的蓝条 ---------------------------------- */
.nova-root .news-detail-s3 .pme-post-body blockquote{
  margin:0 0 20px;padding:26px 30px;border-left:3px solid #0A4FA5;background:#F7F9FA;
  font-size:18px;font-family:var(--font-body);font-weight:500;line-height:30px;color:#141F2B;
}
.nova-root .news-detail-s3 .pme-post-body blockquote p{
  margin:0;font-size:18px;font-weight:500;line-height:30px;color:#141F2B;
}
.nova-root .news-detail-s3 .pme-post-body blockquote cite{
  display:block;margin-top:12px;font-size:10.5px;font-weight:600;font-style:normal;letter-spacing:.04em;color:#6F7882;
}

/* 5) 图片：与设计稿 inline figure 一致（满宽 + 2px 圆角 + 小字图注） -------- */
.nova-root .news-detail-s3 .pme-post-body img{
  max-width:100%;height:auto;display:block;border-radius:2px;
}
.nova-root .news-detail-s3 .pme-post-body figure{margin:0 0 20px}
.nova-root .news-detail-s3 .pme-post-body figcaption{
  margin-top:10px;font-size:11px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#6F7882;
}
/* 区块编辑器的对齐方式会把内容撑出栏宽，这里统一收进栏内 */
.nova-root .news-detail-s3 .pme-post-body .alignwide,
.nova-root .news-detail-s3 .pme-post-body .alignfull{
  width:100% !important;max-width:100% !important;margin-left:0 !important;margin-right:0 !important;
}

/* 6) 行内元素 -------------------------------------------------------------- */
.nova-root .news-detail-s3 .pme-post-body a{color:#0A4FA5;text-decoration:underline;text-underline-offset:2px}
.nova-root .news-detail-s3 .pme-post-body a:hover{color:#0A2747}
.nova-root .news-detail-s3 .pme-post-body strong,
.nova-root .news-detail-s3 .pme-post-body b{color:#141F2B;font-weight:700}
.nova-root .news-detail-s3 .pme-post-body code{
  padding:1px 5px;background:#F4F6F8;border-radius:2px;font-size:13px;color:#141F2B;
}
.nova-root .news-detail-s3 .pme-post-body pre{
  margin:0 0 20px;padding:18px 20px;overflow:auto;background:#0F1B27;border-radius:2px;
  font-size:12.5px;line-height:1.7;color:#E6EDF5;
}
.nova-root .news-detail-s3 .pme-post-body hr{
  margin:30px 0;border:0;border-top:1px solid #E1E6EB;
}
.nova-root .news-detail-s3 .pme-post-body table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:13px}
.nova-root .news-detail-s3 .pme-post-body th,
.nova-root .news-detail-s3 .pme-post-body td{padding:10px 12px;border-bottom:1px solid #E1E6EB;text-align:left;color:#3A4753}

/* 7) 标签：链接化后沿用设计稿 chip 外观（不出现默认下划线与链接蓝） -------- */
.nova-root .news-detail-s4 .tag-row{flex-wrap:wrap}
.nova-root .news-detail-s4 a.pme-tag,
.nova-root .news-detail-s4 span.pme-tag{
  width:fit-content;max-width:100%;height:30px;
  display:inline-flex;flex-direction:row;align-items:center;
  padding:0 12px;box-sizing:border-box;
  background-color:#F4F6F8;border-radius:2px;
  font-size:11.5px;font-family:var(--font-body);font-weight:500;line-height:1.6;color:#4C5967;
  text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  transition:background-color .18s ease,color .18s ease;
}
.nova-root .news-detail-s4 a.pme-tag:hover{background-color:#0A2747;color:#fff}
.nova-root .news-detail-s4 a.pme-tag:focus-visible,
.nova-root .news-detail-s3 a.button-request-quote:focus-visible{
  outline:2px solid #0A4FA5;outline-offset:2px;
}

/* 8) 侧栏短码区（CTA 卡上方） --------------------------------------------- */
.nova-root .news-detail-s3 .pme-sidebar-extra{
  width:100%;min-width:0;
  display:flex;flex-direction:column;gap:14px;
  font-size:13px;line-height:1.7;color:#5B6875;
}
.nova-root .news-detail-s3 .pme-sidebar-extra > *:first-child{margin-top:0}
.nova-root .news-detail-s3 .pme-sidebar-extra > *:last-child{margin-bottom:0}
.nova-root .news-detail-s3 .pme-sidebar-extra img{max-width:100%;height:auto;border-radius:2px}
.nova-root .news-detail-s3 .pme-sidebar-extra a{color:#0A4FA5}

/* 9) 窄屏：正文与侧栏堆叠后补收字号 --------------------------------------- */
@media (max-width:900px){
  .nova-root .news-detail-s3 .pme-post-body,
  .nova-root .news-detail-s3 .pme-post-body p{font-size:14.5px;line-height:26px}
  .nova-root .news-detail-s3 .pme-post-body h2{font-size:20px;margin:28px 0 12px}
  .nova-root .news-detail-s3 .pme-post-body h3{font-size:17px}
  .nova-root .news-detail-s3 .pme-sidebar-extra{padding-top:4px}
}

/* 10) 面包屑末项 = 文章标题：长标题在窄屏不能撑破一行 --------------------- */
.nova-root .news-detail-s1 .breadcrumb .current{
  min-width:0;max-width:100%;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.nova-root .news-detail-s1 .breadcrumb{min-width:0}

/* ==========================================================================
   v1.16.0 — 短码 [pme_post_tags]
   站点用自己做的 Single Post 模板时，短码可能不在 .nova-root 容器里，
   这里给一套独立的 chip 样式，外观与设计稿的标签行一致。
   ========================================================================== */
.pme-tag-list{
  width:100%;height:auto;
  display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;
  box-sizing:border-box;margin:0;padding:0;list-style:none;
}
.pme-tag-list .label{
  font-size:10px;font-family:'Inter','Manrope',system-ui,sans-serif;font-weight:600;
  line-height:1.6;color:#6F7882;text-transform:uppercase;letter-spacing:.06em;
}
.pme-tag-list .pme-tag{
  display:inline-flex;align-items:center;
  height:30px;max-width:100%;padding:0 12px;box-sizing:border-box;
  background-color:#F4F6F8;border-radius:2px;
  font-size:11.5px;font-family:'Inter','Manrope',system-ui,sans-serif;font-weight:500;line-height:1.6;color:#4C5967;
  text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  transition:background-color .18s ease,color .18s ease;
}
.pme-tag-list a.pme-tag:hover{background-color:#0A2747;color:#fff}
.pme-tag-list a.pme-tag:focus-visible{outline:2px solid #0A4FA5;outline-offset:2px}
