/* The Present Pixel — Phase 1 site-wide polish */

/* Lenis smooth scroll */
html.lenis, html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}

/* Seamless homepage: one background tone, sections divided by space not colour */
body.home .entry-content .vc_row.vc_row-has-fill:not(.vc_parallax):not(.tpp-hero){background-color:transparent!important}

/* Testimonials: dark glass cards in brand colours (dark mode) */
body.dark-scheme .testimonial-box{background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.08);border-radius:20px;box-shadow:none!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:380px;transition:border-color .4s ease,background-color .4s ease}
body.dark-scheme .testimonial-box:hover{border-color:rgba(140,115,255,.45);background:rgba(66,0,255,.07)!important}
body.dark-scheme .testimonial-box,body.dark-scheme .testimonial-box p,body.dark-scheme .testimonial-box span,body.dark-scheme .testimonial-box div{font-family:'DM Sans',sans-serif!important}
body.dark-scheme .testimonial-box .testimonial-content,body.dark-scheme .testimonial-box .testimonial-content p{color:#CFCAD8!important}
body.dark-scheme .testimonial-box .testimonial-name,body.dark-scheme .testimonial-box .testimonial-name span{color:#F3F1F6!important;font-weight:600}
body.dark-scheme .testimonial-box .testimonial-title{color:#9A94A6!important}
.testimonial-box .testimonial-stars span{color:#8C73FF!important;letter-spacing:2px}

/* Split-line heading reveals */
.tpp-line{padding-bottom:.06em}

/* Magnetic buttons + arrow nudge */
.ohio-widget.button{will-change:transform}
.ohio-widget.button .icon{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.ohio-widget.button:hover .icon{transform:translateX(5px)}

@media (prefers-reduced-motion:reduce){
  .ohio-widget.button .icon{transition:none}
}

/* Services cards: CSS-drawn 3D artwork replaces the flat illustrations */
.tpp-art-card .image-holder picture{opacity:0}
.tpp-art{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 50% 110%,#2A1C55 0%,#141218 60%);pointer-events:none}
.tpp-art i{position:absolute;display:block}
.tpp-art .floor{left:50%;bottom:12%;width:66%;height:10%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(66,0,255,.45),rgba(66,0,255,0) 70%)}
.tpp-art .sph{border-radius:50%;background:radial-gradient(circle at 32% 28%,#EDE7FF 0%,#A28CFF 16%,#4200FF 52%,#1B0670 88%);box-shadow:0 30px 60px rgba(66,0,255,.45)}
.tpp-art .ring{border-radius:50%;border-style:solid;border-color:#A99BD8 #8D7FC4 #6E5FA8 #A99BD8}
.tpp-art .glass{border-radius:18px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(140,115,255,.06))}
/* 1 — the mark taking shape */
.tpp-art--1 .ring{left:27%;top:28%;width:46%;aspect-ratio:1/1;border-width:22px;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.tpp-art--1 .sph{left:39%;top:44%;width:30%;aspect-ratio:1/1;animation:tppBob 6s ease-in-out infinite}
/* 2 — layers of an interface */
.tpp-art--2 .g1{left:20%;top:24%;width:52%;height:34%;transform:rotate(-8deg);animation:tppDriftA 7s ease-in-out infinite}
.tpp-art--2 .g2{left:26%;top:33%;width:52%;height:34%;transform:rotate(-8deg);background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(140,115,255,.08));border-color:rgba(255,255,255,.26);animation:tppDriftA 7s ease-in-out .4s infinite}
.tpp-art--2 .g3{left:32%;top:42%;width:52%;height:34%;transform:rotate(-8deg);background:linear-gradient(135deg,rgba(190,175,255,.30),rgba(66,0,255,.18));border-color:rgba(255,255,255,.32);box-shadow:0 30px 60px rgba(66,0,255,.35);animation:tppDriftA 7s ease-in-out .8s infinite}
.tpp-art--2 .sph{left:66%;top:34%;width:14%;aspect-ratio:1/1;animation:tppBob 5s ease-in-out infinite}
/* 3 — reach, ripple, amplify */
.tpp-art--3 .r1,.tpp-art--3 .r2,.tpp-art--3 .r3,.tpp-art--3 .sph{left:50%;top:50%;aspect-ratio:1/1;border-radius:50%}
.tpp-art--3 .r1{width:82%;border:2px solid rgba(169,155,216,.25);transform:translate(-50%,-50%);animation:tppPulse 5s ease-in-out infinite}
.tpp-art--3 .r2{width:62%;border:6px solid rgba(169,155,216,.45);transform:translate(-50%,-50%);animation:tppPulse 5s ease-in-out .3s infinite}
.tpp-art--3 .r3{width:42%;border:12px solid #A99BD8;border-bottom-color:#6E5FA8;transform:translate(-50%,-50%);animation:tppPulse 5s ease-in-out .6s infinite}
.tpp-art--3 .sph{width:22%;transform:translate(-50%,-50%);box-shadow:0 0 60px rgba(66,0,255,.6)}
@keyframes tppBob{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes tppDriftA{0%,100%{translate:0 0}50%{translate:6px -8px}}
@keyframes tppPulse{0%,100%{scale:1}50%{scale:1.04}}
.tpp-art-card:hover .tpp-art{transform:scale(1.03);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.tpp-art{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.tpp-art-card .overlay-details{background:linear-gradient(180deg,rgba(17,16,19,.6) 0%,rgba(17,16,19,0) 32%,rgba(17,16,19,0) 62%,rgba(17,16,19,.8) 100%)!important}
@media (prefers-reduced-motion:reduce){.tpp-art i{animation:none!important}}

/* Capabilities: "pixel by pixel" artwork, tiles build a solid square */
.tpp-build-col .vc_empty_space{display:none}
body .vc_row.tpp-build-host{background-image:none!important;min-height:511px;position:relative;overflow:hidden}
.tpp-px{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.tpp-px .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:min(46%,300px);aspect-ratio:1/1;filter:drop-shadow(0 30px 50px rgba(66,0,255,.35))}
.tpp-px .grid b{display:block;border-radius:12px;background:linear-gradient(145deg,rgba(214,202,255,.34) 0%,rgba(140,115,255,.16) 45%,rgba(66,0,255,.22) 100%);border:1px solid rgba(255,255,255,.26);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -12px 24px rgba(66,0,255,.18),0 10px 24px rgba(20,8,60,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transform:translateY(-14px) scale(.9);animation:tppPx 8s cubic-bezier(.2,.8,.2,1) infinite}
.tpp-px .grid b.l{background:linear-gradient(145deg,rgba(217,208,245,.46) 0%,rgba(169,155,216,.30) 50%,rgba(110,95,168,.34) 100%)}
.tpp-px .grid b.d{background:linear-gradient(145deg,rgba(162,140,255,.40) 0%,rgba(66,0,255,.34) 55%,rgba(27,6,112,.48) 100%)}
.tpp-px .glow{position:absolute;left:20%;right:20%;bottom:12%;height:14%;border-radius:50%;background:radial-gradient(ellipse,rgba(66,0,255,.35),rgba(66,0,255,0) 70%)}
@keyframes tppPx{0%{opacity:0;transform:translateY(-14px) scale(.9)}8%{opacity:1;transform:none}82%{opacity:1;transform:none}92%,100%{opacity:0;transform:translateY(10px) scale(.95)}}
/* Capabilities tiles: soft drifting aura behind the glass, same feel as hero and CTA */
.tpp-px .grid{position:relative;z-index:1}
.tpp-px .aura{position:absolute;inset:0;pointer-events:none}
.tpp-px .aura i{position:absolute;display:block;border-radius:50%;filter:blur(60px);will-change:transform}
.tpp-px .aura .b1{width:300px;height:300px;left:calc(50% - 230px);top:calc(50% - 200px);background:radial-gradient(circle,rgba(66,0,255,.55),rgba(66,0,255,0) 68%);animation:tppAuraA 18s ease-in-out infinite alternate}
.tpp-px .aura .b2{width:240px;height:240px;left:calc(50% - 20px);top:calc(50% - 40px);background:radial-gradient(circle,rgba(180,90,255,.35),rgba(180,90,255,0) 68%);animation:tppAuraB 22s ease-in-out infinite alternate}
@keyframes tppAuraA{0%{transform:translate(0,0) scale(1)}50%{transform:translate(120px,60px) scale(1.15)}100%{transform:translate(40px,140px) scale(.95)}}
@keyframes tppAuraB{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-140px,-60px) scale(1.2)}100%{transform:translate(-60px,-140px) scale(1)}}
.tpp-px .grid b,.tpp-px .grid b.l,.tpp-px .grid b.d{border:0;-webkit-backdrop-filter:none;backdrop-filter:none;background-clip:padding-box;backface-visibility:hidden;box-shadow:inset 0 -14px 28px rgba(40,0,160,.25),0 12px 28px rgba(20,8,60,.4);background:linear-gradient(135deg,rgba(217,208,245,.85) 0%,rgba(162,140,255,.75) 25%,rgba(90,40,255,.85) 50%,rgba(66,0,255,.9) 75%,rgba(169,155,216,.8) 100%);background-size:400% 400%;animation-name:tppPx,tppTone;animation-duration:8s,18s;animation-timing-function:cubic-bezier(.2,.8,.2,1),ease-in-out;animation-iteration-count:infinite,infinite;animation-direction:normal,alternate}
@keyframes tppTone{0%{background-position:0% 0%}100%{background-position:100% 100%}}
@keyframes tppTone2{0%{background-position:100% 0%}50%{background-position:20% 80%}100%{background-position:0% 30%}}
@keyframes tppTone3{0%{background-position:30% 100%}50%{background-position:90% 40%}100%{background-position:10% 0%}}
/* Ghost traces: a soft blurred glow lingers where each tile was as it disappears */
.tpp-px .ghost{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:min(46%,300px);aspect-ratio:1/1;pointer-events:none}
.tpp-px .ghost i{display:block;border-radius:12px;background:radial-gradient(circle at 50% 50%,rgba(170,150,255,.55),rgba(110,70,255,.25) 60%,rgba(66,0,255,0) 100%);filter:blur(7px);opacity:0;animation:tppGhost 8s ease-out infinite}
@keyframes tppGhost{0%,83%{opacity:0;transform:scale(1)}88%{opacity:.55;transform:scale(1.04)}100%{opacity:0;transform:scale(1.12)}}
@media (prefers-reduced-motion:reduce){.tpp-px .grid b{animation:none!important;opacity:1;transform:none;background-position:50% 50%}.tpp-px .aura i{animation:none}.tpp-px .ghost{display:none}}

/* Team banner removed from the homepage (stats already appear in the hero) */
body.home .entry-content .vc_row.vc_parallax{display:none!important}

/* "Got a project?" becomes a floating CTA card before the footer */
body.dark-scheme .tpp-cta-row{padding-top:40px;padding-bottom:140px}
body.dark-scheme .tpp-cta{position:relative;overflow:hidden;isolation:isolate;border-radius:32px;padding:72px 64px!important;background:linear-gradient(135deg,#1A1426 0%,#141019 60%,#17121F 100%);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px rgba(66,0,255,.22),inset 0 1px 0 rgba(255,255,255,.12);transition:transform .8s cubic-bezier(.2,.8,.2,1),box-shadow .8s ease}
body.dark-scheme .tpp-cta:hover{transform:translateY(-6px);box-shadow:0 40px 100px rgba(66,0,255,.3),inset 0 1px 0 rgba(255,255,255,.14)}
.tpp-cta > *:not(.tpp-cta-fx){position:relative;z-index:1}
.tpp-cta-fx{position:absolute;inset:0;z-index:0;pointer-events:none}
.tpp-cta-fx .spot{position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,70%) var(--my,30%),rgba(190,170,255,.18),rgba(190,170,255,0) 60%)}
body.dark-scheme .tpp-cta .clb__section_spacer{display:none}
.tpp-cta-fx i{position:absolute;display:block;border-radius:50%;filter:blur(70px);will-change:transform}
.tpp-cta-fx .a1{width:60%;aspect-ratio:1/1;right:-12%;top:-55%;background:radial-gradient(circle,rgba(66,0,255,.85),rgba(66,0,255,0) 68%);animation:tppCtaA 12s ease-in-out infinite alternate}
.tpp-cta-fx .a2{width:45%;aspect-ratio:1/1;left:-10%;bottom:-70%;background:radial-gradient(circle,rgba(140,90,255,.55),rgba(140,90,255,0) 68%);animation:tppCtaB 10s ease-in-out infinite alternate}
.tpp-cta-fx .a3{width:35%;aspect-ratio:1/1;left:35%;top:-30%;background:radial-gradient(circle,rgba(200,70,255,.35),rgba(200,70,255,0) 68%);animation:tppCtaC 14s ease-in-out infinite alternate}
.tpp-cta-fx .spot{border-radius:0;filter:none}
@keyframes tppCtaA{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-30%,30%) scale(1.15)}100%{transform:translate(-55%,10%) scale(.95)}}
@keyframes tppCtaB{0%{transform:translate(0,0) scale(1)}50%{transform:translate(60%,-40%) scale(1.2)}100%{transform:translate(120%,-10%) scale(.9)}}
@keyframes tppCtaC{0%{transform:translate(0,0) scale(.9)}50%{transform:translate(-40%,60%) scale(1.25)}100%{transform:translate(50%,40%) scale(1)}}
.tpp-cta > .wpb_wrapper{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"h b" "t b";align-items:center;column-gap:48px;row-gap:12px}
.tpp-cta .vc_inner{display:contents}
.tpp-cta .vc_inner::before,.tpp-cta .vc_inner::after{display:none!important;content:none!important}
.tpp-cta .vc_separator,.tpp-cta-e{display:none!important}
.tpp-cta-h,.tpp-cta-b,.tpp-cta-t{float:none!important;width:auto!important}
.tpp-cta-h{grid-area:h}.tpp-cta-t{grid-area:t}.tpp-cta-b{grid-area:b;align-self:center}
.tpp-cta-b .ohio-widget-holder,.tpp-cta-b .wpb_wrapper{text-align:right}
.tpp-cta-t p:last-child{margin-bottom:0}
@media (max-width:767px){.tpp-cta > .wpb_wrapper{grid-template-columns:1fr;grid-template-areas:"h" "t" "b"}.tpp-cta-b .ohio-widget-holder,.tpp-cta-b .wpb_wrapper{text-align:left}}
@media (prefers-reduced-motion:reduce){.tpp-cta-fx i{animation:none!important}}

body.dark-scheme .tpp-cta h2.title{font-size:clamp(44px,5vw,76px);white-space:nowrap;letter-spacing:-2px}
body.dark-scheme .tpp-cta .ohio-widget.button{background:#F3F1F6!important;color:#111013!important;border-color:#F3F1F6!important}
body.dark-scheme .tpp-cta .ohio-widget.button svg,body.dark-scheme .tpp-cta .ohio-widget.button .icon{color:#111013;fill:currentColor}
body.dark-scheme .tpp-cta .vc_separator .vc_sep_line,body.dark-scheme .tpp-cta hr{border-color:rgba(255,255,255,.18)!important}
body.dark-scheme .tpp-cta p{color:#D9D4E4}
@media (max-width:767px){body.dark-scheme .tpp-cta{padding:44px 28px!important;border-radius:24px}body.dark-scheme .tpp-cta h2.title{white-space:normal}}
@media (prefers-reduced-motion:reduce){body.dark-scheme .tpp-cta:hover{transform:none}}
/* ===== TPP preloader (sitewide): pixel grid assembling, wordmark, live counter, wipe-up exit ===== */
/* The theme's page-load effect slid the whole page down 24px when loading finished; keep only its fade */
body.global-page-animation > #page{margin-top:0!important}
/* Restyle the theme's own preloader element */
#page-preloader.page-preloader{background:radial-gradient(ellipse 60% 45% at 50% 46%,rgba(66,0,255,.22),rgba(66,0,255,0) 70%),#0E0C12!important}
#page-preloader .spinner,#page-preloader .loader{display:none!important}
/* While our preloader runs, the theme's hide classes wait for our exit (only when our JS is active: .tpp-pl-on) */
#page-preloader.tpp-pl-on.hidden:not(.tpp-done){opacity:1!important;visibility:visible!important}
#page-preloader.tpp-pl-on.hide:not(.tpp-done){display:flex!important}
#page-preloader.tpp-pl-on{clip-path:inset(0 0 0 0);transition:clip-path .9s cubic-bezier(.76,0,.24,1),visibility 0s linear .9s!important}
#page-preloader.tpp-pl-on.tpp-done{clip-path:inset(0 0 100% 0);visibility:hidden!important;opacity:1!important;display:flex!important}
html.tpp-loading,html.tpp-loading body{overflow:hidden!important}
/* Centre (pure CSS, visible from the first frame): a 3x3 pixel grid whose tones drift, and the wordmark rising */
#page-preloader.page-preloader{flex-direction:column;gap:46px}
#page-preloader::before{content:"";width:14px;height:14px;border-radius:4px;background:#5A28FF;
  box-shadow:-19px -19px 0 #D9D0F5,0 -19px 0 #A28CFF,19px -19px 0 #7E5CFF,-19px 0 0 #A28CFF,19px 0 0 #4200FF,-19px 19px 0 #7E5CFF,0 19px 0 #4200FF,19px 19px 0 #A28CFF;
  filter:drop-shadow(0 10px 24px rgba(66,0,255,.5));animation:tppPlIn .6s cubic-bezier(.2,.8,.2,1) both,tppPlTones 2.4s ease-in-out .6s infinite alternate;transition:opacity .35s ease,transform .6s cubic-bezier(.76,0,.24,1)}
@keyframes tppPlIn{from{opacity:0;transform:scale(.6) rotate(-8deg)}to{opacity:1;transform:none}}
@keyframes tppPlTones{
  0%{background:#5A28FF;box-shadow:-19px -19px 0 #D9D0F5,0 -19px 0 #A28CFF,19px -19px 0 #7E5CFF,-19px 0 0 #A28CFF,19px 0 0 #4200FF,-19px 19px 0 #7E5CFF,0 19px 0 #4200FF,19px 19px 0 #A28CFF}
  50%{background:#A28CFF;box-shadow:-19px -19px 0 #5A28FF,0 -19px 0 #D9D0F5,19px -19px 0 #4200FF,-19px 0 0 #7E5CFF,19px 0 0 #A28CFF,-19px 19px 0 #4200FF,0 19px 0 #D9D0F5,19px 19px 0 #5A28FF}
  100%{background:#4200FF;box-shadow:-19px -19px 0 #A28CFF,0 -19px 0 #5A28FF,19px -19px 0 #D9D0F5,-19px 0 0 #4200FF,19px 0 0 #7E5CFF,-19px 19px 0 #D9D0F5,0 19px 0 #A28CFF,19px 19px 0 #7E5CFF}}
#page-preloader::after{content:"The Present Pixel";color:#F3F1F6;font-size:14px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;white-space:nowrap;animation:tppPlWord .9s cubic-bezier(.2,.8,.2,1) .2s both;transition:opacity .35s ease,transform .6s cubic-bezier(.76,0,.24,1)}
@keyframes tppPlWord{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* Bottom: label left, big counter right, hairline progress */
.tpp-pl-foot{animation:tppPlFade .5s ease both;position:absolute;left:clamp(16px,5vw,64px);right:clamp(16px,5vw,64px);bottom:clamp(24px,5vh,56px);display:flex;justify-content:space-between;align-items:flex-end;color:#7E7889;font-size:13px;letter-spacing:.08em;transition:opacity .35s ease}
.tpp-pl-count{color:#F3F1F6;font-size:clamp(56px,9vw,128px);font-weight:600;line-height:.8;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.tpp-pl-count sup{font-size:.28em;color:#9C88FF;letter-spacing:0;vertical-align:top;margin-left:4px}
.tpp-pl-bar{animation:tppPlFade .5s ease both;position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.06)}
.tpp-pl-bar i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#4200FF,#A28CFF)}
/* Exit: content lifts and fades just before the curtain wipes up */
@keyframes tppPlFade{from{opacity:0}to{opacity:1}}
#page-preloader.tpp-leaving::before,#page-preloader.tpp-leaving::after{animation:none;opacity:0;transform:translateY(-24px)}
#page-preloader.tpp-leaving .tpp-pl-foot{opacity:0}
@media (prefers-reduced-motion:reduce){#page-preloader::before,#page-preloader::after{animation:none}#page-preloader.tpp-pl-on{transition:opacity .3s ease,visibility 0s linear .3s!important}#page-preloader.tpp-pl-on.tpp-done{clip-path:none;opacity:0!important}}

/* TPP brand (head): navy page and preloader from the first paint, DM Sans */
body,body.dark-scheme,.dark-scheme .site-content,body .site-content{background-color:#1F2D55!important}
body #page-preloader.page-preloader:not(#tpp){background:radial-gradient(ellipse 60% 45% at 50% 46%,rgba(157,140,255,.30),rgba(157,140,255,0) 70%),radial-gradient(ellipse 40% 30% at 40% 60%,rgba(255,101,36,.14),rgba(255,101,36,0) 70%),#1F2D55!important}
body #page-preloader.page-preloader:not(#tpp)::before{filter:hue-rotate(128deg) saturate(1.15)}
body .tpp-pl-bar i{background:linear-gradient(100deg,#FF5A1F 0%,#FF8A5C 40%,#B9A9FF 100%)!important}
body .tpp-pl-count sup{color:#FF8A5C!important}

/* TPP brand (first paint copy) */
/* TPP theme refresh: Twilight navy, lavender gradient cloud, DM Sans, orange-to-lilac accent word, lilac gradient buttons */
:root,.dark-scheme{--clb-color-fill-dark-mode:#1F2D55!important;--tpp-ink:#1F2D55;--tpp-cream:#F4EEE6;--tpp-lilac:#B9A9FF;--tpp-orange:#FF6524}
body,body.dark-scheme,.dark-scheme .site-content{background-color:#1F2D55!important}
body,body p,body li,body input,body textarea,body button,body .button,body a,body span,body small,body label{font-family:"DM Sans",system-ui,sans-serif}
body h1,body h2,body h3,body h4,body h5,body h6,body .title{font-family:"DM Sans",system-ui,sans-serif!important}

/* headline: cream words, last word in an orange-to-lilac gradient, slightly looser tracking */
body.home h1.title{color:#F4EEE6!important;letter-spacing:-0.025em!important}
body.home h1.title .tpp-w > span{color:#F4EEE6!important}
body.home h1.title .tpp-w:last-of-type > span,.tpp-hl{background:linear-gradient(100deg,#FF5A1F 0%,#FF8A5C 40%,#B9A9FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;padding-right:.04em}

/* gradient cloud: lavender and periwinkle spread across the hero, warm orange low left */
html body .tpp-aura.tpp-aura > span.o1.o1{background:radial-gradient(circle,rgba(157,140,255,.62),rgba(157,140,255,0) 68%)!important}
html body .tpp-aura.tpp-aura > span.o2.o2{background:radial-gradient(circle,rgba(255,101,36,.30),rgba(255,101,36,0) 68%)!important}
html body .tpp-aura.tpp-aura > span.o3.o3{background:radial-gradient(circle,rgba(110,134,255,.48),rgba(110,134,255,0) 68%)!important}
html body .tpp-aura.tpp-aura > span.o4.o4{background:radial-gradient(circle,rgba(185,169,255,.40),rgba(185,169,255,0) 68%)!important}

/* buttons: lilac gradient, white text, white circle with a lilac arrow */
html body .header a.button.btn-optional,html body .menu-optional a.button.btn-optional,body a.button.btn-optional,body .ohio-widget.button.-primary,body .tpp-fc-btn,#mobile-menu > li.tpp-menu-cta > a,.hamburger-nav #secondary-menu > li.tpp-menu-cta > a{background:linear-gradient(120deg,#B9A9FF 0%,#8C78FF 55%,#7F6AFF 100%)!important;color:#FFFFFF!important;border:0!important;box-shadow:0 0 0 1px rgba(214,206,255,.75) inset,0 10px 32px rgba(157,140,255,.45)!important}
body a.button.btn-optional,body .ohio-widget.button.-primary{position:relative;border-radius:999px!important;padding:0 58px 0 22px!important;height:48px!important;display:inline-flex!important;align-items:center;font-weight:600!important}
body a.button.btn-optional::after,body .ohio-widget.button.-primary::after{content:"";position:absolute;right:6px;top:50%;width:36px;height:36px;margin-top:-18px;border-radius:50%;background:#FFFFFF url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2214%22 height=%2214%22 viewBox=%220 0 24 24%22 fill=%22none%22%3E%3Cpath d=%22M4 12h15M13 6l6 6-6 6%22 stroke=%22%237F6AFF%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") center/14px 14px no-repeat}
body .ohio-widget.button.-primary .icon{display:none!important}
#mobile-menu > li.tpp-menu-cta > a::after,.hamburger-nav #secondary-menu > li.tpp-menu-cta > a::after{background:#FFFFFF url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2216%22 height=%2216%22 viewBox=%220 0 16 16%22 fill=%22none%22%3E%3Cpath d=%22M3 8h10M9 4l4 4-4 4%22 stroke=%22%237F6AFF%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") center/16px 16px no-repeat!important}


/* header button: beat the theme rule that forces violet */
html body.dark-scheme.dark-scheme a.button.btn-optional.btn-optional.btn-optional.btn-optional.btn-optional.btn-optional.btn-optional.btn-optional.btn-optional{background:linear-gradient(120deg,#B9A9FF 0%,#8C78FF 55%,#7F6AFF 100%)!important;color:#FFFFFF!important}

/* dark panels become deeper navy so they sit in the new background */
body .site-content,body .clb__dark_mode_black,body .vc_row.clb__dark_mode_black{background-color:#1F2D55!important}
body .tpp-cap-panel,body .tpp-fcard,body .ohio-widget.banner.card{background-color:#18244A!important}
body .page-preloader{background-color:#1F2D55!important}
.menu-slide-in-overlay .tpp-mnav-fx{background:#1A2650!important}
.clb-popup.hamburger-nav{background-color:#1A2650!important}
@media (max-width:600px){body .header a.button.btn-optional{height:42px!important;padding:0 50px 0 18px!important;font-size:14px!important}body .header a.button.btn-optional::after{width:32px;height:32px;margin-top:-16px;right:5px}}

/* ========== New life: sunset (orange to lilac) across graphics, highlights and panels ========== */
.tpp-hl{background:linear-gradient(100deg,#FF5A1F 0%,#FF8A5C 40%,#B9A9FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;padding-right:.04em}

/* 3D graphics: sunset pearls, warm floors, tinted glass, lilac-to-orange rings */
body .tpp-art .sph,body .sc-def .sph,body .sc-des .sph,body .sc-lau .sph,body .tpp-art--3 .sph{background:radial-gradient(circle at 32% 28%,#FFF4EC 0%,#FFC2A3 13%,#FF6A2B 40%,#C58BC9 62%,#9D8CFF 78%,#2C2F7C 97%)!important;box-shadow:0 26px 60px rgba(255,101,36,.35),0 0 70px rgba(157,140,255,.35)!important}
body .sc-disc .hit{background:radial-gradient(circle at 32% 28%,#FFF4EC 0%,#FFC2A3 13%,#FF6A2B 40%,#C58BC9 62%,#9D8CFF 78%,#2C2F7C 97%)!important;box-shadow:0 0 18px rgba(255,120,70,.9)!important}
body .tpp-art .floor{background:radial-gradient(ellipse,rgba(255,120,70,.42),rgba(157,140,255,.16) 45%,rgba(157,140,255,0) 72%)!important}
body .tpp-art{background:radial-gradient(ellipse at 50% 112%,#3B3E8C 0%,#1B2654 58%,#162048 100%)!important}
body .tpp-proc-stage{background:radial-gradient(ellipse at 50% 112%,#3B3E8C 0%,#1B2654 58%,#162048 100%)!important}
body .tpp-proc-stage .tpp-art{background:transparent!important}
body .tpp-art .ring{border-color:#FFB08A #C9A2E6 #8C78FF #FFC7A8!important;box-shadow:0 30px 60px rgba(0,0,0,.35),0 0 60px rgba(255,120,70,.18)!important}
body .tpp-art--3 .r3{border-color:#FFB08A!important;border-bottom-color:#8C78FF!important;border-left-color:#C9A2E6!important}
body .tpp-art--3 .r2{border-color:rgba(255,160,120,.45)!important;border-bottom-color:rgba(157,140,255,.5)!important}
body .tpp-art--3 .r1{border-color:rgba(185,169,255,.3)!important}
body .tpp-art .glass{background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,140,90,.08) 50%,rgba(157,140,255,.12))!important}
body .tpp-art--2 .g3{background:linear-gradient(135deg,rgba(255,170,130,.38),rgba(157,140,255,.26))!important;box-shadow:0 30px 60px rgba(255,101,36,.25)!important}
body .sc-disc .lens{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.22),rgba(255,140,90,.10) 60%,rgba(157,140,255,.20))!important;box-shadow:0 0 40px rgba(255,120,70,.35)!important}
body .sc-disc .lens i{background:linear-gradient(90deg,rgba(255,255,255,.6),rgba(255,138,92,.45))!important}
body .sc-lau .pad{box-shadow:0 0 50px rgba(255,101,36,.30)!important}

/* stat highlight card: a small sunset mesh */
body .tpp-stats > .wpb_column:first-child > .vc_column-inner{background:radial-gradient(120% 130% at 0% 0%,#FF6A2B 0%,rgba(255,106,43,0) 58%),radial-gradient(120% 130% at 100% 100%,#8C78FF 0%,rgba(140,120,255,0) 62%),#C58BC9!important;border-color:rgba(255,255,255,.22)!important;box-shadow:0 24px 60px rgba(255,101,36,.25)}

/* panels: violet glows become the new cloud mesh */
body .tpp-cap-panel{background:radial-gradient(60% 70% at 100% 0%,rgba(157,140,255,.50),rgba(157,140,255,0) 70%),radial-gradient(45% 55% at 0% 100%,rgba(255,101,36,.30),rgba(255,101,36,0) 70%),radial-gradient(40% 45% at 62% 55%,rgba(110,134,255,.22),rgba(110,134,255,0) 70%),radial-gradient(30% 35% at 20% 10%,rgba(255,138,92,.14),rgba(255,138,92,0) 70%),#18244A!important}
body .tpp-fcard{background:radial-gradient(60% 70% at 100% 0%,rgba(157,140,255,.50),rgba(157,140,255,0) 70%),radial-gradient(45% 55% at 0% 100%,rgba(255,101,36,.30),rgba(255,101,36,0) 70%),radial-gradient(40% 45% at 62% 55%,rgba(110,134,255,.22),rgba(110,134,255,0) 70%),radial-gradient(30% 35% at 20% 10%,rgba(255,138,92,.14),rgba(255,138,92,0) 70%),#18244A!important}
body.dark-scheme .tpp-cta{background:radial-gradient(60% 70% at 100% 0%,rgba(157,140,255,.50),rgba(157,140,255,0) 70%),radial-gradient(45% 55% at 0% 100%,rgba(255,101,36,.30),rgba(255,101,36,0) 70%),radial-gradient(40% 45% at 62% 55%,rgba(110,134,255,.22),rgba(110,134,255,0) 70%),radial-gradient(30% 35% at 20% 10%,rgba(255,138,92,.14),rgba(255,138,92,0) 70%),#18244A!important}

/* eyebrows, numbers, stars and small accents turn warm */
html body .entry-content .vc_row:not(.tpp-hero) .ohio-widget.heading .subtitle.subtitle,html body .entry-content .tpp-cap-panel .ohio-widget.heading .subtitle.subtitle,body .tpp-proc-head .eb,body .tpp-cap-card .n{color:#FF8A5C!important}
body .testimonial-box .testimonial-stars span,body .tpp-wall-card .stars{color:#FF8A5C!important}
body .tpp-avail i{background:#FF6524!important;box-shadow:0 0 12px rgba(255,101,36,.9)!important}
body .tpp-avail i::after{border-color:rgba(255,101,36,.7)!important}
body .tpp-mail::after{background:linear-gradient(100deg,#FF5A1F 0%,#FF8A5C 40%,#B9A9FF 100%)!important}
body .tpp-pill em{color:#B9A9FF!important}
body .tpp-fc-btn span{background:#FFFFFF!important;color:#7F6AFF!important}

/* process: sunset rail, glowing active step */
body .tpp-proc-steps .rail i{background:linear-gradient(180deg,#FF5A1F,#FF8A5C 40%,#B9A9FF)!important;box-shadow:0 0 14px rgba(255,120,70,.8)!important}
body .tpp-proc-step.on{border-color:rgba(255,160,120,.40)!important;background:linear-gradient(135deg,rgba(255,101,36,.10),rgba(157,140,255,.10))!important}
body .tpp-proc-step.on .dot,body .tpp-proc-step.done .dot{background:linear-gradient(135deg,#FF6524,#B9A9FF)!important;border-color:transparent!important;color:#FFFFFF!important}
body .tpp-proc-step.on .dot{box-shadow:0 0 0 8px rgba(255,120,70,.18),0 10px 30px rgba(255,101,36,.45)!important}
body .tpp-proc-step .chips span{border-color:rgba(185,169,255,.35)!important;background:rgba(185,169,255,.10)!important;color:#DCD3FF!important}

/* show more projects */
body.home .portfolio-projects .lazy-load.load-more .button.-pagination::after{background:linear-gradient(100deg,#FF5A1F 0%,#FF8A5C 40%,#B9A9FF 100%)!important;color:#FFFFFF!important}
body.home .portfolio-projects .lazy-load.load-more .button.-pagination:hover{background:linear-gradient(120deg,#B9A9FF,#8C78FF)!important;border-color:transparent!important;box-shadow:0 22px 50px rgba(157,140,255,.45)!important}

/* footer wordmark: sunset light moving through the letters */
body .tpp-wordmark span{background-image:radial-gradient(circle at var(--mx,-40%) var(--my,50%),rgba(255,236,224,.8),rgba(255,236,224,0) 20%),radial-gradient(ellipse 34% 90% at 25% 60%,rgba(255,101,36,.95),rgba(255,101,36,0) 72%),radial-gradient(ellipse 34% 90% at 75% 40%,rgba(185,169,255,.95),rgba(185,169,255,0) 72%),linear-gradient(180deg,#34406E 0%,#1E2A52 100%)!important}

/* hover glows on cards */
body.dark-scheme .testimonial-box:hover,body .tpp-wall-card:hover{border-color:rgba(255,160,120,.40)!important;background:rgba(185,169,255,.06)!important}

/* cursor, selection and project hover in the new colours */
body .circle-cursor-outer{border-color:#B9A9FF!important}
body .circle-cursor-inner{background-color:#FF6524!important}
::selection{background:#FF8A5C;color:#1F2D55}
body.home .portfolio-projects .portfolio-item-wrap .portfolio-item{transition:box-shadow .5s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
body.home .portfolio-projects .portfolio-item-wrap:hover .portfolio-item{box-shadow:0 0 0 1px rgba(255,170,130,.55),0 24px 60px rgba(255,101,36,.22),0 0 80px rgba(157,140,255,.22)}

/* ========== Sitewide: every page in the new theme ========== */
/* page headlines: cream with the last word in the sunset gradient */
html body h1,html body h1 .tpp-w > span,html body h1.title{color:#F4EEE6!important}
html body h1 .tpp-w:last-of-type > span{background:linear-gradient(100deg,#FF5A1F 0%,#FF8A5C 40%,#B9A9FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;padding-right:.04em}

/* cards that used the old near-black fill */
body .tpp-sv-card,body .tpp-ss-plan,body .tpp-feat,body .tpp-post,body .tpp-story,body .tpp-pj-meta > div,body .tpp-ss-who .card,body .tpp-ss-adds .card,body .tpp-ss-steps .card,body .tpp-ab-member,body a.tpp-next,body .widget_ohio_widget_about_author{background-color:#22305C!important}
body .tpp-ss-plan.feat,body .tpp-ss-plan.pop,body .tpp-ss-plan[class*=hl]{background:radial-gradient(70% 90% at 100% 0%,rgba(157,140,255,.38),rgba(157,140,255,0) 70%),radial-gradient(60% 80% at 0% 100%,rgba(255,101,36,.20),rgba(255,101,36,0) 70%),#22305C!important}

/* highlight cards: small sunset mesh */
body .tpp-bento.v,body .tpp-ts-stats .v,body .tpp-bk-bento .stat.v{background:radial-gradient(120% 130% at 0% 0%,#FF6A2B 0%,rgba(255,106,43,0) 58%),radial-gradient(120% 130% at 100% 100%,#8C78FF 0%,rgba(140,120,255,0) 62%),#C58BC9!important;border-color:rgba(255,255,255,.22)!important}

/* panels: cloud mesh */
body .tpp-ab-panel,body .tpp-bk-panel{background:radial-gradient(60% 70% at 100% 0%,rgba(157,140,255,.50),rgba(157,140,255,0) 70%),radial-gradient(45% 55% at 0% 100%,rgba(255,101,36,.30),rgba(255,101,36,0) 70%),radial-gradient(40% 45% at 62% 55%,rgba(110,134,255,.22),rgba(110,134,255,0) 70%),radial-gradient(30% 35% at 20% 10%,rgba(255,138,92,.14),rgba(255,138,92,0) 70%),#18244A!important}
body .tpp-bk-inner,body .entry-content > .tpp,body .tpp-pj-meta .task{background:radial-gradient(70% 90% at 100% 0%,rgba(157,140,255,.38),rgba(157,140,255,0) 70%),radial-gradient(60% 80% at 0% 100%,rgba(255,101,36,.20),rgba(255,101,36,0) 70%),#22305C!important;border-color:rgba(185,169,255,.30)!important}
.clb-popup.hamburger-nav{background:radial-gradient(60% 70% at 100% 0%,rgba(157,140,255,.50),rgba(157,140,255,0) 70%),radial-gradient(45% 55% at 0% 100%,rgba(255,101,36,.30),rgba(255,101,36,0) 70%),radial-gradient(40% 45% at 62% 55%,rgba(110,134,255,.22),rgba(110,134,255,0) 70%),radial-gradient(30% 35% at 20% 10%,rgba(255,138,92,.14),rgba(255,138,92,0) 70%),#1A2650!important}

/* eyebrows and small labels turn warm */
body .tpp-eyebrow,body .tpp-eyebrow2,body .txt .lbl,body .txt .n,body .tpp-ss-plan .tier,body .accordion-header .q,body .tpp-pj-meta small,body .details .site,body .tpp-bento.val em,body .card.aud em,body .tpp-bk-copy em,body .tpp-pl-count sup,body .tpp-bk-copy .txt{color:#FF8A5C!important}
html body .hamburger-nav .menu li.current-menu-item > a,html body .hamburger-nav .menu li.current-menu-item > a span,html body .mega-menu-item.current-menu-item > a span{color:#FF8A5C!important}

/* chips and pills in the new lilac */
body .tpp-chip,body .tpp-tags span,body .category-holder a.category,body .tpp-bk-pill,body .accordion-button .icon-button,body .go i,body .tpp-go i{background:rgba(185,169,255,.12)!important;border-color:rgba(185,169,255,.36)!important;color:#E4DDFF!important}
body .tpp-bk-pill i{background:#FF6524!important;box-shadow:0 0 12px rgba(255,101,36,.9)!important}

/* buttons and controls */
body .tpp-filter button.on,body button.tpp-btn,body a.tpp-btn{background:linear-gradient(120deg,#B9A9FF 0%,#8C78FF 55%,#7F6AFF 100%)!important;border-color:transparent!important;color:#FFFFFF!important;box-shadow:0 10px 30px rgba(157,140,255,.40)!important}
body .tpp-vid .play,body a.tpp-next .go i,body .num > b,body b.num{background:linear-gradient(100deg,#FF5A1F 0%,#FF8A5C 40%,#B9A9FF 100%)!important;box-shadow:0 0 0 8px rgba(255,120,70,.16),0 12px 30px rgba(255,101,36,.40)!important;color:#FFFFFF!important}
body .txt .arw{color:#FF8A5C!important}
body .icon-button::before{background-color:#8C78FF!important}
body .tpp-progress{background:linear-gradient(100deg,#FF5A1F 0%,#FF8A5C 40%,#B9A9FF 100%)!important;box-shadow:0 0 12px rgba(255,120,70,.7)!important}
body .tpp-pl-bar i{background:linear-gradient(100deg,#FF5A1F 0%,#FF8A5C 40%,#B9A9FF 100%)!important}
body .tpp-loc svg,body .tpp-story svg,body .tpp-ts-hero svg,body .stars{color:#FF8A5C!important}

/* dark overlays become navy */
body .tpp-wk-card::after{background:linear-gradient(180deg,rgba(20,28,60,0) 45%,rgba(20,28,60,.88) 100%)!important}
body .tpp-vid::after{background:linear-gradient(180deg,rgba(20,28,60,0) 50%,rgba(20,28,60,.6) 100%)!important}
body .tpp-ab-member::after{background:linear-gradient(180deg,rgba(20,28,60,0) 50%,rgba(20,28,60,.8) 100%)!important}
body .tags span,body .tpp-vid .dur,body .tpp-proc-stage .lab,body .tpp-cursor-tag{background-color:rgba(24,36,74,.72)!important}
body .tpp-art-card .overlay-details{background:linear-gradient(180deg,rgba(24,36,74,.6) 0%,rgba(24,36,74,0) 32%,rgba(24,36,74,0) 62%,rgba(24,36,74,.85) 100%)!important}

/* preloader: navy with a cloud, pixel mark in sunset tones */
body .page-preloader{background:radial-gradient(ellipse 60% 45% at 50% 46%,rgba(157,140,255,.30),rgba(157,140,255,0) 70%),radial-gradient(ellipse 40% 30% at 40% 60%,rgba(255,101,36,.14),rgba(255,101,36,0) 70%),#1F2D55!important}
body .page-preloader::before{filter:hue-rotate(128deg) saturate(1.15)}

/* footer zap and booking frame: sunset light sweep */
body .tpp-fc-zap::before{background:conic-gradient(from 0deg,transparent 0deg,transparent 240deg,rgba(255,101,36,0) 250deg,#FF6524 295deg,#B9A9FF 330deg,#fff 352deg,transparent 360deg)!important}
@keyframes tppZapGlow{0%,100%{box-shadow:0 0 0 rgba(255,101,36,0)}40%{box-shadow:0 0 70px rgba(255,120,70,.40),0 0 120px rgba(157,140,255,.25)}}
body .tpp-bk-frame{background:rgba(185,169,255,.22)!important}
body .tpp-bk-frame::before,body .tpp-bk-glow::before{background:conic-gradient(from 0deg,transparent 0deg,transparent 60deg,rgba(185,169,255,0) 70deg,rgba(185,169,255,.6) 130deg,rgba(255,200,170,.8) 150deg,transparent 160deg,transparent 230deg,rgba(255,101,36,0) 240deg,#FF6524 290deg,#B9A9FF 330deg,#fff 352deg,transparent 360deg)!important}

/* remaining 3D pieces on services, about and booking */
body .tpp-art .new,body .st .new,body .tpp-art s,body .st s{background:radial-gradient(circle at 32% 28%,#FFF4EC 0%,#FFC2A3 13%,#FF6A2B 40%,#C58BC9 62%,#9D8CFF 78%,#2C2F7C 97%)!important;box-shadow:0 0 40px rgba(255,120,70,.45)!important}
body .tpp-art .old,body .st .old,body .tpp-art .body,body .st .body{background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,140,90,.10) 50%,rgba(157,140,255,.16))!important}
body .st .pad{box-shadow:0 0 50px rgba(255,101,36,.30)!important}
body .glass.cal .k{background:linear-gradient(135deg,#FFC2A3,#FF6524)!important;box-shadow:0 0 22px rgba(255,101,36,.7)!important}
body .glass.cal .k.k1,body .glass.cal .k.k3{background:linear-gradient(135deg,#E4DDFF,#8C78FF)!important;box-shadow:0 0 22px rgba(157,140,255,.7)!important}
body .tpp-art--talk .b2,body .tpp-art--steps .s3,body .tpp-art .stp.s3{box-shadow:0 24px 50px rgba(255,101,36,.30)!important}
body .tpp-art--orbit .orb{border-color:rgba(255,170,130,.30)!important}
body .tpp-art--orbit .orb.o2{border-color:rgba(185,169,255,.32)!important}

/* phone menu: cloud glows in lavender, periwinkle and orange */
.tpp-mnav-fx .g1{background:radial-gradient(closest-side,rgba(157,140,255,.55),rgba(157,140,255,0))!important}
.tpp-mnav-fx .g2{background:radial-gradient(closest-side,rgba(255,101,36,.30),rgba(255,101,36,0))!important}
.tpp-mnav-fx .g3{background:radial-gradient(closest-side,rgba(110,134,255,.40),rgba(110,134,255,0))!important}
.tpp-mnav-fx .g4{background:radial-gradient(closest-side,rgba(255,138,92,.18),rgba(255,138,92,0))!important}
.tpp-mnav-fx .g5{background:radial-gradient(closest-side,rgba(185,169,255,.32),rgba(185,169,255,0))!important}
.tpp-mnav-foot .tpp-mnav-avail i,#mobile-menu > li.current-menu-item > a::after{background:#FF6524!important;box-shadow:0 0 12px rgba(255,101,36,.9)!important}

/* ========== Boosters: win over page styles that set colours with ids or long selectors ========== */
html body h1:not(#tpp),html body h1:not(#tpp) .tpp-w > span{color:#F4EEE6!important;letter-spacing:-.03em!important}
html body h1:not(#tpp) .tpp-w:last-of-type > span{background:linear-gradient(100deg,#FF5A1F 0%,#FF8A5C 40%,#B9A9FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
body #page-preloader.page-preloader:not(#tpp){background:radial-gradient(ellipse 60% 45% at 50% 46%,rgba(157,140,255,.30),rgba(157,140,255,0) 70%),radial-gradient(ellipse 40% 30% at 40% 60%,rgba(255,101,36,.14),rgba(255,101,36,0) 70%),#1F2D55!important}
body #page-preloader.page-preloader:not(#tpp)::before{filter:hue-rotate(128deg) saturate(1.15)}
html body .mega-menu-item.current-menu-item > a.menu-link:not(#tpp),html body .mega-menu-item.current-menu-item > a.menu-link:not(#tpp) span{color:#FF8A5C!important}
html body .ohio-widget.heading .subtitle:not(#tpp),html body span.site:not(#tpp),html body .tpp-bk-copy .txt:not(#tpp),html body .tpp-bk-copy span.txt:not(#tpp){color:#FF8A5C!important}
html body .tpp-hero .ohio-widget.heading .subtitle:not(#tpp){color:rgba(244,238,230,.72)!important}
html body .tpp-ss-plan:not(#tpp){border-color:rgba(185,169,255,.40)!important;box-shadow:0 30px 70px rgba(255,101,36,.12)!important}
html body .lazy-load.load-more .button.-pagination:not(#tpp){background:rgba(185,169,255,.12)!important;border-color:rgba(185,169,255,.5)!important;box-shadow:0 18px 40px rgba(157,140,255,.18)!important}
html body .accordion-button .icon-button:not(#tpp),html body .tpp-ss-adds .ic:not(#tpp){background:rgba(185,169,255,.14)!important;border-color:rgba(185,169,255,.36)!important;color:#E4DDFF!important}
html body button.tpp-btn:not(#tpp),html body a.tpp-btn:not(#tpp){background:linear-gradient(120deg,#B9A9FF 0%,#8C78FF 55%,#7F6AFF 100%)!important;box-shadow:0 14px 34px rgba(157,140,255,.40)!important;color:#FFFFFF!important}
html body .entry-content .tpp:not(#tpp){background:radial-gradient(70% 90% at 100% 0%,rgba(157,140,255,.38),rgba(157,140,255,0) 70%),radial-gradient(60% 80% at 0% 100%,rgba(255,101,36,.20),rgba(255,101,36,0) 70%),#22305C!important;border-color:rgba(185,169,255,.30)!important}
html body .widget_ohio_widget_about_author:not(#tpp){background-color:#22305C!important}
html body .num span:not(#tpp){background:linear-gradient(90deg,rgba(255,138,92,.6),rgba(185,169,255,0))!important}

/* remaining dark cards on booking and about */
html body .tpp-bk-step:not(#tpp),html body .tpp-ab-values .tpp-bento:not(.v):not(#tpp){background-color:#22305C!important}
html body .tpp-bento.art:not(#tpp){background:radial-gradient(ellipse at 50% 112%,#3B3E8C 0%,#1B2654 58%,#162048 100%)!important}

/* single post: sticky next/prev bar on phones */
html body .sticky-nav:not(#tpp){background-color:#1A2650!important;border-color:rgba(185,169,255,.18)!important}
/* TPP a11y (head): focus ring, contrast, booking glow after load */
html body a:focus-visible:not(#tpp),html body button:focus-visible:not(#tpp),html body input:focus-visible:not(#tpp),html body select:focus-visible:not(#tpp),html body textarea:focus-visible:not(#tpp),html body [tabindex]:focus-visible:not(#tpp),html body summary:focus-visible:not(#tpp){outline:2px solid #B9A9FF!important;outline-offset:3px!important;box-shadow:0 0 0 6px rgba(185,169,255,.22)!important}
html body .tpp-proc-step:not(.on):not(#tpp){opacity:.82}
html body .tpp-proc-step:not(.on):not(.done) .dot:not(#tpp){color:#CFCAD8}
html body .testimonial-title:not(#tpp),html body .tpp-wall-card figcaption span:not(#tpp),html body figure figcaption div span:not(#tpp),html body .tpp-bk-bar small:not(#tpp),html body .tpp-bk-trust span:not(#tpp),html body .tpp-ab .time:not(#tpp),html body .tpp-ab small:not(#tpp),html body .tpp-ab .lbl:not(#tpp),html body .tpp-fc-grid h5:not(#tpp),html body .tpp-fc-grid small:not(#tpp),html body .holder .-left:not(#tpp),html body .holder .-left a:not(#tpp),html body .holder .-right a:not(#tpp),html body .tpp-mnav-foot small:not(#tpp),html body .mobile-menu .tpp-n:not(#tpp),html body .tpp-pl-foot span:not(#tpp){color:#AAA4B8!important}
html body .holder .-left a:not(#tpp){text-decoration:underline!important;text-underline-offset:3px}
html body .tpp-bk-step .txt span:not(#tpp),html body .card-details .subtitle:not(#tpp),html body .mobile-menu .current-menu-item .tpp-n:not(#tpp){color:#A796FF!important}
.tpp-bk-glow{visibility:hidden;opacity:0!important;transition:opacity .9s ease}
html.tpp-glow-on .tpp-bk-glow{visibility:visible;opacity:.8!important}
/* TPP connect: space between How it works and Industries */
html body .tpp-ind.on-bk:not(#tpp){padding-top:104px!important}@media (max-width:767px){html body .tpp-ind.on-bk:not(#tpp){padding-top:72px!important}}
/* TPP hover colours: old violet hovers moved to the new palette */
html body .tpp-wall-card:hover:not(#tpp),html body .tpp-bk-wall figure:hover:not(#tpp),html body .tpp-ts-wall figure:hover:not(#tpp),html body .tpp-ss-wall figure:hover:not(#tpp),html body.dark-scheme .testimonial-box:hover:not(#tpp){border-color:rgba(255,160,120,.4)!important;background:rgba(185,169,255,.06)!important}
html body .tpp-svc .tpp-art-card:hover:not(#tpp),html body .tpp-bento:hover:not(#tpp),html body .tpp-bk-step:hover:not(#tpp),html body .tpp-story:hover:not(#tpp),html body .tpp-sv-card:hover:not(#tpp),html body .tpp-ss .card:hover:not(#tpp),html body .tpp-wk-card:hover:not(#tpp),html body .tpp-next:hover:not(#tpp),html body .tpp-post:hover:not(#tpp),html body .tpp-feat:hover:not(#tpp),html body .tpp-filter button:hover:not(#tpp){border-color:rgba(185,169,255,.45)!important}
html body .tpp-sv-faq .accordion-item:hover:not(#tpp),html body .tpp-ss-faq .accordion-item:hover:not(#tpp){border-color:rgba(185,169,255,.38)!important}
html body .tpp-sv-card:hover .go i:not(#tpp),html body .tpp-ss-plan:hover .go i:not(#tpp),html body .tpp-post:hover .tpp-go i:not(#tpp),html body .tpp-feat:hover .tpp-go i:not(#tpp){background:linear-gradient(120deg,#B9A9FF 0%,#9D8CFF 55%,#7C5CFF 100%)!important;border-color:#9D8CFF!important;color:#fff!important}
html body .tpp-pill:hover:not(#tpp){border-color:rgba(185,169,255,.55)!important;background:rgba(185,169,255,.12)!important}
html body .tpp-allwork:hover i:not(#tpp){border-color:rgba(185,169,255,.6)!important}
html body.dark-scheme .tpp-cta:hover:not(#tpp),html body .tpp-bk-cta:hover:not(#tpp){box-shadow:0 40px 100px rgba(124,92,255,.3),inset 0 1px 0 rgba(255,255,255,.14)!important}
html body .tpp-vid:hover .play:not(#tpp){box-shadow:0 0 0 14px rgba(255,120,70,.2),0 24px 60px rgba(255,101,36,.5)!important}
html body.home .portfolio-projects .lazy-load.load-more .button.-pagination:hover:not(#tpp){background:linear-gradient(120deg,#B9A9FF 0%,#9D8CFF 55%,#7C5CFF 100%)!important;border-color:#9D8CFF!important;box-shadow:0 22px 50px rgba(124,92,255,.45)!important}
html body.home .portfolio-projects .lazy-load.load-more .button.-pagination:hover:not(#tpp)::after{color:#7C5CFF!important}
html body .tpp-fc-btn:hover:not(#tpp){background:linear-gradient(120deg,#B9A9FF 0%,#9D8CFF 55%,#7C5CFF 100%)!important;box-shadow:0 22px 50px rgba(124,92,255,.5)!important}
/* About: "Your team, extended" label on the sunset card in cream */
html body .tpp-ab-join .lbl:not(#tpp){color:#F4EEE6!important;opacity:.9}
/* TPP booking: "Real-time availability" tag in the brand signal colour (matches footer/menu availability dot) */
html body .tpp-bk-live:not(#tpp){color:#D9D4E4!important;background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.08)!important}
html body .tpp-bk-live i:not(#tpp){background:#FF6524!important;box-shadow:0 0 12px rgba(255,101,36,.9)!important}

/* footer Schedule a call: keep the lilac fill while focused (after a tap on phones), the footer link reset was removing it */
html body .tpp-foot a.tpp-fc-btn:focus:not(:hover):not(#tpp){background:linear-gradient(120deg,#B9A9FF 0%,#8C78FF 55%,#7F6AFF 100%)!important}

/* phones: no grey/blue system tap box over rounded buttons and cards (the buttons have their own pressed states) */
html,html body a,html body button{-webkit-tap-highlight-color:transparent!important}