.hero-slim{
  padding:8px 0 30px;
}

.hero-inner-slim{
  grid-template-columns:1fr;
  padding-top:42px;
}

.catalog-hero{
  max-width:880px;
}

.catalog-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0 0 12px;
  color:#78f6e5 !important;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.catalog-kicker i{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border:1px solid rgba(102,255,230,.26);
  border-radius:50%;
  background:rgba(102,255,230,.055);
  box-shadow:0 0 18px rgba(102,255,230,.07);
  font-size:.9rem;
}

.catalog-hero h1{
  max-width:820px;
  margin-bottom:12px;
}

.catalog-hero .sub{
  max-width:680px;
  margin-bottom:0;
  color:#adbad0;
  font-size:1.02rem;
  line-height:1.7;
}

.catalog-section{
  position:relative;
}

.feat-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}

.cert-card{
  --cert-accent:102,255,230;
  --cert-accent-light:166,255,242;
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.105);
  border-radius:24px;
  background:
    radial-gradient(100% 80% at 100% 0%, rgba(var(--cert-accent),.05), transparent 65%),
    linear-gradient(155deg, rgba(17,27,44,.97), rgba(6,13,25,.99));
  box-shadow:
    0 24px 58px rgba(0,0,0,.23),
    inset 0 1px 0 rgba(255,255,255,.045);
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.cert-card::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  left:0;
  z-index:5;
  height:2px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(var(--cert-accent),.72),
    transparent
  );
  pointer-events:none;
}

.cert-card:hover{
  transform:translateY(-4px);
  border-color:rgba(var(--cert-accent),.22);
  box-shadow:
    0 30px 68px rgba(0,0,0,.29),
    0 0 50px rgba(var(--cert-accent),.035),
    inset 0 1px 0 rgba(255,255,255,.055);
}

.cert-visual{
  position:relative;
  display:grid;
  place-items:center;
  min-height:246px;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 50% 48%, rgba(var(--cert-accent),.11), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.018), rgba(0,0,0,.1));
}

.cert-visual::before{
  content:"";
  position:absolute;
  width:230px;
  height:230px;
  border-radius:50%;
  background:
    radial-gradient(circle,
      transparent 0 61%,
      rgba(var(--cert-accent),.25) 61.5% 62%,
      transparent 62.5% 70%,
      rgba(var(--cert-accent),.12) 70.5% 71%,
      transparent 71.5%
    );
  filter:drop-shadow(0 0 12px rgba(var(--cert-accent),.1));
  pointer-events:none;
}

.cert-visual::after{
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  border-radius:50%;
  background:rgba(var(--cert-accent),.13);
  filter:blur(42px);
  opacity:.62;
  pointer-events:none;
}

.cert-badge{
  position:relative;
  z-index:2;
  width:166px;
  height:166px;
  object-fit:contain;
  filter:drop-shadow(0 16px 28px rgba(0,0,0,.5));
  transition:transform .35s ease;
}

.cert-card:hover .cert-badge{
  transform:scale(1.025);
}

.cert-code{
  position:absolute;
  top:18px;
  left:18px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  overflow:hidden;
  border:1px solid rgba(var(--cert-accent),.22);
  border-radius:999px;
  color:rgb(var(--cert-accent-light));
  background:rgba(4,11,21,.7);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-overflow:ellipsis;
  /*text-transform:uppercase;*/
  white-space:nowrap;
  backdrop-filter:blur(10px);
}

.cert-content{
  display:flex;
  flex:1;
  flex-direction:column;
  min-width:0;
  padding:23px 24px 24px;
}

.cert-heading{
  min-height:58px;
  display:flex;
  align-items:flex-start;
}

.cert-title{
  margin:0;
  color:#eff6ff;
  font-family:"Inter Tight",system-ui,sans-serif;
  font-size:clamp(1.08rem,1.55vw,1.28rem);
  font-weight:570;
  line-height:1.34;
  letter-spacing:-.012em;
}

.cert-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-top:20px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:15px;
  background:rgba(2,8,17,.32);
}

.cert-stat{
  min-width:0;
  padding:15px 16px;
}

.cert-stat + .cert-stat{
  border-left:1px solid rgba(255,255,255,.07);
}

.cert-stat:first-child{
  grid-column:1 / -1;
  border-bottom:1px solid rgba(255,255,255,.07);
}

.cert-stat:nth-child(2){
  border-left:0;
}

.cert-stat:last-child{
  padding-right:19px;
}

.cert-stat-label{
  display:block;
  margin-bottom:7px;
  color:#879ab5;
  font-size:.63rem;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.cert-stat-value{
  display:block;
  min-width:0;
  color:#e8f1fc;
  font-size:.88rem;
  font-weight:650;
  line-height:1.4;
  overflow-wrap:break-word;
}

.cert-level{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.shield-rack{
  display:inline-flex;
  gap:4px;
}

.shield{
  color:rgba(190,209,235,.52);
  font-size:14px;
  line-height:1;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.28));
}

.shield.filled{
  color:rgb(var(--cert-accent-light));
}

.shield.outline{
  color:rgba(190,209,235,.48);
}

