/* =========================================================
   TECNICHKOS CMS V2 PUBLIC COMPONENTS
========================================================= */

.v2-managed-section {
    border-top:1px solid #e0e5ea;
}

.v2-project-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-top:38px;
}

.v2-project-card {
    overflow:hidden;
    border:1px solid #dde2e8;
    border-radius:18px;
    background:white;
    transition:.25s;
}

.v2-project-card:hover {
    transform:translateY(-5px);
    box-shadow:0 22px 55px rgba(7,17,31,.10);
}

.v2-project-image {
    aspect-ratio:16/10;
    overflow:hidden;
    background:#e9edf1;
}

.v2-project-image img {
    width:100%;
    height:100%;
    object-fit:cover;
}

.v2-placeholder {
    width:100%;
    height:100%;
    background:
        linear-gradient(
            135deg,
            #172a40,
            #07111f
        );
}

.v2-project-copy {
    padding:23px;
}

.v2-project-copy > span {
    color:#ff6900;
    font-size:10px;
    font-weight:900;
    letter-spacing:.12em;
}

.v2-project-copy h3 {
    margin:9px 0;
    font-size:23px;
    line-height:1.18;
}

.v2-project-copy p {
    color:#637083;
}

.v2-project-copy strong {
    color:#ff6900;
    font-size:12px;
}

.v2-service-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:38px;
}

.v2-service-card {
    min-height:350px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:27px;
    border-radius:18px;
    overflow:hidden;
    background:
        linear-gradient(
            135deg,
            #16283e,
            #07111f
        );
    background-size:cover;
    background-position:center;
    color:white;
    box-shadow:0 20px 50px rgba(7,17,31,.08);
}

.v2-service-card > span {
    color:#ff8a39;
    font-size:10px;
    font-weight:900;
    letter-spacing:.13em;
}

.v2-service-card h3 {
    margin:9px 0;
    font-size:26px;
}

.v2-service-card p {
    color:#d0d7df;
}

.v2-service-card strong {
    color:#ff8a39;
    font-size:12px;
}

.v2-testimonials {
    background:#f4f6f8;
}

.v2-testimonial-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:17px;
    margin-top:40px;
}

.v2-testimonial {
    margin:0;
    padding:28px;
    background:white;
    border-radius:16px;
    border:1px solid #e0e5ea;
}

.v2-testimonial > p {
    margin-top:0;
    font-size:18px;
    line-height:1.6;
}

.v2-testimonial footer {
    display:grid;
    margin-top:25px;
}

.v2-testimonial footer span {
    color:#697587;
    font-size:12px;
}

.v2-faq-list {
    max-width:900px;
    margin-top:35px;
}

.v2-faq {
    border-bottom:1px solid #dde2e8;
}

.v2-faq summary {
    padding:20px 0;
    cursor:pointer;
    font-size:17px;
    font-weight:800;
}

.v2-faq p {
    padding:0 0 20px;
    color:#637083;
}

.v2-detail-hero {
    padding:130px 0 90px;
    background:
        radial-gradient(
            circle at 80% 12%,
            rgba(255,105,0,.10),
            transparent 28%
        ),
        #f4f6f8;
}

.v2-detail-hero h1 {
    max-width:950px;
    margin:0;
    font-size:clamp(48px,7vw,88px);
    line-height:.97;
    letter-spacing:-.055em;
}

.v2-detail-hero p {
    max-width:800px;
    font-size:20px;
    color:#637083;
}

.v2-meta {
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:24px;
}

.v2-meta span {
    padding:8px 12px;
    border-radius:100px;
    background:white;
    border:1px solid #dce2e8;
    font-size:12px;
    font-weight:750;
}

.v2-detail-image {
    width:min(1180px,calc(100% - 44px));
    margin:55px auto 0;
    overflow:hidden;
    border-radius:24px;
    box-shadow:0 28px 70px rgba(7,17,31,.12);
}

.v2-detail-image img {
    width:100%;
    max-height:680px;
    object-fit:cover;
}

.v2-detail-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.v2-detail-grid article {
    padding:26px;
    border:1px solid #dde2e8;
    border-radius:16px;
}

.v2-detail-grid h2 {
    font-size:26px;
}

.v2-detail-grid p,
.v2-copy p {
    color:#637083;
}

.v2-copy {
    max-width:850px;
}

.v2-copy p {
    font-size:19px;
    line-height:1.8;
}

@media(max-width:900px) {

    .v2-project-grid,
    .v2-service-grid,
    .v2-testimonial-grid,
    .v2-detail-grid {
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:600px) {

    .v2-project-grid,
    .v2-service-grid,
    .v2-testimonial-grid,
    .v2-detail-grid {
        grid-template-columns:1fr;
    }

    .v2-detail-hero {
        padding:95px 0 65px;
    }

    .v2-detail-hero h1 {
        font-size:45px;
    }

    .v2-detail-image {
        width:calc(100% - 28px);
        margin-top:30px;
        border-radius:15px;
    }

    .v2-service-card {
        min-height:300px;
    }
}
