
.catalogue-shell { max-width: var(--shell); margin: 0 auto; padding: 0 36px; }
.catalogue-bar .legal-bar-inner { max-width: var(--shell); min-height: 64px; padding: 0 36px; }
.catalogue-brand { color: #fff !important; font-family: var(--sans); font-size: 20px; font-weight: 800; letter-spacing: .08em; line-height: 1; }
.catalogue-brand span { color: var(--cyan); }
.catalogue-nav { display: flex; align-items: center; gap: 26px; margin-left: auto; }
.catalogue-nav a { color: #9fb1bb; font-size: 11px; letter-spacing: .025em; white-space: nowrap; transition: color .2s; }
.catalogue-nav a:hover { color: #fff; }
.catalogue-lang { display: flex; align-items: center; gap: 6px; margin-left: 20px; padding-left: 18px; border-left: 1px solid rgba(159,177,187,.35); }
.catalogue-lang a { color: #9fb1bb; font-family: var(--mono); font-size: 10px; letter-spacing: .06em; }
.catalogue-lang a:hover, .catalogue-lang a[aria-current="true"] { color: #fff; }
.catalogue-lang a + a { padding-left: 6px; border-left: 1px solid rgba(159,177,187,.28); }
.catalogue-hero { padding: clamp(64px, 8vw, 96px) 0 56px; background: var(--tint); border-bottom: 1px solid var(--line); }
.catalogue-hero-intro { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.catalogue-hero .product-kicker { color: var(--cyan-dark); font-family: var(--mono); font-size: 10px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.catalogue-rule { width: 44px; height: 1px; background: var(--cyan); }
.catalogue-hero h1 { max-width: 760px; margin: 0 0 20px; font-size: clamp(40px, 5vw, 64px); font-weight: 700; line-height: 1.05; letter-spacing: -0.055em; }
.catalogue-subtitle { display: block; margin-top: 13px; color: var(--cyan-dark); font-family: var(--mono); font-size: clamp(13px, 1.45vw, 17px); font-weight: 400; letter-spacing: .045em; line-height: 1.4; }
.catalogue-lede { max-width: 620px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.catalogue-tools { display: grid; grid-template-columns: minmax(260px, 1fr) 190px 190px; gap: 12px; padding: 26px 0; }
.catalogue-tools input, .catalogue-tools select { width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: #fff; color: var(--ink); }
.catalogue-tools input:focus, .catalogue-tools select:focus { border-color: var(--cyan-dark); outline: 2px solid rgba(6,182,212,.18); }
.catalogue-count { margin: 0 0 18px; color: var(--muted); font-family: var(--mono); font-size: 12px; }
.catalogue-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding-bottom: 78px; }
.product-card { display: flex; flex-direction: column; min-height: 100%; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: border-color .2s, box-shadow .2s, transform .2s; }
.product-card[hidden] { display: none !important; }
.product-card:hover { border-color: var(--cyan-dark); box-shadow: var(--shadow-soft); transform: translateY(-2px); }
.product-card-media { padding: 12px; background: var(--paper); border-bottom: 1px solid var(--line); }
.product-card-media img { width: 100%; height: auto; aspect-ratio: 1.35; object-fit: contain; }
.product-card-body { display: flex; flex: 1; flex-direction: column; padding: 22px 20px 20px; }
.product-family { color: var(--cyan-dark); font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.product-card h2 { margin: 8px 0 10px; font-size: 19px; line-height: 1.28; letter-spacing: -.025em; }
.product-card p { color: var(--muted); font-size: 13px; line-height: 1.65; }
.product-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 14px; margin: 18px 0; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-meta dt { color: var(--muted); font-family: var(--mono); font-size: 10px; text-transform: uppercase; }
.product-meta dd { margin: 2px 0 0; font-size: 12px; }
.product-card-actions { display: flex; gap: 10px; margin-top: auto; }
.product-card-actions a { flex: 1; text-align: center; }
.catalogue-note { margin: 0 0 50px; padding: 16px 18px; border-left: 3px solid var(--cyan); background: var(--cyan-wash); color: var(--muted); font-size: 13px; line-height: 1.65; }
.product-hero { padding: 54px 0 34px; background: var(--tint); border-bottom: 1px solid var(--line); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; color: var(--muted); font-family: var(--mono); font-size: 11px; }
.breadcrumbs a { color: var(--cyan-dark); }
.product-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); gap: clamp(32px, 5vw, 68px); padding: 48px 0 80px; }
.product-image-panel { align-self: start; padding: 12px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-soft); }
.product-image-panel img { width: 100%; height: auto; aspect-ratio: 1.35; object-fit: contain; }
.product-kicker,
.product-detail h1 { margin: 10px 0 16px; font-size: clamp(34px, 4vw, 58px); line-height: 1.04; letter-spacing: -.055em; }
.product-detail-lede { max-width: 620px; color: var(--muted); font-size: 16px; line-height: 1.75; }
.spec-grid { display: grid; grid-template-columns: 1fr 1fr; margin: 28px 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.spec-cell { padding: 13px 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.spec-cell span { display: block; color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.spec-cell strong { display: block; margin-top: 4px; font-size: 14px; font-weight: 500; }
.spec-cell--key { background: var(--tint); }
.spec-cell--key span { color: var(--cyan-dark); }
.spec-cell--key strong { font-size: 15px; font-weight: 600; color: var(--cyan-dark); }
.detail-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.detail-note { margin-top: 20px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.detail-section { padding: 56px 0; border-top: 1px solid var(--line); }
.detail-section h2 { margin-bottom: 16px; font-size: 28px; letter-spacing: -.035em; }
.detail-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.detail-table th, .detail-table td { padding: 13px 14px; text-align: left; border-bottom: 1px solid var(--line); }
.detail-table th { width: 28%; color: var(--muted); font-family: var(--mono); font-size: 10px; font-weight: 400; letter-spacing: .05em; text-transform: uppercase; background: var(--tint); }
.product-facts { margin-top: 24px; }
.fact-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.fact-list li { position: relative; padding: 12px 14px 12px 30px; border: 1px solid var(--line); background: var(--tint); color: var(--muted); font-size: 13px; line-height: 1.55; }
.fact-list li::before { content: '✓'; position: absolute; left: 12px; top: 12px; color: var(--cyan-dark); font-family: var(--mono); font-size: 11px; }
.faq { margin-top: 24px; }
.faq-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.faq-item { padding: 16px 18px; border: 1px solid var(--line); background: var(--paper); }
.faq-item h3 { margin: 0 0 7px; font-size: 15px; line-height: 1.4; }
.faq-item p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.download-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; padding: 30px 0 76px; }
.download-card { display: flex; flex-direction: column; padding: 22px 20px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: border-color .2s, box-shadow .2s; }
.download-card h2 { margin: 7px 0 8px; font-size: 17px; line-height: 1.35; }
.download-card p { flex: 1; margin-bottom: 16px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.download-type { color: var(--cyan-dark); font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.catalogue-footer { padding: 26px 0 32px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.catalogue-footer a { color: var(--cyan-dark); }
@media (max-width: 900px) { .catalogue-shell { padding: 0 22px; } .catalogue-bar .legal-bar-inner { padding: 0 22px; } .catalogue-nav { gap: 16px; } .catalogue-tools { grid-template-columns: 1fr; } .catalogue-grid, .download-grid { grid-template-columns: repeat(2, 1fr); } .product-layout { grid-template-columns: 1fr; gap: 28px; } }
/* Switch the filter bar to a single column earlier (around 800px) so the
   search field and the two 190px selects do not get squeezed between 701px
   and 800px. The 700px breakpoint keeps the same single-column layout. */
@media (max-width: 800px) { .catalogue-tools { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .catalogue-grid, .download-grid { grid-template-columns: 1fr; } .catalogue-bar .legal-bar-inner { min-height: 58px; padding: 0 18px; } .catalogue-brand { font-size: 18px; } .catalogue-nav { gap: 10px; } .catalogue-nav a { font-size: 10px; } .catalogue-nav a:nth-child(n+3) { display: none; } .catalogue-lang { margin-left: 8px; padding-left: 10px; } .catalogue-hero { padding: 56px 0 42px; } .catalogue-hero-intro { margin-bottom: 18px; } .catalogue-hero h1 { font-size: 40px; } .catalogue-subtitle { margin-top: 11px; font-size: 12px; letter-spacing: .025em; } .catalogue-lede { font-size: 14px; } .product-layout { padding-top: 30px; } .spec-grid { grid-template-columns: 1fr; } }
