/* Type and motion enhancements for the public site. */
body{
    font-family:'DM Sans',Arial,sans-serif
}
h1,h2,h3,.brand{
    font-family:'Space Grotesk','DM Sans',Arial,sans-serif
}
.nav-toggle,.nav-cta,.button,.text-link,.service-card a,.work-card a{
    font-family:'DM Sans',Arial,sans-serif
}
/* Keep the above-the-fold content visible at first paint so it remains eligible
   for Largest Contentful Paint measurement. */
.site-header{
    animation:header-drop .45s both
}
.button,.nav-cta{
    transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease
}
.button:hover,.nav-cta:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 20px rgba(11,29,39,.18)
}
.button:active,.nav-cta:active{
    transform:translateY(0);
    box-shadow:none
}
.button-lime:hover{
    background:#e2f47a
}
.text-link{
    transition:color .2s ease,transform .2s ease
}
.text-link:hover{
    color:var(--teal);
    transform:translateX(3px)
}
.service-card{
    transition:background-color .28s ease,color .28s ease,transform .28s ease,box-shadow .28s ease
}
.service-card:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 28px rgba(17,41,53,.11)
}
.work-card{
    transition:transform .25s ease
}
.work-card:hover{
    transform:translateY(-4px)
}
.work-card:hover .work-visual{
    transform:none;
    box-shadow:0 16px 25px rgba(17,41,53,.15)
}
.work-card .work-visual{
    transition:box-shadow .25s ease
}
.site-footer a{
    transition:color .2s ease
}
.site-footer a:hover{
    color:var(--lime)
}
.page-hero>*{
    animation:hero-rise .6s both
}
.page-hero .eyebrow{
    animation-delay:.05s
}
.page-hero h1{
    animation-delay:.12s
}
.page-hero .lede{
    animation-delay:.2s
}
.reveal{
    opacity:0;
    transform:translateY(24px);
    transition:opacity .65s ease,transform .65s ease
}
.reveal.is-visible{
    opacity:1;
    transform:translateY(0)
}
.service-card:nth-child(2),.work-card:nth-child(2){
    transition-delay:.07s
}
.service-card:nth-child(3),.work-card:nth-child(3){
    transition-delay:.14s
}
.service-card:nth-child(4){
    transition-delay:.21s
}
@keyframes hero-rise{
    from{
        opacity:0;
        transform:translateY(20px)
    }
    to{
        opacity:1;
        transform:translateY(0)
    }
}
@keyframes media-reveal{
    from{
        opacity:0;
        transform:translateX(26px)
    }
    to{
        opacity:1;
        transform:translateX(0)
    }
}
@keyframes header-drop{
    from{
        opacity:0;
        transform:translateY(-9px)
    }
    to{
        opacity:1;
        transform:translateY(0)
    }
}
@media(max-width:620px){
    .service-card:hover,.work-card:hover{
        transform:none
    }
    .hero-media,.hero-media *{
        animation:none!important
    }
}
@media(prefers-reduced-motion:reduce){
    *,*:before,*:after{
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        scroll-behavior:auto!important;
        transition-duration:.01ms!important
    }
    .reveal{
        opacity:1;
        transform:none
    }
}
