:root{
  --cm-primary:#0c6ccf;
  --cm-bg:#ffffff;
  --cm-box:#f2f2f2;
  --cm-muted:#7693cf;
  --cm-text:#0f172a;
  --cm-text2:#334155;
  --cm-border:rgba(15,23,42,.12);
  --cm-shadow:0 12px 30px rgba(15,23,42,.12);
  --cm-shadow2:0 6px 18px rgba(15,23,42,.10);
  --cm-radius:18px;
}

.plus-jakarta-sans-logotext {
  font-family: "Plus Jakarta Sans", sans-serif;
  /*font-optical-sizing: auto;*/
  font-weight: 800;
  font-style: normal;
  /*font-size:2em;*/
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cm-bg);
  color:var(--cm-text);
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  line-height:1.55;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}

.cm-sr-only{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

.cm-container{
  width:min(1120px, 92vw);
  margin:0 auto;
}

.cm-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.86);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--cm-border);
}
.cm-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
}

.cm-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:200px;
}
.cm-brand__logo{
  width:44px;height:44px;
  border-radius:12px;
  background:var(--cm-box);
  border:1px solid var(--cm-border);
  box-shadow:var(--cm-shadow2);
}
.cm-brand__name{
  font-weight:700;
  letter-spacing:.02em;
  font-size:15px;
  color:var(--cm-text);
  text-transform:none;
}

.cm-nav{
  display:flex;
}
.cm-nav__list{
  list-style:none;
  display:flex;
  align-items:center;
  gap:18px;
  padding:0;margin:0;
}
.cm-nav__list a{
  color:var(--cm-text2);
  font-weight:600;
  font-size:14px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid transparent;
}
.cm-nav__list a:hover{
  border-color:var(--cm-border);
  background:rgba(12,108,207,.06);
  color:var(--cm-primary);
}

.cm-nav__toggle{
  display:none;
  border:1px solid var(--cm-border);
  background:var(--cm-box);
  border-radius:14px;
  padding:10px 12px;
  box-shadow:var(--cm-shadow2);
}
.cm-nav__toggle-icon{
  width:22px;height:14px;
  display:inline-block;
  background:
    linear-gradient(var(--cm-text2), var(--cm-text2)) 0 0/100% 2px,
    linear-gradient(var(--cm-text2), var(--cm-text2)) 0 6px/100% 2px,
    linear-gradient(var(--cm-text2), var(--cm-text2)) 0 12px/100% 2px;
  background-repeat:no-repeat;
}

.cm-main{min-height:60vh;}

.cm-hero{
  position:relative;
  padding:64px 0 36px;
  background:
    radial-gradient(900px 400px at 15% 0%, rgba(12,108,207,.16), transparent 60%),
    radial-gradient(900px 420px at 85% 10%, rgba(118,147,207,.22), transparent 60%),
    linear-gradient(#fff, #fff);
}
.cm-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--cm-hero-bg);
  background-size:cover;
  background-position:center;
  opacity:.12;
  pointer-events:none;
}
.cm-hero__inner{
  position:relative;
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:22px;
  align-items:stretch;
}

.cm-kicker{
  display:inline-flex;
  gap:10px;
  align-items:center;
  font-weight:700;
  color:var(--cm-primary);
  background:rgba(12,108,207,.08);
  border:1px solid rgba(12,108,207,.16);
  padding:8px 12px;
  border-radius:999px;
  margin:0 0 14px;
  font-size:13px;
}

.cm-h1{
  font-size:clamp(30px, 3.6vw, 48px);
  line-height:1.08;
  letter-spacing:-.02em;
  margin:0 0 14px;
}
.cm-lead{
  font-size:clamp(16px, 1.35vw, 18px);
  color:var(--cm-text2);
  margin:0 0 18px;
  max-width:56ch;
}

.cm-hero__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:8px;
}

.cm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:14px;
  font-weight:800;
  font-size:14px;
  border:1px solid var(--cm-border);
  box-shadow:var(--cm-shadow2);
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.cm-btn:hover{transform:translateY(-1px);box-shadow:var(--cm-shadow);}
.cm-btn--primary{
  background:var(--cm-primary);
  color:#fff;
  border-color:rgba(12,108,207,.35);
}
.cm-btn--ghost{
  background:rgba(255,255,255,.75);
}

