/* =========================================================
   KUANTUM SERVIS v0.18.0 — DIRECT LIVE FINAL PASS
   - Project index rebuilt
   - Home hero vertical rhythm tightened
   - Dark-block labels made legible
   - Approved V2 content is force-applied to live pages once
========================================================= */

/* --- Home hero: reduce the empty upper image area, keep a tiny gap from header. --- */
body.home .ks-banner,
body.blog .ks-banner,
body.ks-v2-page .ks-banner{
    margin-top:8px!important;
    margin-bottom:24px!important;
}
body.home .ks-banner__inner,
body.blog .ks-banner__inner,
body.ks-v2-page .ks-banner__inner{
    padding-top:0!important;
    min-height:540px!important;
}
body.home .ks-banner__content,
body.blog .ks-banner__content,
body.ks-v2-page .ks-banner__content{
    transform:translateY(-34px);
}
body.home .ks-banner .ks-eyebrow--light,
body.blog .ks-banner .ks-eyebrow--light,
body.ks-v2-page .ks-banner .ks-eyebrow--light{
    color:#8edcff!important;
    opacity:1!important;
    text-shadow:0 0 22px rgba(142,220,255,.18)!important;
}

/* --- Fix dark blue text on dark quick cards. --- */
.ks-contact-modern__quick-card--accent strong,
.ks-contact-modern__quick-card--accent strong:visited,
.ks-contact-modern__quick-card--accent strong:hover{
    color:#fff!important;
}
.ks-contact-modern__quick-card--accent small{
    color:#8edcff!important;
}
.ks-contact-modern__quick-card--accent span{
    color:rgba(255,255,255,.80)!important;
}

/* --- Project index: editorial, image-led, no legacy Avia layout. --- */
.ks-project-index{
    padding:66px 0 82px!important;
    background:linear-gradient(180deg,#fff 0%,#f6f9fc 100%)!important;
}
.ks-project-index__intro{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);
    gap:64px;
    align-items:end;
    margin-bottom:30px;
}
.ks-project-index__intro h2{
    max-width:820px;
    font-size:clamp(36px,3.5vw,54px)!important;
    line-height:1.02!important;
    letter-spacing:-1.4px!important;
}
.ks-project-index__intro>p{
    margin:0 0 4px!important;
    color:#5c7283!important;
    font-size:14px!important;
    line-height:1.78!important;
}
.ks-project-featured{
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
    min-height:440px;
    overflow:hidden;
    border:1px solid #dce7ef;
    border-radius:28px;
    background:#fff;
    box-shadow:0 22px 62px rgba(5,48,90,.085);
    text-decoration:none!important;
    transition:transform .2s ease,box-shadow .2s ease;
}
.ks-project-featured:hover{
    transform:translateY(-3px);
    box-shadow:0 30px 72px rgba(5,48,90,.12);
}
.ks-project-featured__media{
    min-height:440px;
    overflow:hidden;
    background:#eaf1f6;
}
.ks-project-featured__media img{
    width:100%;height:100%;min-height:440px;display:block;object-fit:cover;
    transition:transform .45s ease;
}
.ks-project-featured:hover .ks-project-featured__media img{transform:scale(1.025)}
.ks-project-featured__body{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:48px 44px;
    background:
        radial-gradient(circle at 100% 0%,rgba(91,199,255,.12),transparent 38%),
        #fff;
}
.ks-project-featured__body small,
.ks-project-index__body small{
    color:#0d74d8!important;
    font-size:9px!important;
    font-style:normal!important;
    font-weight:900!important;
    letter-spacing:1.8px!important;
}
.ks-project-featured__body strong{
    margin-top:15px;
    color:#073665!important;
    font-size:clamp(28px,2.6vw,42px)!important;
    line-height:1.08!important;
    letter-spacing:-.8px!important;
}
.ks-project-featured__body em,
.ks-project-index__body em{
    margin-top:16px;
    color:#647b8c!important;
    font-size:13px!important;
    line-height:1.72!important;
    font-style:normal!important;
}
.ks-project-featured__body b,
.ks-project-index__body b{
    margin-top:28px;
    display:inline-flex;
    align-items:center;
    gap:14px;
    color:#073665!important;
    font-size:11px!important;
    font-weight:900!important;
}
.ks-project-featured__body b i,
.ks-project-index__body b i{font-style:normal;color:#0d74d8!important}

.ks-project-index__head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
    margin:62px 0 22px;
}
.ks-project-index__head h3{
    margin:6px 0 0!important;
    color:#073665!important;
    font-size:clamp(28px,2.5vw,40px)!important;
    line-height:1.08!important;
}
.ks-project-index__head>span{
    padding:8px 12px;
    border:1px solid #dce7ef;
    border-radius:999px;
    background:#fff;
    color:#6c8292;
    font-size:10px;
}
.ks-project-index__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.ks-project-index__card{
    overflow:hidden;
    border:1px solid #dce7ef;
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 34px rgba(5,48,90,.05);
    text-decoration:none!important;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.ks-project-index__card:hover{
    transform:translateY(-3px);
    border-color:#bfd5e4;
    box-shadow:0 20px 46px rgba(5,48,90,.09);
}
.ks-project-index__image{
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#eaf1f6;
}
.ks-project-index__image img{
    width:100%;height:100%;display:block;object-fit:cover;
    transition:transform .4s ease;
}
.ks-project-index__card:hover .ks-project-index__image img{transform:scale(1.03)}
.ks-project-index__body{
    min-height:220px;
    padding:22px 22px 20px;
    display:flex;
    flex-direction:column;
}
.ks-project-index__body strong{
    margin-top:10px;
    color:#073665!important;
    font-size:19px!important;
    line-height:1.28!important;
}
.ks-project-index__body em{margin-top:11px;font-size:12px!important}
.ks-project-index__body b{margin-top:auto;padding-top:22px}

@media(max-width:1050px){
    .ks-project-featured{grid-template-columns:1fr 1fr}
    .ks-project-index__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
    body.home .ks-banner,
    body.blog .ks-banner,
    body.ks-v2-page .ks-banner{margin-top:6px!important;margin-bottom:18px!important}
    body.home .ks-banner__inner,
    body.blog .ks-banner__inner,
    body.ks-v2-page .ks-banner__inner{min-height:0!important;padding-top:0!important}
    body.home .ks-banner__content,
    body.blog .ks-banner__content,
    body.ks-v2-page .ks-banner__content{transform:none}
    .ks-project-index{padding:44px 0 56px!important}
    .ks-project-index__intro{grid-template-columns:1fr;gap:14px;margin-bottom:20px}
    .ks-project-index__intro h2{font-size:34px!important}
    .ks-project-featured{grid-template-columns:1fr;min-height:0;border-radius:20px}
    .ks-project-featured__media,.ks-project-featured__media img{min-height:260px;height:260px}
    .ks-project-featured__body{padding:28px 24px}
    .ks-project-index__head{margin-top:42px;align-items:flex-start;flex-direction:column}
    .ks-project-index__grid{grid-template-columns:1fr}
    .ks-project-index__body{min-height:190px}
}
