
/* Contact redesign: editorial, line-based layout without card-heavy UI. */
body.light-theme #contact.contact{
    padding-top:clamp(4.75rem,7vw,7.25rem)!important;
    padding-bottom:clamp(2.75rem,4.5vw,4.75rem)!important;
}
body.light-theme #contact .contact-v2{
    display:grid;
    grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);
    gap:clamp(3rem,7vw,7.5rem);
    align-items:end;
    padding-bottom:clamp(2.5rem,4vw,4rem);
    border-bottom:1px solid var(--line);
}
body.light-theme #contact .contact-v2-intro{
    min-width:0;
}
body.light-theme #contact .contact-v2-intro .section-kicker{
    margin:0 0 clamp(1.35rem,2vw,2rem)!important;
}
body.light-theme #contact .contact-v2 h2{
    max-width:970px;
    margin:0!important;
    color:var(--text)!important;
    font-size:clamp(3.2rem,5.2vw,6.25rem)!important;
    font-weight:500!important;
    line-height:.98!important;
    letter-spacing:-.062em!important;
    text-wrap:balance;
}
body.light-theme #contact .contact-v2 h2 span{
    display:block;
}
body.light-theme #contact .contact-v2 h2 span+span{
    margin-top:.09em;
}
body.light-theme #contact .contact-v2-copy{
    max-width:760px;
    margin:clamp(1.5rem,2.4vw,2.2rem) 0 0;
    color:var(--muted);
    font-size:clamp(1rem,1.2vw,1.16rem);
    line-height:1.7;
}
body.light-theme #contact .contact-v2-direct{
    min-width:0;
    border-top:1px solid var(--line-strong);
}
body.light-theme #contact .contact-v2-direct-label{
    margin:0;
    padding:0 0 .85rem;
    color:var(--quiet);
    font-size:.69rem;
    font-weight:650;
    letter-spacing:.11em;
    text-transform:uppercase;
}
body.light-theme #contact .contact-v2-link{
    display:grid;
    grid-template-columns:minmax(76px,105px) minmax(0,1fr) 1.2rem;
    gap:1rem;
    align-items:center;
    min-height:86px;
    padding:1.1rem 0;
    border:0;
    border-bottom:1px solid var(--line);
    border-radius:0!important;
    background:transparent!important;
    color:var(--text)!important;
    text-decoration:none;
    box-shadow:none!important;
    transition:color .2s ease, padding-left .25s ease, border-color .2s ease;
}
body.light-theme #contact .contact-v2-link-label{
    color:var(--quiet);
    font-size:.73rem;
    font-weight:650;
    letter-spacing:.08em;
    text-transform:uppercase;
}
body.light-theme #contact .contact-v2-link strong{
    min-width:0;
    overflow-wrap:anywhere;
    color:inherit;
    font-size:clamp(1.05rem,1.35vw,1.35rem);
    font-weight:650;
    letter-spacing:-.025em;
}
body.light-theme #contact .contact-v2-link-arrow{
    color:var(--quiet);
    font-size:1.15rem;
    transition:transform .22s ease,color .22s ease;
}
body.light-theme #contact .contact-v2-link:hover,
body.light-theme #contact .contact-v2-link:focus-visible{
    padding-left:.45rem;
    color:#285cc4!important;
    border-color:rgba(40,92,196,.42);
}
body.light-theme #contact .contact-v2-link:hover .contact-v2-link-arrow,
body.light-theme #contact .contact-v2-link:focus-visible .contact-v2-link-arrow{
    color:#285cc4;
    transform:translate(.16rem,-.16rem);
}
body.light-theme #contact .contact-v2-brief{
    display:grid;
    grid-template-columns:minmax(190px,.78fr) repeat(3,minmax(0,1fr));
    margin-top:clamp(1.6rem,2.8vw,2.5rem);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}
