:root{color-scheme:light;--theme-page:#fff;--theme-panel:#fff;--theme-hover:#eaf3fd;--theme-solid:#0463bd}
.theme-toggle{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid transparent;border-radius:50%;color:var(--color-muted)}
.theme-toggle:hover{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-line)}
.theme-toggle svg{width:24px;height:24px;grid-area:1/1}
.theme-toggle .theme-moon{display:none}
html[data-theme=dark]{color-scheme:dark;--theme-page:#0d1620;--theme-panel:#15212e;--theme-hover:#20364b;--color-ink:#f2f4f7;--color-body:#c4cdd7;--color-muted:#a4b1bf;--color-brand:#63b2ff;--color-surface:#192633;--color-line:#394857;--color-peach:#412d23;--color-orange:#ff883d}
html[data-theme=dark] body{background:var(--theme-page)}
html[data-theme=dark] .theme-toggle .theme-sun{display:none}
html[data-theme=dark] .theme-toggle .theme-moon{display:block}
html[data-theme=dark] .site-header{background:var(--theme-page)}
html[data-theme=dark] :is(.dropdown-panel,.wp-nav-list .sub-menu,.booking-grid,.booking-details,.info-dialog,.benefit-card,.process-card,.pricing-card,.contact-form){background:var(--theme-panel)}
html[data-theme=dark] :is(.process-card:nth-child(2n),.number-card,.contact-icon){background:var(--color-surface)}
html[data-theme=dark] .service-detail{--service-grey:var(--color-surface)}
html[data-theme=dark] :is(.booking-details input,.booking-details textarea,select option){background:var(--theme-page);color:var(--color-ink)}
html[data-theme=dark] :is(.booking-grid,.calendar-days button,.time-slots button,.contact-form,.booking-details input,.booking-details textarea,.number-card,.blog-filters button,.blog-filters a,.article-share>a,.article-share>button){border-color:var(--color-line)}
html[data-theme=dark] :is(.pricing-card .plan-description,.pricing-card li){color:var(--color-body)}
html[data-theme=dark] :is(.card-index,.service-detail-number){color:var(--color-muted)}
html[data-theme=dark] :is(.process-card,.service-row,.journal-row,.number-card,.reason-row,.blog-row,.benefit-card,.case-list-row):hover,
html[data-theme=dark] :is(.principles li:hover,.journal-row:hover .journal-arrow,.contact-methods>div:hover .contact-icon,.header-call:hover,.blog-filters button:hover,.article-share>:is(a,button):hover){background:var(--theme-hover)}
html[data-theme=dark] .calendar-days button:disabled{color:#778696;border-color:#283645}
html[data-theme=dark] :is(.calendar-days,.time-slots) button:not(:disabled):hover{background:var(--theme-hover);color:var(--color-brand)}
html[data-theme=dark] .booking :is(.calendar-days,.time-slots) button[aria-pressed=true]{background:var(--theme-solid);color:#fff;border-color:var(--color-brand)}
html[data-theme=dark] :is(.button-blue,.quote-card:nth-child(2),.popular,.capabilities>div:nth-child(4),.social-icon,.skip-link){background:var(--theme-solid);color:#fff}
html[data-theme=dark] .button-blue:hover{background:#084e90}
html[data-theme=dark] :is(.button-dark,.button-outline:hover,.blog-filters button[aria-pressed=true],.blog-filters a[aria-current],.page-numbers .current,.theme-comments input[type=submit]){background:var(--color-ink);color:var(--theme-page)}
html[data-theme=dark] .button-dark:hover{background:#c4e2ff}
html[data-theme=dark] .button-white{background:#fff;color:#1d1d1b}
html[data-theme=dark] .button-white:hover{background:#ffd8be}
html[data-theme=dark] .form-result{background:var(--theme-hover);color:var(--color-ink)}
html[data-theme=dark] .section-muted .text-orange{color:var(--color-orange)}
html[data-theme=dark] .discount{color:#ffd8be;border-color:#ffd8be}
html[data-theme=dark] :is(.client-track img,.contact-logos img){filter:grayscale(1) brightness(0) invert(1);mix-blend-mode:normal;opacity:.75}
html[data-theme=dark] :is(.text-link,.scroll-cue,.journal-arrow,.blog-arrow,.article-share,.contact-icon,.calendar-heading) .icon{filter:brightness(0) invert(1)}
html[data-theme=dark] .button-dark .icon,html[data-theme=dark] .button-outline:hover .icon{filter:brightness(0)}
html[data-theme=dark] .button-outline:not(:hover) .icon{filter:brightness(0) invert(1)}
@media print{html[data-theme=dark]{color-scheme:light;--theme-page:#fff;--theme-panel:#fff;--color-ink:#1d1d1b;--color-body:#3d3d3d;--color-muted:#54545b;--color-brand:#0463bd;--color-surface:#f5f5f5;--color-line:#e0e0e0}.theme-toggle{display:none}}

/* About uses the same transparent SVG artwork as the homepage. */
.company-values .process-art>img{width:96px;height:96px;mix-blend-mode:normal;filter:none}
@media(max-width:639px){.company-values .process-art>img{width:64px;height:64px}}

html[data-theme=dark] .primary-navigation{background:transparent}
@media(max-width:959px){html[data-theme=dark] .primary-navigation{background:var(--theme-panel)}}

/* Each logo rolls through a clipped frame; the link keeps its focus outline. */
.logo-roll{position:relative;display:block;overflow:hidden;line-height:0}
.footer-wordmark .logo-roll{width:100%}
.logo-roll img{display:block;transition:transform .5s var(--ease-premium);transform:translateY(0)}
.logo-roll .logo-roll-copy{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:translateY(-105%)}
a:focus-visible .logo-roll img{transform:translateY(105%)}
a:focus-visible .logo-roll .logo-roll-copy{transform:translateY(0)}
@media(hover:hover) and (pointer:fine){
a:hover .logo-roll img{transform:translateY(105%)}
a:hover .logo-roll .logo-roll-copy{transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){.logo-roll .logo-roll-copy{display:none}.logo-roll img{transition:none;transform:none!important}}
/* A non-blocking branded indicator, hidden by default if JavaScript is off. */
.site-loader {
    position: fixed;
    z-index: 90;
    top: 24px;
    left: 50%;
    transform: translate(-50%,-12px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 16px;
    height: 100%;
    width: 100%;
    padding: 22px 24px;
    background: var(--theme-panel);
    border: 1px solid var(--color-line);
    box-shadow: 0 12px 40px #0002;
    pointer-events: none;
     opacity: 0; 
     visibility: hidden; 
    transition: opacity .2s,transform .2s,visibility .2s;
}
.site-loading .site-loader{opacity:1;visibility:visible;transform:translate(-50%,0);animation:loader-safety 0s 2s forwards}
.site-loader-mark{display:flex;width:48px;height:48px}
.site-loader-mark span{width:24px;height:48px;background:#0463bd;border-radius:5px 28px 28px 5px;animation:loader-breathe .85s ease-in-out infinite alternate}
.site-loader-mark span+span{background:#f76502;border-radius:28px 5px 5px 28px;animation-delay:.2s}
.site-loader-track{width:80px;height:2px;background:var(--color-line);overflow:hidden}
.site-loader-track span{display:block;width:40%;height:100%;background:var(--color-brand);animation:loader-slide 1s ease-in-out infinite}
@keyframes loader-breathe{to{transform:scaleY(.7)}}
@keyframes loader-slide{from{transform:translateX(-100%)}to{transform:translateX(350%)}}
@keyframes loader-safety{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){
:is(.site-header .brand,.site-header .custom-logo-link,.footer-top .brand,.footer-wordmark) img{transition:none;transform:none!important}
.site-loader{transition:none}.site-loader-mark span,.site-loader-track span{animation:none}
}
@media print{.site-loader{display:none}}
