:root { --red:#e51e2a; --ink:#202020; --muted:#747474; --line:#e5e5e5; --shell:1150px; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); font-family:Arial,"Noto Sans SC","Microsoft YaHei",sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
.page-shell { width:min(var(--shell),calc(100% - 64px)); margin:auto; }
.page-header { position:sticky; z-index:50; top:0; display:grid; grid-template-columns:220px 1fr auto; align-items:center; height:75px; padding:0 15px; border-bottom:1px solid #f1f1f1; background:#fff; }
.page-brand { display:inline-flex; align-items:center; gap:10px; color:#222; font-size:21px; font-weight:800; line-height:1; }
.page-brand small { display:block; margin-top:5px; font-size:8px; letter-spacing:1.5px; }
.brand-stroke { display:block; width:42px; height:42px; flex:0 0 42px; }
.page-nav { display:flex; justify-content:center; height:100%; }
.page-nav-item { position:relative; display:flex; height:100%; }
.page-nav-item > a { position:relative; display:flex; align-items:center; height:100%; padding:0 25px; font-size:16px; font-weight:400; white-space:nowrap; }
.page-nav-item > a.is-active { color:var(--red); }
.page-nav-item > a.is-active::after,.page-nav-item:hover > a::after { position:absolute; right:25px; bottom:0; left:25px; height:2px; content:""; background:var(--red); }
.page-mega-menu { position:absolute; z-index:45; top:75px; left:0; width:230px; visibility:hidden; background:#fff; box-shadow:0 14px 25px rgba(0,0,0,.045); opacity:0; transform:translateY(-6px); transition:opacity .18s,transform .18s,visibility .18s; }
.page-nav-item.has-menu:hover .page-mega-menu { visibility:visible; opacity:1; transform:translateY(0); }
.page-nav-item.has-menu:hover > a { color:var(--red); background:#f7f7f7; }
.page-mega-inner { width:100%; }
.page-mega-inner > p { display:none; }
.page-mega-inner > div { display:block; }
.page-mega-inner section { position:relative; border-bottom:1px solid #ececec; }
.page-mega-inner section:last-child { border-bottom:0; }
.page-mega-inner section > a { position:relative; display:flex; align-items:center; min-height:50px; padding:0 30px 0 10px; color:#353535; font-size:14px; font-weight:400; line-height:1.35; }
.page-mega-inner section > a::after { position:absolute; top:50%; right:13px; width:7px; height:7px; border-top:1px solid currentColor; border-right:1px solid currentColor; content:""; transform:translateY(-50%) rotate(45deg); }
.page-mega-inner section:hover > a { color:#fff; background:var(--red); }.page-mega-inner section:has(nav a:hover) > a { color:#353535; background:#fff; }.page-mega-inner section nav a:hover { color:#fff; background:var(--red); }
.page-mega-inner section nav { position:absolute; top:0; left:100%; display:none; width:160px; background:#fff; box-shadow:10px 12px 22px rgba(0,0,0,.05); }
.page-mega-inner section:hover nav { display:block; }
.page-mega-inner section nav a { position:relative; display:flex; align-items:center; min-height:50px; padding:0 30px 0 10px; border-bottom:1px solid #ececec; color:#666; font-size:14px; line-height:1.3; }
.page-mega-inner section nav a::after { position:absolute; top:50%; right:13px; width:7px; height:7px; border-top:1px solid currentColor; border-right:1px solid currentColor; content:""; transform:translateY(-50%) rotate(45deg); }
.page-mega-inner section nav a:last-child { border-bottom:0; }
.page-actions { display:flex; align-items:center; gap:15px; padding-right:15px; }.page-search { position:relative; display:block; width:25px; height:25px; }.page-search i { position:absolute; top:2px; left:1px; width:17px; height:17px; border:2px solid currentColor; border-radius:50%; }.page-search i::after { position:absolute; right:-7px; bottom:-5px; width:9px; height:2px; content:""; background:currentColor; transform:rotate(50deg); }.page-language-menu { position:relative; width:130px; height:39px; }.page-language-menu summary { display:flex; align-items:center; justify-content:space-between; height:39px; padding:7px 15px 7px 20px; border-radius:20px; color:#666; cursor:pointer; font-size:14px; list-style:none; }.page-language-menu summary::-webkit-details-marker { display:none; }.page-language-menu[open] summary { color:var(--red); background:#f7f7f7; }.page-language-menu > div { position:absolute; top:calc(100% + 8px); right:0; display:grid; width:130px; padding:7px 0; border:1px solid #eee; background:#fff; box-shadow:0 9px 24px rgba(0,0,0,.1); }.page-language-menu > div a { padding:9px 20px; color:#666; font-size:14px; }.page-language-menu > div a:hover,.page-language-menu > div a.is-current { color:var(--red); background:#fafafa; }.page-quote { display:inline-flex; align-items:center; justify-content:center; width:120px; min-height:0; padding:8px; border-radius:30px; color:#fff; background:#e6232a; font-size:14px; transition:background-color .2s,transform .2s; }.page-quote:hover { background:#c91825; transform:translateY(-1px); }.mobile-menu { position:relative; display:none; }.mobile-menu summary { display:flex; align-items:center; gap:8px; list-style:none; cursor:pointer; }.mobile-menu summary::-webkit-details-marker { display:none; }.mobile-menu nav { position:absolute; z-index:20; top:42px; right:0; display:grid; width:min(82vw,300px); padding:10px 0; border:1px solid var(--line); background:#fff; box-shadow:0 16px 32px rgba(0,0,0,.14); }.mobile-menu nav a { padding:12px 20px; color:#333; font-size:14px; }.mobile-menu nav a:hover { color:var(--red); background:#f7f7f7; }
.page-hero { position:relative; height:410px; overflow:hidden; color:#fff; background:center/cover no-repeat; }.page-hero-solutions,.page-hero-about { background-image:url("../images/contact-consultant.jpg"); }.page-hero-sustainability { background-image:url("../images/sustainability.jpg"); }.page-hero-products { background-image:url("../images/product-line-700.png"); }.page-hero-service,.page-hero-contact { background-image:url("../images/hero-rice.jpg"); }.page-hero-news { background-image:url("../images/news-technology.jpg"); }.page-hero-global-business { background-image:url("../images/global-map.png"); background-color:#dadada; }.page-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.1)); }.page-hero-content { position:relative; display:flex; height:100%; flex-direction:column; justify-content:center; }.page-hero-content p { margin:0 0 18px; font-size:17px; }.page-hero h1 { max-width:720px; margin:0; font-size:48px; line-height:1.18; }
.page-hero--solution,.page-hero--solution-list { height:460px; background-position:center; }.page-hero--solution .page-hero-shade,.page-hero--solution-list .page-hero-shade { background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.08)); }.page-hero--solution .page-hero-content,.page-hero--solution-list .page-hero-content,.page-hero--product-list .page-hero-content { display:none; }.page-hero--product-list { height:520px; background-position:center; }.page-hero--product-list .page-hero-shade { background:rgba(0,0,0,.04); }
.section-subnav { border-bottom:1px solid #efefef; background:#f8f8f8; }.section-subnav > div { display:flex; flex-wrap:wrap; align-items:center; min-height:118px; }.section-subnav a { position:relative; display:flex; align-items:center; min-height:34px; margin:16px 0; padding:0 65px; border-right:1px solid #d9d9d9; color:#555; font-size:17px; }.section-subnav a:first-child { padding-left:0; }.section-subnav a:last-child { border-right:0; }.section-subnav a.is-active,.section-subnav a:hover { color:var(--red); }
.products-layout { display:grid; grid-template-columns:250px 1fr; gap:48px; width:min(1320px,calc(100% - 64px)); padding:72px 0 110px; animation:products-fade-in .45s ease both; }.products-layout aside { position:sticky; top:95px; align-self:start; max-height:calc(100vh - 120px); overflow:auto; border-top:1px solid var(--line); }.products-layout aside strong,.products-layout aside a { display:flex; justify-content:space-between; padding:20px 2px; border-bottom:1px solid var(--line); }.products-layout aside strong { font-size:18px; }.products-layout aside a { color:#555; }.products-layout aside a:hover,.products-layout aside a.is-active { color:var(--red); }.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }.product-grid article { border-bottom:1px solid var(--line); animation:product-card-in .55s ease both; animation-delay:var(--product-delay,0s); transition:transform .25s ease,box-shadow .25s ease; }.product-grid article:hover { transform:translateY(-6px); box-shadow:0 12px 28px rgba(0,0,0,.08); }.product-grid img { width:100%; aspect-ratio:1; object-fit:cover; transition:transform .35s ease; }.product-grid article:hover img { transform:scale(1.035); }.product-grid h3 { min-height:55px; margin:19px 0 10px; font-size:18px; line-height:1.45; }.product-grid p { min-height:56px; margin:0 0 18px; color:var(--muted); font-size:13px; line-height:1.65; }.product-grid a { display:inline-block; padding-bottom:20px; color:var(--red); font-size:13px; }.product-pagination { display:flex; grid-column:2; align-items:center; justify-content:center; gap:8px; margin-top:42px; }.product-pagination-page,.product-pagination-arrow { display:grid; min-width:38px; height:38px; padding:0 10px; place-items:center; border:1px solid var(--line); color:#555; background:#fff; font-size:14px; transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease; }.product-pagination-page:hover,.product-pagination-arrow:hover { border-color:var(--red); color:var(--red); transform:translateY(-2px); }.product-pagination-page.is-active { border-color:var(--red); color:#fff; background:var(--red); }.product-pagination-arrow.is-disabled { color:#c8c8c8; background:#fafafa; cursor:not-allowed; }
@keyframes products-fade-in { from { opacity:0; } to { opacity:1; } }
@keyframes product-card-in { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
.product-catalog-overview { padding:72px 0 110px; }.product-catalog-heading { max-width:720px; margin-bottom:58px; }.product-catalog-heading p,.product-category-group-heading span,.product-category-count { color:var(--red); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }.product-catalog-heading h2 { margin:12px 0 14px; font-size:34px; line-height:1.25; }.product-catalog-heading > span { color:var(--muted); font-size:15px; line-height:1.8; }.product-category-group + .product-category-group { margin-top:66px; }.product-category-group-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:22px; border-bottom:1px solid var(--line); padding-bottom:14px; }.product-category-group-heading h3 { margin:0; font-size:22px; }.product-category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }.product-category-card { display:block; overflow:hidden; color:inherit; border:1px solid var(--line); background:#fff; transition:transform .2s ease, border-color .2s ease; }.product-category-card:hover { border-color:var(--red); transform:translateY(-3px); }.product-category-card img { width:100%; aspect-ratio:1.28; object-fit:cover; }.product-category-card > div { padding:20px; }.product-category-card h4 { min-height:52px; margin:10px 0 9px; font-size:18px; line-height:1.45; }.product-category-card p { min-height:68px; margin:0 0 16px; color:var(--muted); font-size:13px; line-height:1.65; }.product-category-link { color:var(--red); font-size:13px; }.product-category-link b { margin-left:6px; font-weight:400; }.products-layout aside small { display:block; padding:22px 2px 8px; color:var(--muted); font-size:12px; }.products-layout aside small:first-of-type { padding-top:14px; }.products-layout aside a span { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; }.products-layout aside a.is-active span,.products-layout aside a.is-active { color:var(--red); }.product-empty-state { grid-column:1/-1; padding:30px 0; color:var(--muted); }
.feature-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,1fr); align-items:center; gap:80px; padding:72px 0 90px; }.feature-copy { max-width:470px; }.red-label { color:var(--red); }.feature-copy h2 { margin:18px 0 24px; font-size:38px; line-height:1.3; }.feature-copy > p:not(.red-label) { color:var(--muted); line-height:1.9; }.red-action { display:inline-flex; gap:35px; margin-top:28px; padding:15px 20px 15px 24px; border-radius:24px; color:#fff; background:var(--red); }.feature-layout > img { width:100%; min-height:360px; object-fit:cover; }.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-bottom:110px; background:var(--line); }.capability-grid article { min-height:225px; padding:34px; background:#f8f8f8; }.capability-grid b { color:var(--red); font-size:14px; }.capability-grid h3 { margin:35px 0 14px; font-size:21px; }.capability-grid p { margin:0; color:var(--muted); line-height:1.7; }
.news-center { width:min(1320px,calc(100% - 64px)); padding:82px 0 112px; }.news-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:46px 45px; }.news-card { position:relative; min-width:0; overflow:hidden; border-radius:8px; background:#f5f5f5; transition:transform .45s cubic-bezier(.2,.7,.2,1),background-color .3s ease,box-shadow .3s ease; }.js .news-card { opacity:0; transform:translateY(42px); }.js .news-card.is-visible { opacity:1; transform:translateY(0); transition-delay:var(--news-card-delay,0s); transition-duration:.9s,.3s,.3s,.9s; transition-property:opacity,background-color,box-shadow,transform; transition-timing-function:cubic-bezier(.2,.7,.2,1),ease,ease,cubic-bezier(.2,.7,.2,1); }.news-card > a { position:relative; display:block; min-height:100%; overflow:hidden; color:var(--ink); }.news-card-media { position:relative; display:block; overflow:hidden; height:270px; margin:0; background:#e8e8e8; }.news-card-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }.news-card-content { min-height:172px; padding:29px 34px 40px; }.news-card time { display:block; color:#949494; font-family:Arial,"Helvetica Neue",sans-serif; font-size:14px; line-height:1; }.news-card h2 { display:-webkit-box; overflow:hidden; min-height:62px; margin:18px 48px 0 0; color:#252525; font-size:21px; font-weight:500; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.news-card-corner { position:absolute; right:0; bottom:0; display:grid; width:72px; height:72px; overflow:hidden; place-items:end; }.news-card-corner::before { position:absolute; right:-38px; bottom:-38px; width:92px; height:92px; border-radius:50%; background:#e4e4e4; content:""; transition:background-color .3s ease,transform .4s cubic-bezier(.2,.7,.2,1); }.news-card-corner i::before,.news-card-corner i::after { position:absolute; right:16px; bottom:18px; width:14px; height:1px; background:#777; content:""; transition:background-color .3s ease,transform .4s cubic-bezier(.2,.7,.2,1); }.news-card-corner i::after { transform:rotate(90deg); }.news-card:hover,.news-card:focus-within,.js .news-card.is-visible:hover,.js .news-card.is-visible:focus-within { z-index:1; background:#fff; box-shadow:20px 20px 30px rgba(0,0,0,.1); transform:translateY(-6px); }.news-card:hover .news-card-media img,.news-card:focus-within .news-card-media img { transform:scale(1.1); }.news-card:hover .news-card-corner::before,.news-card:focus-within .news-card-corner::before { background:var(--red); transform:scale(1.12); }.news-card:hover .news-card-corner i::before,.news-card:hover .news-card-corner i::after,.news-card:focus-within .news-card-corner i::before,.news-card:focus-within .news-card-corner i::after { background:#fff; transform:scale(1.15); }.news-card:hover .news-card-corner i::after,.news-card:focus-within .news-card-corner i::after { transform:rotate(90deg) scale(1.15); }.news-card > a:focus-visible { outline:3px solid var(--red); outline-offset:-3px; }.news-video-badge { position:absolute; right:16px; bottom:16px; padding:7px 11px; color:#fff; background:rgba(193,26,35,.94); font-size:12px; font-weight:700; text-transform:uppercase; }.news-empty-state { grid-column:1/-1; margin:0; padding:50px 0; color:var(--muted); text-align:center; }.news-pagination { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:66px; }.news-pagination-page,.news-pagination-arrow { display:grid; min-width:42px; height:42px; padding:0 11px; place-items:center; border:1px solid #dedede; border-radius:50%; color:#5d5d5d; background:#fff; font-family:Arial,"Helvetica Neue",sans-serif; font-size:14px; transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease; }.news-pagination-page:hover,.news-pagination-arrow:hover { border-color:var(--red); color:var(--red); transform:translateY(-2px); }.news-pagination-page.is-active { border-color:var(--red); color:#fff; background:var(--red); }.news-pagination-arrow.is-disabled { color:#c8c8c8; background:#f7f7f7; cursor:not-allowed; }.news-pagination-gap { min-width:30px; color:#999; text-align:center; }.news-video-player { display:block; width:100%; aspect-ratio:16/9; border:0; background:#111; }.news-video-player iframe { width:100%; height:100%; border:0; }
.video-center-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:54px 30px; padding:72px 0 110px; }.video-center-card { min-width:0; }.video-center-trigger { position:relative; display:block; overflow:hidden; width:100%; aspect-ratio:16/9; padding:0; border:0; background:#111; cursor:pointer; }.video-center-trigger img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }.video-center-trigger:hover img { transform:scale(1.035); }.video-center-play { position:absolute; top:50%; left:50%; display:grid; width:58px; height:58px; place-items:center; border:2px solid rgba(255,255,255,.88); border-radius:50%; background:rgba(229,30,42,.94); box-shadow:0 5px 18px rgba(0,0,0,.28); transform:translate(-50%,-50%); }.video-center-play i { width:0; height:0; margin-left:4px; border-top:8px solid transparent; border-bottom:8px solid transparent; border-left:13px solid #fff; }.video-center-card h3 { margin:14px 0 0; font-size:17px; font-weight:400; line-height:1.55; }.video-modal-open { overflow:hidden; }.video-modal { width:min(1000px,calc(100% - 40px)); max-width:none; padding:0; border:0; background:transparent; }.video-modal::backdrop { background:rgba(0,0,0,.8); }.video-modal-shell { overflow:hidden; background:#090909; box-shadow:0 20px 60px rgba(0,0,0,.5); }.video-modal header { display:flex; min-height:62px; align-items:center; justify-content:space-between; gap:24px; padding:0 10px 0 22px; color:#fff; }.video-modal h2 { overflow:hidden; margin:0; font-size:18px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }.video-modal-close { display:grid; width:44px; height:44px; padding:0; border:0; color:#fff; background:transparent; cursor:pointer; font-size:32px; line-height:1; place-items:center; }.video-modal-close:hover { color:var(--red); }.video-modal-body { display:grid; width:100%; aspect-ratio:16/9; background:#000; place-items:center; }.video-modal-body iframe,.video-modal-body video { display:block; width:100%; height:100%; border:0; background:#000; object-fit:contain; }.video-modal-external { display:inline-flex; padding:14px 24px; color:#fff; background:var(--red); }.video-detail { max-width:980px; padding:72px 0 110px; }.video-detail-player { display:block; width:100%; aspect-ratio:16/9; border:0; background:#111; }.video-detail-player iframe { width:100%; height:100%; border:0; }.video-external-link { display:flex; min-height:180px; align-items:center; justify-content:center; gap:16px; color:#fff; background:#111; font-size:20px; }
.solution-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:30px; padding:72px 0 110px; }.solution-grid article { overflow:hidden; border:1px solid var(--line); background:#fff; }.solution-grid img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }.solution-grid div { padding:24px; }.solution-grid h3 { min-height:58px; margin:0 0 14px; font-size:21px; line-height:1.4; }.solution-grid p { min-height:72px; margin:0 0 20px; color:var(--muted); font-size:14px; line-height:1.7; }.solution-grid a { color:var(--red); font-size:13px; }
.news-article { max-width:1000px; padding:52px 0 120px; }.news-article-header { width:min(820px,100%); margin:0 auto 48px; }.news-article-nav { display:flex; align-items:center; gap:10px; margin:0 0 20px; font-size:14px; }.news-article-back { display:inline-flex; align-items:center; gap:8px; color:#666; }.news-article-back span { color:var(--red); font-size:20px; line-height:1; transition:transform .2s ease; }.news-article-back:hover { color:var(--red); }.news-article-back:hover span { transform:translateX(-3px); }.news-article-nav-separator { color:#ccc; }.news-article-category { color:var(--red); font-weight:600; }.news-article-header h1 { max-width:820px; margin:0; font-size:44px; font-weight:600; line-height:1.35; }.news-article-meta { margin:20px 0 0; color:#888; font-size:14px; }.news-article-lead { margin:32px 0 0; padding-top:28px; border-top:1px solid var(--line); color:#444; font-size:19px; line-height:1.8; }.news-article-cover { display:flex; width:100%; justify-content:center; margin:0 0 58px; }.news-article-cover img { display:block; width:auto; max-width:100%; height:auto; max-height:640px; }.news-article-content.rich-content { width:min(760px,100%); margin:auto; color:#444; font-size:17px; line-height:2; }.news-article-content > :first-child { margin-top:0; }.news-article-content p { margin:0 0 24px; }.news-article-content h2 { margin:48px 0 18px; font-size:27px; }.news-article-content h3 { margin:36px 0 16px; font-size:22px; }.news-article-content ul,.news-article-content ol { margin:18px 0 30px; padding-left:1.5em; }.news-article-content li { margin:8px 0; }.news-article-content blockquote { margin:32px 0; padding:4px 0 4px 22px; border-left:3px solid var(--red); color:#666; }
.content-detail { display:grid; grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr); gap:70px; padding:72px 0 110px; }.content-detail-media > img { width:100%; max-height:620px; object-fit:cover; }.product-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:14px; }.product-gallery a { aspect-ratio:1.25; overflow:hidden; background:#f4f4f4; }.product-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }.product-gallery a:hover img { transform:scale(1.04); }.content-detail-body time { display:block; margin-bottom:18px; color:#999; font-size:14px; }.detail-model { margin:0 0 25px; color:var(--red); font-weight:700; }.rich-content { color:#555; font-size:16px; line-height:1.9; }.rich-content h2,.rich-content h3 { color:var(--ink); line-height:1.35; }.rich-content img { max-width:100%; height:auto; }.product-specifications,.product-downloads { margin-top:38px; }.product-specifications h2,.product-downloads h2 { margin:0 0 18px; font-size:24px; }.product-specifications dl { margin:0; border-top:1px solid var(--line); }.product-specifications dl div { display:grid; grid-template-columns:minmax(140px,.8fr) minmax(0,1.2fr); gap:25px; padding:14px 0; border-bottom:1px solid var(--line); }.product-specifications dt { color:#777; }.product-specifications dd { margin:0; color:var(--ink); font-weight:600; }.product-downloads { display:grid; gap:1px; }.product-downloads h2 { grid-column:1/-1; }.product-downloads a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 16px; color:var(--ink); background:#f5f5f5; }.product-downloads a:hover { color:var(--red); }.content-detail .red-action { margin-top:35px; }
.contact-layout { display:grid; grid-template-columns:1fr .85fr; gap:90px; padding:72px 0 110px; }.contact-panel { padding:48px; background:#f6f6f6; }.contact-panel p { margin:0; color:var(--red); }.contact-panel h2 { margin:15px 0 30px; font-size:33px; }.contact-panel form { display:grid; gap:17px; }.contact-panel label { display:grid; gap:8px; font-size:13px; }.contact-panel input,.contact-panel textarea { width:100%; border:1px solid #ddd; background:#fff; }.contact-panel input { height:45px; }.contact-panel textarea { height:110px; resize:vertical; }.contact-panel button { width:max-content; padding:14px 27px; border:0; border-radius:24px; color:#fff; background:var(--red); cursor:pointer; }.contact-info h3 { margin-top:0; font-size:26px; }.contact-info p { padding:16px 0; border-bottom:1px solid var(--line); color:#666; }.contact-info b { display:block; margin-bottom:6px; color:#222; }.contact-info img { width:100%; height:240px; margin-top:24px; object-fit:cover; }
.form-inline { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.contact-panel small { color:var(--red); }.form-success { margin:0 0 20px !important; padding:13px 15px; color:#146c43 !important; background:#dff3e7; line-height:1.6 !important; }
.page-floating-actions { position:fixed; z-index:30; right:18px; bottom:72px; display:grid; gap:7px; }.page-floating-actions a { display:grid; width:52px; height:52px; place-items:center; border-radius:11px; color:#777; background:#fff; box-shadow:0 3px 12px rgba(0,0,0,.15); font-size:19px; }.page-floating-actions a:last-child { color:#fff; background:var(--red); font-size:14px; }
@media (max-width:1450px) and (min-width:961px) { .page-header { grid-template-columns:160px 1fr 160px; }.page-nav { position:relative; left:7px; }.page-nav-item > a { padding:0 10px; font-size:16px; }.page-nav-item > a.is-active::after,.page-nav-item:hover > a::after { right:10px; left:10px; }.page-actions { gap:10px; padding-right:0; }.page-language-menu { width:104px; }.page-language-menu summary { padding-left:15px; padding-right:12px; }.page-language-menu > div { width:120px; }.page-quote { display:none; }.page-mega-menu { width:230px; }.page-mega-inner section > a { min-height:50px; padding:0 30px 0 10px; font-size:14px; }.page-mega-inner section > a::after { right:13px; width:7px; height:7px; border-width:1px; }.page-mega-inner section nav { width:160px; }.page-mega-inner section nav a { min-height:50px; padding:0 30px 0 10px; font-size:14px; } }
@media (max-width:1150px) { .page-header { grid-template-columns:1fr auto; padding:0 20px; }.page-nav,.page-actions { display:none; }.mobile-menu { display:block; } }
@media (max-width:960px) { .page-header { grid-template-columns:1fr auto; padding:0 20px; }.page-nav,.page-actions { display:none; }.mobile-menu { display:block; }.page-hero { height:300px; }.page-hero--solution,.page-hero--solution-list,.page-hero--product-list { height:330px; }.section-subnav > div { display:block; min-height:0; padding:14px 0; }.section-subnav a,.section-subnav a:first-child { display:inline-flex; min-height:0; margin:6px 0; padding:0 14px; font-size:14px; }.page-hero h1 { font-size:35px; }.feature-copy h2 { font-size:30px; }.products-layout,.feature-layout,.contact-layout,.content-detail { grid-template-columns:1fr; gap:35px; }.products-layout,.feature-layout,.news-list,.solution-grid,.video-center-grid,.video-detail,.content-detail,.contact-layout { padding-top:52px; }.news-article { padding-top:44px; }.news-article-header { margin-bottom:40px; }.news-article-header h1 { font-size:38px; }.products-layout aside { position:static; display:grid; grid-template-columns:repeat(2,1fr); max-height:none; overflow:visible; }.products-layout aside strong { grid-column:1/-1; }.products-layout aside a { padding-right:12px; }.product-grid,.news-list,.solution-grid,.video-center-grid { grid-template-columns:repeat(2,1fr); }.product-pagination { grid-column:1; }.content-detail-media img { position:static; max-height:480px; }.feature-layout > img { min-height:260px; }.capability-grid { margin-bottom:70px; }.contact-layout { padding-bottom:70px; }.page-floating-actions { right:10px; bottom:18px; }.page-floating-actions a { width:42px; height:42px; border-radius:8px; } }
@media (max-width:560px) { .page-shell { width:calc(100% - 38px); }.page-header { height:64px; }.page-brand { font-size:18px; }.page-hero { height:255px; }.page-hero h1 { font-size:30px; }.products-layout,.news-list,.solution-grid,.video-center-grid,.video-detail,.news-article { padding-bottom:65px; }.products-layout,.feature-layout,.news-list,.solution-grid,.video-center-grid,.video-detail,.content-detail,.contact-layout { padding-top:42px; }.news-article { padding-top:30px; }.news-article-header { margin-bottom:30px; }.news-article-nav { margin-bottom:16px; }.news-article-header h1 { font-size:29px; line-height:1.4; }.news-article-meta { margin-top:14px; font-size:13px; }.news-article-lead { margin-top:24px; padding-top:22px; font-size:17px; line-height:1.75; }.news-article-cover { margin-bottom:38px; }.news-article-content.rich-content { font-size:16px; line-height:1.9; }.news-article-content h2 { margin-top:38px; font-size:23px; }.product-grid,.news-list,.solution-grid,.video-center-grid { grid-template-columns:1fr; }.video-center-grid { gap:36px; }.video-center-play { width:50px; height:50px; }.video-modal { width:calc(100% - 20px); }.video-modal header { min-height:54px; padding-left:16px; }.video-modal h2 { font-size:16px; }.product-grid h3,.news-list h3,.solution-grid h3 { min-height:0; }.feature-layout { padding-bottom:55px; }.capability-grid { grid-template-columns:1fr; margin-bottom:65px; }.contact-panel { padding:27px 22px; }.contact-panel h2 { font-size:27px; } }
@media (max-width:1150px) and (min-width:961px) { .product-category-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:960px) { .product-catalog-overview { padding-top:52px; }.product-category-grid { grid-template-columns:repeat(2,1fr); }.product-category-card h4 { min-height:0; }.product-category-card p { min-height:0; } }
@media (max-width:560px) { .product-catalog-overview { padding-top:42px; }.product-catalog-heading h2 { font-size:28px; }.product-category-grid { grid-template-columns:1fr; }.product-category-group + .product-category-group { margin-top:48px; }.product-category-group-heading { display:block; }.product-category-group-heading span { display:block; margin-top:8px; }.products-layout aside { display:block; }.products-layout aside strong { display:block; }.products-layout aside small { padding-top:20px; } }
@media (prefers-reduced-motion:reduce) { .products-layout,.product-grid article,.product-grid img,.product-pagination-page,.product-pagination-arrow { animation:none; transition:none; }.product-grid article:hover,.product-grid article:hover img,.product-pagination-page:hover,.product-pagination-arrow:hover { transform:none; } }
@media (max-width:960px) { .news-center { width:calc(100% - 48px); padding:58px 0 82px; }.news-list { padding:0; }.news-card-media { height:250px; }.news-card-content { min-height:158px; padding:26px 28px 36px; }.news-card h2 { min-height:58px; margin-top:16px; font-size:19px; }.news-pagination { margin-top:48px; } }
@media (max-width:560px) { .news-center { width:calc(100% - 38px); padding:42px 0 66px; }.news-list { gap:26px; padding:0; }.news-card-media { height:auto; aspect-ratio:16/10; }.news-card-content { min-height:142px; padding:24px 24px 34px; }.news-card h2 { min-height:0; margin-right:38px; font-size:18px; }.news-card-corner { width:62px; height:62px; }.news-card-corner::before { right:-43px; bottom:-43px; }.news-card-corner i::before,.news-card-corner i::after { right:13px; bottom:14px; }.news-pagination { flex-wrap:wrap; gap:6px; margin-top:40px; }.news-pagination-page,.news-pagination-arrow { min-width:38px; height:38px; } }
@media (prefers-reduced-motion:reduce) { .js .news-card,.js .news-card.is-visible { opacity:1; transform:none; transition:none; }.news-card:hover,.news-card:focus-within,.news-card-media img,.news-card-corner::before,.news-card-corner i::before,.news-card-corner i::after,.news-pagination-page,.news-pagination-arrow { transition:none; }.news-card:hover,.news-card:focus-within,.news-card:hover .news-card-media img,.news-card:focus-within .news-card-media img,.news-pagination-page:hover,.news-pagination-arrow:hover { transform:none; } }

/* Product catalogue scale: match the reference's quiet left navigation rail. */
.products-layout { width:min(1680px,calc(100% - 48px)); grid-template-columns:462px minmax(0,1fr); gap:88px; padding:88px 0 140px; }
.products-layout aside { min-height:540px; padding-left:75px; border-top:0; border-right:1px solid var(--line); overflow:visible; }
.products-layout aside strong { display:block; padding:0 0 42px; font-size:48px; font-weight:400; letter-spacing:0; line-height:1.2; }
.products-layout aside a { position:relative; display:flex; min-height:66px; align-items:center; padding:0; border-bottom:1px solid var(--line); font-size:18px; line-height:1.45; }
.products-layout aside a:first-of-type { border-top:0; }
.products-layout aside a.is-active { z-index:1; margin:0; padding:0; border:0; border-bottom:1px solid var(--line); border-right:0; color:var(--red); background:transparent; font-weight:600; box-shadow:none; }
.products-layout aside a.is-active::after { position:absolute; top:0; right:-1px; bottom:0; width:2px; content:""; background:var(--red); }
.products-layout aside small { display:none; }
.products-layout aside a span { gap:12px; font-size:14px; }
.product-grid { gap:46px 38px; }
.product-grid h3 { min-height:60px; margin:22px 0 12px; font-size:22px; font-weight:600; line-height:1.35; }
.product-grid p { min-height:72px; margin-bottom:20px; font-size:15px; line-height:1.75; }
.product-grid a { padding-bottom:24px; font-size:15px; font-weight:600; }
.product-grid article { text-align:center; }
.product-card-link { display:block; padding:0 !important; color:inherit !important; font-size:inherit !important; font-weight:inherit !important; }
.product-grid article { overflow:visible; padding:26px 26px 22px; border:0; background:transparent; box-shadow:none; }
.product-grid article:hover { box-shadow:0 16px 34px rgba(25,35,30,.12); }
.product-grid article:hover,.product-grid article:hover .product-card-link { background:#fff; }
.product-card-link { overflow:visible; background:transparent; }
.product-card-link img { display:block; transition:none; }
.product-grid article:hover img { transform:none; }
.product-card-link > div { padding:20px 8px 0; border-top:1px solid var(--line); }
.product-pagination { margin-top:56px; }

html.js .product-grid article { opacity:0; transform:translateY(28px); animation:none; transition:opacity .72s ease var(--product-delay,0s),transform .72s cubic-bezier(.22,.61,.36,1) var(--product-delay,0s),box-shadow .25s ease,background-color .25s ease; }
html.js .product-grid article.is-visible { opacity:1; transform:none; }
html.js .product-grid article.is-visible:hover { transform:translateY(-6px); }

@media (max-width:1450px) and (min-width:961px) {
    .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:960px) {
    .products-layout { width:calc(100% - 40px); gap:42px; padding:64px 0 100px; }
    .products-layout aside { min-height:0; padding-left:38px; }
    .products-layout aside strong { padding-bottom:28px; font-size:36px; }
    .products-layout aside a { min-height:58px; font-size:17px; }
    .product-grid h3 { font-size:20px; }
}

@media (max-width:720px) {
    .products-layout { width:calc(100% - 32px); gap:46px; padding:52px 0 80px; }
    .products-layout aside { position:static; display:block; max-height:none; overflow:visible; }
    .products-layout aside { padding-left:0; border-right:0; }
    .products-layout aside strong { display:block; padding:0 0 22px; font-size:32px; }
    .products-layout aside a { min-height:58px; padding:0; font-size:18px; }
    .products-layout aside a.is-active::after { right:0; }
    .product-grid { grid-template-columns:1fr; gap:38px; }
    .product-grid article { padding:18px 18px 16px; }
    .product-grid h3 { min-height:0; font-size:22px; }
    .product-grid p { min-height:0; font-size:15px; }
    .product-pagination { grid-column:1; margin-top:36px; }
}

@media (prefers-reduced-motion:reduce) {
    html.js .product-grid article { opacity:1; transform:none; transition:none; }
}

/* Product catalogue artwork contains its own typography, so preserve the top composition. */
.page-hero--product-list {
    height:clamp(620px,40vw,760px);
    background-color:#d9eff8;
    background-position:center top;
}

.page-hero--product-list .page-hero-shade {
    background:transparent;
}

@media (max-width:960px) {
    .page-hero--product-list {
        height:clamp(360px,64vw,520px);
        background-position:28% center;
    }
}

@media (max-width:560px) {
    .page-hero--product-list {
        height:350px;
        background-position:25% center;
    }
}

/* Product detail: industrial catalogue layout with configurable feature and parameter sections. */
.product-detail-page { overflow:hidden; background:#f4f5f5; }
.product-detail-showcase { background:#f3f4f4; }
.product-detail-shell { width:min(1320px,calc(100% - 64px)); margin:auto; }
.product-detail-breadcrumb { display:flex; overflow:hidden; min-height:72px; align-items:center; gap:10px; color:#777; font-size:13px; white-space:nowrap; }
.product-detail-breadcrumb a { flex:0 0 auto; transition:color .2s ease; }
.product-detail-breadcrumb a:hover { color:var(--red); }
.product-detail-breadcrumb span { color:#b7b7b7; }
.product-detail-breadcrumb em { overflow:hidden; color:#555; font-style:normal; text-overflow:ellipsis; }
.product-detail-lead { display:grid; min-height:590px; grid-template-columns:minmax(360px,.82fr) minmax(600px,1.18fr); align-items:center; gap:54px; padding:20px 0 64px; }
.product-detail-summary { position:relative; z-index:2; align-self:center; padding:30px 0 60px; }
.product-detail-category { margin:0 0 16px; color:var(--red); font-size:18px; }
.product-detail-summary h1 { max-width:570px; margin:0; color:#171717; font-size:42px; font-weight:600; line-height:1.3; }
.product-detail-excerpt { max-width:560px; margin:42px 0 0; color:#5f5f5f; font-size:17px; line-height:1.9; }
.product-detail-model { display:flex; align-items:baseline; gap:16px; margin:38px 0 0; color:#888; font-size:14px; }
.product-detail-model strong { color:#333; font-size:18px; font-weight:500; }
.product-detail-gallery { position:relative; z-index:1; min-width:0; }
.product-detail-main-image { position:relative; display:grid; min-height:530px; margin:0; place-items:center; }
.product-detail-main-image::before,.product-detail-main-image::after { position:absolute; z-index:-1; top:50%; left:50%; border:1px solid rgba(229,30,42,.22); border-radius:50%; content:""; transform:translate(-50%,-50%); }
.product-detail-main-image::before { width:430px; height:430px; }
.product-detail-main-image::after { width:300px; height:300px; }
.product-detail-main-image img { display:block; width:100%; height:530px; object-fit:contain; opacity:1; transition:opacity .28s ease; }
.product-detail-main-image img.is-changing { opacity:0; }
.product-detail-thumbnails { position:relative; z-index:3; display:flex; justify-content:center; gap:10px; margin-top:4px; }
.product-detail-thumbnails button { width:70px; height:58px; padding:4px; border:1px solid #d8d8d8; background:#fff; cursor:pointer; transition:border-color .2s ease; }
.product-detail-thumbnails button.is-active,.product-detail-thumbnails button:hover { border-color:var(--red); }
.product-detail-thumbnails img { display:block; width:100%; height:100%; object-fit:contain; }
.product-detail-content { width:min(1296px,calc(100% - 64px)); padding:0 0 78px; }
.product-detail-tab { height:68px; background:#e8e8e8; }
.product-detail-tab span { display:flex; width:180px; height:68px; align-items:center; justify-content:center; color:#fff; background:var(--red); font-size:23px; }
.product-detail-information { padding:72px 60px 50px; background:#fff; }
.product-detail-rich { width:min(980px,100%); margin:0 auto 62px; color:#555; }
.product-detail-rich:empty { display:none; }
.product-detail-video-block { width:min(820px,100%); margin-right:auto; margin-left:auto; }
.product-detail-video-player { display:block; width:100%; aspect-ratio:16/9; border:0; background:#101211; object-fit:contain; }
.product-detail-video-link { display:flex; min-height:180px; align-items:center; justify-content:center; gap:18px; color:#fff; background:#171918; font-size:19px; }
.product-detail-video-link b { color:var(--red); font-size:24px; font-weight:400; }
.product-detail-block + .product-detail-block { margin-top:90px; }
.product-detail-block h2 { display:flex; align-items:center; justify-content:center; gap:14px; margin:0 0 48px; color:var(--red); font-size:30px; font-weight:500; text-align:center; }
.product-detail-block h2::before,.product-detail-block h2::after { width:28px; height:1px; content:""; background:#777; }
.product-feature-list { width:min(1120px,100%); margin:0 auto; padding-left:20px; color:#3f3f3f; font-size:16px; line-height:1.75; }
.product-feature-list li { padding:2px 0 2px 2px; }
.product-feature-list li::marker { color:#333; font-size:.8em; }
.product-technical-table-wrap { overflow-x:auto; width:100%; }
.product-technical-table { width:100%; min-width:720px; border-collapse:collapse; table-layout:fixed; color:#3d3d3d; background:#fff; font-size:16px; text-align:center; }
.product-technical-table th,.product-technical-table td { height:32px; padding:4px 12px; border:1px solid #ccc; background:#fff; }
.product-technical-table thead th { color:#242424; font-weight:600; }
.product-technical-table tbody th { width:28%; font-weight:400; }
.product-detail-downloads > div { display:grid; width:min(980px,100%); margin:auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.product-detail-downloads a { display:flex; min-height:56px; align-items:center; justify-content:space-between; gap:20px; padding:12px 18px; border:1px solid #e2e2e2; color:#444; transition:border-color .2s ease,color .2s ease; }
.product-detail-downloads a:hover { border-color:var(--red); color:var(--red); }
.product-detail-downloads a span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.product-detail-downloads a b { color:var(--red); font-size:20px; font-weight:400; }
.product-detail-adjacent { display:grid; width:100%; grid-template-columns:1fr 1fr; padding-top:86px; }
.product-detail-adjacent a { display:flex; min-width:0; align-items:center; gap:12px; color:#555; }
.product-detail-adjacent a.is-next { justify-content:flex-end; text-align:right; }
.product-detail-adjacent small { flex:none; color:#777; font-size:14px; }
.product-detail-adjacent span { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.product-detail-adjacent a:hover span { color:var(--red); }
.product-related { position:relative; width:min(1296px,calc(100% - 64px)); padding:58px 0 110px; background:#fff; box-shadow:0 0 0 100vmax #fff; clip-path:inset(0 -100vmax); }
.product-related > header { margin-bottom:52px; }
.product-related > header h2 { display:flex; align-items:center; justify-content:center; gap:12px; margin:0; color:var(--red); font-size:30px; font-weight:400; text-align:center; }
.product-related > header h2::before,.product-related > header h2::after { width:30px; height:1px; content:""; background:#292929; }
.product-related-carousel { position:relative; }
.product-related-control { position:absolute; z-index:4; top:50%; display:grid; width:48px; height:64px; padding:0; place-items:center; border:0; color:var(--red); background:transparent; cursor:pointer; transform:translateY(-50%); transition:color .2s ease,opacity .2s ease,transform .2s ease; }
.product-related-control.is-previous { left:-7px; }
.product-related-control.is-next { right:-7px; }
.product-related-control svg { width:38px; height:38px; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.product-related-control:hover:not(:disabled) { transform:translateY(-50%) scale(1.08); }
.product-related-control:focus-visible { outline:2px solid var(--red); outline-offset:4px; }
.product-related-control:disabled { color:#7c7c7c; opacity:.34; pointer-events:none; }
.product-related.is-static .product-related-control { display:none; }
.product-related-track { display:grid; overflow-x:auto; grid-auto-columns:calc((100% - 60px)/4); grid-auto-flow:column; gap:20px; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-inline:contain; }
.product-related-track::-webkit-scrollbar { display:none; }
.product-related-track > a { overflow:hidden; min-width:0; border-radius:18px; color:#343434; background:linear-gradient(128deg,transparent 0 72%,rgba(255,255,255,.44) 72% 81%,transparent 81%),linear-gradient(145deg,transparent 0 86%,rgba(255,255,255,.58) 86%),#f3f4f5; scroll-snap-align:start; transition:transform .35s cubic-bezier(.22,1,.36,1); }
.product-related-track > a:hover { color:#343434; transform:translateY(-4px); }
.product-related-track figure { overflow:hidden; aspect-ratio:1.08; margin:30px 30px 0; background:#fff; }
.product-related-track img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .45s cubic-bezier(.22,1,.36,1); }
.product-related-track a:hover img { transform:scale(1.035); }
.product-related-track h3 { overflow:hidden; margin:0; padding:28px 25px 30px; font-size:17px; font-weight:400; line-height:1.5; text-align:left; text-overflow:ellipsis; white-space:nowrap; }

@media (max-width:1080px) {
    .product-detail-lead { grid-template-columns:minmax(300px,.8fr) minmax(460px,1.2fr); gap:25px; }
    .product-detail-summary h1 { font-size:36px; }
    .product-detail-main-image,.product-detail-main-image img { height:450px; min-height:450px; }
    .product-detail-information { padding-right:38px; padding-left:38px; }
    .product-related-track { grid-auto-columns:calc((100% - 48px)/3); }
}

@media (max-width:760px) {
    .product-detail-shell,.product-detail-content,.product-related { width:calc(100% - 32px); }
    .product-detail-breadcrumb { min-height:58px; }
    .product-detail-lead { display:flex; min-height:0; flex-direction:column-reverse; align-items:stretch; gap:16px; padding:0 0 46px; }
    .product-detail-main-image,.product-detail-main-image img { height:360px; min-height:360px; }
    .product-detail-main-image::before { width:310px; height:310px; }
    .product-detail-main-image::after { width:220px; height:220px; }
    .product-detail-summary { padding:20px 0 8px; }
    .product-detail-category { margin-bottom:12px; font-size:16px; }
    .product-detail-summary h1 { font-size:31px; }
    .product-detail-excerpt { margin-top:22px; font-size:16px; }
    .product-detail-model { margin-top:24px; }
    .product-detail-tab,.product-detail-tab span { height:58px; }
    .product-detail-tab span { width:150px; font-size:20px; }
    .product-detail-information { padding:52px 20px 42px; }
    .product-detail-rich { margin-bottom:48px; }
    .product-detail-block + .product-detail-block { margin-top:64px; }
    .product-detail-block h2 { margin-bottom:34px; font-size:25px; }
    .product-feature-list { font-size:15px; }
    .product-detail-downloads > div { grid-template-columns:1fr; }
    .product-detail-adjacent { grid-template-columns:1fr; gap:14px; padding-top:58px; }
    .product-detail-adjacent a.is-next { justify-content:flex-start; text-align:left; }
    .product-related { padding:46px 0 78px; }
    .product-related > header { margin-bottom:38px; }
    .product-related > header h2 { font-size:27px; }
    .product-related-control { width:42px; height:56px; }
    .product-related-control.is-previous { left:-6px; }
    .product-related-control.is-next { right:-6px; }
    .product-related-control svg { width:32px; height:32px; }
    .product-related-track { grid-auto-columns:76%; gap:16px; }
    .product-related-track figure { margin:22px 22px 0; }
    .product-related-track h3 { padding:22px 20px 24px; }
}

@media (max-width:430px) {
    .product-detail-main-image,.product-detail-main-image img { height:300px; min-height:300px; }
    .product-detail-main-image::before { width:270px; height:270px; }
    .product-detail-main-image::after { width:190px; height:190px; }
    .product-detail-summary h1 { font-size:27px; }
    .product-detail-thumbnails button { width:58px; height:50px; }
    .product-technical-table { min-width:620px; font-size:14px; }
}

@media (prefers-reduced-motion:reduce) {
    .product-detail-main-image img,.product-related-track,.product-related-track img { transition:none; scroll-behavior:auto; }
}
