/* FBS theme 1.5 — light design. Colours and fonts come from theme.json presets. */
body,.editor-styles-wrapper{
  --navy:var(--wp--preset--color--navy);--navy-deep:var(--wp--preset--color--navy-deep);--navy-lift:var(--wp--preset--color--navy-lift);
  --bone:var(--wp--preset--color--bone);--slate:var(--wp--preset--color--slate);--tan:var(--wp--preset--color--tan);--tan-deep:var(--wp--preset--color--tan-deep);
  --sky:var(--wp--preset--color--sky);--white:#fff;--cream:var(--wp--preset--color--cream);--cream-deep:var(--wp--preset--color--cream-deep);--sand:var(--wp--preset--color--sand);
  --muted:#5d6472;--soft:#8a8f99;--line:rgba(20,39,79,.10);--line-dark:rgba(252,246,239,.14);
  --serif:var(--wp--preset--font-family--serif);--sans:var(--wp--preset--font-family--sans);
  --pad:clamp(1rem,4vw,2.5rem);--section-y:clamp(3.5rem,7vw,6rem);--r-card:22px;--r-btn:12px;
}
body{-webkit-font-smoothing:antialiased;overflow-x:clip;background:var(--cream);color:var(--navy)}
:where(.wp-site-blocks) *{box-sizing:border-box}
.wp-site-blocks>*{margin-block:0}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--tan);outline-offset:3px}
section[id],div[id]{scroll-margin-top:6.5rem}
h1,h2,h3,h4{font-weight:400;margin:0;text-wrap:balance;color:var(--navy)}
h1{font-family:var(--serif);font-size:clamp(2.4rem,5vw,4rem);line-height:1.06;letter-spacing:-.025em;font-weight:300}
h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.025em}
h3{font-family:var(--serif);font-size:1.4rem;line-height:1.2;letter-spacing:-.015em}
h4{font-family:var(--sans);font-size:1.0625rem;font-weight:600}
p{margin:0}
.fbs-wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:var(--pad)}
mark.has-tan-deep-color{background:none!important}

/* text */
.fbs-eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--tan-deep);margin-bottom:.75rem}
.fbs-navy .fbs-eyebrow{color:var(--tan)}
.fbs-display{font-family:var(--serif);font-size:clamp(2.8rem,6vw,4.8rem);line-height:1.02;letter-spacing:-.03em;font-weight:300;color:var(--navy)}
.fbs-lede{font-size:clamp(1rem,1.4vw,1.08rem);color:var(--muted);margin-top:.875rem;max-width:58ch;line-height:1.6}
.fbs-navy .fbs-lede{color:var(--sky)}
.fbs-proof-line{margin-top:1.1rem;font-size:.95rem}
.fbs-proof-line a{font-weight:600;text-decoration:none;border-bottom:1px solid var(--tan)}
.fbs-trust{margin-top:1rem;font-size:.85rem;color:var(--muted)}
mark.fbs-ph,.fbs-ph{background:#f7ecd9;color:var(--tan-deep);font-style:normal;padding:0 .2em;border-radius:4px}
.fbs-prose{display:grid;gap:.875rem;color:var(--muted);font-size:1.02rem;max-width:62ch}
.fbs-prose>*{margin:0!important}
.fbs-prose p{color:var(--muted)}
.fbs-navy{background:var(--navy);color:var(--cream)}
.fbs-navy h1,.fbs-navy h2,.fbs-navy h3,.fbs-navy h4,.fbs-navy a{color:var(--cream)}
.fbs-navy p{color:var(--sky)}
.fbs-navy mark.fbs-ph{background:rgba(209,175,134,.25);color:var(--tan)}

/* buttons: text rolls up on hover (fbs.js adds the second line), slight lift, arrow turns */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.6rem}
.wp-block-button__link{border-radius:var(--r-btn);min-height:2.9rem;display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;line-height:1.2;background:var(--navy);color:var(--cream);font-weight:500;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s}
.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(20,39,79,.55);color:var(--cream);background:var(--navy)}
.fbs-roll{position:relative;display:block;overflow:hidden;height:1.25em;line-height:1.25em}
.fbs-roll>span{display:block;transition:transform .35s cubic-bezier(.6,0,.2,1)}
.fbs-roll>span+span{position:absolute;left:0;top:100%}
.wp-block-button__link:hover .fbs-roll>span,.wp-block-button__link:focus-visible .fbs-roll>span{transform:translateY(-100%)}
.fbs-arr{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--cream);color:var(--navy);font-size:.78rem;flex:none;transition:transform .3s ease}
.wp-block-button__link:hover .fbs-arr{transform:rotate(-45deg)}
.is-style-outline>.wp-block-button__link,.wp-block-button.is-style-outline .wp-block-button__link{background:var(--sand);color:var(--navy);border:0}
.is-style-outline>.wp-block-button__link:hover{background:var(--sand);color:var(--navy)}
.is-style-outline .fbs-arr{background:var(--navy);color:var(--sand)}
.fbs-navy .wp-block-button:not(.is-style-outline) .wp-block-button__link{background:var(--cream);color:var(--navy)}
.fbs-navy .wp-block-button:not(.is-style-outline) .fbs-arr{background:var(--navy);color:var(--cream)}
.fbs-textlink{margin-top:1.25rem}
.fbs-textlink a,a.fbs-textlink{display:inline-flex;gap:.4rem;font-weight:500;text-decoration:none;border-bottom:1px solid var(--tan);padding-bottom:2px;color:inherit;transition:gap .25s}
.fbs-textlink a:hover{gap:.75rem}
.fbs-section-head .fbs-textlink{margin-top:0}

/* header */
.fbs-sticky{position:sticky;top:0;z-index:60}
.admin-bar .fbs-sticky{top:32px}
@media (max-width:782px){.admin-bar .fbs-sticky{top:46px}}
.fbs-site-header{background:rgba(252,246,239,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.fbs-site-header.is-scrolled{border-bottom-color:var(--line)}
.fbs-site-header .fbs-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.75rem}
.fbs-brand img{height:2.5rem;width:auto;display:block}
.fbs-brand{margin:0;flex-shrink:0}
.fbs-site-header .wp-block-navigation{gap:1.6rem;color:var(--navy);font-size:.92rem;font-weight:500}
.fbs-site-header .wp-block-navigation a{text-decoration:none}
.fbs-site-header .wp-block-navigation-item__content{position:relative}
.fbs-site-header .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.fbs-site-header .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item:hover>.wp-block-navigation-item__content::after{transform:scaleX(1)}
.fbs-site-header .wp-block-navigation .wp-block-navigation__submenu-container{background:var(--sand)!important;color:var(--navy)!important;border:1px solid var(--line)!important;border-radius:14px;padding:.5rem!important;min-width:16rem!important;box-shadow:0 20px 40px -24px rgba(13,27,56,.5)}
.fbs-site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content{color:var(--navy)!important;background:transparent!important;padding:.5rem .75rem!important;border-radius:8px;font-size:.9rem}
.fbs-site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:var(--cream)!important}
.fbs-site-header .wp-block-buttons{margin-top:0}
.fbs-site-header .wp-block-button__link{min-height:2.6rem;padding:.55rem 1rem;font-size:.88rem}
.fbs-site-header .fbs-nav-contact{display:none}
.fbs-site-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--cream)!important;color:var(--navy)!important;padding:1.5rem var(--pad)}
.fbs-site-header .is-menu-open .wp-block-navigation__responsive-container-content,.fbs-site-header .is-menu-open .wp-block-navigation__container,.fbs-site-header .is-menu-open .wp-block-navigation-item,.fbs-site-header .is-menu-open .wp-block-navigation__submenu-container{align-items:flex-start!important;justify-content:flex-start!important;text-align:left}
.fbs-site-header .is-menu-open .wp-block-navigation__container{gap:.9rem!important;font-size:1.05rem}
.fbs-site-header .is-menu-open .wp-block-navigation__submenu-container{border:0!important;box-shadow:none;padding:.4rem 0 0 1rem!important;background:transparent!important}
.fbs-site-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{color:var(--muted)!important;padding:.3rem 0!important}
@media (max-width:1100px){.fbs-site-header .wp-block-navigation{gap:1.1rem}}
@media (max-width:960px){
  .fbs-site-header .fbs-nav-contact{display:block}
  .fbs-site-header .wp-block-buttons{display:none}
  .fbs-site-header .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}
  .fbs-site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none}
  .fbs-site-header .wp-block-navigation__responsive-container-close:not(.always-shown){display:flex}
  .fbs-site-header .is-menu-open .wp-block-navigation__responsive-container-content{padding-top:3.5rem}
}

/* sections */
.fbs-section{padding-block:var(--section-y)}
.fbs-band,.fbs-section--bone,.fbs-section--sand{background:var(--cream-deep)}
.fbs-section--tight{padding-block:clamp(2rem,4vw,3rem)}
.fbs-section--cta{padding-top:clamp(1rem,2vw,1.5rem)}
.fbs-section--logos{padding-block:0 clamp(2.5rem,5vw,3.5rem)}
.fbs-section--slim{padding-bottom:0}
.fbs-section--flush{padding-top:clamp(1.5rem,3vw,2rem);padding-bottom:var(--section-y)}
.fbs-section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2.5rem;margin-bottom:clamp(1.75rem,3.5vw,2.5rem)}
.fbs-section-head>.fbs-head-text{max-width:46rem;min-width:0}
.fbs-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1.75rem,4vw,3rem);align-items:center}
.fbs-split--top{align-items:start}
.fbs-split>*{margin:0!important;min-width:0}