.cert-level-name{
  overflow:hidden;
  color:#dce8f7;
  font-size:.78rem;
  font-weight:650;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.cert-footer{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-top:22px;
  padding-top:19px;
  border-top:1px solid rgba(255,255,255,.075);
}

.cert-price{
  display:grid;
  gap:4px;
  min-width:max-content;
}

.cert-price-label{
  color:#879ab5;
  font-size:.64rem;
  font-weight:750;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.cert-price-value{
  color:rgb(var(--cert-accent-light));
  font-family:"Inter Tight",system-ui,sans-serif;
  font-size:1.45rem;
  font-weight:800;
  line-height:1;
}

.cert-actions{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  min-width:0;
}

.cert-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:40px;
  padding:9px 12px;
  border-radius:11px;
  font-size:.8rem;
  font-weight:750;
  line-height:1;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.cert-action:hover{
  transform:translateY(-1px);
}

.cert-action-primary{
  border:1px solid rgba(var(--cert-accent),.55);
  color:rgb(var(--cert-accent-light));
  background:rgba(var(--cert-accent),.085);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}

.cert-action-primary:hover{
  border-color:rgba(var(--cert-accent),.82);
  background:rgba(var(--cert-accent),.13);
  box-shadow:0 8px 22px rgba(var(--cert-accent),.1);
}

.cert-action-secondary{
  border:1px solid rgba(255,255,255,.12);
  color:#dbe7f6;
  background:rgba(255,255,255,.035);
}

.cert-action-secondary:hover{
  border-color:rgba(255,255,255,.23);
  background:rgba(255,255,255,.06);
}

.empty-catalog{
  padding:46px 24px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  color:#aebdd2 !important;
  background:rgba(255,255,255,.025);
  text-align:center;
}

.cert-faq-section{
  position:relative;
  overflow:hidden;
}

.cert-faq-section::before{
  content:"";
  position:absolute;
  top:-160px;
  left:50%;
  width:620px;
  height:320px;
  border-radius:50%;
  background:rgba(83,109,254,.065);
  filter:blur(80px);
  transform:translateX(-50%);
  pointer-events:none;
}

.cert-faq-head{
  position:relative;
  max-width:720px;
  margin-bottom:25px;
}

.cert-faq-head h2{
  margin:0 0 8px;
  color:#eff6ff;
  font-family:"Inter Tight",system-ui,sans-serif;
  font-size:clamp(1.5rem,2.8vw,2rem);
  font-weight:650;
}

.cert-faq-head p{
  margin:0;
  color:#9eafc7 !important;
  line-height:1.65;
}

.cert-faq-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.095);
  border-radius:22px;
  background:rgba(255,255,255,.075);
  box-shadow:0 24px 58px rgba(0,0,0,.19);
}

.cert-faq-card{
  position:relative;
  min-width:0;
  min-height:225px;
  padding:27px 25px;
  overflow:hidden;
  background:
    radial-gradient(100% 100% at 100% 100%, rgba(102,255,230,.035), transparent 68%),
    linear-gradient(145deg, rgba(16,25,41,.96), rgba(7,14,27,.98));
}

.cert-faq-card::after{
  content:"";
  position:absolute;
  right:-55px;
  bottom:-70px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:rgba(102,255,230,.055);
  filter:blur(42px);
  pointer-events:none;
}

.cert-faq-icon{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:18px;
  border:1px solid rgba(102,255,230,.2);
  border-radius:13px;
  color:#8af8e8;
  background:rgba(102,255,230,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
  font-size:1.08rem;
}

.cert-faq-body{
  position:relative;
  z-index:1;
}

.cert-faq-q{
  margin:0 0 9px;
  color:#edf5ff;
  font-family:"Inter Tight",system-ui,sans-serif;
  font-size:1.04rem;
  font-weight:700;
  line-height:1.4;
}

.cert-faq-a{
  margin:0;
  color:#aab9cf !important;
  font-size:.9rem;
  line-height:1.68;
}

.cert-faq-a strong{
  color:#d8e6f7;
  font-weight:700;
}

@media(min-width:1180px){
  .feat-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }

  .cert-card{
    border-radius:21px;
  }

  .cert-visual{
    min-height:212px;
  }

  .cert-visual::before{
    width:205px;
    height:205px;
  }

  .cert-badge{
    width:145px;
    height:145px;
  }

  .cert-content{
    padding:19px 19px 20px;
  }

  .cert-heading{
    min-height:64px;
  }

  .cert-title{
    font-size:clamp(1.02rem,1.2vw,1.14rem);
  }

  .cert-stats{
    margin-top:16px;
  }

  .cert-stat{
    padding:12px 13px;
  }

  .cert-footer{
    align-items:stretch;
    flex-direction:column;
    gap:15px;
    margin-top:18px;
    padding-top:16px;
  }

  .cert-actions{
    justify-content:stretch;
  }

  .cert-action{
    flex:1;
    min-height:39px;
    padding:8px 10px;
    font-size:.76rem;
  }
}

@media(max-width:1100px){
  .cert-faq-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .feat-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:650px){
  .hero-inner-slim{
    padding-top:32px;
  }

  .cert-visual{
    min-height:225px;
  }

  .cert-badge{
    width:150px;
    height:150px;
  }

  .cert-content{
    padding:21px 19px 20px;
  }

  .cert-heading{
    min-height:auto;
  }

  .cert-footer{
    align-items:stretch;
    flex-direction:column;
  }

  .cert-actions{
    justify-content:stretch;
  }

  .cert-action{
    flex:1;
  }

  .cert-faq-grid{
    grid-template-columns:1fr;
    border-radius:18px;
  }

  .cert-faq-card{
    min-height:auto;
    padding:24px 20px;
  }
}

@media(max-width:430px){
  .cert-actions{
    flex-direction:column;
  }

  .cert-action{
    width:100%;
  }
}

@media(prefers-reduced-motion:reduce){
  .cert-card,
  .cert-badge,
  .cert-action{
    transition:none;
  }
}