/* ====== Page-specific styles ====== */
#desktop-hero {
    /* https://images.pexels.com/photos/577585/pexels-photo-577585.jpeg */
    background: linear-gradient(0deg, rgba(0,16,80,0.75), rgba(0,16,80,0.75)),
                url('../../assets/pexels-photo-577585.jpeg') center/cover no-repeat;
    color: #DEEDF1;
    min-height: 60vh;
    display: flex;
    align-items: center;
}
#desktop-hero h1 {
    font: normal normal 600 60px/72px Lexend;
    font-size: 3rem;
    margin: 0;
    color: #DEEDF1;
}
#desktop-main {
    background: #EAF9FF;
    padding: 4rem 0 5rem;
}
.section-head {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.section-head h2 {
    margin: 0;
    font: normal normal 500 60px/56px Lexend;
    font-size: 2.25rem;
    color: var(--brand-light-blue);
    white-space: nowrap;
}
.section-head .line {
    flex: 1;
    height: 3px;
    background: var(--brand-light-blue);
}
.card-soft {
    background: var(--card-bg);
    border-radius: .4rem;
    padding: 1.25rem 1.25rem;
    box-shadow: 0 4px 12px var(--card-shadow);
    height: 100%;
}
.cap-icon {
    width: 40px; height: 40px; border-radius: 50%;
    background: #f6fbff; border: 1px solid #bfe0ff;
    display: inline-flex; align-items: center; justify-content: center;
    color: #082B6D;
}
.cap-title {
    font: normal normal 700 14px/20px Muli; color:#082B6D;
}
.cap-text {
    font: normal normal 400 14px/22px Muli; color:#1A1A1A;
}
.step { display: flex; gap: .85rem; align-items: flex-start; }
.step-num {
    min-width: 28px; height: 28px; border-radius: 50%;
    background: #082B6D; color:#fff; display:flex; align-items:center; justify-content:center;
    font: normal normal 700 14px/20px Muli;
    box-shadow: 1px 1px 0 0 #03A0E5;
    margin-top: .1rem;
}
.badge-tech {
    border: 1px solid #bfe0ff; background: #f6fbff; border-radius: 999px;
    padding: .35rem .7rem; margin: .25rem; display: inline-block;
    font: normal normal 500 13px/18px Lexend; color:#082B6D;
}
.mini-case h6 { font: normal normal 700 14px/20px Muli; color:#082B6D; }
.mini-case p { font: normal normal 400 14px/22px Muli; color:#1A1A1A; }
.btn-cta {
    background: transparent linear-gradient(90deg, #23C5FF 0%, #0133D0 100%) 0% 0% no-repeat padding-box;
    border: none; color:#fff; font-weight:600; padding:.6rem 2.0rem; border-radius:0;
    font: normal normal 500 16px/20px Lexend;
}
@media (max-width: 767.98px) {
    #desktop-hero { min-height: 50vh; }
    #desktop-hero h1 { font-size: 2rem; line-height: 1.2; }
    .section-head h2 { font-size: 1.6rem; }
}