/* hero */
.fbs-hero{padding-block:clamp(2.5rem,5vw,4rem) clamp(2.5rem,5vw,3.5rem)}
.fbs-hero-copy{max-width:52rem}
.fbs-hero h1{font-family:var(--sans);font-size:1.1rem;font-weight:600;letter-spacing:0;line-height:1.4;margin-top:1.1rem}
.fbs-team-photo{margin:3rem 0 0!important;border-radius:24px;overflow:hidden;background:var(--sand)}
.fbs-team-photo img{width:100%;aspect-ratio:2/1;object-fit:cover;display:block;transition:transform 1.2s ease}
.fbs-team-photo:hover img{transform:scale(1.02)}
.fbs-section--tight .fbs-team-photo{margin-top:0!important}
.fbs-page-hero{padding-block:clamp(2.5rem,5vw,4rem)}
.fbs-split--hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end}
.fbs-page-hero h1{margin-top:.25rem}
.fbs-aside{background:var(--sand);border:1px solid var(--line);border-radius:var(--r-card);padding:1.75rem}
.fbs-aside-big{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3.4vw,2.6rem);letter-spacing:-.03em;line-height:1.05;color:var(--navy)}
.fbs-aside p:not(.fbs-aside-big){color:var(--muted);margin-top:.6rem;font-size:.95rem}
.fbs-crumbs{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.82rem;color:var(--muted);margin-bottom:1.1rem}
.fbs-crumbs a{color:var(--muted);text-decoration:none}
.fbs-crumbs a:hover{color:var(--navy);text-decoration:underline}

/* client strip: scrolls on its own, pauses on hover */
.fbs-logos{text-align:center}
.fbs-logos .fbs-mq-label{font-size:.82rem;color:var(--muted);margin-bottom:1rem}
.fbs-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.fbs-mq-track{display:flex;width:max-content;animation:fbs-mq 38s linear infinite}
.fbs-marquee:hover .fbs-mq-track{animation-play-state:paused}
.fbs-mq-list{display:flex;align-items:center;gap:3rem;list-style:none;margin:0;padding:0 1.5rem}
.fbs-mq-list li{display:flex;align-items:center;gap:.6rem;white-space:nowrap;font-family:var(--serif);font-size:1.35rem;color:rgba(20,39,79,.62);margin:0;transition:color .2s}
.fbs-mq-list li:hover{color:var(--navy)}
.fbs-mq-list img{height:2.4rem;width:auto;max-width:9rem;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.fbs-mq-list li:hover img{filter:none;opacity:1}
.fbs-mq-list i{width:1.9rem;height:1.9rem;border-radius:8px;background:var(--sand);display:grid;place-items:center;font:600 .8rem var(--sans);font-style:normal;color:var(--navy)}
.fbs-mq-list a{color:inherit;text-decoration:none;display:flex;align-items:center;gap:.6rem}
@keyframes fbs-mq{to{transform:translateX(-50%)}}

/* grids and cards */
.fbs-grid{display:grid;gap:1rem}
.fbs-grid>*{margin:0!important;min-width:0}
.fbs-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fbs-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fbs-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fbs-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.fbs-card,.fbs-cap,.fbs-sector,.fbs-panel,.fbs-flow-step,.fbs-voice{background:var(--sand);border:1px solid var(--line);border-radius:18px;padding:1.5rem}
.fbs-card>*+*,.fbs-cap>*+*,.fbs-sector>*+*{margin-top:.6rem}
.fbs-cap p,.fbs-card p,.fbs-sector p{color:var(--muted);font-size:.94rem}
.fbs-navy .fbs-cap{background:rgba(252,246,239,.07);border-color:rgba(252,246,239,.12)}
.fbs-navy .fbs-cap p{color:var(--sky)}
.fbs-quote-big{font-family:var(--serif);font-size:1.3rem;line-height:1.3;color:var(--navy)!important}
.fbs-sector{position:relative;transition:transform .25s,box-shadow .25s,border-color .25s}
.fbs-sector:hover,.fbs-flow-step:hover{transform:translateY(-4px);box-shadow:0 18px 30px -22px rgba(20,39,79,.5);border-color:rgba(20,39,79,.22)}
.fbs-sector h3 a{text-decoration:none;color:var(--navy)}
.fbs-sector h3 a::after{content:"";position:absolute;inset:0}
.fbs-sector .fbs-more{font-size:.86rem;font-weight:600;color:var(--navy)}

/* stats */
.fbs-statcard{border-radius:var(--r-card);padding:1.6rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem}
.fbs-statcard>*{margin:0!important}
.fbs-statcard--wide{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}
.fbs-stat{background:rgba(252,246,239,.08);border:1px solid rgba(252,246,239,.12);border-radius:16px;padding:1.4rem 1.25rem}
.fbs-stat-num{font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,2.8vw,2.5rem);letter-spacing:-.03em;line-height:1;color:var(--cream)!important;white-space:nowrap}
.fbs-stat-num a{color:inherit!important;text-decoration:none}
.fbs-stat-label{margin-top:.6rem;font-size:.86rem;color:var(--sky)}
.fbs-stat-note{grid-column:1/-1;font-size:.86rem;color:var(--sky)}

/* what we do links and faces */
.fbs-wwd-label{margin:.5rem 0 0!important}
ul.fbs-wwd{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem}
ul.fbs-wwd li{margin:0}
ul.fbs-wwd a{display:inline-block;font-weight:600;font-size:.95rem;color:var(--navy);text-decoration:none;transition:transform .2s ease}
ul.fbs-wwd a:hover{transform:translateX(4px);text-decoration:underline;text-decoration-color:var(--tan);text-underline-offset:4px}
.fbs-faces-row{display:flex;align-items:center;gap:1rem;margin-top:.75rem!important}
.fbs-faces-row .fbs-textlink{margin:0}
.fbs-faces{display:flex;flex-wrap:wrap}
.fbs-faces>*{margin:0!important}
.fbs-face img{width:2.75rem;height:2.75rem;border-radius:50%;object-fit:cover;border:2px solid var(--cream);margin-left:-.6rem;display:block}
.fbs-face:first-child img{margin-left:0}
.fbs-band .fbs-face img{width:4rem;height:4rem;margin-left:-.9rem;border-color:var(--cream-deep)}
.fbs-band .fbs-faces{justify-content:flex-end}

/* tabs: services before, during and after the tender (fbs.js builds the tab buttons; in the editor the panels sit one under another) */
.fbs-tabs{display:grid;gap:1rem}
.fbs-tabs.is-ready{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:2.5rem;align-items:start}
.fbs-tablist{display:grid;gap:.25rem}
.fbs-tab{all:unset;cursor:pointer;display:flex;align-items:baseline;gap:.75rem;padding:.6rem 0;font-family:var(--serif);font-size:clamp(1.8rem,3.2vw,2.5rem);letter-spacing:-.025em;color:rgba(20,39,79,.32);transition:color .25s,transform .25s}
.fbs-tab sup{font-family:var(--sans);font-size:.75rem;letter-spacing:0}
.fbs-tab:hover{color:rgba(20,39,79,.6);transform:translateX(4px)}
.fbs-tab[aria-selected="true"]{color:var(--navy)}
.fbs-tab:focus-visible{outline:2px solid var(--tan);outline-offset:3px}
.fbs-tab-panel{background:var(--sand);border:1px solid var(--line);border-radius:var(--r-card);padding:1.75rem;margin:0!important}
.fbs-tabs.is-ready .fbs-tab-panel{grid-column:2;grid-row:1}
.fbs-tabs.is-ready .fbs-tab-panel[hidden]{display:none}
.fbs-tabs.is-ready .fbs-tab-label{display:none}
.fbs-tab-label{font-family:var(--serif);font-size:1.6rem;margin-bottom:.5rem}
.fbs-when{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tan-deep)}
.fbs-tab-panel h3{margin-top:.4rem}
ul.fbs-svc-list{list-style:none;margin:1.2rem 0 0;padding:0}
ul.fbs-svc-list li{position:relative;padding:.85rem 1.5rem .85rem 0;border-top:1px solid var(--line);font-size:.88rem;color:var(--muted);margin:0}
ul.fbs-svc-list li::after{content:"\2192";position:absolute;right:0;top:.85rem;color:var(--tan-deep);transition:transform .25s}
ul.fbs-svc-list li:hover::after{transform:translateX(4px)}
ul.fbs-svc-list a{font-size:.98rem;font-weight:600;color:var(--navy);text-decoration:none}
ul.fbs-svc-list a::after{content:"";position:absolute;inset:0}
.fbs-feeds{margin-top:1rem;font-size:.88rem;font-style:italic;color:var(--tan-deep)}
.fbs-panel{border-radius:var(--r-card)}
.fbs-panel ul.fbs-svc-list{margin-top:.6rem}

/* how we work flow */
.fbs-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.fbs-flow>*{margin:0!important;min-width:0}
.fbs-flow-step{transition:transform .25s,box-shadow .25s}
.fbs-flow-step h3{font-size:1.3rem;margin-top:.6rem}
.fbs-flow-step p:not(.fbs-step-num){color:var(--muted);font-size:.93rem;margin-top:.5rem}
.fbs-step-num{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tan-deep)}
.fbs-navy .fbs-step-num{color:var(--tan)}
.fbs-stepsbox{border-radius:28px;padding:clamp(1.75rem,5vw,3.5rem)}
.fbs-stepgrid{margin-top:2rem}
.fbs-step{background:rgba(252,246,239,.07);border:1px solid rgba(252,246,239,.12);border-radius:16px;padding:1.4rem}
.fbs-step>*+*{margin-top:.5rem}
.fbs-step-time{font-size:.8rem;color:var(--sky)!important}
.fbs-step h3{font-size:1.25rem}
.fbs-step p:not(.fbs-step-num):not(.fbs-step-time){font-size:.9rem;color:var(--sky)}
.fbs-stepsbox .fbs-grid-2{margin-top:1.75rem}