body.light-theme #contact .contact-v2-brief-intro,
body.light-theme #contact .contact-v2-step{
    min-width:0;
    padding:clamp(1.25rem,2vw,1.8rem) clamp(1.05rem,2vw,1.65rem);
}
body.light-theme #contact .contact-v2-brief-intro{
    padding-left:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
body.light-theme #contact .contact-v2-brief-intro span{
    color:var(--quiet);
    font-size:.72rem;
    line-height:1.45;
    letter-spacing:.08em;
    text-transform:uppercase;
}
body.light-theme #contact .contact-v2-brief-intro strong{
    margin-top:.2rem;
    color:var(--text);
    font-size:clamp(1.45rem,2.1vw,2.15rem);
    font-weight:550;
    letter-spacing:-.045em;
}
body.light-theme #contact .contact-v2-step{
    border-left:1px solid var(--line);
}
body.light-theme #contact .contact-v2-step>span{
    display:block;
    margin-bottom:.95rem;
    color:#285cc4;
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.11em;
}
body.light-theme #contact .contact-v2-step strong{
    display:block;
    color:var(--text);
    font-size:1rem;
    font-weight:650;
    letter-spacing:-.02em;
}
body.light-theme #contact .contact-v2-step p{
    margin:.38rem 0 0;
    color:var(--muted);
    font-size:.82rem;
    line-height:1.55;
}
body.light-theme #contact .client-collaborations{
    margin-top:clamp(2.6rem,5vw,4.75rem)!important;
}

/* Long company labels remain legible in the film carousel. */
body.light-theme .reel-caption small{
    max-width:100%;
    white-space:normal;
    line-height:1.45;
}

@media (max-width:980px){
    body.light-theme #contact .contact-v2{
        grid-template-columns:1fr;
        gap:2.4rem;
        align-items:start;
    }
    body.light-theme #contact .contact-v2-direct{
        width:100%;
    }
    body.light-theme #contact .contact-v2-brief{
        grid-template-columns:1fr 1fr;
    }
    body.light-theme #contact .contact-v2-brief-intro{
        grid-column:1/-1;
        padding-left:0;
        border-bottom:1px solid var(--line);
    }
    body.light-theme #contact .contact-v2-step:nth-child(3){
        border-left:1px solid var(--line);
    }
    body.light-theme #contact .contact-v2-step:nth-child(4){
        grid-column:1/-1;
        border-left:0;
        border-top:1px solid var(--line);
    }
}
@media (max-width:620px){
    body.light-theme #contact.contact{
        padding-top:3.75rem!important;
        padding-bottom:2.5rem!important;
    }
    body.light-theme #contact .contact-v2{
        gap:2rem;
        padding-bottom:2.15rem;
    }
    body.light-theme #contact .contact-v2 h2{
        font-size:clamp(2.55rem,12vw,4rem)!important;
        line-height:1.01!important;
        letter-spacing:-.055em!important;
    }
    body.light-theme #contact .contact-v2-copy{
        margin-top:1.25rem;
        font-size:.96rem;
        line-height:1.65;
    }
    body.light-theme #contact .contact-v2-link{
        grid-template-columns:70px minmax(0,1fr) 1rem;
        gap:.65rem;
        min-height:74px;
        padding:.9rem 0;
    }
    body.light-theme #contact .contact-v2-link strong{
        font-size:.96rem;
    }
    body.light-theme #contact .contact-v2-brief{
        grid-template-columns:1fr;
        margin-top:1.4rem;
    }
    body.light-theme #contact .contact-v2-brief-intro{
        grid-column:auto;
        padding:1.1rem 0 1.2rem;
    }
    body.light-theme #contact .contact-v2-step,
    body.light-theme #contact .contact-v2-step:nth-child(3),
    body.light-theme #contact .contact-v2-step:nth-child(4){
        grid-column:auto;
        border-left:0;
        border-top:1px solid var(--line);
        padding:1.15rem 0;
    }
    body.light-theme #contact .contact-v2-step:first-of-type{
        border-top:0;
    }
}
