/* CMP Technologies — corporate homepage. Scoped to public gateway only.
   The signed-in CMP Suite interface remains unchanged. */
.cmp-gateway {
  --gw-bg: #f5f7fa;
  --gw-surface: #fff;
  --gw-text: #101d31;
  --gw-muted: #475970;
  --gw-line: #dce3eb;
  --gw-accent: #1556b5;
  background:var(--gw-bg);
  color:var(--gw-text);
  line-height:1.62;
  font-feature-settings:'kern';
}
.cmp-gateway main {overflow:clip}
.cmp-gateway .gateway-header {
  width:100%;max-width:none;min-height:82px!important;
  padding-inline:max(30px,calc((100vw - 1280px)/2));
  background:#fff!important;border-bottom:1px solid #e5eaf0;
  position:relative;z-index:10;gap:clamp(16px,2vw,32px);
}
.cmp-gateway .gateway-header nav {gap:clamp(12px,1.7vw,26px);white-space:nowrap}
.cmp-gateway .gateway-header nav a {color:#233751!important;font-weight:600!important}
.cmp-gateway .gateway-header nav a:hover {color:#1556b5!important}
.cmp-gateway .gateway-language {flex:0 0 auto;border-radius:8px}
.cmp-gateway .gateway-hero,.cmp-gateway .gateway-section {width:min(1280px,100%)}
.cmp-gateway .gateway-hero {
  grid-template-columns:minmax(0,1.38fr) minmax(300px,.72fr);
  grid-template-areas:'copy access';align-items:center;
  gap:clamp(32px,5vw,88px);
  padding-block:clamp(80px,8vw,132px) clamp(80px,8vw,120px);
  position:relative;isolation:isolate;
}
.cmp-gateway .gateway-hero::before {
  content:'';position:absolute;z-index:-1;inset:0 -35vw;
  background:radial-gradient(ellipse 42% 73% at 73% 35%,rgba(207,226,255,.65),transparent 85%),linear-gradient(115deg,#fff 4%,#f4f8ff 100%);
}
.cmp-gateway .gateway-hero-copy.private-access-info {max-width:760px}
.cmp-gateway .gateway-hero-copy.private-access-info h1 {
  font-size:clamp(38px,4.55vw,66px);font-weight:750;
  line-height:1.09;letter-spacing:-.045em;
  max-width:800px;margin:18px 0 24px;
  text-wrap:balance;overflow-wrap:normal;
}
.cmp-gateway .gateway-hero-copy.private-access-info p {
  max-width:640px;font-size:clamp(16px,1.42vw,19px);
  line-height:1.8;color:#40526c;
}
.cmp-gateway .gateway-eyebrow {font-size:11px;letter-spacing:.13em;font-weight:750}
.cmp-gateway .gateway-hero-actions {margin-top:34px;gap:14px}
.cmp-gateway .gateway-primary,.cmp-gateway .gateway-secondary {
  border-radius:8px;min-height:50px;padding:12px 22px;
  font-size:14px;line-height:1.35;text-align:center;transition:transform .18s ease,background .18s ease;
}
.cmp-gateway .gateway-primary:hover,.cmp-gateway .gateway-secondary:hover {transform:translateY(-2px)}
.cmp-gateway .gateway-system {margin-top:54px;gap:18px;max-width:620px}
.cmp-gateway .gateway-system div {padding-top:3px;min-width:0}
.cmp-gateway .gateway-system b {font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.cmp-gateway .gateway-access {
  padding:clamp(24px,2.8vw,38px);box-shadow:0 22px 75px rgba(17,43,78,.085);
  border-radius:16px;border:1px solid #e0e8f1;
}
.cmp-gateway .gateway-access h2 {font-size:22px;line-height:1.3;letter-spacing:-.025em;margin:20px 0 8px}
.cmp-gateway .gateway-access .gateway-access-brand {margin-bottom:22px}
.cmp-gateway .gateway-access .gateway-access-brand small {max-width:115px;text-align:right}
.cmp-gateway .gateway-section {
  padding-block:clamp(72px,7.5vw,112px);
  border-top:1px solid #e1e8f0;
}
.cmp-gateway .gateway-section-heading {max-width:850px;margin-bottom:40px}
.cmp-gateway .gateway-section-heading h2 {font-size:clamp(29px,3.1vw,43px);line-height:1.17;letter-spacing:-.035em;text-wrap:balance}
.cmp-gateway .gateway-section-heading p {font-size:clamp(15px,1.28vw,18px);line-height:1.77;max-width:760px}
.cmp-gateway .cmp-editorial {max-width:1280px;padding-block:clamp(72px,7.5vw,112px)}
.cmp-gateway .cmp-editorial-grid {gap:clamp(20px,3vw,44px);margin-bottom:26px}
.cmp-gateway .cmp-editorial-grid article {padding:27px 10px 12px 0;border-top:2px solid #d5e2f0}
.cmp-gateway .cmp-editorial-grid h3 {font-size:clamp(19px,1.75vw,24px);line-height:1.3;letter-spacing:-.018em}
.cmp-gateway .cmp-editorial-grid p {font-size:15px;line-height:1.78;color:#485b72}
.cmp-gateway .gateway-products {gap:20px}
.cmp-gateway .gateway-product {border-radius:12px;padding:clamp(24px,2.6vw,36px);box-shadow:0 10px 30px rgba(21,49,83,.035)}
.cmp-gateway .gateway-product h3 {font-size:20px;letter-spacing:-.02em}
.cmp-gateway .gateway-product p,.cmp-gateway .gateway-product ul {font-size:14px;line-height:1.7}
.cmp-gateway .public-ecosystem {margin-top:28px}
.cmp-gateway .cmp-portfolio-feature {width:min(1280px,100%)}
.cmp-gateway .cmp-portfolio-row {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:36px}
.cmp-gateway .cmp-project-card {display:flex;min-width:0;flex-direction:column;background:#fff;border:1px solid #e1e8f0;border-radius:12px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.cmp-gateway .cmp-project-card:hover {transform:translateY(-3px);box-shadow:0 16px 36px rgba(17,43,78,.10)}
.cmp-gateway .cmp-project-logo {height:176px;min-height:176px;display:flex;align-items:center;justify-content:center;background:#f2f5fa;padding:28px;overflow:hidden;width:100%}
.cmp-gateway .cmp-project-logo img {display:block;width:100%;height:100%;max-width:240px;max-height:112px;object-fit:contain;object-position:center}
.cmp-gateway .cmp-project-copy {display:grid;grid-template-columns:minmax(0,1fr) 22px;gap:7px 10px;padding:24px;min-width:0;align-content:start}
.cmp-gateway .cmp-project-copy strong {font-size:18px;line-height:1.35;grid-column:1;overflow-wrap:anywhere}
.cmp-gateway .cmp-project-copy small {font-size:14px;line-height:1.65;color:#54647a;grid-column:1;overflow-wrap:break-word}
.cmp-gateway .cmp-project-copy em {grid-column:2;grid-row:1;font-style:normal;color:#1556b5}
.cmp-gateway .gateway-solution-grid {gap:0 56px}
.cmp-gateway .gateway-solution-grid article {padding:27px 0}
.cmp-gateway .gateway-solution-grid h3 {font-size:18px}
.cmp-gateway .gateway-solution-grid p {font-size:15px;line-height:1.7}
.cmp-gateway .gateway-trust-grid article {border-left-color:#1556b5;padding-left:22px}
.cmp-gateway .gateway-trust-grid h3 {font-size:18px}
.cmp-gateway .gateway-trust-grid p {font-size:15px;line-height:1.75}
.cmp-gateway .gateway-contact {background:#102845;color:#fff;padding:clamp(40px,5vw,65px);width:min(1216px,calc(100% - 48px));margin:30px auto 85px;border-radius:15px}
.cmp-gateway .gateway-contact h2 {color:#fff;font-size:clamp(26px,2.5vw,36px)}
.cmp-gateway .gateway-contact p {color:#d4e1ef;font-size:16px;line-height:1.7}
.cmp-gateway .gateway-contact .gateway-primary {background:#fff;border-color:#fff;color:#102845}
.cmp-gateway .gateway-contact .gateway-primary:hover {background:#edf5ff}
@media(max-width:1120px) {
  .cmp-gateway .gateway-header {padding-inline:24px;flex-wrap:wrap;padding-block:12px;gap:8px 18px}
  .cmp-gateway .gateway-header nav {order:3;width:100%;justify-content:center;overflow-x:auto;padding-bottom:5px}
  .cmp-gateway .gateway-language {margin-left:auto}
  .cmp-gateway .gateway-hero {gap:36px;grid-template-columns:minmax(0,1.12fr) minmax(285px,.88fr);padding-block:72px}
}
@media(max-width:800px) {
  .cmp-gateway .gateway-hero {grid-template-columns:1fr;grid-template-areas:'copy' 'access';gap:45px;padding-block:68px}
  .cmp-gateway .gateway-hero-copy.private-access-info h1 {font-size:clamp(35px,7vw,52px)}
  .cmp-gateway .gateway-access {width:100%;max-width:580px;justify-self:start}
  .cmp-gateway .cmp-portfolio-row {grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmp-gateway .cmp-editorial-grid {grid-template-columns:1fr}
  .cmp-gateway .gateway-section {padding-block:64px}
  .cmp-gateway .gateway-trust-grid {grid-template-columns:1fr}
}
@media(max-width:560px) {
  .cmp-gateway .gateway-header {padding-inline:18px}
  .cmp-gateway .gateway-header nav {justify-content:flex-start;gap:18px}
  .cmp-gateway .gateway-hero,.cmp-gateway .gateway-section,.cmp-gateway .cmp-editorial {padding-inline:20px}
  .cmp-gateway .gateway-hero {padding-block:48px 58px}
  .cmp-gateway .gateway-hero-copy.private-access-info h1 {font-size:36px;overflow-wrap:break-word}
  .cmp-gateway .gateway-system {grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .cmp-gateway .gateway-hero-actions {flex-direction:column;align-items:stretch}
  .cmp-gateway .cmp-portfolio-row {grid-template-columns:1fr}
  .cmp-gateway .cmp-project-logo {height:168px;min-height:168px}
  .cmp-gateway .gateway-products {grid-template-columns:1fr}
  .cmp-gateway .gateway-contact {margin:10px 12px 45px;width:calc(100% - 24px);padding:30px 24px}
  .cmp-gateway .gateway-contact .gateway-primary {width:100%}
}
@media(prefers-reduced-motion:reduce) {
  .cmp-gateway .cmp-project-card,.cmp-gateway .gateway-primary,.cmp-gateway .gateway-secondary {transition:none}
  .cmp-gateway .cmp-project-card:hover,.cmp-gateway .gateway-primary:hover,.cmp-gateway .gateway-secondary:hover {transform:none}
}
