/* Shared appearance: light is the default, including on devices in dark mode. */
:root{
    color-scheme:only light;
    --site-bg:#f8f7f2;
    --site-text:#262720;
    --site-muted:#66675d;
    --site-surface:#f0eee6;
    --site-border:#d9d9ce;
    --site-control:#ecebe2;
    --site-accent:#ff8c2f
}
html[data-theme="dark"]{
    color-scheme:dark;
    --site-bg:#171914;
    --site-text:#f3f1e8;
    --site-muted:#b7bcaf;
    --site-surface:#24271f;
    --site-border:#414638;
    --site-control:#34392d
}
html,body{background:var(--site-bg)}
.h2-logo-link{position:relative;display:inline-flex;align-items:center}
.h2-logo-link img{display:block;max-width:100%;height:auto}
.h2-header .h2-brand{width:317px;min-width:0}
.h2-header .h2-brand img{width:100%;height:auto}
.h2-page .h2-footer{padding-block-start:44px}
.h2-footer .h2-logo-link{width:180px;max-width:100%;flex-shrink:0}
.h2-footer .h2-logo-link img{width:100%;max-width:100%}
.h2-page .h2-theme-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    width:44px;
    height:44px;
    padding:10px;
    border:0;
    border-radius:50%;
    background:transparent;
    color:inherit;
    cursor:pointer
}
.h2-page .h2-theme-toggle[hidden]{display:none}
.h2-page .h2-theme-toggle:hover{background:var(--site-control)}
.h2-page .h2-theme-toggle:focus-visible{outline:2px solid var(--site-accent);outline-offset:3px}
.h2-theme-toggle svg{display:block;width:24px;height:24px;flex-shrink:0}
.h2-theme-moon{transform:translate(12px,-12px);transition:transform .25s ease}
.h2-theme-rays{
    transform-origin:12px 12px;
    transition:opacity .2s ease,transform .25s ease
}
html[data-theme="dark"] .h2-theme-moon{transform:translate(0,0)}
html[data-theme="dark"] .h2-theme-rays{
    opacity:0;
    transform:rotate(45deg) scale(.6)
}

