.products-page { min-height: 100vh; }
.products-page::after { z-index: 1600; }
.product-header { background: rgba(10, 11, 15, 0.86); }
.product-header .nav a.is-active::after { right: 0; }

.catalog-hero {
  min-height: 730px; padding-top: var(--header-h); overflow: hidden;
  border-bottom: 1px solid var(--line); position: relative;
  background: radial-gradient(circle at 75% 30%, rgba(47,143,230,.13), transparent 34%);
}
.catalog-hero::before {
  content: "PRODUCTS"; position: absolute; left: 50%; bottom: -12%; transform: translateX(-50%);
  color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.035);
  font: 800 clamp(130px, 22vw, 330px)/.8 Arial, sans-serif; letter-spacing: -.07em; white-space: nowrap;
}
.catalog-hero-grid { min-height: 654px; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: clamp(40px, 6vw, 96px); position: relative; }
.catalog-hero-copy { padding-block: 80px; position: relative; z-index: 2; }
.catalog-kicker { color: var(--accent); font: 600 11px/1.4 var(--mono); letter-spacing: .34em; margin-bottom: 30px; }
.catalog-hero h1 { font-size: clamp(54px, 6.7vw, 98px); line-height: .98; letter-spacing: -.055em; }
.catalog-hero h1 em { color: var(--accent); font-style: normal; }
.catalog-hero-copy > p:not(.catalog-kicker) { max-width: 560px; color: #b2b6bd; font-size: 16px; line-height: 1.9; margin-top: 30px; }
.catalog-jump { display: inline-flex; align-items: center; gap: 50px; margin-top: 38px; padding: 14px 4px; border-bottom: 1px solid rgba(255,255,255,.25); font-size: 13px; letter-spacing: .12em; }
.catalog-jump i { font-style: normal; color: var(--accent); }
.catalog-hero-product { display: block; width: 100%; position: relative; text-align: left; padding: 24px; }
.catalog-hero-product::before { content:""; position:absolute; inset: 8% 3% 7%; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; transform: rotate(-11deg); }
.catalog-hero-product::after { content:"VIEW PRODUCT  ↗"; position:absolute; right: 5%; top: 18%; color: var(--muted); font: 10px/1 var(--mono); letter-spacing:.2em; }
.catalog-hero-product img { width: 100%; aspect-ratio: 1.18; object-fit: cover; border:1px solid rgba(255,255,255,.12); filter: contrast(1.04) saturate(.9) drop-shadow(0 35px 40px rgba(0,0,0,.45)); transform: rotate(-3deg); transition: transform .8s var(--ease); }
.catalog-hero-product:hover img { transform: rotate(0) scale(1.035); }
.hero-product-index { position:absolute; left: 5%; top: 15%; z-index:2; color: var(--accent); font: 11px/1 var(--mono); letter-spacing:.2em; }
.hero-product-meta { position:absolute; right: 7%; bottom: 5%; display:flex; flex-direction:column; align-items:flex-end; z-index:2; }
.hero-product-meta b { font-size: 24px; letter-spacing: .08em; }
.hero-product-meta b i { font-style:normal; color:var(--accent); font: 700 13px/1 var(--mono); margin-left:8px; }
.hero-product-meta small { color:var(--muted); font:9px/1.4 var(--mono); letter-spacing:.16em; margin-top:9px; }

.catalog-section { padding-block: clamp(90px, 11vw, 150px); }
.catalog-heading { display:grid; grid-template-columns: 1fr minmax(280px, 430px); gap:40px; align-items:end; margin-bottom:40px; }
.catalog-heading > div { display:flex; gap:20px; align-items:center; }
.section-no { color:var(--accent); font: 700 12px/1 var(--mono); letter-spacing:.18em; }
.catalog-heading > div p { font-size:clamp(28px, 3vw, 44px); font-weight:700; letter-spacing:-.025em; }
.catalog-intro { color:var(--muted); font-size:13px; line-height:1.8; justify-self:end; }
.category-tabs { display:flex; align-items:center; gap:8px; overflow-x:auto; padding-bottom:14px; border-bottom:1px solid var(--line); scrollbar-width:none; }
.category-tabs::-webkit-scrollbar { display:none; }
.category-tabs button { flex:none; color:var(--muted); border:1px solid transparent; border-radius:100px; padding:10px 18px; font-size:13px; white-space:nowrap; transition:.25s ease; }
.category-tabs button:hover { color:var(--text); }
.category-tabs button.is-active { color:var(--text); border-color:rgba(47,143,230,.6); background:rgba(47,143,230,.1); }
.catalog-tools { display:grid; grid-template-columns:minmax(260px, 1fr) auto auto; gap:14px; align-items:center; padding:24px 0; }
.catalog-search { display:flex; align-items:center; gap:12px; height:48px; border:1px solid var(--line); border-radius:3px; padding-inline:15px; background:rgba(255,255,255,.018); }
.catalog-search:focus-within { border-color:rgba(47,143,230,.65); }
.catalog-search svg { width:18px; color:var(--muted); flex:none; }
.catalog-search input { width:100%; border:0; outline:0; background:transparent; color:var(--text); font:14px/1 var(--font); }
.catalog-search input::placeholder { color:var(--faint); }
.filter-group { display:flex; gap:6px; }
.filter-group button, .new-filter { height:48px; border:1px solid var(--line); border-radius:3px; color:var(--muted); padding:0 15px; font:600 11px/1 var(--mono); transition:.25s ease; }
.filter-group button.is-active, .new-filter[aria-pressed="true"] { color:var(--text); border-color:var(--accent); background:rgba(47,143,230,.1); }
.new-filter { display:flex; align-items:center; gap:8px; font-family:var(--font); font-weight:500; }
.new-filter i { width:6px; height:6px; border-radius:50%; background:var(--accent); }
.catalog-result-bar { display:flex; justify-content:space-between; align-items:center; padding:10px 0 22px; color:var(--faint); font-size:12px; }
.catalog-result-bar b { color:var(--text); font:700 13px/1 var(--mono); }
.catalog-result-bar button { color:var(--muted); border-bottom:1px solid var(--line); font-size:12px; }

.product-list { border-top:1px solid var(--line); }
.product-row { min-height:350px; display:grid; grid-template-columns:90px minmax(300px, .85fr) minmax(320px, 1.15fr) 72px; align-items:stretch; border-bottom:1px solid var(--line); position:relative; overflow:hidden; transition:background .4s ease; content-visibility:auto; contain-intrinsic-size:350px; }
.product-row::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent 20%, rgba(47,143,230,.05), transparent 78%); transform:translateX(-100%); transition:transform .8s var(--ease); }
.product-row:hover { background:rgba(255,255,255,.015); }
.product-row:hover::before { transform:translateX(100%); }
.product-order { padding-top:38px; color:var(--faint); font:11px/1 var(--mono); letter-spacing:.2em; z-index:1; }
.product-copy { align-self:center; padding:46px 30px 46px 0; z-index:1; }
.product-copy-top { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.product-category { color:var(--accent); font:10px/1 var(--mono); letter-spacing:.18em; text-transform:uppercase; }
.new-badge { padding:5px 8px; border-radius:2px; background:var(--accent); color:#07101b; font:800 9px/1 var(--mono); letter-spacing:.12em; }
.product-copy h2 { font-size:clamp(36px,4.3vw,64px); line-height:1; letter-spacing:-.04em; }
.product-copy h2 i { display:block; color:var(--muted); font:600 13px/1.4 var(--mono); letter-spacing:.14em; margin-top:14px; text-transform:uppercase; }
.product-copy > p { max-width:420px; color:var(--muted); font-size:13.5px; margin-top:20px; }
.product-quick-spec { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.product-quick-spec span { border:1px solid var(--line); border-radius:100px; padding:7px 11px; color:#a6abb2; font:10px/1 var(--mono); }
.product-visual { align-self:stretch; display:flex; align-items:center; justify-content:center; padding:28px; position:relative; z-index:1; }
.product-visual::before { content:""; width:70%; aspect-ratio:1; position:absolute; border:1px solid rgba(255,255,255,.055); border-radius:50%; }
.product-visual img { width:100%; height:285px; object-fit:cover; border:1px solid rgba(255,255,255,.09); filter:contrast(1.04) saturate(.88) drop-shadow(0 20px 24px rgba(0,0,0,.38)); transition:transform .7s var(--ease); }
.product-row:hover .product-visual img { transform:scale(1.045) rotate(-1deg); }
.product-open { align-self:center; justify-self:end; width:52px; height:52px; border:1px solid var(--line); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; z-index:1; transition:.3s ease; }
.product-open:hover { border-color:var(--accent); background:var(--accent); color:#07101b; transform:rotate(45deg); }
.product-open:focus-visible,.category-tabs button:focus-visible,.filter-group button:focus-visible,.new-filter:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.catalog-empty { text-align:center; padding:100px 20px; border-block:1px solid var(--line); }
.catalog-empty > span { display:block; color:var(--accent); font-size:44px; margin-bottom:20px; }
.catalog-empty h2 { font-size:28px; }
.catalog-empty p { color:var(--muted); font-size:14px; margin-top:10px; }
.catalog-empty button { margin-top:26px; border-bottom:1px solid var(--accent); padding:8px 3px; color:var(--accent); }

.catalog-contact { border-top:1px solid var(--line); background:linear-gradient(120deg,rgba(47,143,230,.08),transparent 50%); }
.catalog-contact-inner { min-height:410px; display:grid; grid-template-columns:.55fr 1fr auto; align-items:center; gap:50px; }
.catalog-contact-inner > p { color:var(--accent); font:10px/1.6 var(--mono); letter-spacing:.2em; }
.catalog-contact h2 { font-size:clamp(32px,4.2vw,58px); line-height:1.18; letter-spacing:-.04em; }
.catalog-contact a { width:150px; height:150px; border:1px solid rgba(255,255,255,.16); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; text-align:center; font-size:13px; transition:.4s var(--ease); }
.catalog-contact a b { color:var(--accent); font-size:22px; }
.catalog-contact a:hover { border-color:var(--accent); background:var(--accent); color:#07101b; transform:scale(1.05); }
.catalog-contact a:hover b { color:#07101b; }

.product-modal { position:fixed; inset:0; z-index:1500; display:grid; place-items:center; padding:24px; visibility:hidden; opacity:0; transition:opacity .35s ease,visibility .35s; }
.product-modal.is-open { visibility:visible; opacity:1; }
.modal-backdrop { position:absolute; inset:0; background:rgba(2,4,8,.84); backdrop-filter:blur(12px); }
.modal-panel { width:min(1180px,100%); max-height:calc(100vh - 48px); overflow:auto; position:relative; background:#0e1016; border:1px solid rgba(255,255,255,.12); box-shadow:0 40px 100px rgba(0,0,0,.6); transform:translateY(28px) scale(.985); transition:transform .5s var(--ease); }
.product-modal.is-open .modal-panel { transform:none; }
.modal-topbar,.modal-footer { min-height:58px; display:flex; align-items:center; justify-content:space-between; padding:0 24px; border-bottom:1px solid var(--line); color:var(--muted); font:10px/1 var(--mono); letter-spacing:.18em; }
.modal-topbar button { color:var(--text); font:12px/1 var(--font); letter-spacing:.05em; }
.modal-grid { display:grid; grid-template-columns:1fr 1fr; min-height:570px; }
.modal-visual { min-width:0; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; border-right:1px solid var(--line); background:radial-gradient(circle,rgba(47,143,230,.1),transparent 58%); }
.modal-watermark { position:absolute; left:6%; top:7%; color:rgba(255,255,255,.045); font:800 140px/1 Arial,sans-serif; }
.modal-visual img { width:88%; height:420px; object-fit:cover; border:1px solid rgba(255,255,255,.1); filter:contrast(1.04) saturate(.9) drop-shadow(0 28px 28px rgba(0,0,0,.45)); position:relative; }
.modal-visual p { position:absolute; left:7%; bottom:7%; color:var(--muted); font:10px/1 var(--mono); letter-spacing:.18em; }
.modal-content { min-width:0; padding:clamp(34px,4vw,58px); }
.modal-title-row { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.modal-title-row p { color:var(--accent); font:10px/1 var(--mono); letter-spacing:.18em; }
.modal-title-row h2 { font-size:clamp(40px,5vw,70px); line-height:1; margin-top:16px; letter-spacing:-.045em; }
.modal-title-row h2 i { color:var(--muted); font:600 13px/1 var(--mono); letter-spacing:.12em; margin-left:10px; text-transform:uppercase; }
.modal-new { background:var(--accent); color:#07101b; padding:7px 10px; font:800 9px/1 var(--mono); letter-spacing:.12em; }
.modal-summary { color:var(--muted); font-size:14px; line-height:1.8; margin:22px 0 28px; max-width:520px; }
.modal-modes { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.modal-modes button { border:1px solid var(--line); border-radius:100px; padding:8px 13px; color:var(--muted); font-size:12px; }
.modal-modes button.is-active { border-color:var(--accent); color:var(--text); background:rgba(47,143,230,.1); }
.spec-table-wrap { overflow:auto; border-top:1px solid var(--line); }
.spec-table { width:100%; border-collapse:collapse; min-width:560px; font-size:11px; }
.spec-table th { color:var(--faint); font-weight:500; text-align:left; padding:12px 10px; border-bottom:1px solid var(--line); white-space:nowrap; }
.spec-table td { color:#b5bac2; padding:12px 10px; border-bottom:1px solid var(--line-soft); font-family:var(--mono); }
.spec-table td:first-child { color:var(--text); }
.modal-footer { border-top:1px solid var(--line); border-bottom:0; }
.modal-footer button { color:var(--muted); font:12px/1 var(--font); }
.modal-footer button:hover { color:var(--accent); }
.modal-footer p b { color:var(--accent); }
body.modal-open { overflow:hidden; }

html[data-lang="en"] .catalog-hero h1 { font-family:"Helvetica Neue",Inter,"Segoe UI",Arial,sans-serif; font-size:clamp(48px,6vw,86px); line-height:1.02; letter-spacing:-.045em; }
html[data-lang="en"] .catalog-heading > div p { font-size:clamp(25px,2.7vw,40px); }
html[data-lang="en"] .product-copy h2 { font-size:clamp(34px,4vw,58px); }
html[data-lang="en"] .catalog-contact h2 { max-width:760px; font-size:clamp(30px,3.7vw,52px); }

@media (max-width:1024px) {
  .catalog-hero-grid { grid-template-columns:1fr 1fr; gap:20px; }
  .catalog-hero-product { padding:0; }
  .product-row { grid-template-columns:64px minmax(250px,.8fr) minmax(280px,1.2fr) 60px; }
  .catalog-contact-inner { grid-template-columns:1fr auto; padding-block:70px; }
  .catalog-contact-inner > p { grid-column:1/-1; }
}
@media (max-width:760px) {
  .catalog-hero { min-height:auto; }
  .catalog-hero-grid { grid-template-columns:1fr; padding-top:40px; padding-bottom:70px; }
  .catalog-hero-copy { padding-block:50px 10px; }
  .catalog-hero-product { max-width:620px; margin:auto; }
  .catalog-heading { grid-template-columns:1fr; gap:15px; }
  .catalog-intro { justify-self:start; }
  .catalog-tools { grid-template-columns:1fr auto; }
  .catalog-search { grid-column:1/-1; }
  .product-row { min-height:0; grid-template-columns:44px 1fr 52px; padding-block:24px; }
  .product-order { grid-row:1/3; padding-top:15px; }
  .product-copy { align-self:start; padding:15px 10px 0 0; }
  .product-visual { grid-column:2/4; grid-row:2; padding:10px 0 0; }
  .product-visual img { height:230px; }
  .product-open { grid-column:3; grid-row:1; width:44px; height:44px; }
  .modal-grid { grid-template-columns:1fr; }
  .modal-visual { min-height:330px; border-right:0; border-bottom:1px solid var(--line); }
  .modal-visual img { height:280px; }
  .modal-watermark { font-size:90px; }
  .modal-panel { max-height:calc(100vh - 20px); }
  .product-modal { padding:10px; }
}
@media (max-width:520px) {
  .catalog-hero h1 { font-size:clamp(44px,14vw,66px); }
  html[data-lang="en"] .catalog-hero h1 { font-size:clamp(40px,12vw,58px); }
  .catalog-hero-copy > p:not(.catalog-kicker) { font-size:14px; }
  .hero-product-meta { right:2%; }
  .catalog-section { padding-top:70px; }
  .catalog-tools { grid-template-columns:1fr; }
  .catalog-search,.filter-group,.new-filter { grid-column:1; }
  .filter-group button { flex:1; }
  .new-filter { justify-content:center; }
  .product-row { grid-template-columns:34px 1fr 46px; }
  .product-copy h2,html[data-lang="en"] .product-copy h2 { font-size:38px; }
  .product-copy > p { font-size:12.5px; }
  .product-visual img { height:190px; }
  .catalog-contact-inner { grid-template-columns:1fr; gap:30px; }
  .catalog-contact a { width:120px; height:120px; }
  .modal-content { padding:28px 20px; }
  .modal-title-row h2 { font-size:42px; }
  .modal-title-row h2 i { display:block; margin:10px 0 0; }
  .modal-topbar,.modal-footer { padding-inline:16px; }
}