/* proof */
.fbs-proofgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1rem}
.fbs-proofgrid>*{margin:0!important;min-width:0}
.fbs-result{border-radius:var(--r-card);padding:2rem;display:grid;gap:1rem;align-content:start}
.fbs-result>*{margin:0!important}
.fbs-result .fbs-case-meta{color:var(--tan)}
.fbs-result h3{font-size:clamp(1.5rem,2.4vw,2rem)}
.fbs-nums{display:flex;gap:1.75rem;flex-wrap:wrap;padding-top:.6rem;border-top:1px solid var(--line-dark)}
.fbs-nums>*{margin:0!important}
.fbs-big{font-family:var(--serif);font-weight:300;font-size:2.5rem;letter-spacing:-.03em;line-height:1.1;color:var(--cream)!important}
.fbs-nums p:not(.fbs-big){font-size:.85rem}
.fbs-result .fbs-textlink{margin:0}
.fbs-quote-card{background:var(--sand);border-radius:var(--r-card);padding:2rem}
.fbs-case-meta{font-size:.76rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tan-deep)}
.fbs-case{border-radius:var(--r-card);padding:1.75rem}
.fbs-case h3{margin-top:.5rem}
.fbs-case .fbs-row{font-size:.94rem;color:var(--muted);display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1rem}
.fbs-case .fbs-row strong{font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tan-deep);padding-top:.2rem}
.fbs-case .fbs-row--outcome span{color:var(--navy);font-weight:600}
.fbs-case .fbs-row a{color:var(--navy)}

/* testimonials carousel */
.fbs-carousel{position:relative}
.fbs-carousel .fbs-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;margin:0;padding:0;list-style:none}
.fbs-carousel .fbs-track::-webkit-scrollbar{display:none}
.fbs-slide{flex:0 0 100%;scroll-snap-align:start;margin:0}
.fbs-slide>*+*{margin-top:1rem}
.fbs-slide .fbs-outcome{font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tan-deep)}
.fbs-slide blockquote{margin:0;padding:0;border:0}
.fbs-slide .fbs-quote-text p{font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.35rem);line-height:1.35;color:var(--navy)}
.fbs-slide .fbs-cite{font-size:.9rem;color:var(--muted)}
.fbs-slide .fbs-cite strong{color:var(--navy);font-weight:600;display:block}
.fbs-carousel-bar{display:flex;align-items:center;gap:1rem;margin-top:1.5rem}
.fbs-carousel-ctrls{display:flex;gap:.5rem;order:-1}
.fbs-carousel-ctrls button{width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;background:transparent;border:1px solid rgba(20,39,79,.25);color:var(--navy);cursor:pointer;transition:background .2s,color .2s}
.fbs-carousel-ctrls button:hover:not([disabled]){background:var(--navy);color:var(--cream)}
.fbs-carousel-ctrls button[disabled]{opacity:.35;cursor:default}
.fbs-dots{display:flex;gap:.4rem}
.fbs-dot{width:.5rem;height:.5rem;border-radius:50%;padding:0;border:0;background:rgba(20,39,79,.25);cursor:pointer}
.fbs-dot[aria-current="true"]{background:var(--navy)}
.fbs-admin-hint{border:1px dashed var(--tan-deep);background:#f7ecd9;color:var(--tan-deep);padding:.75rem 1rem;font-size:.875rem;border-radius:10px}

/* lists */
ul.fbs-ticks{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;gap:.75rem}
.fbs-split ul.fbs-ticks{margin-top:0}
ul.fbs-ticks li{position:relative;padding-left:2rem;color:var(--navy);margin:0}
ul.fbs-ticks li::before{content:"";position:absolute;left:0;top:.2em;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--sand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6' fill='none' stroke='%2314274f' stroke-width='1.8'/%3E%3C/svg%3E") center/1rem no-repeat}
.fbs-navy ul.fbs-ticks li{color:var(--cream)}
ul.fbs-chips,.fbs-chips ul,.wp-block-categories.fbs-chips{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}
.fbs-chips li{margin:0}
.fbs-chips a{display:inline-block;padding:.35rem .9rem;border-radius:999px;background:var(--sand);font-size:.86rem;text-decoration:none;color:var(--navy);transition:background .2s,color .2s}
.fbs-chips a:hover,.fbs-chips .current-cat a{background:var(--navy);color:var(--cream)}
.fbs-minihead{font-family:var(--sans)!important;font-size:1rem!important;font-weight:600!important;margin-top:1.75rem!important}
.fbs-callout{background:var(--sand);border-radius:14px;padding:1rem 1.2rem;font-size:.93rem;color:var(--muted);margin-top:1.5rem}

/* FAQ */
.fbs-faq .wp-block-details{border-top:1px solid var(--line);padding:1.1rem 0;margin:0}
.fbs-faq .wp-block-details:last-child{border-bottom:1px solid var(--line)}
.fbs-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;font-weight:500;font-size:1.02rem;color:var(--navy)}
.fbs-faq summary::-webkit-details-marker{display:none}
.fbs-faq summary::after{content:"+";font-family:var(--serif);font-size:1.5rem;line-height:1;transition:transform .25s}
.fbs-faq details[open] summary::after{transform:rotate(45deg)}
.fbs-faq details p{color:var(--muted);margin-top:.6rem;max-width:62ch}

/* team */
.fbs-team{gap:1.25rem!important}
.fbs-person>*+*{margin-top:.5rem}
.fbs-media{margin:0}
.fbs-media img{width:100%;object-fit:cover;display:block;border-radius:16px;aspect-ratio:4/3}
.fbs-media--tall img{aspect-ratio:8/9}
.fbs-person h3{font-size:1.35rem;margin-top:.9rem}
.fbs-person .fbs-role{font-size:.76rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tan-deep)}
.fbs-person p:not(.fbs-role){font-size:.92rem;color:var(--muted)}

/* posts */
.fbs-posts .wp-block-post-template{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;list-style:none;padding:0;margin:0}
.fbs-posts .wp-block-post-template>li{margin:0}
.fbs-post-card{height:100%;background:var(--sand);border:1px solid var(--line);border-radius:18px;padding:1.5rem;position:relative;transition:transform .25s,box-shadow .25s}
.fbs-post-card:hover{transform:translateY(-4px);box-shadow:0 18px 30px -22px rgba(20,39,79,.5)}
.fbs-post-card>*+*{margin-top:.6rem}
.fbs-post-card .wp-block-post-title{font-family:var(--serif);font-weight:400;font-size:1.3rem;line-height:1.25}
.fbs-post-card .wp-block-post-title a{text-decoration:none;color:var(--navy)}
.fbs-post-card .wp-block-post-title a::after{content:"";position:absolute;inset:0}
.fbs-post-card .wp-block-post-excerpt,.fbs-post-card .wp-block-post-excerpt p{font-size:.92rem;color:var(--muted);margin:0}
.fbs-post-card .wp-block-post-excerpt__more-text{display:none}
.fbs-card-meta{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.76rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tan-deep)}
.fbs-card-meta a{color:var(--tan-deep);text-decoration:none;position:relative;z-index:1}
.fbs-byline{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--muted)}
.fbs-byline>*{margin:0!important}
.fbs-byline img{border-radius:50%;display:block}
.fbs-article{max-width:46rem;margin-inline:auto;padding-inline:var(--pad)}
.fbs-article p,.fbs-article li{font-size:1.06rem;line-height:1.75;color:var(--muted)}
.fbs-article>*+*{margin-top:1.1rem}
.fbs-article h2{margin-top:2.25rem}
.fbs-article h3{margin-top:1.75rem}
.fbs-post-cta{margin-top:2.5rem;padding:1.75rem;border-radius:var(--r-card);background:var(--sand)}
.fbs-post-cta h2{font-size:clamp(1.4rem,2.4vw,1.75rem)}
.fbs-post-cta p{color:var(--muted);margin-top:.5rem}
.wp-block-query-pagination{margin-top:2rem;gap:1rem}

