*{box-sizing:border-box}
:root{--accent:#ed3e22;--ink:#090b12;--line:#e7edf5}
html{scroll-behavior:smooth}
body{margin:0;font-family: "Inter", Arial, Helvetica, sans-serif;color:var(--ink);background:#fff}
button,input,select{font:inherit}
.products-page{position:relative;isolation:isolate;overflow:hidden;padding:28px 4.3% 64px;background:#fff}
.decor{position:absolute;z-index:-1;pointer-events:none;border-radius:50%;opacity:.7}
.decor-left{width:320px;height:320px;left:-190px;top:-170px;border:72px solid #fff2ec;box-shadow:0 70px 0 -30px #fff0e8}
.decor-right{width:270px;height:270px;right:-180px;top:-100px;border:55px solid #fff3ec}
.products-hero{text-align:center;max-width:800px;margin:0 auto 38px}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:500;margin-bottom:14px}
.eyebrow span{display:block;width:40px;height:1px;background:var(--accent)}
.products-hero h1{font-size: clamp(34px, 4vw, 56px);line-height:1.06;letter-spacing:-.055em;margin:0;font-weight:800}
.products-hero h1 em{font-style:normal;color:var(--accent)}
.products-hero p{font-size:15.5px;line-height:1.55;color:#4d5870;margin:14px 0 0}
.catalog-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:30px;max-width:1440px;margin:0 auto;align-items:start}
.category-panel{border:1px solid var(--line);border-radius:12px;padding:22px 16px 20px;background:rgba(255,255,255,.85);min-width:0;position:sticky;top:20px}
.category-panel h2{font-size:19px;letter-spacing:-.04em;margin:0 8px 18px;font-weight:750}
.category-list{display:flex;flex-direction:column;gap:5px}
.category{width:100%;min-height:41px;display:flex;align-items:center;gap:17px;text-align:left;padding:9px 13px;border:0;background:transparent;border-radius:8px;color:#1b2945;font-size:14px;cursor:pointer;transition:background .2s,color .2s}
.category i{width:17px;text-align:center;font-size:18px;flex:0 0 17px}
.category span{white-space:nowrap}
.category:hover,.category.active{background:#fff0e9;color:var(--accent)}
.catalog-content{min-width:0}
.catalog-tools{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:22px;margin-bottom:26px}
.search-box,.sort-box{height:48px;border:1px solid #dce4ef;border-radius:8px;display:flex;align-items:center;background:#fff;color:#8994aa}
.search-box{gap:13px;padding:0 20px}
.search-box i{font-size:18px}
.search-box input{width:100%;min-width:0;border:0;outline:0;color:#182238;background:transparent;font-size:13px}
.search-box input::placeholder{color:#8792a9}
.sort-box{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:5px 16px;color:#43506a}
.sort-box span{font-size: 12px;line-height:1.1}
.sort-box select{width:100%;appearance:none;border:0;outline:0;background:transparent;color:#111827;font-size:13px;font-weight:600;cursor:pointer}
.sort-box:after{content:"⌄";position:absolute;right:15px;bottom:7px;font-size:20px;color:#111827;pointer-events:none}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.product-card{border:1px solid #edf1f6;border-radius:11px;overflow:hidden;background:#fff;min-width:0;transition:transform .22s ease,box-shadow .22s ease}
.product-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(20,35,60,.08)}
.product-image{height:162px;position:relative;overflow:hidden;border-radius:10px 10px 9px 9px;background:#f4f6f9}
.product-image img{display:block;width:100%;height:100%;object-fit:cover}
.product-info{padding:12px 13px 15px}
.product-info h3{font-size:19px;line-height:1.25;letter-spacing:-.045em;margin:0 0 8px;font-weight:750}
.product-info p{font-size:14.5px;line-height:1.5;color:#35435e;margin:0 0 15px;min-height:43px}
.read-more{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:40px;padding:0 18px;border:1px solid var(--accent);border-radius:6px;color:var(--accent);font-size:13px;font-weight:650;text-decoration:none;transition:background .2s,color .2s}
.read-more:hover{background:var(--accent);color:#fff}
.no-results{padding:30px;text-align:center;color:#526078;border:1px dashed #dce4ef;border-radius:10px}
[hidden]{display:none!important}
@media(max-width:1200px){.products-page{padding-left:3%;padding-right:3%}.catalog-layout{grid-template-columns:235px minmax(0,1fr);gap:20px}.product-grid{gap:15px}.product-info h3{font-size:17px}.product-info p{font-size:13.5px}.product-image{height:150px}.category{gap:12px;font-size:13px}}
@media(max-width:900px){.catalog-layout{grid-template-columns:1fr}.category-panel{position:static;padding:16px}.category-panel h2{margin-bottom:12px}.category-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.category{white-space:normal}.catalog-tools{margin-bottom:18px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.products-hero{margin-bottom:28px}}
@media(max-width:560px){.products-page{padding:26px 16px 40px}.products-hero h1{font-size: clamp(34px, 4vw, 56px)}.products-hero p{font-size:14px}.desktop-break{display:none}.eyebrow{font-size:11px}.eyebrow span{width:27px}.category-list{grid-template-columns:repeat(2,minmax(0,1fr))}.category{gap:9px;padding:9px 7px;font-size:12px}.category i{font-size:15px}.catalog-tools{grid-template-columns:1fr;gap:10px}.sort-box{height:46px}.product-grid{grid-template-columns:1fr;gap:16px}.product-image{height:190px}.product-info{padding:14px}.product-info h3{font-size:19px}.product-info p{min-height:0;font-size:14px}}


/* =========================================================
   RESPONSIVE PASS — layout only, desktop styling unchanged
   ========================================================= */
@media (max-width: 767px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  img, svg, video, canvas, iframe { max-width: 100%; }
  input, select, textarea, button { max-width: 100%; box-sizing: border-box; }
  table { max-width: 100%; overflow-x: auto; display: block; }

  .container,
  .cx-wrap,
  .cp-container,
  .indsol-container,
  .ds-services__container,
  .ip-container,
  .legacy-container,
  .trust-container,
  .callback-container,
  .xzf-container,
  .xq-container {
    max-width: 100%;
  }

  .hero-grid,
  .dx-hero-container,
  .callback-container,
  .cx-intro,
  .cx-main,
  .career-cta,
  .about-grid,
  .job-grid,
  .trust-container,
  .legacy-container,
  .indsol-hero,
  .dsh,
  .why {
    grid-template-columns: 1fr;
  }

  .features,
  .fgrid,
  .dgrid,
  .scg,
  .cx-reviews-grid {
    grid-template-columns: 1fr;
  }

  .stats { grid-template-columns: 1fr; }

  .hero-content,
  .dx-hero-content,
  .copy,
  .svc .copy,
  .cx-copy {
    min-width: 0;
  }

  .hero h1,
  .dx-hero-content h1,
  .cx-title,
  .about-hero h1,
  .career-hero h1 {
    overflow-wrap: anywhere;
  }

  .hero img,
  .dx-hero-image,
  .visual img,
  .svc img {
    height: auto;
    max-width: 100%;
  }

  .cta-row { flex-wrap: wrap; }
  .cta-row > * { max-width: 100%; }

  .nav .container,
  .xzf-container {
    min-width: 0;
  }

  .menu,
  .nav nav {
    max-width: calc(100vw - 30px);
    box-sizing: border-box;
  }

  .service-card,
  .other-tech-card,
  .xq-field,
  .career-field,
  .cx-field {
    min-width: 0;
  }

  .service-card h3,
  .other-tech-content h3,
  .xq-field input,
  .xq-field select,
  .xq-field textarea,
  .career-field input,
  .career-field textarea,
  .cx-field input,
  .cx-field select,
  .cx-field textarea {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 480px) {
  .container { width: calc(100% - 30px); }
  .xq-container,
  .cx-wrap,
  .cp-container { width: calc(100% - 30px); }

  .hero,
  .svc,
  .feat,
  .why,
  .cs,
  .plt,
  .faq,
  .fm,
  .ds,
  .sv,
  .prc,
  .services-section {
    padding-left: 15px;
    padding-right: 15px;
  }

  .hero h1,
  .dx-hero-content h1,
  .cx-title,
  .about-hero h1,
  .career-hero h1 {
    font-size: clamp(30px, 9vw, 42px);
    line-height: 1.08;
  }

  .service-card,
  .other-tech-card,
  .xq-form-wrap,
  .career-cta {
    padding-left: 16px;
    padding-right: 16px;
  }

  .xq-submit,
  .cx-submit,
  .career-form button {
    width: 100%;
  }
}

