:root{
    --md-purple:#6f328e;
    --md-purple-dark:#2a1434;
    --md-purple-soft:#f7f1fa;
    --md-purple-line:rgba(111,50,142,.16);
    --md-ink:#171018;
    --md-muted:#625966;
}

body{background:#fff!important}

.approach-copy h2,
.process-copy h2,
.process-steps h3,
.section-head h2{
    color:var(--md-purple-dark)!important;
}

.approach-list li:before,
.approach-showcase .button span,
.process-copy>.eyebrow:before{
    background:var(--md-purple)!important;
    color:#fff!important;
}

.approach-list{border-color:var(--md-purple-line)!important}
.approach-list li{border-color:var(--md-purple-line)!important;color:var(--md-ink)!important}
.approach-showcase .button,
.button,
.header-contact{
    border-color:rgba(111,50,142,.32)!important;
}

.approach-showcase .button:hover span,
.button:hover span,
.header-contact:hover span{
    transform:translate(2px,-2px);
}

.process-steps article,
.blog-list-card,
.about-values>div,
.project-hero-copy,
.product-card-site,
.archive-card,
.article-card{
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease, background-color .35s ease, color .35s ease;
}

.process-steps article:hover,
.blog-list-card:hover,
.about-values>div:hover{
    transform:translateY(-4px);
    border-color:rgba(111,50,142,.28)!important;
    box-shadow:0 18px 46px rgba(42,20,52,.08);
}

.approach-list li{
    transition:padding-left .28s ease, color .28s ease, background-color .28s ease;
}

.approach-list li:hover{
    padding-left:38px!important;
    color:var(--md-purple-dark)!important;
    background:linear-gradient(90deg,rgba(111,50,142,.055),transparent 70%);
}

.approach-media img,
.process-media img,
.project-card img,
.article-card img,
.archive-image img,
.product-main-image{
    transition:transform .55s ease, filter .55s ease, box-shadow .45s ease;
}

.approach-media:hover img,
.process-media:hover img{
    transform:scale(1.018);
    box-shadow:0 22px 58px rgba(42,20,52,.1);
}

.project-card:hover img,
.article-card:hover img,
.archive-card:hover .archive-image img{
    transform:scale(1.025);
    filter:saturate(1.02) contrast(1.02);
}

.project-card:hover h3,
.article-card:hover h3,
.archive-card:hover h2{
    color:var(--md-purple)!important;
}

.process-steps span{
    background:var(--md-purple-soft)!important;
    color:var(--md-purple-dark)!important;
    transition:background-color .3s ease, color .3s ease, transform .3s ease;
}

.process-steps article:hover span{
    background:var(--md-purple)!important;
    color:#fff!important;
    transform:scale(1.06);
}

.home-slider .slide,
.approach-showcase,
.process-block,
.services,
.projects,
.cta,
.journal,
.page-hero,
.detail>header{
    will-change:transform,opacity;
}

[data-reveal]{
    opacity:0;
    transform:translateY(22px);
    transition:opacity .7s ease, transform .7s ease;
}

[data-reveal].is-visible{
    opacity:1;
    transform:translateY(0);
}

[data-reveal="stagger"]>*{
    opacity:0;
    transform:translateY(16px);
    transition:opacity .55s ease, transform .55s ease;
}

[data-reveal="stagger"].is-visible>*{
    opacity:1;
    transform:translateY(0);
}

[data-reveal="stagger"].is-visible>*:nth-child(2){transition-delay:.06s}
[data-reveal="stagger"].is-visible>*:nth-child(3){transition-delay:.12s}
[data-reveal="stagger"].is-visible>*:nth-child(4){transition-delay:.18s}
[data-reveal="stagger"].is-visible>*:nth-child(5){transition-delay:.24s}
[data-reveal="stagger"].is-visible>*:nth-child(6){transition-delay:.3s}

.section-head .text-link,
.project-bottom-nav .text-link,
.blog-back .text-link{
    transition:color .25s ease, letter-spacing .25s ease;
}

.section-head .text-link:hover,
.project-bottom-nav .text-link:hover,
.blog-back .text-link:hover{
    color:var(--md-purple)!important;
    letter-spacing:.16em;
}

.button,
.header-contact{
    transition:background-color .28s ease, color .28s ease, border-color .28s ease, transform .28s ease;
}

.button:hover,
.header-contact:hover{
    transform:translateY(-2px);
}

@media (prefers-reduced-motion:reduce){
    *,
    *:before,
    *:after{
        animation-duration:.001ms!important;
        transition-duration:.001ms!important;
        scroll-behavior:auto!important;
    }
    [data-reveal],
    [data-reveal="stagger"]>*{
        opacity:1!important;
        transform:none!important;
    }
}