/* forms (Custom HTML until the form plugin replaces them) */
.fbs-form{background:var(--sand);border:1px solid var(--line);border-radius:var(--r-card);padding:1.75rem;color:var(--navy)}
.fbs-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}
.fbs-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.fbs-field--full{grid-column:1/-1}
.fbs-field label{font-size:.85rem;font-weight:600}
.fbs-field input,.fbs-field select,.fbs-field textarea{font-family:var(--sans);font-size:1rem;color:var(--navy);background:var(--cream);border:1px solid rgba(20,39,79,.22);border-radius:10px;padding:.7rem .8rem;min-height:2.9rem;width:100%;margin:0;transition:border-color .2s,box-shadow .2s}
.fbs-field input:focus,.fbs-field select:focus,.fbs-field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(209,175,134,.4)}
.fbs-field textarea{min-height:7rem;resize:vertical}
.fbs-hint{font-size:.8rem;color:var(--muted)}
.fbs-form button{min-height:2.9rem;padding:0 1.25rem;border:0;border-radius:var(--r-btn);background:var(--navy);color:var(--cream);font-family:var(--sans);font-size:.95rem;font-weight:500;cursor:pointer;transition:transform .25s,box-shadow .25s}
.fbs-form button:hover{transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(20,39,79,.55)}
.fbs-form-note{font-size:.8rem;line-height:1.55;color:var(--muted);margin-top:.8rem}
.fbs-form-error{display:none;font-size:.88rem;font-weight:600;color:#8c2f1d;margin-bottom:1rem}
.fbs-form-error[data-on="true"]{display:block}

/* checklist */
.fbs-checklist h3{font-size:1.35rem;margin-top:1.75rem}
.fbs-checklist h3:first-child{margin-top:0}
.fbs-checklist ul{list-style:none;padding:0;margin:.6rem 0 0;display:grid;gap:.5rem}
.fbs-checklist li{display:flex;gap:.75rem;align-items:flex-start;background:var(--sand);border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem;color:var(--muted);cursor:pointer;margin:0;transition:border-color .2s}
.fbs-checklist li:hover{border-color:rgba(20,39,79,.3)}
.fbs-checklist li strong{color:var(--navy);display:block}
.fbs-checklist input[type=checkbox]{width:1.15rem;height:1.15rem;margin:.2rem 0 0;accent-color:var(--navy);flex-shrink:0}
.fbs-score{position:sticky;top:7rem;border-radius:var(--r-card);padding:1.75rem}
.fbs-score .fbs-score-num{font-family:var(--serif);font-weight:300;font-size:3.2rem;line-height:1;color:var(--cream)!important;margin-top:.4rem}
.fbs-score p:not(.fbs-score-num):not(.fbs-eyebrow){margin-top:.75rem;font-size:.94rem}

/* call to action */
.fbs-ctabox{border-radius:28px;padding:clamp(2rem,6vw,4.5rem);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2.5rem;align-items:center;position:relative;overflow:hidden}
.fbs-ctabox>*{margin:0!important;min-width:0;position:relative;z-index:1}
.fbs-ctabox::after{content:"";position:absolute;right:-5rem;top:-5rem;width:20rem;height:20rem;border-radius:50%;background:radial-gradient(circle,rgba(209,175,134,.35),transparent 70%)}
.fbs-cta-side .wp-block-buttons{margin-top:0}
.fbs-cta-note{font-size:.86rem;margin-top:.9rem}
.fbs-cta-note a{color:var(--cream)!important}

/* footer */
.fbs-site-footer{background:var(--cream);color:var(--muted);padding-top:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--line);margin-top:clamp(2rem,5vw,4rem)}
.fbs-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(1.5rem,4vw,2.5rem)}
.fbs-foot-grid>*{margin:0!important}
.fbs-foot-col>*+*{margin-top:.6rem}
.fbs-foot-col img{height:2.4rem;width:auto}
.fbs-foot-col h2{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tan-deep)}
.fbs-foot-col a{font-size:.92rem;color:var(--navy);text-decoration:none}
.fbs-foot-col a:hover{text-decoration:underline}
.fbs-foot-col p{font-size:.9rem;line-height:1.6;max-width:22rem}
.fbs-foot-col ul{list-style:none;padding:0;margin:.5rem 0 0}
.fbs-foot-col ul li{margin:0 0 .45rem}
.fbs-legal{margin-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line);padding-block:1.3rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.fbs-legal>*{margin:0!important}
.fbs-legal p,.fbs-legal a{font-size:.8rem;color:var(--muted);text-decoration:none}
.fbs-legal ul{list-style:none;display:flex;gap:1.25rem;padding:0;margin:0}

/* motion: nothing hides until the script opts in */
.fbs-reveal[data-hidden="true"]{opacity:0;transform:translateY(16px)}
.fbs-reveal[data-in="true"]{opacity:1;transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.fbs-reveal[data-hidden="true"]{opacity:1;transform:none}.fbs-mq-track{width:auto;flex-wrap:wrap;justify-content:center}.fbs-mq-list[aria-hidden]{display:none}.fbs-mq-list{flex-wrap:wrap;justify-content:center}}

/* breakpoints */
@media (max-width:1080px){.fbs-grid-4,.fbs-grid-5,.fbs-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.fbs-foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .fbs-split,.fbs-split--hero,.fbs-proofgrid,.fbs-ctabox,.fbs-tabs.is-ready{grid-template-columns:minmax(0,1fr)}
  .fbs-tabs.is-ready .fbs-tab-panel{grid-column:1;grid-row:auto}
  .fbs-grid-3,.fbs-grid-2{grid-template-columns:minmax(0,1fr)}
  .fbs-sectors.fbs-grid-3,.fbs-team.fbs-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fbs-score{position:static}
  .fbs-band .fbs-faces{justify-content:flex-start}
  .fbs-team-photo img{aspect-ratio:3/2}
}
@media (max-width:640px){
  .fbs-grid-4,.fbs-grid-5,.fbs-flow,.fbs-sectors.fbs-grid-3,.fbs-team.fbs-grid-4,.fbs-form-grid,.fbs-foot-grid,.fbs-statcard{grid-template-columns:minmax(0,1fr)}
  .fbs-case .fbs-row{grid-template-columns:minmax(0,1fr);gap:.2rem}
  .wp-block-buttons>.wp-block-button{width:100%}
  .wp-block-buttons>.wp-block-button .wp-block-button__link{width:100%;justify-content:space-between}
  .fbs-mq-list li{font-size:1.1rem}
}
figure.wp-block-image{margin:0}
.fbs-foot-col .wp-block-image{margin-bottom:.4rem}

/* colours and sizes chosen in the editor always win over the theme's defaults */
.wp-site-blocks .has-small-font-size{font-size:var(--wp--preset--font-size--small)!important}
.wp-site-blocks .has-medium-font-size{font-size:var(--wp--preset--font-size--medium)!important}
.wp-site-blocks .has-large-font-size{font-size:var(--wp--preset--font-size--large)!important}
.wp-site-blocks .has-x-large-font-size{font-size:var(--wp--preset--font-size--x-large)!important}

/* 1.5.4 — homepage spacing: the gap under the client strip matches the gap between the hero buttons and the photo (3rem) */
.fbs-section--logos{padding-bottom:0!important}
.fbs-section--logos+.fbs-section{padding-top:3rem!important;margin-top:0!important}
#about.fbs-section{padding-bottom:clamp(2.5rem,4vw,3.5rem)}
#work.fbs-section{padding-top:clamp(2.75rem,4.5vw,3.75rem)}
.fbs-admin-hint--logos{display:inline-block;margin:1.25rem auto 0}

/* 1.5.4 — key figures: same navy and cream colours, laid out like a report's key-figures panel (ruled rows, no tiles) */
.fbs-statcard{padding:2.25rem 2.5rem 2rem;column-gap:2.5rem;row-gap:0}
.fbs-stat{background:none;border:0;border-top:1px solid rgba(201,180,146,.45);border-radius:0;padding:1.25rem 0 1.75rem}
.fbs-stat-num{font-size:clamp(1.9rem,2.7vw,2.5rem)}
.fbs-stat-label{margin-top:.55rem;font-size:.9rem;line-height:1.45;max-width:15rem}
.fbs-stat-note{border-top:1px solid rgba(252,246,239,.16);padding-top:1.25rem;margin-top:.25rem!important;font-size:.9rem;line-height:1.55}
@media (max-width:640px){.fbs-statcard{grid-template-columns:minmax(0,1fr);padding:1.75rem 1.5rem 1.5rem}.fbs-stat{padding:1rem 0 1.25rem}}
/* 1.5.4 — privacy notice and other legal text: readable headings, one column */
.fbs-legal-text{max-width:46rem}
.fbs-legal-text h2{font-size:clamp(1.4rem,2vw,1.75rem);margin-top:2.25rem!important;margin-bottom:.5rem!important}
.fbs-legal-text>h2:first-child{margin-top:0!important}
.fbs-legal-text li{margin-bottom:.5rem}
.fbs-section:has(.fbs-legal-text){padding-top:0}

/* 1.5.5 — one spacing rule for every page (Tudor, 21 Oct 2026): about 3rem between sections, the same as the gap
   between the homepage buttons and the team photo. Two cream sections in a row share one gap instead of adding two. */
:root,body{--section-y:clamp(2.5rem,4vw,3rem)}
.fbs-page-hero{padding-bottom:3rem}
:where(.fbs-page-hero,.fbs-hero,.fbs-section):not(.fbs-band):not(.fbs-section--bone):not(.fbs-section--sand)+.fbs-section:not(.fbs-band):not(.fbs-section--bone):not(.fbs-section--sand):not(.fbs-section--logos){padding-top:0}
.fbs-section--cta{padding-bottom:var(--section-y)}

/* 1.5.5 — service pages: the opening paragraph runs the full width, in line with the boxes below */
#what .fbs-section-head>.fbs-head-text,#what .fbs-section-head .fbs-lede{max-width:none;width:100%}
#what .fbs-section-head{display:block}

/* 1.5.5 — step boxes lift slightly on hover, like the How we work steps */
.fbs-step{transition:transform .25s,box-shadow .25s,border-color .25s}
.fbs-step:hover{transform:translateY(-4px);box-shadow:0 18px 30px -20px rgba(0,0,0,.55);border-color:rgba(252,246,239,.3)}
@media (prefers-reduced-motion:reduce){.fbs-step:hover,.fbs-flow-step:hover{transform:none}}

/* 1.5.5 — testimonials: smaller text now the quotes are full length */
.fbs-slide .fbs-quote-text p,.fbs-quote-text p{font-size:clamp(1.05rem,1.4vw,1.15rem);line-height:1.5}

