:root{
    --cert-blue:#083f78;
    --cert-dark:#062f5c;
    --cert-orange:#ff7a3d;
    --cert-sea:#8fd3df;
    --cert-text:#5f7188;
    --cert-border:#e6edf5;
    --cert-soft:#f6f9fd;
    --cert-white:#ffffff;
}

html,
body{
    margin:0;
    padding:0;
    overflow-x:hidden;
    background:#edf4fb;
}

body{
    color:var(--cert-text);
}

.miiti-cert-page{
    overflow:hidden;
    background:
        radial-gradient(circle at top right, rgba(255,122,61,.09), transparent 28%),
        linear-gradient(135deg,#ffffff 0%,#f6fbff 48%,#eef6fb 100%);
}

.cert-container{
    width:min(1180px, calc(100% - 40px));
    margin:0 auto;
}

.cert-hero{
    position:relative;
    padding:110px 0 66px;
}

.cert-hero::before{
    content:"";
    position:absolute;
    top:-170px;
    right:-150px;
    width:540px;
    height:540px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(143,211,223,.34), transparent 68%);
    pointer-events:none;
}

.cert-hero-content{
    position:relative;
    z-index:2;
    max-width:850px;
    margin:0 auto;
    text-align:center;
}

.cert-tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:34px;
    padding:0 18px;
    border-radius:999px;
    color:var(--cert-orange);
    background:rgba(255,122,61,.10);
    border:1px solid rgba(255,122,61,.18);
    font-size:var(--fs-xs);
    font-weight:var(--fw-semibold);
    letter-spacing:2.4px;
    text-transform:uppercase;
}

.cert-hero-content h1{
    margin:20px 0 0;
    color:var(--cert-blue);
    font-size:clamp(var(--fs-3xl),4vw,var(--fs-4xl));
    font-weight:var(--fw-bold);
    line-height:var(--lh-tight);
    letter-spacing:-.04em;
}

.cert-hero-content p{
    max-width:720px;
    margin:20px auto 0;
    color:var(--cert-text);
    font-size:var(--fs-base);
    font-weight:var(--fw-regular);
    line-height:var(--lh-relaxed);
}

.cert-section{
    padding:20px 0 80px;
}

.cert-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}

.cert-card{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:120px auto 1fr auto;
    align-items:center;
    gap:20px;
    padding:24px;
    border-radius:28px;
    background:#fff;
    border:1px solid rgba(8,63,120,.08);
    box-shadow:0 16px 38px rgba(8,63,120,.07);
    transition:.3s ease;
}

.cert-card.large,
.cert-card.full{
    grid-template-columns:120px auto 1fr;
    align-items:flex-start;
}

.cert-card.full{
    grid-column:1 / -1;
}

.cert-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(255,122,61,.08),transparent 58%);
    opacity:0;
    transition:.3s ease;
}

.cert-card:hover{
    transform:translateY(-6px);
    box-shadow:0 26px 60px rgba(8,63,120,.12);
}

.cert-card:hover::before{
    opacity:1;
}

.cert-visual,
.cert-icon,
.cert-info,
.cert-card > a{
    position:relative;
    z-index:2;
}

.cert-visual{
    width:120px;
    height:96px;
    overflow:hidden;
    border-radius:20px;
    background:#f6f9fd;
    border:1px solid rgba(8,63,120,.08);
    box-shadow:0 12px 24px rgba(8,63,120,.08);
}

.cert-visual::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(8,63,120,0) 0%, rgba(8,63,120,.28) 100%);
}

.cert-visual img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.35s ease;
}

.cert-card:hover .cert-visual img{
    transform:scale(1.08);
}

.cert-icon{
    width:54px;
    height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    color:#fff;
    background:linear-gradient(135deg,var(--cert-orange),#ff9b66);
    font-size:var(--fs-lg);
    box-shadow:0 16px 30px rgba(255,122,61,.25);
}

.cert-info span{
    display:inline-block;
    margin-bottom:6px;
    color:var(--cert-orange);
    font-size:var(--fs-xs);
    font-weight:var(--fw-semibold);
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.cert-info h3{
    margin:0;
    color:var(--cert-blue);
    font-size:var(--fs-xl);
    font-weight:var(--fw-bold);
    line-height:1.2;
}

.cert-info p{
    margin:10px 0 0;
    color:var(--cert-text);
    font-size:var(--fs-sm);
    line-height:var(--lh-relaxed);
}

.cert-card > a,
.cert-links a{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 16px;
    border-radius:999px;
    color:#fff;
    background:var(--cert-blue);
    text-decoration:none;
    font-size:var(--fs-sm);
    font-weight:var(--fw-semibold);
    transition:.28s ease;
    white-space:nowrap;
}

.cert-card > a:hover,
.cert-links a:hover{
    transform:translateY(-3px);
    background:var(--cert-orange);
}

.cert-links{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}

.cert-links.multi a{
    min-height:38px;
    padding:0 14px;
    background:#f4f8fc;
    color:var(--cert-blue);
    border:1px solid rgba(8,63,120,.08);
}

.cert-links.multi a:hover{
    color:#fff;
    background:var(--cert-orange);
}

.cert-cta{
    padding:0 0 80px;
}

.cert-cta-box{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    padding:44px;
    border-radius:30px;
    color:#fff;
    background:
        radial-gradient(circle at top right, rgba(255,122,61,.24), transparent 30%),
        linear-gradient(135deg,#083f78,#0a5598);
    box-shadow:0 26px 68px rgba(8,63,120,.20);
}

.cert-cta-box span{
    display:inline-block;
    margin-bottom:10px;
    color:#ffb089;
    font-size:var(--fs-xs);
    font-weight:var(--fw-semibold);
    letter-spacing:2px;
    text-transform:uppercase;
}

.cert-cta-box h2{
    margin:0;
    color:#fff;
    font-size:var(--fs-3xl);
    font-weight:var(--fw-bold);
    line-height:1.18;
    letter-spacing:-.035em;
}

.cert-cta-box p{
    max-width:650px;
    margin:12px 0 0;
    color:rgba(255,255,255,.78);
    font-size:var(--fs-base);
    line-height:var(--lh-relaxed);
}

.cert-cta-box a{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:14px 22px;
    border-radius:999px;
    color:var(--cert-blue);
    background:#fff;
    text-decoration:none;
    font-size:var(--fs-sm);
    font-weight:var(--fw-semibold);
    transition:.28s ease;
}

.cert-cta-box a:hover{
    transform:translateY(-4px);
    color:#fff;
    background:var(--cert-orange);
}

@media(max-width:1100px){
    .cert-grid{
        grid-template-columns:1fr;
    }

    .cert-card.full{
        grid-column:auto;
    }

    .cert-cta-box{
        flex-direction:column;
        align-items:flex-start;
    }
}

@media(max-width:700px){
    .cert-container{
        width:min(100% - 28px,1180px);
    }

    .cert-hero{
        padding:95px 0 50px;
    }

    .cert-section{
        padding-bottom:60px;
    }

    .cert-card,
    .cert-card.large,
    .cert-card.full{
        grid-template-columns:1fr;
        align-items:flex-start;
        padding:24px;
        border-radius:24px;
    }

    .cert-visual{
        width:100%;
        height:170px;
    }

    .cert-card > a{
        width:100%;
    }

    .cert-links{
        width:100%;
    }

    .cert-links a{
        flex:1 1 auto;
    }

    .cert-cta{
        padding-bottom:60px;
    }

    .cert-cta-box{
        padding:28px;
        border-radius:24px;
    }

    .cert-cta-box h2{
        font-size:var(--fs-2xl);
    }
}