/* Keep the brand ink distinct from the text color on dark page surfaces. */
html[data-theme="dark"] .h2-page{
    --h2-paper:var(--site-bg);
    --h2-muted:var(--site-muted);
    background:var(--site-bg);
    color:var(--site-text)
}
html[data-theme="dark"]{scrollbar-color:#737c67 var(--site-bg)}
html[data-theme="dark"]::-webkit-scrollbar-track{background:var(--site-bg)}
html[data-theme="dark"] .h2-site-header{background:var(--site-bg);border-color:var(--site-border)}
html[data-theme="dark"] .h2-language a+a::before{color:var(--site-muted)}
html[data-theme="dark"] .h2-nav>a:hover::after,
html[data-theme="dark"] .h2-nav>a[aria-current="page"]::after{background:var(--site-accent)}
html[data-theme="dark"] .h2-page a:focus-visible,
html[data-theme="dark"] .h2-page button:focus-visible{outline-color:var(--site-accent)}
html[data-theme="dark"] .h2-skip{background:var(--site-surface);color:var(--site-text)}

/* Orange sections retain their original palette, artwork and dark typography. */
html[data-theme="dark"] .h2-hero,
html[data-theme="dark"] .h2-contact,
html[data-theme="dark"] .pf-hero,
html[data-theme="dark"] .ct-hero{
    color-scheme:only light;
    background:#ff8c2f;
    color:#262720
}
html[data-theme="dark"] .h2-hero .h2-button-dark{background:#262720;color:#f8f7f2}
html[data-theme="dark"] .h2-hero .h2-button-dark:hover{background:#414236}
html[data-theme="dark"] .h2-hero a:focus-visible,
html[data-theme="dark"] .h2-contact a:focus-visible{outline-color:#414dd3}

/* The existing logo silhouette keeps its orange word and gains light lettering. */
html[data-theme="dark"] .h2-logo-link img{filter:brightness(0) invert(1)}
@supports ((mask-image:url("")) or (-webkit-mask-image:url(""))){
    html[data-theme="dark"] .h2-logo-link img{visibility:hidden}
    html[data-theme="dark"] .h2-logo-link::after{
        content:"";
        position:absolute;
        inset:0;
        background:linear-gradient(to right,#ff8c2f 15.2%,#f3f1e8 15.2%);
        -webkit-mask:url("../images/logo-2020.png") center/contain no-repeat;
        mask:url("../images/logo-2020.png") center/contain no-repeat;
        pointer-events:none
    }
}

html[data-theme="dark"] .h2-proof,
html[data-theme="dark"] .h2-proof>div,
html[data-theme="dark"] .h2-service,
html[data-theme="dark"] .ct-detail-row,
html[data-theme="dark"] .ct-portfolio{border-color:var(--site-border)}
html[data-theme="dark"] .h2-proof>p strong,
html[data-theme="dark"] .h2-page .h2-security-copy h2,
html[data-theme="dark"] .h2-page .ct-detail-row .ct-location{color:var(--site-text)}
html[data-theme="dark"] .h2-proof strong>span,
html[data-theme="dark"] .h2-service li::before{color:#ffac6b}
html[data-theme="dark"] .h2-service-top svg{background:var(--site-surface);stroke:var(--site-text)}
html[data-theme="dark"] .h2-service:hover .h2-service-top svg{stroke:var(--site-accent)}
html[data-theme="dark"] .h2-service:nth-child(2) .h2-service-top svg{background:#302b3a}
html[data-theme="dark"] .h2-brand-pattern{opacity:.35}
html[data-theme="dark"] .h2-security-band{background:#292a22;border-color:var(--site-border)}
html[data-theme="dark"] .h2-security-features,
html[data-theme="dark"] .h2-security-features li{border-color:var(--site-border)}
html[data-theme="dark"] .h2-security-features svg{stroke:#ffac6b}
html[data-theme="dark"] .h2-security-icon{color:#262720}
html[data-theme="dark"] .h2-approach,
html[data-theme="dark"] .pf-capabilities,
html[data-theme="dark"] .ct-brief{color:var(--site-text)}

html[data-theme="dark"] .h2-case{background:var(--site-surface);border-color:var(--site-border)}
html[data-theme="dark"] .h2-case-featured{background:#242d25;border-color:#3c493d}
html[data-theme="dark"] .h2-case-liteboard{background:var(--site-surface);border-color:var(--site-border)}
html[data-theme="dark"] .h2-case-media-medical,
html[data-theme="dark"] .pf-tone-web,
html[data-theme="dark"] .pf-project:nth-child(3n+2) .pf-tone-web{background:#27372e}
html[data-theme="dark"] .h2-case-media-signature,
html[data-theme="dark"] .pf-tone-crypto{background:#312c39}
html[data-theme="dark"] .h2-case-media-clinic,
html[data-theme="dark"] .pf-tone-mobile{background:#303727}
html[data-theme="dark"] .pf-tone-campaigns{background:#3b3024}
html[data-theme="dark"] .h2-page .h2-case-category,
html[data-theme="dark"] .h2-page .pf-description{color:var(--site-muted)}
html[data-theme="dark"] .h2-case-cta>span{border-color:#69715c}
html[data-theme="dark"] .h2-case:hover .h2-case-cta>span,
html[data-theme="dark"] .h2-case:focus-visible .h2-case-cta>span{color:#262720}
html[data-theme="dark"] .pf-filters button{border-color:var(--site-border)}
html[data-theme="dark"] .pf-filters button:hover{background:var(--site-control)}
html[data-theme="dark"] .pf-filters button[aria-pressed="true"]{background:#ff8c2f;border-color:#ff8c2f;color:#262720}
html[data-theme="dark"] .pf-zoom{background:#24271fee;border-color:var(--site-border);color:var(--site-text)}
html[data-theme="dark"] .pf-media:hover .pf-zoom,
html[data-theme="dark"] .pf-media:focus-visible .pf-zoom{background:#ff8c2f;color:#262720}
html[data-theme="dark"] .pf-lightbox{background:var(--site-bg);color:var(--site-text)}
html[data-theme="dark"] .pf-lightbox-bar,
html[data-theme="dark"] .pf-lightbox-close{border-color:var(--site-border)}
html[data-theme="dark"] .pf-lightbox-close:hover{background:var(--site-control)}
html[data-theme="dark"] .h2-page .pf-lightbox-description{color:var(--site-muted)}
html[data-theme="dark"] .pf-lightbox-stage{background:var(--site-surface)}
html[data-theme="dark"] .ct-icon{background:var(--site-surface)}
html[data-theme="dark"] .ct-icon-location{background:#302b3a}

html[data-theme="dark"] .gdpr-dialog,
html[data-theme="dark"] .gdpr-page{color:var(--site-text)}
html[data-theme="dark"] .gdpr-dialog{background:var(--site-bg);border-color:var(--site-border)}
html[data-theme="dark"] .gdpr-category{border-color:var(--site-border)}
html[data-theme="dark"] .gdpr-category p,
html[data-theme="dark"] .gdpr-page-link{color:var(--site-muted)}
html[data-theme="dark"] .gdpr-button{border-color:var(--site-border)}
html[data-theme="dark"] .gdpr-primary,
html[data-theme="dark"] .h2-page .gdpr-primary{background:#ff8c2f;border-color:#ff8c2f;color:#262720}
html[data-theme="dark"] .gdpr-secondary,
html[data-theme="dark"] .h2-page .gdpr-secondary{color:var(--site-text)}
html[data-theme="dark"] .gdpr-switch>span{background:#555e49}
html[data-theme="dark"] .gdpr-switch input:checked+span{background:#ff8c2f}
html[data-theme="dark"] .gdpr-switch input:focus-visible+span{outline-color:#ff8c2f}
html[data-theme="dark"] .gdpr-feedback{color:#ffb098}
.lwa-root{color-scheme:only light}

/* The theme toggle lives inside the mobile/tablet navigation. */
@media(min-width:801px) and (max-width:1000px){
    .h2-header .h2-brand{max-width:240px}
    .h2-header .h2-brand img{width:100%;height:auto}
    .h2-page .h2-header{column-gap:16px}
    .h2-header .h2-nav{gap:18px}
}
@media(max-width:800px){
    .h2-page .h2-header{flex-wrap:wrap;column-gap:8px}
    .h2-header .h2-brand{order:0;width:45%;margin-right:auto}
    .h2-header .h2-brand img{width:100%;height:auto}
    .h2-header .h2-language{order:1}
    .h2-header .h2-menu-toggle{order:2}
    .h2-enhanced .h2-header .h2-menu-toggle{display:flex;align-items:center;gap:8px;border:0;padding:9px 0 9px 10px;background:none;font-size:12px}
    .h2-header .h2-menu-toggle span{font-size:20px}
    .h2-header .h2-nav{order:3;width:100%;flex-wrap:wrap;justify-content:space-between;margin:10px 0 0;padding-top:15px;border-top:1px solid var(--site-border);gap:10px}
    .h2-enhanced .h2-header .h2-nav:not(.h2-open){display:none}
}
@media(prefers-reduced-motion:reduce){.h2-theme-moon,.h2-theme-rays{transition:none}}