.cm-hero__card{
  border:1px solid var(--cm-border);
  background:rgba(242,242,242,.78);
  border-radius:var(--cm-radius);
  box-shadow:var(--cm-shadow);
  padding:18px;
}
.cm-hero__card-inner{
  height:100%;
  display:grid;
  gap:12px;
}
.cm-stat{
  background:#fff;
  border:1px solid var(--cm-border);
  border-radius:16px;
  padding:14px;
  box-shadow:var(--cm-shadow2);
}
.cm-stat__label{
  display:block;
  font-size:12px;
  font-weight:800;
  color:var(--cm-muted);
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.cm-stat__value{
  font-weight:700;
  color:var(--cm-text);
}

.cm-teasers{
  padding:26px 0 70px;
}

.cm-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:16px;
}

.cm-box{
  background:var(--cm-box);
  border:1px solid var(--cm-border);
  border-radius:var(--cm-radius);
  box-shadow:var(--cm-shadow2);
  padding:18px;
  display:grid;
  gap:12px;
  transition:transform .12s ease, box-shadow .12s ease;
}
.cm-box:hover{
  transform:translateY(-2px);
  box-shadow:var(--cm-shadow);
}

.cm-h2{
  font-size:18px;
  margin:0;
  letter-spacing:-.01em;
}

.cm-icon{
  width:70px;
  height:70px;
  border-radius:18px;
  background:rgba(255,255,255,.8);
  border:1px solid var(--cm-border);
  box-shadow:var(--cm-shadow2);
  display:flex;
  align-items:center;
  justify-content:center;
}
.cm-icon svg{width:44px;height:44px;}

.cm-text{
  margin:0;
  color:var(--cm-text2);
  font-size:14px;
}

.cm-page{padding:42px 0 70px;}
.cm-page__header{margin-bottom:20px;}
.cm-posts{display:grid;gap:14px;}
.cm-post{
  background:#fff;
  border:1px solid var(--cm-border);
  border-radius:var(--cm-radius);
  box-shadow:var(--cm-shadow2);
  padding:18px;
}
.cm-meta{font-size:12px;color:var(--cm-muted);font-weight:700;margin:0 0 8px;}

.cm-content{
  background:#fff;
  border:1px solid var(--cm-border);
  border-radius:var(--cm-radius);
  box-shadow:var(--cm-shadow2);
  padding:22px;
}
.cm-content__body > *:first-child{margin-top:0;}
.cm-content__body > *:last-child{margin-bottom:0;}

.cm-pagination{margin-top:18px;}

.cm-footer{
  border-top:1px solid var(--cm-border);
  background:#fff;
  padding:20px 0;
}
.cm-footer__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.cm-footer__left{color:var(--cm-text2);font-size:14px;display:flex;align-items:center;gap:10px;}
.cm-footer__sep{opacity:.6;}
.cm-footer__right{display:flex;gap:12px;}
.cm-footer__right a{color:var(--cm-text2);font-weight:700;font-size:14px;padding:8px 10px;border-radius:12px;border:1px solid transparent;}
.cm-footer__right a:hover{border-color:var(--cm-border);background:rgba(12,108,207,.06);color:var(--cm-primary);}

/* Responsive */
@media (max-width: 980px){
  .cm-hero__inner{grid-template-columns:1fr;}
  .cm-grid{grid-template-columns:repeat(2, 1fr);}
}

@media (max-width: 720px){
  .cm-header__inner{padding:12px 0;}
  .cm-nav{position:relative;}
  .cm-nav__toggle{display:inline-flex;align-items:center;gap:8px;}
  .cm-nav__list{
    position:absolute;
    right:0;
    top:56px;
    width:min(320px, 92vw);
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    padding:10px;
    background:#fff;
    border:1px solid var(--cm-border);
    border-radius:18px;
    box-shadow:var(--cm-shadow);
    display:none;
  }
  .cm-nav.is-open .cm-nav__list{display:flex;}
  .cm-nav__list a{padding:12px 12px;}
  .cm-grid{grid-template-columns:1fr;}
  .cm-brand{min-width:auto;}
  .cm-brand__name{font-size:14px;}
}