/* 1.5.6 — the checklist opens for subscribers. Visitors see the subscribe form; once they subscribe (or come back on the
   same device) they see the checklist instead. Signed-in editors always see both, and without JavaScript the checklist shows. */
html.fbs-js:not(.fbs-unlocked) body:not(.logged-in) .fbs-gated{display:none}
html.fbs-unlocked body:not(.logged-in) .fbs-gate-form{display:none}
html.fbs-unlocked body:not(.logged-in) .fbs-gated{padding-top:0}

/* 1.5.7 — service pages: the page title is the service name, then "What we do" and the full-width introduction above the boxes */
.fbs-what-intro{margin-bottom:clamp(1.75rem,3.5vw,2.5rem)}
.fbs-what-intro .fbs-lede{max-width:none;margin-top:.6rem}

/* 1.5.8 — four movement details kept from the 21 Oct design trial (the rest of that trial was dropped).
   Not on sector pages, which keep their current design (body class fbs-motion is left off there). */
.fbs-motion .fbs-hero .fbs-team-photo{overflow:hidden}
.fbs-motion .fbs-hero .fbs-team-photo img{animation:fbs-settle 1.8s cubic-bezier(.22,1,.36,1) both;will-change:transform}
@keyframes fbs-settle{from{transform:scale(1.08);opacity:.6}to{transform:scale(1);opacity:1}}
.fbs-motion :is(.fbs-cap,.fbs-case,.fbs-card){position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.fbs-motion :is(.fbs-cap,.fbs-case,.fbs-card)::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--tan);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.fbs-motion :is(.fbs-cap,.fbs-case,.fbs-card):hover{transform:translateY(-3px);box-shadow:0 18px 32px -24px rgba(20,39,79,.45)}
.fbs-motion :is(.fbs-cap,.fbs-case,.fbs-card):hover::before{transform:scaleX(1)}
.fbs-motion .fbs-rise{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.fbs-motion .fbs-rise.is-in{opacity:1;transform:none}
.fbs-motion .fbs-textlink a{border-bottom-color:transparent;background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat,linear-gradient(var(--tan),var(--tan)) left bottom/100% 1px no-repeat;transition:gap .25s,background-size .35s ease}
.fbs-motion .fbs-textlink a:hover{background-size:100% 1px,100% 1px}
@media (prefers-reduced-motion:reduce){.fbs-motion .fbs-rise{opacity:1;transform:none;transition:none}.fbs-motion .fbs-hero .fbs-team-photo img{animation:none}.fbs-motion :is(.fbs-cap,.fbs-case,.fbs-card):hover{transform:none}}

/* 1.5.8 — (Tudor, 22 Oct 2026) the banner that follows you down has a navy line along its bottom */
.fbs-site-header,.fbs-site-header.is-scrolled{border-bottom:3px solid var(--navy)!important}

/* 1.5.8 — less space between the banner and the first words on every page */
.fbs-page-hero{padding-top:clamp(1.5rem,2.5vw,2rem)}
.fbs-hero{padding-top:clamp(1.75rem,3vw,2.5rem)}

/* 1.5.8 — homepage: the team photo sits beside the opening text instead of below it */
.fbs-hero>.fbs-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,4vw,3.5rem);align-items:center}
.fbs-hero .fbs-team-photo{margin:0!important}
.fbs-hero .fbs-team-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}

/* 1.5.8 — service pages: an illustration beside the title (click it in WordPress to swap in a photo) */
.fbs-page-hero>.fbs-wrap:has(>.fbs-hero-art){display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:center}
.fbs-hero-art{margin:0!important;border-radius:24px;overflow:hidden}
.fbs-hero-art img{width:100%;aspect-ratio:16/11;object-fit:cover;display:block}

/* 1.5.8 — breaking up the sections (not on sector pages): a short gold rule before each section label,
   and a fine line between two cream sections that sit one after the other */
.fbs-motion main .fbs-section .fbs-eyebrow::before{content:"";display:inline-block;width:26px;height:2px;background:currentColor;vertical-align:middle;margin:-2px .6rem 0 0}

@media (max-width:900px){
  .fbs-hero>.fbs-wrap,.fbs-page-hero>.fbs-wrap:has(>.fbs-hero-art){grid-template-columns:minmax(0,1fr)}
  .fbs-hero-art img{aspect-ratio:16/9}
}

/* 1.5.9 (Tudor, 22 Oct 2026) — service page pictures smaller */
.fbs-hero-art{max-width:400px;width:100%;justify-self:end}
.fbs-hero-art img{aspect-ratio:4/3}

/* 1.5.9 — each section sits on its own tile so the change from one section to the next is clear.
   The page behind is a shade darker; heroes, the client strip and the navy boxes sit straight on it.
   Not on sector pages, which keep their current design. */
body.fbs-motion{background:var(--cream-deep)!important}
.fbs-motion main .fbs-section,.fbs-motion main .fbs-band{background:transparent!important}
.fbs-motion:not(.fbs-open) main .fbs-section:not(.fbs-section--logos):not(.fbs-section--cta):not(.fbs-figrow):not(:has(>.fbs-wrap>.fbs-stepsbox)):not(:has(>.fbs-wrap>.fbs-statcard))>.fbs-wrap{
  width:calc(100% - 2 * var(--pad));max-width:calc(1240px - 2 * var(--pad));
  padding:clamp(1.75rem,4vw,3rem);background:var(--cream);border:1px solid var(--line);border-radius:28px;box-shadow:0 20px 40px -34px rgba(20,39,79,.35)}
.fbs-motion main .fbs-section:not(.fbs-section--logos){padding-block:clamp(.6rem,1.2vw,.9rem)!important}
.fbs-motion main .fbs-section--cta{padding-bottom:clamp(2.5rem,4vw,3rem)!important}
.fbs-motion main :is(.fbs-page-hero,.fbs-hero)+.fbs-section{padding-top:0!important}
.fbs-motion main .fbs-section--logos{padding-bottom:clamp(1.25rem,2.5vw,1.75rem)!important}
.fbs-motion .fbs-section .fbs-wrap>.fbs-section-head:first-child{margin-top:0}

