/* Fullstop Relaunch – dark look for every page except the front page.
   Same tokens as the front page; quieter. Yellow areas keep dark text. */
body:not(.fs-landing){--fs-ink:#0b0b0c;--fs-ink2:#151517;--fs-ink3:#1f1f22;--fs-line:#2a2a2d;--fs-paper:#f5f5f2;--fs-text:#d9d9d5;--fs-mute:#a3a39f;--fs-sun:#fed34a}

/* ground */
html body:not(.fs-landing),
body:not(.fs-landing) #ajax-content-wrap,
body:not(.fs-landing) .container-wrap,
body:not(.fs-landing) .main-content,
body:not(.fs-landing) #boxed,
body:not(.fs-landing) .ocm-effect-wrap{background-color:var(--fs-ink)!important}
body:not(.fs-landing){color:var(--fs-text)}

/* type */
body:not(.fs-landing) .container-wrap :is(p,li,td,th,dd,dt,label,figcaption,address,.wpb_text_column,.nectar-fancy-ul){color:var(--fs-text)}
body:not(.fs-landing) .container-wrap :is(h1,h2,h3,h4,h5,h6){color:var(--fs-paper)!important}
body:not(.fs-landing) .container-wrap :is(strong,b){color:var(--fs-paper)}
body:not(.fs-landing) .container-wrap :is(p,li,td) a:not(.nectar-button):not(.fslp-btn):not([class*="btn"]){color:var(--fs-sun)}
body:not(.fs-landing) .container-wrap blockquote{color:var(--fs-paper);border-color:var(--fs-sun)}
body:not(.fs-landing) .container-wrap hr,body:not(.fs-landing) .container-wrap .divider-border{border-color:var(--fs-line)!important;background-color:var(--fs-line)!important}

/* classic WPBakery rows: light backgrounds become dark surfaces, yellow bands stay yellow */
body:not(.fs-landing) .row-bg:is([style*="#fff" i],[style*="255, 255, 255"],[style*="255,255,255"],[style*="rgba(0,0,0,0.05)"],[style*="rgba(0, 0, 0, 0.05)"],[style*="#f4f1e8" i],[style*="#f5f5f5" i],[style*="#fafafa" i],[style*="#f7f7f7" i]){background-color:var(--fs-ink2)!important}

/* everything sitting on yellow keeps dark text */
body:not(.fs-landing) :is(
  .wpb_row:has(> .row-bg-wrap .row-bg:is([style*="fcc827" i],[style*="fed34a" i],[style*="fdce3c" i])),
  .wpb_row:has(> .row-bg-wrap .inner-wrap .row-bg:is([style*="fcc827" i],[style*="fed34a" i],[style*="fdce3c" i])),
  .vc_column_container:has(> .vc_column-inner > .column-bg-overlay-wrap [style*="fcc827" i]),
  .fslp-form,.fslp-marquee,.fslp-general,.fslp-ctaband .y,.fslp-svc-ceo:not(.fslp-svc-geo):not(:hover),.fslp-price.hl,.fslp-ch:hover,.fslp-wcard:hover,.fslp-step .n
) :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,b,em,label,div,a:not(.fslp-btn):not([class*="btn"]):not(.nectar-button)){color:#0b0b0c!important}

/* fslp sections (newer pages): light surfaces become dark */
body:not(.fs-landing) .fslp{color:var(--fs-text)}
body:not(.fs-landing) :is(.fslp-statement,.fslp-cases,.fslp-faq,.fslp-team,.fslp-prices){background:var(--fs-ink)!important}
body:not(.fs-landing) :is(.fslp-chapters,.fslp-steps,.fslp-block,.fslp-offices){background:var(--fs-ink)!important}
body:not(.fs-landing) :is(.fslp-case,.fslp-price:not(.hl),.fslp-office,.fslp-svc-geo){background:var(--fs-ink2)!important}
body:not(.fs-landing) :is(.fslp-case,.fslp-tm .ml,.fslp-office .big,.fslp-svcs .links a,.fslp-revhead p a){color:var(--fs-paper)!important}
/* service tiles: black cards need a lighter surface on the dark ground; GEO tile (white originally) gets light text */
body:not(.fs-landing) .fslp-wcard:not(.fslp-svc-ceo):not(:hover){background:var(--fs-ink3)!important;box-shadow:inset 0 0 0 1px var(--fs-line)}
body:not(.fs-landing) .fslp-svc-geo{border:0!important;box-shadow:inset 0 0 0 1px var(--fs-line)}
body:not(.fs-landing) .fslp-svc-geo:not(:hover) :is(h3,p,div){color:var(--fs-paper)!important}
body:not(.fs-landing) .fslp-svc-geo:not(:hover) :is(.tag,.go){color:var(--fs-sun)!important}
body:not(.fs-landing) .fslp-svc-geo:hover{background:var(--fs-sun)!important;box-shadow:none}
body:not(.fs-landing) .fslp-svc-geo:hover :is(.tag,.go){color:#0b0b0c!important}
body:not(.fs-landing) .fslp-tm .ti{color:var(--fs-mute)!important}
body:not(.fs-landing) .fslp :is(details,summary){border-color:var(--fs-line)!important;color:var(--fs-paper)}
body:not(.fs-landing) .fslp-ch{border-color:var(--fs-line)!important}
body:not(.fs-landing) .fslp-ch:hover{color:#0b0b0c}
body:not(.fs-landing) .fslp-statement h2 mark{color:var(--fs-paper)}
body:not(.fs-landing) .fslp-chapters,body:not(.fs-landing) .fslp-steps,body:not(.fs-landing) .fslp-faq{border-top:1px solid var(--fs-line)}

/* forms outside yellow areas */
body:not(.fs-landing) .container-wrap :is(input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=search],textarea,select):not(.fslp-form *){background:var(--fs-ink2)!important;color:var(--fs-paper)!important;border:1px solid var(--fs-line)!important;border-radius:12px}
body:not(.fs-landing) .container-wrap :is(input,textarea)::placeholder{color:var(--fs-mute)!important}
body:not(.fs-landing) .container-wrap input[type=submit]:not(.fslp-form *){background:var(--fs-sun)!important;color:#0b0b0c!important;border-radius:999px!important}

/* blog posts, archives, case studies */
body:not(.fs-landing) :is(.post-area,.post-content,.content-inner,.entry-content,.single .row,.portfolio-items .col,.portfolio-items .work-meta,.portfolio-items .work-info-bg){color:var(--fs-text)}
body:not(.fs-landing) :is(.masonry-blog-item .inner-wrap,.post .inner-wrap,.blog-recent .inner-wrap,.nectar-recent-posts-single_featured,.related-posts .inner-wrap,.post-area .article-content-wrap,.portfolio-items .work-meta){background-color:var(--fs-ink2)!important}
body:not(.fs-landing) :is(.meta-category a,.post-meta,.meta-date,.grav-wrap .text,.excerpt){color:var(--fs-mute)!important}
body:not(.fs-landing) .portfolio-filters-inline{background:var(--fs-ink)!important}
body:not(.fs-landing) .portfolio-filters-inline a{color:var(--fs-mute)!important}
body:not(.fs-landing) .portfolio-filters-inline a.active,body:not(.fs-landing) .portfolio-filters-inline a:hover{color:var(--fs-paper)!important}
body:not(.fs-landing) #pagination :is(a,span){color:var(--fs-paper)!important;background:var(--fs-ink2)!important}
body:not(.fs-landing) :is(#author-bio,.comment-wrap,#respond,.related-post-wrap,.bottom-meta,.post-area.featured-img-layout){background-color:var(--fs-ink)!important;color:var(--fs-text)}
body:not(.fs-landing) .single .heading-title,body:not(.fs-landing) .single .row .section-title{background:transparent!important}

/* tables, toggles, misc. light boxes */
body:not(.fs-landing) .container-wrap :is(table,th,td){border-color:var(--fs-line)!important;background-color:transparent!important}
body:not(.fs-landing) .container-wrap :is(.toggle,.toggle > h3 a,.tabbed > ul li a){background-color:var(--fs-ink2)!important;color:var(--fs-paper)!important;border-color:var(--fs-line)!important}
body:not(.fs-landing) .container-wrap .nectar-fancy-box .inner,body:not(.fs-landing) .container-wrap .wpb_content_element.light{color:var(--fs-text)}

/* footer uses the same ink */
body:not(.fs-landing) #footer-outer{background-color:var(--fs-ink2)!important;border-top:1px solid var(--fs-line)}

/* selection and focus */
body:not(.fs-landing) ::selection{background:var(--fs-sun);color:#0b0b0c}
body:not(.fs-landing) :focus-visible{outline:2px solid var(--fs-sun);outline-offset:3px}

/* gentle entrance for content blocks (reversible, added by site.js) */
body:not(.fs-landing) .fsr-rv{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.1,1)}
body:not(.fs-landing) .fsr-rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){body:not(.fs-landing) .fsr-rv{opacity:1;transform:none;transition:none}}

/* ---- fixes after first live pass ---- */
/* decorative Salient circles: a soft glow instead of a solid yellow disc behind headlines */
body:not(.fs-landing) .nectar-animated-shape svg{opacity:.16}
/* highlighted words in fslp statements */
body:not(.fs-landing) .fslp-statement h2 mark{background:none!important;color:var(--fs-sun)!important}
/* newsroom cards (theme rules carry high specificity, hence the id) */
#ajax-content-wrap .posts-container .masonry-blog-item .inner-wrap{background:var(--fs-ink2)!important}
#ajax-content-wrap .posts-container .masonry-blog-item h3.title,#ajax-content-wrap .posts-container .masonry-blog-item h3.title a{color:var(--fs-paper)!important}
#ajax-content-wrap .posts-container .masonry-blog-item .excerpt,#ajax-content-wrap .posts-container .masonry-blog-item .post-header>span{color:var(--fs-mute)!important}
/* case study tiles: photo cards with a dark fade at the bottom, sector in yellow, title in white */
#ajax-content-wrap .portfolio-items .col .work-item.style-3{border-radius:18px;overflow:hidden;background:var(--fs-ink2);isolation:isolate;transition:transform .5s cubic-bezier(.2,.7,.1,1),box-shadow .5s ease}
#ajax-content-wrap .portfolio-items .col .work-item.style-3 img{display:block;width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover;transform:scale(1.001);transition:transform 1.1s cubic-bezier(.2,.7,.1,1),filter .6s ease;filter:saturate(.9) brightness(.92)}
#ajax-content-wrap .portfolio-items .col .work-item.style-3 .work-info-bg{background:linear-gradient(180deg,rgba(11,11,12,0) 22%,rgba(11,11,12,.55) 52%,rgba(11,11,12,.94) 100%)!important;opacity:1!important;transition:opacity .5s ease}
#ajax-content-wrap .portfolio-items .col .work-item.style-3 .work-info .vert-center{position:absolute!important;top:auto!important;bottom:0;left:0;right:0;transform:none!important;margin:0!important;padding:0 clamp(16px,2vw,24px) clamp(16px,2vw,22px)!important;text-align:left!important}
#ajax-content-wrap .portfolio-items .work-info .vert-center h3{color:var(--fs-paper)!important;font-size:clamp(16px,1.35vw,20px)!important;line-height:1.25!important;font-weight:600!important;letter-spacing:-.01em;margin:0!important;padding:0!important;max-width:none!important;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;-webkit-hyphens:none;hyphens:none;text-wrap:pretty}
#ajax-content-wrap .portfolio-items .work-info .vert-center .fsr-sector{display:block;margin:0 0 6px;color:var(--fs-sun)!important;font-size:11px!important;line-height:1.3;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:1!important;transform:none!important;position:static!important}
#ajax-content-wrap .portfolio-items .work-info .vert-center h3::after{content:" \2192";display:inline-block;color:var(--fs-sun);opacity:0;transform:translateX(-6px);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.1,1)}
#ajax-content-wrap .portfolio-items .col .work-item.style-3:hover img{transform:scale(1.06);filter:saturate(1) brightness(1)}
#ajax-content-wrap .portfolio-items .col .work-item.style-3:hover .work-info-bg{opacity:1!important}
#ajax-content-wrap .portfolio-items .col .work-item.style-3:hover h3::after{opacity:1;transform:none}
#ajax-content-wrap .portfolio-items .col .work-item.style-3:hover{box-shadow:0 18px 40px rgba(0,0,0,.45),0 0 0 1px rgba(254,211,74,.35)}
#ajax-content-wrap .portfolio-items .work-info a:focus-visible{outline:2px solid var(--fs-sun);outline-offset:-4px;border-radius:18px}
@media (prefers-reduced-motion:reduce){#ajax-content-wrap .portfolio-items .col .work-item.style-3 img{transition:none}}
#ajax-content-wrap .portfolio-items .work-meta{background:transparent!important}
#ajax-content-wrap .portfolio-items .work-meta :is(h4,p){color:var(--fs-paper)!important}
/* case study filter pills */
#ajax-content-wrap .portfolio-filters-inline ul li a{border-color:var(--fs-line)!important;color:var(--fs-paper)!important;background:transparent!important}
#ajax-content-wrap .portfolio-filters-inline ul li a:hover{background:var(--fs-ink3)!important}
#ajax-content-wrap .portfolio-filters-inline ul li a.active,#ajax-content-wrap .portfolio-filters-inline ul li a.selected{background:var(--fs-sun)!important;border-color:var(--fs-sun)!important;color:#0b0b0c!important}
/* hand-built cards in raw HTML blocks (downloads etc.) */
#ajax-content-wrap .wpb_raw_html :is(a,div,article)[style*="background"]:not([style*="FDCE3C" i]):not([style*="fed34a" i]):not([style*="fcc827" i]),
#ajax-content-wrap .wpb_raw_html .wp > a{background:var(--fs-ink2)!important;color:var(--fs-paper)!important;border-color:var(--fs-line)!important}
#ajax-content-wrap .wpb_raw_html .wp > a :is(p,span,div){color:var(--fs-text)!important}
#ajax-content-wrap .wpb_raw_html .wp > a :is(h2,h3,h4,strong){color:var(--fs-paper)!important}

/* header: always the dark bar with light logo and links on subpages */
html body:not(.fs-landing) #header-outer#header-outer[data-has-menu]{background-color:transparent!important;box-shadow:none!important}
html body:not(.fs-landing) #header-outer#header-outer[data-has-menu] #top{background-color:transparent!important}
body:not(.fs-landing) #header-outer:not(.transparent)::before{opacity:1}
body:not(.fs-landing) #header-outer #logo img.default-logo,body:not(.fs-landing) #header-outer #logo img.mobile-only-logo{content:url("logo-light.svg")}
body:not(.fs-landing) #header-outer #top nav > ul > li > a,body:not(.fs-landing) #header-outer #top nav > ul > li > a .menu-title-text{color:var(--fs-paper)!important}
body:not(.fs-landing) #header-outer #top nav > ul > li > a:hover,body:not(.fs-landing) #header-outer #top nav > ul > li.current-menu-item > a{color:var(--fs-sun)!important}
body:not(.fs-landing) #header-outer :is(.lines,.lines:before,.lines:after){background-color:var(--fs-paper)!important}
body:not(.fs-landing) #header-outer .slide-out-widget-area-toggle a > span .lines-button:after{background-color:var(--fs-paper)!important}

/* icons (case study facts, icon lists): brand yellow on dark */
#ajax-content-wrap .container-wrap :is(.iwt-icon i,i[class*="icon-default-style"],.nectar_icon i,.icon-tiny,.icon-normal,.list-icon-holder i){color:var(--fs-sun)!important}
#ajax-content-wrap .container-wrap :is(.iwt-icon svg,.nectar_icon svg) :is(path,circle,rect,polygon){fill:var(--fs-sun)!important}
