/* ===== Fonts (@font-face) ===== */
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   RESET / BASE
   ========================================================================== */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #f4f7fb; }
/* ---------- Extra safety: fluid media everywhere ---------- */
img, svg { max-width: 100%; height: auto; }
.g-recaptcha { max-width: 100%; overflow: hidden; }
/* ==========================================================================
   ANIMATIONS
   ========================================================================== */
@keyframes cpGlow  { 0%, 100% { opacity: .5; }  50% { opacity: .95; } }
@keyframes cpFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes cpBlink { 0%, 100% { opacity: 1; }   50% { opacity: .2; } }
@keyframes cpRise  { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

.cp-monitor-item { animation: cpRise .5s cubic-bezier(.22,1,.36,1) both; transition: transform .18s ease, color .18s ease; }
.cp-monitor-item:nth-child(1) { animation-delay: .04s; }
.cp-monitor-item:nth-child(2) { animation-delay: .1s; }
.cp-monitor-item:nth-child(3) { animation-delay: .16s; }
.cp-monitor-item:nth-child(4) { animation-delay: .22s; }
.cp-monitor-item:nth-child(5) { animation-delay: .28s; }
.cp-monitor-item:nth-child(6) { animation-delay: .34s; }
.cp-monitor-item:nth-child(7) { animation-delay: .4s; }
.cp-monitor-item:nth-child(8) { animation-delay: .46s; }
.cp-monitor-item:hover { transform: translateX(4px); }
.cp-monitor-item:hover .cp-monitor-check { transform: scale(1.25); }
.cp-monitor-check { display: inline-block; transition: transform .18s ease; }

/* ==========================================================================
   COMPONENTS (extracted from inline styles)
   ========================================================================== */
.cp-misc__box-1 { --accent:#00AFEF; --accent-soft:rgba(0,175,239,.14); --accent-glow:rgba(0,175,239,.55); background:#f4f7fb; color:#475160; font-family:'IBM Plex Sans',system-ui,sans-serif; min-height:100vh; overflow-x:hidden; }
.cp-nav { position:relative; top:auto; z-index:60; display:flex; align-items:center; justify-content:space-between; padding:16px 40px; background:rgba(16,36,71,.88); backdrop-filter:blur(14px); border-bottom:1px solid rgba(255,255,255,.1); }
.cp-nav__link-1 { display:flex; align-items:center; gap:12px; text-decoration:none; }
.cp-nav__img-1 { width:auto; height:auto; border-radius:0; display:block; /*box-shadow:0 4px 14px rgba(18,32,54,.18);*/ }
.cp-nav__box-1 { line-height:1; }
.cp-nav__heading-1 { font-family:'IBM Plex Sans'; font-weight:600; font-size:16px; letter-spacing:.04em; color:#eef3f8; }
.cp-nav__box-2 { font-family:'IBM Plex Sans',sans-serif; font-size:10px; letter-spacing:.18em; color:#7fd6f5; margin-top:3px; }
.cp-nav__input-1 { display:none; }
.cp-nav__row-1 { display:flex; align-items:center; gap:30px; font-size:14px; font-weight:500; }
.cp-nav__link { color:#aebccd; text-decoration:none; }
.cp-nav__label-1 { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; margin-left:auto; }
.cp-nav__burger-bar { width:22px; height:2px; background:#eef3f8; display:block; }
.cp-nav__link-2 { font-family:'IBM Plex Sans'; font-size:14px; font-weight:600; color:#06121c; background:var(--accent); padding:11px 20px; border-radius:8px; text-decoration:none; box-shadow:0 0 20px var(--accent-soft); }
.cp-hero__box-1 { position:relative; overflow:hidden; padding:120px 0 96px; scroll-margin-top:80px; }
.cp-hero__decor-1 { position:absolute; inset:0; background-image:linear-gradient(rgba(18,32,54,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(18,32,54,.05) 1px,transparent 1px); background-size:56px 56px; mask-image:radial-gradient(900px 600px at 70% 20%,#000,transparent 75%); pointer-events:none; }
.cp-hero__decor-2 { position:absolute; top:-120px; right:6%; width:620px; height:620px; background:radial-gradient(circle,var(--accent-soft),transparent 62%); filter:blur(8px); pointer-events:none; }
.cp-hero__box-2 { position:relative; max-width:1180px; margin:0 auto; padding:0 40px; }
.cp-hero__grid-1 { display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.cp-hero__heading-1 { display:inline-flex; align-items:center; gap:9px; white-space:nowrap; font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); border:1px solid var(--accent-soft); background:var(--accent-soft); padding:8px 15px; border-radius:100px; margin-bottom:26px; }
.cp-hero__dot-1 { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 10px var(--accent); animation:cpBlink 1.8s infinite; }
.cp-hero__title-1 { font-family:'IBM Plex Sans',sans-serif; font-weight:700; font-size:clamp(40px,5.2vw,66px); line-height:1.03; letter-spacing:-.03em; color:#0e1b30; margin:0 0 22px; }
.cp-hero__label-1 { color:var(--accent); }
.cp-hero__text-1 { font-size:18px; line-height:1.65; color:#5a6677; max-width:540px; margin:0 0 34px; }
.cp-hero__row-1 { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:38px; }
.cp-hero__link-1 { font-size:15px; font-weight:600; color:#1C3B7D; background:rgba(18,32,54,.045); border:1px solid rgba(18,32,54,.14); padding:15px 28px; border-radius:9px; text-decoration:none; }
.cp-hero__row-2 { display:flex; flex-wrap:wrap; gap:10px; }
.cp-hero__checklist-item { display:inline-flex; align-items:center; gap:8px; font-family:'IBM Plex Sans',sans-serif; font-size:13.5px; font-weight:500; color:#1d2b40; background:#ffffff; border:1px solid rgba(18,32,54,.1); padding:8px 14px; border-radius:100px; box-shadow:0 2px 6px rgba(18,32,54,.05); }
.cp-icon-accent-sm { color:var(--accent); font-size:11px; }
.cp-center { position:relative; display:flex; align-items:center; justify-content:center; }
.cp-hero__decor-3 { position:absolute; width:115%; height:80%; background:radial-gradient(ellipse at center,var(--accent-glow),transparent 65%); filter:blur(42px); opacity:.28; pointer-events:none; }
.cp-hero__box-3 { position:relative; width:100%; max-width:520px; animation:cpFloat 6.5s ease-in-out infinite; }
.cp-hero__box-4 { position:relative; background:#ffffff; border:1px solid rgba(18,32,54,.1); border-radius:20px; box-shadow:0 30px 70px rgba(18,32,54,.14); padding:22px; }
.cp-hero__row-3 { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.cp-hero__row-4 { display:flex; align-items:center; gap:8px; font-family:'IBM Plex Sans',sans-serif; font-size:11px; letter-spacing:.14em; color:#5a6677; }
.cp-hero__dot-2 { width:8px; height:8px; border-radius:50%; background:#e5484d; box-shadow:0 0 8px #e5484d; animation:cpBlink 1.6s infinite; }
.cp-hero__box-5 { font-family:'IBM Plex Sans',sans-serif; font-size:10px; letter-spacing:.1em; color:var(--accent); border:1px solid var(--accent-soft); background:var(--accent-soft); padding:4px 9px; border-radius:6px; }
.cp-hero__grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.cp-hero-mock__tile { position:relative; aspect-ratio:16/10; border-radius:10px; overflow:hidden; background:linear-gradient(160deg,#2a3c55,#121d2b); }
.cp-hero-mock__tile-scan { position:absolute; inset:0; background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px); }
.cp-hero__decor-4 { position:absolute; left:0; right:0; bottom:27%; height:1px; background:rgba(140,170,205,.28); }
.cp-hero__col-1 { position:absolute; left:46%; bottom:27%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; }
.cp-hero__dot-3 { width:11px; height:11px; border-radius:50%; background:rgba(155,185,220,.78); }
.cp-hero__box-6 { width:18px; height:22px; border-radius:7px 7px 3px 3px; background:rgba(155,185,220,.62); margin-top:2px; }
.cp-hero-mock__tile-rec { position:absolute; left:6px; top:6px; display:flex; align-items:center; gap:4px; }
.cp-hero__dot-4 { width:5px; height:5px; border-radius:50%; background:#e5484d; }
.cp-hero-mock__tile-rec-label { font-family:'IBM Plex Sans',sans-serif; font-size:7px; letter-spacing:.12em; color:rgba(255,255,255,.7); }
.cp-hero-mock__tile-time { position:absolute; right:6px; top:6px; font-family:'IBM Plex Sans',sans-serif; font-size:7px; color:rgba(255,255,255,.5); }
.cp-hero-mock__tile-cam { position:absolute; left:6px; bottom:6px; font-family:'IBM Plex Sans',sans-serif; font-size:8px; letter-spacing:.1em; color:rgba(255,255,255,.68); }
.cp-hero__decor-5 { position:absolute; left:0; right:0; bottom:30%; height:1px; background:rgba(140,170,205,.28); }
.cp-hero__col-2 { position:absolute; left:68%; bottom:30%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; }
.cp-hero__dot-5 { width:9px; height:9px; border-radius:50%; background:rgba(155,185,220,.7); }
.cp-hero__box-7 { width:15px; height:18px; border-radius:6px 6px 3px 3px; background:rgba(155,185,220,.55); margin-top:2px; }
.cp-hero__decor-6 { position:absolute; left:0; right:0; bottom:25%; height:1px; background:rgba(140,170,205,.28); }
.cp-hero__col-3 { position:absolute; left:50%; bottom:25%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; }
.cp-hero__dot-6 { width:12px; height:12px; border-radius:50%; background:rgba(155,185,220,.82); }
.cp-hero__box-8 { width:20px; height:24px; border-radius:7px 7px 3px 3px; background:rgba(155,185,220,.66); margin-top:2px; }
.cp-hero__decor-7 { position:absolute; left:30%; top:18%; width:40%; height:66%; border:2px solid var(--accent); border-radius:4px; box-shadow:0 0 12px rgba(0,175,239,.6); }
.cp-hero__decor-8 { position:absolute; top:-15px; left:-2px; background:#FED75B; color:#3a2d00; font-family:'IBM Plex Sans',sans-serif; font-size:7px; font-weight:600; padding:2px 5px; border-radius:3px; white-space:nowrap; }
.cp-hero__decor-9 { position:absolute; left:6px; bottom:6px; font-family:'IBM Plex Sans',sans-serif; font-size:8px; letter-spacing:.1em; color:var(--accent); }
.cp-hero__decor-10 { position:absolute; left:0; right:0; bottom:28%; height:1px; background:rgba(140,170,205,.28); }
.cp-hero__col-4 { position:absolute; left:32%; bottom:28%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; }
.cp-hero__dot-7 { width:10px; height:10px; border-radius:50%; background:rgba(155,185,220,.72); }
.cp-hero__box-9 { width:16px; height:19px; border-radius:6px 6px 3px 3px; background:rgba(155,185,220,.58); margin-top:2px; }
.cp-hero__row-5 { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-top:18px; padding-top:16px; border-top:1px solid rgba(18,32,54,.08); }
.cp-hero-mock__flow-step { display:flex; flex-direction:column; align-items:center; gap:7px; flex:1; }
.cp-hero__row-6 { width:40px; height:40px; border-radius:11px; background:var(--accent-soft); display:flex; align-items:center; justify-content:center; color:var(--accent); font-size:17px; }
.cp-hero-mock__flow-label { font-family:'IBM Plex Sans',sans-serif; font-size:9px; letter-spacing:.08em; color:#5a6677; text-transform:uppercase; }
.cp-hero__text-2 { color:#aeb6c1; font-size:15px; margin-bottom:18px; }
.cp-hero__row-7 { width:40px; height:40px; border-radius:11px; background:rgba(28,59,125,.1); display:flex; align-items:center; justify-content:center; color:#1C3B7D; font-size:14px; font-weight:700; font-family:'IBM Plex Sans'; }
.cp-hero__row-8 { width:40px; height:40px; border-radius:11px; background:rgba(254,215,91,.22); display:flex; align-items:center; justify-content:center; color:#b8860b; font-size:16px; }
.cp-hero__decor-11 { position:absolute; right:-12px; top:16px; background:#ffffff; border:1px solid rgba(18,32,54,.1); border-radius:12px; box-shadow:0 14px 34px rgba(18,32,54,.16); padding:11px 13px; width:186px; }
.cp-hero__row-9 { display:flex; align-items:center; gap:7px; margin-bottom:6px; }
.cp-hero__dot-8 { width:9px; height:9px; border-radius:50%; background:#FED75B; }
.cp-hero__label-2 { font-family:'IBM Plex Sans',sans-serif; font-size:9px; letter-spacing:.1em; color:#8492a2; }
.cp-hero__heading-2 { font-family:'IBM Plex Sans',sans-serif; font-size:12px; font-weight:600; color:#122036; line-height:1.3; }
.cp-hero__row-10 { display:flex; gap:5px; margin-top:9px; }
.cp-hero-mock__chip { font-family:'IBM Plex Sans',sans-serif; font-size:8px; color:#5a6677; background:#eef2f7; padding:3px 6px; border-radius:5px; }
.cp-band__box-1 { border-top:1px solid rgba(255,255,255,.08); background:linear-gradient(160deg,#102447,#0a1428); }
.cp-band__container { max-width:1180px; margin:0 auto; padding:40px; }
.cp-band__box-2 { text-align:center; max-width:920px; margin:0 auto 32px; }
.cp-band__heading-1 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:18px; }
.cp-band__text-1 { font-family:'IBM Plex Sans',sans-serif; font-weight:500; font-size:clamp(24px,3vw,38px); line-height:1.3; letter-spacing:-.01em; color:#eef3f8; margin:0; }
.cp-band__label-1 { color:#7a8aa0; }
.cp-band__grid-1 { display:grid; grid-template-columns:repeat(5,1fr); gap:0; align-items:start; }
.cp-band__col-1 { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 8px; }
.cp-band__heading-2 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:19px; color:#eef3f8; margin-top:18px; }
.cp-band__box-3 { font-size:14px; line-height:1.5; color:#9fb0c4; margin-top:6px; max-width:170px; }
.cp-section { padding:40px 0; scroll-margin-top:80px; }
.cp-container { max-width:1180px; margin:0 auto; padding:0 40px; }
.cp-about__grid-1 { display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:start; }
.cp-about__heading-1 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:18px; }
.cp-about__title-1 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:clamp(30px,3.6vw,46px); line-height:1.08; letter-spacing:-.02em; color:#122036; margin:0 0 16px; }
.cp-about__text-1 { font-size:17px; line-height:1.7; color:#5a6677; margin:0 0 18px; }
.cp-about__text-2 { font-size:17px; line-height:1.7; color:#5a6677; margin:0; }
.cp-about__grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cp-about__box-1 { grid-column:1/3; background:#ffffff; border:1px solid rgba(18,32,54,.09); border-radius:14px; padding:26px; }
.cp-about__heading-2 { font-family:'IBM Plex Sans'; font-weight:700; font-size:34px; color:var(--accent); letter-spacing:-.02em; }
.cp-about__text-3 { font-size:14px; color:#64707e; margin-top:6px; }
.cp-about__box-2 { background:#ffffff; border:1px solid rgba(18,32,54,.09); border-radius:14px; padding:24px; }
.cp-about__heading-3 { font-family:'IBM Plex Sans'; font-weight:700; font-size:30px; color:#FED75B; letter-spacing:-.02em; }
.cp-about__text-4 { font-size:13px; color:#64707e; margin-top:6px; }
.cp-about__heading-4 { font-family:'IBM Plex Sans'; font-weight:700; font-size:30px; color:#122036; letter-spacing:-.02em; }
.cp-how__box-1 { padding:60px 0; background:#eaeff5; border-top:1px solid rgba(18,32,54,.08); border-bottom:1px solid rgba(18,32,54,.08); scroll-margin-top:80px; }
.cp-section-head-lg { text-align:center; margin-bottom:56px; }
.cp-eyebrow { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:8px; }
.cp-section-title { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:clamp(30px,3.6vw,46px); letter-spacing:-.02em; color:#122036; margin:0; }
.cp-how__grid-1 { position:relative; display:grid; grid-template-columns:repeat(6,1fr); gap:0; margin-top:20px; }
.cp-how__decor-1 { position:absolute; top:29px; left:8%; right:8%; height:2px; background:linear-gradient(90deg,var(--accent),rgba(0,175,239,.25)); z-index:0; }
.cp-how__col-1 { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 12px; }
.cp-how__heading-1 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:18px; color:#122036; margin-top:18px; }
.cp-how__box-2 { font-size:14px; line-height:1.6; color:#64707e; margin-top:8px; max-width:180px; }
.cp-features__row-1 { display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:10px; margin-bottom:32px; }
.cp-features__text-1 { font-size:16px; color:#64707e; max-width:340px; margin:0; }
.cp-features__grid-1 { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:18px; }
.cp-card { background:#ffffff; border:1px solid rgba(18,32,54,.09); border-radius:14px; padding:30px; }
.cp-card__icon { width:44px; height:44px; border-radius:11px; background:var(--accent-soft); display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Sans'; color:var(--accent); font-weight:600; margin-bottom:20px; }
.cp-card__title { font-family:'IBM Plex Sans'; font-weight:600; font-size:19px; color:#122036; margin-bottom:10px; }
.cp-card__text { font-size:15px; line-height:1.65; color:#64707e; }
.cp-live__box-1 { padding:30px 0; background:#0a1428; border-top:1px solid rgba(18,32,54,.08); border-bottom:1px solid rgba(18,32,54,.08); scroll-margin-top:80px; }
.cp-live__box-2 { text-align:center; max-width:720px; margin:0 auto 30px; }
.cp-live__heading-1 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:#00AFEF; margin-bottom:14px; }
.cp-live__title-1 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:clamp(28px,3.4vw,42px); letter-spacing:-.02em; color:#fff; margin:0 0 16px; }
.cp-live__text-1 { font-size:17px; line-height:1.65; color:#aebccd; margin:0; }
.cp-live__grid-1 { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.cp-live__box-3 { background:#101f38; border:1px solid rgba(0,175,239,.22); border-radius:16px; overflow:hidden; }
.cp-live__box-4 { position:relative; }
.cp-live__img-1 { display:block; width:100%; height:auto; }
.cp-live__badge { position:absolute; left:16px; top:16px; display:flex; align-items:center; gap:8px; background:rgba(10,20,40,.7); border:1px solid rgba(0,175,239,.3); padding:6px 12px; border-radius:7px; }
.cp-live__dot { width:8px; height:8px; border-radius:50%; background:#7fe0b0; box-shadow:0 0 8px #7fe0b0; }
.cp-live__label-1 { font-family:'IBM Plex Sans',sans-serif; font-size:12px; letter-spacing:.06em; color:#fff; }
.cp-live__body { padding:24px 26px; }
.cp-live__heading-2 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:#ff6b6b; margin-bottom:10px; }
.cp-live__heading-3 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:20px; color:#fff; margin-bottom:10px; }
.cp-live__text-2 { font-size:14.5px; line-height:1.6; color:#aebccd; }
.cp-live__box-5 { color:#fff; }
.cp-section-tint { padding:40px 0; background:#eaeff5; border-top:1px solid rgba(18,32,54,.08); border-bottom:1px solid rgba(18,32,54,.08); scroll-margin-top:80px; }
.cp-industries__box-1 { margin-bottom:24px; }
.cp-industries__row-1 { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.cp-industries__card { background:#ffffff; border:1px solid rgba(18,32,54,.11); border-radius:18px; padding:30px; }
.cp-industries__grid-1 { margin-bottom:32px; display:grid; grid-template-columns:auto 1fr; gap:0; align-items:stretch; background:linear-gradient(135deg,#0e1b2e,#16263d); border-radius:14px; overflow:hidden; border:1px solid rgba(18,32,54,.12); }
.cp-industries__col-1 { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:0 30px; background:rgba(255,255,255,.02); border-right:1px dashed rgba(0,175,239,.3); }
.cp-industries__box-2 { width:74px; height:50px; background:linear-gradient(150deg,#dfe7f0,#aab8c9); border-radius:9px 9px 7px 7px; position:relative; box-shadow:0 6px 16px rgba(0,0,0,.35); }
.cp-industries__dot-1 { position:absolute; left:11px; top:11px; width:28px; height:28px; border-radius:50%; background:radial-gradient(circle at 38% 35%,#3a4961,#0d141f); border:3px solid #c2ccd9; }
.cp-industries__dot-2 { position:absolute; left:19px; top:19px; width:9px; height:9px; border-radius:50%; background:var(--accent); box-shadow:0 0 9px var(--accent); }
.cp-industries__dot-3 { position:absolute; right:9px; top:15px; width:6px; height:6px; border-radius:50%; background:#e5484d; animation:cpBlink 1.6s infinite; }
.cp-industries__decor-1 { position:absolute; right:-15px; top:20px; width:15px; height:5px; background:#aab8c9; border-radius:0 3px 3px 0; }
.cp-industries__box-3 { font-family:'IBM Plex Sans',sans-serif; font-size:9px; letter-spacing:.14em; color:#9fb3c9; }
.cp-industries__row-2 { display:flex; align-items:center; gap:5px; font-family:'IBM Plex Sans',sans-serif; font-size:9px; letter-spacing:.1em; color:var(--accent); }
.cp-industries__dot-4 { width:5px; height:5px; border-radius:50%; background:var(--accent); box-shadow:0 0 7px var(--accent); }
.cp-industries__box-4 { position:relative; min-height:230px; overflow:hidden; background:linear-gradient(165deg,#28384f,#101b29); }
.cp-industries__decor-2 { position:absolute; inset:0; background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 3px); }
.cp-industries__decor-3 { position:absolute; left:0; right:0; bottom:26%; height:1px; background:rgba(150,180,215,.25); }
.cp-industries__decor-4 { position:absolute; left:30%; right:42%; bottom:0; top:74%; border-left:1px solid rgba(150,180,215,.12); transform:skewX(28deg); transform-origin:bottom; }
.cp-industries__decor-5 { position:absolute; left:58%; right:14%; bottom:0; top:74%; border-left:1px solid rgba(150,180,215,.12); transform:skewX(-22deg); transform-origin:bottom; }
.cp-industries__decor-6 { position:absolute; left:30%; top:30%; width:120px; height:135px; }
.cp-industries__col-2 { position:absolute; left:50%; top:0; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; }
.cp-industries__dot-5 { width:30px; height:30px; border-radius:50%; background:rgba(160,190,225,.78); }
.cp-industries__box-5 { width:50px; height:62px; border-radius:14px 14px 6px 6px; background:rgba(160,190,225,.6); margin-top:4px; }
.cp-industries__decor-7 { position:absolute; inset:0; border:2px solid var(--accent); border-radius:5px; box-shadow:0 0 16px rgba(0,175,239,.5); }
.cp-industries__decor-8 { position:absolute; top:-19px; left:-2px; background:#FED75B; color:#3a2d00; font-family:'IBM Plex Sans',sans-serif; font-size:9px; font-weight:600; padding:2px 7px; border-radius:4px; white-space:nowrap; }
.cp-industries__decor-9 { position:absolute; bottom:-16px; right:-2px; background:var(--accent); color:#06121c; font-family:'IBM Plex Sans',sans-serif; font-size:8px; font-weight:600; padding:2px 6px; border-radius:4px; }
.cp-industries__decor-10 { position:absolute; top:-5px; left:-5px; width:9px; height:9px; border-top:2px solid #fff; border-left:2px solid #fff; }
.cp-industries__decor-11 { position:absolute; bottom:-5px; right:-5px; width:9px; height:9px; border-bottom:2px solid #fff; border-right:2px solid #fff; }
.cp-industries__row-3 { position:absolute; left:14px; top:13px; display:flex; align-items:center; gap:6px; }
.cp-industries__dot-6 { width:7px; height:7px; border-radius:50%; background:#e5484d; box-shadow:0 0 7px #e5484d; animation:cpBlink 1.6s infinite; }
.cp-industries__label-1 { font-family:'IBM Plex Sans',sans-serif; font-size:10px; letter-spacing:.12em; color:rgba(255,255,255,.82); }
.cp-industries__decor-12 { position:absolute; right:14px; top:13px; font-family:'IBM Plex Sans',sans-serif; font-size:10px; letter-spacing:.08em; color:rgba(255,255,255,.6); }
.cp-industries__decor-13 { position:absolute; left:14px; bottom:13px; font-family:'IBM Plex Sans',sans-serif; font-size:11px; letter-spacing:.14em; color:var(--accent); }
.cp-industries__row-4 { position:absolute; right:14px; bottom:13px; display:flex; align-items:center; gap:7px; background:rgba(0,0,0,.4); border:1px solid rgba(0,175,239,.3); padding:5px 10px; border-radius:7px; }
.cp-industries__heading-1 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:10px; letter-spacing:.04em; color:#7fe0b0; }
.cp-industries__grid-2 { display:grid; grid-template-columns:1fr 1.1fr; gap:48px; align-items:start; }
.cp-industries__subtitle-1 { font-family:'IBM Plex Sans'; font-weight:600; font-size:26px; color:#122036; margin:0 0 22px; }
.cp-industries__box-6 { margin-bottom:24px; }
.cp-industries__heading-2 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#FED75B; margin-bottom:10px; }
.cp-card__text-lg { font-size:16px; line-height:1.7; color:#5a6677; margin:0; }
.cp-industries__heading-3 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; }
.cp-industries__text-1 { font-size:16px; line-height:1.7; color:#475160; margin:0; }
.cp-industries__heading-4 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#8492a2; margin-bottom:18px; }
.cp-industries__grid-3 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cp-industries__row-5 { display:flex; align-items:flex-start; gap:10px; font-size:15px; line-height:1.45; color:#475160; cursor:default; }
.cp-industries__label-2 { color:var(--accent); flex:none; margin-top:1px; }
.cp-section-head { text-align:center; margin-bottom:20px; }
.cp-variants__grid-1 { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.cp-variants__box-1 { background:#ffffff; border:1px solid rgba(18,32,54,.11); border-radius:18px; overflow:hidden; }
.cp-variants__box-2 { position:relative; background:radial-gradient(circle at 50% 40%,rgba(0,175,239,.14),transparent 70%); padding:34px 34px 0; }
.cp-variants__img-1 { width:100%; border-radius:10px; box-shadow:0 18px 44px rgba(18,32,54,.14); }
.cp-variants__box-3 { padding:30px 34px 34px; }
.cp-variants__heading-1 { font-family:'IBM Plex Sans',sans-serif; font-weight:700; font-size:16px; letter-spacing:.1em; color:var(--accent); margin-bottom:8px; }
.cp-variants__subtitle-1 { font-family:'IBM Plex Sans'; font-weight:600; font-size:23px; color:#122036; margin:0 0 6px; }
.cp-variants__text-1 { font-size:14px; color:#FED75B; font-family:'IBM Plex Sans'; margin-bottom:20px; }
.cp-variants__box-4 { font-size:13px; color:#8492a2; text-transform:uppercase; letter-spacing:.12em; margin-bottom:12px; }
.cp-variants__row-1 { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.cp-tag { font-size:13px; color:#475160; background:rgba(18,32,54,.05); border:1px solid rgba(18,32,54,.11); padding:6px 12px; border-radius:100px; }
.cp-variants__text-2 { font-size:15px; line-height:1.6; color:#64707e; margin:0; }
.cp-variants__box-5 { background:#ffffff; border:1px solid rgba(0,175,239,.22); border-radius:18px; overflow:hidden; box-shadow:0 0 50px rgba(0,175,239,.08); }
.cp-variants__box-6 { position:relative; background:radial-gradient(circle at 50% 40%,rgba(254,215,91,.1),transparent 70%); padding:34px 34px 0; }
.cp-why__box-1 { max-width:1000px; margin:0 auto; border-radius:20px; overflow:hidden; border:1px solid rgba(18,32,54,.1); box-shadow:0 24px 60px rgba(18,32,54,.1); }
.cp-why__grid-1 { display:grid; grid-template-columns:1.25fr 1fr 1.1fr; }
.cp-why__box-2 { background:#f4f7fb; padding:24px 26px; border-bottom:1px solid rgba(18,32,54,.08); }
.cp-why__row-1 { background:#eef2f7; padding:24px 26px; border-bottom:1px solid rgba(18,32,54,.08); display:flex; align-items:center; gap:10px; }
.cp-why__row-2 { width:30px; height:30px; border-radius:8px; background:rgba(122,134,147,.16); display:flex; align-items:center; justify-content:center; }
.cp-why__heading-1 { font-family:'IBM Plex Sans'; font-weight:600; font-size:16px; color:#7a8693; }
.cp-why__row-3 { background:linear-gradient(160deg,#1C3B7D,#102447); padding:24px 26px; border-bottom:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:space-between; gap:10px; }
.cp-why__row-4 { display:flex; align-items:center; gap:10px; }
.cp-why__img-1 { width:30px; height:30px; border-radius:0; display:block; }
.cp-why__heading-2 { font-family:'IBM Plex Sans'; font-weight:700; font-size:16px; color:#fff; }
.cp-why__label-1 { font-family:'IBM Plex Sans',sans-serif; font-size:9px; letter-spacing:.1em; color:#06121c; background:#FED75B; padding:3px 8px; border-radius:5px; }
.cp-why__dot-1 { flex:none; width:22px; height:22px; border-radius:50%; background:rgba(229,72,77,.12); color:#e5484d; display:flex; align-items:center; justify-content:center; font-size:12px; }
.cp-why__dot-2 { flex:none; width:22px; height:22px; border-radius:50%; background:rgba(0,175,239,.22); color:#7fd6f5; display:flex; align-items:center; justify-content:center; font-size:12px; }
.cp-ampl__grid-1 { display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:start; margin-bottom:42px; }
.cp-ampl__img-1 { width:72px; height:72px; border-radius:0; display:block; margin-bottom:20px; box-shadow:0 10px 26px rgba(18,32,54,.16); }
.cp-ampl__title-1 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:clamp(28px,3.4vw,42px); letter-spacing:-.02em; color:#122036; margin:0 0 12px; }
.cp-ampl__col-1 { display:flex; flex-direction:column; gap:4px; }
.cp-ampl__box-1 { background:#ffffff; border:1px solid rgba(18,32,54,.09); border-radius:14px; padding:28px; }
.cp-ampl__text-1 { font-size:16px; line-height:1.6; color:#2c3a4d; margin:0; }
.cp-ampl__heading-1 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:#8492a2; margin-bottom:24px; }
.cp-ampl__grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; }
.cp-ampl__row-1 { display:flex; align-items:center; gap:16px; padding:15px 0; border-bottom:1px solid rgba(18,32,54,.08); }
.cp-ampl__row-2 { flex:none; width:34px; height:34px; border-radius:9px; background:rgba(0,175,239,.1); display:flex; align-items:center; justify-content:center; }
.cp-ampl__label-1 { font-family:'IBM Plex Sans',sans-serif; font-size:16px; color:#2c3a4d; font-weight:500; }
.cp-container-narrow { max-width:900px; margin:0 auto; padding:0 40px; }
.cp-section-head-sm { text-align:center; margin-bottom:22px; }
.cp-faq__col-1 { display:flex; flex-direction:column; gap:14px; }
.cp-card-faq { background:#ffffff; border:1px solid rgba(18,32,54,.09); border-radius:14px; padding:26px 30px; }
.cp-card__title-h3 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:19px; color:#122036; margin:0 0 10px; }

/* ===== FAQ ACCORDION ===== */
.cp-card-faq.cp-faq__item { padding:0; overflow:hidden; transition:border-color .25s ease; }
.cp-faq__item .cp-faq__q { margin:0; }
.cp-faq__summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; padding:22px 30px; -webkit-tap-highlight-color:transparent; }
.cp-faq__summary::-webkit-details-marker { display:none; }
.cp-faq__summary::marker { content:""; }
.cp-faq__icon { position:relative; flex:none; width:24px; height:24px; border-radius:50%; background:var(--accent-soft); }
.cp-faq__icon::before,
.cp-faq__icon::after { content:""; position:absolute; top:50%; left:50%; background:var(--accent); transform:translate(-50%,-50%); transition:transform .25s ease, opacity .25s ease; }
.cp-faq__icon::before { width:11px; height:2px; }
.cp-faq__icon::after { width:2px; height:11px; }
.cp-faq__item[open] .cp-faq__icon::after { transform:translate(-50%,-50%) rotate(90deg); opacity:0; }
.cp-faq__item[open] > .cp-faq__summary { border-bottom:1px solid rgba(18,32,54,.08); }
.cp-faq__panel { padding:30px 30px 24px; animation:cpFaqOpen .22s ease; }
@keyframes cpFaqOpen { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
.cp-contact__box-1 { position:relative; overflow:hidden; padding:60px 0; background:linear-gradient(160deg,#102447,#0a1428); border-top:1px solid rgba(255,255,255,.08); }
.cp-contact__decor-1 { position:absolute; top:-100px; left:50%; transform:translateX(-50%); width:700px; height:500px; background:radial-gradient(circle,rgba(0,175,239,.16),transparent 65%); filter:blur(20px); pointer-events:none; }
.cp-contact__grid-1 { position:relative; max-width:1180px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:start; }
.cp-contact__heading-1 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:#00AFEF; margin-bottom:22px; }
.cp-contact__title-1 { font-family:'IBM Plex Sans',sans-serif; font-weight:700; font-size:clamp(32px,4vw,50px); line-height:1.08; letter-spacing:-.025em; color:#fff; margin:0 0 20px; }
.cp-contact__label-1 { color:#00AFEF; }
.cp-contact__text-1 { font-size:18px; line-height:1.65; color:#aebccd; max-width:520px; margin:0 0 36px; }
.cp-contact__col-1 { display:flex; flex-direction:column; gap:14px; font-size:15px; color:#aebccd; }
.cp-contact__info-row { display:inline-flex; align-items:center; gap:10px; }
.cp-contact__info-row a{color: inherit;text-decoration: none;}
.cp-icon-accent-lg { color:#00AFEF; font-size:17px; }
.cp-contact__form-card { background:#101f38; border:1px solid rgba(0,175,239,.22); border-radius:18px; padding:20px; box-shadow:0 24px 60px rgba(0,0,0,.3); }
.cp-contact__box-2 { text-align:center; padding:30px 0; }
.cp-contact__dot-1 { width:56px; height:56px; border-radius:50%; background:rgba(0,175,239,.16); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-size:24px; color:#00AFEF; }
.cp-contact__heading-2 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:22px; color:#fff; margin-bottom:10px; }
.cp-contact__text-2 { font-size:15px; line-height:1.6; color:#aebccd; }
.cp-contact__heading-3 { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:20px; color:#fff; margin-bottom:2px; }
.cp-field__label { display:block; font-size:13px; font-weight:600; color:#aebccd; margin-bottom:6px; }
.cp-field__input { width:100%; padding:12px 14px; border:1px solid rgba(255,255,255,.16); border-radius:9px; font-size:15px; font-family:'IBM Plex Sans',sans-serif; color:#fff; background:rgba(255,255,255,.05); }
.cp-contact__grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.cp-contact__textarea-1 { width:100%; padding:12px 14px; border:1px solid rgba(255,255,255,.16); border-radius:9px; font-size:15px; font-family:'IBM Plex Sans',sans-serif; color:#fff; background:rgba(255,255,255,.05); resize:vertical; }
.cp-contact__btn-1 { margin-top:6px; padding:14px 24px; border:none; border-radius:9px; background:#00AFEF; color:#06121c; font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:15px; cursor:pointer; }
.cp-footer__box-1 { border-top:1px solid rgba(18,32,54,.09); padding:15px 20px; }
.cp-footer__row-1 { max-width:1180px; margin:0 auto; display:flex; flex-wrap:wrap; gap:20px; align-items:center; justify-content:space-between; }
.cp-footer__row-2 { display:flex; align-items:center; gap:12px; }
.cp-footer__img-1 { width:34px; height:34px; border-radius:0; display:block; }
.cp-footer__text-1 { font-family:'IBM Plex Sans'; font-size:14px; color:#5a6677; }
.cp-footer__label-1 { color:#8593a3; }
.cp-footer__row-3 { display:flex; align-items:center; gap:16px; }
.cp-footer__row-4 { display:flex; align-items:center; gap:9px; }
.cp-footer__label-2 { font-family:'IBM Plex Sans',sans-serif; font-size:11px; letter-spacing:.16em; color:#8593a3; }
.cp-footer__box-2 { font-family:'IBM Plex Sans',sans-serif; font-size:12px; color:#8593a3; letter-spacing:.04em; }

.sticky {  position: fixed !important;  top: 0;  left: 0;  width: 100%;  z-index: 999;}

/* ==========================================================================
   RESPONSIVE BREAKPOINTS
   Desktop:       >= 1200px  (default / base styles above)
   Tablet:        768px - 1199px
   Mobile:        <= 767px
   Small Mobile:  <= 480px
   ========================================================================== */

/* ---------- Tablet: 768px - 1199px ---------- */
@media (max-width: 1199px) and (min-width: 768px) {
  .cp-container { padding-left: 26px !important; padding-right: 26px !important; }
  .cp-container-narrow { padding-left: 26px !important; padding-right: 26px !important; }

  .cp-hero-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .cp-why-grid { grid-template-columns: 1fr !important; }
  .cp-flow { grid-template-columns: 1fr 1fr !important; gap: 36px 24px !important; }
  .cp-band__connector { display: none !important; }
  .cp-how-rail { grid-template-columns: 1fr 1fr !important; gap: 36px 0 !important; }
  .cp-how-line { display: none !important; }
  .cp-svc-grid { grid-template-columns: 1fr !important; }
  .cp-two { grid-template-columns: 1fr !important; }
  .cp-section { padding: 60px 0 !important; }
  .cp-h1 { font-size: 40px !important; }
  .cp-ind-diagram { grid-template-columns: 1fr !important; }
  .cp-ind-cam { flex-direction: row !important; justify-content: center !important; gap: 22px !important; padding: 20px 24px !important; border-right: none !important; border-bottom: 1px dashed rgba(0,175,239,.3) !important; }

  .cp-nav-burger { display: flex !important; }
  .cp-nav-links {
    position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important;
    flex-direction: column !important; align-items: flex-start !important; background: #0c1f3f !important;
    padding: 0 26px !important; max-height: 0 !important; overflow: hidden !important;
    transition: max-height .25s ease, padding .25s ease !important; gap: 2px !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    box-shadow: 0 18px 30px rgba(4,10,22,.35) !important;
  }
  .cp-nav-links a { padding: 12px 0 !important; width: 100%; border-bottom: 1px solid rgba(255,255,255,.06); }
  .cp-nav-links a:last-child { border-bottom: none; }
  #cp-nav-toggle:checked ~ .cp-nav-links { max-height: 420px !important; padding: 10px 26px 22px !important; }

  /* ----- Contact / CTA section ("From Surveillance to Intelligence") ----- */
  .cp-contact__box-1 { padding: 90px 0 !important; }
  .cp-contact__grid-1 {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
    padding-left: 26px !important;
    padding-right: 26px !important;
  }
  .cp-contact__form-card { padding: 32px !important; }
}

/* ---------- Mobile: <= 767px ---------- */
@media (max-width: 767px) {
  .cp-container,
  .cp-container-narrow { padding-left: 18px !important; padding-right: 18px !important; }
  .cp-nav { padding-left: 18px !important; padding-right: 18px !important; }
  .cp-band__container { padding: 30px 18px !important; }
  .cp-industries__card,
  .cp-contact__form-card { padding: 24px !important; }

  .cp-hero-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .cp-why-grid { grid-template-columns: 1fr !important; }
  .cp-flow { grid-template-columns: 1fr !important; gap: 15px 0 !important; }
  .cp-band__connector { display: none !important; }
  .cp-how-rail { grid-template-columns: 1fr !important; gap: 24px 0 !important; }
  .cp-how-line { display: none !important; }
  .cp-svc-grid { grid-template-columns: 1fr !important; }
  .cp-two { grid-template-columns: 1fr !important; }
  .cp-mon-grid { grid-template-columns: 1fr !important; }
  .cp-section { padding: 60px 0 !important; }
  .cp-h1 { font-size: 32px !important; }
  .cp-ind-diagram { grid-template-columns: 1fr !important; }
  .cp-ind-cam { flex-direction: row !important; justify-content: center !important; gap: 22px !important; padding: 20px 24px !important; border-right: none !important; border-bottom: 1px dashed rgba(0,175,239,.3) !important; }

  .cp-nav-burger { display: flex !important; }
  .cp-nav-links {
    position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important;
    flex-direction: column !important; align-items: flex-start !important; background: #0c1f3f !important;
    padding: 0 26px !important; max-height: 0 !important; overflow: hidden !important;
    transition: max-height .25s ease, padding .25s ease !important; gap: 2px !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    box-shadow: 0 18px 30px rgba(4,10,22,.35) !important;
  }
  .cp-nav-links a { padding: 12px 0 !important; width: 100%; border-bottom: 1px solid rgba(255,255,255,.06); }
  .cp-nav-links a:last-child { border-bottom: none; }
  #cp-nav-toggle:checked ~ .cp-nav-links { max-height: 420px !important; padding: 10px 26px 22px !important; }

  /* ----- Contact / CTA section ("From Surveillance to Intelligence") ----- */
  .cp-contact__box-1 { padding: 64px 0 !important; }
  .cp-contact__grid-1 {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .cp-contact__decor-1 { width: 480px !important; height: 340px !important; }
  .cp-contact__form-card { padding: 24px !important; }
  .cp-contact__grid-2 { grid-template-columns: 1fr !important; gap: 14px !important; }
  .cp-contact__title-1 { line-height: 1.18 !important; }
}

/* ---------- Small Mobile: <= 480px ---------- */
@media (max-width: 480px) {
  .cp-container,
  .cp-container-narrow { padding-left: 14px !important; padding-right: 14px !important; }
  .cp-nav { padding: 14px !important; }
  .cp-h1 { font-size: 28px !important; }
  .cp-section { padding: 40px 0 !important; }
  .cp-section-title { font-size: 26px !important; }
  .cp-hero__checklist-item,
  .cp-tag { font-size: 12px !important; padding: 6px 10px !important; }
  .cp-card { padding: 20px !important; }
  .cp-faq__summary { padding: 18px 20px !important; }
  .cp-faq__panel { padding: 20px 20px 20px !important; }
  .cp-field__input,
  textarea.cp-field__input { font-size: 14px !important; }

  /* ----- Contact / CTA section ("From Surveillance to Intelligence") ----- */
  .cp-contact__box-1 { padding: 48px 0 !important; }
  .cp-contact__grid-1 {
    padding-left: 14px !important;
    padding-right: 14px !important;
    gap: 28px !important;
  }
  .cp-contact__decor-1 { width: 340px !important; height: 260px !important; }
  .cp-contact__form-card { padding: 5px !important; }
  .cp-contact__heading-1 { font-size: 12px !important; }
  .cp-contact__info-row { font-size: 14px !important; }
}

/* ============================================================
   HERO REDESIGN — "Monitor Wall" (banner-only, new namespace)
   ============================================================ */

/* Headline + copy */
.cp-h2__title { font-family:'IBM Plex Sans',sans-serif; font-weight:700; font-size:clamp(40px,5vw,64px); line-height:1.03; letter-spacing:-.03em; color:#0e1b30; margin:0 0 22px; }
.cp-h2__text { font-size:18px; line-height:1.65; color:#5a6677; max-width:520px; margin:0 0 34px; }

/* Wall composition — asymmetric staggered camera tiles instead of a boxed device mock */
.cp-h2__wall { position:relative; width:100%; max-width:540px; height:440px; margin:0 auto; animation:cpFloat 7s ease-in-out infinite; }

.cp-h2__rec-badge { position:absolute; top:-38px; left:2px; display:inline-flex; align-items:center; gap:8px; font-family:'IBM Plex Sans',sans-serif; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#0e1b30; }
.cp-h2__rec-badge-clock { font-family:'IBM Plex Sans',sans-serif; font-weight:500; letter-spacing:.02em; color:#8492a2; text-transform:none; margin-left:2px; }

/* Viewfinder corner brackets framing the whole composition */
.cp-h2__corner { position:absolute; width:26px; height:26px; border:2px solid var(--accent); opacity:.55; pointer-events:none; }
.cp-h2__corner--tl { top:-10px; left:-10px; border-right:none; border-bottom:none; border-radius:6px 0 0 0; }
.cp-h2__corner--tr { top:-10px; right:-10px; border-left:none; border-bottom:none; border-radius:0 6px 0 0; }
.cp-h2__corner--bl { bottom:-10px; left:-10px; border-right:none; border-top:none; border-radius:0 0 0 6px; }
.cp-h2__corner--br { bottom:-10px; right:-10px; border-left:none; border-top:none; border-radius:0 0 6px 0; }

.cp-h2__tile { position:absolute; border-radius:12px; overflow:hidden; background:linear-gradient(160deg,#2a3c55,#121d2b); box-shadow:0 18px 34px rgba(14,27,48,.22); border:1px solid rgba(255,255,255,.06); }
.cp-h2__tile--a { top:0; left:0; width:38%; aspect-ratio:4/3; transform:rotate(-4deg); z-index:2; }
.cp-h2__tile--b { top:14px; right:0; width:34%; aspect-ratio:4/3; transform:rotate(3deg); z-index:2; }
.cp-h2__tile--c { top:31%; left:26%; width:48%; aspect-ratio:4/3; transform:rotate(-1deg); z-index:4; box-shadow:0 26px 46px rgba(14,27,48,.32); }
.cp-h2__tile--d { bottom:0; left:8%; width:33%; aspect-ratio:4/3; transform:rotate(4deg); z-index:1; }

.cp-h2__flow { position:absolute; right:0; bottom:6px; width:40%; display:flex; align-items:center; justify-content:flex-end; gap:6px; z-index:3; }
.cp-h2__flow-arrow { color:#aeb6c1; font-size:13px; }

.cp-h2__popover { position:absolute; right:-14px; bottom:-34px; z-index:5; background:#ffffff; border:1px solid rgba(18,32,54,.1); border-radius:12px; box-shadow:0 14px 34px rgba(18,32,54,.18); padding:11px 13px; width:180px; }

/* Live event ticker — full-width strip beneath the two-column hero */
.cp-h2__ticker { position:relative; display:flex; align-items:center; gap:18px; margin-top:64px; padding-top:22px; border-top:1px solid rgba(18,32,54,.1); overflow:hidden; }
.cp-h2__ticker-label { flex:none; display:inline-flex; align-items:center; gap:8px; font-family:'IBM Plex Sans',sans-serif; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#0e1b30; }
.cp-h2__ticker-window { flex:1; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.cp-h2__ticker-track { display:flex; align-items:center; gap:28px; width:max-content; animation:cpTicker 26s linear infinite; }
.cp-h2__ticker-item { font-family:'IBM Plex Sans',sans-serif; font-size:13px; letter-spacing:.01em; color:#5a6677; white-space:nowrap; }
.cp-h2__ticker-item--sep { color:var(--accent); opacity:.5; }

@keyframes cpTicker { from { transform:translateX(0); } to { transform:translateX(-50%); } }

@media (max-width:1199px) {
  .cp-h2__wall { max-width:460px; height:400px; margin-top:8px; }
  .cp-h2__ticker { margin-top:48px; }
}

@media (max-width:767px) {
  .cp-h2__wall { max-width:360px; height:330px; }
  .cp-h2__rec-badge { top:-32px; font-size:10px; }
  .cp-h2__popover { width:160px; right:-6px; bottom:-46px; padding:10px 11px; }
  .cp-h2__ticker { margin-top:40px; flex-wrap:wrap; row-gap:12px; }
}

@media (max-width:480px) {
  .cp-h2__wall { max-width:300px; height:300px; }
  .cp-h2__corner { width:20px; height:20px; }
  .cp-h2__popover { width:150px; font-size:11px; right:-4px; bottom:-52px; padding:9px 10px; }
  .cp-h2__flow { width:44%; }
}

@media (prefers-reduced-motion:reduce) {
  .cp-h2__wall { animation:none; }
  .cp-h2__ticker-track { animation:none; }
}

/* Contact form — send error message */
.cp-contact__error-1 { font-family:'IBM Plex Sans',sans-serif; font-size:13px; color:#e5484d; background:rgba(229,72,77,.08); border:1px solid rgba(229,72,77,.25); border-radius:8px; padding:10px 12px; margin-top:-6px; }

/* ===== Hover states (converted from framework style-hover attributes) ===== */
.cp-hero__link-1:hover { background: rgba(18,32,54,.11); }
.cp-card:hover { border-color: var(--accent-soft); }
.cp-nav__link:hover { color: #ffffff; }
.cp-nav-cta:hover { filter: brightness(1.12); }
.cp-contact__btn-1:hover { opacity: .9; }

/* ===== Industry tab buttons (converted from inline JS-computed styles) ===== */
.cp-ind-tab {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  padding: 11px 18px;
  border-radius: 100px;
  cursor: pointer;
  transition: all .15s;
  border: 1px solid rgba(18,32,54,.12);
  background: rgba(18,32,54,.045);
  color: #5a6677;
}
.cp-ind-tab.is-active {
  background: var(--accent);
  color: #06121c;
  border-color: var(--accent);
}

/* ===== Why-choose table row styles (converted from inline JS-computed styles) ===== */
.cp-why__label-col {
  background: #f4f7fb;
  padding: 20px 26px;
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #122036;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(18,32,54,.08);
}
.cp-why__trad-col {
  background: #eef2f7;
  padding: 20px 26px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  color: #7a8693;
  border-bottom: 1px solid rgba(18,32,54,.08);
}
.cp-why__patrol-col {
  background: linear-gradient(160deg, rgba(28,59,125,.97), rgba(16,36,71,.97));
  padding: 20px 26px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  font-weight: 500;
  color: #eef4fa;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.cp-why-grid > .cp-why__label-col:nth-last-of-type(1),
.cp-why-grid > .cp-why__trad-col:nth-last-of-type(1),
.cp-why-grid > .cp-why__patrol-col:nth-last-of-type(1) { border-bottom: none; }
.cp-why-grid-row:last-child .cp-why__label-col,
.cp-why-grid-row:last-child .cp-why__trad-col,
.cp-why-grid-row:last-child .cp-why__patrol-col { border-bottom: none; }

/* ===== How-it-works step number circle ===== */
.cp-how__num-circle {
  width: 58px; height: 58px; border-radius: 50%;
  background: #ffffff; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 20px rgba(18,32,54,.1);
  border: 2px solid rgba(0,175,239,.45);
}
.cp-how__num-circle.is-last { border-color: var(--accent); }
.cp-how__num-text {
  font-family: 'IBM Plex Sans', sans-serif; font-weight: 600; font-size: 18px; color: var(--accent);
}

/* ===== Statement band step icon ===== */
.cp-band__icon-box {
  position: relative; z-index: 2; width: 74px; height: 74px; border-radius: 18px;
  background: rgba(0,175,239,.12); border: 1px solid rgba(0,175,239,.3);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 26px rgba(0,0,0,.3);
}
.cp-band__icon-box.is-last { background: var(--accent); border-color: var(--accent); }
.cp-band__icon-num { font-family: 'IBM Plex Sans', sans-serif; font-weight: 700; font-size: 24px; color: var(--accent); }
.cp-band__icon-box.is-last .cp-band__icon-num { color: #06121c; }
.cp-band__connector {
  position: absolute; top: 37px; left: calc(50% + 37px); right: calc(-50% + 37px); height: 2px;
  background: linear-gradient(90deg, rgba(0,175,239,.5), rgba(0,175,239,.15)); z-index: 1;
}


.box {
    text-align: center;
    border-radius: 12px;
    animation: fadeInUp 0.8s ease;
    height: 100vh;
    align-content: center;
}

/* HEADING */
.box h1 {
    color:rgba(16,36,71,.88);
    margin-top: 20px;
}

/* BUTTON */
.box a {
    display: inline-block;
    margin-top: 20px;
    padding: 20px 40px;
    font-size: 16px;
    background-color: var(--accent);
    border-radius: 8px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    transition: 0.3s;
}

.box a:hover {
    background-color: rgba(16,36,71,.88);
}

/* CHECKMARK CIRCLE */
.checkmark-circle {
    width: 80px;
    height: 80px;
    background:var(--accent);
    border-radius: 50%;
    margin: 0 auto;
    position: relative;
    animation: pop 0.5s ease;
}

/* CHECKMARK */
.checkmark {
    position: absolute;
    left: 27px;
    top: 30px;
    width: 25px;
    height: 12px;
    border-left: 4px solid #fff;
    border-bottom: 4px solid #fff;
    transform: rotate(-45deg);
    animation: draw 0.5s ease 0.3s forwards;
    opacity: 0;
}
.box p {
    font-size: 15px;
    line-height: 1.8;
    color: #666;
    margin-top: 15px;
}

/* ANIMATIONS */
@keyframes pop {
    0% { transform: scale(0); }
    100% { transform: scale(1); }
}

@keyframes draw {
    0% {
        width: 0;
        height: 0;
        opacity: 1;
    }
    100% {
        width: 25px;
        height: 12px;
        opacity: 1;
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===== HERO BANNER (v3) ===== */
.cp-h3__box-1 { position:relative; overflow:hidden; padding:60px 0 40px; scroll-margin-top:80px; background:#f4f7fb url('../images/hero-bg-cityscape.png') right bottom / 1400px auto no-repeat; }
.cp-h3__bg-skyline { position:absolute; inset:0; background-image:url('../images/hero-bg-skyline.png'); background-repeat:no-repeat; background-position:right 60%; background-size:min(1200px,78%) auto; opacity:.7; pointer-events:none; z-index:0; }
.cp-h3__box-2 { position:relative; max-width:100%; margin:0 auto; padding:0 40px; }
.cp-h3__grid-1 { display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; margin-bottom:56px; }
.cp-h3__icon-badge { display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; font-size:11px; }
.cp-h3__title { font-family:'IBM Plex Sans',sans-serif; font-weight:700; font-size:clamp(38px,4.8vw,54px); line-height:1.08; letter-spacing:-.03em; color:#0e1b30; margin:0 0 20px; }

.cp-h3__row-1 { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:32px; }
.cp-h3__btn-primary { font-family:'IBM Plex Sans',sans-serif; font-size:15px; font-weight:600; color:#fff; background:var(--accent); padding:15px 26px; border-radius:9px; text-decoration:none; box-shadow:0 10px 24px var(--accent-soft); }
.cp-h3__btn-secondary { font-family:'IBM Plex Sans',sans-serif; font-size:15px; font-weight:600; color:#1C3B7D; background:#ffffff; border:1px solid rgba(18,32,54,.16); padding:15px 26px; border-radius:9px; text-decoration:none; }
.cp-h3__btn-primary svg,.cp-h3__btn-secondary svg{vertical-align: middle;}
.cp-h3__feature-row { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.cp-h3__feature-item { display:flex; align-items:center; gap:10px; background:#ffffff; border:1px solid rgba(18,32,54,.1); border-radius:12px; padding:14px 12px; font-family:'IBM Plex Sans',sans-serif; font-size:13px; font-weight:600; line-height:1.3; color:#1d2b40; box-shadow:0 2px 6px rgba(18,32,54,.05); }
.cp-h3__feature-icon { wflex:none; border-radius:9px;  display:flex; align-items:center; justify-content:center; color:var(--accent); }
.cp-h3__feature-icon svg { width:29px; height:29px;stroke: var(--accent);}

.cp-h3__visual { position:relative; padding:8px 0 30px; display:flex; align-items:center; justify-content:center; }
.cp-h3__visual-img { display:block; width:100%; max-width:620px; height:auto; animation:cpFloat 7s ease-in-out infinite; filter:drop-shadow(0 30px 50px rgba(18,32,54,.22)); }

.cp-h3__industries-row { display:flex; flex-wrap:wrap; gap:0; background:#ffffff; border:1px solid rgba(18,32,54,.1); border-radius:16px; padding:22px 10px; box-shadow:0 4px 18px rgba(18,32,54,.05); margin-bottom:20px; }
.cp-h3__industry-item { flex:1 1 190px; display:flex; align-items:flex-start; gap:10px; padding:10px 14px; border-right: 1px solid #eee;}
.cp-h3__industry-item:last-child{border-right: none;}
.cp-h3__industry-icon { flex:none; width:36px; height:36px; color:var(--accent); }
.cp-h3__industry-icon svg { width:100%; height:100%; }
.cp-h3__industry-title { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:12px; color:#122036; }
.cp-h3__industry-text { font-size:11px; line-height:1.4; color:#7a8697; margin-top:2px; max-width:170px; }

.cp-h3__trusted { text-align:center; display: none;}
.cp-h3__trusted-label { font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:#8492a2; margin-bottom:22px; }
.cp-h3__trusted-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:36px; }
.cp-h3__trusted-logo { font-family:'IBM Plex Sans',sans-serif; font-weight:700; font-size:18px; letter-spacing:.01em; color:#425068; opacity:.55; }

.iefooter-bottom {
  border-top: 1px solid var(--color-primary);
  padding: 26px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
 
.iefooter-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
 
.iefooter-social-link {
  width: clamp(34px, 9vw, 40px);
  height: clamp(34px, 9vw, 40px);
  border-radius: 50%;
  background: #00AFEF;
  border: 1px solid var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: 0.25s ease;
}
 
.iefooter-social-link svg {
  width: clamp(15px, 4vw, 19px);
  height: clamp(15px, 4vw, 19px);
  fill: #FFFFFF;
  transition: 0.25s ease;
}
 
.iefooter-social-link:hover {
  background: #FFFFFF;
}
 
.iefooter-social-link:hover svg {
  fill: #00AFEF;
}
 


/* ==========================================================================
   ADDITIONAL RESPONSIVE ENHANCEMENTS
   Fills gaps left by the sections above so every section adapts across:
   Large / Wide desktops :  >= 1600px
   Desktop               :  1200px - 1599px (base styles)
   Tablet                :  768px  - 1199px
   Mobile                :  481px  - 767px
   Small Mobile          :  <= 480px
   ========================================================================== */

/* ---------- Large / Wide screens: >= 1600px ---------- */
@media (min-width: 1600px) {
  /* Hero (v3) wrapper has no max-width like the rest of the page's
     .cp-container (1180px) / .cp-contact__grid-1 (1180px) — cap it so the
     hero doesn't stretch edge-to-edge and look inconsistent on very wide
     monitors / ultrawide displays. */
  .cp-h3__box-2 { max-width: 1400px !important; }
}
@media (max-width:1199px) and (min-width:768px) {
  .cp-h3__grid-1 { grid-template-columns:1fr; }
  .cp-h3__visual { max-width:560px; margin:0 auto; }
  .cp-h3__industry-item { flex:1 1 45%; border-right:none; border-bottom:1px solid #eee; padding:14px; }
  .cp-h3__industry-item:nth-last-child(-n+2) { border-bottom:none; }
  .iefooter-bottom {
    padding: 20px 0;
    gap: 14px;
  }
 
  .iefooter-socials {
    gap: 10px;
  }
  .cp-live__grid-1 { grid-template-columns: 1fr !important; gap: 26px !important; }
  .cp-industries__card { padding: 26px !important; }
}
@media (max-width:767px) {
  .cp-h3__box-1 { padding:40px 0 20px; }
  .cp-h3__box-2 { padding:0 20px; }
  .cp-h3__grid-1 { grid-template-columns:1fr; gap:36px; }
  .cp-h3__visual { max-width:440px; margin:0 auto; }
  .cp-h3__feature-row { grid-template-columns:1fr 1fr; }
  .cp-h3__row-1 { flex-direction:column; }
  .cp-h3__row-1 a { text-align:center; width:100%; box-sizing:border-box; }
  .cp-h3__box-1 .cp-hero__heading-1 { white-space:normal; text-align:center; }
  .cp-h3__industries-row { flex-direction:column; }
  .cp-h3__industry-item { flex:1 1 auto; border-right:none; border-bottom:1px solid #eee; padding:14px 4px; }
  .cp-h3__industry-item:last-child { border-bottom:none; }
  .cp-h3__trusted-row { gap:22px; }
   .cp-live__grid-1 { grid-template-columns: 1fr !important; gap: 22px !important; }
  .cp-live__body { padding: 20px 22px !important; }

  /* Why-choose comparison table: hide the empty corner spacer cell once the
     table stacks into a single column — it added a blank block up top. */
  .cp-why__box-2 { display: none !important; }

  /* Feature-row on the hero already goes 2-up here; keep About's stat pair
     comfortably readable rather than squeezing on narrower phones. */
  .cp-about__grid-2 { gap: 14px !important; }
}
@media (max-width:480px) {
  .cp-h3__box-2 { padding:0 16px; }
  .iefooter-bottom {
    flex-direction: column;
    align-items: flex-start;
    padding: 18px 0;
    gap: 12px;
  }
 
  .iefooter-socials {
    justify-content: center;
    width: 100%;
  }
 
  .iefooter-social-link {
    width: 38px;
    height: 38px;
  }
 
  .iefooter-social-link svg {
    width: 17px;
    height: 17px;
  }
   /* Safety net: auto-fit minmax(300px,…) can't quite fit on very small
     phones (< ~330px content width) — force a single column. */
  .cp-features__grid-1 { grid-template-columns: 1fr !important; }

  /* Two stat cards side-by-side get too cramped under ~480px. */
  .cp-about__grid-2 { grid-template-columns: 1fr !important; }
  .cp-about__box-1 { grid-column: 1 / 2 !important; }

  /* Google reCAPTCHA badge has a fixed ~304px width and can overflow the
     narrowest phones — scale it down and anchor to the left edge. */
  .g-recaptcha { transform: scale(0.87); transform-origin: left top; }

  .cp-card-faq .cp-faq__q { font-size: 17px !important; }
  .cp-contact__info-row { word-break: break-word; }
}





/* ---------- Extra-small phones: <= 360px ---------- */
@media (max-width: 360px) {
  .cp-h3__feature-row { grid-template-columns: 1fr !important; }
  .cp-h3__industry-text { max-width: none !important; }
  .cp-nav__heading-1 { font-size: 14px !important; }
  .cp-nav__box-2 { font-size: 9px !important; }
  .g-recaptcha { transform: scale(0.78); transform-origin: left top; }
}

