
.ctco02-component,
.ctco02-component *{box-sizing:border-box}

.ctco02-component{
    width:100%;
    overflow:hidden;
    color:var(--ctco02-title);
    font-family:Arial,Helvetica,sans-serif;
}

.ctco02-component img{
    display:block;
    width:100%;
}

.ctco02-shell{
    width:min(var(--ctco02-container),calc(100% - 60px));
    margin:0 auto;
}

.ctco02-reveal{
    opacity:0;
    transform:translateY(40px);
    transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1);
}

.ctco02-visible{
    opacity:1!important;
    transform:none!important;
}

.ctco02-delay-1{
    transition-delay:.12s;
}

.ctco02-kicker{
    display:inline-block;
    color:var(--ctco02-accent);
    font-size:12px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.ctco02-services{
    padding:var(--ctco02-pad) 0;
    background:linear-gradient(155deg,var(--ctco02-bg) 0%,#e8ebeb 100%);
}

.ctco02-section-head{
    display:grid;
    grid-template-columns:1fr .7fr;
    gap:100px;
    align-items:end;
    margin-bottom:55px;
}

.ctco02-section-head h2{
    margin:15px 0 0;
    color:var(--ctco02-title);
    font-size:var(--ctco02-title-size);
    line-height:1.15;
    font-weight:600;
    letter-spacing:-.035em;
}

.ctco02-section-head>p{
    margin:0;
    color:var(--ctco02-text);
    font-size:calc(var(--ctco02-body) + 1px);
    line-height:1.75;
}

.ctco02-service-list{
    border-top:1px solid #cfd3d1;
}

.ctco02-service-row{
    display:grid;
    grid-template-columns:70px 1fr 40px;
    gap:20px;
    align-items:center;
    min-height:var(--ctco02-row-h);
    padding:23px 7px;
    border-bottom:1px solid #cfd3d1;
    transition:padding .35s ease,background .35s ease,transform .35s ease;
}

.ctco02-service-row:hover{
    padding-left:23px;
    padding-right:23px;
    background:#fff;
    transform:translateY(-2px);
}

.ctco02-service-row__number{
    color:#697579;
    font-size:12px;
}

.ctco02-service-row h3{
    margin:0 0 7px;
    color:var(--ctco02-title);
    font-size:var(--ctco02-service-title);
    font-weight:500;
}

.ctco02-service-row p{
    margin:0;
    color:var(--ctco02-text);
    font-size:var(--ctco02-body);
    line-height:1.6;
}

.ctco02-service-row__arrow{
    color:var(--ctco02-accent);
    font-size:22px;
    transition:transform .3s ease;
}

.ctco02-service-row:hover .ctco02-service-row__arrow{
    transform:translate(4px,-4px);
}

.ctco02-photo-band{
    position:relative;
    min-height:var(--ctco02-band-h);
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    background:linear-gradient(135deg,#09263d,#061724);
}

.ctco02-photo-band__image{
    position:absolute;
    inset:0;
}

.ctco02-photo-band__image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 1.3s ease;
}

.ctco02-photo-band:hover .ctco02-photo-band__image img{
    transform:scale(1.04);
}

.ctco02-photo-band__shade{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(3,15,24,.10) 10%,rgba(6,24,39,.88) 100%);
}

.ctco02-photo-band.has-photo .ctco02-photo-band__shade{
    background:linear-gradient(180deg,rgba(3,15,24,.10) 10%,rgba(3,15,24,.82) 100%);
}

.ctco02-photo-band__copy{
    position:relative;
    z-index:3;
    padding-bottom:70px;
}

.ctco02-photo-band__copy>span{
    color:rgba(255,255,255,.72);
    font-size:12px;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.ctco02-photo-band__copy h2{
    margin:15px 0 0;
    color:#fff;
    font-size:var(--ctco02-band-title);
    line-height:1;
    font-weight:500;
    letter-spacing:-.045em;
}

@media(max-width:767px){
    .ctco02-shell{
        width:min(var(--ctco02-container),calc(100% - 30px));
    }

    .ctco02-services{
        padding:75px 0;
    }

    .ctco02-section-head{
        grid-template-columns:1fr;
        gap:22px;
    }

    .ctco02-section-head h2{
        font-size:clamp(30px,9vw,var(--ctco02-title-size));
    }

    .ctco02-service-row{
        grid-template-columns:42px 1fr 25px;
    }

    .ctco02-photo-band{
        min-height:min(500px,var(--ctco02-band-h));
    }

    .ctco02-photo-band__copy h2{
        font-size:clamp(40px,12vw,var(--ctco02-band-title));
    }
}

@media(prefers-reduced-motion:reduce){
    .ctco02-reveal{
        opacity:1!important;
        transform:none!important;
        transition:none!important;
    }

    .ctco02-photo-band__image img,
    .ctco02-service-row{
        transition:none!important;
    }
}