/* ======================= 1.6.0 (Tudor, 22 Oct 2026) ======================= */
/* Colour: small tan labels darker so they pass 4.5:1 on cream and sand; navy footer */
body{--tan-ink:#74603f}
.fbs-eyebrow,.fbs-slide .fbs-outcome,.fbs-quote-card .fbs-eyebrow{color:var(--tan-ink)}
:is(.fbs-navy,.fbs-cta,.fbs-site-footer,.fbs-statcard,.fbs-case.fbs-navy) .fbs-eyebrow{color:var(--tan)}
.fbs-site-footer{background:var(--navy-deep)!important;border-top:0!important}
.fbs-site-footer img{filter:brightness(0) invert(1) sepia(.15)}
.fbs-site-footer h2,.fbs-site-footer .fbs-eyebrow{color:var(--tan)!important}
.fbs-site-footer a{color:var(--cream)!important}
.fbs-site-footer p{color:var(--sky)!important}
.fbs-site-footer .fbs-legal{border-top-color:rgba(252,246,239,.14)!important}

/* Banner: line underneath is a reading-progress bar, brown that fills navy as you scroll */
.fbs-site-header,.fbs-site-header.is-scrolled{position:relative;border-bottom:3px solid var(--tan-deep)!important}
.fbs-site-header::after{content:"";position:absolute;left:0;bottom:-3px;height:3px;width:calc(var(--fbs-progress,0) * 100%);background:var(--navy);z-index:3}

/* Liquid glass: navy buttons, navy cards, cream cards. fbs.js adds .fbs-glass and moves the light with the pointer */
.fbs-glass{position:relative;isolation:isolate;--lift:0px;transform:translateY(var(--lift))!important;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.fbs-motion .fbs-glass.fbs-glass::before,.fbs-glass::before{content:"";position:absolute;inset:0;left:0;top:0;height:auto;width:auto;border-radius:inherit;pointer-events:none;z-index:1;opacity:0;transform:none;transition:opacity .35s;background:radial-gradient(380px circle at var(--mx) var(--my),rgba(255,255,255,.4),rgba(255,255,255,0) 42%);mix-blend-mode:soft-light}
.fbs-glass.is-on::before,.fbs-motion .fbs-glass.fbs-glass.is-on::before{opacity:0}
:is(.fbs-site-header,.fbs-hero,.fbs-page-hero) .wp-block-button:not(.is-style-outline) .wp-block-button__link,.home #work .fbs-result.fbs-navy{background:linear-gradient(150deg,rgba(30,52,100,.86),rgba(20,36,77,.95))!important;-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);border:1px solid rgba(255,255,255,.2)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.2),0 2px 4px rgba(20,36,77,.1),0 14px 30px -10px rgba(20,36,77,.35)!important}
:is(.fbs-site-header,.fbs-hero,.fbs-page-hero) .wp-block-button:not(.is-style-outline) .wp-block-button__link{border-radius:999px;position:relative;overflow:hidden}
:is(.fbs-site-header,.fbs-hero,.fbs-page-hero) .wp-block-button__link.fbs-glass::before{background:radial-gradient(120px circle at var(--mx) var(--my),rgba(255,255,255,.45),rgba(255,255,255,0) 60%);mix-blend-mode:normal}
.home #work .fbs-result.fbs-navy.fbs-glass::before{background:radial-gradient(360px circle at var(--mx) var(--my),rgba(255,255,255,.3),rgba(255,255,255,0) 45%);mix-blend-mode:screen}
.home #work .fbs-result.fbs-navy.is-on{--lift:-5px}
.home #work .fbs-result.fbs-navy :is(p:not(.fbs-case-meta),.fbs-nums span){color:#d4e1ec!important}
.home #work .fbs-proofgrid{position:relative;isolation:isolate}
.home #work .fbs-proofgrid::before{content:"";position:absolute;inset:-20px 40% -20px -30px;z-index:-1;pointer-events:none;background:radial-gradient(240px 200px at 25% 20%,rgba(145,177,203,.7),transparent 70%),radial-gradient(260px 220px at 75% 85%,rgba(209,175,134,.7),transparent 70%);filter:blur(14px)}
/* section tiles: deeper shadow onto the page */
.fbs-motion:not(.fbs-open) main .fbs-section:not(.fbs-section--logos):not(.fbs-section--cta):not(.fbs-figrow)>.fbs-wrap{box-shadow:0 1px 2px rgba(20,36,77,.05),0 14px 30px -10px rgba(20,36,77,.14),0 40px 70px -30px rgba(20,36,77,.22)!important;border-color:rgba(255,255,255,.7)!important}
/* cream glass cards */
.fbs-sectors-index .fbs-sector,.fbs-open main :is(.fbs-cap,.fbs-post-card,.fbs-svc-list>li){background:rgba(239,231,221,.62)!important;-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border:1px solid rgba(255,255,255,.75)!important;border-radius:20px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 1px 2px rgba(20,36,77,.06),0 10px 24px -6px rgba(20,36,77,.16),0 28px 48px -20px rgba(20,36,77,.22)!important}
:is(.fbs-sectors-index .fbs-sector,.fbs-open main :is(.fbs-cap,.fbs-post-card,.fbs-svc-list>li)).is-on{--lift:-6px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 2px 4px rgba(20,36,77,.06),0 18px 34px -8px rgba(20,36,77,.2),0 44px 70px -24px rgba(20,36,77,.3)!important}
.fbs-sectors-index .fbs-sectors,.fbs-open main :is(.fbs-grid:not(.fbs-stepgrid):has(.fbs-cap),.fbs-svc-list,.fbs-posts){position:relative;isolation:isolate}
.fbs-sectors-index .fbs-sectors::before,.fbs-open main :is(.fbs-grid:not(.fbs-stepgrid):has(.fbs-cap),.fbs-svc-list,.fbs-posts)::before{content:"";position:absolute;inset:-30px -20px;z-index:-1;pointer-events:none;background:radial-gradient(260px 200px at 18% 30%,rgba(145,177,203,.5),transparent 70%),radial-gradient(300px 220px at 78% 70%,rgba(209,175,134,.5),transparent 70%);filter:blur(10px)}
@media (prefers-reduced-motion:reduce){.fbs-glass{transform:none!important;transition:none}}

/* Photo behind the page title (homepage, sector and service pages). Replace the photo in the editor */
:is(.fbs-hero,.fbs-page-hero):has(.fbs-hero-bg){position:relative;isolation:isolate;overflow:hidden}
.fbs-page-hero:has(.fbs-hero-bg){padding-block:clamp(3.5rem,7vw,5.5rem)!important}
.fbs-hero:has(.fbs-hero-bg){padding-block:clamp(4rem,8vw,6.5rem)!important;margin-bottom:0}
:is(.fbs-hero,.fbs-page-hero) .fbs-hero-bg{position:absolute!important;inset:0;margin:0!important;z-index:-2;max-width:none!important;width:auto!important;border-radius:0!important;overflow:hidden;box-shadow:none!important;background:none!important}
:is(.fbs-hero,.fbs-page-hero) .fbs-hero-bg img{width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important;object-fit:cover;object-position:60% 45%;filter:grayscale(1);border-radius:0!important;animation:none!important}
:is(.fbs-hero,.fbs-page-hero):has(.fbs-hero-bg)::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(246,240,233,.88) 0%,rgba(246,240,233,.82) 52%,rgba(246,240,233,.3) 74%,rgba(246,240,233,.05) 100%),linear-gradient(180deg,rgba(246,240,233,0) 75%,rgba(246,240,233,1) 100%)}
:is(.fbs-hero,.fbs-page-hero):has(.fbs-hero-bg) :is(h1,.fbs-lede){color:var(--navy)!important}
.fbs-page-hero:has(.fbs-hero-bg)>.fbs-wrap{display:block!important}
.fbs-page-hero:has(.fbs-hero-bg) .fbs-page-hero-copy{max-width:44rem}
.fbs-hero:has(.fbs-hero-bg) .fbs-hero-copy{max-width:44rem!important;display:block}
.fbs-hero:has(.fbs-hero-bg) .fbs-hero-copy .wp-block-buttons{margin-top:1.75rem}
@media (max-width:781px){:is(.fbs-hero,.fbs-page-hero):has(.fbs-hero-bg)::after{background:rgba(246,240,233,.88)}}

/* Homepage figures row: plain figures that count up, centred between the photo and About */
body.fbs-motion main section.fbs-section.fbs-figrow{padding-block:2.25rem!important}
.fbs-figs{display:grid;grid-template-columns:1fr 1.45fr 1fr 1fr 1fr;gap:1.5rem 2rem;text-align:center;justify-items:center;padding-inline:clamp(1.75rem,4vw,3rem)}
.fbs-fig-num{font-family:var(--wp--preset--font-family--serif);font-weight:400;font-size:2.3rem;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0 0 .55rem}
.fbs-fig-num a{color:inherit;text-decoration:none}
.fbs-fig:last-child .fbs-fig-num{color:var(--tan-deep)}
.fbs-fig-label{color:var(--muted);font-size:.95rem;line-height:1.4;margin:0}
/* Homepage About: photo of the team at work (placeholder until FBS supplies one) */
.fbs-workphoto{margin:0!important;align-self:center}
.fbs-workphoto img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:20px;display:block}
.home .fbs-section--logos{padding-block:1.5rem calc(1.5rem + 14px)!important}

