/* ============================================================
   Certification page (page-certification.php)
   Design system: bg #0a0a0a / gold #F1B300 / white / Roboto
   ============================================================ */

.ct-page { background:#0a0a0a; color:#fff; overflow:hidden; }
.ct-inner { width:min(1350px,100%); margin:0 auto; padding:0 32px; }
.ct-ph {
    display:block; width:100%; height:100%; min-height:120px;
    background:linear-gradient(135deg,#141414 0%,#1d1d1d 55%,#141414 100%);
}

.ct-kicker {
    display:block; color:#F1B300; font-size:12px; font-weight:800;
    letter-spacing:3.4px; text-transform:uppercase; margin-bottom:14px;
}
.ct-h2 {
    color:#fff; font-size:clamp(26px,3.4vw,38px); font-weight:800;
    line-height:1.22; letter-spacing:.2px; margin:0 0 18px;
}
.ct-lead { color:#a5a5a5; font-size:15px; line-height:1.8; margin:0; }

/* ---------- Buttons ---------- */
.ct-btn {
    display:inline-flex; align-items:center; justify-content:center;
    padding:14px 30px; border-radius:3px; border:1px solid transparent;
    font-size:13px; font-weight:800; letter-spacing:1.4px; text-transform:uppercase;
    text-decoration:none; line-height:1; cursor:pointer;
    transition:background .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;
}
.ct-btn--primary { background:#F1B300; color:#0a0a0a; border-color:#F1B300; }
.ct-btn--primary:hover { background:#ffc21f; border-color:#ffc21f; transform:translateY(-2px); }
.ct-btn--ghost { background:transparent; color:#fff; border-color:rgba(255,255,255,.5); }
.ct-btn--ghost:hover { border-color:#F1B300; color:#F1B300; transform:translateY(-2px); }

/* ---------- Hero ---------- */
.ct-hero { position:relative; padding:150px 0 60px; overflow:hidden; background:#0d0d0d; }
.ct-hero__bg {
    position:absolute; inset:0 0 0 38%; background-size:cover; background-position:center right;
    background-repeat:no-repeat;
}
.ct-hero::before {
    content:""; position:absolute; inset:0; z-index:1;
    background:linear-gradient(90deg, rgba(8,8,8,.0) 0%, rgba(8,8,8,.0) 40%, rgba(8,8,8,.0) 72%, rgba(8,8,8,.0) 100%);
}
.ct-hero__inner { position:relative; z-index:2; }
.ct-hero__title {
    color:#fff; font-size:clamp(34px,5.4vw,62px); font-weight:900;
    line-height:1.06; letter-spacing:.6px; text-transform:uppercase;
    margin:0 0 26px; max-width:660px;
}
.ct-hero__desc { color:#b6b6b6; font-size:14px; line-height:1.85; max-width:520px; margin:0 0 46px; }

/* trust badges */
.ct-badges {
    display:flex; flex-wrap:wrap; gap:44px; list-style:none; margin:0; padding:0;
}
.ct-badge { display:flex; align-items:center; gap:14px; max-width:230px; }
.ct-badge__icon { display:block; width:46px; height:46px; color:#F1B300; flex:0 0 auto; }
.ct-badge__icon svg { width:100%; height:100%; display:block; }
.ct-badge__label {
    color:#F1B300; font-size:11px; font-weight:800; letter-spacing:1.4px;
    text-transform:uppercase; line-height:1.5;
}

/* ---------- Quality control ---------- */
.ct-rel { padding:86px 0 90px; }
.ct-rel__inner {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:54px; align-items:start;
}
.ct-rel__main { position:relative; overflow:hidden; border-radius:2px; }
.ct-rel__main img { width:100%; height:100%; display:block; object-fit:cover; aspect-ratio:16 / 11; }
.ct-rel__thumbs { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:10px; }
.ct-rel__thumb { position:relative; display:block; overflow:hidden; border-radius:2px; }
.ct-rel__thumb img { width:100%; height:100%; display:block; object-fit:cover; aspect-ratio:16 / 9; }

.ct-features { list-style:none; margin:32px 0 0; padding:0; display:flex; flex-direction:column; gap:24px; }
.ct-feature { display:flex; gap:18px; align-items:flex-start; }
.ct-feature__icon { display:block; width:42px; height:42px; color:#F1B300; flex:0 0 auto; }
.ct-feature__icon svg { width:100%; height:100%; display:block; }
.ct-feature__title {
    color:#F1B300; font-size:13px; font-weight:800; letter-spacing:1.4px;
    text-transform:uppercase; margin:0 0 8px;
}
.ct-feature__desc { color:#a5a5a5; font-size:13px; line-height:1.72; margin:0; }

/* ---------- Compliance ---------- */
.ct-comp { padding:10px 0 86px; }
.ct-comp__inner {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
    gap:40px; align-items:center;
}
.ct-comp__media img { width:100%; height:auto; display:block; }
.ct-comp__card {
    border:1px solid rgba(241,179,0,.45); border-radius:2px;
    background:rgba(12,12,12,.6); padding:34px 30px 30px;
}
.ct-comp__title {
    color:#F1B300; font-size:clamp(17px,1.9vw,21px); font-weight:800;
    letter-spacing:2px; text-transform:uppercase; text-align:center; margin:0 0 26px;
}
.ct-comp__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.ct-compitem { display:flex; gap:14px; align-items:flex-start; }
.ct-compitem__icon { display:block; width:22px; height:22px; color:#F1B300; flex:0 0 auto; margin-top:1px; }
.ct-compitem__icon svg { width:100%; height:100%; display:block; }
.ct-compitem__name {
    color:#F1B300; font-size:14px; font-weight:800; letter-spacing:.8px;
    text-transform:uppercase; margin:0 0 5px;
}
.ct-compitem__desc { color:#a5a5a5; font-size:12.5px; line-height:1.7; margin:0; }

/* ---------- Partner logos ---------- */
.ct-logos { padding:6px 0 78px; }
.ct-logos__row {
    display:flex; align-items:center; justify-content:center;
    flex-wrap:wrap; gap:38px 54px;
}
.ct-logo { display:block; }
.ct-logo img { display:block; height:42px; width:auto; object-fit:contain; opacity:.95; }
.ct-ph--logo { width:78px; height:40px; min-height:0; border-radius:2px; }

/* ---------- Validation steps ---------- */
.ct-val { padding:10px 0 96px; }
.ct-val__title {
    color:#F1B300; font-size:clamp(20px,2.6vw,30px); font-weight:800;
    letter-spacing:2px; text-transform:uppercase; text-align:center; margin:0 0 42px;
}
.ct-steps { display:flex; align-items:stretch; justify-content:center; gap:10px; flex-wrap:wrap; }
.ct-step {
    flex:1 1 0; min-width:200px; max-width:250px;
    border:1px solid rgba(241,179,0,.55); border-radius:2px;
    padding:26px 18px; text-align:center;
    display:flex; flex-direction:column; align-items:center; gap:14px;
    transition:background .3s ease, border-color .3s ease;
}
.ct-step:hover { background:rgba(241,179,0,.06); border-color:#F1B300; }
.ct-step__icon { display:block; width:46px; height:46px; color:#F1B300; }
.ct-step__icon svg { width:100%; height:100%; display:block; }
.ct-step__text {
    color:#f1f1f1; font-size:12.5px; font-weight:700; letter-spacing:1.2px;
    text-transform:uppercase; line-height:1.5;
}
.ct-steps__arrow {
    align-self:center; color:#F1B300; font-size:22px; font-weight:700; line-height:1; padding:0 2px;
}

/* ---------- CTA ---------- */
.ct-cta { position:relative; padding:96px 0; overflow:hidden; background:#0d0d0d; }
.ct-cta__bg {
    position:absolute; inset:0 0 0 42%; background-size:cover; background-position:center right;
    background-repeat:no-repeat;
}
.ct-cta::before {
    content:""; position:absolute; inset:0; z-index:1;
    background:linear-gradient(90deg, rgba(8,8,8,.97) 0%, rgba(8,8,8,.9) 42%, rgba(8,8,8,.6) 75%, rgba(8,8,8,.8) 100%);
}
.ct-cta__inner { position:relative; z-index:2; }
.ct-cta__title {
    color:#fff; font-size:clamp(30px,4.4vw,50px); font-weight:900;
    line-height:1.1; letter-spacing:.5px; text-transform:uppercase;
    margin:0 0 18px; max-width:620px;
}
.ct-cta__desc { color:#b0b0b0; font-size:14px; line-height:1.8; margin:0 0 34px; max-width:520px; }
.ct-cta__actions { display:flex; gap:16px; flex-wrap:wrap; }

/* ---------- IPSC ---------- */
.ct-ipsc { padding:88px 0 104px; text-align:center; }
.ct-ipsc__title {
    color:#F1B300; font-size:clamp(32px,5vw,62px); font-weight:900;
    letter-spacing:2px; text-transform:uppercase; margin:0 0 28px; line-height:1.08;
}
.ct-ipsc__desc { color:#cfcfcf; font-size:15px; line-height:1.85; max-width:940px; margin:0 auto; }

/* ---------- Responsive ---------- */
@media (max-width:1099px) {
    .ct-hero { padding:120px 0 56px; }
    .ct-hero__bg { inset:0; }
    .ct-rel__inner, .ct-comp__inner { grid-template-columns:1fr; gap:34px; }
    .ct-comp__card { padding:28px 22px 26px; }
    .ct-badges { gap:28px 34px; }
    .ct-cta { padding:72px 0; }
    .ct-cta__bg { inset:0; }
    .ct-step { min-width:0; flex:1 1 42%; max-width:none; }
    .ct-steps__arrow { display:none; }
}
@media (max-width:680px) {
    .ct-inner { padding-left:20px; padding-right:20px; }
    .ct-hero { padding:104px 0 48px; }
    .ct-hero__title { margin-bottom:18px; }
    .ct-hero__desc { margin-bottom:34px; }
    .ct-badges { display:grid; grid-template-columns:1fr 1fr; gap:20px 16px; }
    .ct-badge { max-width:none; gap:10px; }
    .ct-badge__icon { width:38px; height:38px; }
    .ct-rel, .ct-comp { padding-bottom:60px; }
    .ct-logos { padding-bottom:54px; }
    .ct-logos__row { gap:24px 30px; }
    .ct-logo img { height:32px; }
    .ct-val { padding-bottom:64px; }
    .ct-step { flex:1 1 100%; }
    .ct-cta { padding:60px 0; }
    .ct-cta__actions { flex-direction:column; }
    .ct-cta__actions .ct-btn { width:100%; }
    .ct-ipsc { padding:56px 0 70px; }
}
