:root { --ink:#12181d; --navy:#101820; --blue:#1c6371; --teal:#5bb9b6; --red:#ad3032; --paper:#fff; --mist:#eff4f4; --line:#cbd6d7; --muted:#617175; --max:1240px; --font-sans:'PingFang SC','Microsoft YaHei','Noto Sans CJK SC','Helvetica Neue',Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:var(--font-sans); }
a { color:inherit; text-decoration:none; }
button, input, select { font:inherit; }
img, video { max-width:100%; }
.shell { width:min(var(--max), calc(100% - 64px)); margin:0 auto; }
.container { width:min(var(--max), calc(100% - 64px)); margin:0 auto; }
.utility { min-height:34px; color:#d5e2e2; background:#0b1115; font-size:11px; letter-spacing:.06em; }
.utility .shell { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.utility-links { display:flex; gap:22px; }
.header { position:sticky; top:0; z-index:30; background:#fff; border-bottom:1px solid #dfe6e6; }
.header .shell { min-height:76px; display:flex; align-items:center; gap:34px; }
.brand { min-width:270px; display:flex; align-items:center; gap:12px; color:var(--navy); line-height:1; }
.brand-logo { width:68px; height:42px; flex:0 0 auto; object-fit:contain; }
.brand-copy { min-width:0; display:grid; gap:7px; }
.brand-copy strong { font-size:15px; font-weight:800; letter-spacing:.055em; white-space:nowrap; }
.brand-copy small { color:var(--blue); font-size:8px; font-weight:700; letter-spacing:.1em; white-space:nowrap; }
.nav { display:flex; align-items:stretch; gap:30px; min-height:76px; margin-left:auto; font-size:13px; font-weight:700; }
.nav a { display:flex; align-items:center; border-bottom:3px solid transparent; }
.nav a:hover, .nav a[aria-current="page"] { color:var(--blue); border-color:var(--red); }
.nav-menu { position:relative; display:flex; align-items:stretch; }
.nav-menu-trigger { position:relative; }
.nav-menu .nav-submenu { position:absolute; z-index:100; top:100%; left:50%; display:grid; min-width:300px; padding:10px; visibility:hidden; opacity:0; transform:translate(-50%, 8px); box-sizing:border-box; isolation:isolate; border:1px solid #d7e0ec; background:#fff !important; box-shadow:0 12px 28px rgba(16,24,32,.14); transition:opacity .18s, transform .18s, visibility .18s; }
.nav-menu:hover .nav-submenu { visibility:visible; opacity:1; transform:translate(-50%, 0); }
.nav-menu .nav-submenu a { min-height:38px; padding:0 14px; align-items:center; box-sizing:border-box; white-space:nowrap; border:0 !important; color:#173d71 !important; background:#fff !important; font-size:12px; font-weight:700; }
.nav-menu .nav-submenu a:hover { color:#fff !important; background:#06366e !important; }
.button { border:0; border-radius:0; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 22px; background:var(--red); color:#fff; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.button:hover { background:#842224; }
.button-secondary { color:var(--navy); border:1px solid #8ca0a2; background:#fff; }
.button-secondary:hover { color:#fff; background:var(--navy); }
.catalog-hero { padding:76px 0 68px; color:#fff; background:var(--navy); }
.catalog-hero .shell { display:grid; grid-template-columns:1.2fr .8fr; gap:90px; align-items:end; }
.catalog-hero h1, .detail-title h1 { margin:0; letter-spacing:0; white-space:nowrap; }
.catalog-hero h1 { max-width:none; font-size:clamp(38px, 3.45vw, 44px); line-height:1.08; }
.catalog-hero p { max-width:690px; margin:24px 0 0; color:#c8d7d8; font-size:17px; line-height:1.65; }
.category-shortcuts { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; margin-top:30px; }
.category-shortcut { min-height:86px; display:flex; flex-direction:column; justify-content:center; padding:14px 16px; color:#eaf3f3; border:1px solid rgba(196,219,220,.28); background:rgba(255,255,255,.03); transition:border-color .2s, background .2s, transform .2s; }
.category-shortcut span { color:#7ed5d0; font-size:10px; font-weight:800; letter-spacing:.1em; }
.category-shortcut strong { margin-top:8px; font-size:14px; line-height:1.2; }
.category-shortcut:hover { transform:translateY(-2px); color:#fff; border-color:#7ed5d0; background:rgba(126,213,208,.1); }
.catalog-stat { border-left:1px solid rgba(196,219,220,.45); padding-left:34px; }
.catalog-stat strong { display:block; color:#7ed5d0; font-size:42px; line-height:1; }
.catalog-stat span { display:block; margin-top:10px; color:#c8d7d8; font-size:12px; line-height:1.5; text-transform:uppercase; letter-spacing:.08em; }
.catalog-main { padding:58px 0 92px; }
.selection-intro { display:grid; grid-template-columns:110px minmax(0, 1fr); column-gap:18px; row-gap:7px; margin-bottom:22px; padding:18px 20px; border:1px solid #d5e1e2; background:#f6fafa; }
.selection-intro > span { grid-row:span 2; align-self:center; color:var(--red); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.selection-intro strong { color:var(--navy); font-size:15px; }
.selection-intro p { grid-column:2; margin:0; color:var(--muted); font-size:12px; line-height:1.5; }
.filters { display:grid; grid-template-columns:minmax(280px, 1.45fr) repeat(2, minmax(190px, 1fr)); gap:14px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.control { display:grid; gap:7px; }
.control label { color:#405458; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.control input, .control select { width:100%; min-height:48px; padding:0 13px; color:var(--ink); border:1px solid var(--line); border-radius:0; background:#fff; outline-color:var(--blue); font-size:14px; }
.catalog-summary { min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--muted); font-size:13px; }
.selection-state { display:flex; align-items:center; gap:11px; flex-wrap:wrap; min-height:58px; padding:12px 0; color:#405458; border-bottom:1px solid var(--line); font-size:12px; }
.selection-state[hidden] { display:none !important; }
.selection-state > span { color:var(--navy); font-weight:800; }
.selection-state #selection-chips { display:flex; gap:7px; flex-wrap:wrap; }
.selection-state #selection-chips span { padding:6px 9px; color:#405458; border:1px solid #ccdbdc; background:#f8fbfb; }
.selection-state #selection-chips b { color:var(--navy); }
.selection-state button { margin-left:auto; padding:0; color:var(--red); border:0; background:transparent; font-size:12px; font-weight:800; cursor:pointer; }
.selection-state button:hover { text-decoration:underline; }
.catalog-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:28px 20px; }
.catalog-card { min-width:0; border:1px solid #dfe6e6; background:#fff; transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.catalog-card:hover { transform:translateY(-3px); border-color:#aebdbf; box-shadow:0 12px 28px rgba(16,24,32,.09); }
.catalog-media { aspect-ratio:1 / 1; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#f4f6f6; border-bottom:1px solid #dfe6e6; }
.catalog-media img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; transition:transform .35s ease; }
.catalog-card:hover .catalog-media img { transform:scale(1.03); }
.catalog-copy { min-height:250px; display:flex; flex-direction:column; padding:22px 20px 20px; }
.category-label { color:var(--red); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.catalog-copy h2 { margin:10px 0 10px; color:var(--navy); font-size:21px; line-height:1.12; letter-spacing:0; }
.catalog-copy p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.catalog-meta { margin-top:auto; padding-top:18px; color:#355057; font-size:11px; line-height:1.5; border-top:1px solid #e2e8e8; }
.catalog-meta strong { color:var(--navy); }
.catalog-cta { display:flex; align-items:center; justify-content:space-between; margin-top:17px; padding-top:14px; color:var(--red); border-top:1px solid #e2e8e8; font-size:11px; font-weight:800; letter-spacing:.06em; }
.catalog-cta b { font-size:17px; font-weight:400; transition:transform .2s ease; }
.catalog-card:hover .catalog-cta b { transform:translateX(4px); }
.empty { grid-column:1 / -1; padding:70px 30px; text-align:center; color:var(--muted); background:var(--mist); }
.detail-main { padding:34px 0 90px; }
.breadcrumb { display:flex; gap:9px; margin-bottom:30px; color:var(--muted); font-size:12px; }
.breadcrumb a:hover { color:var(--blue); }
.detail-hero { display:grid; grid-template-columns:minmax(0, 1.08fr) minmax(360px, .92fr); gap:64px; align-items:start; }
.primary-viewer { min-height:640px; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#f3f5f5; border:1px solid #dce4e4; }
.primary-viewer button { width:100%; height:100%; min-height:640px; padding:0; border:0; background:transparent; cursor:zoom-in; }
.primary-viewer img { width:100%; height:640px; display:block; object-fit:contain; }
.detail-title { padding-top:12px; }
.detail-title h1 { margin-top:12px; color:var(--navy); font-size:clamp(32px, 3vw, 40px); line-height:1.08; }
.detail-title > p { margin:22px 0 0; color:var(--muted); font-size:16px; line-height:1.65; }
.product-configurator { margin:28px 0 8px; border-top:2px solid var(--navy); border-bottom:1px solid var(--line); }
.configurator-head { display:flex; align-items:baseline; gap:12px; padding:16px 0 13px; }
.configurator-head span { color:var(--red); font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.configurator-head strong { color:var(--navy); font-size:15px; }
.configurator-group { display:grid; grid-template-columns:132px minmax(0, 1fr); gap:15px; align-items:start; padding:12px 0; border-top:1px solid #e1e8e8; }
.configurator-group > span { padding-top:8px; color:#506367; font-size:12px; font-weight:700; }
.option-chips { display:flex; gap:7px; flex-wrap:wrap; }
.option-chip { min-height:34px; padding:0 11px; color:#405458; border:1px solid #c8d5d6; background:#fff; font-size:12px; cursor:pointer; transition:background .15s, color .15s, border-color .15s; }
.option-chip:hover { color:var(--navy); border-color:#6f8e92; }
.option-chip.is-selected { color:#fff; border-color:var(--navy); background:var(--navy); }
.option-chip:disabled { color:#9aa9aa; border-color:#e1e7e7; background:#f6f8f8; cursor:not-allowed; }
.configurator-group[data-config-key="size"] .option-chips { display:grid; grid-template-columns:repeat(5,minmax(45px,1fr)); max-width:390px; }
.configurator-group[data-config-key="size"] .option-chip { width:100%; }
#configurator-note { margin:0; padding:12px 0 15px 147px; color:var(--muted); font-size:11px; line-height:1.5; }
.feature-list { display:grid; gap:0; margin:34px 0; border-top:1px solid var(--line); }
.feature-list div { padding:14px 0; border-bottom:1px solid var(--line); font-size:14px; }
.spec-table { margin:30px 0; }
.spec-row { display:grid; grid-template-columns:132px 1fr; gap:18px; padding:13px 0; border-bottom:1px solid #dde5e5; font-size:13px; line-height:1.5; }
.spec-row span:first-child { color:var(--muted); }
.detail-actions { display:flex; flex-wrap:wrap; gap:12px; }
.detail-actions--primary { margin:28px 0 8px; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.detail-actions--primary .button { min-width:132px; }
.media-section { margin-top:82px; padding-top:44px; border-top:1px solid var(--line); }
.product-faq { margin-top:56px; padding-top:30px; border-top:1px solid var(--line); }
.faq-intro { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; margin-bottom:40px; padding:24px; background:#f8fafa; border:1px solid var(--line); }
.faq-intro-text .page-kicker { display:block; margin-bottom:8px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.faq-intro-text h2 { margin:0 0 8px; color:var(--navy); font-size:26px; font-weight:800; letter-spacing:.02em; }
.faq-subtitle { margin:0; color:var(--muted); font-size:12px; letter-spacing:.08em; }
.faq-lengths-image { width:100%; max-height:320px; display:block; object-fit:contain; }
.product-faq h2 { margin:0 0 18px; color:var(--navy); font-size:30px; }
.product-faq details { border-top:1px solid var(--line); }
.product-faq details:last-of-type { border-bottom:1px solid var(--line); }
.product-faq summary { padding:16px 0; color:var(--navy); font-size:14px; font-weight:700; cursor:pointer; }
.product-faq p { margin:0; padding:0 0 16px; color:var(--muted); font-size:13px; line-height:1.6; }
.faq-actions { display:flex; gap:14px; margin-top:32px; padding-top:28px; border-top:1px solid var(--line); }
.faq-actions .button { min-height:46px; }
.product-features-section { margin-bottom:40px; }
.product-features-section[hidden] { display:none; }
.features-heading { margin:0 0 24px; color:var(--navy); font-size:28px; line-height:1.2; font-weight:700; }
.product-detail-copy { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.product-detail-copy[hidden] { display:none; }
.product-detail-copy article { position:relative; min-height:184px; padding:26px 24px; border:1px solid #dbe4ee; border-top:3px solid #6b8db6; background:linear-gradient(145deg,#fff 0%,#f6f9fc 100%); box-shadow:0 7px 18px rgba(15,50,90,.045); }
.product-detail-copy h3 { margin:0 0 16px; color:var(--navy); font-size:18px; line-height:1.3; }
.product-detail-copy p { margin:0; color:var(--muted); font-size:13px; line-height:1.72; }
.media-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:25px; }
.media-head h2 { margin:0; color:var(--navy); font-size:36px; letter-spacing:0; }
.media-head p { margin:0; color:var(--muted); font-size:13px; }
.media-filters { display:grid; grid-template-columns:1.2fr .75fr .9fr; gap:14px; margin-bottom:22px; }
.media-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:18px; }
.media-card { min-width:0; padding:0; overflow:hidden; text-align:left; border:1px solid #dbe3e3; background:#fff; cursor:pointer; }
.media-card:hover { border-color:#769195; }
.media-thumb { aspect-ratio:1 / 1; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#f4f6f6; }
.media-thumb img { width:100%; height:100%; display:block; object-fit:contain; }
.video-thumb { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:#fff; background:#16232b; font-size:13px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.media-caption { min-height:64px; display:block; padding:11px 12px; color:#43565a; font-size:11px; line-height:1.4; border-top:1px solid #e0e6e6; overflow-wrap:anywhere; }
.load-more { display:flex; justify-content:center; margin-top:32px; }
.lightbox { width:min(1180px, calc(100% - 48px)); max-height:calc(100vh - 48px); padding:0; border:0; background:#fff; box-shadow:0 24px 90px rgba(0,0,0,.35); }
.lightbox::backdrop { background:rgba(5,10,13,.86); }
.lightbox-layout { display:grid; grid-template-columns:minmax(0, 1fr) 310px; min-height:680px; }
.lightbox-media { position:relative; min-width:0; display:flex; align-items:center; justify-content:center; background:#eef2f2; }
.lightbox-media img, .lightbox-media video { max-width:100%; max-height:calc(100vh - 64px); object-fit:contain; }
.lightbox-meta { padding:30px 26px; overflow:auto; border-left:1px solid #dfe6e6; }
.lightbox-meta h3 { margin:0 38px 16px 0; color:var(--navy); font-size:18px; line-height:1.25; overflow-wrap:anywhere; }
.lightbox-meta p { color:var(--muted); font-size:12px; line-height:1.55; overflow-wrap:anywhere; }
.lightbox-files { margin:20px 0 0; padding-top:18px; border-top:1px solid #dfe6e6; }
.lightbox-files div { margin-top:9px; color:#405458; font-size:11px; line-height:1.45; overflow-wrap:anywhere; }
.icon-button { position:absolute; z-index:2; width:44px; height:44px; display:flex; align-items:center; justify-content:center; padding:0; color:#fff; border:0; background:rgba(9,17,21,.78); font-size:26px; cursor:pointer; }
.lightbox-close { top:14px; right:14px; color:var(--navy); background:#fff; border:1px solid #bcc9ca; font-size:22px; }
.lightbox-prev { left:14px; top:50%; transform:translateY(-50%); }
.lightbox-next { right:14px; top:50%; transform:translateY(-50%); }
.footer { margin-top:0; padding:54px 0 25px; color:#bdc9ca; background:#0b1115; font-size:12px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .72fr .9fr 1.2fr; gap:38px; padding-bottom:44px; border-bottom:1px solid rgba(204,225,224,.2); }
.footer-brand { color:#fff; font-size:18px; font-weight:800; letter-spacing:.04em; }
.footer-brand span { display:block; margin-top:9px; color:#72d1cc; font-size:10px; letter-spacing:.15em; }
.footer-brand p { max-width:300px; margin:17px 0 0; color:#aebdbe; font-size:13px; font-weight:400; line-height:1.65; letter-spacing:0; }
.footer h3 { margin:3px 0 16px; color:#fff; font-size:11px; letter-spacing:.1em; }
.footer-links { display:grid; gap:10px; color:#bdc9ca; }
.footer-links a:hover { color:#fff; }
.footer-socials { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.footer-socials a { width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; color:#dbe8f4; border:1px solid rgba(168,196,229,.42); transition:color .16s,border-color .16s,background .16s; }
.footer-socials svg { display:none; }
.footer-socials a { font-size:0; }
.footer-socials a::before { width:15px; height:15px; content:""; background:currentColor; -webkit-mask:center / contain no-repeat; mask:center / contain no-repeat; }
.footer-socials a:nth-child(1)::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M16.6 3c.3 2.2 1.5 3.5 3.4 3.7v3.4c-1.4.1-2.6-.3-3.4-.9v6.4c0 4.8-5.2 6.3-7.8 3.7-1.7-1.7-1.7-5.1 0-6.8 1.1-1.1 2.6-1.5 4.1-1.1v3.5c-.5-.2-1.1-.1-1.5.3-.8.8-.3 2.2.8 2.2.8 0 1.5-.6 1.5-1.7V3h2.9z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M16.6 3c.3 2.2 1.5 3.5 3.4 3.7v3.4c-1.4.1-2.6-.3-3.4-.9v6.4c0 4.8-5.2 6.3-7.8 3.7-1.7-1.7-1.7-5.1 0-6.8 1.1-1.1 2.6-1.5 4.1-1.1v3.5c-.5-.2-1.1-.1-1.5.3-.8.8-.3 2.2.8 2.2.8 0 1.5-.6 1.5-1.7V3h2.9z'/%3E%3C/svg%3E"); }
.footer-socials a:nth-child(2)::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M23.5 6.2a3 3 0 0 0-2.1-2.1C19.5 3.6 12 3.6 12 3.6s-7.5 0-9.4.5A3 3 0 0 0 .5 6.2C0 8.1 0 12 0 12s0 3.9.5 5.8a3 3 0 0 0 2.1 2.1c1.9.5 9.4.5 9.4.5s7.5 0 9.4-.5a3 3 0 0 0 2.1-2.1C24 15.9 24 12 24 12s0-3.9-.5-5.8ZM9.6 15.6V8.4l6.3 3.6-6.3 3.6Z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M23.5 6.2a3 3 0 0 0-2.1-2.1C19.5 3.6 12 3.6 12 3.6s-7.5 0-9.4.5A3 3 0 0 0 .5 6.2C0 8.1 0 12 0 12s0 3.9.5 5.8a3 3 0 0 0 2.1 2.1c1.9.5 9.4.5 9.4.5s7.5 0 9.4-.5a3 3 0 0 0 2.1-2.1C24 15.9 24 12 24 12s0-3.9-.5-5.8ZM9.6 15.6V8.4l6.3 3.6-6.3 3.6Z'/%3E%3C/svg%3E"); }
.footer-socials a:nth-child(3)::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4.6 3.4A2.6 2.6 0 1 1 4.5 8a2.6 2.6 0 0 1 .1-4.6ZM2.3 9.9h4.5V22H2.3V9.9Zm7.3 0h4.3v1.7h.1c.6-1.1 2.1-2.2 4.3-2.2 4.6 0 5.5 3 5.5 7V22h-4.5v-4.9c0-1.2 0-3-1.9-3-1.9 0-2.2 1.5-2.2 2.9V22H10V9.9h-.4Z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4.6 3.4A2.6 2.6 0 1 1 4.5 8a2.6 2.6 0 0 1 .1-4.6ZM2.3 9.9h4.5V22H2.3V9.9Zm7.3 0h4.3v1.7h.1c.6-1.1 2.1-2.2 4.3-2.2 4.6 0 5.5 3 5.5 7V22h-4.5v-4.9c0-1.2 0-3-1.9-3-1.9 0-2.2 1.5-2.2 2.9V22H10V9.9h-.4Z'/%3E%3C/svg%3E"); }
.footer-socials a:nth-child(4)::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M13.7 22v-8.8h3l.4-3.4h-3.4V7.6c0-1 .3-1.7 1.8-1.7h1.9V2.8c-.3 0-1.5-.1-2.8-.1-2.8 0-4.7 1.7-4.7 4.8v2.3H6.8v3.4h3.1V22h3.8Z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M13.7 22v-8.8h3l.4-3.4h-3.4V7.6c0-1 .3-1.7 1.8-1.7h1.9V2.8c-.3 0-1.5-.1-2.8-.1-2.8 0-4.7 1.7-4.7 4.8v2.3H6.8v3.4h3.1V22h3.8Z'/%3E%3C/svg%3E"); }
.footer-socials a:hover, .footer-socials a:focus-visible { color:#fff; border-color:#fff; background:rgba(255,255,255,.1); outline:0; }
.footer-qr-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; margin-top:16px; }
.footer-qr { min-width:0; padding:8px; background:#fff; }
.footer-qr img { width:100%; aspect-ratio:1; display:block; object-fit:contain; }
.footer-qr span { display:block; padding:8px 2px 1px; color:#31577f; font-size:10px; font-weight:800; text-align:center; letter-spacing:.06em; }
.footer-bottom { display:flex; justify-content:space-between; gap:30px; padding-top:20px; color:#829294; font-size:10px; letter-spacing:.07em; }
.contact-float { position:fixed; z-index:45; right:0; top:52%; transform:translateY(-50%); }
.contact-float-trigger { width:42px; min-height:108px; padding:10px 8px; color:#fff; border:0; background:#9b1934; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; writing-mode:vertical-rl; }
.contact-float-panel { position:absolute; right:52px; top:50%; width:300px; padding:18px; color:#0b376d; border:1px solid #d4dfeb; background:#fff; box-shadow:0 18px 50px rgba(0,24,52,.22); transform:translateY(-50%); }
.contact-float-panel[hidden] { display:none; }
.contact-float-panel > strong { display:block; margin-bottom:14px; font-size:15px; }
.contact-float-codes { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.contact-float-codes .footer-qr { padding:7px; border:1px solid #dce4ee; }
.video-dialog { width:min(980px,calc(100% - 64px)); padding:0; color:#fff; border:0; background:#061c35; box-shadow:0 24px 90px rgba(0,0,0,.5); }
.video-dialog::backdrop { background:rgba(1,10,20,.86); }
.video-dialog video { width:100%; max-height:calc(100vh - 130px); display:block; background:#000; }
.video-dialog-title { display:block; padding:16px 20px; font-size:15px; }
.video-dialog-close { position:absolute; z-index:2; right:12px; top:12px; width:38px; height:38px; padding:0; color:#fff; border:1px solid rgba(255,255,255,.65); background:rgba(0,0,0,.55); font-size:25px; cursor:pointer; }

/* Catalog uses the same fixed header grid as the site home and product pages. */
.catalog-ui .header--site .shell { min-height:76px; gap:34px; }
.catalog-ui .header--site .nav { min-height:76px; gap:30px; }
.catalog-ui .header--site .button { min-height:46px; background:var(--red); }
.catalog-ui .header--site .button:hover { background:#842224; }
@media (max-width:1050px) {
  .catalog-grid, .media-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .filters { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .detail-hero { grid-template-columns:1fr; }
  .primary-viewer, .primary-viewer button { min-height:560px; }
  .primary-viewer img { height:560px; }
}
@media (max-width:760px) {
  .shell, .container { width:min(var(--max), calc(100% - 32px)); }
  .utility-links, .nav { display:none; }
  .header .shell { min-height:66px; }
  .catalog-hero .shell { grid-template-columns:1fr; gap:35px; }
  .catalog-hero { padding:58px 0; }
  .catalog-hero h1 { font-size:43px; white-space:normal; }
  .catalog-stat { padding:0; border:0; }
  .category-shortcuts { grid-template-columns:1fr 1fr; }
  .filters, .media-filters { grid-template-columns:1fr; }
  .selection-intro { grid-template-columns:1fr; }
  .selection-intro > span, .selection-intro p { grid-column:auto; grid-row:auto; }
  .selection-state button { margin-left:0; }
  .configurator-group { grid-template-columns:1fr; gap:8px; }
  #configurator-note { padding-left:0; }
  .catalog-grid, .media-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .catalog-copy { min-height:210px; }
  .detail-hero { gap:32px; }
  .detail-title h1 { font-size:36px; white-space:normal; }
  .primary-viewer, .primary-viewer button { min-height:420px; }
  .primary-viewer img { height:420px; }
  .lightbox-layout { grid-template-columns:1fr; }
  .lightbox-meta { border:0; border-top:1px solid #dfe6e6; }
}

/* Global language selector */
.language-switcher { flex:0 0 176px; display:flex; flex-direction:column; align-items:stretch; gap:2px; margin-left:12px; color:#35536d; font-size:11px; font-weight:700; letter-spacing:.03em; line-height:1.1; white-space:nowrap; }
.language-switcher select { width:100%; max-width:150px; min-height:30px; padding:0 25px 0 9px; border:1px solid #c9d7e4; border-radius:2px; color:#153c67; background:#fff; font:inherit; cursor:pointer; }
.is-rtl { text-align:right; }
.is-rtl .language-switcher { direction:rtl; margin-left:0; margin-right:12px; }
.is-rtl .language-switcher select { padding:0 9px 0 25px; }
.is-rtl .nav, .is-rtl .utility .shell, .is-rtl .header .shell { direction:rtl; }
@media (max-width:480px) {
  .catalog-grid, .media-grid { grid-template-columns:1fr; }
  .catalog-copy { min-height:0; }
  .catalog-summary, .media-head { display:block; }
  .media-head p { margin-top:10px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:30px; }
  .footer-bottom { display:block; line-height:1.8; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; } }

/* Medical procurement styling for catalog and product detail pages. */
.catalog-ui .utility, .detail-ui .utility { display:none; }
.catalog-ui .header .shell, .detail-ui .header .shell { min-height:64px; }
.catalog-ui .nav, .detail-ui .nav { min-height:64px; gap:26px; font-size:13px; }
.catalog-ui .brand, .detail-ui .brand { min-width:270px; }
.catalog-ui .button, .detail-ui .button { min-height:40px; }
.catalog-page, .detail-main { background:#f8fafc; }
.catalog-page .utility, .detail-main + .footer { }
.catalog-page .catalog-hero { padding:48px 0 26px; color:var(--navy); background:#fff; border-bottom:1px solid #e1e7ef; }
.catalog-page .catalog-hero .shell { display:flex; align-items:center; justify-content:space-between; gap:48px; }
.catalog-heading h1 { margin:0 0 10px; color:#0b376d; font-family:var(--font-sans); font-size:36px; font-weight:700; letter-spacing:-.02em; white-space:nowrap; }
.catalog-heading p { max-width:560px; margin:0; color:#586b80; font-size:13px; line-height:1.65; }
.catalog-proof { display:grid; grid-template-columns:repeat(4, minmax(92px,1fr)); border-left:1px solid #dce4ef; }
.catalog-proof > div { min-height:58px; display:grid; align-content:center; padding:0 18px; border-right:1px solid #dce4ef; }
.catalog-proof strong { color:#0b376d; font-size:17px; line-height:1.1; }
.catalog-proof span { margin-top:6px; color:#60748b; font-size:10px; }
.catalog-page .catalog-main { padding:20px 0 44px; }
.catalog-tabs { display:flex; gap:8px; margin-bottom:14px; }
.catalog-tabs .category-shortcut { min-height:38px; padding:0 18px; color:#173d71; border:1px solid #d7e0ec; background:#fff; }
.catalog-tabs .category-shortcut span { color:inherit; font-size:11px; font-weight:800; letter-spacing:0; }
.catalog-tabs .category-shortcut:hover, .catalog-tabs .category-shortcut.is-active { color:#fff; border-color:#06366e; background:#06366e; transform:none; }
.catalog-layout { display:grid; grid-template-columns:224px minmax(0, 1fr) 224px; gap:16px; align-items:start; }
.catalog-filter-panel, .catalog-rfq-panel, .catalog-results { border:1px solid #dce4ee; background:#fff; }
.catalog-filter-panel { overflow:hidden; }
.filter-panel-title { display:grid; gap:4px; padding:16px; color:#fff; background:#06366e; }
.filter-panel-title strong { font-size:14px; }
.filter-panel-title span { color:#bfd3ec; font-size:10px; }
.catalog-page .filters { display:grid; grid-template-columns:1fr; gap:0; padding:0 16px; border:0; }
.catalog-page .control { gap:6px; padding:12px 0; border-bottom:1px solid #e6ebf1; }
.catalog-page .control label { color:#153d70; font-size:11px; }
.catalog-page .control input, .catalog-page .control select { min-height:38px; padding:0 10px; color:#354d67; border-color:#d9e2ec; font-size:12px; }
.filter-clear { width:calc(100% - 32px); min-height:38px; margin:16px; color:#0b376d; border:1px solid #b9c9dc; background:#fff; font-size:11px; font-weight:800; cursor:pointer; }
.filter-clear:hover { color:#fff; background:#0b376d; }
.filter-clear:disabled { color:#94a4b6; border-color:#dce4ee; background:#f5f7fa; cursor:not-allowed; }
.catalog-results { min-width:0; padding:12px; }
.catalog-page .selection-state { min-height:34px; padding:6px 0 10px; border:0; font-size:12px; }
.catalog-page .selection-state button { color:#0b376d; }
.catalog-page .selection-state #selection-chips span { padding:4px 7px; font-size:10px; }
.catalog-page .catalog-summary { min-height:46px; padding:0 10px; color:#35516f; border:1px solid #e0e7ef; font-size:12px; }
.catalog-page .catalog-grid { grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin-top:12px; }
.catalog-page .catalog-card { border-color:#dce4ee; box-shadow:none; }
.catalog-page .catalog-card:hover { transform:translateY(-2px); border-color:#94aecb; box-shadow:0 10px 22px rgba(15,50,90,.08); }
.catalog-page .catalog-media { aspect-ratio:1.22 / 1; background:#f5f7fa; }
.catalog-page .catalog-copy { min-height:188px; padding:12px; }
.catalog-page .category-label { color:#5b82b9; font-size:9px; }
.catalog-page .catalog-copy h2 { margin:7px 0 5px; color:#103b72; font-size:17px; line-height:1.3; }
.catalog-page .catalog-copy p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; color:#5d7187; font-size:12px; line-height:1.55; }
.catalog-page .catalog-meta { padding-top:10px; color:#526a84; font-size:11px; }
.catalog-page .catalog-cta { margin-top:9px; padding-top:9px; color:#0b376d; font-size:11px; }
.catalog-page .catalog-grid .catalog-cta { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:24px; margin-top:9px; padding:9px 0 0; color:#0b376d; border:0; border-top:1px solid #e2e8ef; background:#fff; font-size:11px; font-weight:800; letter-spacing:0; text-align:left; }
.catalog-page .catalog-grid .catalog-cta b { padding:0; color:#0b376d; background:transparent; font-size:17px; font-weight:400; }
.catalog-rfq-panel { position:sticky; top:92px; overflow:hidden; }
.rfq-head { padding:20px 18px; color:#fff; background:linear-gradient(145deg,#0b376d,#164f89); }
.rfq-head span { display:block; color:#c3d8f0; font-size:10px; font-weight:800; letter-spacing:.09em; }
.rfq-head strong { display:block; margin-top:9px; font-size:18px; }
.rfq-head p { margin:9px 0 0; color:#e1ecf8; font-size:12px; line-height:1.6; }
.catalog-rfq-panel ul { display:grid; gap:13px; margin:0; padding:18px 18px 16px 34px; color:#38516c; font-size:12px; line-height:1.5; }
.catalog-rfq-panel li::marker { color:#0b376d; }
.catalog-rfq-panel .button { width:calc(100% - 36px); min-height:42px; margin:0 18px; justify-content:space-between; padding:0 14px; background:#0b376d; font-size:10px; }
.catalogue-link { display:grid; gap:4px; margin:18px; padding:15px; color:#38516c; background:#f0f5fb; font-size:11px; line-height:1.4; }
.catalogue-link b { color:#0b376d; font-size:10px; }

.detail-main { padding-top:20px; }
.detail-main .breadcrumb { margin-bottom:16px; padding:10px 0; color:#718197; font-size:10px; }
.detail-hero { grid-template-columns:minmax(0, 1.05fr) minmax(430px,.95fr); gap:28px; padding:18px; border:1px solid #dce4ee; background:#fff; }
.detail-gallery { display:grid; grid-template-columns:76px minmax(0,1fr); gap:12px; min-width:0; }
.detail-thumbnails { display:grid; align-content:start; gap:10px; }
.detail-thumb { aspect-ratio:1 / 1.14; padding:0; overflow:hidden; border:1px solid #d9e2ed; background:#f3f6f9; cursor:pointer; }
.detail-thumb.is-selected { border:2px solid #0b376d; }
.detail-thumb img { width:100%; height:100%; display:block; object-fit:cover; }
.primary-viewer { min-height:620px; border:0; background:#f4f6f9; }
.primary-viewer button { min-height:620px; }
.primary-viewer img { height:620px; }
.detail-title { padding:10px 6px 0; }
.detail-title { min-width:0; }
.detail-title h1 { max-width:100%; overflow-wrap:anywhere; color:#0b376d; font-family:var(--font-sans); font-size:34px; font-weight:700; line-height:1.14; letter-spacing:-.02em; }
.detail-title h1.is-long-title { font-size:23px; line-height:1.2; }
.detail-title > p { color:#60748a; font-size:13px; }
.product-configurator { border-top-color:#0b376d; }
.configurator-head strong { color:#0b376d; }
.configurator-group { grid-template-columns:118px minmax(0,1fr); }
.option-chip { min-height:32px; color:#52708e; border-color:#d6e0eb; background:#fbfcfe; font-size:11px; }
.option-chip.is-selected { border-color:#0b376d; background:#0b376d; }
[data-config-key="pressure"] .option-chips { justify-content:center; }
.detail-actions--primary .button { min-height:44px; background:#9b1934; }
.detail-actions--primary .button-secondary { color:#0b376d; border-color:#9eb5cf; background:#fff; }
.detail-main .feature-list div { color:#39536e; font-size:12px; }
.detail-main .spec-row { color:#34506d; font-size:12px; }
.media-section { margin-top:28px; padding:28px 18px; border:1px solid #dce4ee; background:#fff; }
.media-head h2 { color:#0b376d; font-family:var(--font-sans); font-size:28px; font-weight:700; letter-spacing:-.015em; }
.detail-main .media-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.detail-main .media-card { border-color:#dce4ee; }
.detail-main .media-caption { display:none; }

/* Shared suite styling follows page-specific catalog and detail rules. */
.catalog-ui, .detail-ui { background:#f8fafc; font-family:var(--font-sans); }
.catalog-ui .header, .detail-ui .header { border-color:#dce4ee; }
.catalog-ui .brand, .detail-ui .brand { color:#0b376d; }
.catalog-ui .brand-copy small, .detail-ui .brand-copy small { color:#6380a3; }
.catalog-ui .nav a:hover, .catalog-ui .nav a[aria-current="page"], .detail-ui .nav a:hover, .detail-ui .nav a[aria-current="page"] { color:#0b376d; border-color:#0b376d; }
.catalog-ui .button { background:#0b376d; }
.catalog-ui .button:hover { background:#082e5b; }
.detail-ui .button { background:#9b1934; }
.detail-ui .button:hover { background:#781026; }
.detail-ui .detail-actions--primary .button-secondary { color:#0b376d; border-color:#9eb5cf; background:#fff; }
.detail-ui .detail-actions--primary .button-secondary:hover { color:#fff; border-color:#0b376d; background:#0b376d; }
.option-chip { text-decoration:none; }
.trade-information { margin-top:56px; border:1px solid #cfdae7; background:#fff; }
.trade-information-head { display:flex; align-items:end; justify-content:space-between; gap:24px; padding:24px 28px; border-bottom:1px solid #cfdae7; background:#0b376d; color:#fff; }
.trade-information-head span { color:#9fc0e5; font-size:12px; font-weight:800; letter-spacing:.12em; }
.trade-information-head h2 { margin:0; font-size:28px; }
.trade-information-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.trade-information-grid article { min-height:130px; padding:24px 28px; border-right:1px solid #dce4ed; border-bottom:1px solid #dce4ed; }
.trade-information-grid article:nth-child(3n) { border-right:0; }
.trade-information-grid small { color:#b01837; font-size:12px; font-weight:800; letter-spacing:.12em; }
.trade-information-grid p { margin:12px 0 0; color:#36536f; font-size:14px; line-height:1.65; }
.catalog-ui .footer, .detail-ui .footer { background:#082e5b; }
.catalog-ui .footer-brand, .catalog-ui .footer h3, .detail-ui .footer-brand, .detail-ui .footer h3 { color:#fff; }
.catalog-ui .footer-brand span, .detail-ui .footer-brand span { color:#a8c4e5; }
.catalog-ui .footer-bottom, .detail-ui .footer-bottom { color:#aabdd2; }

/* Catalog download page styles */
.catalog-section { padding:60px 0; }
.catalog-section.medical { background:#f8fafa; }
.catalog-section h2 { margin:0 0 40px; color:var(--navy); font-size:36px; font-weight:700; text-align:center; }
.catalog-section .catalog-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); gap:32px; }
.catalog-section .catalog-card { display:flex; flex-direction:column; align-items:center; min-height:420px; padding:40px 32px; text-align:center; border:1px solid #dfe6e6; background:#fff; transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.catalog-section .catalog-card:hover { transform:translateY(-4px); border-color:#5bb9b6; box-shadow:0 16px 40px rgba(16,24,32,.12); }
.catalog-icon { margin-bottom:28px; }
.catalog-section .catalog-card h3 { margin:0 0 16px; color:var(--navy); font-size:22px; line-height:1.3; }
.catalog-section .catalog-card p { margin:0 0 32px; color:var(--muted); font-size:14px; line-height:1.65; }
.catalog-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; width:100%; margin-top:auto; }
.download-btn, .preview-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 16px; color:#fff; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; transition:background .2s ease,border-color .2s ease; }
.download-btn { background:var(--red); }
.preview-btn { color:var(--navy); border:1px solid #9db3ca; background:#fff; }
.download-btn:hover { background:#842224; }
.preview-btn:hover { color:#fff; border-color:var(--navy); background:var(--navy); }
.download-btn svg { flex-shrink:0; }
.catalog-cta { padding:80px 0; text-align:center; background:var(--navy); color:#fff; }
.catalog-cta h2 { margin:0 0 16px; font-size:32px; }
.catalog-cta p { max-width:600px; margin:0 auto 32px; color:#c8d7d8; font-size:16px; line-height:1.65; }
.catalog-cta .button { min-height:50px; padding:0 32px; background:var(--red); font-size:13px; }
.catalog-cta .button:hover { background:#842224; }

@media (max-width:1050px) {
  .catalog-section .catalog-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (max-width:760px) {
  .catalog-section { padding:40px 0; }
  .catalog-section h2 { font-size:28px; margin-bottom:28px; }
  .catalog-section .catalog-grid { grid-template-columns:1fr; gap:20px; }
  .catalog-section .catalog-card { min-height:auto; padding:32px 24px; }
  .catalog-cta { padding:60px 0; }
  .catalog-cta h2 { font-size:26px; }
}