/* Sector and service pages: sections sit on the page; only the cards are blocks */
html body.fbs-open main .fbs-section.fbs-section>.fbs-wrap{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding-block:clamp(1.25rem,3vw,2rem)!important}
.fbs-open main .fbs-section:not(.fbs-section--cta){padding-block:clamp(1rem,2vw,1.5rem)!important}
.fbs-open main .fbs-section--slim+.fbs-section--flush{padding-top:0!important}
.fbs-open main .fbs-section--slim+.fbs-section--flush>.fbs-wrap{padding-top:0!important}
.fbs-open main .fbs-panel{background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
.fbs-open main :is(.fbs-cap,.fbs-post-card){padding:1.5rem 1.6rem!important}
.fbs-open main .fbs-svc-list{display:grid;gap:.85rem}
.fbs-open main .fbs-svc-list>li{border-top:0!important;padding:1.1rem 2.5rem 1.1rem 1.3rem!important}
.fbs-open main .fbs-svc-list>li::after{right:1.1rem!important;top:1.1rem!important}
.fbs-open main :is(.fbs-case,.fbs-result):not(.fbs-navy){background:rgba(252,246,239,.9)!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:24px!important;padding:2rem 2.25rem!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 14px 30px -10px rgba(20,36,77,.14),0 40px 70px -30px rgba(20,36,77,.22)!important}
.fbs-open main :is(.fbs-case,.fbs-result)::before{display:none}

/* Service pages: steps on a line that runs into the deliverables box */
.fbs-stepsbox.fbs-feed3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,19rem);gap:2.25rem;align-items:stretch;background:none!important;padding:0!important;border-radius:0!important;box-shadow:none!important;color:inherit}
.fbs-feed3 :is(h2,h3){color:var(--navy)!important}
.fbs-feed3 .fbs-eyebrow{color:var(--tan-ink)!important}
.fbs-feed3 .fbs-stepgrid{position:relative;margin-top:1.75rem!important;padding-top:2.4rem!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1.25rem!important}
.fbs-feed3 .fbs-tl-track,.fbs-feed3 .fbs-tl-fill{position:absolute;left:.55rem;right:-2.25rem;top:.55rem;height:2px;border-radius:2px}
.fbs-feed3 .fbs-tl-track{background:var(--line)}
.fbs-feed3 .fbs-tl-fill{background:linear-gradient(90deg,var(--tan),var(--navy));transform-origin:left;transform:scaleX(var(--tl,1))}
.fbs-feed3 .fbs-step{background:none!important;border:0!important;box-shadow:none!important;padding:0 .5rem 0 0!important;position:relative;transform:none!important}
.fbs-feed3 .fbs-step::before{content:"";position:absolute;left:0;top:-2.4rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--navy);border:2px solid var(--navy);box-shadow:0 0 0 6px rgba(20,36,77,.12);transition:background .4s,border-color .4s,box-shadow .4s}
.fbs-feed3 .fbs-step>*{transition:opacity .5s,transform .5s}
.fbs-feed3.is-armed .fbs-step:not(.is-in)::before{background:var(--cream);border-color:var(--line);box-shadow:none}
.fbs-feed3.is-armed .fbs-step:not(.is-in)>*{opacity:.15;transform:translateY(14px)}
.fbs-feed3 .fbs-step-num{color:var(--tan-ink)!important}
.fbs-feed3 .fbs-step-time{color:var(--muted)!important}
.fbs-feed3 .fbs-step-time mark{background:var(--sand)!important;padding:.1rem .5rem;border-radius:999px;color:var(--tan-ink)!important}
.fbs-feed3 .fbs-step p:not(.fbs-step-num):not(.fbs-step-time){color:var(--muted)!important}
.fbs-feedbox{position:relative;display:flex;flex-direction:column;padding:1.6rem 1.7rem 1.4rem;border-radius:22px;background:var(--cream);border:1px solid rgba(20,36,77,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 0 0 6px rgba(20,36,77,.05),0 18px 36px -10px rgba(20,36,77,.2),0 44px 70px -30px rgba(20,36,77,.28);transition:border-color .5s,box-shadow .6s}
.fbs-feedbox .fbs-eyebrow::before{display:none!important}
.fbs-feedbox h3{font-size:1.45rem;margin:.3rem 0 .5rem}
.fbs-feedbox .fbs-feedin{position:absolute;left:-.6rem;top:2rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--tan);border:2px solid var(--tan);transition:background .4s,border-color .4s}
.fbs-feedbox .fbs-ticks{display:flex!important;flex-direction:column;flex:1;margin:0!important;gap:0!important}
.fbs-feedbox .fbs-ticks li{flex:1;display:flex;align-items:center;color:var(--navy)!important;padding:.4rem 0 .4rem 2rem!important;border-top:1px solid var(--line);font-size:.95rem;transition:opacity .45s,color .45s}
.fbs-feedbox .fbs-ticks li::before{top:50%!important;transform:translateY(-50%);background-color:var(--navy)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6' fill='none' stroke='%23fcf6ef' stroke-width='1.8'/%3E%3C/svg%3E")!important}
.fbs-feed3.is-armed:not(.is-done) .fbs-feedbox{border-color:var(--line);box-shadow:0 14px 30px -14px rgba(20,36,77,.12)}
.fbs-feed3.is-armed:not(.is-done) .fbs-feedin{background:var(--cream);border-color:var(--line)}
.fbs-feed3.is-armed:not(.is-done) .fbs-feedbox .fbs-ticks li{opacity:.3;color:var(--muted)!important}
.fbs-feed3.is-armed:not(.is-done) .fbs-feedbox .fbs-ticks li::before{background-color:var(--sand)!important;background-image:none!important}
/* 1.6.4: on smaller screens the steps run down the page and the line carries on into the deliverables box below */
@media (max-width:900px){
.fbs-stepsbox.fbs-feed3{grid-template-columns:1fr;gap:2.5rem}
.fbs-feed3 .fbs-stepgrid{grid-template-columns:1fr!important;gap:1.75rem!important;padding:0 0 0 2.75rem!important}
.fbs-feed3 .fbs-tl-track,.fbs-feed3 .fbs-tl-fill{left:.5rem!important;right:auto!important;top:.35rem!important;bottom:-2.5rem!important;width:2px!important;height:auto!important}
.fbs-feed3 .fbs-tl-fill{background:linear-gradient(180deg,var(--tan),var(--navy))!important;transform-origin:top!important;transform:scaleY(var(--tl,1))!important}
.fbs-feed3 .fbs-step::before{left:-2.75rem!important;top:0!important}
.fbs-feed3.is-armed .fbs-step:not(.is-in)>*{transform:translateX(-10px)!important}
.fbs-feedbox .fbs-feedin{left:-.05rem!important;top:-.6rem!important}
}
@media (prefers-reduced-motion:reduce){.fbs-feed3 *{transition:none!important}}
body:is(.fbs-open,.fbs-sectors-index) main{overflow-x:clip}

/* 1.6.0 review fixes: no spotlight, no tilt; things lift as the pointer passes over them */
.fbs-glass::before,.fbs-motion .fbs-glass.fbs-glass::before{display:none!important}
:is(.fbs-site-header,.fbs-hero,.fbs-page-hero) .wp-block-button__link.fbs-glass.is-on{--lift:-3px}
/* phone menu: the banner's blur trapped the full-screen menu inside the banner, so it is switched off while the menu is open */
.fbs-site-header:has(.is-menu-open){-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
/* figures row on smaller screens: three then two, then two by two with the last centred */
@media (max-width:1100px){.fbs-figs{grid-template-columns:repeat(6,minmax(0,1fr))}.fbs-fig{grid-column:span 2}.fbs-fig:nth-child(n+4){grid-column:span 3}}
@media (max-width:781px){.fbs-figs{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:0;gap:1.75rem 1rem}.fbs-fig,.fbs-fig:nth-child(n){grid-column:auto}.fbs-fig:nth-child(5){grid-column:1/-1}.fbs-fig-num{font-size:clamp(1.45rem,6vw,2.1rem)}}
/* phone menu: Services, Sectors and About open as drop-downs instead of being laid out in full */
.fbs-site-header .is-menu-open .wp-block-navigation-item.has-child{flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;width:100%}
.fbs-site-header .is-menu-open .wp-block-navigation-item.has-child>.wp-block-navigation__submenu-container{display:none!important;width:100%;flex-basis:100%}
.fbs-site-header .is-menu-open .wp-block-navigation-item.has-child.fbs-sub-open>.wp-block-navigation__submenu-container{display:flex!important}
.fbs-site-header .is-menu-open .wp-block-navigation-submenu__toggle{display:inline-flex!important;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;margin-left:.25rem;padding:0;background:none;border:0;color:var(--navy);cursor:pointer}
.fbs-site-header .is-menu-open .wp-block-navigation-submenu__toggle svg{display:block!important;width:14px;height:14px;transition:transform .25s}
.fbs-site-header .is-menu-open .fbs-sub-open>.wp-block-navigation-submenu__toggle svg{transform:rotate(180deg)}
/* 1.6.3: headings in one colour (no gold second half); only the "Design. Bid. Win. Deliver." line keeps its gold words */
html body :is(h1,h2,h3,h4) mark.has-inline-color{color:inherit!important}

/* 1.6.5 (Tudor, 26 Oct 2026): homepage figures cut to two (£3bn+ and 40+ yrs), side by side and centred.
   The blue and tan glow behind the glass cards read as smudges, so it is removed; the cards keep their glass, shadow and lift. */
.fbs-figs,.fbs-figs:has(.fbs-fig){grid-template-columns:repeat(2,minmax(0,16rem))!important;justify-content:center;column-gap:clamp(2rem,8vw,6rem)}
.fbs-figs .fbs-fig,.fbs-figs .fbs-fig:nth-child(n){grid-column:auto!important}
.fbs-fig:last-child .fbs-fig-num{color:var(--navy)}
@media (max-width:781px){.fbs-figs,.fbs-figs:has(.fbs-fig){grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:1rem}}
.home #work .fbs-proofgrid::before,.fbs-sectors-index .fbs-sectors::before,.fbs-open main :is(.fbs-grid:not(.fbs-stepgrid):has(.fbs-cap),.fbs-svc-list,.fbs-posts)::before{content:none!important;display:none!important}
/* 1.6.5: Tudor found the button hover odd (arrow turned 45 degrees and the words rolled up and round). Buttons now only lift; arrow and words stay still. */
.wp-block-button__link:is(:hover,:focus-visible) .fbs-arr{transform:none!important}
.wp-block-button__link:is(:hover,:focus-visible) .fbs-roll>span{transform:none!important}

/* 1.6.6 (Tudor, 26 Oct 2026) */
/* Phones: buttons were stretched full width and looked oversized, so they now size to their words, a little smaller */
@media (max-width:781px){
  .wp-block-buttons{gap:.6rem!important}
  .wp-block-buttons>.wp-block-button,.wp-block-buttons>.wp-block-button.wp-block-button{width:auto!important;flex:none}
  .wp-block-buttons>.wp-block-button .wp-block-button__link{width:auto!important;justify-content:flex-start;font-size:.95rem!important;min-height:2.6rem;padding:.55rem .6rem .55rem 1.05rem!important}
  .wp-block-button__link .fbs-arr{width:1.35rem;height:1.35rem;font-size:.7rem}
}
/* Service pages with FBS team photos: show the people on the right, clear of the title words */
.fbs-page-hero .fbs-hero-team img{object-position:60% 15%!important}
.fbs-page-hero .fbs-hero-team.fbs-hero-top img{object-position:50% 0%!important}
.fbs-page-hero .fbs-hero-team.fbs-hero-left img{object-position:0% 55%!important}
@media (min-width:782px){.fbs-page-hero .fbs-hero-bg.fbs-hero-team{left:44%!important;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 22%);mask-image:linear-gradient(90deg,transparent 0%,#000 22%)}}
.fbs-faq details p+p{margin-top:.65rem}
/* 1.6.6: Homepage About. The photo of two of the team runs the full height of the box on the right and fades softly into it,
   toned like the opening photo (black and white under a cream wash). Heading and paragraphs sit on the left, level with the photo;
   What we do and Meet the team run across the bottom of the box. */
.home #about>.fbs-wrap{position:relative;isolation:isolate;overflow:hidden}
.home #about .fbs-workphoto{margin:0!important;border-radius:0}
.home #about .fbs-workphoto img{width:100%!important;height:100%!important;aspect-ratio:auto!important;border-radius:0!important;object-fit:cover;object-position:55% 40%;filter:none}
.home #about .fbs-workphoto::after{content:"";position:absolute;inset:0;background:rgba(246,240,233,.22);pointer-events:none}
@media (min-width:782px){
  .home #about>.fbs-wrap{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:clamp(2rem,4vw,3.5rem);align-items:start}
  .home #about .fbs-split,.home #about .fbs-prose{display:contents!important}
  .home #about .fbs-section-head{grid-column:1;grid-row:1;display:block!important}
  .home #about .fbs-section-head .fbs-textlink{margin-top:.8rem}
  .home #about .fbs-prose>p:not(.fbs-eyebrow){grid-column:1;margin:0 0 .875rem!important}
  .home #about .fbs-prose>p:not(.fbs-eyebrow):nth-of-type(1){grid-row:2;margin-top:.25rem!important}
  .home #about .fbs-prose>p:not(.fbs-eyebrow):nth-of-type(2){grid-row:3}
  .home #about .fbs-prose>p:not(.fbs-eyebrow):nth-of-type(3){grid-row:4}
  .home #about .fbs-prose>.fbs-wwd-label{grid-column:1 / -1;grid-row:5;margin-top:1.25rem!important;padding-top:1.5rem;border-top:1px solid var(--line)}
  .home #about .fbs-prose>ul.fbs-wwd{grid-column:1 / -1;grid-row:6;gap:.55rem 2rem;margin-top:.75rem}
  .home #about .fbs-prose>.fbs-faces-row{grid-column:1 / -1;grid-row:7;margin-top:1.25rem!important}
  .home #about .fbs-workphoto{grid-column:2;grid-row:1 / 5;align-self:stretch;position:relative!important;max-width:none!important;
    margin:calc(-1 * clamp(1.75rem,4vw,3rem)) calc(-1 * clamp(1.75rem,4vw,3rem)) 0 0!important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.5) 18%,#000 42%),linear-gradient(180deg,#000 0,#000 70%,transparent 100%);-webkit-mask-composite:source-in;
    mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.5) 18%,#000 42%),linear-gradient(180deg,#000 0,#000 70%,transparent 100%);mask-composite:intersect}
  .home #about .fbs-workphoto img{position:absolute;inset:0}
}
@media (max-width:781px){
  .home #about .fbs-workphoto{position:relative}
  .home #about .fbs-workphoto img{aspect-ratio:4/3!important;object-position:50% 35%;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 80%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 80%,transparent 100%)}
}
/* 1.6.6: homepage title photo in colour (same cream fade behind the words) */
.home .fbs-hero .fbs-hero-bg img{filter:none!important;object-position:88% 40%!important}
/* 1.6.6: homepage title photo zoomed out so the whole team fits: full width, sitting on the bottom of the title area, top edge fading into the page;
   the cream fade behind the words is a little stronger than on other pages */
@media (min-width:782px){
  .home .fbs-hero .fbs-hero-bg{top:auto!important;bottom:0!important;left:0!important;right:0!important;height:auto!important;aspect-ratio:2000/843;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%);mask-image:linear-gradient(180deg,transparent 0,#000 22%)}
  .home .fbs-hero .fbs-hero-bg img{object-fit:cover;object-position:50% 50%!important}
  .home .fbs-hero:has(.fbs-hero-bg)::after{background:linear-gradient(90deg,rgba(246,240,233,.94) 0%,rgba(246,240,233,.9) 48%,rgba(246,240,233,.45) 66%,rgba(246,240,233,.06) 86%,rgba(246,240,233,0) 100%),linear-gradient(180deg,rgba(246,240,233,0) 78%,rgba(246,240,233,1) 100%)}
}
/* 1.6.6: homepage title photo fills the title area top to bottom; no top or bottom fade, only the fade into the words on the left */
@media (min-width:782px){
  .home .fbs-hero .fbs-hero-bg{top:0!important;bottom:0!important;aspect-ratio:auto!important;-webkit-mask-image:none!important;mask-image:none!important}
  .home .fbs-hero .fbs-hero-bg img{object-position:92% 55%!important}
  .home .fbs-hero:has(.fbs-hero-bg)::after{background:linear-gradient(90deg,rgba(246,240,233,.94) 0%,rgba(246,240,233,.9) 46%,rgba(246,240,233,.45) 64%,rgba(246,240,233,.06) 84%,rgba(246,240,233,0) 100%)!important}
}
/* 1.6.6: homepage title photo shows the whole team: the title area takes the photo's own shape (2000:843) on bigger screens, so the photo
   fills it edge to edge with no top or bottom fade and nobody is cut off; the words sit a little tighter to fit. Only the left-to-right fade stays */
@media (min-width:782px){
  .home .fbs-hero:has(.fbs-hero-bg){min-height:calc(100vw * 843 / 2000);padding-block:clamp(1.25rem,2.2vw,3rem)!important;box-sizing:border-box;display:flex;align-items:center}
  .home .fbs-hero:has(.fbs-hero-bg)>.fbs-wrap{width:100%;display:block!important}
  .home .fbs-hero .fbs-hero-copy{max-width:min(56%,46rem)!important}
  .home .fbs-hero .fbs-display{font-size:clamp(2.4rem,3.9vw,4.6rem);white-space:nowrap}
  .home .fbs-hero .fbs-lede{font-size:.97rem;line-height:1.5;margin-top:.6rem!important}
  .home .fbs-hero .fbs-hero-copy h1{margin-top:.9rem!important}
  .home .fbs-hero .fbs-eyebrow{margin-bottom:.5rem!important}
  .home .fbs-hero .wp-block-buttons{flex-wrap:nowrap;margin-top:1.25rem!important}
  .home .fbs-hero .wp-block-buttons>.wp-block-button{flex:none}
  .home .fbs-hero .fbs-hero-bg img{object-position:50% 40%!important}
}
/* About page team photo fills its box edge to edge (no cream border), whole team in view, softened to 90% */
.fbs-section--tight>.fbs-wrap:has(>.fbs-team-photo){padding:0!important;overflow:hidden}
.fbs-section--tight .fbs-team-photo{border-radius:inherit!important;background:none}
.fbs-section--tight .fbs-team-photo img{aspect-ratio:2000/843!important;opacity:.9}
/* 1.6.6: title photos in colour on every page (photos FBS supplied in black and white stay black and white as supplied) */
:is(.fbs-hero,.fbs-page-hero) .fbs-hero-bg img{filter:none!important}
/* 1.6.6: About page "Who we are": heading on top, words run across the box below in two columns on bigger screens */
.fbs-who .fbs-prose{max-width:none;margin-top:1.5rem}
@media (min-width:900px){.fbs-who .fbs-prose{display:block!important;columns:3;column-gap:2.5rem}.fbs-who .fbs-prose p{break-inside:avoid;margin:0 0 .875rem}}
/* 1.6.6 (Tudor): title photos fully faded behind the words on every page; the photo only shows clear of the text */
html body :is(.fbs-hero,.fbs-page-hero):has(.fbs-hero-bg)::after{background:linear-gradient(90deg,rgba(246,240,233,1) 0%,rgba(246,240,233,1) 46%,rgba(246,240,233,.8) 56%,rgba(246,240,233,.35) 70%,rgba(246,240,233,0) 88%)!important}
@media (max-width:1100px){html body :is(.fbs-hero,.fbs-page-hero):has(.fbs-hero-bg)::after{background:linear-gradient(90deg,rgba(246,240,233,1) 0%,rgba(246,240,233,1) 62%,rgba(246,240,233,.6) 80%,rgba(246,240,233,.15) 100%)!important}}
@media (max-width:781px){html body :is(.fbs-hero,.fbs-page-hero):has(.fbs-hero-bg)::after{background:rgba(246,240,233,1)!important}}
@media (min-width:782px){html body.home .fbs-hero:has(.fbs-hero-bg)::after{background:linear-gradient(90deg,rgba(246,240,233,1) 0%,rgba(246,240,233,1) 44%,rgba(246,240,233,.8) 52%,rgba(246,240,233,.3) 62%,rgba(246,240,233,0) 74%)!important}}
/* 1.6.6: four homepage figures in one row (two by two on phones) */
.fbs-figs,.fbs-figs:has(.fbs-fig){grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:clamp(1rem,4vw,3rem)}
@media (max-width:781px){.fbs-figs,.fbs-figs:has(.fbs-fig){grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:1.75rem}}
/* 1.6.6 (Tudor): three homepage figures; title photos show faintly behind the words again (Capture Planning stays fully faded) */
.fbs-figs,.fbs-figs:has(.fbs-fig){grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media (max-width:781px){.fbs-figs .fbs-fig:last-child{grid-column:1 / -1}}
html body :is(.fbs-hero,.fbs-page-hero):has(.fbs-hero-bg:not(.fbs-hero-solid))::after{background:linear-gradient(90deg,rgba(246,240,233,.92) 0%,rgba(246,240,233,.9) 46%,rgba(246,240,233,.7) 56%,rgba(246,240,233,.3) 70%,rgba(246,240,233,0) 88%)!important}
@media (max-width:1100px){html body :is(.fbs-hero,.fbs-page-hero):has(.fbs-hero-bg:not(.fbs-hero-solid))::after{background:linear-gradient(90deg,rgba(246,240,233,.92) 0%,rgba(246,240,233,.9) 62%,rgba(246,240,233,.55) 80%,rgba(246,240,233,.15) 100%)!important}}
@media (max-width:781px){html body :is(.fbs-hero,.fbs-page-hero):has(.fbs-hero-bg:not(.fbs-hero-solid))::after{background:rgba(246,240,233,.9)!important}}
@media (min-width:782px){html body.home .fbs-hero:has(.fbs-hero-bg)::after{background:linear-gradient(90deg,rgba(246,240,233,.92) 0%,rgba(246,240,233,.9) 44%,rgba(246,240,233,.7) 52%,rgba(246,240,233,.3) 62%,rgba(246,240,233,0) 74%)!important}}
