:root { --blue:#1556a5; --blue-dark:#103f7a; --text:#30343a; --muted:#707781; --line:#e3e7ed; --light:#f5f7fa; --font:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:105px; }
body { margin:0; font:16px/1.85 var(--font); color:var(--text); background:#fff; -webkit-font-smoothing:antialiased; }
body.dialog-open { overflow:hidden; }
h1,h2,h3,h4,p,figure { margin:0; }
h1,h2,h3,h4 { font-weight:400; line-height:1.5; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; color:inherit; }
button,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
img,svg { display:block; max-width:100%; }
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--blue); outline-offset:5px; }
input:focus,textarea:focus,select:focus { outline:2px solid var(--blue); outline-offset:2px; }
[hidden] { display:none!important; }
::selection { background:#d6e7fa; color:#123c6e; }
.container { width:min(1240px,calc(100% - 100px)); margin-inline:auto; }
.skip-link { position:fixed; top:-100px; left:15px; z-index:100; background:#fff; padding:8px 20px; }
.skip-link:focus { top:10px; }
.site-header { height:96px; position:sticky; top:0; z-index:30; background:#fff; border-bottom:1px solid #e8edf2; }
.header-inner { width:min(1500px,calc(100% - 72px)); height:100%; display:flex; align-items:center; margin-inline:auto; gap:24px; }
.brand { display:block; color:var(--blue); flex-shrink:0; line-height:1.15; }
.brand strong { display:block; font-size:34px; letter-spacing:.08em; font-weight:700; }
.brand>span { display:block; font:10px/1.3 Arial,sans-serif; letter-spacing:.22em; margin-top:7px; }
.brand-caption { color:#757c86; border-left:1px solid #d7dde5; padding-left:23px; font-size:12px; line-height:1.8; white-space:nowrap; }
#primary-nav { display:flex; align-items:stretch; height:100%; margin-left:auto; gap:30px; }
#primary-nav a { display:flex; align-items:center; position:relative; white-space:nowrap; font-size:15px; transition:color .2s; }
#primary-nav a::after { content:""; position:absolute; height:3px; background:var(--blue); bottom:-1px; left:0; right:0; transform:scaleX(0); transition:transform .2s; }
#primary-nav a:hover,#primary-nav a[aria-current="location"] { color:var(--blue); }
#primary-nav a:hover::after,#primary-nav a[aria-current="location"]::after { transform:scaleX(1); }
.header-phone { margin-left:10px; padding-left:25px; border-left:1px solid var(--line); font-size:18px; font-family:Arial,sans-serif; color:var(--blue); line-height:1.6; white-space:nowrap; }
.header-phone span { display:block; font:11px/1.6 var(--font); color:#828892; margin-bottom:1px; }
.menu-toggle { display:none; }
.hero { background:#f0f4f8; }
.hero-inner { min-height:610px; display:grid; grid-template-columns:1fr 1.03fr; gap:25px; align-items:center; }
.hero-copy { padding:75px 0; position:relative; z-index:1; }
.hero-intro { color:#65788c; font-size:17px; margin-bottom:20px; }
h1 { font-size:clamp(36px,3.65vw,54px); color:#123f72; line-height:1.5; letter-spacing:.01em; }
h1>span { color:#303e4e; font-size:.8em; }
.hero-description { font-size:17px; color:#6a7787; line-height:2; margin:25px 0 32px; }
.button { min-height:46px; padding:11px 24px; border:1px solid transparent; display:inline-flex; align-items:center; justify-content:center; gap:30px; font-size:14px; line-height:1.6; border-radius:0; transition:background .2s,border-color .2s,color .2s; }
.button>span { font-family:Arial,sans-serif; font-size:19px; }
.button-blue { background:var(--blue); color:#fff; }
.button-blue:hover { background:var(--blue-dark); }
.button-outline { background:transparent; border-color:#b9c9dd; color:var(--blue); }
.button-outline:hover { border-color:var(--blue); background:#edf4fc; }
.hero-product { position:relative; padding:25px 0 10px; }
.hero-product img { width:100%; height:auto; mix-blend-mode:multiply; }
.hero-product figcaption { margin-top:18px; color:#8a949f; font-size:11px; text-align:center; line-height:1.8; }
.hero-product figcaption a { display:block; text-decoration:underline; text-underline-offset:3px; color:#75899d; }
.hero-links { background:var(--blue); color:#fff; }
.hero-links>div { display:grid; grid-template-columns:repeat(3,1fr); }
.hero-links a { position:relative; display:block; padding:24px 38px; border-right:1px solid #ffffff2b; }
.hero-links a:first-child { padding-left:0; }
.hero-links a:last-child { border-right:0; padding-right:0; }
.hero-links strong { display:block; font-size:20px; font-weight:400; }
.hero-links a>span { display:block; font-size:12px; color:#bed3ef; margin-top:4px; }
.hero-links i { font:normal 23px Arial,sans-serif; position:absolute; right:29px; top:31px; color:#b5cdeb; transition:transform .2s; }
.hero-links a:last-child i { right:0; }
.hero-links a:hover i { transform:translateX(5px); }
.section { padding:85px 0; }
.section-title { text-align:center; margin-bottom:42px; }
.section-title h2 { font-size:36px; color:#252c35; }
.section-title h2::after { content:""; display:block; height:2px; width:34px; background:var(--blue); margin:18px auto 19px; }
.section-title>p { color:#818791; font-size:15px; line-height:1.8; }
.tabs { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid #dce3ea; }
.tabs button { border:0; background:transparent; position:relative; padding:17px 15px; color:#626a75; font-size:18px; }
.tabs button::after { content:""; position:absolute; height:3px; left:0; right:0; bottom:-1px; background:transparent; }
.tabs button[aria-selected="true"] { color:var(--blue); }
.tabs button[aria-selected="true"]::after { background:var(--blue); }
.tabs button:hover { color:var(--blue); background:#f8fafc; }
.service-panel { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:88px; min-height:430px; padding:40px 30px 28px; }
.service-description h3 { font-size:27px; margin-bottom:19px; }
.service-description>p:not(.scope-note) { font-size:15px; line-height:2; color:#717984; }
.service-list { margin:21px 0 23px; padding:0; list-style:none; font-size:14px; color:#616b77; }
.service-list li { padding-left:14px; position:relative; margin:6px 0; }
.service-list li::before { content:""; width:4px; height:4px; background:#7799bf; position:absolute; top:11px; left:0; }
.more-link { display:inline-flex; gap:29px; align-items:center; color:var(--blue); font-size:14px; padding:4px 0; }
.more-link:hover { text-decoration:underline; text-underline-offset:5px; }
.more-link span { font-size:19px; font-family:Arial,sans-serif; }
.scope-note { font-size:12px; color:#969ca5; margin-top:16px; }
.service-photo img { width:100%; height:300px; object-fit:contain; }
.service-photo figcaption { text-align:center; color:#939ba5; font-size:11px; line-height:1.9; margin-top:5px; }
.service-photo figcaption a { color:#7a8da1; }
.service-photo figcaption a:hover { text-decoration:underline; }
.system-strip { display:flex; align-items:center; justify-content:center; gap:28px; padding:22px 25px; margin-top:20px; background:#f5f7fa; font-size:13px; }
.system-strip>span { color:#53759a; flex-shrink:0; }
.system-strip>p { color:#75808c; line-height:2; }
.system-strip b { margin-inline:14px; font-weight:400; color:#a1b4c8; }
.technical-view { background:#f5f7fa; padding:32px; min-height:310px; }
.technical-title { font-size:16px; color:#526c89; margin-bottom:21px; }
.technical-caption { margin-top:20px; color:#929ba7; font-size:11px; text-align:center; }
.software-layer { background:#fff; border:1px solid #dce4ed; border-left:3px solid #5c86b4; padding:11px 17px; font-size:15px; margin-top:9px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.software-layer span { color:#85909d; font-size:11px; }
.logic-flow { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:13px; }
.logic-flow span { border:1px solid #d5dfeb; background:#fff; padding:9px 12px; }
.logic-flow b { color:#8da6c0; font-weight:400; }
.waveform { margin-top:22px; width:100%; }
.function-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.function-grid>div { padding:20px 12px; text-align:center; border:1px solid #dce4ed; background:#fff; color:#416991; font-size:16px; }
.function-grid span { display:block; color:#929aa5; font-size:11px; margin-top:5px; }
.applications { background:#f5f7fa; }
.application-layout { display:grid; grid-template-columns:245px 1fr; gap:46px; }
.application-menu { display:flex; flex-direction:column; }
.application-menu button { background:transparent; border:0; border-bottom:1px solid #dbe2ea; padding:24px 22px; display:flex; justify-content:space-between; align-items:center; font-size:18px; text-align:left; transition:background .2s,color .2s; }
.application-menu button:first-child { border-top:1px solid #dbe2ea; }
.application-menu button>span { font:25px Arial,sans-serif; color:#a1acba; }
.application-menu button[aria-selected="true"] { background:var(--blue); border-color:var(--blue); color:#fff; }
.application-menu button[aria-selected="true"]>span { color:#fff; }
.application-menu button:not([aria-selected="true"]):hover { color:var(--blue); background:#edf1f6; }
.application-panel { display:grid; grid-template-columns:1fr 235px; gap:42px; align-items:center; padding:24px 0; min-height:350px; }
.application-main h3 { font-size:28px; margin-bottom:18px; }
.application-main>p { font-size:15px; color:#757d88; line-height:2; }
.application-main h4 { font-size:16px; margin:19px 0 7px; }
.application-main .more-link { margin-top:22px; }
.application-detail { padding:10px 0 10px 28px; border-left:1px solid #dce3eb; }
.application-detail h4 { font-size:16px; color:#567395; margin-bottom:16px; }
.printheads { display:grid; grid-template-columns:1fr 1fr; gap:12px 18px; margin-bottom:16px; font:21px/1.5 Arial,sans-serif; color:#50789f; }
.application-detail>p { font-size:12px; line-height:2; color:#89929f; }
.disclaimer { font-size:12px; color:#959ca5; line-height:1.9; margin-top:23px; }
.applications .disclaimer { margin-left:291px; }
.about-layout { display:grid; grid-template-columns:320px 1fr; gap:88px; }
.about-intro { padding:5px 0 0 25px; border-left:3px solid var(--blue); align-self:start; }
.small-heading { color:#9ba1aa; font-size:15px; margin-bottom:10px; }
.about-intro h2 { font-size:44px; color:#264f7e; }
.about-subtitle { margin-top:19px; font-size:21px; line-height:1.8; color:#646f7d; }
.about-intro .button { margin-top:32px; }
.about-description h3 { font-size:26px; margin-bottom:21px; }
.about-description>p:not(.disclaimer) { color:#777f89; font-size:15px; line-height:2.05; margin-bottom:14px; }
.about-strengths { display:flex; flex-wrap:wrap; gap:16px 25px; padding-top:21px; margin-top:23px; border-top:1px solid var(--line); color:#486c94; font-size:14px; }
.about-strengths>span::before { content:"✓"; margin-right:9px; color:#6e96bf; }
.support { border-top:1px solid var(--line); }
.process-list { display:grid; grid-template-columns:repeat(5,1fr); list-style:none; padding:0; margin:0; }
.process-list li { padding:13px 27px 13px 0; position:relative; }
.process-list li+li { padding-left:27px; border-left:1px solid var(--line); }
.process-list li:last-child { padding-right:0; }
.process-list li>span { font:32px/1.2 Arial,sans-serif; color:#b4c5d7; }
.process-list h3 { font-size:20px; margin:14px 0 11px; }
.process-list p { color:#858c96; font-size:14px; line-height:1.9; }
.support-bottom { display:grid; grid-template-columns:260px 1fr; gap:40px; padding-top:45px; border-top:1px solid var(--line); margin-top:47px; }
.support-bottom>h3 { font-size:23px; padding-top:16px; color:#53677f; }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list details:first-child { border-top:1px solid var(--line); }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; font-size:15px; list-style:none; cursor:pointer; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary>span { font-size:23px; font-weight:300; color:#7c95af; }
.faq-list details[open] summary>span { transform:rotate(45deg); }
.faq-list details p { font-size:14px; color:#858c96; padding:0 30px 21px 0; line-height:1.95; }
.contact { background:#f1f5f9; padding:64px 0; }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.contact h2 { font-size:33px; color:#2e4c6d; }
.contact-layout>div:first-child>p { color:#7e8b9b; font-size:15px; margin-top:13px; }
.contact .button { margin-top:24px; }
.contact-layout>div:first-child>.contact-note { font-size:12px; margin-top:12px; color:#95a0ac; }
.contact-information { padding-left:40px; border-left:1px solid #d7e1ec; }
.contact-information>div { margin-bottom:18px; display:flex; align-items:baseline; gap:20px; flex-wrap:wrap; }
.contact-information>div:last-child { margin-bottom:0; }
.contact-information>div>span { width:86px; color:#8a96a3; font-size:13px; flex-shrink:0; }
.contact-information a { color:#37587c; font-size:17px; overflow-wrap:anywhere; }
.contact-information a:hover { color:var(--blue); }
.contact-information .contact-phone { font:30px/1.5 Arial,sans-serif; white-space:nowrap; }
.contact-information p { color:#697c90; font-size:15px; }
.copy-button { font-size:12px; color:#617e9d; border:0; border-bottom:1px solid #c2d1e1; padding:0; background:transparent; }
.site-footer { background:#233345; color:#a4b0be; padding-top:38px; }
.footer-main { display:flex; align-items:center; gap:52px; padding-bottom:30px; }
.footer-brand { color:#f4f7fb; }
.footer-brand strong { font-size:29px; }
.footer-main>div>p { font-size:14px; color:#c4cfda; }
.footer-main nav { display:flex; gap:28px; font-size:12px; margin-top:13px; }
.footer-main nav a:hover { color:#fff; }
.back-top { margin-left:auto; font-size:12px; color:#acbed0; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; font-size:11px; padding:18px 0; border-top:1px solid #ffffff1c; }
.photo-disclosure { font-size:10px; color:#8091a4; line-height:1.9; padding-bottom:22px; }
.inquiry-dialog { width:min(660px,calc(100% - 32px)); max-height:calc(100dvh - 40px); padding:30px; border:1px solid #d7e0eb; color:var(--text); box-shadow:0 18px 70px #14273b40; }
.inquiry-dialog::backdrop { background:#17293ecc; }
.dialog-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.dialog-heading h2 { font-size:25px; }
.dialog-close { background:none; border:0; font-size:30px; color:#7b8795; width:40px; height:40px; }
.dialog-intro { font-size:13px; color:#7b8795; line-height:1.9; margin-top:15px; margin-bottom:22px; }
.inquiry-dialog label { display:block; font-size:14px; color:#586779; margin:15px 0; }
.inquiry-dialog input,.inquiry-dialog select,.inquiry-dialog textarea { width:100%; display:block; border:1px solid #d6dfe9; padding:11px 12px; margin-top:7px; background:#fff; color:#35475d; border-radius:0; font-size:15px; }
.inquiry-dialog input::placeholder,.inquiry-dialog textarea::placeholder { font-size:13px; color:#9ba4af; }
.inquiry-dialog textarea { resize:vertical; min-height:95px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.required { font-size:11px; color:var(--blue); margin-left:5px; }
.form-error { color:#a52a2a; font-size:13px; margin-bottom:12px; }
.brief-result { padding-top:12px; margin-top:25px; border-top:1px solid var(--line); }
.brief-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:17px; }
.brief-actions .button { padding:10px 18px; font-size:13px; }
.toast { position:fixed; bottom:25px; left:50%; transform:translateX(-50%); z-index:100; padding:12px 22px; background:#24496e; color:#fff; font-size:14px; opacity:0; pointer-events:none; max-width:calc(100% - 32px); text-align:center; transition:opacity .2s; }
.toast.visible { opacity:1; }
@media(min-width:1650px) {
  .hero-inner { min-height:660px; }
  h1 { font-size:56px; }
}
@media(max-width:1270px) {
  .header-inner { gap:22px; width:calc(100% - 48px); }
  .brand-caption { display:none; }
  #primary-nav { gap:25px; }
  .header-phone { padding-left:20px; font-size:16px; }
  .container { width:calc(100% - 80px); }
  .hero-inner { min-height:555px; gap:10px; }
  .hero-intro,.hero-description { font-size:15px; }
  .hero-links a { padding-inline:26px; }
  .hero-links strong { font-size:18px; }
  .hero-links a>span { font-size:11px; }
  .hero-links i { right:16px; font-size:19px; }
  .service-panel { gap:50px; padding-inline:15px; }
  .application-layout { grid-template-columns:215px 1fr; gap:32px; }
  .application-panel { grid-template-columns:1fr 190px; gap:26px; }
  .application-detail { padding-left:23px; }
  .applications .disclaimer { margin-left:247px; }
  .about-layout { grid-template-columns:280px 1fr; gap:65px; }
  .contact-layout { gap:45px; }
  .contact-information { padding-left:30px; }
  .contact-information>div { gap:10px 15px; }
  .contact-information .contact-phone { font-size:27px; }
}
@media(max-width:1000px) {
  .container { width:calc(100% - 56px); }
  .site-header { height:82px; }
  .brand strong { font-size:29px; }
  #primary-nav { gap:23px; }
  #primary-nav a { font-size:14px; }
  .header-phone { display:none; }
  .hero-inner { min-height:480px; }
  h1 { font-size:38px; }
  .hero-copy { padding:55px 0; }
  .hero-description { font-size:14px; margin-block:22px 26px; }
  .hero-links a { padding:21px 20px; }
  .hero-links strong { font-size:16px; }
  .hero-links a>span { font-size:10px; }
  .hero-links i { display:none; }
  .section { padding:68px 0; }
  .section-title h2 { font-size:32px; }
  .section-title>p { font-size:14px; }
  .tabs button { font-size:16px; padding-inline:10px; }
  .service-panel { gap:32px; padding:35px 0 25px; min-height:410px; }
  .service-description h3 { font-size:25px; }
  .service-description>p:not(.scope-note) { font-size:14px; }
  .service-list { font-size:13px; }
  .service-photo img { height:270px; }
  .technical-view { padding:23px; }
  .software-layer,.software-layer span { display:block; }
  .logic-flow { gap:5px; font-size:11px; }
  .logic-flow span { padding-inline:6px; }
  .system-strip { gap:15px; padding-inline:18px; font-size:11px; }
  .system-strip b { margin-inline:8px; }
  .application-layout { grid-template-columns:185px 1fr; gap:28px; }
  .application-menu button { font-size:16px; padding:25px 16px; }
  .application-panel { grid-template-columns:1fr; gap:22px; padding-block:10px; }
  .application-main h3 { font-size:26px; }
  .application-main>p { font-size:14px; }
  .application-main h4 { font-size:15px; margin-top:15px; }
  .application-main .more-link { margin-top:13px; }
  .application-detail { border-left:0; border-top:1px solid #dce3eb; padding:18px 0 0; }
  .printheads { display:flex; gap:23px; font-size:19px; }
  .application-detail h4 { font-size:14px; margin-bottom:12px; }
  .applications .disclaimer { margin-left:213px; }
  .about-layout { grid-template-columns:230px 1fr; gap:42px; }
  .about-intro { padding-left:22px; }
  .about-intro h2 { font-size:38px; }
  .about-subtitle { font-size:18px; }
  .about-description h3 { font-size:24px; }
  .about-description>p:not(.disclaimer) { font-size:14px; }
  .about-strengths { font-size:12px; gap:8px 16px; }
  .process-list li { padding-right:17px; }
  .process-list li+li { padding-left:17px; }
  .process-list h3 { font-size:18px; }
  .process-list p { font-size:12px; }
  .support-bottom { grid-template-columns:185px 1fr; gap:28px; }
  .support-bottom>h3 { font-size:21px; }
  .contact-layout { gap:30px; }
  .contact h2 { font-size:30px; }
  .contact-layout>div:first-child>p { font-size:14px; }
  .contact-information>div>span { width:100%; }
  .contact-information .contact-phone { font-size:29px; }
  .contact-information>div { margin-bottom:15px; gap:3px 15px; }
}
@media(max-width:700px) {
  html { scroll-padding-top:89px; }
  body { font-size:15px; }
  .container { width:calc(100% - 40px); }
  .site-header { height:74px; }
  .header-inner { width:calc(100% - 36px); gap:18px; }
  .brand strong { font-size:27px; }
  .brand>span { font-size:8px; margin-top:5px; }
  .brand-caption { display:block; padding-left:17px; font-size:10px; }
  .menu-toggle { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:40px; height:40px; margin-left:auto; background:none; border:0; }
  .menu-toggle>span { height:1px; width:21px; background:#355a82; }
  .menu-toggle[aria-expanded="true"]>span:first-child { transform:translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"]>span:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded="true"]>span:last-child { transform:translateY(-6px) rotate(-45deg); }
  #primary-nav { display:none; position:absolute; top:74px; left:0; right:0; margin:0; height:auto; background:#fff; padding:10px 24px 16px; border-bottom:1px solid #dce4ef; box-shadow:0 12px 15px #122b4212; }
  #primary-nav.is-open { display:block; }
  #primary-nav a { display:block; padding:12px 0; font-size:15px; border-bottom:1px solid #eef1f5; }
  #primary-nav a::after { display:none; }
  .hero-inner { grid-template-columns:1fr; gap:0; min-height:0; }
  .hero-copy { padding:44px 0 0; }
  .hero-intro { font-size:14px; margin-bottom:13px; }
  h1 { font-size:clamp(31px,7.8vw,43px); line-height:1.5; }
  h1>span { font-size:.82em; }
  .hero-description { font-size:13px; line-height:1.95; margin:17px 0 23px; }
  .button { font-size:13px; padding:10px 20px; gap:26px; }
  .hero-product { width:min(430px,100%); margin:7px auto 22px; padding:12px 0 0; }
  .hero-product img { max-height:280px; object-fit:contain; }
  .hero-product figcaption { font-size:10px; margin-top:1px; }
  .hero-product figcaption a { display:inline; margin-left:8px; font-size:9px; }
  .hero-links>div { width:100%; }
  .hero-links a,.hero-links a:first-child,.hero-links a:last-child { padding:17px 8px; text-align:center; }
  .hero-links strong { font-size:13px; white-space:nowrap; }
  .hero-links a>span { display:none; }
  .section { padding:53px 0; }
  .section-title { margin-bottom:28px; }
  .section-title h2 { font-size:29px; }
  .section-title h2::after { margin:13px auto 15px; width:28px; }
  .section-title>p { font-size:13px; }
  .tabs { grid-template-columns:repeat(2,1fr); border-bottom:0; }
  .tabs button { padding:13px 5px; border-bottom:1px solid var(--line); font-size:15px; }
  .tabs button[aria-selected="true"] { background:#f1f6fc; }
  .tabs button::after { height:2px; bottom:-1px; }
  .service-panel { grid-template-columns:1fr; gap:20px; padding:28px 0 0; min-height:0; }
  .service-description h3 { font-size:24px; margin-bottom:15px; }
  .service-description>p:not(.scope-note) { font-size:14px; }
  .service-list { font-size:13px; margin:15px 0 16px; }
  .scope-note { font-size:11px; margin-top:12px; }
  .service-photo { padding-top:8px; }
  .service-photo img { height:auto; max-height:280px; object-fit:contain; }
  .service-photo figcaption { font-size:10px; margin-top:4px; }
  .technical-view { padding:23px 20px; min-height:0; }
  .software-layer { display:flex; }
  .software-layer span { font-size:10px; }
  .logic-flow { font-size:12px; }
  .logic-flow span { padding-inline:9px; }
  .system-strip { display:block; padding:16px 18px; margin-top:29px; font-size:12px; }
  .system-strip>p { margin-top:5px; line-height:2.2; }
  .system-strip b { margin-inline:5px; }
  .application-layout { grid-template-columns:1fr; gap:26px; }
  .application-menu { display:grid; grid-template-columns:repeat(2,1fr); gap:6px; }
  .application-menu button,.application-menu button:first-child { border:1px solid #dbe2ea; padding:12px 14px; font-size:14px; }
  .application-menu button>span { font-size:20px; }
  .application-panel { min-height:0; gap:22px; padding:0; }
  .application-main h3 { font-size:24px; margin-bottom:14px; }
  .application-main>p { font-size:14px; }
  .application-main h4 { font-size:15px; }
  .printheads { font-size:21px; justify-content:space-between; gap:15px; }
  .applications .disclaimer { margin-left:0; }
  .disclaimer { font-size:11px; margin-top:20px; }
  .about-layout { grid-template-columns:1fr; gap:32px; }
  .about-intro { padding:0 0 0 20px; position:relative; }
  .small-heading { font-size:13px; margin-bottom:6px; }
  .about-intro h2 { font-size:35px; }
  .about-subtitle { margin-top:11px; font-size:17px; line-height:1.8; }
  .about-intro .button { margin-top:20px; }
  .about-description h3 { font-size:23px; margin-bottom:17px; }
  .about-description>p:not(.disclaimer) { font-size:14px; margin-bottom:13px; }
  .about-strengths { font-size:12px; gap:8px 17px; margin-top:19px; padding-top:17px; }
  .process-list { display:block; }
  .process-list li,.process-list li+li { position:relative; padding:18px 0 18px 58px; border-left:0; border-bottom:1px solid var(--line); }
  .process-list li:first-child { padding-top:0; }
  .process-list li:last-child { border-bottom:0; }
  .process-list li>span { position:absolute; top:23px; left:0; font-size:27px; }
  .process-list li:first-child>span { top:6px; }
  .process-list h3 { font-size:18px; margin:0 0 5px; }
  .process-list p { font-size:13px; }
  .support-bottom { grid-template-columns:1fr; gap:20px; padding-top:29px; margin-top:27px; }
  .support-bottom>h3 { font-size:22px; padding-top:0; }
  .faq-list summary { font-size:14px; padding-block:16px; }
  .faq-list details p { font-size:13px; padding-right:10px; }
  .contact { padding:46px 0; }
  .contact-layout { grid-template-columns:1fr; gap:29px; }
  .contact h2 { font-size:29px; }
  .contact-layout>div:first-child>p { font-size:14px; margin-top:10px; }
  .contact .button { margin-top:21px; }
  .contact-information { border-left:0; border-top:1px solid #d7e1ec; padding:22px 0 0; }
  .contact-information>div>span { width:100%; }
  .contact-information .contact-phone { font-size:31px; }
  .contact-information a { font-size:17px; }
  .site-footer { padding-top:30px; }
  .footer-main { flex-wrap:wrap; align-items:start; gap:22px; padding-bottom:23px; }
  .footer-brand strong { font-size:27px; }
  .footer-main>div { width:100%; }
  .footer-main>div>p { font-size:13px; }
  .footer-main nav { gap:23px; font-size:11px; }
  .back-top { margin:0; font-size:11px; }
  .footer-bottom { flex-wrap:wrap; font-size:10px; gap:6px 20px; padding-block:16px; }
  .photo-disclosure { font-size:10px; }
  .inquiry-dialog { padding:22px 19px; }
  .dialog-heading h2 { font-size:23px; }
  .dialog-intro { font-size:12px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .inquiry-dialog input,.inquiry-dialog select,.inquiry-dialog textarea { font-size:16px; }
}
@media(max-width:360px) {
  .container { width:calc(100% - 32px); }
  .header-inner { gap:13px; }
  .brand-caption { font-size:9px; padding-left:13px; }
  h1 { font-size:29px; }
  .hero-links strong { font-size:11px; }
  .hero-product figcaption a { display:block; margin:0; }
  .contact-information .contact-phone { font-size:28px; }
  .printheads { font-size:18px; }
  .footer-main nav { gap:16px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; animation:none!important; }
}
@media print {
  .site-header { position:static; }
  .menu-toggle,.header-phone,#primary-nav,.open-inquiry,.copy-button,.back-top,dialog,.toast { display:none!important; }
  .container,.header-inner { width:100%; }
  .section,.contact { padding:25px 0; }
  .hero-inner { min-height:0; }
  .hero-copy { padding:20px 0; }
  h1 { font-size:30px; }
  .hero-links,.site-footer { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  .service-panel,.about-layout { gap:25px; }
  .service-panel { min-height:0; }
  .section-title { break-after:avoid; }
  .process-list li,figure { break-inside:avoid; }
}
