.elementor-kit-6{--e-global-color-primary:#151D26;--e-global-color-secondary:#1F2937;--e-global-color-text:#1F2937;--e-global-color-accent:#FF4A57;--e-global-color-tcpslate:#6B7A8F;--e-global-color-tcpgrey:#CDCDCD;--e-global-color-tcppanel:#F7F7F8;--e-global-color-tcpwhite:#FFFFFF;--e-global-color-tcphair:#E2E2E4;--e-global-typography-primary-font-family:"Spectral";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Spectral";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-accent-font-family:"Manrope";--e-global-typography-accent-font-weight:600;--e-global-typography-tcpstandfirst-font-family:"Manrope";--e-global-typography-tcpstandfirst-font-size:21px;--e-global-typography-tcpstandfirst-font-weight:400;--e-global-typography-tcpstandfirst-line-height:1.55em;--e-global-typography-tcpcaption-font-family:"Manrope";--e-global-typography-tcpcaption-font-size:14px;--e-global-typography-tcpcaption-font-weight:400;--e-global-typography-tcpcaption-line-height:1.65em;--e-global-typography-tcplabel-font-family:"Manrope";--e-global-typography-tcplabel-font-size:11px;--e-global-typography-tcplabel-font-weight:700;--e-global-typography-tcplabel-text-transform:uppercase;--e-global-typography-tcplabel-letter-spacing:0.2em;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}.e-con{--container-max-width:1320px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --tcp-ink:#151d26; --tcp-navy:#1f2937; --tcp-slate:#6b7a8f; --tcp-coral:#ff4a57; --tcp-grey:#cdcdcd; --tcp-panel:#f7f7f8; --tcp-white:#ffffff; --tcp-rule:#c9ced6; --tcp-hairline:#e2e2e4; --tcp-hairline-soft:#ededef; --tcp-hairline-dark:#2a3440; --text-on-dark-body:rgba(255,255,255,0.78); --text-on-dark-muted:rgba(255,255,255,0.6); --text-on-dark-label:rgba(255,255,255,0.72); --action-primary-hover:rgba(255,74,87,0.08); --action-primary-hover-on-dark:rgba(255,74,87,0.16); --font-display:Spectral; --font-text:Manrope; --type-display-size:clamp(38px, 6.6vw, 104px); --type-h1-size:clamp(34px, 4vw, 52px); --type-h2-size:25px; --type-h3-size:17px; --type-standfirst-size:21px; --type-body-size:17px; --type-caption-size:14px; --type-label-size:11px; --measure-body:62ch; --measure-standfirst:46ch; --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px; --space-6:48px; --space-section:clamp(64px, 9vw, 104px); --page-margin:clamp(20px, 5vw, 68px); --grid-max:1320px; --grid-gutter:24px; --header-height:88px; --control-height:48px; --radius-control:2px; }
/* Start custom CSS *//* Trinity: no orphans on headlines and standfirsts, and brand basics for any V3 widgets */
h1, h2, h3, h4, .trinity-headline { text-wrap: balance; }
p, .trinity-standfirst, .trinity-standfirst p { text-wrap: pretty; }
body { color: #1f2937; -webkit-font-smoothing: antialiased; }
::selection { background: #ff4a57; color: #fff; }
:focus-visible { outline: 2px solid #ff4a57; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
/* Coral full stop: italics are not in the brand, so <em> in a headline renders as the coral punctuation mark */
h1 em, h2 em, h3 em, .tcp-display em, .tcp-statement em, .tcp-h2-display em, .tcp-h3-display em { font-style: normal; color: #ff4a57; }
/* Links inside running copy: navy with a coral underline (design system). Linked widgets inherit their own styling. */
.e-paragraph-base a:not(.e-paragraph-link-base), .elementor-widget-text-editor a, .elementor-widget-theme-post-content a, .tcp-body a { color: #1f2937; text-decoration: underline; text-decoration-color: #ff4a57; text-underline-offset: 3px; }
.e-paragraph-base a:not(.e-paragraph-link-base):hover, .elementor-widget-text-editor a:hover, .elementor-widget-theme-post-content a:hover, .tcp-body a:hover { text-decoration-thickness: 2px; }
/* Go Beyond emblem: both SVG files share class names when inlined, so set the word colour per placement */
.tcp-emblem-ink .cls-1, .tcp-emblem-white .cls-1 { fill: #ff4a57; }
.tcp-emblem-ink .cls-2 { fill: #171d25; }
.tcp-emblem-white .cls-2 { fill: #ffffff; }
/* FAQ accordion: the plus turns into a cross and the marker goes ink when open */
.tcp-faq-item summary { list-style: none; }
.tcp-faq-item summary::-webkit-details-marker { display: none; }
.tcp-faq-mark { transition: transform 200ms, background-color 200ms, color 200ms; }
details[open] .tcp-faq-mark { background-color: #151d26; color: #ffffff; transform: rotate(45deg); }
/* Linked cards: gentle image zoom on hover */
.tcp-who-card img, .tcp-plain-link img, .tcp-svc-card img { transition: transform 900ms cubic-bezier(.2,.7,.2,1); }
.tcp-who-card:hover img, .tcp-plain-link:hover .tcp-media-4x5 img, .tcp-plain-link:hover .tcp-media-16x9 img, .tcp-svc-card:hover img { transform: scale(1.03); }
/* Lists that come back empty (e.g. no insights tagged for a service yet) hide their whole section */
section:has(.e-collection-loop-base):not(:has(.e-collection-loop-layout-base > *)) { display: none; }
/* Side column 'On this page' list: sits in the sticky aside, so it takes no offset of its own */
aside .tcp-subnav-on { top: auto !important; }
aside .tcp-subnav-on a { padding-block: 3px; }
/* Adviser cards in the side-by-side list: border darkens on hover */
.elementor aside ~ * a.e-flexbox-base { transition: border-color 150ms; }
.elementor aside ~ * a.e-flexbox-base:hover { border-color: #151d26; }
/* Header stays fixed at the top while scrolling */
.elementor-location-header { position: sticky; top: 0; z-index: 40; }
.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .elementor-location-header { top: 46px; } }
/* Header navigation (Elementor nav menu widget) */
.elementor-location-header .elementor-widget-nav-menu { flex: 1 1 auto; min-width: 0; }
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu { justify-content: flex-end; }
.elementor-location-header .elementor-nav-menu .elementor-item { font-family: 'Manrope', Helvetica, Arial, sans-serif !important; font-weight: 500 !important; font-size: clamp(13px, 1.05vw, 15px) !important; line-height: 1 !important; color: #151d26 !important; }
.elementor-location-header .elementor-nav-menu--main .elementor-item { padding: 0 clamp(5px, 0.8vw, 12px); min-height: 44px; display: flex; align-items: center; }
.elementor-location-header .elementor-nav-menu--main .elementor-item:after { background-color: #ff4a57 !important; height: 2px; bottom: 6px; }
.elementor-location-header .elementor-nav-menu--main .sub-arrow { color: #6b7a8f; font-size: 10px; }
.elementor-location-header .elementor-nav-menu--dropdown { background-color: #ffffff; border: 1px solid #e2e2e4; }
.elementor-location-header .elementor-sub-item, .elementor-location-header .elementor-nav-menu--dropdown a { font-family: 'Manrope', Helvetica, Arial, sans-serif !important; font-size: 16px !important; font-weight: 400 !important; line-height: 1.4 !important; color: #151d26 !important; padding: 12px 20px !important; background-color: #ffffff !important; }
.elementor-location-header .elementor-sub-item:hover, .elementor-location-header .elementor-nav-menu--dropdown a:hover { background-color: #f7f7f8 !important; }
.elementor-location-header .elementor-nav-menu--main .sub-menu { border: 1px solid #e2e2e4; min-width: 260px; }
.elementor-location-header .elementor-menu-toggle { color: #151d26; background: transparent; font-size: 24px; margin-left: auto; }
.elementor-location-header .elementor-menu-toggle svg { fill: #151d26; }/* End custom CSS */