/* ============================================================
   CardioPulse — ZanCMS PC template for cardiac patient monitors
   Arabic (RTL) export market · professional / natural / lively
   Prefix: cp-
   ============================================================ */
:root{
  --cp-navy:#0c2b45;
  --cp-deep:#123a5c;
  --cp-blue:#1273b8;
  --cp-sky:#e8f3fa;
  --cp-ice:#f3f8fb;
  --cp-pulse:#12b981;
  --cp-pulse-dark:#0d9668;
  --cp-coral:#ff6b57;
  --cp-coral-dark:#e8503c;
  --cp-ink:#152a3d;
  --cp-mut:#5b7286;
  --cp-line:#dbe7ef;
  --cp-card:#ffffff;
  --cp-r-lg:22px;
  --cp-r-md:14px;
  --cp-r-sm:9px;
  --cp-shadow:0 14px 40px rgba(12,43,69,.10);
  --cp-shadow-sm:0 6px 18px rgba(12,43,69,.08);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html{scrollbar-width:thin;scrollbar-color:var(--cp-blue) transparent}
html::-webkit-scrollbar{width:10px}
html::-webkit-scrollbar-track{background:transparent}
html::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--cp-blue),var(--cp-coral));border-radius:99px;border:2px solid transparent;background-clip:padding-box}
html::-webkit-scrollbar-thumb:hover{background:var(--cp-coral);background-clip:padding-box}
body.cardio-theme{
  font-family:"Tajawal","Segoe UI",Tahoma,"Helvetica Neue",Arial,sans-serif;
  color:var(--cp-ink);
  background:#fff;
  font-size:15px;
  line-height:1.75;
  text-align:right;
}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none;transition:color .22s}
ul,ol{list-style:none}
button{font-family:inherit}
input,textarea,select{font-family:inherit;font-size:14px}
.cp-wrap{max-width:1240px;margin:0 auto;padding:0 22px}
.skip-nav{position:absolute;top:-60px;right:12px;z-index:10000;background:var(--cp-navy);color:#fff;padding:10px 18px;border-radius:0 0 10px 10px;font-size:13px}
.skip-nav:focus{top:0}

/* ---------- buttons ---------- */
.cp-btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14px;padding:11px 24px;border-radius:12px;border:1.5px solid transparent;cursor:pointer;transition:all .22s;line-height:1.3}
.cp-btn i{font-size:13px}
.cp-btn-lg{padding:14px 32px;font-size:15.5px;border-radius:14px}
.cp-btn-blue{background:var(--cp-blue);color:#fff}
.cp-btn-blue:hover{background:var(--cp-navy);color:#fff}
.cp-btn-pulse{background:var(--cp-pulse);color:#fff}
.cp-btn-pulse:hover{background:var(--cp-pulse-dark);color:#fff}
.cp-btn-coral{background:var(--cp-coral);color:#fff;box-shadow:0 8px 22px rgba(255,107,87,.35)}
.cp-btn-coral:hover{background:var(--cp-coral-dark);color:#fff}
.cp-btn-line{background:transparent;border-color:var(--cp-blue);color:var(--cp-blue)}
.cp-btn-line:hover{background:var(--cp-blue);color:#fff}
.cp-btn-glass{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.45);color:#fff}
.cp-btn-glass:hover{background:#fff;color:var(--cp-navy)}
.cp-btn-wa{background:#25d366;color:#fff}
.cp-btn-wa:hover{background:#1eb457;color:#fff}

/* ---------- typography helpers ---------- */
.cp-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;letter-spacing:.6px;color:var(--cp-pulse);text-transform:uppercase}
.cp-eyebrow::before{content:"";width:26px;height:3px;border-radius:3px;background:var(--cp-pulse)}
.cp-eyebrow-light{color:#7fe6bd}
.cp-eyebrow-light::before{background:#7fe6bd}
.cp-h2{font-size:30px;line-height:1.3;font-weight:800;color:var(--cp-navy);margin:8px 0 10px}
.cp-lead{color:var(--cp-mut);font-size:15.5px;max-width:660px}
.cp-headrow{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-bottom:34px;flex-wrap:wrap}
.cp-headmid{text-align:center;max-width:720px;margin:0 auto 38px}
.cp-headmid .cp-eyebrow{justify-content:center}
.cp-headmid .cp-lead{margin:0 auto}
.cp-textlink{display:inline-flex;align-items:center;gap:7px;color:var(--cp-blue);font-weight:700;font-size:13.5px}
.cp-textlink:hover{color:var(--cp-coral)}

/* ---------- sections ---------- */
.cp-sec{padding:64px 0}
.cp-sec-ice{background:var(--cp-ice)}
.cp-sec-navy{background:linear-gradient(135deg,var(--cp-navy),var(--cp-deep));color:#e5f1fa}
.cp-sec-navy .cp-h2{color:#fff}
.cp-sec-navy .cp-lead{color:#a9c6dc}

/* ---------- reveal ---------- */
.cp-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.cp-reveal.in{opacity:1;transform:none}

/* ============================================================
   HEADER — topline ticker + single-row head + search veil + drawer
   ============================================================ */
.cp-topline{background:var(--cp-navy);color:#bcd6e8;font-size:12.5px;overflow:hidden}
.cp-topline-in{display:flex;align-items:center;gap:22px;height:38px}
.cp-tickerwrap{flex:1;overflow:hidden;position:relative}
.cp-tickertrack{display:flex;gap:44px;white-space:nowrap;animation:cpTicker 30s linear infinite}
.cp-tickertrack span{display:inline-flex;align-items:center;gap:8px}
.cp-tickertrack i{color:var(--cp-pulse)}
@keyframes cpTicker{from{transform:translateX(0)}to{transform:translateX(50%)}}
.cp-topcontacts{display:flex;gap:16px;flex-shrink:0}
.cp-topcontacts a{display:inline-flex;align-items:center;gap:6px;color:#e5f1fa;font-weight:600}
.cp-topcontacts a:hover{color:var(--cp-pulse)}
.cp-head{position:sticky;top:0;z-index:900;background:#fff;border-bottom:1px solid var(--cp-line);box-shadow:0 4px 18px rgba(12,43,69,.06)}
.cp-head-in{display:flex;align-items:center;gap:26px;height:74px}
.cp-logo{flex-shrink:0;display:flex;align-items:center}
.cp-logo img{max-height:48px;width:auto}
.cp-mainnav{display:flex;align-items:center;gap:2px;flex:1}
.cp-navlink{position:relative;display:inline-flex;align-items:center;gap:7px;padding:10px 15px;font-weight:700;font-size:14.5px;color:var(--cp-ink);border-radius:10px}
.cp-navlink:hover,.cp-navlink.active{color:var(--cp-blue);background:var(--cp-sky)}
.cp-navlink i{font-size:11px;color:var(--cp-mut)}
.cp-navitem{position:relative}
.cp-navitem:hover>.cp-drop{opacity:1;visibility:visible;transform:translateY(0)}
.cp-drop{position:absolute;top:100%;inset-inline-start:0;min-width:250px;background:#fff;border:1px solid var(--cp-line);border-radius:14px;box-shadow:var(--cp-shadow);padding:12px;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .25s;z-index:950}
.cp-drop a{display:block;padding:9px 13px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--cp-ink)}
.cp-drop a:hover{background:var(--cp-sky);color:var(--cp-blue)}
.cp-drop .cp-drop-group{padding:4px 0;border-bottom:1px dashed var(--cp-line)}
.cp-drop .cp-drop-group:last-of-type{border-bottom:0}
.cp-drop .cp-drop-parent{font-weight:800;color:var(--cp-navy)}
.cp-drop .cp-drop-sub{padding-inline-start:26px;font-weight:500;color:var(--cp-mut);font-size:13px}
.cp-drop .cp-drop-all{margin-top:6px;background:var(--cp-ice);text-align:center;color:var(--cp-blue);font-weight:800}
.cp-headacts{display:flex;align-items:center;gap:10px;flex-shrink:0}
.cp-iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--cp-line);background:#fff;color:var(--cp-navy);cursor:pointer;font-size:15px;transition:all .22s}
.cp-iconbtn:hover{border-color:var(--cp-blue);color:var(--cp-blue);background:var(--cp-sky)}
.cp-qbadge{position:absolute;top:-5px;inset-inline-end:-5px;display:none;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--cp-coral);color:#fff;font-size:11px;font-weight:800}
.cp-burger{display:none}

/* search veil */
.cp-searchveil{position:fixed;inset:0;z-index:1200;background:rgba(12,43,69,.94);backdrop-filter:blur(6px);display:none;align-items:flex-start;justify-content:center;padding:120px 22px 40px}
.cp-searchveil.on{display:flex}
.cp-searchveil-box{width:100%;max-width:640px;text-align:center}
.cp-searchveil-box h2{color:#fff;font-size:24px;margin-bottom:22px;font-weight:800}
.cp-searchveil form{display:flex;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 22px 60px rgba(0,0,0,.35)}
.cp-searchveil input{flex:1;border:0;outline:0 !important;padding:18px 22px;font-size:16px;background:transparent;-webkit-appearance:none;appearance:none}
.cp-searchveil input:focus,.cp-searchveil input:focus-visible,.cp-searchveil input:focus-within{outline:0 !important;box-shadow:none !important;border:0 !important}
.cp-searchveil input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset !important;box-shadow:0 0 0 1000px #fff inset !important;-webkit-text-fill-color:#333 !important}
.cp-searchveil form:focus-within{outline:0 !important}
.cp-searchveil form{border:0}
.cp-searchveil form:focus-within{border-color:transparent;outline:0 !important;box-shadow:0 22px 60px rgba(0,0,0,.35)}
.cp-searchveil button[type=submit]{border:0;background:var(--cp-pulse);color:#fff;font-weight:800;font-size:15px;padding:0 30px;cursor:pointer}
.cp-searchveil button[type=submit]:hover{background:var(--cp-pulse-dark)}
.cp-searchveil-close{position:absolute;top:34px;inset-inline-end:38px;background:none;border:0;color:#fff;font-size:26px;cursor:pointer;opacity:.8}
.cp-searchveil-close:hover{opacity:1}
.cp-searchveil-hints{margin-top:18px;color:#9dbdd4;font-size:13px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.cp-searchveil-hints a{color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:5px 15px}
.cp-searchveil-hints a:hover{background:var(--cp-pulse);border-color:var(--cp-pulse)}

/* mobile drawer */
.cp-drawer{position:fixed;inset-block:0;inset-inline-end:-330px;width:320px;max-width:88vw;z-index:1300;background:#fff;box-shadow:-18px 0 50px rgba(0,0,0,.22);transition:inset-inline-end .32s ease;display:flex;flex-direction:column;overflow-y:auto}
.cp-drawer.on{inset-inline-end:0}
.cp-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--cp-line)}
.cp-drawer-head img{max-height:38px}
.cp-drawer-close{background:none;border:0;font-size:20px;color:var(--cp-mut);cursor:pointer}
.cp-drawer-search{padding:14px 18px;border-bottom:1px solid var(--cp-line)}
.cp-drawer-search form{display:flex;border:1.5px solid var(--cp-line);border-radius:11px;overflow:hidden}
.cp-drawer-search input{flex:1;border:0;outline:0;padding:10px 13px}
.cp-drawer-search button{border:0;background:var(--cp-blue);color:#fff;padding:0 15px;cursor:pointer}
.cp-drawer-nav{flex:1;padding:10px 10px 20px}
.cp-drawer-nav>a{display:block;padding:12px 13px;font-weight:700;border-radius:10px;color:var(--cp-ink)}
.cp-drawer-nav>a:hover,.cp-drawer-nav>a.active{background:var(--cp-sky);color:var(--cp-blue)}
.cp-dsec>button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 13px;background:none;border:0;font-size:15px;font-weight:700;color:var(--cp-ink);cursor:pointer;border-radius:10px}
.cp-dsec>button:hover{background:var(--cp-sky)}
.cp-dsec>button i{transition:transform .25s;color:var(--cp-mut);font-size:12px}
.cp-dsec.open>button i{transform:rotate(180deg)}
.cp-dsec-sub{display:none;padding:2px 0 8px}
.cp-dsec.open .cp-dsec-sub{display:block}
.cp-dsec-sub a{display:block;padding:8px 26px;font-size:13.5px;color:var(--cp-mut);border-radius:8px}
.cp-dsec-sub a:hover{color:var(--cp-blue);background:var(--cp-sky)}
.cp-dsec-sub .cp-dsub2{padding-inline-start:42px;font-size:12.5px}
.cp-drawer-cta{padding:16px 18px 26px;border-top:1px solid var(--cp-line);display:grid;gap:10px}
.cp-drawer-cta .cp-btn{justify-content:center}
.cp-drawermask{position:fixed;inset:0;z-index:1290;background:rgba(12,43,69,.5);display:none}
.cp-drawermask.on{display:block}

/* ============================================================
   HERO (home) — ECG themed
   ============================================================ */
.cp-hero{position:relative;background:linear-gradient(140deg,var(--cp-navy) 0%,var(--cp-deep) 55%,#17537d 100%);color:#eaf4fb;overflow:hidden}
.cp-hero::after{content:"";position:absolute;inset-inline-start:-140px;bottom:-160px;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(18,185,129,.24),transparent 65%)}
.cp-ecgline{position:absolute;inset-inline:0;top:52%;opacity:.2;pointer-events:none}
.cp-ecgline svg{width:100%;height:120px}
.cp-ecgline polyline{fill:none;stroke:var(--cp-pulse);stroke-width:2.5;stroke-dasharray:2600;stroke-dashoffset:2600;animation:cpEcg 7s linear infinite}
@keyframes cpEcg{to{stroke-dashoffset:0}}
.cp-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .85fr;gap:52px;align-items:center;padding:78px 0 88px}
.cp-hero-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(18,185,129,.16);border:1px solid rgba(18,185,129,.5);color:#8ff0c8;padding:8px 17px;border-radius:999px;font-size:13px;font-weight:700}
.cp-hero-copy h1{font-size:44px;line-height:1.22;font-weight:800;color:#fff;margin:20px 0 16px}
.cp-hero-copy h1 em{font-style:normal;color:var(--cp-pulse);position:relative}
.cp-hero-lead{font-size:16.5px;color:#b9d3e5;max-width:560px}
.cp-hero-actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}
.cp-hero-metrics{display:flex;gap:0;margin-top:38px;border-top:1px solid rgba(255,255,255,.15);padding-top:22px;flex-wrap:wrap}
.cp-metric{flex:1;min-width:130px;padding-inline-end:22px}
.cp-metric+.cp-metric{border-inline-start:1px solid rgba(255,255,255,.15);padding-inline-start:22px}
.cp-metric strong{display:block;font-size:23px;color:var(--cp-pulse);font-weight:800}
.cp-metric span{font-size:12.5px;color:#9dbdd4}
.cp-hero-deck{position:relative;display:grid;gap:14px}
.cp-devcard{display:flex;align-items:center;gap:15px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:14px 17px;backdrop-filter:blur(4px);transition:all .25s}
.cp-devcard:hover{background:rgba(255,255,255,.14);transform:translateY(-3px)}
.cp-devcard-ic{width:52px;height:52px;border-radius:13px;background:rgba(18,185,129,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.cp-devcard-ic i{color:var(--cp-pulse);font-size:21px}
.cp-devcard-ic img{width:100%;height:100%;object-fit:cover;border-radius:13px}
.cp-devcard strong{display:block;color:#fff;font-size:14.5px}
.cp-devcard small{color:#9dbdd4;font-size:12px}
.cp-devcard>i:last-child{margin-inline-start:auto;color:#7fe6bd;font-size:13px}
.cp-hero-deck-all{text-align:center;color:#8ff0c8;font-weight:700;font-size:13.5px}
.cp-hero-deck-all:hover{color:#fff}

/* trust strip under hero */
.cp-truststrip{background:#fff;border-bottom:1px solid var(--cp-line)}
.cp-truststrip-in{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.cp-trust{display:flex;align-items:center;gap:13px;padding:20px 18px}
.cp-trust+.cp-trust{border-inline-start:1px dashed var(--cp-line)}
.cp-trust i{width:44px;height:44px;border-radius:12px;background:var(--cp-sky);color:var(--cp-blue);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.cp-trust strong{display:block;font-size:13.5px;color:var(--cp-navy)}
.cp-trust span{font-size:12px;color:var(--cp-mut)}

/* ---------- home: categories ---------- */
.cp-catgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cp-catcard{position:relative;background:var(--cp-card);border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:26px 22px;overflow:hidden;transition:all .28s}
.cp-catcard::before{content:"";position:absolute;inset-inline-start:0;top:0;height:4px;width:0;background:linear-gradient(90deg,var(--cp-pulse),var(--cp-blue));transition:width .35s}
.cp-catcard:hover{transform:translateY(-6px);box-shadow:var(--cp-shadow);border-color:transparent}
.cp-catcard:hover::before{width:100%}
.cp-catcard figure{height:110px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.cp-catcard figure img{max-height:110px;object-fit:contain}
.cp-catcard figure i{font-size:44px;color:var(--cp-blue);opacity:.75}
.cp-catcard strong{display:block;font-size:16px;font-weight:800;color:var(--cp-navy)}
.cp-catcard span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--cp-pulse);font-weight:700;margin-top:8px}

/* ---------- home: featured products (lead + grid) ---------- */
.cp-featured{display:grid;grid-template-columns:1.1fr 1.6fr;gap:24px}
.cp-featlead{position:relative;display:flex;flex-direction:column;background:linear-gradient(160deg,var(--cp-navy),#17537d);border-radius:var(--cp-r-lg);overflow:hidden;color:#fff;min-height:420px}
.cp-featlead-media{flex:1;display:flex;align-items:center;justify-content:center;padding:30px;background:rgba(255,255,255,.05)}
.cp-featlead-media img{max-height:250px;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.3))}
.cp-featlead-media i{font-size:84px;color:rgba(255,255,255,.35)}
.cp-featlead-body{padding:24px 26px 28px}
.cp-featlead-body em{font-style:normal;font-size:12.5px;color:#8ff0c8;font-weight:700}
.cp-featlead-body h3{font-size:20px;margin:7px 0 14px;line-height:1.4}
.cp-featlead-body h3 a{color:#fff}
.cp-featlead-body h3 a:hover{color:var(--cp-pulse)}
.cp-featlead-actions{display:flex;gap:10px;flex-wrap:wrap}
.cp-featgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.cp-prodtile{display:flex;flex-direction:column;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-md);overflow:hidden;transition:all .26s}
.cp-prodtile:hover{box-shadow:var(--cp-shadow);transform:translateY(-4px);border-color:transparent}
.cp-prodtile-media{position:relative;height:150px;background:var(--cp-ice);display:flex;align-items:center;justify-content:center}
.cp-prodtile-media img{max-height:135px;object-fit:contain}
.cp-prodtile-media .cp-noimg i{font-size:38px;color:var(--cp-line)}
.cp-prodtile-body{padding:14px 16px 10px;flex:1}
.cp-prodtile-body em{font-style:normal;font-size:11.5px;color:var(--cp-pulse);font-weight:800}
.cp-prodtile-body h3,.cp-prodtile-body .cp-prodtile-title{font-size:14.5px;line-height:1.5;margin-top:4px;font-weight:700}
.cp-prodtile-body a:hover{color:var(--cp-blue)}
.cp-prodtile-foot{display:flex;border-top:1px dashed var(--cp-line)}
.cp-prodtile-foot a{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 6px;font-size:12.5px;font-weight:700;color:var(--cp-mut)}
.cp-prodtile-foot a:hover{color:var(--cp-blue);background:var(--cp-sky)}
.cp-prodtile-foot a+a{border-inline-start:1px dashed var(--cp-line);color:var(--cp-coral)}
.cp-prodtile-foot a+a:hover{color:var(--cp-coral-dark);background:#fff4f2}
.cp-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%}

/* ---------- home: why band ---------- */
.cp-whygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cp-whycard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--cp-r-lg);padding:30px 26px;transition:all .28s}
.cp-whycard:hover{background:rgba(255,255,255,.12);transform:translateY(-5px)}
.cp-whycard i{width:54px;height:54px;border-radius:15px;background:rgba(18,185,129,.2);color:var(--cp-pulse);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:18px}
.cp-whycard h3{color:#fff;font-size:17.5px;margin-bottom:9px}
.cp-whycard p{color:#a9c6dc;font-size:13.8px}

/* ---------- home: manufacturing rail ---------- */
.cp-mfgsplit{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.cp-mfgsplit-media{position:relative}
.cp-mfgsplit-media img{border-radius:var(--cp-r-lg);box-shadow:var(--cp-shadow)}
.cp-mfgsplit-chip{position:absolute;bottom:-18px;inset-inline-end:-14px;background:var(--cp-pulse);color:#fff;border-radius:14px;padding:13px 20px;font-weight:800;font-size:13.5px;box-shadow:0 14px 30px rgba(18,185,129,.4);display:flex;align-items:center;gap:9px}
.cp-stagelist{display:grid;gap:0;margin-top:26px}
.cp-stage{position:relative;display:flex;gap:16px;padding:0 0 24px;padding-inline-start:0}
.cp-stage::before{content:"";position:absolute;top:34px;inset-inline-start:16px;bottom:0;width:2px;background:var(--cp-line)}
.cp-stage:last-child::before{display:none}
.cp-stage-dot{width:34px;height:34px;border-radius:50%;background:var(--cp-sky);color:var(--cp-blue);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0;border:2px solid var(--cp-blue);z-index:1}
.cp-stage strong{display:block;color:var(--cp-navy);font-size:15px}
.cp-stage span{font-size:13px;color:var(--cp-mut)}

/* ---------- home: solutions ---------- */
.cp-solgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cp-solcard{position:relative;border-radius:var(--cp-r-lg);overflow:hidden;min-height:280px;display:flex;align-items:flex-end;background:var(--cp-navy)}
.cp-solcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:all .4s}
.cp-solcard:hover img{opacity:.4;transform:scale(1.06)}
.cp-solcard-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.cp-solcard-icon i{font-size:52px;color:rgba(255,255,255,.28)}
.cp-solcard-body{position:relative;z-index:2;padding:20px;background:linear-gradient(to top,rgba(12,43,69,.94),transparent);width:100%;color:#fff}
.cp-solcard-body strong{display:block;font-size:16.5px;margin-bottom:6px}
.cp-solcard-body small{display:block;color:#c4dbea;font-size:12.5px;line-height:1.6}
.cp-solcard-body span{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:var(--cp-pulse);font-weight:700;font-size:12.5px}

/* ---------- home: certificates marquee ---------- */
.cp-certrow{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.cp-certcard{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-md);padding:16px 12px;text-align:center;transition:all .26s}
.cp-certcard:hover{border-color:var(--cp-pulse);box-shadow:var(--cp-shadow-sm);transform:translateY(-4px)}
.cp-certcard figure{height:92px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.cp-certcard figure img{max-height:92px;object-fit:contain}
.cp-certcard figure i{font-size:36px;color:var(--cp-pulse)}
.cp-certcard span{font-size:12.5px;font-weight:700;color:var(--cp-navy);line-height:1.5;display:block}

/* ---------- home: FAQ split ---------- */
.cp-faqsplit{display:grid;grid-template-columns:.9fr 1.4fr;gap:44px;align-items:start}
.cp-faqsplit-intro{position:sticky;top:100px}
.cp-faqsplit-intro .cp-btn{margin-top:16px;margin-inline-end:8px}
.cp-acc{display:grid;gap:12px}
.cp-acc-item{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-md);overflow:hidden}
.cp-acc-item[open]{border-color:var(--cp-blue);box-shadow:var(--cp-shadow-sm)}
.cp-acc-item summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;cursor:pointer;font-weight:700;font-size:14.5px;color:var(--cp-navy);list-style:none}
.cp-acc-item summary::-webkit-details-marker{display:none}
.cp-acc-item summary i{color:var(--cp-blue);transition:transform .25s;flex-shrink:0}
.cp-acc-item[open] summary i{transform:rotate(45deg);color:var(--cp-coral)}
.cp-acc-body{padding:0 20px 18px;color:var(--cp-mut);font-size:13.8px;line-height:1.8}

/* ---------- home: blog trio ---------- */
.cp-blogtrio{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cp-blogcard{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);overflow:hidden;transition:all .26s;display:flex;flex-direction:column}
.cp-blogcard:hover{box-shadow:var(--cp-shadow);transform:translateY(-5px)}
.cp-blogcard-media{height:190px;background:var(--cp-ice);display:block}
.cp-blogcard-media img{width:100%;height:100%;object-fit:cover}
.cp-blogcard-media .cp-noimg i{font-size:40px;color:var(--cp-line)}
.cp-blogcard-body{padding:20px;flex:1;display:flex;flex-direction:column;gap:9px}
.cp-blogcard-body time{font-size:12px;color:var(--cp-mut);display:flex;align-items:center;gap:7px}
.cp-blogcard-body h3{font-size:16px;line-height:1.5}
.cp-blogcard-body h3 a:hover{color:var(--cp-blue)}
.cp-blogcard-body p{font-size:13px;color:var(--cp-mut);flex:1}

/* ---------- CTA band ---------- */
.cp-ctaband{position:relative;background:linear-gradient(120deg,var(--cp-blue),var(--cp-navy));border-radius:26px;padding:52px 54px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:36px;overflow:hidden;flex-wrap:wrap}
.cp-ctaband::before{content:"";position:absolute;inset-inline-end:-90px;top:-90px;width:280px;height:280px;border-radius:50%;background:rgba(18,185,129,.22)}
.cp-ctaband h2{font-size:27px;line-height:1.35;margin:10px 0 8px;position:relative}
.cp-ctaband p{color:#c4dbea;max-width:560px;position:relative}
.cp-ctaband-actions{display:flex;gap:13px;flex-wrap:wrap;position:relative}

/* ============================================================
   PAGE HERO (inner pages) — angled banner variant
   ============================================================ */
.cp-pagehead{position:relative;background:linear-gradient(120deg,var(--cp-navy),#17537d);color:#fff;padding:52px 0 58px;overflow:hidden}
.cp-pagehead::after{content:"";position:absolute;inset-inline-end:-60px;bottom:-120px;width:320px;height:320px;border-radius:50%;background:rgba(18,185,129,.16)}
.cp-pagehead-in{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:34px;flex-wrap:wrap}
.cp-pagehead h1{font-size:34px;font-weight:800;margin:12px 0 10px}
.cp-pagehead p{color:#b9d3e5;max-width:640px;font-size:15px}
.cp-pagehead-aside{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--cp-r-lg);padding:20px 22px;max-width:300px;backdrop-filter:blur(4px)}
.cp-pagehead-aside p{font-size:13.2px;color:#d4e6f2;margin-bottom:14px;display:flex;gap:9px}
.cp-pagehead-aside p i{color:var(--cp-pulse);margin-top:3px}
.cp-crumb{font-size:12.5px;color:#9dbdd4}
.cp-crumb a{color:#cfe3f0}
.cp-crumb a:hover{color:var(--cp-pulse)}

/* ============================================================
   PRODUCTS LIST — chip filter + horizontal rows
   ============================================================ */
.cp-chipbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:30px;background:#fff;border:1px solid var(--cp-line);border-radius:16px;padding:14px 18px;box-shadow:var(--cp-shadow-sm)}
.cp-chipbar-label{font-size:13px;font-weight:800;color:var(--cp-navy);display:flex;align-items:center;gap:8px}
.cp-chipbar-label i{color:var(--cp-blue)}
.cp-chip{display:inline-flex;align-items:center;padding:7px 17px;border-radius:999px;border:1.5px solid var(--cp-line);font-size:13px;font-weight:700;color:var(--cp-mut);transition:all .2s}
.cp-chip:hover{border-color:var(--cp-blue);color:var(--cp-blue)}
.cp-chip.on{background:var(--cp-blue);border-color:var(--cp-blue);color:#fff}
.cp-chip-sub{font-size:12px;padding:5px 13px;opacity:.85}
.cp-prodrows{display:grid;gap:18px}
.cp-prodrow{display:grid;grid-template-columns:230px 1fr auto;gap:24px;align-items:center;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:18px 22px;transition:all .26s}
.cp-prodrow:hover{box-shadow:var(--cp-shadow);border-color:transparent}
.cp-prodrow-media{height:170px;background:var(--cp-ice);border-radius:var(--cp-r-md);display:flex;align-items:center;justify-content:center;overflow:hidden}
.cp-prodrow-media img{max-height:155px;object-fit:contain;transition:transform .3s}
.cp-prodrow:hover .cp-prodrow-media img{transform:scale(1.05)}
.cp-prodrow-media .cp-noimg i{font-size:42px;color:var(--cp-line)}
.cp-prodrow-body em{font-style:normal;font-size:12px;color:var(--cp-pulse);font-weight:800}
.cp-prodrow-body h2{font-size:17.5px;line-height:1.45;margin:5px 0 8px;font-weight:800}
.cp-prodrow-body h2 a:hover{color:var(--cp-blue)}
.cp-prodrow-body p{font-size:13.3px;color:var(--cp-mut)}
.cp-prodrow-acts{display:grid;gap:10px;min-width:158px}
.cp-prodrow-acts .cp-btn{justify-content:center;font-size:13px;padding:10px 16px}
.cp-shopbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--cp-sky);border:1px dashed var(--cp-blue);border-radius:var(--cp-r-md);padding:13px 20px;margin-bottom:24px;flex-wrap:wrap}
.cp-shopbar p{font-size:13.5px;color:var(--cp-deep);display:flex;align-items:center;gap:9px;margin:0}
.cp-shopbar a{font-weight:800;color:var(--cp-blue);font-size:13.5px;display:inline-flex;gap:7px;align-items:center}
.cp-shopbar a:hover{color:var(--cp-coral)}

/* ---------- band (reusable CTA row) ---------- */
.cp-band{background:linear-gradient(120deg,var(--cp-deep),var(--cp-navy));border-radius:var(--cp-r-lg);color:#fff;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap}
.cp-band h2{font-size:21px;line-height:1.4;margin-top:8px}
.cp-band-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- pagination (CSS 文件版本，作为兜底) ---------- */
.pagination{display:flex;justify-content:center;flex-wrap:wrap;margin-top:38px;gap:8px;align-items:center}
.pagination>span{display:inline-flex}
.pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border-radius:50px;border:1.5px solid var(--cp-line);font-size:13.5px;font-weight:700;color:var(--cp-deep);background:#fff;transition:all .2s;text-decoration:none;gap:7px}
.pagination a:hover{border-color:var(--cp-coral);color:var(--cp-coral)}
.pagination .active a{background:var(--cp-coral);border-color:var(--cp-coral);color:#fff;cursor:default}
.pagination .active a:hover{color:#fff}
/* 重写 ZanCMS 默认的 iconfont 箭头为 Font Awesome 图标（CSS 兜底） */
.pagination .icon-arrow5:before{content:"\f104"}
.pagination .icon-arrow6:before{content:"\f105"}
.pagination i.icon-arrow5,.pagination i.icon-arrow6{display:inline-block;font-family:"Font Awesome 6 Free";font-weight:900;font-style:normal;font-size:14px;line-height:1}

/* ============================================================
   PRODUCT DETAIL — gallery w/ bottom thumbs + sticky buybox + accordion
   ============================================================ */
.cp-pdpcrumb{background:var(--cp-ice);border-bottom:1px solid var(--cp-line)}
.cp-pdpcrumb .cp-crumb{color:var(--cp-mut);padding:15px 0}
.cp-pdpcrumb .cp-crumb a{color:var(--cp-deep)}
.cp-pdpcrumb .cp-crumb a:hover{color:var(--cp-blue)}
.cp-pdp{display:grid;grid-template-columns:1.15fr .95fr;gap:46px;padding:44px 22px 20px;max-width:1240px;margin:0 auto;align-items:start}
.cp-stage-main{position:relative;background:var(--cp-ice);border-radius:var(--cp-r-lg);height:440px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cp-stage-track{display:flex;width:100%;height:100%;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.cp-stage-track.no-transition{transition:none}
.cp-stage-slide{flex:0 0 100%;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.cp-stage-slide img{max-height:400px;max-width:92%;object-fit:contain}
.cp-stage-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--cp-navy);box-shadow:var(--cp-shadow-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:all .2s;z-index:3;opacity:.85}
.cp-stage-nav:hover{background:var(--cp-blue);color:#fff;opacity:1}
.cp-stage-prev{inset-inline-start:14px}
.cp-stage-next{inset-inline-end:14px}
.cp-stage-count{position:absolute;bottom:14px;inset-inline-end:16px;background:rgba(12,43,69,.75);color:#fff;font-size:12px;font-weight:700;border-radius:999px;padding:4px 13px;z-index:3}
.cp-stage-zoom{position:absolute;top:14px;inset-inline-end:16px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(12,43,69,.6);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s;z-index:3}
.cp-stage-zoom:hover{background:var(--cp-blue)}
.cp-thumbrow{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--cp-blue) transparent}
.cp-thumbrow::-webkit-scrollbar{height:6px}
.cp-thumbrow::-webkit-scrollbar-track{background:transparent}
.cp-thumbrow::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--cp-blue),var(--cp-coral));border-radius:99px}
.cp-thumbrow::-webkit-scrollbar-thumb:hover{background:var(--cp-coral)}
.cp-thumbrow button{flex-shrink:0;width:86px;height:70px;border-radius:11px;border:2px solid var(--cp-line);background:var(--cp-ice);cursor:pointer;overflow:hidden;padding:4px;transition:all .2s}
.cp-thumbrow button:hover{border-color:var(--cp-blue);transform:translateY(-2px)}
.cp-thumbrow button img{width:100%;height:100%;object-fit:contain}
.cp-thumbrow button.active{border-color:var(--cp-pulse);box-shadow:0 4px 12px rgba(18,185,129,.25)}
/* Lightbox 放大查看 */
.cp-lightbox{position:fixed;inset:0;z-index:2000;background:rgba(8,28,46,.95);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:40px 60px;animation:cpFadeIn .25s ease}
@keyframes cpFadeIn{from{opacity:0}to{opacity:1}}
.cp-lightbox img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.5);transition:opacity .2s}
.cp-lightbox-close{position:absolute;top:24px;inset-inline-end:28px;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:20px;cursor:pointer;transition:background .2s}
.cp-lightbox-close:hover{background:var(--cp-coral)}
.cp-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:18px;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center}
.cp-lightbox-nav:hover{background:var(--cp-blue)}
.cp-lightbox-prev{inset-inline-start:24px}
.cp-lightbox-next{inset-inline-end:24px}
.cp-lightbox-count{position:absolute;bottom:24px;inset-inline-end:28px;background:rgba(255,255,255,.15);color:#fff;font-size:13px;font-weight:700;border-radius:999px;padding:6px 16px}
.cp-buybox{position:sticky;top:96px;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:28px 28px 26px;box-shadow:var(--cp-shadow-sm)}
.cp-buybox em{font-style:normal;font-size:12.5px;color:var(--cp-pulse);font-weight:800}
.cp-buybox h1{font-size:24px;line-height:1.4;margin:8px 0 12px;color:var(--cp-navy)}
.cp-buybox .cp-pdp-lead{font-size:14px;color:var(--cp-mut)}
.cp-pdp-points{display:grid;gap:11px;margin:20px 0;background:var(--cp-ice);border-radius:var(--cp-r-md);padding:17px 18px}
.cp-pdp-points div{display:flex;gap:11px;font-size:13.3px;color:var(--cp-deep)}
.cp-pdp-points i{color:var(--cp-pulse);margin-top:3px;flex-shrink:0}
.cp-pdp-actions{display:grid;gap:11px}
.cp-pdp-actions .cp-btn{justify-content:center}
.cp-pdp-share{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:16px;border-top:1px dashed var(--cp-line);font-size:12.5px;color:var(--cp-mut)}
.cp-pdp-share a{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--cp-line);display:inline-flex;align-items:center;justify-content:center;color:var(--cp-mut);font-size:13px}
.cp-pdp-share a:hover{border-color:var(--cp-blue);color:var(--cp-blue)}
.cp-pdpaccs{display:grid;gap:14px}
.cp-pdpacc{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);overflow:hidden}
.cp-pdpacc[open]{border-color:var(--cp-blue)}
.cp-pdpacc summary{display:flex;align-items:center;gap:12px;padding:18px 24px;cursor:pointer;font-size:16.5px;font-weight:800;color:var(--cp-navy);list-style:none}
.cp-pdpacc summary::-webkit-details-marker{display:none}
.cp-pdpacc summary i:first-child{color:var(--cp-blue)}
.cp-pdpacc summary i:last-child{margin-inline-start:auto;color:var(--cp-mut);transition:transform .25s}
.cp-pdpacc[open] summary i:last-child{transform:rotate(180deg)}
.cp-pdpacc-body{padding:4px 24px 24px}
.cp-spectable{width:100%;border-collapse:collapse}
.cp-spectable tr{border-bottom:1px solid var(--cp-line)}
.cp-spectable tr:nth-child(odd){background:var(--cp-ice)}
.cp-spectable th{width:230px;text-align:right;padding:12px 16px;font-size:13.5px;color:var(--cp-navy);vertical-align:top}
.cp-spectable td{padding:12px 16px;font-size:13.5px;color:var(--cp-mut)}
.cp-relstrip{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--cp-blue) transparent}
.cp-relstrip::-webkit-scrollbar{height:8px}
.cp-relstrip::-webkit-scrollbar-track{background:transparent;margin:0 4px}
.cp-relstrip::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--cp-blue),var(--cp-coral));border-radius:99px;border:2px solid transparent;background-clip:padding-box}
.cp-relstrip::-webkit-scrollbar-thumb:hover{background:var(--cp-coral);background-clip:padding-box;border:2px solid transparent}
.cp-relstrip::-webkit-scrollbar-button{display:none}
.cp-relcard{flex:0 0 230px;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-md);overflow:hidden;transition:all .24s}
.cp-relcard:hover{box-shadow:var(--cp-shadow-sm);transform:translateY(-4px)}
.cp-relcard figure{height:150px;background:var(--cp-ice);display:flex;align-items:center;justify-content:center}
.cp-relcard img{max-height:135px;object-fit:contain}
.cp-relcard span{display:block;padding:13px 15px;font-size:13.3px;font-weight:700;line-height:1.5}
.cp-pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.cp-pager-cell{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-md);padding:14px 18px;font-size:13.3px;overflow:hidden}
.cp-pager-next{text-align:left}
.pager-link{display:inline-flex;align-items:center;gap:9px;font-weight:700;color:var(--cp-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pager-link:hover{color:var(--cp-blue)}
.pager-link i{color:var(--cp-pulse)}
.pager-empty{color:var(--cp-mut);font-weight:600}

/* ============================================================
   ABOUT — story + timeline + values scroller
   ============================================================ */
.cp-story{display:grid;grid-template-columns:1.3fr .8fr;gap:50px;align-items:start}
.cp-story-side{display:grid;gap:16px}
.cp-factcard{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-md);padding:18px 20px;box-shadow:var(--cp-shadow-sm)}
.cp-factcard i{width:48px;height:48px;border-radius:13px;background:var(--cp-sky);color:var(--cp-blue);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.cp-factcard strong{display:block;font-size:14.5px;color:var(--cp-navy)}
.cp-factcard span{font-size:12.5px;color:var(--cp-mut)}
.cp-timeline{position:relative;max-width:760px;margin:0 auto;padding-inline-start:34px}
.cp-timeline::before{content:"";position:absolute;inset-inline-start:11px;top:6px;bottom:6px;width:2.5px;background:linear-gradient(var(--cp-pulse),var(--cp-blue))}
.cp-tl-item{position:relative;padding-bottom:34px}
.cp-tl-item:last-child{padding-bottom:0}
.cp-tl-item::before{content:"";position:absolute;inset-inline-start:-30px;top:5px;width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--cp-pulse)}
.cp-tl-item h3{font-size:16.5px;color:var(--cp-navy);margin-bottom:6px}
.cp-tl-item p{color:var(--cp-mut);font-size:13.8px}
.cp-valuescroll{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cp-valuecard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);border-radius:var(--cp-r-lg);padding:26px 24px;transition:all .26s}
.cp-valuecard:hover{background:rgba(255,255,255,.12);transform:translateY(-5px)}
.cp-valuecard i{font-size:26px;color:var(--cp-pulse);margin-bottom:15px;display:block}
.cp-valuecard h3{color:#fff;font-size:16px;margin-bottom:8px}
.cp-valuecard p{color:#a9c6dc;font-size:13.2px}

/* ============================================================
   MANUFACTURING — alternating vertical timeline + capabilities
   ============================================================ */
.cp-mline{position:relative;max-width:900px;margin:0 auto}
.cp-mline::before{content:"";position:absolute;inset-inline-start:50%;top:0;bottom:0;width:3px;background:linear-gradient(var(--cp-blue),var(--cp-pulse));transform:translateX(50%)}
.cp-mstep{position:relative;width:calc(50% - 40px);background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:24px 26px;margin-bottom:34px;box-shadow:var(--cp-shadow-sm)}
.cp-mstep:nth-child(odd){margin-inline-start:auto}
.cp-mstep-num{position:absolute;top:22px;width:46px;height:46px;border-radius:50%;background:var(--cp-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;box-shadow:0 0 0 6px var(--cp-sky)}
.cp-mstep:nth-child(odd) .cp-mstep-num{inset-inline-end:calc(100% + 17px)}
.cp-mstep:nth-child(even) .cp-mstep-num{inset-inline-start:calc(100% + 17px)}
.cp-mstep i.cp-mstep-ic{font-size:24px;color:var(--cp-pulse);margin-bottom:12px;display:block}
.cp-mstep h3{font-size:16.5px;color:var(--cp-navy);margin-bottom:7px}
.cp-mstep p{font-size:13.5px;color:var(--cp-mut)}
.cp-capgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.cp-capcard{display:flex;gap:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);border-radius:var(--cp-r-lg);padding:22px 24px;transition:all .25s}
.cp-capcard:hover{background:rgba(255,255,255,.12)}
.cp-capcard i{width:50px;height:50px;border-radius:13px;background:rgba(18,185,129,.2);color:var(--cp-pulse);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.cp-capcard strong{display:block;color:#fff;font-size:15.5px;margin-bottom:5px}
.cp-capcard span{color:#a9c6dc;font-size:13px}

/* ============================================================
   SOLUTIONS — big two-col cards / detail hero
   ============================================================ */
.cp-solslabs{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.cp-solslab{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);overflow:hidden;display:flex;flex-direction:column;transition:all .28s}
.cp-solslab:hover{box-shadow:var(--cp-shadow);transform:translateY(-5px)}
.cp-solslab figure{height:230px;background:var(--cp-ice);display:flex;align-items:center;justify-content:center;overflow:hidden}
.cp-solslab figure img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.cp-solslab:hover figure img{transform:scale(1.05)}
.cp-solslab figure .cp-noimg i{font-size:46px;color:var(--cp-line)}
.cp-solslab-body{padding:24px 26px 26px;flex:1;display:flex;flex-direction:column;gap:10px}
.cp-solslab-body h2{font-size:19px;line-height:1.45}
.cp-solslab-body h2 a:hover{color:var(--cp-blue)}
.cp-solslab-body p{font-size:13.5px;color:var(--cp-mut);flex:1}
.cp-solslab-actions{display:flex;gap:11px;flex-wrap:wrap}
.cp-solhero{background:linear-gradient(120deg,var(--cp-navy),#17537d);color:#fff;padding:56px 0;position:relative;overflow:hidden}
.cp-solhero-in{display:grid;grid-template-columns:1.2fr .8fr;gap:46px;align-items:center;position:relative;z-index:2}
.cp-solhero h1{font-size:32px;margin:12px 0 12px}
.cp-solhero p{color:#b9d3e5}
.cp-solhero-actions{display:flex;gap:13px;margin-top:24px;flex-wrap:wrap}
.cp-solhero-media img{border-radius:var(--cp-r-lg);box-shadow:0 24px 60px rgba(0,0,0,.35);width:100%;object-fit:cover;max-height:320px}
.cp-solbody{max-width:860px;margin:0 auto}
.cp-otherstrip{display:flex;gap:13px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--cp-blue) transparent}
.cp-otherstrip::-webkit-scrollbar{height:7px}
.cp-otherstrip::-webkit-scrollbar-track{background:transparent}
.cp-otherstrip::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--cp-blue),var(--cp-coral));border-radius:99px}
.cp-otherstrip::-webkit-scrollbar-thumb:hover{background:var(--cp-coral)}
.cp-otherchip{flex-shrink:0;display:inline-flex;align-items:center;gap:9px;background:#fff;border:1.5px solid var(--cp-line);border-radius:999px;padding:10px 21px;font-size:13.5px;font-weight:700;color:var(--cp-deep);transition:all .2s}
.cp-otherchip:hover{border-color:var(--cp-blue);color:var(--cp-blue)}
.cp-otherchip i{color:var(--cp-pulse)}

/* ============================================================
   CERTIFICATES — framed wall
   ============================================================ */
.cp-certintro{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:38px}
.cp-certintro-item{display:flex;gap:14px;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-md);padding:19px 21px}
.cp-certintro-item i{width:46px;height:46px;border-radius:12px;background:var(--cp-sky);color:var(--cp-blue);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.cp-certintro-item strong{display:block;font-size:14.5px;color:var(--cp-navy)}
.cp-certintro-item span{font-size:12.5px;color:var(--cp-mut)}
.cp-certwall{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.cp-certframe{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-md);padding:14px;transition:all .26s;text-align:center}
.cp-certframe:hover{box-shadow:var(--cp-shadow);transform:translateY(-5px);border-color:var(--cp-pulse)}
.cp-certframe-media{display:block;background:var(--cp-ice);border-radius:9px;height:210px;overflow:hidden;display:flex;align-items:center;justify-content:center;border:6px solid var(--cp-ice)}
.cp-certframe-media img{max-height:190px;object-fit:contain}
.cp-certframe-media .cp-noimg i{font-size:44px;color:var(--cp-line)}
.cp-certframe h2{font-size:14px;line-height:1.5;margin:13px 4px 5px;font-weight:700}
.cp-certframe h2 a:hover{color:var(--cp-blue)}
.cp-certframe time{display:block;font-size:11.5px;color:var(--cp-mut);margin-bottom:9px}

/* ============================================================
   CONTACT — channel band + centered form
   ============================================================ */
.cp-chanband{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:44px}
.cp-chancard{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:26px 22px;text-align:center;transition:all .26s;display:block}
.cp-chancard:hover{box-shadow:var(--cp-shadow);transform:translateY(-5px);border-color:var(--cp-pulse)}
.cp-chancard i{width:56px;height:56px;border-radius:50%;background:var(--cp-sky);color:var(--cp-blue);display:inline-flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:14px}
.cp-chancard.cp-chan-wa i{background:#e7f9ee;color:#25d366}
.cp-chancard strong{display:block;font-size:15.5px;color:var(--cp-navy);margin-bottom:5px}
.cp-chancard span{font-size:12.8px;color:var(--cp-mut);word-break:break-word}
.cp-formshell{max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--cp-line);border-radius:26px;padding:44px 48px;box-shadow:var(--cp-shadow)}
.cp-formshell h2{font-size:23px;color:var(--cp-navy);display:flex;align-items:center;gap:12px;margin-bottom:8px}
.cp-formshell h2 i{color:var(--cp-pulse)}
.cp-formshell>p{color:var(--cp-mut);font-size:14px;margin-bottom:24px}
.cp-contactnote{display:flex;gap:12px;background:var(--cp-sky);border-radius:var(--cp-r-md);padding:15px 18px;font-size:13px;color:var(--cp-deep);margin-top:22px}
.cp-contactnote i{color:var(--cp-blue);margin-top:3px}

/* ---------- forms (global) ---------- */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cardio-theme input[type=text],.cardio-theme input[type=email],.cardio-theme textarea{width:100%;border:1.5px solid var(--cp-line);border-radius:12px;padding:13px 16px;margin-bottom:14px;outline:none;transition:border-color .2s;background:#fff;color:var(--cp-ink)}
.cardio-theme input:focus,.cardio-theme textarea:focus{border-color:var(--cp-blue)}
.cardio-theme textarea{resize:vertical}

/* ============================================================
   FAQ — sticky rail + numbered list
   ============================================================ */
.cp-faqlayout{display:grid;grid-template-columns:.85fr 1.5fr;gap:44px;align-items:start}
.cp-faqrail{position:sticky;top:100px;display:grid;gap:18px}
.cp-faqsearchbox{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:22px}
.cp-faqsearchbox label{font-size:14px;font-weight:800;color:var(--cp-navy);display:flex;gap:9px;align-items:center;margin-bottom:12px}
.cp-faqsearchbox label i{color:var(--cp-blue)}
.cp-faqsearchbox input{margin-bottom:8px}
.cp-faqcount{font-size:12.5px;color:var(--cp-pulse);font-weight:700}
.cp-faqhelp{background:linear-gradient(140deg,var(--cp-deep),var(--cp-navy));color:#fff;border-radius:var(--cp-r-lg);padding:24px}
.cp-faqhelp i{font-size:24px;color:var(--cp-pulse);margin-bottom:10px;display:block}
.cp-faqhelp strong{display:block;font-size:16px;margin-bottom:7px}
.cp-faqhelp p{font-size:13px;color:#b9d3e5;margin-bottom:16px}
.cp-faqlist{display:grid;gap:13px;counter-reset:faq}
.cp-faqnum{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-md);overflow:hidden;counter-increment:faq}
.cp-faqnum[open]{border-color:var(--cp-blue);box-shadow:var(--cp-shadow-sm)}
.cp-faqnum summary{display:flex;align-items:center;gap:15px;padding:17px 20px;cursor:pointer;list-style:none;font-weight:700;font-size:14.5px;color:var(--cp-navy)}
.cp-faqnum summary::-webkit-details-marker{display:none}
.cp-faqnum summary::before{content:counter(faq,decimal-leading-zero);flex-shrink:0;width:38px;height:38px;border-radius:11px;background:var(--cp-sky);color:var(--cp-blue);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}
.cp-faqnum[open] summary::before{background:var(--cp-blue);color:#fff}
.cp-faqnum summary span{flex:1}
.cp-faqnum summary i{color:var(--cp-mut);transition:transform .25s}
.cp-faqnum[open] summary i{transform:rotate(180deg);color:var(--cp-blue)}
.cp-faqempty{text-align:center;color:var(--cp-mut);padding:26px;font-size:14px}
.cp-faqempty i{color:var(--cp-blue);margin-inline-end:8px}

/* ============================================================
   CATALOG — cover + checklist + anchored form
   ============================================================ */
.cp-catalogtop{display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;align-items:center}
.cp-catalogcover{position:relative;background:linear-gradient(155deg,var(--cp-navy),var(--cp-blue));border-radius:24px;color:#fff;padding:46px 34px;text-align:center;box-shadow:var(--cp-shadow);overflow:hidden}
.cp-catalogcover::after{content:"";position:absolute;inset-inline-start:-50px;bottom:-70px;width:200px;height:200px;border-radius:50%;background:rgba(18,185,129,.25)}
.cp-catalogcover i{font-size:52px;color:var(--cp-pulse);margin-bottom:18px;display:block;position:relative}
.cp-catalogcover strong{display:block;font-size:21px;margin-bottom:8px;position:relative}
.cp-catalogcover span{display:block;color:#b9d3e5;font-size:14px;position:relative}
.cp-catalogcover em{display:block;font-style:normal;margin-top:20px;padding-top:16px;border-top:1px dashed rgba(255,255,255,.3);font-size:12.5px;color:#8ff0c8;position:relative}
.cp-checklist{display:grid;gap:12px;margin:20px 0 26px}
.cp-checklist li{display:flex;gap:11px;font-size:14.5px;color:var(--cp-deep)}
.cp-checklist i{color:var(--cp-pulse);margin-top:4px}
.cp-stepsrow{display:flex;gap:14px;flex-wrap:wrap}
.cp-steppill{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--cp-line);border-radius:999px;padding:9px 19px;font-size:13px;font-weight:700;color:var(--cp-deep)}
.cp-steppill span{width:26px;height:26px;border-radius:50%;background:var(--cp-pulse);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800}
.cp-catalogform{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center}
.cp-catalogform-copy h2{color:#fff}
.cp-catalogform-copy p{color:#b9d3e5;font-size:14px}
.cp-catalogform-form{background:#fff;border-radius:22px;padding:32px 34px;box-shadow:var(--cp-shadow)}

/* ============================================================
   ARTICLES — featured lede + grid / reader
   ============================================================ */
.cp-newslede{display:grid;grid-template-columns:1.2fr .8fr;gap:0;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);overflow:hidden;margin-bottom:34px;transition:all .26s}
.cp-newslede:hover{box-shadow:var(--cp-shadow)}
.cp-newslede-media{min-height:320px;background:var(--cp-ice);display:block}
.cp-newslede-media img{width:100%;height:100%;object-fit:cover}
.cp-newslede-media .cp-noimg i{font-size:52px;color:var(--cp-line)}
.cp-newslede-body{padding:36px 38px;display:flex;flex-direction:column;gap:13px;justify-content:center}
.cp-newslede-body time{font-size:12.5px;color:var(--cp-mut);display:flex;gap:8px;align-items:center}
.cp-newslede-body h2{font-size:23px;line-height:1.45}
.cp-newslede-body h2 a:hover{color:var(--cp-blue)}
.cp-newslede-body p{color:var(--cp-mut);font-size:14px}
.cp-newsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cp-reader{max-width:800px;margin:0 auto}
.cp-readerhead{background:linear-gradient(120deg,var(--cp-navy),#17537d);color:#fff;padding:50px 0 54px;text-align:center}
.cp-readerhead h1{font-size:30px;max-width:820px;margin:14px auto 16px;line-height:1.4}
.cp-readermeta{display:flex;justify-content:center;gap:20px;font-size:13px;color:#9dbdd4;flex-wrap:wrap}
.cp-readermeta span{display:inline-flex;align-items:center;gap:7px}
.cp-readerhead .cp-crumb{justify-content:center;display:flex}
.cp-readshare{display:flex;align-items:center;gap:11px;margin-top:30px;padding-top:22px;border-top:1px dashed var(--cp-line);font-size:13px;color:var(--cp-mut)}
.cp-readshare a{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--cp-line);display:inline-flex;align-items:center;justify-content:center;color:var(--cp-mut)}
.cp-readshare a:hover{border-color:var(--cp-blue);color:var(--cp-blue)}

/* ============================================================
   SEARCH & TAGS
   ============================================================ */
.cp-searchhead{background:linear-gradient(120deg,var(--cp-navy),#17537d);color:#fff;padding:48px 0 54px}
.cp-searchhead h1{font-size:30px;margin:12px 0 20px}
.cp-searchbox form{display:flex;max-width:620px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 14px 36px rgba(0,0,0,.22)}
.cp-searchbox form i{align-self:center;padding:0 18px;color:var(--cp-mut)}
.cp-searchbox input{flex:1;border:0;outline:0 !important;padding:15px 4px;font-size:15px;margin:0;background:transparent;-webkit-appearance:none;appearance:none}
.cp-searchbox input:focus,.cp-searchbox input:focus-visible{outline:0 !important;box-shadow:none !important;border:0 !important}
.cp-searchbox input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset !important;box-shadow:0 0 0 1000px #fff inset !important;-webkit-text-fill-color:#333 !important}
.cp-searchbox button{border:0;background:var(--cp-pulse);color:#fff;font-weight:800;padding:0 28px;cursor:pointer}
.cp-searchbox button:hover{background:var(--cp-pulse-dark)}
.cp-searchhints{display:flex;gap:10px;margin-top:16px;font-size:13px;color:#9dbdd4;flex-wrap:wrap;align-items:center}
.cp-searchhints a{border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:4px 14px;color:#fff;font-size:12.5px}
.cp-searchhints a:hover{background:var(--cp-pulse);border-color:var(--cp-pulse)}
.cp-resultlist{display:grid;gap:16px}
.cp-result{display:grid;grid-template-columns:180px 1fr;gap:22px;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-md);padding:16px 20px;align-items:center;transition:all .24s}
.cp-result:hover{box-shadow:var(--cp-shadow-sm);border-color:var(--cp-blue)}
.cp-result-media{height:130px;background:var(--cp-ice);border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cp-result-media img{max-height:120px;object-fit:contain}
.cp-result-media .cp-noimg i{font-size:34px;color:var(--cp-line)}
.cp-result-body em{font-style:normal;font-size:12px;color:var(--cp-pulse);font-weight:800}
.cp-result-body h2{font-size:16.5px;margin:4px 0 7px;line-height:1.45}
.cp-result-body h2 a:hover{color:var(--cp-blue)}
.cp-result-body p{font-size:13.2px;color:var(--cp-mut);margin-bottom:8px}

/* ============================================================
   LEGAL pages
   ============================================================ */
.cp-legalhead{background:var(--cp-ice);border-bottom:1px solid var(--cp-line);padding:44px 0}
.cp-legalhead .cp-crumb{color:var(--cp-mut)}
.cp-legalhead .cp-crumb a{color:var(--cp-deep)}
.cp-legalhead h1{font-size:30px;color:var(--cp-navy);margin:12px 0 8px}
.cp-legalhead p{color:var(--cp-mut);max-width:640px}
.cp-legaldoc{max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:40px 44px}
.cp-legallinks{max-width:820px;margin:30px auto 26px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:flex-start;padding:18px 22px;background:#f7fafc;border:1px solid var(--cp-line);border-radius:14px}
.cp-legallinks>span{font-weight:800;color:var(--cp-navy);font-size:14px}
.cp-legallinks a{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--cp-line);border-radius:999px;padding:8px 19px;font-size:13px;font-weight:700;color:var(--cp-deep);background:#fff;transition:all .22s}
.cp-legallinks a:hover{border-color:var(--cp-blue);color:var(--cp-blue);background:var(--cp-sky)}
.cp-legallinks i{color:var(--cp-pulse)}

/* ============================================================
   QUOTE LIST (product_inquiry)
   ============================================================ */
.cp-quotelist{max-width:860px;margin:0 auto}
.cp-qrow{display:grid;grid-template-columns:110px 1fr auto auto;gap:20px;align-items:center;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-md);padding:15px 20px;margin-bottom:14px;box-shadow:0 2px 8px rgba(12,43,69,.03);transition:box-shadow .2s,border-color .2s}
.cp-qrow:hover{box-shadow:0 6px 18px rgba(12,43,69,.08);border-color:#d4dee8}
.cp-qrow-img{height:90px;background:var(--cp-ice);border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform .2s}
.cp-qrow:hover .cp-qrow-img{transform:scale(1.04)}
.cp-qrow-img img{max-height:82px;object-fit:contain}
.cp-qrow h3{font-size:14.5px;line-height:1.5;font-weight:700;color:var(--cp-deep)}
.cp-qrow h3 a{color:inherit;text-decoration:none;transition:color .2s}
.cp-qrow h3 a:hover{color:var(--cp-blue)}
.cp-qty{display:inline-flex;align-items:center;background:#fff;border:1.5px solid var(--cp-line);border-radius:999px;overflow:hidden;box-shadow:0 2px 6px rgba(12,43,69,.04);transition:border-color .2s,box-shadow .2s}
.cp-qty:focus-within{border-color:var(--cp-blue);box-shadow:0 0 0 4px rgba(33,108,231,.12)}
.cp-qty a{width:38px;height:40px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:var(--cp-deep);background:transparent;transition:all .2s;cursor:pointer;text-decoration:none;flex-shrink:0}
.cp-qty a:hover{background:var(--cp-blue);color:#fff}
.cp-qty a:active{transform:scale(.94)}
.cp-qty input,.cardio-theme .cp-qty input{width:56px;height:40px;border:0 !important;outline:0;text-align:center;font-weight:800;font-size:15px;color:var(--cp-navy);margin:0;padding:0;border-radius:0;background:transparent;-moz-appearance:textfield;-webkit-appearance:none;appearance:none}
.cp-qty input::-webkit-outer-spin-button,.cp-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cp-qremove{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--cp-mut);border:1.5px solid var(--cp-line);background:#fff;transition:all .2s;cursor:pointer;text-decoration:none;font-size:13px}
.cp-qremove:hover{color:#fff;background:var(--cp-coral);border-color:var(--cp-coral);transform:rotate(90deg);box-shadow:0 4px 12px rgba(234,91,80,.3)}
.cp-quoteform-shell{max-width:860px;margin:34px auto 0;background:#fff;border:1px solid var(--cp-line);border-radius:22px;padding:36px 40px;box-shadow:var(--cp-shadow-sm)}
.cp-quoteform-shell h2{font-size:20px;color:var(--cp-navy);display:flex;gap:11px;align-items:center;margin-bottom:6px}
.cp-quoteform-shell h2 i{color:var(--cp-pulse)}
.cp-quoteform-shell>p{color:var(--cp-mut);font-size:13.5px;margin-bottom:20px}
.cp-quoteempty{text-align:center;padding:56px 20px;background:#fff;border:1px dashed var(--cp-line);border-radius:var(--cp-r-lg);max-width:640px;margin:0 auto}
.cp-quoteempty i{font-size:46px;color:var(--cp-line);margin-bottom:16px;display:block}
.cp-quoteempty h2{font-size:20px;color:var(--cp-navy);margin-bottom:8px}
.cp-quoteempty p{color:var(--cp-mut);font-size:14px;margin-bottom:20px}

/* ============================================================
   FOOTER — cta overlay + columns + contact strip
   ============================================================ */
.cp-footer{background:var(--cp-navy);color:#b9d3e5;margin-top:80px}
.cp-footcta{max-width:1240px;margin:0 auto;padding:0 22px;transform:translateY(-46px)}
.cp-footcta-in{background:linear-gradient(120deg,var(--cp-pulse),#0f9f8a);border-radius:24px;padding:34px 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff;flex-wrap:wrap;box-shadow:0 22px 50px rgba(18,185,129,.35)}
.cp-footcta-in h2{font-size:21px;line-height:1.4;max-width:520px}
.cp-newsform{display:flex;min-width:340px;background:#fff;border-radius:14px;overflow:hidden;flex:1;max-width:430px}
.cp-newsform input{flex:1;border:0;outline:0;padding:14px 18px;margin:0;border-radius:0}
.cp-newsform button{border:0;background:var(--cp-navy);color:#fff;font-weight:800;padding:0 24px;cursor:pointer;display:flex;align-items:center;gap:8px}
.cp-newsform button:hover{background:var(--cp-deep)}
.cp-footgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px;padding:20px 0 44px}
.cp-footbrand img{max-height:46px;margin-bottom:16px;filter:brightness(0) invert(1)}
.cp-footbrand p{font-size:13.3px;line-height:1.8;color:#9dbdd4}
.cp-footsocial{display:flex;gap:10px;margin-top:18px}
.cp-footsocial a{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;color:#cfe3f0;font-size:14px;transition:all .22s}
.cp-footsocial a:hover{background:var(--cp-pulse);border-color:var(--cp-pulse);color:#fff}
.cp-footcol>span{display:block;color:#fff;font-weight:800;font-size:15px;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--cp-pulse);max-width:120px}
.cp-footcol nav{display:grid;gap:9px}
.cp-footcol nav a{font-size:13.3px;color:#9dbdd4;display:inline-flex;align-items:center;gap:8px}
.cp-footcol nav a::before{content:"\2190";color:var(--cp-pulse);font-size:11px}
.cp-footcol nav a:hover{color:#fff}
.cp-footcontact{display:grid;gap:13px}
.cp-footcontact li{display:flex;gap:11px;font-size:13.2px;align-items:flex-start}
.cp-footcontact i{color:var(--cp-pulse);margin-top:4px;width:16px;text-align:center}
.cp-footcontact a:hover{color:#fff}
.cp-footbase{border-top:1px solid rgba(255,255,255,.12)}
.cp-footbase-in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;font-size:12.5px;color:#7fa0b8;flex-wrap:wrap}
.cp-footlegal{display:flex;gap:18px}
.cp-footlegal a{color:#9dbdd4}
.cp-footlegal a:hover{color:var(--cp-pulse)}

/* ---------- inquiry modal (centered dialog) ---------- */
.cp-modalmask{position:fixed;inset:0;z-index:1400;background:rgba(12,43,69,.6);backdrop-filter:blur(3px);display:none}
.cp-modalmask.on{display:block}
.cp-modal{position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-46%) scale(.96);z-index:1410;width:min(620px,92vw);max-height:88vh;overflow-y:auto;background:#fff;border-radius:22px;padding:30px 32px;box-shadow:0 30px 80px rgba(0,0,0,.35);opacity:0;visibility:hidden;transition:all .28s}
.cp-modal.on{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.cp-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}
.cp-modal-head h3{font-size:19px;color:var(--cp-navy);line-height:1.4}
.cp-modal-close{background:var(--cp-ice);border:0;width:36px;height:36px;border-radius:50%;cursor:pointer;color:var(--cp-mut);font-size:15px;flex-shrink:0}
.cp-modal-close:hover{background:var(--cp-coral);color:#fff}
.cp-modal-desc{font-size:13.5px;color:var(--cp-mut);margin-bottom:18px}

/* ---------- floating widgets ---------- */
.wa-float{position:fixed;bottom:26px;inset-inline-end:26px;z-index:1100;width:56px;height:56px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(37,211,102,.45);transition:transform .22s}
.wa-float:hover{transform:scale(1.1)}
.back-to-top{position:fixed;bottom:96px;inset-inline-end:26px;z-index:1100;width:56px;height:56px;border-radius:50%;background:var(--cp-navy);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .25s;box-shadow:var(--cp-shadow-sm)}
.back-to-top.show{opacity:1;visibility:visible}
.back-to-top:hover{background:var(--cp-blue)}
.mobile-inquiry-bar{display:none}
.toast-notify{position:fixed;bottom:30px;inset-inline-end:30px;z-index:1500;background:var(--cp-navy);color:#fff;border-radius:14px;padding:14px 22px;display:flex;gap:16px;align-items:center;font-size:13.5px;box-shadow:var(--cp-shadow);transform:translateY(20px);opacity:0;transition:all .3s}
.toast-notify.show{transform:none;opacity:1}
.toast-notify a{color:var(--cp-pulse);font-weight:800}
.success-overlay{position:fixed;inset:0;z-index:1600;background:rgba(12,43,69,.65);display:flex;align-items:center;justify-content:center;padding:22px}
.success-box{background:#fff;border-radius:22px;padding:42px 46px;text-align:center;max-width:420px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.success-icon i{font-size:56px;color:var(--cp-pulse);margin-bottom:18px}
.success-box h3{font-size:20px;color:var(--cp-navy);margin-bottom:9px}
.success-box p{color:var(--cp-mut);font-size:14px;margin-bottom:22px}

/* ---------- detail content (rich text) ---------- */
.detail-content{font-size:14.5px;line-height:1.95;color:#33475a}
.detail-content h2{font-size:22px;color:var(--cp-navy);margin:28px 0 12px;padding-inline-start:14px;border-inline-start:4px solid var(--cp-pulse)}
.detail-content h3{font-size:18px;color:var(--cp-navy);margin:22px 0 10px}
.detail-content p{margin-bottom:14px}
.detail-content ul,.detail-content ol{margin:0 22px 16px 0;list-style:disc}
.detail-content ol{list-style:decimal}
.detail-content li{margin-bottom:7px}
.detail-content img{border-radius:14px;margin:14px 0}
.detail-content a{color:var(--cp-blue);text-decoration:underline}
.detail-content blockquote{border-inline-start:4px solid var(--cp-blue);background:var(--cp-ice);border-radius:0 10px 10px 0;padding:14px 18px;margin:16px 0;color:var(--cp-deep)}
.detail-content table{width:100%;border-collapse:collapse;margin:16px 0}
.detail-content table th,.detail-content table td{border:1px solid var(--cp-line);padding:10px 14px;font-size:13.5px;text-align:right}
.detail-content table th{background:var(--cp-sky);color:var(--cp-navy)}
.detail-content table tr:nth-child(even){background:var(--cp-ice)}
.tablewrap{position:relative;margin:16px 0}
.tablewrap-scroll{overflow-x:auto}
.tablewrap.is-scrollable:not(.at-end)::after{content:"";position:absolute;inset-block:0;inset-inline-end:0;width:36px;background:linear-gradient(to left,#fff,transparent);pointer-events:none}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1100px){
  .cp-hero-grid{grid-template-columns:1fr;gap:38px;padding:56px 0 66px}
  .cp-hero-copy h1{font-size:36px}
  .cp-featured{grid-template-columns:1fr}
  .cp-catgrid{grid-template-columns:repeat(2,1fr)}
  .cp-solgrid{grid-template-columns:repeat(2,1fr)}
  .cp-certrow{grid-template-columns:repeat(3,1fr)}
  .cp-certwall{grid-template-columns:repeat(3,1fr)}
  .cp-whygrid{grid-template-columns:1fr;gap:16px}
  .cp-mfgsplit{grid-template-columns:1fr;gap:38px}
  .cp-truststrip-in{grid-template-columns:repeat(2,1fr)}
  .cp-trust:nth-child(3){border-inline-start:0}
  .cp-faqsplit{grid-template-columns:1fr}
  .cp-faqsplit-intro{position:static}
  .cp-blogtrio,.cp-newsgrid{grid-template-columns:repeat(2,1fr)}
  .cp-pdp{grid-template-columns:1fr;gap:32px}
  .cp-buybox{position:static}
  .cp-story{grid-template-columns:1fr}
  .cp-valuescroll{grid-template-columns:repeat(2,1fr)}
  .cp-solslabs{grid-template-columns:1fr}
  .cp-solhero-in{grid-template-columns:1fr}
  .cp-chanband{grid-template-columns:repeat(2,1fr)}
  .cp-faqlayout{grid-template-columns:1fr}
  .cp-faqrail{position:static}
  .cp-catalogtop{grid-template-columns:1fr}
  .cp-catalogform{grid-template-columns:1fr}
  .cp-newslede{grid-template-columns:1fr}
  .cp-newslede-media{min-height:240px}
  .cp-footgrid{grid-template-columns:1fr 1fr;gap:30px}
  .cp-certintro{grid-template-columns:1fr}
  .cp-capgrid{grid-template-columns:1fr}
  .cp-head-in{gap:16px}
  .cp-footcta-in{gap:20px}
}
@media (max-width:900px){
  .cp-mainnav{display:none}
  .cp-burger{display:inline-flex}
  .cp-topcontacts{display:none}
  .cp-head-in{height:66px;gap:12px;flex-wrap:nowrap}
  .cp-logo img{max-height:42px}
  .cp-headacts{gap:6px}
  .cp-iconbtn{width:38px;height:38px;font-size:14px}
  .cp-headacts .cp-btn{display:none}
  .cp-prodrow{grid-template-columns:1fr;gap:14px}
  .cp-prodrow-media{height:200px}
  .cp-prodrow-acts{grid-template-columns:1fr 1fr;min-width:0}
  .cp-mline::before{inset-inline-start:20px;transform:none}
  .cp-mstep{width:auto;margin-inline-start:56px !important}
  .cp-mstep:nth-child(odd) .cp-mstep-num,.cp-mstep:nth-child(even) .cp-mstep-num{inset-inline-start:auto;inset-inline-end:calc(100% + 17px)}
  .cp-pagehead-in{flex-direction:column;align-items:stretch}
  .cp-pagehead-aside{max-width:none}
  .mobile-inquiry-bar{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:1050;background:#fff;box-shadow:0 -8px 26px rgba(12,43,69,.14)}
  .mib-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;padding:15px 8px;font-weight:800;font-size:14px}
  .mib-quote{background:var(--cp-coral);color:#fff}
  .mib-wa{background:#25d366;color:#fff}
  .wa-float{display:none}
  .back-to-top{bottom:78px}
  body.cardio-theme{padding-bottom:52px}
  .cp-footcta-in{padding:26px 24px;flex-direction:column;text-align:center}
  .cp-footcta-in h2{max-width:none}
  .cp-newsform{min-width:0;width:100%}
  .cp-footbase-in{flex-direction:column;text-align:center;gap:8px}
  .cp-footlegal{justify-content:center;flex-wrap:wrap;gap:12px}
}
@media (max-width:640px){
  .cp-hero-copy h1{font-size:29px}
  .cp-h2{font-size:24px}
  .cp-sec{padding:46px 0}
  .cp-catgrid{grid-template-columns:1fr}
  .cp-featgrid{grid-template-columns:1fr}
  .cp-solgrid{grid-template-columns:1fr}
  .cp-certrow{grid-template-columns:repeat(2,1fr)}
  .cp-certwall{grid-template-columns:repeat(2,1fr)}
  .cp-blogtrio,.cp-newsgrid{grid-template-columns:1fr}
  .cp-valuescroll{grid-template-columns:1fr}
  .cp-truststrip-in{grid-template-columns:1fr}
  .cp-trust+.cp-trust{border-inline-start:0;border-top:1px dashed var(--cp-line)}
  .form-row{grid-template-columns:1fr}
  .cp-formshell{padding:30px 22px}
  .cp-result{grid-template-columns:1fr}
  .cp-result-media{height:170px}
  .cp-qrow{grid-template-columns:90px 1fr auto;grid-template-rows:auto auto;gap:14px;padding:14px 16px;align-items:center}
  .cp-qrow-img{grid-column:1;grid-row:1/3;height:80px;align-self:center}
  .cp-qrow h3{grid-column:2;grid-row:1}
  .cp-qrow .cp-qty{grid-column:2;grid-row:2;justify-self:start;border-width:1px;align-self:center}
  .cp-qty a{width:34px;height:36px;font-size:16px}
  .cp-qty input{width:46px;height:36px;font-size:14px}
  .cp-qremove{grid-column:3;grid-row:2;position:static;width:34px;height:34px;font-size:12px;align-self:center;justify-self:end}
  .cp-footgrid{grid-template-columns:1fr;gap:30px;text-align:center}
  .cp-footbrand img{margin-inline:auto}
  .cp-footsocial{justify-content:center}
  .cp-footcol>span{margin-inline:auto}
  .cp-footcol nav a{justify-content:center}
  .cp-footcontact li{justify-content:center;text-align:center}
  .cp-ctaband{padding:36px 26px}
  .cp-pagehead h1{font-size:27px}
  .cp-hero-metrics{gap:14px}
  .cp-metric{min-width:40%}
  .cp-chanband{grid-template-columns:1fr}
  .cp-legaldoc{padding:28px 22px}
  .cp-legallinks{flex-direction:column;align-items:stretch;gap:10px;padding:16px}
  .cp-legallinks>span{text-align:center;margin-bottom:4px}
  .cp-legallinks a{justify-content:center;width:100%}
  .cp-quoteform-shell{padding:28px 22px}
  .cp-catalogform-form{padding:26px 20px}
  .cp-tickerwrap{display:none}
  .cp-topline{display:none}
  .cp-head-in{height:60px;gap:8px}
  .cp-logo img{max-height:38px}
  .cp-iconbtn{width:36px;height:36px;font-size:13px}
  .cp-headacts{gap:4px}
  .cp-wrap{padding:0 16px}
  .cp-footcta-in{padding:22px 18px;border-radius:18px}
  .cp-footcta-in h2{font-size:17px}
  .cp-newsform{flex-direction:column;border-radius:12px}
  .cp-newsform button{padding:12px 24px;justify-content:center}
  .pagination{margin-top:30px;gap:6px}
  .pagination a{min-width:38px;height:38px;padding:0 10px;font-size:12.5px}
  .pagination .prev-next{width:38px;min-width:38px;height:38px;font-size:0}
  .pagination .pn-first,.pagination .pn-last{padding:0 10px}
}

/* ============================================================
   EXTENSIONS — search/tag results, readers, siderails, quote list
   ============================================================ */
.cp-results{display:grid;gap:16px;max-width:920px;margin:0 auto}
.cp-result{display:grid;grid-template-columns:170px 1fr;gap:22px;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:16px;transition:all .24s;align-items:center}
.cp-result:hover{box-shadow:var(--cp-shadow-sm);border-color:var(--cp-blue)}
.cp-result-media{display:flex;align-items:center;justify-content:center;background:var(--cp-ice);border-radius:12px;height:130px;overflow:hidden}
.cp-result-media img{max-height:118px;max-width:94%;object-fit:contain}
.cp-result-media .cp-noimg i{font-size:34px;color:var(--cp-line)}
.cp-result-body em{font-style:normal;font-size:12px;font-weight:800;color:var(--cp-pulse)}
.cp-result-body h2{font-size:17px;line-height:1.5;margin:6px 0 7px}
.cp-result-body h2 a:hover{color:var(--cp-blue)}
.cp-result-body p{font-size:13.3px;color:var(--cp-mut);margin-bottom:9px}
.cp-story-body .detail-content{font-size:14.5px;line-height:2;color:var(--cp-deep)}
.cp-tstep{position:relative;padding-bottom:34px}
.cp-tstep:last-child{padding-bottom:0}
.cp-tstep::before{content:"";position:absolute;inset-inline-start:-30px;top:5px;width:16px;height:16px;border-radius:50%;background:var(--cp-navy);border:4px solid var(--cp-pulse)}
.cp-tstep span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:rgba(18,185,129,.2);color:var(--cp-pulse);font-weight:800;font-size:14px;margin-inline-end:10px}
.cp-tstep strong{color:#fff;font-size:16.5px}
.cp-tstep p{color:#a9c6dc;font-size:13.5px;margin-top:8px}
.cp-sec-navy .cp-timeline::before{background:linear-gradient(var(--cp-pulse),rgba(255,255,255,.25))}
.cp-quoteitems{display:grid;gap:14px;margin-bottom:36px}
.cp-reader{display:grid;grid-template-columns:1.55fr .85fr;gap:44px;max-width:1180px;align-items:start}
.cp-reader-main{min-width:0;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:34px 36px}
.cp-reader-main .detail-content{font-size:14.5px;line-height:2;color:var(--cp-deep)}
.cp-reader-side{display:grid;gap:20px;position:sticky;top:100px}
.cp-readershare{display:inline-flex;align-items:center;gap:9px;margin-top:18px}
.cp-readershare a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;transition:background .2s}
.cp-readershare a:hover{background:var(--cp-pulse)}
.cp-sidecard{background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:24px 24px 22px}
.cp-sidecard h2{font-size:16.5px;color:var(--cp-navy);display:flex;align-items:center;gap:10px;margin-bottom:12px}
.cp-sidecard h2 i{color:var(--cp-pulse)}
.cp-sidecard p{font-size:13.3px;color:var(--cp-mut)}
.cp-sidecard-cta{background:linear-gradient(140deg,var(--cp-deep),var(--cp-navy));border:0}
.cp-sidecard-cta h2{color:#fff}
.cp-sidecard-cta p{color:#b9d3e5;margin-bottom:16px}
.cp-sidelinks{display:grid}
.cp-sidelinks a{display:flex;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px dashed var(--cp-line);font-size:13.4px;font-weight:700;color:var(--cp-deep);transition:color .2s}
.cp-sidelinks a:last-child{border-bottom:0}
.cp-sidelinks a:hover{color:var(--cp-blue)}
.cp-sidelinks a i{color:var(--cp-pulse);flex-shrink:0}
.cp-solbody{display:grid;grid-template-columns:1.55fr .85fr;gap:44px;max-width:1180px;align-items:start}
.cp-solbody-main{min-width:0;background:#fff;border:1px solid var(--cp-line);border-radius:var(--cp-r-lg);padding:34px 36px}
.cp-solbody-main .detail-content{font-size:14.5px;line-height:2;color:var(--cp-deep)}
.cp-solbody-side{display:grid;gap:20px;position:sticky;top:100px}
.cp-gallery{min-width:0}
.cp-catalogform-copy h2 i{color:var(--cp-pulse);margin-inline-end:10px}
@media (max-width:900px){
  .cp-result{grid-template-columns:120px 1fr;padding:13px}
  .cp-result-media{height:100px}
  .cp-reader,.cp-solbody{grid-template-columns:1fr}
  .cp-reader-side,.cp-solbody-side{position:static}
  .cp-stage-main{height:380px}
  .cp-stage-slide img{max-height:340px}
}
@media (max-width:640px){
  .cp-result{grid-template-columns:1fr}
  .cp-result-media{height:150px}
  .cp-reader-main,.cp-solbody-main{padding:24px 20px}
  .cp-stage-main{height:300px}
  .cp-stage-slide img{max-height:260px}
  .cp-stage-nav{width:38px;height:38px;font-size:13px}
  .cp-thumbrow button{width:64px;height:54px}
  .cp-lightbox{padding:24px}
  .cp-lightbox-nav{width:42px;height:42px;font-size:15px}
  .cp-lightbox-prev{inset-inline-start:12px}
  .cp-lightbox-next{inset-inline-end:12px}
}
